JP2004504651A - ドキュメントの組立て、処理および引渡しを自動化するためのシステムおよび方法 - Google Patents
ドキュメントの組立て、処理および引渡しを自動化するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2004504651A JP2004504651A JP2001560884A JP2001560884A JP2004504651A JP 2004504651 A JP2004504651 A JP 2004504651A JP 2001560884 A JP2001560884 A JP 2001560884A JP 2001560884 A JP2001560884 A JP 2001560884A JP 2004504651 A JP2004504651 A JP 2004504651A
- Authority
- JP
- Japan
- Prior art keywords
- data
- work item
- module
- work
- transport
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Technology Law (AREA)
- Tourism & Hospitality (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
複数のトランスポート・クライアント、ワーク・キュー、スケジューラ、複数のレンダリング・オブジェクト、複数のトランスポート・オブジェクト、およびルーティング・テーブルを備えた、ドキュメントの組立て、処理および引渡しを自動化するためのシステムである。各トランスポート・クライアントは、応答の生成に必要なデータを収集している。トランスポート・クライアントからワーク・アイテムが受け取られると、ワーク・キューにワーク・アイテムが追加される。スケジューラはワーク・キューを管理し、例えば識別されたレンダリング・オブジェクトにワーク・アイテムを送り、続いてトランスポート・クライアントに送っている。レンダリング・オブジェクトの各々は、データベースの知識およびデータベースから情報を抽出し、かつ抽出した情報に規則を適用するためのプロセスを備えている。スケジューラは、レンダリング・オブジェクトが処理すべきワーク・アイテムを割り当て、レンダリング・オブジェクトによる処理が完了すると、ワーク・アイテムはスケジューラに戻され、トランスポート・オブジェクトによってさらに処理される。トランスポート・オブジェクトは、ワーク・アイテムを使用して、ドキュメントを公にする方法を含んだドキュメントを作成し、また、トランスポート・クライアントによって生成された情報要求の指定に従って、ドキュメントのルーティングを処理している。トランスポート・オブジェクトは、ルーティング・テーブルを用いて、資源割当て、資源利用性、ローカルまたはリモート処理、および処理時間を決定している。
Description
【0001】
発明者
Rodney Bennett
関連出願の相互参照
本出願は、米国特許法§119(e)の下に、Rodney Bennettによる2000年2月16日出願の、参照によりその主題がすべて本明細書に組み込まれる「A Method For Automating The Assembly Of Business Documents,Application Of Business Rule To Business Processes And The Delivery Of Business Documents」という名称の同時係属米国仮出願第60/182,839号の優先権を主張するものである。
【0002】
発明の背景
1.発明の分野
本発明は、データを取得し、抽出し、修正し、かつ表示するためのシステムおよび方法に関する。また、本発明は、抽出または取得されたデータ、および自動化されたデータ転送およびデータ引渡しに対するプロセスのモジュラー・アプリケーションのためのシステムおよび方法に関する。より詳細には、本発明は、ドキュメントの組立て、処理および引渡しを自動化する新しいシステムおよび方法に関する。さらに詳細には、本発明は、ドキュメントの組立て、処理および引渡しのための、モジュラー手法を用いたシステムおよび方法に関する。
【0003】
2.背景技術の説明
今日、対話には、要求に対する応答を生成し、かつ要求および応答の双方の文書化が必要である。例えば、事実上あらゆるビジネスにおいて、顧客は、購入すべきアイテム、提供されるべきサービス、あるいは保険証券のコストに関する見積りを要求することができる。販売員などの顧客サービス代表者は、適切な方法で情報を探索し、顧客に対する応答をフォーマットし、かつ顧客に応答を送付している。価格の見積りなど、顧客によって要求される情報のためのソースは、ますますコンピュータ・データベースのみになっている。その場合、コンピュータを探索し、データを探し出し、かつユーザに引き渡さなければならない。既存のシステムが抱えている特定の問題の1つは、人間であるユーザによるコンピュータ・データベースとの対話が、通常、プログラマが作成したプログラムによって命令されており、対話すなわちプロセスを変更するためにはプログラムを完全に作成し直さなければならならず、したがって柔軟性に欠けていることである。
【0004】
情報を要求する顧客に単純に応答するために必要な基本ステップ以外に、このような要求に応答するために実行しなければならない多数の追加プロセス、承認またはその他のステップがしばしば存在している。例えばコンピュータ・システムあるいはデータベースから基本情報を入手するプロセスには、通常、プログラマによってプロセスに追加された、会社の方針、州または連邦条例、あるいはその他のビジネス上の規則を補強するための追加ステップが補足されている。例えば顧客の多くは、量、口座支払い状態、取引関係の長さ、あるいはその他の要因に基づいて、特別な割引を受けている。同様に、保険率も、将来のクライアントを保証するために被ったそれまでの損失、クライアントの所在地、クライアントの規模、クライアントの職業の種類等に基づいている。さらに、ビジネスの多くは、顧客に対する価格の見積り者に、見積り者による見積りに対する競合状況の判断に応じて、組織の管理構造における監督者の承認を必要としない、特定の枠内での価格の割引あるいは吊上げの余裕が与えられている。問題は、何千にも及ぶこのような規則が存在していること、およびそれらの規則が、法律、会社方針、あるいはその他のビジネス条件の変更によって常に変化していることによってさらに悪化している。また、抽出されたデータに対する規則の適用が自動ではなく、人間によって行われるため、プロセスは最も不確実な存在になっている。
【0005】
要求に応じてドキュメントあるいは情報を提供するための従来技術による典型的な手順には、顧客からの見積り要求を受け取るステップ、顧客サービス代行者がデータを探索し、かつ見積りにビジネス規則を適用するステップ、顧客に伝送するために、文書処理システムあるいは他のコンピュータ・プログラムを使用してデータをフォーマットするステップ、見積りを郵送またはファックス送信するために印刷し、あるいは電子メールで送信するためにコンピュータ・ファイルに保管し、もしくは要求された引渡し方法に適した方法で処理するステップが含まれている。従来技術ではこれらのステップのほとんどが手動で実行され、自動化されているステップは、データベースに保管されている情報を探索するステップのみである。このシナリオには多数の欠点があり、第1に、顧客に対するサービス実行者が多数の個別ステップを手動で実行しなければならならず、また、システムが異なる作業現場を移動しなければならないため、要求することができる情報の数が限られている。第2に、人間のエラーすなわち見落しにより、ビジネス規則が適用されないことがあり、あるいは誤って適用され、もしくは誤った解釈がなされることがある。
【0006】
これらの問題を処理するために、従来技術の手法の1つは、データベース・アプリケーション・プログラムを作成している。データベース・アプリケーション・プログラムは、簡単に応答を生成することができ、かつビジネス方針あるいは規則を一様に適用することができる専用コンピュータ・プログラムである。ビジネス規則は、データベース・アプリケーション・プログラムの中に構築されるが、ビジネス規則が変更されると、その都度プログラムを修正しなければならないため、データベース・アプリケーション・プログラムは不適切である。そのため、規模の大きい会社では、ビジネス規則の変更に応じてデータベース・アプリケーション・プログラムを常に作成し直すことが専らの業務である極めて多数のプログラマを抱えている。第2に、情報を含んだ基礎となるデータベースが変更されると、プログラムも同様に変更しなければならない。最後に、ドキュメントあるいは応答を引き渡すための技術が変更された場合においても、同様にプログラムを変更しなければならない。さらに、変更あるいは修正の都度、予測し得ない二次的な影響がプログラムに含まれることがしばしばであり、そのために費用のかかる、かつ広範囲にわたる試験および再試験を必要としている。
【0007】
したがって、詳細には顧客による情報の要求を受け取り、かつ応答するコンテキストにおけるドキュメントの組立て、処理および引渡しを自動化するためのシステムおよび方法が必要である。
【0008】
発明の概要
本発明によりドキュメントの組立て、処理および引渡しを自動化するためのシステムが提供され、それにより従来技術の欠点および限界が克服される。詳細には本発明により、データを取得し、取得したデータを使用して追加データを抽出し、取得したデータを使用して1つまたは複数のプロセスを選択し、かつ選択したプロセスを追加データに適用し、また、処理された追加データからドキュメントを作成し、引き渡すための新規なシステムが提供される。
【0009】
一実施形態では、本発明は、複数のトランスポート・クライアント、ワーク・キュー、スケジューラ、複数のレンダリング・オブジェクト、複数のトランスポート・オブジェクト、およびルーティング・テーブルを備えている。各トランスポート・クライアントは、応答の生成に必要なデータを収集している。トランスポート・クライアントの各々は、それぞれの計算装置上で動作し、ユーザに表示し、かつユーザによって計算装置に入力されたデータを収集している。収集されたデータは、他の情報と共に、ワーク・アイテムを作成するために使用される。ワーク・アイテムは、次にマスタ・スケジューラに送られ、マスタ・スケジューラにより、ワーク・アイテムが処理され、かつ処理が完了するまでワーク・アイテムを保管するために、ワーク・キューが維持される。トランスポート・クライアントからワーク・アイテムが受け取られると、ワーク・キューにワーク・アイテムが追加される。スケジューラはワーク・キューを管理し、例えば識別されたレンダリング・オブジェクトにワーク・アイテムを送り、続いてトランスポート・クライアントに送っている。本発明は、複数のレンダリング・オブジェクトを好ましく備えている。レンダリング・オブジェクトの各々は、データベースの知識およびデータベースから情報を抽出し、かつ抽出した情報に規則を適用するためのプロセスを備えている。本発明により、所与のタイプの各情報要求が、情報要求に応答するための関連するレンダリング・オブジェクトを持つことができるよう、複数のこのようなレンディング・オブジェクトが好ましく提供される。この構造により、レンダリング・オブジェクトが多数の異なるタイプの情報要求に対して使用され、それによりトランスポート・クライアント、データベース、規則、あるいはトランスミッション・オブジェクトが変更された場合におけるシステムの修正が著しく簡略化される。スケジューラは、レンダリング・オブジェクトが処理すべきワーク・アイテムを割り当て、レンダリング・オブジェクトによる処理が完了すると、ワーク・アイテムはスケジューラに戻され、トランスポート・オブジェクトによってさらに処理される。次にスケジューラは、ワーク・アイテムを最終処理するために、複数のトランスポート・オブジェクトの1つに送る。トランスポート・オブジェクトにより、レンダリング・オブジェクトによって戻されたデータを含むワーク・アイテムが処理される。トランスポート・オブジェクトは、ワーク・アイテムを使用して、ドキュメントを公にする方法を含んだドキュメントを作成し、また、トランスポート・クライアントによって生成された情報要求の指定に従って、ドキュメントのルーティングを処理する。トランスポート・オブジェクトは、指定された伝送手段を使用するために、作成されたドキュメントの引渡しを調整している。トランスポート・オブジェクトは、ルーティング・テーブルを用いて、資源割当て、資源利用性、ローカル処理またはリモート処理、および処理時間を決定している。
【0010】
また、本発明には、情報要求に応じてドキュメントを作成し、かつ引き渡すための方法、データを取得するための方法、情報を抽出するための方法、1つまたは複数の規則を適用するための方法、ドキュメントを表示し、かつ伝送するための方法、およびワーク・アイテムを処理するための方法を始めとする多数の新規な方法が含まれている。
【0011】
本発明を実施例によって説明するが、添付の図面の数字には何らの制限もないものとする。図において、同じ参照番号は類似の構成要素を表している。
【0012】
好ましい実施形態の詳細な説明
文書のアセンブリ、処理および配信を自動化するシステムおよび方法を記述する。以下の記述では、例示の目的で、本発明の完全な理解を提供するために多数の特定の詳細が記述される。しかし、当業者には、本発明はこれらの特定の詳細なしに実施することができることが明らかになるだろう。あるいは、本発明を不明瞭にすることを避けるため、構造およびデバイスはブロック図形式で示す。
【0013】
本明細書における「一実施形態」または「ある実施形態」という指示は、実施形態に関して記述される特定の機能、構造、または特徴が、本発明の少なくとも1つの実施形態に含まれていることを意味している。本明細書の随所で「一実施形態では」という句が表示されるが、それは必ずしもすべてが同一の実施形態を意味する訳ではない。
【0014】
以下の詳細な説明の一部は、コンピュータ・メモリ内のデータ・ビット上の操作のアルゴリズムおよび記号による表現に関して提示されている。これらのアルゴリズムの記述および表現は、データ処理技術の当業者が自分の作業内容を別の当業者に対して最も効率よく伝達する使用する手段である。アルゴリズムは、本明細書では、また一般的にも、所望の結果をもたらすための首尾一貫した連続するステップとみなされるものである。ステップは、物理量の物理的操作を必要とするステップである。必須ではないが一般に、これらの数量は、記憶、転送、結合、比較または他の操作を受けることができる電気的信号または磁気信号の形式をとる。これらの信号をビット、値、エレメント、シンボル、文字、用語、数字などと称することは、原則的に共通する用途を理由として、場合によっては好都合であることが既に判明している。
【0015】
しかし、これらの用語および類似の用語のすべては適切な物理量に関連付けられており、それらの数量に都合のよい標示を適用したにすぎないということを銘記されたい。以下の議論で明らかなように、特に指摘しない限り、本記述全体を通して、「処理」または「コンピューティング」または「計算」または「決定する」または「表示する」などの用語を使用する議論は、コンピュータ・システムのレジスタおよびメモリ内の物理(電子)量として表現されるデータを操作して、コンピュータ・システムのメモリまたはレジスタ内または他の情報ストレージ、伝送または表示デバイス内の物理量として同様に表現される他のデータに変換する、コンピュータ・システムまたは類似の電子計算デバイスのアクションおよびプロセスを意味するものであることが理解されよう。
【0016】
本発明は、本明細書の操作を実行する装置にも関係する。この装置は、要求された目的のために特別に構築することができ、あるいはコンピュータに記憶されているコンピュータ・プログラムによって選択的に活動化され、または再構成される汎用コンピュータを含むことができる。このようなコンピュータ・プログラムは、限定はしないが、フロッピー・ディスク、光ディスク、CD−ROM、および光磁気ディスクを含めて任意のタイプのディスク、読取専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、EPROM、EEPROM、磁気カードまたは光カード、または電子命令を記憶するために適しており、それぞれがコンピュータ・システム・バスに結合された任意のタイプの媒体などのコンピュータ可読記憶媒体に記憶することができる。
【0017】
本明細書で提示するアルゴリズムおよびディスプレイは、本質的にいかなる特定のコンピュータまたは他の装置に関係するものではない。本明細書の教示によるプログラムによって様々な汎用システムを使用することができるが、要求された方法ステップを実行するためにより特化した装置を構築すると便利であることを証明することができる。これらの様々なシステムに対して要求される構造は以下の記述から明らかになろう。さらに、本発明はいかなる特定のプログラミング言語を基準に記述されるものではない。本明細書に記載の本発明の教示を実施するために様々なプログラミング言語を使用することができることが明らかになろう。
【0018】
さらに、本発明は、情報システム上で動作し、それと共に機能することが以下で主張されている。このように主張された情報システムは、以下の好ましい実施形態で詳述される情報システム全体であっても、そのようなシステムの一部であってもよい。例えば、本発明は、トランスポート・クライアントを使用してデータを入力する最も簡単な意味でのブラウザであることだけを必要とする情報システムによって動作することができる。同様に、本発明は、表示装置および入力装置(キーボードおよびマウス・タイプのコントローラ)を含まないサーバ上で動作することができる。したがって、本発明は、最小限の機能を有するシステムから、本明細書で開示するすべての機能を提供するシステムまでの任意の情報システムによって操作することができる。
【0019】
A.「Net Transport」の概要
本発明は、データを獲得するための新しいシステムを対象とするものであり、獲得したデータを使用して追加データを抽出し、結果データを生成するためのビジネス規則を適用する目的で使用するためのものであり、また、結果データを含む文書を作成し、配信するためのものである。本発明は、独自の3層構造のトランスポート・クライアント812、レンダリング・オブジェクト808、およびトランスポート・オブジェクト804を含む(図8を参照のこと)。トランスポート・クライアント812は、応答を生成するために必須のデータの獲得をそれぞれが担当する。レンダリング・オブジェクト808は、データベースから情報を抽出し、また、抽出したデータに規則を適用するためのものである。トランスポート・オブジェクト804は、レンダリング・オブジェクトによって戻されたデータを含むワーク・アイテムの処理を担当する。これらのオブジェクト804、808、およびクライアント812の対話は、マスター・スケジューラ806によって調整され、後述する新規の方法でワーク・キュー810を使用する。
【0020】
文書のアセンブリ、処理、および配信を自動化するための本発明を、保険の見積もりに対する要求を受信し、そのような要求に応答する文書を生成するための特別なアプリケーションの状況において説明する。しかし、当業者ならば、本発明は、情報の要求がサブミットされ、応答が提供される様々な状況において適用することができることを理解するだろう。したがって、保険の見積もりに対する要求に応答する状況における本発明の説明は、例示にすぎない。
【0021】
以上、本発明の概要を説明したが、獲得データを提示し、応答を準備するシステムおよび方法について以下で説明する。第1に、システムおよびその構成要素を説明する。第2に、様々なモジュールおよびそれらの対話を説明する。第3に、本発明の操作の方法を説明する。最後に、例示的ユーザ・インターフェースを説明する。
【0022】
B.システム
次に図1を参照すると、本発明によるネット・トランスポート・システムの状況が示されている。本発明の動作のための好ましい実施形態は、インターネットなどのコンピュータ・ネットワークを介した文書の伝送および取り出しに係わるものである。簡略化と、理解を容易にすることを目的とした単純なシステム100を図1に示すが、当業者ならば、ネット・トランスポート・システムは複数のクライアント812に応答可能であることを理解するだろう。ユーザは、ウェブ・ブラウザを含むクライアント・コンピューティング・デバイス102、104、106、112、114を使用して対話し、通信する。クライアント・コンピューティング・デバイス102、104、106、112、114は、好適にはパーソナル・コンピュータであるが、サーバ、モバイル・コンピューティング・デバイス、携帯電話または他のどのようなコンピューティング・デバイスであってもよい。クライアント・コンピューティング・デバイス102、104、106、112、114は、モデムおよび電話回線などの信号線210によってインターネット206に結合されている。それぞれがネット・トランスポート・システムを含んでいる複数のコンピューティング・デバイス102、104、106、112、114を含むシステム100の例示的実施形態を示す。コンピューティング・デバイス102、104、106、112、114は、通信ネットワークまたはネットワーク・セグメント108および110によって好適に結合されている。図1は単なる一例にすぎず、ネット・トランスポート・システムを含むネットワークは、当業者が理解するいくつの方法によっても構成することができる。
【0023】
システム100は、1つまたは複数の通信ネットワークまたはネットワーク・セグメント108および110を含むことが好ましい。通信ネットワークまたはネットワーク・セグメント108および110は、どのような適切なタイプおよび通信速度であってもよい。通信ネットワーク108および110は、例えばインターネットであることが好ましいが、ネットワーク108および110はWAN、LAN、VPN、イントラネット、またはエキストラネットであってもよい。セグメントは、物理的に別個のものであっても、1つの物理ネットワークの別個の論理的部分であってもよい。ネットワークは、いかなる適切なトポロジー(例えば、論理的または物理的108および110で、リング、バスまたはスター)を使用することもできる。
【0024】
ネットワーク108および110には、複数のコンピューティング・デバイス102、104、106、112、114が取り付けられている。コンピューティング・デバイス102、104、106、112、114は、ワークステーション112、114およびサーバ102、104、106を含む。例えば、サーバ102および106は通信ネットワーク108に結合されており、サーバ102および104、並びにワークステーション112および114は第2の通信ネットワーク110に結合されている。サーバ102、104、106は、従来タイプの様々な他の機能を含むこともできる。例えば、サーバ102はデータベース・サーバとしても動作し、サーバ104は電子メールのサーバとしても動作し、サーバ106はファクシミリのサーバとしても動作する。一実施形態では、システム100は、要求に応えるIIS4.0ウェブ・サーバ上に常駐するフリー・スレッドの(MTA)NTサービスとして実施される。ワークステーションは、NTサービスに対して通信するCOMオブジェクトとして実施されるサービスのクライアント部分を含む。コンピューティング・デバイス102、104、106、112、114のそれぞれは、図2および3を参照しながら以下でより詳細に説明するネット・トランスポート・システムも含む。
【0025】
図1に示す例示的システム100を参照すると、ワークステーション112上の顧客サービス係は、顧客のために要求を満たすための必須データが供給されるトランスポート・クライアント812であるアプリケーション・プログラムを実行することができる。ワークステーション112で実行されているNet Transportは要求を受信し、それをそのワーク・キュー810に入れる。ワークステーション112上のマスター・スケジューラ806は適切なレンダリンク・オブジェクト808に対して要求をサブミットする。レンダリング・オブジェクト808は照会を実行し、ビジネス規則がある場合は必要に応じてこれを適用し、その照会に対する応答を戻す。マスター・スケジューラ806は次いで、ワークステーション112上で実行されている適切なトランスポート・オブジェクト804にレンダリングした応答をサブミットする。トランスポート要求を満たすために使用可能な資源がローカルである場合、伝送はローカルに行われる。宛先が電子メールを介したものである場合、トランスポート・オブジェクト804は、Net Transportでもある電子メールのサーバ104に要求を送信する。要求される資源がファックスのサーバである場合、要求は、満たされるべきサーバ106にサーバ102を介して経路指定される。ユーザは、ネット・トランスポートの部分であるプロセスによって、いかなる他のサーバまたはワークステーションにより、既存のいかなるネットワーク・セキュリティの対象となる。したがって、ワークステーション114で発信される要求が、データベース・サーバ102などの、別のサーバ上の特定の情報にアクセスする十分なレベルの特権を有していない場合、そのワーク・キュー810に入れられて、レンダリング・オブジェクト808が実行されるべきサーバとしてサーバ102を指定する要求は、保持されて、実行はされない。
【0026】
現在、当業者ならば、適切なソフトウェア、ハードウェア、および通信プロトコルを使用することによって、単一コンピュータの代わりに複数コンピュータを使用することができることが理解されよう。例えば、コンピュータが使用するデータは、そのコンピュータの筐体自体の中ではなく、そのコンピュータが接続されているネットワーク上のどこかに位置するハードディスクまたは他の記憶装置に常駐することがしばしばである。データは、NFS、FTP、HTTPまたはこの他の多くの遠隔ファイル・アクセス・プロトコルの1つを使用してアクセスすることができる。さらに、リモート・プロシージャ呼出し(RPC)は、ローカル・コンピュータの部分ではなく、遠隔プロセッサ上のソフトウェアを実行することができる。場合によって、この遠隔データまたは遠隔手順の操作は、コンピュータのユーザに対して、また、アプリケーション自体に対してさえも透過的であるが、それはその遠隔操作が、基礎をなすオペレーティング・システムを介してまるでローカルな操作であるかのように実行されるからである。
【0027】
当業者には、本発明で説明されている実施形態がローカル・ストレージおよびプロセッサを有する単一コンピュータを参考にしてはいるが、データはローカル・コンピュータのユーザに透過的な方法で遠隔に記憶することも、またはネットワークを介してアクセス可能な遠隔コンピュータに明示的に常駐させることも可能であることが明らかであろう。どちらの場合でも、本発明の機能は同一であり、どちらの実施形態も本発明の可能な実施形態として理解され、みなされる。
【0028】
次に図2を参照すると、ネット・トランスポート・システムを含むクライアント・コンピューティング・デバイス102または112に関する第1の実施形態が示されている。クライアント・コンピューティング・デバイス102は、バス201を介して、表示装置200、キーボード222、カーソル・コントローラ223、ネットワーク・コントローラ224、およびI/Oデバイス225に結合されているコントロール・ユニット250を含んでいる。
【0029】
コントロール・ユニット250は、論理演算装置、マイクロプロセッサ、汎用コンピュータ、携帯情報端末、または他の、表示装置200に電子表示信号を供給するように装備された情報機器を含むことができる。一実施形態では、コントロール・ユニット250は、例えばWINDOWS(登録商標)またはUNIX(登録商標)ベースのオペレーティング・システムなどのオペレーティング・システム上で実行されているJavaで書かれたプログラムによって生成することができるグラフィカル・ユーザ・インターフェースを有する汎用コンピュータを含む。一実施形態では、1つまたは複数のプログラムが、限定はしないが、ワード・プロセッシング・アプリケーション、電子メール・アプリケーション、スプレッドシート・アプリケーション、およびウェブ・ブラウザ・アプリケーション306を含むコントロール・ユニット250によって実行される。コントロール・ユニット250は、当業者に理解されるであろう、また、図2に示すTCP/IP、http、およびSMTPなどの標準ネットワーク・プロトコルを使用してファイルを分配するためのネットワークなどの他のシステムへの他の従来型接続も有している。
【0030】
図2Aに示すように、コントロール・ユニット250は、プロセッサ202、メイン・メモリ204、およびデータ記憶装置207を含むが、これらはすべてシステム・バス201に通信可能に結合されている。
【0031】
プロセッサ202はデータ信号を処理するが、複雑な命令セット・コンピュータ(シスクCISC)のアーキテクチャ、縮小命令セット・コンピュータ(RISC)のアーキテクチャ、または命令セットの組み合わせを実施するアーキテクチャを含めて様々なコンピューティング・アーキテクチャを含むことができる。図2には単一プロセッサだけを示してあるが、複数のプロセッサを含むこともできる。
【0032】
メイン・メモリ204は、プロセッサ202によって実行することができる命令および/またはデータを記憶することができる。命令および/またはデータは、本明細書に記載の任意の技術および/またはすべての技術を実行するためのコードを含むことができる。メイン・メモリ204は、ダイナミック・ランダム・アクセス・メモリ(DRAM)デバイス、スタティック・ランダム・アクセス・メモリ(SRAM)デバイス、または当技術分野で周知のいかなる他のメモリ・デバイスであってもよい。メモリ204は、HTML、XML、またはインターネットへのアクセスを実現し、表示装置200上のイメージを生成するための他のマーク付け言語を処理する従来タイプのウェブ・ブラウザ230を含むことが好ましい。例えば、ウェブ・ブラウザ230は、Netscape NavigatorまたはMicrosoft Internet Explorerであってよい。
【0033】
データ記憶装置207は、プロセッサ202に対するデータおよび命令を記憶するが、ハードディスク・ドライブ、フロッピー・ディスク・ドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュ・メモリ・デバイス、または当技術分野で周知のいくつかの他の大容量記憶装置を含むことができる。
【0034】
システム・バス201は、コントロール・ユニット250全体で情報およびデータを伝達する共有バスを表す。システム・バス201は、業界標準アーキテクチャ(ISA)バス、周辺構成要素相互接続(peripheral component interconnect)(PCI)バス、ユニバーサル・シリアル・バス(USB)、または類似の機能を提供するための当技術分野で周知のいくつかの他のバスを表すことができる。
【0035】
システム・バス201を介してコントロール・ユニット250に結合されている追加の構成要素は、表示装置200、キーボード222、カーソル・コントロール・デバイス223、ネットワーク・コントローラ224、および入出力デバイス225を含む。表示装置200は、本明細書に記載の電子的なイメージおよびデータを表示するために装備されている任意のデバイスを表す。表示装置200は、陰極線管(CRT)、液晶ディスプレイ(LCD)、または同様に装備された表示装置、画面、またはモニタであってよい。
【0036】
キーボード222は、プロセッサ202に情報およびコマンド選択を伝達するためにコントロール・ユニット250に結合されている英数字入力装置を表す。カーソル・コントロール223は、プロセッサ202に定位置データおよびコマンド選択を伝達するために装備されているユーザ入力装置を表す。カーソル・コントロール223は、マウス、トラックボール、スタイラス、ペン、タッチスクリーン、カーソル・ディレクション・キー、またはカーソルを移動させる他の機構を含むことができる。ネットワーク・コントローラ224は、コントロール・ユニット250を、複数の処理システムを含むことのできるネットワークにリンクする。処理システムのネットワークは、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)(例えば、インターネット)および/または複数のデバイスが通信することができるいかなる他の相互接続されたデータ経路をも含むことができる。
【0037】
1つまたは複数のI/Oデバイス225がシステム・バス201に結合されている。例えば、I/Oデバイス225は、オーディオ入力を受信し、オーディオ出力を送信するために装備されたオーディオ・デバイスであってよい。オーディオ入力は、オーディオ・デバイス225およびネットワーク・コントローラ224内のマイクロフォンを含めて様々なデバイスを介して受信することができる。同様に、オーディオ出力は、プロセッサ202およびネットワーク・コントローラ224を含めて様々なデバイスから発信することができる。一実施形態では、オーディオ・デバイス225は、汎用コンピュータ・システム内で使用するように設計された汎用のオーディオ・アドイン/拡張カードである。任意選択で、オーディオ・デバイス225は、1つまたは複数のアナログ・デジタル・コンバータまたはデジタル・アナログ・コンバータ、および/またはオーディオ処理を容易にする1つまたは複数のデジタル信号プロセッサを含むことができる。
【0038】
当業者には、コントロール・ユニット250は、本発明の趣旨および範囲を逸脱せずに図2に示す構成要素の数以上または以下の構成要素を含むことができることを理解されたい。例えば、コントロール・ユニット250は、例えば第1または第2のレベル・キャッシュなどの追加メモリ、または1つまたは複数の特定用途向けIC(ASIC)を含むことができる。同様に、追加の構成要素は、例えばイメージ・スキャニング・デバイス、デジタル・スチールまたはビデオ・カメラ、または電子データを捕捉し、かつ/またはそれをコントロール・ユニット250にダウンロードするために装備しても、装備しなくてもよい他のデバイスを含めてコントロール・ユニット250に結合することができる。
【0039】
次に図3を参照すると、メモリ・ユニット204がより詳細に示されている。具体的には、本発明のプロセスに必要なメモリ204の部分が図示されており、以下でより詳細に説明する。図3に示すように、メモリ・ユニット204は、オペレーティング・システム302、他のアプリケーション304、ウェブ・ブラウザ306、少なくとも1つのネット・トランスポート・アプリケーション308、データ獲得用の第1のモジュール310、データ抽出用の第2のモジュール312、規則適用用の第3のモジュール314、応答の伝送および提示用の第4のモジュール316を好適に含んでいる。上記で指摘した通り、メモリ・ユニット204は、処理ユニット302が実行することのできる命令および/またはデータを記憶する。命令および/またはデータは、本明細書に記載の任意の技術および/またはすべての技術を実行するためのコードを含むことができる。これらのモジュール302〜318は、システム100を提供するための通信および協力のために、バス301によって処理ユニット302に結合されている。当業者ならば、以下では、本発明をモジュール、または、コンピュータ・システムのメモリ・ユニット204の一部として説明するが、このモジュールまたは部分は、永続データ・ストレージなどの他の媒体に記憶することもでき、また、クライアント/サーバ環境内などの複数の異なるコンピュータを有するネットワークを介して分配することもできることを理解するだろう。さらに、本発明の様々な実施形態は、図3のモジュール302〜318の一部を含むことができるが、すべてを含むことはできないということを理解されたい。例えば、クライアント・コンピューティング・デバイス112またはワークステーションは、データ抽出用の第2のモジュール312および規則適用用の第3のモジュール314を含まない場合がある。同様に、サーバ102は、データ獲得用の第1のモジュール310を含まない場合があるが、他のモジュールは含むことができる。当業者ならば、4つのモジュール310、312、314、416、およびネット・トランスポート・アプリケーション308は、特定の状況の需要に従って様々な組み合わせで使用することができることを理解するだろう。
【0040】
オペレーティング・システム302は、WINDOWS(登録商標)、SOLARIS(登録商標)またはLINUX(登録商標)ベースのオペレーティング・システムなどの従来タイプの1つであることが好ましい。
【0041】
メモリ・ユニット204は、限定はしないが、ワード・プロセッシング・アプリケーション、電子メール・アプリケーション、およびスプレッドシート・アプリケーションを含めて1つまたは複数の他のアプリケーション・プログラム304を含むこともできる。
【0042】
ウェブ・ブラウザ306は、上述のような従来タイプの1つである。
ネット・トランスポート・アプリケーション308は、プロセッサ202を制御する手順またはルーチンである。ネット・トランスポート・アプリケーション308は、ワークステーションまたはサーバのどちらか1つで使用することができる。図3のメモリ204には、本発明の理解を容易にするために単一のネット・トランスポート・アプリケーション408しか示していないが、通常、サーバ102、104、106は複数のそのようなネット・トランスポート・アプリケーション308を有しており、各アプリケーションは、トランスポート・クライアント812、レンダリング・オブジェクト808、またはトランスポート・オブジェクト804の様々なグループと対話するために使用される。ネット・トランスポート・アプリケーション308は、ネット・トランスポート・システムを呼び出すためのルーチンを含むことが好ましい。これらのルーチンはスケジューラ806として動作し、ワーク・キュー810としてメモリ204の一部と定義される。スケジューラ806およびワーク・キュー810は、1つまたは複数のワーク・アイテムを管理するために使用され、その1つまたは複数のワーク・アイテムはトランスポート・クライアント812を含む第1のモジュール310、レンダリング・オブジェクト808を含む第2のモジュール312および第3のモジュール314、およびトランスポート・オブジェクト804を含む第4のモジュール316を参照する。これらの構成要素のそれぞれは、それらを処理するモジュール310、312、314、316を参照しながらより詳細に説明する。スケジューラ806およびワーク・キュー810は、重い負荷と多くのクライアントを同時にサポートすることができ、また、サブミットされたコンテンツの状況上の管理報告およびクライアント・フィードバックの運営も含む。トランスポート・クライアント812のこのような複雑な報告の需要は、レンダリング・オブジェクト808によって供給されるレンダリング機能を使用して達成することができる。
【0043】
第1のモジュール310は、1つまたは複数のトランスポート・クライアント812と、トランスポート・クライアント812を実行するためのルーチンを含む。具体的には、トランスポート・クライアント812のそれぞれは、ネット・トランスポート・アプリケーション308を使用するアプリケーション・プログラムである。トランスポート・クライアント812は、要求を満たし、ワーク・アイテムを生成するために必須の情報の収集を担当する。さらに具体的には、トランスポート・クライアント812は、それに応答してユーザがシステム100に情報を入力するためにコンピューティング・デバイスを使用する必要のある質問を含めて、グラフィカル・ユーザ・インターフェースを提供する。例えば、トランスポート・クライアント812は顧客名、販売または保証されるべきアイテム、要求される特定のアイテムを収集することができる。情報は、その情報がどのように送信されるべきか、またはその情報がどこで獲得されるべきかに特有の、しかしそれとは独立したアプリケーションである。一実施形態では、トランスポート・クライアント812は、1)レンダリング・オブジェクト800、2)日時、3)要求の発信者に関する識別子、4)要求の宛先に関する識別子、5)要求に対する応答の送信方法、6)要求に対するデータまたはカーゴ、7)要求の主題、8)要求を取り扱うレスポンダ、9)要求に対する優先順位をユーザが入力することのできる空白フィールドを有する図形表示を提示する。別の実施形態では、トランスポート・クライアント812は、ローカルに実行されない要求を実行するサーバを含めて、データも収集することができる。トランスポート・クライアント812は、前回サブミットされた要求の状況への更新を求めるためのルーチンも含み、インターネットを介して送信されるクッキーのようにフォーマットすることができる。トランスポート・クライアント812は、要求のサブミットをシステムが受理するかどうかを判定するルーチンも含む。一旦、要求された情報をユーザが入力すると、トランスポート・クライアント812は、そのデータをワーク・アイテムに変換し、スケジューラ806の制御下でさらに処理するためにそれをワーク・キュー810に追加するために実行される。
【0044】
保険見積金額を生成するシステム100の状況において、例示的トランスポート・クライアント812は、申込者の名前と住所、保険証券を販売するエージェントの名称、所望の補償範囲(責任、火事、窃盗、労働者の補償など)、保険対象物を評価するための詳細、および所望の補償日を含めて保険申込書用のデータを獲得するトランスポート・クライアントを好適に含む。第1のモジュール310の動作を、図4を参照しながら以下でより詳細に説明する。
【0045】
第2のモジュール312は、1つまたは複数のレンダリング・オブジェクト808、およびレンダリング・オブジェクト808を実行するためのルーチンを含む。第2のモジュール312は、ローカルと遠隔の両方である1つまたは複数のデータベースにアクセスするためにモジュール310によって獲得された情報を好適に使用して、情報要求をさらに処理するために情報を獲得する。例えば、補償が発生すべき企業または地理的区域内の歴史的損害において過去の損害に関して検索するために公的記録と私的記録にアクセスすることができる。レンダリング・オブジェクト808は、サブミットされた要求が、完了するまでトランスポート・クライアント812を待機させることなく複雑な情報収集プロセスを実行することをを可能にする。具体的に、第2のモジュール312内のレンダリング・オブジェクト808は、トランスポート・クライアント812によって供給された情報を使用してデータベースからデータを抽出することを担当するプロセスである。レンダリング・オブジェクト808のそれぞれは、ネット・トランスポート・アプリケーション308を使用するアプリケーション・プログラムである。レンダリング・オブジェクト808は、データベースの照会を作成し、情報を戻すプログラムである。例えば、特定のレンダリング・オブジェクトは、構成のために使用されるスキーマ、SQLなどの使用される言語、およびデータベースの成功裏のクエリを実行するために必須の他の情報などのデータベースに関する情報を有する。レンダリング・オブジェクト808は非常に単純なものから、非常に複雑なものまであり得る。一実施形態では、レンダリング・オブジェクト808は、コンポーネント・オブジェクト・モデル(COM)を使用して実施され、COMオブジェクトとして作成される。上記で指摘したように、特定のレンダリング・オブジェクト808は管理報告を提供し、トランスポート・クライアント812へも同様に報告を返す。レンダリング・オブジェクト808のオブジェクトは、スケジューラ806からの信号に応答して特定のレンダリング・オブジェクト808のインスタンスを生成するためのルーチンを含む。一旦ワーク・キュー810に入ると、スケジューラは、レンダリング・オブジェクト808を呼び出し、ワーク・キュー810のワーク・アイテムに参照を提供することによって実行を開始する。レンダリング・オブジェクト808は、レンダリング・オブジェクト808に必須のデータ、具体的にはカーゴを抽出する。例えば、レンダリング・オブジェクト808は、レンダリング・オブジェクト808が対応するワーク・アイテムを含めてレンダリング・・オブジェクトのインスタンスを識別するための情報をまず取り出す。「sInformation」パラメータと称されるデータ構造にデータが入力され、将来の使用のためにレンダリング・オブジェクト808を識別するためのこの情報を保持する。次に、レンダリング・オブジェクト808は、1)無操作−データまたはカーゴをレンダリング・オブジェクト808を介して単に渡すだけであり、そのデータを実質的に変更したり、それを使用してプロセスを実行したりしない、2)クエリ操作−データベース・クエリの基礎として要求からのデータまたはカーゴを使用し、指定されたデータベース上でそのクエリを実行し、その結果を戻すこと、を実行することによってデータをファイルにレンダリングする。さらに、特定の実施形態では、レンダリング・オブジェクト808の結果に対する出力パラメータを、プリンタまたは他の出力装置に供給することができる。これは、レンダリング・オブジェクトが結果を指定されたプリンタに直接的に出力するのではなく、トランスポート・クライアント812が入力することができ、それによって、レンダリング・オブジェクト808の出力を処理するためにニーズをトランスポート・クライアント804にバイパスする、手動による上書きの形式である。第2のモジュール312の操作を、図5を参照しながら以下でより詳細に説明する。
【0046】
第3のモジュール314は、1つまたは複数のレンダリング・オブジェクト808と、レンダリング・オブジェクト808を実行するためのルーチンとを含む。具体的には、第3のモジュール314内のレンダリング・オブジェクト808は、第2のモジュール312によってデータベースから抽出されたデータに規則を適用または執行することを担当するプロセスである。レンダリング・オブジェクト808のそれぞれは、ネット・トランスポート・アプリケーション308を使用するアプリケーション・プログラムである。レンダリング・オブジェクト808は、そのレンダリング・オブジェクト808に特別のビジネス規則を、第2のモジュール312によって戻されたデータと照合するプログラムである。例えば、システム100が保険の見積金額を提供するように構成されている場合、レンダリング・オブジェクト808によって執行されるべき典型的な規則には、保険対象物および/または申込者が、保険業者が合法的に補償を引き受ける権限が与えられるエリア内に位置しているかどうかを判定すること、所与の住所がその位置または保険対象物に関して適切かどうかを判定すること、保険対象物がエージェントのテリトリに含まれているかどうかを判定すること、保険対象物が、保険業者が積極的に請け負おうとするタイプであるかどうかを判定することが含まれる。さらに、当業者ならば、データベース上でクエリを実行し、次いでファイルに記憶されており対応するワーク・アイテム内で識別される結果を生成するためにビジネス規則を適用して、レンダリング・オブジェクト808と、抽出を行うレンダリング・オブジェクト808を組み合せて単一オブジェクトにすることができるということを理解するだろう。第3のモジュール314の操作も、図6を参照しながら以下で詳細に説明する。
【0047】
第4のモジュール316は、データが提示される媒体に対して適切になるようにデータをフォーマットするルーチンを好適に含む。例えば、データがファックスとして提示される場合、ページにマージンがセットされなければならず、他のフォーマット変換と同様に位置調整とページ編集を適用しなければならない。第4のモジュール316は、1つまたは複数のトランスポート・オブジェクト804と、トランスポート・オブジェクト804を実行するためのルーチンを含む。具体的には、第4のモジュール316内のトランスポート・オブジェクト804は、第3のモジュール314のレンダリング・オブジェクト808によって戻される情報のフォーマットと配信の表示を生成することを担当するプロセスである。トランスポート・オブジェクト804のそれぞれは、ネット・トランスポート・アプリケーション308を使用するアプリケーション・プログラムである。トランスポート・オブジェクト804は、スケジューラ806からデータを受信するプログラムであり、そのデータを、トランスポート・オブジェクトのルーチンが指定する提示フォーマットでフォーマットし、そのデータをトランスポート・オブジェクト804で指示される方法で配信する。例えば、ネット・トランスポート・アプリケーションは、レンダリング・オブジェクトが生成する文書を配信するためのローカル資源を使用しても、または他のサーバが提供する他の配信機構を使用するためのネットワーク接続を使用してもよい。トランスポート・オブジェクト804は、ローカル・コンピュータ・システム上にはなく、遠隔システム上に常駐する資源をルーティング・テーブル802を用いて使用することができる。資源の可用性に基づく適切な時点、または指定した所定の時点で、トランスポート・オブジェクト804は、指定された方法で指定された宛先に文書を送信する。好適には、ファックス用に1つ、電子メール用に第2のもの、ページャー用に第3ものという具合に、配信のタイプごとに1つのトランスポート・オブジェクト804がある。同様に、トランスポート・オブジェクト804のそれぞれは、所定の受信側または受信側のグループに対するものであってよい。そのようなオブジェクトの使用は、トランスポートまたは配信をデータの処理から有利に分離する。各トランスポート・オブジェクト804が特別のタイプの配信技術に適合するドライバを含むので、これは有利である。これによって、オブジェクトを再利用することができ、また、新しいオブジェクトをコンテンツ配信の新しい技術に対して簡単に書くことができるようになる。例えば、新しいドライバまたは複数のドライバは、他のオブジェクト812、808が作成された時点で存在しなかった技術を利用するために書くことができる。したがって、異なるファックスのサーバがシステムに追加される場合、ドライバだけを書けばよく、システム100は完全に動作可能である。第4のモジュール316の操作も、図7を参照して以下でより詳細に説明する。
【0048】
C.モジュールおよびその対話
次に図8を参照すると、オブジェクト804、808、812、およびモジュール310、312、314、316の対話がより詳細に説明されている。図5は、本発明によるマスター・スケジューラ806、ワーク・キュー810、ルーティング・テーブル802および複数のトランスポート・クライアント812a−n、レンダリング・オブジェクト808a−n、およびトランスポート・オブジェクト804a−n間の相関を示す略図である。本発明は、要求のサブミットと、応答文書の作成、およびその応答文書の配信を対象とするものである。
【0049】
複数のトランスポート・クライアント812a−nは様々なユーザと対話するために使用される。トランスポート・クライアント812a−nは、要求を満たすために必須の情報を収集する。各要求は、クライアント・コンピューティング・デバイスでユーザが入力する必要のあるいくつかの所定の情報を有する。トランスポート・クライアント812a−nは、ユーザ・インターフェースを表示し、要求が必要とする情報が確実に入力されるようにスクリプトと他のルーチンを実行する。上記で指摘したように、そのような情報は、顧客名、販売または保証されるべきアイテム、要求される特定のアイテムなどを含むことができる。一旦情報が入力されると、トランスポート・クライアント812a−nは、ワーク・アイテムと称されるデータ構造を作成し、そのワーク・アイテムをワーク・キュー810に追加するためにマスター・スケジューラ806に送信する。例示的一実施形態では、ワーク・アイテムは、1)直接データ項目またはそのデータを含むファイルへの参照のどちらかとして要求を満たす際に使用されるべきデータ、2)住所、ファックス番号、または電子メールのアドレスなどのデータに対する宛先、3)レンダリング・オブジェクト、4)データをどのようにして配信するかを指定するトランスポート・オブジェクトまたは機構、5)レンダリング要求が実行されるべきサービスを提供するサーバまたはコンピュータ−スケジューラは、その要求を引き受け、必須のプログラムを実行し、かつ/または必須のデータにアクセスするのに十分なレベルの特権を有するサーバ上でその要求が実行されることを確認する、6)ワーク・アイテムをサービスする際の優先順位を含む。
【0050】
ワーク・キュー810は、ワーク・アイテムを記憶するためのメモリの一部である。ワーク・キュー810は、ワーク・アイテムに関する上記項目のすべてと、ワーク・アイテムの状況を記憶するネット・トランスポート・システム内の別のデータ構造である。状況は、ワーク・アイテムが完全であるかあるいは資源を待っているか、および処理にエラーがあるかどうかを含む。
【0051】
マスター・スケジューラ806は、ネット・トランスポート・アプリケーションの主要部分であり、ワーク・キュー810のアイテムを検査し、それらが適切な順序で提供されるようにする。ワーク・キュー810のアイテムのそれぞれは、アイテムがトランスポート・クライアント812a−nによってワーク・キュー810に追加されたかどうか、処理するためにレンダリング・オブジェクト808a−nに送信されたかどうか、レンダリング・オブジェクト808a−nによって処理されたものとして戻されたかどうか、処理するためにトランスポート・オブジェクト804a−nに送信されたかどうか、配信されたものとしてトランスポート・オブジェクト804a−nによって戻されたかどうかを示す1つまたは複数の状況フラッグを有する。
【0052】
実際に、処理は、トランスポート・クライアント812a−nがワーク・アイテムとして要求をフォーマットしてサブミットし、それをワーク・キュー810に追加するというように進む。マスター・スケジューラ806は、ワーク・アイテムを検査し、レンダリング・オブジェクト808a−nのどれかが使用可能である場合、どれがワーク・アイテムを処理するかを決定する。供給された際にデータが送信する準備ができていることを示すヌル・レンダリング・オブジェクト808a−nを供給することができる。ワーク・キュー810のワーク・アイテムの状況は、レンダリング・オブジェクト808a−nによって現在処理中であることを反映するように変更される。レンダリング・オブジェクト808a−nは、データベース照会を作成し、ビジネス規則を含み、執行する。一旦すべてのデータベース照会が行われ、レンダリング・オブジェクト808a−nによってビジネス規則が確認されると、レンダリング・オブジェクト808a−nは、さらなる処理のために正確かつ適切な情報を戻し、それにワーク・キュー810内のアイテムを関連付ける。
【0053】
レンダリング・オブジェクト808a−nが、特定のレンダリング・オブジェクト808a−nによって定義されるようにデータの抽出と、ビジネス規則の適用を終了すると、適切なデータがワーク・キュー810内のワーク・アイテムに関連付けられる。伝送の準備ができていることをマークするためにその状況が更新される。資源の可用性とワーク・キュー810内のアイテムの優先順位に基づいて適切な時点で、アイテムはトランスポート・オブジェクト804a−nにサブミットされる。トランスポート・オブジェクト804a−nはフォーマットされたデータを伝送するために適切な機構に転送する。トランスポート・オブジェクト804a−nは資源を使用することができるが、それはローカル・コンピュータ・システム上にはなく、遠隔システム上に常駐する。トランスポート・オブジェクト804a−nは、ワーク・アイテムを扱うためのローカル資源があるかどうか、またはワーク・アイテムはネットワーク上の別のコンピューティング・デバイスまたはサーバによって扱われるかどうかを知るために、そのルーティング・テーブル802を閲覧する。さらに、ある位置に向かっているトラフィックを別の位置に配信することができるように、プログラム制御下でルーティング・テーブル802を変更することができる。例えば、電子メールのトラフィックは、代わりの電子メール・ボックスに送信したり、ファックスで送信したり、ページャーで送信したりすることができる。好ましい実施形態では、配信機構のタイプごとにトランスポート・オブジェクト804a−nがある。例えば、第1のトランスポート・オブジェクト804aはファクシミリによる伝送用であり、第2のトランスポート・オブジェクト804bは電子メールによる伝送用であり、第3のトランスポート・オブジェクト804cはページャーによる伝送用であり、第4のトランスポート・オブジェクト804dは印刷による伝達用である。当業者ならば、新しい伝達機構にトランスポート・オブジェクト804を追加するだけで新しい伝送技術を提供することができるので、本発明がこの方法で柔軟性を提供していることを理解するだろう。例えば、「文書」を配信するための方法がその文書を音声に変換し、次いでそれを電話を介して出力することによる場合、新しいトランスポート・オブジェクト804は、文書の作成、処理および配信システム全体を書き直すことを必要とせずに、このような新しい伝送技術を提供するために書くことができる。
【0054】
本発明の応用例の一例は、保険料率と保険の規約に関する見積書の生成にある。添付説明書を一般的に含む見積書は、データベースから取られた住所および名前によって生成される。保険契約を価格設定するために、評価付け係数がデータベースから取り出され、検証に組み込まれる。顧客に対する最終価格には販売代理店への手数料が含まれるので、代理店は最終的な見積金額に代理店自体の手数料(若干の許容範囲内で)を組み込むためにその手数料を供給することができるようになる。単純な場合、これらの文書は郵送用に印刷される。より複雑な場合には、その文書をファックスで送信することができる。ファックス送信のプロセスは、1つの機械による文書内容の生成と、第2の機械によるFAXイメージのレンダリング(テキスト・ベースの文書からビット・マップのイメージへの変更)と、第3の機械によるそのイメージの伝送と、最後に第4の機械によるその文書のイメージの達成(法的理由で)とを必要とする。このプロセスは本発明によって自動化され、そこでは印刷された文書の配信のためにトランスポート・クライアント804が提供され、ファックスで文書を送信するために第2のトランスポート・オブジェクト804が提供される。ファックス文書のコピーを達成し、添付説明書を生成し、保険見積金額を設定し、手数料を調整するためにレンダリング・オブジェクト800が提供される。最後に、販売代理店から情報を収集し、配信方法を指定するトランスポート・クライアント812と、データ上で操作すべきレンダリング・オブジェクト808が提供される。システム100によって作成された文書の一例を付録Aに示す。
【0055】
本発明の応用例の別の実施例は、受託製作の機械工場が機能するための見積金額を提供することである。作業場は、製作すべき品目を記述した図面を顧客から受け取る。従来技術の手法は次の通りである。作業場は「材料表」(製作されるべき部品ごとの図面セットの一部である)を使用して、その部品にはどの材料が必要かを検索する。その材料に価格が設定され、見積金額の主要部分を形成するためにその価格が集計される。この部分は見積金額全体を形成するものではないが、見積書の重要な部分である。これは文字通りに部品目録で項目を検索し、帳簿用紙に値段を記入し、その値段を手動で合計することによってしばしば手動で行われる。材料の価格を検索する他、材料は大量になると一般にコストが嵩むので、ディスカウントを適用しなければならない。本発明では、このプロセスは次のように合理化される。ローカル・ワークステーション112で実行中のトランスポート・クライアント812は、材料表を含む情報を、その材料表をシステムに入力するユーザを介して獲得する。一旦データが入力されると、そのデータは処理のためにワーク・キュー810に入れられる。マスター・スケジューラ806はキュー810内のワーク・アイテムを発見する。トランスポート・クライアント812a−nとして動作するワークステーション114が複数あるので、ワーク・キュー810には複数のアイテムがある場合がある。マスター・スケジューラ806は、要求をレンダリング・オブジェクト808aに向けるが、これは、データがどのようにトランスポートされるべきかをスケジューラ806に対して識別するトランスポート・オブジェクト804aを使用して行われる。レンダリング・オブジェクト808aは、要求を検査し、データベースからコストを取り出し、それらの値を生成されている電子文書に入れ、データベースで発見されたコストに利幅に関するビジネス規則を適用し、文書に関するビジネス規則を適用するためのルーチンを好適に含む。必要な値がデータベースで見つからない場合、レンダリング・オブジェクト808aは、欠けているオブジェクトを獲得するために、その要求を処理する目的で別のレンダリング・オブジェクト808b(例えば、購入側代理店のコンピュータ上の別のレンダリング・オブジェクト)に転送してもよいし、そのアイテムを未処理のまま戻してもよい。
【0056】
D.方法
次に図9および4〜7を参照すると、本発明の方法およびプロセスがより詳細に説明されている。
【0057】
要求を処理するための全般的な方法は、まず図9を参照して説明され、また図8を参照して説明される。方法は、ユーザからデータを獲得することによってステップ902から始まる。具体的には、ユーザ・インターフェースを提示し、ユーザに要求を処理するために必須のデータをシステムに入力させるためにトランスポート・クライアントが使用される。次にステップ904で、方法は、獲得したデータを使用してデータベースから情報を抽出する。これは、獲得したデータを使用してクエリを生成し、そのクエリをデータベースに適用するレンダリング・オブジェクトによって行われることが好ましい。次いでステップ906では、いくつかのビジネス規則が、ステップ904でクエリによって戻されたデータに適用される。ここでもまた、レンダリング・オブジェクトはビジネス規則の適用を実行する。一旦レンダリング・オブジェクトがビジネス規則に従ってデータを変更すると、その結果生じたデータは表示用にフォーマットされ、元の要求からの別の情報と組み合わされ、次いでトランスポート・オブジェクトを使用して受信側に送信される。
【0058】
次に図4を参照すると、第1のモジュール310を使用して、データをクライアント・コンピューティング・デバイス112から獲得するための好ましい方法が示されている。このプロセスは、ユーザ・インターフェース(UI)またはコンピュータ112の表示装置200上の画面を提示することによってステップ402から始まる。次に、モジュール310およびトランスポート・クライアント812は、ユーザ・インターフェースの一部を形成するフィールドにデフォルト値を入力する404。次いでステップ406で、ユーザはデータを入力し、その入力されたデータとフィールドが処理される。データが適切なタイプまたは適切なフォーマットであることを確認するためにトランスポート・クライアント812によって実行される最低限の検証がある。ステップ406の後、方法は、ステップ406で最終フィールドが処理されたかどうか、またはユーザがサブミット・コマンドを入力したかどうかをテストする。NOの場合、プロセスはステップ406に戻って次のフィールドを処理する。YESの場合、プロセスはステップ410に進んで各データ・エレメントをキューに入れるためにフォーマットする。データは、タブ区切り、固定フィールド、またはトランスポート・クライアント812にセットされている他のフォーマットに適合する固定フィールドのように好適にフォーマットされる。次いで、データ・エレメントはキューに入れるためにワーク・アイテムとして集められる。データ・エレメントの集合は、ワーク・アイテムを処理するレンダリング・オブジェクト808によって予想される順番にデータ・エレメントを並べる。最後に、トランスポート・クライアント812は、適切に順番付けされたデータ・エレメントを含むワーク・アイテムを作成するためにルーチンを実行し、ワーク・アイテムがワーク・キュー810に追加され、方法は完了する。
【0059】
次に図5を参照すると、第2のモジュール312を使用して情報を抽出する方法が説明されている。方法は、レンダリング・オブジェクト808がワーク・アイテムを受け取り、アクセスするステップ502で始まる。通常、スケジューラ806はワーク・アイテムを、さらなる処理のためにレンダリング・オブジェクト808に渡す。レンダリング・オブジェクト808は、次いでそのワーク・アイテムに対応するカーゴまたはデータを取り出す504。このカーゴはワーク・アイテムの一部として記憶してもよいし、またはそのカーゴを含んでいるファイルへの参照をワーク・アイテムが有するだけでもよい。次に、データベースが使用する言語に従ってクエリを生成する506ためにカーゴが使用される。次いで、生成されたクエリがワーク・アイテムで指定されたデータベースに適用される508。これは、情報を管理するために、Microsoft SQL サーバ、OracleおよびDB2などのいかなる既存のデータベース管理プログラムを使用しても行うことができ、レンダリング・オブジェクト808は、データがローカルに記憶されていても遠隔に記憶されていても、そのデータにアクセスする標準(業界規模の)またはメーカ独自の方法を含むことができる。クエリの結果が次いでファイルに記憶され510、そのファイルへの参照がワーク・アイテムに追加される。ワーク・アイテムは次いでさらなる処理のためにワーク・キュー810に戻される。
【0060】
次に図6を参照すると、第3のモジュール314を使用して抽出された情報に規則を適用するための好ましい方法が説明される。このプロセスは、レンダリング・オブジェクト808がソースからデータを取り出すステップ602から始まる。この場合、操作のためのデータのソースは、別のレンダリング・オブジェクト808によって戻されたデータ、クエリの結果、システム上のレジスタ、またはファイルから取り出されたデータであってよい。プロセスは、レンダリング・オブジェクトのルーチンの一部として表現されるビジネス規則をステップ602からのデータにまず適用する604ことによって続けられる。規則はプログラム・エレメントとして適用することができる(値が指定した範囲内にあることをテストする)。これらの範囲は値としてプログラム(レンダリング・モジュール)に組み込むことができる。次いでステップ606で、方法は、データにビジネス規則を適用した結果として生じる規則違反があるかどうかを判定する。違反がある場合、方法はステップ608に進む。ステップ608で方法はその違反を処理する。このような処理には、1)欠けているデータに入力するためにワーク・アイテムを別のレンダリング・オブジェクト808に送信すること、2)そのワーク・アイテムをトランスポート・クライアントに戻すこと、または3)エラー状況を信号で示すことが好適に含まれる。ステップ606で規則違反が見つからなかった場合、方法はステップ610で、データベースでパラメータ化したビジネス規則を適用することを続ける。これには、データベースのクエリとビジネス規則の適用が必要となる。ビジネス規則に関する値は、ステップ602からのデータに適用される前に取り出される必要のある、データベースに記憶されているパラメータであってよい。このようなパラメータ化された値はデータベースから取り出すことができ、それによってレンダリング・オブジェクト808を変更せずに値を変更することが容易になるので、このようなパラメータ化された値は有利である。再びステップ612では、方法は、ステップ610によってもたらされた規則違反があるかどうかを判定する。違反がある場合、方法は終了する前にステップ608に進む。違反がない場合、方法はステップ614で、データベースで制約として表現されたビジネス規則を適用することを続ける。規則は、上述のように、リレーショナル・データベースで制約として構築することができる。規則は、抽出モジュールから入力された他の値、またはデータベースの変数に基づいて計算された制限などの任意の複雑な記述を指定することができる。この関係は、制約を指定するための方法を設定するためにも使用することができる。例えば、申込者の郵便番号は、代理店が取引を引き受けることを許可されている場所の郵便番号の集合の構成要素でなければならず、また、企業が取引を引き受けることを許可されている場所の郵便番号の集合の構成要素でなければならない。ある取引の方針に対する保険対象物の郵便番号は、そのタイプの取引に保険をかけることが禁止されている場所の郵便番号であってはならない。住所の都市および州は郵便番号に該当しなければならない。ステップ614の後、方法は再び規則違反についてテストする。規則違反が見つかると、方法はステップ608で続行する。規則違反が見つからない場合、方法は、別のオブジェクトを処理するために、規則を適用した後でステップ602のデータ取り出しの結果を含めてワーク・アイテムをワーク・キュー810に戻す。当業者ならば、図6の方法は便宜上単一の方法として記述されているが、部分A、B、Cはそれだけで、ステップ602、608、および618と共に1つの方法を形成することができることを理解するだろう。さらに、部分A、B、Cはいかなる順番でも実行することができ、また何回でも実行または反復することができることも理解されたい。
【0061】
次に図7を参照すると、第4のモジュール316とトランスポート・オブジェクト804を使用してコンテンツを配信するための好ましい方法が示されている。方法は、ワーク・アイテムが処理中であることを示すためにそのワーク・アイテムの状況をトランスポート・オブジェクト804が更新するステップ702から始まる。次いでワーク・アイテムまたはそのカーゴまたは結果は、それが送信される媒体に適切なようにフォーマットされる704。それぞれの異なる媒体は異なるフォーマットを有する。次いでワーク・アイテムが媒体を介して処理するためにサブミットされる706。各媒体がサービスする複数のスレッドがあり、したがって、資源が使用可能でない可能性を低減することが好ましい。次いでステップ708では、方法は、ワーク・アイテムが成功裏に送信されたかどうかを監視する。そのアイテムがまだ処理中の場合、方法はステップ708にループして戻る。処理中にエラーがあるか、またはタイムアウトの場合、方法はステップ710に進み、エラーを示すようにワーク・アイテムの状況を変更し、方法は終了する。送信が成功した場合、方法は、送信が成功したことを示すようにワーク・アイテムの状況を変更し、方法は終了する。
【0062】
次に図10を参照すると、ワーク・キュー810とマスター・スケジューラ806を使用して情報要求を処理するための好ましい方法の流れ図が記述されている。このプロセスは、マスター・スケジューラ806がワーク・キュー810の先頭のワーク・アイテムを取り出すこと1002から始まる。次いで方法は、レンダリング・オブジェクト808がワーク・アイテムを処理したかどうかをテストする1004。処理した場合、レンダリング・オブジェクト808の結果を配信することができ、プロセスはステップ1006で、ルーティング情報がルーティング・テーブル802から取り出されることを続ける。ステップ1008で、スケジューラ806は、識別された媒体を介して送信するためにワーク・アイテムの結果をフォーマットし、ステップ1010で、スケジューラ806は、そのワーク・アイテムを送信するためにオペレーティング・システムの資源を呼び出す。
【0063】
ステップ1004でワーク・アイテムがレンダリング・オブジェクト808によって未処理であると識別されると、スケジューラはワーク・アイテムで識別されたレンダリング・オブジェクト808が、処理するために別のワーク・アイテムを受理できるかどうかを判定する1012。受理できる場合、スケジューラ806は、トランスポート・オブジェクト804を使用してレンダリング・オブジェクト808にワーク・アイテムを送信する1014。ステップ1012または1014の後、スケジューラ806はこのワーク・アイテムがワーク・キュー810の最後であるかどうかをテストする。最後でない場合、スケジューラ806は、ワーク・キュー810内の次のワーク・アイテムを取り出し、ステップ1012で処理を続行する。このワーク・アイテムがワーク・キュー810の最後である場合、方法はステップ1002に戻り、キュー810の先頭から処理を開始する。
【0064】
E.ユーザ・インターフェース
次に図11〜15を参照すると、本発明のシステム100を操作するために提供されているいくつかのユーザ・インターフェースが示される。
【0065】
図11に、クライアントのコンテンツを配信するときにシステム100が使用する基本的な設定を管理者が構成することができるようにするサーバ・タブのユーザ・インターフェースを示す。システム100は、すべての提出とその配信状況を所定の間隔で記述するトランスポーテーション・ログを出力する。この画面の右下には、システム100の現在の状況が表示されている。ここで1つでも変更が行われるとそれはシステム100を停止し、変更を適用し、「適用」ボタンが押し下げられるといつでもシステム100を再スタートする。「最大スレッド」設定のオプションは、1つから255のスレッドを同時に実行することを可能にする。
【0066】
図12は、システム管理者がメール配信するための電子メール・ドライバ(デフォルトのトランスポート・オブジェクト804)の使用と、デフォルトのルーティング(IISサーバの名称)とを設定することができるようにするユーザ・インターフェースを示す。
【0067】
図13は、システム管理者が正確なアカウント、請求コードおよびファックスのコンテンツを配信するために使用されるべきトランスポート層を入力することができるようにするユーザ・インターフェースを示す。これは、デフォルトのトランスポート・オブジェクト804を設定する別の方法である。
【0068】
図14は、システム管理者が、印刷サブミッションがデフォルトで印刷内容を伝達する時点になるデフォルト・プリンタを選択することができるようにするユーザ・インターフェースを示す。
【0069】
図15は、システム管理者が、ページャーのコンテンツを配信するときに使用すべきデフォルト・ドライバを選択することができるようにするユーザ・インターフェースを示す。
【0070】
本発明は特定の好ましい実施形態を参照しながら説明したが、当業者ならば、様々な修正形態を提供することができること理解するだろう。好ましい実施形態への変形形態と修正形態は本発明によって提供されるが、これは頭記の特許請求の範囲によってのみ限定されるものである。
【0071】
付録A
システム100により生成される文書の例
【0072】
【表1】
【0073】
【表2】
【0074】
【表3】
【0075】
【表4】
【0076】
【表5】
【0077】
【表6】
【図面の簡単な説明】
【図1】
本発明が動作するシステムの好ましい実施形態のブロック図である。
【図2】
本発明を含む計算装置の好ましい実施形態のブロック図である。
【図3】
図2の装置のメモリ・ユニットの好ましい実施形態のブロック図である。
【図4】
クライアント計算装置から第1のモジュールを使用してデータを取得するための好ましい方法の流れ図である。
【図5】
第2のモジュールを使用して情報を抽出するための好ましい方法の流れ図である。
【図6】
抽出された情報に第3のモジュールを使用して規則を適用するための好ましい方法の流れ図である。
【図7】
第4のモジュールおよびトランスポート・オブジェクトを使用して内容を引き渡すための好ましい方法の流れ図である。
【図8】
モジュール間の対話を示す、本発明によるシステムの機能ブロック図である。
【図9】
本発明による、情報要求に対する応答を生成する好ましい方法の流れ図である。
【図10】
ワーク・キューおよびマスタ・スケジューラを有するシステムのための、本発明による情報要求を処理するための好ましい方法の流れ図である。
【図11】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
【図12】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
【図13】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
【図14】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
【図15】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
発明者
Rodney Bennett
関連出願の相互参照
本出願は、米国特許法§119(e)の下に、Rodney Bennettによる2000年2月16日出願の、参照によりその主題がすべて本明細書に組み込まれる「A Method For Automating The Assembly Of Business Documents,Application Of Business Rule To Business Processes And The Delivery Of Business Documents」という名称の同時係属米国仮出願第60/182,839号の優先権を主張するものである。
【0002】
発明の背景
1.発明の分野
本発明は、データを取得し、抽出し、修正し、かつ表示するためのシステムおよび方法に関する。また、本発明は、抽出または取得されたデータ、および自動化されたデータ転送およびデータ引渡しに対するプロセスのモジュラー・アプリケーションのためのシステムおよび方法に関する。より詳細には、本発明は、ドキュメントの組立て、処理および引渡しを自動化する新しいシステムおよび方法に関する。さらに詳細には、本発明は、ドキュメントの組立て、処理および引渡しのための、モジュラー手法を用いたシステムおよび方法に関する。
【0003】
2.背景技術の説明
今日、対話には、要求に対する応答を生成し、かつ要求および応答の双方の文書化が必要である。例えば、事実上あらゆるビジネスにおいて、顧客は、購入すべきアイテム、提供されるべきサービス、あるいは保険証券のコストに関する見積りを要求することができる。販売員などの顧客サービス代表者は、適切な方法で情報を探索し、顧客に対する応答をフォーマットし、かつ顧客に応答を送付している。価格の見積りなど、顧客によって要求される情報のためのソースは、ますますコンピュータ・データベースのみになっている。その場合、コンピュータを探索し、データを探し出し、かつユーザに引き渡さなければならない。既存のシステムが抱えている特定の問題の1つは、人間であるユーザによるコンピュータ・データベースとの対話が、通常、プログラマが作成したプログラムによって命令されており、対話すなわちプロセスを変更するためにはプログラムを完全に作成し直さなければならならず、したがって柔軟性に欠けていることである。
【0004】
情報を要求する顧客に単純に応答するために必要な基本ステップ以外に、このような要求に応答するために実行しなければならない多数の追加プロセス、承認またはその他のステップがしばしば存在している。例えばコンピュータ・システムあるいはデータベースから基本情報を入手するプロセスには、通常、プログラマによってプロセスに追加された、会社の方針、州または連邦条例、あるいはその他のビジネス上の規則を補強するための追加ステップが補足されている。例えば顧客の多くは、量、口座支払い状態、取引関係の長さ、あるいはその他の要因に基づいて、特別な割引を受けている。同様に、保険率も、将来のクライアントを保証するために被ったそれまでの損失、クライアントの所在地、クライアントの規模、クライアントの職業の種類等に基づいている。さらに、ビジネスの多くは、顧客に対する価格の見積り者に、見積り者による見積りに対する競合状況の判断に応じて、組織の管理構造における監督者の承認を必要としない、特定の枠内での価格の割引あるいは吊上げの余裕が与えられている。問題は、何千にも及ぶこのような規則が存在していること、およびそれらの規則が、法律、会社方針、あるいはその他のビジネス条件の変更によって常に変化していることによってさらに悪化している。また、抽出されたデータに対する規則の適用が自動ではなく、人間によって行われるため、プロセスは最も不確実な存在になっている。
【0005】
要求に応じてドキュメントあるいは情報を提供するための従来技術による典型的な手順には、顧客からの見積り要求を受け取るステップ、顧客サービス代行者がデータを探索し、かつ見積りにビジネス規則を適用するステップ、顧客に伝送するために、文書処理システムあるいは他のコンピュータ・プログラムを使用してデータをフォーマットするステップ、見積りを郵送またはファックス送信するために印刷し、あるいは電子メールで送信するためにコンピュータ・ファイルに保管し、もしくは要求された引渡し方法に適した方法で処理するステップが含まれている。従来技術ではこれらのステップのほとんどが手動で実行され、自動化されているステップは、データベースに保管されている情報を探索するステップのみである。このシナリオには多数の欠点があり、第1に、顧客に対するサービス実行者が多数の個別ステップを手動で実行しなければならならず、また、システムが異なる作業現場を移動しなければならないため、要求することができる情報の数が限られている。第2に、人間のエラーすなわち見落しにより、ビジネス規則が適用されないことがあり、あるいは誤って適用され、もしくは誤った解釈がなされることがある。
【0006】
これらの問題を処理するために、従来技術の手法の1つは、データベース・アプリケーション・プログラムを作成している。データベース・アプリケーション・プログラムは、簡単に応答を生成することができ、かつビジネス方針あるいは規則を一様に適用することができる専用コンピュータ・プログラムである。ビジネス規則は、データベース・アプリケーション・プログラムの中に構築されるが、ビジネス規則が変更されると、その都度プログラムを修正しなければならないため、データベース・アプリケーション・プログラムは不適切である。そのため、規模の大きい会社では、ビジネス規則の変更に応じてデータベース・アプリケーション・プログラムを常に作成し直すことが専らの業務である極めて多数のプログラマを抱えている。第2に、情報を含んだ基礎となるデータベースが変更されると、プログラムも同様に変更しなければならない。最後に、ドキュメントあるいは応答を引き渡すための技術が変更された場合においても、同様にプログラムを変更しなければならない。さらに、変更あるいは修正の都度、予測し得ない二次的な影響がプログラムに含まれることがしばしばであり、そのために費用のかかる、かつ広範囲にわたる試験および再試験を必要としている。
【0007】
したがって、詳細には顧客による情報の要求を受け取り、かつ応答するコンテキストにおけるドキュメントの組立て、処理および引渡しを自動化するためのシステムおよび方法が必要である。
【0008】
発明の概要
本発明によりドキュメントの組立て、処理および引渡しを自動化するためのシステムが提供され、それにより従来技術の欠点および限界が克服される。詳細には本発明により、データを取得し、取得したデータを使用して追加データを抽出し、取得したデータを使用して1つまたは複数のプロセスを選択し、かつ選択したプロセスを追加データに適用し、また、処理された追加データからドキュメントを作成し、引き渡すための新規なシステムが提供される。
【0009】
一実施形態では、本発明は、複数のトランスポート・クライアント、ワーク・キュー、スケジューラ、複数のレンダリング・オブジェクト、複数のトランスポート・オブジェクト、およびルーティング・テーブルを備えている。各トランスポート・クライアントは、応答の生成に必要なデータを収集している。トランスポート・クライアントの各々は、それぞれの計算装置上で動作し、ユーザに表示し、かつユーザによって計算装置に入力されたデータを収集している。収集されたデータは、他の情報と共に、ワーク・アイテムを作成するために使用される。ワーク・アイテムは、次にマスタ・スケジューラに送られ、マスタ・スケジューラにより、ワーク・アイテムが処理され、かつ処理が完了するまでワーク・アイテムを保管するために、ワーク・キューが維持される。トランスポート・クライアントからワーク・アイテムが受け取られると、ワーク・キューにワーク・アイテムが追加される。スケジューラはワーク・キューを管理し、例えば識別されたレンダリング・オブジェクトにワーク・アイテムを送り、続いてトランスポート・クライアントに送っている。本発明は、複数のレンダリング・オブジェクトを好ましく備えている。レンダリング・オブジェクトの各々は、データベースの知識およびデータベースから情報を抽出し、かつ抽出した情報に規則を適用するためのプロセスを備えている。本発明により、所与のタイプの各情報要求が、情報要求に応答するための関連するレンダリング・オブジェクトを持つことができるよう、複数のこのようなレンディング・オブジェクトが好ましく提供される。この構造により、レンダリング・オブジェクトが多数の異なるタイプの情報要求に対して使用され、それによりトランスポート・クライアント、データベース、規則、あるいはトランスミッション・オブジェクトが変更された場合におけるシステムの修正が著しく簡略化される。スケジューラは、レンダリング・オブジェクトが処理すべきワーク・アイテムを割り当て、レンダリング・オブジェクトによる処理が完了すると、ワーク・アイテムはスケジューラに戻され、トランスポート・オブジェクトによってさらに処理される。次にスケジューラは、ワーク・アイテムを最終処理するために、複数のトランスポート・オブジェクトの1つに送る。トランスポート・オブジェクトにより、レンダリング・オブジェクトによって戻されたデータを含むワーク・アイテムが処理される。トランスポート・オブジェクトは、ワーク・アイテムを使用して、ドキュメントを公にする方法を含んだドキュメントを作成し、また、トランスポート・クライアントによって生成された情報要求の指定に従って、ドキュメントのルーティングを処理する。トランスポート・オブジェクトは、指定された伝送手段を使用するために、作成されたドキュメントの引渡しを調整している。トランスポート・オブジェクトは、ルーティング・テーブルを用いて、資源割当て、資源利用性、ローカル処理またはリモート処理、および処理時間を決定している。
【0010】
また、本発明には、情報要求に応じてドキュメントを作成し、かつ引き渡すための方法、データを取得するための方法、情報を抽出するための方法、1つまたは複数の規則を適用するための方法、ドキュメントを表示し、かつ伝送するための方法、およびワーク・アイテムを処理するための方法を始めとする多数の新規な方法が含まれている。
【0011】
本発明を実施例によって説明するが、添付の図面の数字には何らの制限もないものとする。図において、同じ参照番号は類似の構成要素を表している。
【0012】
好ましい実施形態の詳細な説明
文書のアセンブリ、処理および配信を自動化するシステムおよび方法を記述する。以下の記述では、例示の目的で、本発明の完全な理解を提供するために多数の特定の詳細が記述される。しかし、当業者には、本発明はこれらの特定の詳細なしに実施することができることが明らかになるだろう。あるいは、本発明を不明瞭にすることを避けるため、構造およびデバイスはブロック図形式で示す。
【0013】
本明細書における「一実施形態」または「ある実施形態」という指示は、実施形態に関して記述される特定の機能、構造、または特徴が、本発明の少なくとも1つの実施形態に含まれていることを意味している。本明細書の随所で「一実施形態では」という句が表示されるが、それは必ずしもすべてが同一の実施形態を意味する訳ではない。
【0014】
以下の詳細な説明の一部は、コンピュータ・メモリ内のデータ・ビット上の操作のアルゴリズムおよび記号による表現に関して提示されている。これらのアルゴリズムの記述および表現は、データ処理技術の当業者が自分の作業内容を別の当業者に対して最も効率よく伝達する使用する手段である。アルゴリズムは、本明細書では、また一般的にも、所望の結果をもたらすための首尾一貫した連続するステップとみなされるものである。ステップは、物理量の物理的操作を必要とするステップである。必須ではないが一般に、これらの数量は、記憶、転送、結合、比較または他の操作を受けることができる電気的信号または磁気信号の形式をとる。これらの信号をビット、値、エレメント、シンボル、文字、用語、数字などと称することは、原則的に共通する用途を理由として、場合によっては好都合であることが既に判明している。
【0015】
しかし、これらの用語および類似の用語のすべては適切な物理量に関連付けられており、それらの数量に都合のよい標示を適用したにすぎないということを銘記されたい。以下の議論で明らかなように、特に指摘しない限り、本記述全体を通して、「処理」または「コンピューティング」または「計算」または「決定する」または「表示する」などの用語を使用する議論は、コンピュータ・システムのレジスタおよびメモリ内の物理(電子)量として表現されるデータを操作して、コンピュータ・システムのメモリまたはレジスタ内または他の情報ストレージ、伝送または表示デバイス内の物理量として同様に表現される他のデータに変換する、コンピュータ・システムまたは類似の電子計算デバイスのアクションおよびプロセスを意味するものであることが理解されよう。
【0016】
本発明は、本明細書の操作を実行する装置にも関係する。この装置は、要求された目的のために特別に構築することができ、あるいはコンピュータに記憶されているコンピュータ・プログラムによって選択的に活動化され、または再構成される汎用コンピュータを含むことができる。このようなコンピュータ・プログラムは、限定はしないが、フロッピー・ディスク、光ディスク、CD−ROM、および光磁気ディスクを含めて任意のタイプのディスク、読取専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、EPROM、EEPROM、磁気カードまたは光カード、または電子命令を記憶するために適しており、それぞれがコンピュータ・システム・バスに結合された任意のタイプの媒体などのコンピュータ可読記憶媒体に記憶することができる。
【0017】
本明細書で提示するアルゴリズムおよびディスプレイは、本質的にいかなる特定のコンピュータまたは他の装置に関係するものではない。本明細書の教示によるプログラムによって様々な汎用システムを使用することができるが、要求された方法ステップを実行するためにより特化した装置を構築すると便利であることを証明することができる。これらの様々なシステムに対して要求される構造は以下の記述から明らかになろう。さらに、本発明はいかなる特定のプログラミング言語を基準に記述されるものではない。本明細書に記載の本発明の教示を実施するために様々なプログラミング言語を使用することができることが明らかになろう。
【0018】
さらに、本発明は、情報システム上で動作し、それと共に機能することが以下で主張されている。このように主張された情報システムは、以下の好ましい実施形態で詳述される情報システム全体であっても、そのようなシステムの一部であってもよい。例えば、本発明は、トランスポート・クライアントを使用してデータを入力する最も簡単な意味でのブラウザであることだけを必要とする情報システムによって動作することができる。同様に、本発明は、表示装置および入力装置(キーボードおよびマウス・タイプのコントローラ)を含まないサーバ上で動作することができる。したがって、本発明は、最小限の機能を有するシステムから、本明細書で開示するすべての機能を提供するシステムまでの任意の情報システムによって操作することができる。
【0019】
A.「Net Transport」の概要
本発明は、データを獲得するための新しいシステムを対象とするものであり、獲得したデータを使用して追加データを抽出し、結果データを生成するためのビジネス規則を適用する目的で使用するためのものであり、また、結果データを含む文書を作成し、配信するためのものである。本発明は、独自の3層構造のトランスポート・クライアント812、レンダリング・オブジェクト808、およびトランスポート・オブジェクト804を含む(図8を参照のこと)。トランスポート・クライアント812は、応答を生成するために必須のデータの獲得をそれぞれが担当する。レンダリング・オブジェクト808は、データベースから情報を抽出し、また、抽出したデータに規則を適用するためのものである。トランスポート・オブジェクト804は、レンダリング・オブジェクトによって戻されたデータを含むワーク・アイテムの処理を担当する。これらのオブジェクト804、808、およびクライアント812の対話は、マスター・スケジューラ806によって調整され、後述する新規の方法でワーク・キュー810を使用する。
【0020】
文書のアセンブリ、処理、および配信を自動化するための本発明を、保険の見積もりに対する要求を受信し、そのような要求に応答する文書を生成するための特別なアプリケーションの状況において説明する。しかし、当業者ならば、本発明は、情報の要求がサブミットされ、応答が提供される様々な状況において適用することができることを理解するだろう。したがって、保険の見積もりに対する要求に応答する状況における本発明の説明は、例示にすぎない。
【0021】
以上、本発明の概要を説明したが、獲得データを提示し、応答を準備するシステムおよび方法について以下で説明する。第1に、システムおよびその構成要素を説明する。第2に、様々なモジュールおよびそれらの対話を説明する。第3に、本発明の操作の方法を説明する。最後に、例示的ユーザ・インターフェースを説明する。
【0022】
B.システム
次に図1を参照すると、本発明によるネット・トランスポート・システムの状況が示されている。本発明の動作のための好ましい実施形態は、インターネットなどのコンピュータ・ネットワークを介した文書の伝送および取り出しに係わるものである。簡略化と、理解を容易にすることを目的とした単純なシステム100を図1に示すが、当業者ならば、ネット・トランスポート・システムは複数のクライアント812に応答可能であることを理解するだろう。ユーザは、ウェブ・ブラウザを含むクライアント・コンピューティング・デバイス102、104、106、112、114を使用して対話し、通信する。クライアント・コンピューティング・デバイス102、104、106、112、114は、好適にはパーソナル・コンピュータであるが、サーバ、モバイル・コンピューティング・デバイス、携帯電話または他のどのようなコンピューティング・デバイスであってもよい。クライアント・コンピューティング・デバイス102、104、106、112、114は、モデムおよび電話回線などの信号線210によってインターネット206に結合されている。それぞれがネット・トランスポート・システムを含んでいる複数のコンピューティング・デバイス102、104、106、112、114を含むシステム100の例示的実施形態を示す。コンピューティング・デバイス102、104、106、112、114は、通信ネットワークまたはネットワーク・セグメント108および110によって好適に結合されている。図1は単なる一例にすぎず、ネット・トランスポート・システムを含むネットワークは、当業者が理解するいくつの方法によっても構成することができる。
【0023】
システム100は、1つまたは複数の通信ネットワークまたはネットワーク・セグメント108および110を含むことが好ましい。通信ネットワークまたはネットワーク・セグメント108および110は、どのような適切なタイプおよび通信速度であってもよい。通信ネットワーク108および110は、例えばインターネットであることが好ましいが、ネットワーク108および110はWAN、LAN、VPN、イントラネット、またはエキストラネットであってもよい。セグメントは、物理的に別個のものであっても、1つの物理ネットワークの別個の論理的部分であってもよい。ネットワークは、いかなる適切なトポロジー(例えば、論理的または物理的108および110で、リング、バスまたはスター)を使用することもできる。
【0024】
ネットワーク108および110には、複数のコンピューティング・デバイス102、104、106、112、114が取り付けられている。コンピューティング・デバイス102、104、106、112、114は、ワークステーション112、114およびサーバ102、104、106を含む。例えば、サーバ102および106は通信ネットワーク108に結合されており、サーバ102および104、並びにワークステーション112および114は第2の通信ネットワーク110に結合されている。サーバ102、104、106は、従来タイプの様々な他の機能を含むこともできる。例えば、サーバ102はデータベース・サーバとしても動作し、サーバ104は電子メールのサーバとしても動作し、サーバ106はファクシミリのサーバとしても動作する。一実施形態では、システム100は、要求に応えるIIS4.0ウェブ・サーバ上に常駐するフリー・スレッドの(MTA)NTサービスとして実施される。ワークステーションは、NTサービスに対して通信するCOMオブジェクトとして実施されるサービスのクライアント部分を含む。コンピューティング・デバイス102、104、106、112、114のそれぞれは、図2および3を参照しながら以下でより詳細に説明するネット・トランスポート・システムも含む。
【0025】
図1に示す例示的システム100を参照すると、ワークステーション112上の顧客サービス係は、顧客のために要求を満たすための必須データが供給されるトランスポート・クライアント812であるアプリケーション・プログラムを実行することができる。ワークステーション112で実行されているNet Transportは要求を受信し、それをそのワーク・キュー810に入れる。ワークステーション112上のマスター・スケジューラ806は適切なレンダリンク・オブジェクト808に対して要求をサブミットする。レンダリング・オブジェクト808は照会を実行し、ビジネス規則がある場合は必要に応じてこれを適用し、その照会に対する応答を戻す。マスター・スケジューラ806は次いで、ワークステーション112上で実行されている適切なトランスポート・オブジェクト804にレンダリングした応答をサブミットする。トランスポート要求を満たすために使用可能な資源がローカルである場合、伝送はローカルに行われる。宛先が電子メールを介したものである場合、トランスポート・オブジェクト804は、Net Transportでもある電子メールのサーバ104に要求を送信する。要求される資源がファックスのサーバである場合、要求は、満たされるべきサーバ106にサーバ102を介して経路指定される。ユーザは、ネット・トランスポートの部分であるプロセスによって、いかなる他のサーバまたはワークステーションにより、既存のいかなるネットワーク・セキュリティの対象となる。したがって、ワークステーション114で発信される要求が、データベース・サーバ102などの、別のサーバ上の特定の情報にアクセスする十分なレベルの特権を有していない場合、そのワーク・キュー810に入れられて、レンダリング・オブジェクト808が実行されるべきサーバとしてサーバ102を指定する要求は、保持されて、実行はされない。
【0026】
現在、当業者ならば、適切なソフトウェア、ハードウェア、および通信プロトコルを使用することによって、単一コンピュータの代わりに複数コンピュータを使用することができることが理解されよう。例えば、コンピュータが使用するデータは、そのコンピュータの筐体自体の中ではなく、そのコンピュータが接続されているネットワーク上のどこかに位置するハードディスクまたは他の記憶装置に常駐することがしばしばである。データは、NFS、FTP、HTTPまたはこの他の多くの遠隔ファイル・アクセス・プロトコルの1つを使用してアクセスすることができる。さらに、リモート・プロシージャ呼出し(RPC)は、ローカル・コンピュータの部分ではなく、遠隔プロセッサ上のソフトウェアを実行することができる。場合によって、この遠隔データまたは遠隔手順の操作は、コンピュータのユーザに対して、また、アプリケーション自体に対してさえも透過的であるが、それはその遠隔操作が、基礎をなすオペレーティング・システムを介してまるでローカルな操作であるかのように実行されるからである。
【0027】
当業者には、本発明で説明されている実施形態がローカル・ストレージおよびプロセッサを有する単一コンピュータを参考にしてはいるが、データはローカル・コンピュータのユーザに透過的な方法で遠隔に記憶することも、またはネットワークを介してアクセス可能な遠隔コンピュータに明示的に常駐させることも可能であることが明らかであろう。どちらの場合でも、本発明の機能は同一であり、どちらの実施形態も本発明の可能な実施形態として理解され、みなされる。
【0028】
次に図2を参照すると、ネット・トランスポート・システムを含むクライアント・コンピューティング・デバイス102または112に関する第1の実施形態が示されている。クライアント・コンピューティング・デバイス102は、バス201を介して、表示装置200、キーボード222、カーソル・コントローラ223、ネットワーク・コントローラ224、およびI/Oデバイス225に結合されているコントロール・ユニット250を含んでいる。
【0029】
コントロール・ユニット250は、論理演算装置、マイクロプロセッサ、汎用コンピュータ、携帯情報端末、または他の、表示装置200に電子表示信号を供給するように装備された情報機器を含むことができる。一実施形態では、コントロール・ユニット250は、例えばWINDOWS(登録商標)またはUNIX(登録商標)ベースのオペレーティング・システムなどのオペレーティング・システム上で実行されているJavaで書かれたプログラムによって生成することができるグラフィカル・ユーザ・インターフェースを有する汎用コンピュータを含む。一実施形態では、1つまたは複数のプログラムが、限定はしないが、ワード・プロセッシング・アプリケーション、電子メール・アプリケーション、スプレッドシート・アプリケーション、およびウェブ・ブラウザ・アプリケーション306を含むコントロール・ユニット250によって実行される。コントロール・ユニット250は、当業者に理解されるであろう、また、図2に示すTCP/IP、http、およびSMTPなどの標準ネットワーク・プロトコルを使用してファイルを分配するためのネットワークなどの他のシステムへの他の従来型接続も有している。
【0030】
図2Aに示すように、コントロール・ユニット250は、プロセッサ202、メイン・メモリ204、およびデータ記憶装置207を含むが、これらはすべてシステム・バス201に通信可能に結合されている。
【0031】
プロセッサ202はデータ信号を処理するが、複雑な命令セット・コンピュータ(シスクCISC)のアーキテクチャ、縮小命令セット・コンピュータ(RISC)のアーキテクチャ、または命令セットの組み合わせを実施するアーキテクチャを含めて様々なコンピューティング・アーキテクチャを含むことができる。図2には単一プロセッサだけを示してあるが、複数のプロセッサを含むこともできる。
【0032】
メイン・メモリ204は、プロセッサ202によって実行することができる命令および/またはデータを記憶することができる。命令および/またはデータは、本明細書に記載の任意の技術および/またはすべての技術を実行するためのコードを含むことができる。メイン・メモリ204は、ダイナミック・ランダム・アクセス・メモリ(DRAM)デバイス、スタティック・ランダム・アクセス・メモリ(SRAM)デバイス、または当技術分野で周知のいかなる他のメモリ・デバイスであってもよい。メモリ204は、HTML、XML、またはインターネットへのアクセスを実現し、表示装置200上のイメージを生成するための他のマーク付け言語を処理する従来タイプのウェブ・ブラウザ230を含むことが好ましい。例えば、ウェブ・ブラウザ230は、Netscape NavigatorまたはMicrosoft Internet Explorerであってよい。
【0033】
データ記憶装置207は、プロセッサ202に対するデータおよび命令を記憶するが、ハードディスク・ドライブ、フロッピー・ディスク・ドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュ・メモリ・デバイス、または当技術分野で周知のいくつかの他の大容量記憶装置を含むことができる。
【0034】
システム・バス201は、コントロール・ユニット250全体で情報およびデータを伝達する共有バスを表す。システム・バス201は、業界標準アーキテクチャ(ISA)バス、周辺構成要素相互接続(peripheral component interconnect)(PCI)バス、ユニバーサル・シリアル・バス(USB)、または類似の機能を提供するための当技術分野で周知のいくつかの他のバスを表すことができる。
【0035】
システム・バス201を介してコントロール・ユニット250に結合されている追加の構成要素は、表示装置200、キーボード222、カーソル・コントロール・デバイス223、ネットワーク・コントローラ224、および入出力デバイス225を含む。表示装置200は、本明細書に記載の電子的なイメージおよびデータを表示するために装備されている任意のデバイスを表す。表示装置200は、陰極線管(CRT)、液晶ディスプレイ(LCD)、または同様に装備された表示装置、画面、またはモニタであってよい。
【0036】
キーボード222は、プロセッサ202に情報およびコマンド選択を伝達するためにコントロール・ユニット250に結合されている英数字入力装置を表す。カーソル・コントロール223は、プロセッサ202に定位置データおよびコマンド選択を伝達するために装備されているユーザ入力装置を表す。カーソル・コントロール223は、マウス、トラックボール、スタイラス、ペン、タッチスクリーン、カーソル・ディレクション・キー、またはカーソルを移動させる他の機構を含むことができる。ネットワーク・コントローラ224は、コントロール・ユニット250を、複数の処理システムを含むことのできるネットワークにリンクする。処理システムのネットワークは、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)(例えば、インターネット)および/または複数のデバイスが通信することができるいかなる他の相互接続されたデータ経路をも含むことができる。
【0037】
1つまたは複数のI/Oデバイス225がシステム・バス201に結合されている。例えば、I/Oデバイス225は、オーディオ入力を受信し、オーディオ出力を送信するために装備されたオーディオ・デバイスであってよい。オーディオ入力は、オーディオ・デバイス225およびネットワーク・コントローラ224内のマイクロフォンを含めて様々なデバイスを介して受信することができる。同様に、オーディオ出力は、プロセッサ202およびネットワーク・コントローラ224を含めて様々なデバイスから発信することができる。一実施形態では、オーディオ・デバイス225は、汎用コンピュータ・システム内で使用するように設計された汎用のオーディオ・アドイン/拡張カードである。任意選択で、オーディオ・デバイス225は、1つまたは複数のアナログ・デジタル・コンバータまたはデジタル・アナログ・コンバータ、および/またはオーディオ処理を容易にする1つまたは複数のデジタル信号プロセッサを含むことができる。
【0038】
当業者には、コントロール・ユニット250は、本発明の趣旨および範囲を逸脱せずに図2に示す構成要素の数以上または以下の構成要素を含むことができることを理解されたい。例えば、コントロール・ユニット250は、例えば第1または第2のレベル・キャッシュなどの追加メモリ、または1つまたは複数の特定用途向けIC(ASIC)を含むことができる。同様に、追加の構成要素は、例えばイメージ・スキャニング・デバイス、デジタル・スチールまたはビデオ・カメラ、または電子データを捕捉し、かつ/またはそれをコントロール・ユニット250にダウンロードするために装備しても、装備しなくてもよい他のデバイスを含めてコントロール・ユニット250に結合することができる。
【0039】
次に図3を参照すると、メモリ・ユニット204がより詳細に示されている。具体的には、本発明のプロセスに必要なメモリ204の部分が図示されており、以下でより詳細に説明する。図3に示すように、メモリ・ユニット204は、オペレーティング・システム302、他のアプリケーション304、ウェブ・ブラウザ306、少なくとも1つのネット・トランスポート・アプリケーション308、データ獲得用の第1のモジュール310、データ抽出用の第2のモジュール312、規則適用用の第3のモジュール314、応答の伝送および提示用の第4のモジュール316を好適に含んでいる。上記で指摘した通り、メモリ・ユニット204は、処理ユニット302が実行することのできる命令および/またはデータを記憶する。命令および/またはデータは、本明細書に記載の任意の技術および/またはすべての技術を実行するためのコードを含むことができる。これらのモジュール302〜318は、システム100を提供するための通信および協力のために、バス301によって処理ユニット302に結合されている。当業者ならば、以下では、本発明をモジュール、または、コンピュータ・システムのメモリ・ユニット204の一部として説明するが、このモジュールまたは部分は、永続データ・ストレージなどの他の媒体に記憶することもでき、また、クライアント/サーバ環境内などの複数の異なるコンピュータを有するネットワークを介して分配することもできることを理解するだろう。さらに、本発明の様々な実施形態は、図3のモジュール302〜318の一部を含むことができるが、すべてを含むことはできないということを理解されたい。例えば、クライアント・コンピューティング・デバイス112またはワークステーションは、データ抽出用の第2のモジュール312および規則適用用の第3のモジュール314を含まない場合がある。同様に、サーバ102は、データ獲得用の第1のモジュール310を含まない場合があるが、他のモジュールは含むことができる。当業者ならば、4つのモジュール310、312、314、416、およびネット・トランスポート・アプリケーション308は、特定の状況の需要に従って様々な組み合わせで使用することができることを理解するだろう。
【0040】
オペレーティング・システム302は、WINDOWS(登録商標)、SOLARIS(登録商標)またはLINUX(登録商標)ベースのオペレーティング・システムなどの従来タイプの1つであることが好ましい。
【0041】
メモリ・ユニット204は、限定はしないが、ワード・プロセッシング・アプリケーション、電子メール・アプリケーション、およびスプレッドシート・アプリケーションを含めて1つまたは複数の他のアプリケーション・プログラム304を含むこともできる。
【0042】
ウェブ・ブラウザ306は、上述のような従来タイプの1つである。
ネット・トランスポート・アプリケーション308は、プロセッサ202を制御する手順またはルーチンである。ネット・トランスポート・アプリケーション308は、ワークステーションまたはサーバのどちらか1つで使用することができる。図3のメモリ204には、本発明の理解を容易にするために単一のネット・トランスポート・アプリケーション408しか示していないが、通常、サーバ102、104、106は複数のそのようなネット・トランスポート・アプリケーション308を有しており、各アプリケーションは、トランスポート・クライアント812、レンダリング・オブジェクト808、またはトランスポート・オブジェクト804の様々なグループと対話するために使用される。ネット・トランスポート・アプリケーション308は、ネット・トランスポート・システムを呼び出すためのルーチンを含むことが好ましい。これらのルーチンはスケジューラ806として動作し、ワーク・キュー810としてメモリ204の一部と定義される。スケジューラ806およびワーク・キュー810は、1つまたは複数のワーク・アイテムを管理するために使用され、その1つまたは複数のワーク・アイテムはトランスポート・クライアント812を含む第1のモジュール310、レンダリング・オブジェクト808を含む第2のモジュール312および第3のモジュール314、およびトランスポート・オブジェクト804を含む第4のモジュール316を参照する。これらの構成要素のそれぞれは、それらを処理するモジュール310、312、314、316を参照しながらより詳細に説明する。スケジューラ806およびワーク・キュー810は、重い負荷と多くのクライアントを同時にサポートすることができ、また、サブミットされたコンテンツの状況上の管理報告およびクライアント・フィードバックの運営も含む。トランスポート・クライアント812のこのような複雑な報告の需要は、レンダリング・オブジェクト808によって供給されるレンダリング機能を使用して達成することができる。
【0043】
第1のモジュール310は、1つまたは複数のトランスポート・クライアント812と、トランスポート・クライアント812を実行するためのルーチンを含む。具体的には、トランスポート・クライアント812のそれぞれは、ネット・トランスポート・アプリケーション308を使用するアプリケーション・プログラムである。トランスポート・クライアント812は、要求を満たし、ワーク・アイテムを生成するために必須の情報の収集を担当する。さらに具体的には、トランスポート・クライアント812は、それに応答してユーザがシステム100に情報を入力するためにコンピューティング・デバイスを使用する必要のある質問を含めて、グラフィカル・ユーザ・インターフェースを提供する。例えば、トランスポート・クライアント812は顧客名、販売または保証されるべきアイテム、要求される特定のアイテムを収集することができる。情報は、その情報がどのように送信されるべきか、またはその情報がどこで獲得されるべきかに特有の、しかしそれとは独立したアプリケーションである。一実施形態では、トランスポート・クライアント812は、1)レンダリング・オブジェクト800、2)日時、3)要求の発信者に関する識別子、4)要求の宛先に関する識別子、5)要求に対する応答の送信方法、6)要求に対するデータまたはカーゴ、7)要求の主題、8)要求を取り扱うレスポンダ、9)要求に対する優先順位をユーザが入力することのできる空白フィールドを有する図形表示を提示する。別の実施形態では、トランスポート・クライアント812は、ローカルに実行されない要求を実行するサーバを含めて、データも収集することができる。トランスポート・クライアント812は、前回サブミットされた要求の状況への更新を求めるためのルーチンも含み、インターネットを介して送信されるクッキーのようにフォーマットすることができる。トランスポート・クライアント812は、要求のサブミットをシステムが受理するかどうかを判定するルーチンも含む。一旦、要求された情報をユーザが入力すると、トランスポート・クライアント812は、そのデータをワーク・アイテムに変換し、スケジューラ806の制御下でさらに処理するためにそれをワーク・キュー810に追加するために実行される。
【0044】
保険見積金額を生成するシステム100の状況において、例示的トランスポート・クライアント812は、申込者の名前と住所、保険証券を販売するエージェントの名称、所望の補償範囲(責任、火事、窃盗、労働者の補償など)、保険対象物を評価するための詳細、および所望の補償日を含めて保険申込書用のデータを獲得するトランスポート・クライアントを好適に含む。第1のモジュール310の動作を、図4を参照しながら以下でより詳細に説明する。
【0045】
第2のモジュール312は、1つまたは複数のレンダリング・オブジェクト808、およびレンダリング・オブジェクト808を実行するためのルーチンを含む。第2のモジュール312は、ローカルと遠隔の両方である1つまたは複数のデータベースにアクセスするためにモジュール310によって獲得された情報を好適に使用して、情報要求をさらに処理するために情報を獲得する。例えば、補償が発生すべき企業または地理的区域内の歴史的損害において過去の損害に関して検索するために公的記録と私的記録にアクセスすることができる。レンダリング・オブジェクト808は、サブミットされた要求が、完了するまでトランスポート・クライアント812を待機させることなく複雑な情報収集プロセスを実行することをを可能にする。具体的に、第2のモジュール312内のレンダリング・オブジェクト808は、トランスポート・クライアント812によって供給された情報を使用してデータベースからデータを抽出することを担当するプロセスである。レンダリング・オブジェクト808のそれぞれは、ネット・トランスポート・アプリケーション308を使用するアプリケーション・プログラムである。レンダリング・オブジェクト808は、データベースの照会を作成し、情報を戻すプログラムである。例えば、特定のレンダリング・オブジェクトは、構成のために使用されるスキーマ、SQLなどの使用される言語、およびデータベースの成功裏のクエリを実行するために必須の他の情報などのデータベースに関する情報を有する。レンダリング・オブジェクト808は非常に単純なものから、非常に複雑なものまであり得る。一実施形態では、レンダリング・オブジェクト808は、コンポーネント・オブジェクト・モデル(COM)を使用して実施され、COMオブジェクトとして作成される。上記で指摘したように、特定のレンダリング・オブジェクト808は管理報告を提供し、トランスポート・クライアント812へも同様に報告を返す。レンダリング・オブジェクト808のオブジェクトは、スケジューラ806からの信号に応答して特定のレンダリング・オブジェクト808のインスタンスを生成するためのルーチンを含む。一旦ワーク・キュー810に入ると、スケジューラは、レンダリング・オブジェクト808を呼び出し、ワーク・キュー810のワーク・アイテムに参照を提供することによって実行を開始する。レンダリング・オブジェクト808は、レンダリング・オブジェクト808に必須のデータ、具体的にはカーゴを抽出する。例えば、レンダリング・オブジェクト808は、レンダリング・オブジェクト808が対応するワーク・アイテムを含めてレンダリング・・オブジェクトのインスタンスを識別するための情報をまず取り出す。「sInformation」パラメータと称されるデータ構造にデータが入力され、将来の使用のためにレンダリング・オブジェクト808を識別するためのこの情報を保持する。次に、レンダリング・オブジェクト808は、1)無操作−データまたはカーゴをレンダリング・オブジェクト808を介して単に渡すだけであり、そのデータを実質的に変更したり、それを使用してプロセスを実行したりしない、2)クエリ操作−データベース・クエリの基礎として要求からのデータまたはカーゴを使用し、指定されたデータベース上でそのクエリを実行し、その結果を戻すこと、を実行することによってデータをファイルにレンダリングする。さらに、特定の実施形態では、レンダリング・オブジェクト808の結果に対する出力パラメータを、プリンタまたは他の出力装置に供給することができる。これは、レンダリング・オブジェクトが結果を指定されたプリンタに直接的に出力するのではなく、トランスポート・クライアント812が入力することができ、それによって、レンダリング・オブジェクト808の出力を処理するためにニーズをトランスポート・クライアント804にバイパスする、手動による上書きの形式である。第2のモジュール312の操作を、図5を参照しながら以下でより詳細に説明する。
【0046】
第3のモジュール314は、1つまたは複数のレンダリング・オブジェクト808と、レンダリング・オブジェクト808を実行するためのルーチンとを含む。具体的には、第3のモジュール314内のレンダリング・オブジェクト808は、第2のモジュール312によってデータベースから抽出されたデータに規則を適用または執行することを担当するプロセスである。レンダリング・オブジェクト808のそれぞれは、ネット・トランスポート・アプリケーション308を使用するアプリケーション・プログラムである。レンダリング・オブジェクト808は、そのレンダリング・オブジェクト808に特別のビジネス規則を、第2のモジュール312によって戻されたデータと照合するプログラムである。例えば、システム100が保険の見積金額を提供するように構成されている場合、レンダリング・オブジェクト808によって執行されるべき典型的な規則には、保険対象物および/または申込者が、保険業者が合法的に補償を引き受ける権限が与えられるエリア内に位置しているかどうかを判定すること、所与の住所がその位置または保険対象物に関して適切かどうかを判定すること、保険対象物がエージェントのテリトリに含まれているかどうかを判定すること、保険対象物が、保険業者が積極的に請け負おうとするタイプであるかどうかを判定することが含まれる。さらに、当業者ならば、データベース上でクエリを実行し、次いでファイルに記憶されており対応するワーク・アイテム内で識別される結果を生成するためにビジネス規則を適用して、レンダリング・オブジェクト808と、抽出を行うレンダリング・オブジェクト808を組み合せて単一オブジェクトにすることができるということを理解するだろう。第3のモジュール314の操作も、図6を参照しながら以下で詳細に説明する。
【0047】
第4のモジュール316は、データが提示される媒体に対して適切になるようにデータをフォーマットするルーチンを好適に含む。例えば、データがファックスとして提示される場合、ページにマージンがセットされなければならず、他のフォーマット変換と同様に位置調整とページ編集を適用しなければならない。第4のモジュール316は、1つまたは複数のトランスポート・オブジェクト804と、トランスポート・オブジェクト804を実行するためのルーチンを含む。具体的には、第4のモジュール316内のトランスポート・オブジェクト804は、第3のモジュール314のレンダリング・オブジェクト808によって戻される情報のフォーマットと配信の表示を生成することを担当するプロセスである。トランスポート・オブジェクト804のそれぞれは、ネット・トランスポート・アプリケーション308を使用するアプリケーション・プログラムである。トランスポート・オブジェクト804は、スケジューラ806からデータを受信するプログラムであり、そのデータを、トランスポート・オブジェクトのルーチンが指定する提示フォーマットでフォーマットし、そのデータをトランスポート・オブジェクト804で指示される方法で配信する。例えば、ネット・トランスポート・アプリケーションは、レンダリング・オブジェクトが生成する文書を配信するためのローカル資源を使用しても、または他のサーバが提供する他の配信機構を使用するためのネットワーク接続を使用してもよい。トランスポート・オブジェクト804は、ローカル・コンピュータ・システム上にはなく、遠隔システム上に常駐する資源をルーティング・テーブル802を用いて使用することができる。資源の可用性に基づく適切な時点、または指定した所定の時点で、トランスポート・オブジェクト804は、指定された方法で指定された宛先に文書を送信する。好適には、ファックス用に1つ、電子メール用に第2のもの、ページャー用に第3ものという具合に、配信のタイプごとに1つのトランスポート・オブジェクト804がある。同様に、トランスポート・オブジェクト804のそれぞれは、所定の受信側または受信側のグループに対するものであってよい。そのようなオブジェクトの使用は、トランスポートまたは配信をデータの処理から有利に分離する。各トランスポート・オブジェクト804が特別のタイプの配信技術に適合するドライバを含むので、これは有利である。これによって、オブジェクトを再利用することができ、また、新しいオブジェクトをコンテンツ配信の新しい技術に対して簡単に書くことができるようになる。例えば、新しいドライバまたは複数のドライバは、他のオブジェクト812、808が作成された時点で存在しなかった技術を利用するために書くことができる。したがって、異なるファックスのサーバがシステムに追加される場合、ドライバだけを書けばよく、システム100は完全に動作可能である。第4のモジュール316の操作も、図7を参照して以下でより詳細に説明する。
【0048】
C.モジュールおよびその対話
次に図8を参照すると、オブジェクト804、808、812、およびモジュール310、312、314、316の対話がより詳細に説明されている。図5は、本発明によるマスター・スケジューラ806、ワーク・キュー810、ルーティング・テーブル802および複数のトランスポート・クライアント812a−n、レンダリング・オブジェクト808a−n、およびトランスポート・オブジェクト804a−n間の相関を示す略図である。本発明は、要求のサブミットと、応答文書の作成、およびその応答文書の配信を対象とするものである。
【0049】
複数のトランスポート・クライアント812a−nは様々なユーザと対話するために使用される。トランスポート・クライアント812a−nは、要求を満たすために必須の情報を収集する。各要求は、クライアント・コンピューティング・デバイスでユーザが入力する必要のあるいくつかの所定の情報を有する。トランスポート・クライアント812a−nは、ユーザ・インターフェースを表示し、要求が必要とする情報が確実に入力されるようにスクリプトと他のルーチンを実行する。上記で指摘したように、そのような情報は、顧客名、販売または保証されるべきアイテム、要求される特定のアイテムなどを含むことができる。一旦情報が入力されると、トランスポート・クライアント812a−nは、ワーク・アイテムと称されるデータ構造を作成し、そのワーク・アイテムをワーク・キュー810に追加するためにマスター・スケジューラ806に送信する。例示的一実施形態では、ワーク・アイテムは、1)直接データ項目またはそのデータを含むファイルへの参照のどちらかとして要求を満たす際に使用されるべきデータ、2)住所、ファックス番号、または電子メールのアドレスなどのデータに対する宛先、3)レンダリング・オブジェクト、4)データをどのようにして配信するかを指定するトランスポート・オブジェクトまたは機構、5)レンダリング要求が実行されるべきサービスを提供するサーバまたはコンピュータ−スケジューラは、その要求を引き受け、必須のプログラムを実行し、かつ/または必須のデータにアクセスするのに十分なレベルの特権を有するサーバ上でその要求が実行されることを確認する、6)ワーク・アイテムをサービスする際の優先順位を含む。
【0050】
ワーク・キュー810は、ワーク・アイテムを記憶するためのメモリの一部である。ワーク・キュー810は、ワーク・アイテムに関する上記項目のすべてと、ワーク・アイテムの状況を記憶するネット・トランスポート・システム内の別のデータ構造である。状況は、ワーク・アイテムが完全であるかあるいは資源を待っているか、および処理にエラーがあるかどうかを含む。
【0051】
マスター・スケジューラ806は、ネット・トランスポート・アプリケーションの主要部分であり、ワーク・キュー810のアイテムを検査し、それらが適切な順序で提供されるようにする。ワーク・キュー810のアイテムのそれぞれは、アイテムがトランスポート・クライアント812a−nによってワーク・キュー810に追加されたかどうか、処理するためにレンダリング・オブジェクト808a−nに送信されたかどうか、レンダリング・オブジェクト808a−nによって処理されたものとして戻されたかどうか、処理するためにトランスポート・オブジェクト804a−nに送信されたかどうか、配信されたものとしてトランスポート・オブジェクト804a−nによって戻されたかどうかを示す1つまたは複数の状況フラッグを有する。
【0052】
実際に、処理は、トランスポート・クライアント812a−nがワーク・アイテムとして要求をフォーマットしてサブミットし、それをワーク・キュー810に追加するというように進む。マスター・スケジューラ806は、ワーク・アイテムを検査し、レンダリング・オブジェクト808a−nのどれかが使用可能である場合、どれがワーク・アイテムを処理するかを決定する。供給された際にデータが送信する準備ができていることを示すヌル・レンダリング・オブジェクト808a−nを供給することができる。ワーク・キュー810のワーク・アイテムの状況は、レンダリング・オブジェクト808a−nによって現在処理中であることを反映するように変更される。レンダリング・オブジェクト808a−nは、データベース照会を作成し、ビジネス規則を含み、執行する。一旦すべてのデータベース照会が行われ、レンダリング・オブジェクト808a−nによってビジネス規則が確認されると、レンダリング・オブジェクト808a−nは、さらなる処理のために正確かつ適切な情報を戻し、それにワーク・キュー810内のアイテムを関連付ける。
【0053】
レンダリング・オブジェクト808a−nが、特定のレンダリング・オブジェクト808a−nによって定義されるようにデータの抽出と、ビジネス規則の適用を終了すると、適切なデータがワーク・キュー810内のワーク・アイテムに関連付けられる。伝送の準備ができていることをマークするためにその状況が更新される。資源の可用性とワーク・キュー810内のアイテムの優先順位に基づいて適切な時点で、アイテムはトランスポート・オブジェクト804a−nにサブミットされる。トランスポート・オブジェクト804a−nはフォーマットされたデータを伝送するために適切な機構に転送する。トランスポート・オブジェクト804a−nは資源を使用することができるが、それはローカル・コンピュータ・システム上にはなく、遠隔システム上に常駐する。トランスポート・オブジェクト804a−nは、ワーク・アイテムを扱うためのローカル資源があるかどうか、またはワーク・アイテムはネットワーク上の別のコンピューティング・デバイスまたはサーバによって扱われるかどうかを知るために、そのルーティング・テーブル802を閲覧する。さらに、ある位置に向かっているトラフィックを別の位置に配信することができるように、プログラム制御下でルーティング・テーブル802を変更することができる。例えば、電子メールのトラフィックは、代わりの電子メール・ボックスに送信したり、ファックスで送信したり、ページャーで送信したりすることができる。好ましい実施形態では、配信機構のタイプごとにトランスポート・オブジェクト804a−nがある。例えば、第1のトランスポート・オブジェクト804aはファクシミリによる伝送用であり、第2のトランスポート・オブジェクト804bは電子メールによる伝送用であり、第3のトランスポート・オブジェクト804cはページャーによる伝送用であり、第4のトランスポート・オブジェクト804dは印刷による伝達用である。当業者ならば、新しい伝達機構にトランスポート・オブジェクト804を追加するだけで新しい伝送技術を提供することができるので、本発明がこの方法で柔軟性を提供していることを理解するだろう。例えば、「文書」を配信するための方法がその文書を音声に変換し、次いでそれを電話を介して出力することによる場合、新しいトランスポート・オブジェクト804は、文書の作成、処理および配信システム全体を書き直すことを必要とせずに、このような新しい伝送技術を提供するために書くことができる。
【0054】
本発明の応用例の一例は、保険料率と保険の規約に関する見積書の生成にある。添付説明書を一般的に含む見積書は、データベースから取られた住所および名前によって生成される。保険契約を価格設定するために、評価付け係数がデータベースから取り出され、検証に組み込まれる。顧客に対する最終価格には販売代理店への手数料が含まれるので、代理店は最終的な見積金額に代理店自体の手数料(若干の許容範囲内で)を組み込むためにその手数料を供給することができるようになる。単純な場合、これらの文書は郵送用に印刷される。より複雑な場合には、その文書をファックスで送信することができる。ファックス送信のプロセスは、1つの機械による文書内容の生成と、第2の機械によるFAXイメージのレンダリング(テキスト・ベースの文書からビット・マップのイメージへの変更)と、第3の機械によるそのイメージの伝送と、最後に第4の機械によるその文書のイメージの達成(法的理由で)とを必要とする。このプロセスは本発明によって自動化され、そこでは印刷された文書の配信のためにトランスポート・クライアント804が提供され、ファックスで文書を送信するために第2のトランスポート・オブジェクト804が提供される。ファックス文書のコピーを達成し、添付説明書を生成し、保険見積金額を設定し、手数料を調整するためにレンダリング・オブジェクト800が提供される。最後に、販売代理店から情報を収集し、配信方法を指定するトランスポート・クライアント812と、データ上で操作すべきレンダリング・オブジェクト808が提供される。システム100によって作成された文書の一例を付録Aに示す。
【0055】
本発明の応用例の別の実施例は、受託製作の機械工場が機能するための見積金額を提供することである。作業場は、製作すべき品目を記述した図面を顧客から受け取る。従来技術の手法は次の通りである。作業場は「材料表」(製作されるべき部品ごとの図面セットの一部である)を使用して、その部品にはどの材料が必要かを検索する。その材料に価格が設定され、見積金額の主要部分を形成するためにその価格が集計される。この部分は見積金額全体を形成するものではないが、見積書の重要な部分である。これは文字通りに部品目録で項目を検索し、帳簿用紙に値段を記入し、その値段を手動で合計することによってしばしば手動で行われる。材料の価格を検索する他、材料は大量になると一般にコストが嵩むので、ディスカウントを適用しなければならない。本発明では、このプロセスは次のように合理化される。ローカル・ワークステーション112で実行中のトランスポート・クライアント812は、材料表を含む情報を、その材料表をシステムに入力するユーザを介して獲得する。一旦データが入力されると、そのデータは処理のためにワーク・キュー810に入れられる。マスター・スケジューラ806はキュー810内のワーク・アイテムを発見する。トランスポート・クライアント812a−nとして動作するワークステーション114が複数あるので、ワーク・キュー810には複数のアイテムがある場合がある。マスター・スケジューラ806は、要求をレンダリング・オブジェクト808aに向けるが、これは、データがどのようにトランスポートされるべきかをスケジューラ806に対して識別するトランスポート・オブジェクト804aを使用して行われる。レンダリング・オブジェクト808aは、要求を検査し、データベースからコストを取り出し、それらの値を生成されている電子文書に入れ、データベースで発見されたコストに利幅に関するビジネス規則を適用し、文書に関するビジネス規則を適用するためのルーチンを好適に含む。必要な値がデータベースで見つからない場合、レンダリング・オブジェクト808aは、欠けているオブジェクトを獲得するために、その要求を処理する目的で別のレンダリング・オブジェクト808b(例えば、購入側代理店のコンピュータ上の別のレンダリング・オブジェクト)に転送してもよいし、そのアイテムを未処理のまま戻してもよい。
【0056】
D.方法
次に図9および4〜7を参照すると、本発明の方法およびプロセスがより詳細に説明されている。
【0057】
要求を処理するための全般的な方法は、まず図9を参照して説明され、また図8を参照して説明される。方法は、ユーザからデータを獲得することによってステップ902から始まる。具体的には、ユーザ・インターフェースを提示し、ユーザに要求を処理するために必須のデータをシステムに入力させるためにトランスポート・クライアントが使用される。次にステップ904で、方法は、獲得したデータを使用してデータベースから情報を抽出する。これは、獲得したデータを使用してクエリを生成し、そのクエリをデータベースに適用するレンダリング・オブジェクトによって行われることが好ましい。次いでステップ906では、いくつかのビジネス規則が、ステップ904でクエリによって戻されたデータに適用される。ここでもまた、レンダリング・オブジェクトはビジネス規則の適用を実行する。一旦レンダリング・オブジェクトがビジネス規則に従ってデータを変更すると、その結果生じたデータは表示用にフォーマットされ、元の要求からの別の情報と組み合わされ、次いでトランスポート・オブジェクトを使用して受信側に送信される。
【0058】
次に図4を参照すると、第1のモジュール310を使用して、データをクライアント・コンピューティング・デバイス112から獲得するための好ましい方法が示されている。このプロセスは、ユーザ・インターフェース(UI)またはコンピュータ112の表示装置200上の画面を提示することによってステップ402から始まる。次に、モジュール310およびトランスポート・クライアント812は、ユーザ・インターフェースの一部を形成するフィールドにデフォルト値を入力する404。次いでステップ406で、ユーザはデータを入力し、その入力されたデータとフィールドが処理される。データが適切なタイプまたは適切なフォーマットであることを確認するためにトランスポート・クライアント812によって実行される最低限の検証がある。ステップ406の後、方法は、ステップ406で最終フィールドが処理されたかどうか、またはユーザがサブミット・コマンドを入力したかどうかをテストする。NOの場合、プロセスはステップ406に戻って次のフィールドを処理する。YESの場合、プロセスはステップ410に進んで各データ・エレメントをキューに入れるためにフォーマットする。データは、タブ区切り、固定フィールド、またはトランスポート・クライアント812にセットされている他のフォーマットに適合する固定フィールドのように好適にフォーマットされる。次いで、データ・エレメントはキューに入れるためにワーク・アイテムとして集められる。データ・エレメントの集合は、ワーク・アイテムを処理するレンダリング・オブジェクト808によって予想される順番にデータ・エレメントを並べる。最後に、トランスポート・クライアント812は、適切に順番付けされたデータ・エレメントを含むワーク・アイテムを作成するためにルーチンを実行し、ワーク・アイテムがワーク・キュー810に追加され、方法は完了する。
【0059】
次に図5を参照すると、第2のモジュール312を使用して情報を抽出する方法が説明されている。方法は、レンダリング・オブジェクト808がワーク・アイテムを受け取り、アクセスするステップ502で始まる。通常、スケジューラ806はワーク・アイテムを、さらなる処理のためにレンダリング・オブジェクト808に渡す。レンダリング・オブジェクト808は、次いでそのワーク・アイテムに対応するカーゴまたはデータを取り出す504。このカーゴはワーク・アイテムの一部として記憶してもよいし、またはそのカーゴを含んでいるファイルへの参照をワーク・アイテムが有するだけでもよい。次に、データベースが使用する言語に従ってクエリを生成する506ためにカーゴが使用される。次いで、生成されたクエリがワーク・アイテムで指定されたデータベースに適用される508。これは、情報を管理するために、Microsoft SQL サーバ、OracleおよびDB2などのいかなる既存のデータベース管理プログラムを使用しても行うことができ、レンダリング・オブジェクト808は、データがローカルに記憶されていても遠隔に記憶されていても、そのデータにアクセスする標準(業界規模の)またはメーカ独自の方法を含むことができる。クエリの結果が次いでファイルに記憶され510、そのファイルへの参照がワーク・アイテムに追加される。ワーク・アイテムは次いでさらなる処理のためにワーク・キュー810に戻される。
【0060】
次に図6を参照すると、第3のモジュール314を使用して抽出された情報に規則を適用するための好ましい方法が説明される。このプロセスは、レンダリング・オブジェクト808がソースからデータを取り出すステップ602から始まる。この場合、操作のためのデータのソースは、別のレンダリング・オブジェクト808によって戻されたデータ、クエリの結果、システム上のレジスタ、またはファイルから取り出されたデータであってよい。プロセスは、レンダリング・オブジェクトのルーチンの一部として表現されるビジネス規則をステップ602からのデータにまず適用する604ことによって続けられる。規則はプログラム・エレメントとして適用することができる(値が指定した範囲内にあることをテストする)。これらの範囲は値としてプログラム(レンダリング・モジュール)に組み込むことができる。次いでステップ606で、方法は、データにビジネス規則を適用した結果として生じる規則違反があるかどうかを判定する。違反がある場合、方法はステップ608に進む。ステップ608で方法はその違反を処理する。このような処理には、1)欠けているデータに入力するためにワーク・アイテムを別のレンダリング・オブジェクト808に送信すること、2)そのワーク・アイテムをトランスポート・クライアントに戻すこと、または3)エラー状況を信号で示すことが好適に含まれる。ステップ606で規則違反が見つからなかった場合、方法はステップ610で、データベースでパラメータ化したビジネス規則を適用することを続ける。これには、データベースのクエリとビジネス規則の適用が必要となる。ビジネス規則に関する値は、ステップ602からのデータに適用される前に取り出される必要のある、データベースに記憶されているパラメータであってよい。このようなパラメータ化された値はデータベースから取り出すことができ、それによってレンダリング・オブジェクト808を変更せずに値を変更することが容易になるので、このようなパラメータ化された値は有利である。再びステップ612では、方法は、ステップ610によってもたらされた規則違反があるかどうかを判定する。違反がある場合、方法は終了する前にステップ608に進む。違反がない場合、方法はステップ614で、データベースで制約として表現されたビジネス規則を適用することを続ける。規則は、上述のように、リレーショナル・データベースで制約として構築することができる。規則は、抽出モジュールから入力された他の値、またはデータベースの変数に基づいて計算された制限などの任意の複雑な記述を指定することができる。この関係は、制約を指定するための方法を設定するためにも使用することができる。例えば、申込者の郵便番号は、代理店が取引を引き受けることを許可されている場所の郵便番号の集合の構成要素でなければならず、また、企業が取引を引き受けることを許可されている場所の郵便番号の集合の構成要素でなければならない。ある取引の方針に対する保険対象物の郵便番号は、そのタイプの取引に保険をかけることが禁止されている場所の郵便番号であってはならない。住所の都市および州は郵便番号に該当しなければならない。ステップ614の後、方法は再び規則違反についてテストする。規則違反が見つかると、方法はステップ608で続行する。規則違反が見つからない場合、方法は、別のオブジェクトを処理するために、規則を適用した後でステップ602のデータ取り出しの結果を含めてワーク・アイテムをワーク・キュー810に戻す。当業者ならば、図6の方法は便宜上単一の方法として記述されているが、部分A、B、Cはそれだけで、ステップ602、608、および618と共に1つの方法を形成することができることを理解するだろう。さらに、部分A、B、Cはいかなる順番でも実行することができ、また何回でも実行または反復することができることも理解されたい。
【0061】
次に図7を参照すると、第4のモジュール316とトランスポート・オブジェクト804を使用してコンテンツを配信するための好ましい方法が示されている。方法は、ワーク・アイテムが処理中であることを示すためにそのワーク・アイテムの状況をトランスポート・オブジェクト804が更新するステップ702から始まる。次いでワーク・アイテムまたはそのカーゴまたは結果は、それが送信される媒体に適切なようにフォーマットされる704。それぞれの異なる媒体は異なるフォーマットを有する。次いでワーク・アイテムが媒体を介して処理するためにサブミットされる706。各媒体がサービスする複数のスレッドがあり、したがって、資源が使用可能でない可能性を低減することが好ましい。次いでステップ708では、方法は、ワーク・アイテムが成功裏に送信されたかどうかを監視する。そのアイテムがまだ処理中の場合、方法はステップ708にループして戻る。処理中にエラーがあるか、またはタイムアウトの場合、方法はステップ710に進み、エラーを示すようにワーク・アイテムの状況を変更し、方法は終了する。送信が成功した場合、方法は、送信が成功したことを示すようにワーク・アイテムの状況を変更し、方法は終了する。
【0062】
次に図10を参照すると、ワーク・キュー810とマスター・スケジューラ806を使用して情報要求を処理するための好ましい方法の流れ図が記述されている。このプロセスは、マスター・スケジューラ806がワーク・キュー810の先頭のワーク・アイテムを取り出すこと1002から始まる。次いで方法は、レンダリング・オブジェクト808がワーク・アイテムを処理したかどうかをテストする1004。処理した場合、レンダリング・オブジェクト808の結果を配信することができ、プロセスはステップ1006で、ルーティング情報がルーティング・テーブル802から取り出されることを続ける。ステップ1008で、スケジューラ806は、識別された媒体を介して送信するためにワーク・アイテムの結果をフォーマットし、ステップ1010で、スケジューラ806は、そのワーク・アイテムを送信するためにオペレーティング・システムの資源を呼び出す。
【0063】
ステップ1004でワーク・アイテムがレンダリング・オブジェクト808によって未処理であると識別されると、スケジューラはワーク・アイテムで識別されたレンダリング・オブジェクト808が、処理するために別のワーク・アイテムを受理できるかどうかを判定する1012。受理できる場合、スケジューラ806は、トランスポート・オブジェクト804を使用してレンダリング・オブジェクト808にワーク・アイテムを送信する1014。ステップ1012または1014の後、スケジューラ806はこのワーク・アイテムがワーク・キュー810の最後であるかどうかをテストする。最後でない場合、スケジューラ806は、ワーク・キュー810内の次のワーク・アイテムを取り出し、ステップ1012で処理を続行する。このワーク・アイテムがワーク・キュー810の最後である場合、方法はステップ1002に戻り、キュー810の先頭から処理を開始する。
【0064】
E.ユーザ・インターフェース
次に図11〜15を参照すると、本発明のシステム100を操作するために提供されているいくつかのユーザ・インターフェースが示される。
【0065】
図11に、クライアントのコンテンツを配信するときにシステム100が使用する基本的な設定を管理者が構成することができるようにするサーバ・タブのユーザ・インターフェースを示す。システム100は、すべての提出とその配信状況を所定の間隔で記述するトランスポーテーション・ログを出力する。この画面の右下には、システム100の現在の状況が表示されている。ここで1つでも変更が行われるとそれはシステム100を停止し、変更を適用し、「適用」ボタンが押し下げられるといつでもシステム100を再スタートする。「最大スレッド」設定のオプションは、1つから255のスレッドを同時に実行することを可能にする。
【0066】
図12は、システム管理者がメール配信するための電子メール・ドライバ(デフォルトのトランスポート・オブジェクト804)の使用と、デフォルトのルーティング(IISサーバの名称)とを設定することができるようにするユーザ・インターフェースを示す。
【0067】
図13は、システム管理者が正確なアカウント、請求コードおよびファックスのコンテンツを配信するために使用されるべきトランスポート層を入力することができるようにするユーザ・インターフェースを示す。これは、デフォルトのトランスポート・オブジェクト804を設定する別の方法である。
【0068】
図14は、システム管理者が、印刷サブミッションがデフォルトで印刷内容を伝達する時点になるデフォルト・プリンタを選択することができるようにするユーザ・インターフェースを示す。
【0069】
図15は、システム管理者が、ページャーのコンテンツを配信するときに使用すべきデフォルト・ドライバを選択することができるようにするユーザ・インターフェースを示す。
【0070】
本発明は特定の好ましい実施形態を参照しながら説明したが、当業者ならば、様々な修正形態を提供することができること理解するだろう。好ましい実施形態への変形形態と修正形態は本発明によって提供されるが、これは頭記の特許請求の範囲によってのみ限定されるものである。
【0071】
付録A
システム100により生成される文書の例
【0072】
【表1】
【0073】
【表2】
【0074】
【表3】
【0075】
【表4】
【0076】
【表5】
【0077】
【表6】
【図面の簡単な説明】
【図1】
本発明が動作するシステムの好ましい実施形態のブロック図である。
【図2】
本発明を含む計算装置の好ましい実施形態のブロック図である。
【図3】
図2の装置のメモリ・ユニットの好ましい実施形態のブロック図である。
【図4】
クライアント計算装置から第1のモジュールを使用してデータを取得するための好ましい方法の流れ図である。
【図5】
第2のモジュールを使用して情報を抽出するための好ましい方法の流れ図である。
【図6】
抽出された情報に第3のモジュールを使用して規則を適用するための好ましい方法の流れ図である。
【図7】
第4のモジュールおよびトランスポート・オブジェクトを使用して内容を引き渡すための好ましい方法の流れ図である。
【図8】
モジュール間の対話を示す、本発明によるシステムの機能ブロック図である。
【図9】
本発明による、情報要求に対する応答を生成する好ましい方法の流れ図である。
【図10】
ワーク・キューおよびマスタ・スケジューラを有するシステムのための、本発明による情報要求を処理するための好ましい方法の流れ図である。
【図11】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
【図12】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
【図13】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
【図14】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
【図15】
本発明によるシステムの動作態様を改変するためのユーザ・インタフェースを示す表示装置画面のグラフである。
Claims (17)
- ドキュメントを作成し、引き渡すための方法であって、
情報要求を受け取るステップと、
情報要求に関するデータを取得するステップと、
取得したデータを使用してデータを抽出するステップと、
結果データを作成するために、抽出したデータに規則を適用するステップと、
情報要求によって指定されている場所に、情報要求によって指定されている方式で結果データを伝送するステップと、
を含む方法。 - 取得したデータを使用して情報要求をワーク・アイテム中にフォーマットするステップをさらに含む、請求項1に記載の方法。
- ワーク・アイテムが、
ファイルの参照と、
表示可能な結果に対する宛先と、
表示可能結果の引渡し方法を指定するトランスポート機構と、
抽出ステップおよび適用ステップを実行するためのレンダリング・オブジェクトと、
レンダリング・オブジェクトを実行すべきサーバの名称と、
ワーク・アイテム相互の実行順序を示すワーク・アイテム優先順位と、
からなるグループのうちの1つを備える、請求項2に記載の方法。 - ワーク・アイテムが、抽出ステップ、適用ステップ、処理ステップおよび伝送ステップで使用される、請求項2に記載の方法。
- 情報要求に関するデータを取得するステップが、
ユーザ・インタフェースを表示するステップと、
デフォルト値を提供するステップと、
少なくとも1つのフィールドに対する入力を受け取るステップと、
キューイングのためにデータ・エレメントをフォーマットするステップと、
データ・エレメントをワーク・アイテム中にアセンブルするステップと、
ワーク・アイテムをワーク・キューに追加するステップと、
を含む、請求項2に記載の方法。 - データを抽出するステップが、
ワーク・アイテムを受け取り、かつアクセスするステップと、
取得したデータをワーク・アイテムから検索するステップと、
問合せ生成するために取得したデータを使用するステップと、
問合せをデータベースに適用するステップと、
問合せの結果をワーク・アイテムの一部として保管するステップと、
を含む、請求項2に記載の方法。 - 抽出したデータに規則を適用するステップが、
抽出データをソースから受け取るステップと、
レンダリング・オブジェクトに指定されているオペレーションを実行することにより、検索データに規則を適用するステップと、
抽出したデータが規則違反しているかどうかを判定するステップと、
判定の結果、抽出したデータが規則違反している場合、他のレンダリング・オブジェクトを使用してワーク・アイテムを処理するステップとを含む、請求項2に記載の方法。 - 抽出したデータに規則を適用するステップが、
抽出データをソースから受け取るステップと、
データベースを探索し、かつ探索した結果を、抽出したデータに規則を適用するパラメータとして使用することにより、検索したデータに規則を適用するステップと、
抽出したデータが規則違反しているかどうかを判定するステップと、
判定の結果、抽出したデータが規則違反している場合、他のレンダリング・オブジェクトを使用してワーク・アイテムを処理するステップとを含む、請求項2に記載の方法。 - 結果データを受け取るステップと、
表示可能な結果を生成するために、結果データを処理するステップと、
をさらに含み、結果データを伝送するステップが、移送媒体に適合した表示可能結果を伝送するステップである、請求項1に記載の方法。 - ドキュメントの組立て、処理および引渡しを自動化するためのシステムであって、
データを取得し、ワーク・アイテムを生成するためのトランスポート・クライアントを有する第1のモジュールと、
取得したデータにビジネス規則を適用し、結果データを生成するための第2のモジュールであって、ワーク・アイテムを受け取るために第1のモジュールに結合された第2のモジュールと、
結果データからドキュメントを作成し、かつ伝送するための第3のモジュールであって、ワーク・アイテムを受け取るために第2のモジュールに結合された第3のモジュールと、
を備えるシステム。 - 取得したデータをデータベースに適用することによって問合せデータを生成する第4のモジュールをさらに備え、第4のモジュールの入力が、第1のモジュールからワーク・アイテムを受け取るように結合され、かつ第4のモジュールが、第3のモジュールにワーク・アイテムを出力するように結合され、第3のモジュールが、ドキュメントを作成し、かつ伝送するための結果データとして問合せデータを使用する、請求項10に記載のシステム。
- ワーク・アイテムを受け取るために、第1のモジュール、第2のモジュールおよび第3のモジュールに結合された、ワーク・アイテムを保管するためのワーク・キューと、
ワーク・アイテムを処理し、ワーク・アイテムの状態を判断し、かつワーク・アイテムを第2のモジュールおよび第3のモジュールに送るための、ワーク・キューに結合されたスケジューラと、
をさらに備える、請求項10に記載のシステム。 - 第1のモジュールが、ワーク・アイテムを保管するためにワーク・キューに結合されたワーク・クライアントをさらに備え、ワーク・クライアントがデータを取得し、かつデータからワーク・アイテムを作成する、請求項10に記載のシステム。
- 第2のモジュールが、ワーク・キューからワーク・アイテムを受け取り、かつワーク・アイテムをワーク・キューに保管するためにワーク・キューに結合された、結果データを生成するために取得したデータにビジネス規則を適用するためのレンダリング・オブジェクトをさらに備える、請求項10に記載のシステム。
- 第4のモジュールが、ワーク・キューからワーク・アイテムを受け取り、かつワーク・アイテムをワーク・キューに保管するためにワーク・キューに結合された、データベースに対する問合せを生成かつ適応し、また、問合せ結果をワーク・アイテムに追加するためのレンダリング・オブジェクトをさらに備える、請求項11に記載のシステム。
- 第3のモジュールが、ワーク・キューからワーク・アイテムを受け取るためにワーク・キューに結合されたトランスポート・オブジェクトをさらに備え、トランスポート・オブジェクトが、ドキュメントを送るために対応する引渡し機構に結合され、トランスポート・オブジェクトがワーク・アイテムを受け取り、結果データを引渡し機構に適したドキュメントに変換し、かつ引渡し機構を介してドキュメントを伝送する、請求項10に記載のシステム。
- 第3のモジュールに結合された、資源割当て、資源利用性、ローカルまたはリモート処理、および処理時間のための情報を有するルーティング・テーブルをさらに備え、
第3のモジュールのトランスポート・オブジェクトがルーティング・テーブルを使用して、ドキュメントを伝送するための引渡し機構を使用する時間および引渡し機構のタイプを決定する、請求項16に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18283900P | 2000-02-16 | 2000-02-16 | |
PCT/US2001/005284 WO2001061569A2 (en) | 2000-02-16 | 2001-02-16 | A system and method for automating the assembly, processing and delivery of documents |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004504651A true JP2004504651A (ja) | 2004-02-12 |
JP2004504651A5 JP2004504651A5 (ja) | 2005-01-20 |
Family
ID=22670260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001560884A Pending JP2004504651A (ja) | 2000-02-16 | 2001-02-16 | ドキュメントの組立て、処理および引渡しを自動化するためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (4) | US20020049767A1 (ja) |
EP (1) | EP1402405A2 (ja) |
JP (1) | JP2004504651A (ja) |
AU (1) | AU2001238502A1 (ja) |
CA (1) | CA2400296A1 (ja) |
WO (1) | WO2001061569A2 (ja) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681246B1 (en) * | 2000-04-21 | 2004-01-20 | International Business Machines Corporation | Method, system, and program for automatically processing pushed information without subscriber involvement |
US7493292B2 (en) * | 2001-02-15 | 2009-02-17 | Glenn Petkovsek | System and a method for automating delivery of communication by a special service |
US6917953B2 (en) * | 2001-12-17 | 2005-07-12 | International Business Machines Corporation | System and method for verifying database security across multiple platforms |
US7631299B2 (en) * | 2002-01-24 | 2009-12-08 | Computer Sciences Corporation | System for modifying software using reusable software components |
US20030172367A1 (en) * | 2002-01-24 | 2003-09-11 | Robert Kannenberg | Method of modifying software via a network |
US7103835B1 (en) * | 2002-03-12 | 2006-09-05 | Movaris, Inc. | Process builder for a routable electronic document system and method for using the same |
US8099295B2 (en) * | 2003-02-04 | 2012-01-17 | Express Scripts, Inc. | Prescription creation and adjudication method |
US8396847B2 (en) * | 2003-06-17 | 2013-03-12 | Bank Of America Corporation | System and method to retrieve and analyze data for decision making |
US20060069679A1 (en) * | 2004-09-10 | 2006-03-30 | Percey Michael F | System for creating associative records |
US7600217B2 (en) * | 2004-12-14 | 2009-10-06 | Sap Ag | Socket-like communication API for Java |
US7593930B2 (en) * | 2004-12-14 | 2009-09-22 | Sap Ag | Fast channel architecture |
US7580915B2 (en) * | 2004-12-14 | 2009-08-25 | Sap Ag | Socket-like communication API for C |
US7672949B2 (en) * | 2004-12-28 | 2010-03-02 | Sap Ag | Connection manager having a common dispatcher for heterogeneous software suites |
US8140678B2 (en) * | 2004-12-28 | 2012-03-20 | Sap Ag | Failover protection from a failed worker node in a shared memory system |
KR100645537B1 (ko) * | 2005-02-07 | 2006-11-14 | 삼성전자주식회사 | 안정적인 패킷 포워딩을 위한 동적인 큐 관리방법 및 이를위한 네트워크 프로세서의 구성요소 |
US7392935B2 (en) | 2005-02-10 | 2008-07-01 | Wells Fargo Bank, N.A. | Method and apparatus for accepting check deposits via the internet using browser-based technology |
US9824183B1 (en) * | 2005-05-12 | 2017-11-21 | Versata Development Group, Inc. | Augmentation and processing of digital information sets using proxy data |
US7689660B2 (en) * | 2005-06-09 | 2010-03-30 | Sap Ag | Application server architecture |
US8032500B2 (en) * | 2005-08-22 | 2011-10-04 | Oracle America, Inc. | Dynamic sending policies and client-side disaster recovery mechanism for messaging communication |
US7773527B2 (en) * | 2005-08-22 | 2010-08-10 | Oracle America, Inc. | Method and system for dynamically changing quality of service for message communication |
US20070043825A1 (en) * | 2005-08-22 | 2007-02-22 | Jean Chouanard | Methods and systems for dynamically changing the transport protocol and envelope of a message communication system |
US20070214034A1 (en) * | 2005-08-30 | 2007-09-13 | Michael Ihle | Systems and methods for managing and regulating object allocations |
US20070177195A1 (en) * | 2005-10-31 | 2007-08-02 | Treber Rebert | Queue processor for document servers |
WO2007053717A2 (en) * | 2005-10-31 | 2007-05-10 | Captaris, Inc. | Universal document transport |
US8707323B2 (en) * | 2005-12-30 | 2014-04-22 | Sap Ag | Load balancing algorithm for servicing client requests |
TWI331260B (en) * | 2006-03-24 | 2010-10-01 | Avision Inc | Medium processing apparatus capable of managing queues |
EP2047360A4 (en) * | 2006-08-02 | 2013-03-13 | Open Text SA | CONFIGURABLE DOCUMENT SERVER |
US8134553B2 (en) * | 2007-09-24 | 2012-03-13 | Microsoft Corporation | Rendering three-dimensional objects on a server computer |
US8751929B2 (en) * | 2008-03-19 | 2014-06-10 | Universal Scientific Industrial (Shanghai) Co., Ltd. | Machine-implemented data conversion method for a bill of materials |
JP5219596B2 (ja) * | 2008-04-10 | 2013-06-26 | キヤノン株式会社 | ワークフロー管理装置、ワークフロー管理方法、及びコンピュータプログラム |
JP2009295008A (ja) * | 2008-06-06 | 2009-12-17 | Canon Inc | 文書管理装置、文書管理方法及びプログラム |
US10861104B1 (en) | 2008-07-21 | 2020-12-08 | Wells Fargo Bank, N.A. | System and method for configuring payment coupon processing |
US20100057498A1 (en) * | 2008-09-04 | 2010-03-04 | Stephen Gary D | Method and computer system for insurance claims recovery operation |
US9081616B2 (en) * | 2009-05-29 | 2015-07-14 | Lexmark International Technology, SA | System and method for adjusting a number of processing modules based on processing load |
US20100306005A1 (en) * | 2009-05-29 | 2010-12-02 | Perceptive Software, Inc. | Workflow Management System and Method |
US9916625B2 (en) * | 2012-02-02 | 2018-03-13 | Progressive Casualty Insurance Company | Mobile insurance platform system |
US8626538B1 (en) * | 2011-05-12 | 2014-01-07 | Risk Management Technologies, LLC | Insurance coverage management system |
US9904905B2 (en) * | 2012-12-05 | 2018-02-27 | Apttex Corporation | Document-based user interfaces controlled and managed by a system |
JP5911448B2 (ja) * | 2013-05-10 | 2016-04-27 | 株式会社日立製作所 | 移行支援装置、移行支援方法およびプログラム |
US20150154251A1 (en) | 2013-12-03 | 2015-06-04 | Ebay Inc. | Systems and methods to adapt search results |
CA2948836A1 (en) * | 2014-05-13 | 2015-11-19 | Wal-Mart Stores, Inc. | Systems and methods for cashier scheduling |
US10372553B1 (en) * | 2015-03-30 | 2019-08-06 | EMC IP Holding Company LLC | Parallel file restoration from a serialized storage device using a network data management protocol |
US10469333B2 (en) * | 2016-08-10 | 2019-11-05 | Rohde & Schwarze GmbH & Co. KG | Network analyzer systems and methods for operating a network analyzer |
US11126960B2 (en) * | 2018-10-22 | 2021-09-21 | Phoenix Innovations Llc | Intelligent disposition of returned assets |
KR102345974B1 (ko) * | 2020-12-29 | 2022-01-03 | 쿠팡 주식회사 | 다양한 상품들에 관한 데이터 관리 방법 및 이를 이용한 전자 장치 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5099431A (en) * | 1989-10-23 | 1992-03-24 | International Business Machines Corporation | Automated re-work shop order scheduling system |
US5696961A (en) * | 1996-05-22 | 1997-12-09 | Wang Laboratories, Inc. | Multiple database access server for application programs |
US5987434A (en) * | 1996-06-10 | 1999-11-16 | Libman; Richard Marc | Apparatus and method for transacting marketing and sales of financial products |
US5790790A (en) * | 1996-10-24 | 1998-08-04 | Tumbleweed Software Corporation | Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof |
US7580919B1 (en) * | 1997-03-10 | 2009-08-25 | Sonicwall, Inc. | Query interface to policy server |
US6963847B1 (en) * | 1998-09-18 | 2005-11-08 | I2 Technologies Us, Inc. | System and method for managing ATP data in a distributed supply chain planning environment |
US6789252B1 (en) * | 1999-04-15 | 2004-09-07 | Miles D. Burke | Building business objects and business software applications using dynamic object definitions of ingrediential objects |
US7124088B2 (en) * | 1999-07-30 | 2006-10-17 | Progressive Casualty Insurance Company | Apparatus for internet on-line insurance policy service |
US20040230566A1 (en) * | 1999-08-20 | 2004-11-18 | Srinivas Balijepalli | Web-based customized information retrieval and delivery method and system |
US6526408B1 (en) * | 1999-10-01 | 2003-02-25 | Sas Institute Inc. | System and method for in-process data record summarization and exception testing using virtual data records held in processor memory |
US6718330B1 (en) * | 1999-12-16 | 2004-04-06 | Ncr Corporation | Predictive internet automatic work distributor (Pre-IAWD) and proactive internet automatic work distributor (Pro-IAWD) |
US6526403B1 (en) * | 1999-12-17 | 2003-02-25 | International Business Machines Corporation | Method, computer program product, and system for rewriting database queries in a heterogenous environment |
US6810383B1 (en) * | 2000-01-21 | 2004-10-26 | Xactware, Inc. | Automated task management and evaluation |
US7925523B1 (en) * | 2000-09-11 | 2011-04-12 | Safeco Corporation | Method and system for providing insurance policies via a distributed computing network |
-
2001
- 2001-02-16 JP JP2001560884A patent/JP2004504651A/ja active Pending
- 2001-02-16 CA CA002400296A patent/CA2400296A1/en not_active Abandoned
- 2001-02-16 AU AU2001238502A patent/AU2001238502A1/en not_active Abandoned
- 2001-02-16 WO PCT/US2001/005284 patent/WO2001061569A2/en active Application Filing
- 2001-02-16 US US09/788,113 patent/US20020049767A1/en not_active Abandoned
- 2001-02-16 EP EP01910947A patent/EP1402405A2/en not_active Ceased
-
2005
- 2005-06-02 US US11/144,221 patent/US7788217B2/en active Active
-
2010
- 2010-08-27 US US12/870,630 patent/US8543593B2/en not_active Expired - Lifetime
-
2013
- 2013-09-23 US US14/034,299 patent/US9141614B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US20050223025A1 (en) | 2005-10-06 |
US20020049767A1 (en) | 2002-04-25 |
CA2400296A1 (en) | 2001-08-23 |
US7788217B2 (en) | 2010-08-31 |
US9141614B2 (en) | 2015-09-22 |
AU2001238502A1 (en) | 2001-08-27 |
WO2001061569A2 (en) | 2001-08-23 |
US20110054951A1 (en) | 2011-03-03 |
US20140122524A1 (en) | 2014-05-01 |
WO2001061569A3 (en) | 2003-12-24 |
EP1402405A2 (en) | 2004-03-31 |
US8543593B2 (en) | 2013-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004504651A (ja) | ドキュメントの組立て、処理および引渡しを自動化するためのシステムおよび方法 | |
US7941744B2 (en) | System and method for electronic document generation and delivery | |
US6968500B2 (en) | Automatic forms handling system | |
US8489519B2 (en) | Apparatus, systems and methods for online, multi-parcel, multi-carrier, multi-service enterprise parcel shipping management | |
CN102216926B (zh) | 远程基于web的文件生成系统和方法 | |
US8165934B2 (en) | Automated invoice processing software and services | |
US20010042032A1 (en) | System for capturing, processing, tracking and reporting time and expense data | |
US20020161733A1 (en) | Method of creating electronic prosecution experience for patent applicant | |
US20060173905A1 (en) | Database Driven Workflow Management System for Generating Output Material Based on Customer Input | |
EP0481784A2 (en) | Form automation system | |
US7203658B1 (en) | Methods and apparatus for processing order related messages | |
US20030208384A1 (en) | Agent appointment process via a computer network | |
US8024800B2 (en) | File attachment processing method and system | |
KR100339643B1 (ko) | 무역업무관리 시스템 및 방법 | |
WO2002097583A2 (en) | Inspection and audit process for shipped goods utilizing online global pricing system | |
US20020067723A1 (en) | Communication routing apparatus | |
US20020091540A1 (en) | Method and system for emergency assistance management | |
US20090216656A1 (en) | Method and System for Managing Vendor Information | |
US20030110140A1 (en) | Method for facilitating pricing, sale and distribution of fuel to a customer | |
US20040024783A1 (en) | System and method for managing measurement apparatuses | |
KR20210133783A (ko) | 무역 프로세스 관리 시스템 및 방법 | |
WO2000060518A1 (en) | Method and apparatus for facilitating communications between buyers and vendors | |
North et al. | Safety and fitness electronic records (SAFER) system: logical architecture document: working draft | |
JP2005284436A (ja) | ワークフロー作成システム | |
WO2002042878A2 (en) | Method of creating electronic prosecution experience for patent applicant |