(57)【要約】      （修正有）【課題】レガシー・システムで格納されるデータを、多数のウェブベースのアプリケーションで容易に利用する方法を提供する。【解決手段】ウェブベースのコンテンツを集積し提供するシステムであり、各々が生データを有する複数のサイロと、前記複数のサイロの生データを複数の高価値データフィードへ変換する複数のフィードレットと、前記複数の高価値データを受信して複合のコンポジットデータを生成する少なくとも１つのフューズレットとを有し、前記複合のコンポジットデータはウェブアクセス可能なフォーマットでありかつ前記複数の高価値データフィードの融合を示す。【選択図】図１
2007293838.tif 000002
【特許請求の範囲】
【請求項１】
ウェブベースのコンテンツのデータを集積し提供するシステムであって、
各々が生データを有する複数のサイロと、
前記複数のサイロの生データを複数の高価値データフィードに変換する複数のフィードレット（ｆｅｅｄｌｅｔ）と、
前記高価値データフィードを受信して複合のコンポジット・データ・フィードを生成する少なくとも１つのフューズレット（ｆｕｓｅｌｅｔ）であって、当該複合のコンポジット・データ・フィードはウェブアクセス可能なフォーマットであり、前記複数の高価値データフィードの融合を示すものである、前記少なくとも１つのフューズレットと
を有するシステム。
【請求項２】
請求項１記載のシステムにおいて、前記複数のフィードレットは、前記生データから情報のキー部分を抽出し、当該情報のキー部分を拡張して相関させることにより前記生データを変換するものである。
【請求項３】
請求項１記載のシステムにおいて、前記複数のフィードレットは、
前記複数のサイロのそれぞれの位置のパラメータを定義する設定モジュールと、
前記高価値データフィードのタギング方式と、
前記高価値データフィード用の出力フォーマットと、
記高価値データフィードが記述されているファイル・システム・ディレクトリを有するスタンドアローンのウェブサーバと
をさらに有するものである。
【請求項４】
請求項３記載のシステムのおいて、前記高価値データフィード用の出力フォーマットは、ＲＳＳフィード、ＸＭＬフィード、およびＨＴＭＬフィードから成る群から選択される形式の１つである。
【請求項５】
請求項１記載のシステムにおいて、前記複数のフィードレットのそれぞれはバッチモード・プロセスで実行され、前記複数のサイロの現状の監視が可能となるものである。
【請求項６】
請求項１記載のシステムにおいて、前記複数の高価値データフィードはウェブブラウザによりアクセス可能である。
【請求項７】
請求項１記載のシステムにおいて、前記複合のコンポジット・データ・フィードはウェブ・ブラウザによりアクセス可能である。
【請求項８】
請求項１記載のシステムにおいて、ウェブアクセス可能なフォーマットは、ＲＳＳフィード、ＸＭＬフィード、およびＨＴＭＬフィードから成る群から選択される１つの形式である。
【請求項９】
請求項１記載のシステムにおいて、前記少なくとも１つのフューズレットはバッチモード・プロセスで実行され、前記複数の高価値データフィードの現状の監視が可能となるものである。
【請求項１０】
請求項１記載のシステムにおいて、前記少なくとも１つのフューズレットは、さらに、インターネットを介して利用可能な少なくとも１つの他のＲＳＳデータフィードを受信し、当該ＲＳＳデータフィードと前記複数の高価値データフィードとを融合させて複合のコンポジット・データ・フィードを生成することをさらに有するものである。
【請求項１１】
請求項１記載のシステムにおいて、前記複合のコンポジット・データ・フィードを生成する前記複数の高価値データフィードの融合は、ターゲット情報スキーマおよび一連の融合基準に基づくものである。
【請求項１２】
請求項１記載のシステムにおいて、前記複数のフィードレットのそれぞれは、前記複数サイロのうちの少なくとも１つと通信するものである。
【請求項１３】
請求項１記載のシステムにおいて、前記複数のサイロは、前記複数のフィードレットのうちの少なくとも１つと通信するものである。
【請求項１４】
請求項１記載のシステムにおいて、このシステムは、さらに、
複数の複合コンポジット・データ・フィードを受信して第２の複合のコンポジット・データ・フィードを生成するための第２のフューズレットを有し、当該第２の複合のコンポジット・データ・フィードは、ウェブブラウザによりアクセス可能であり、前記複数の複合コンポジット・データ・フィードの融合を示すものである。
【請求項１５】
ウェブベースのコンテンツのデータを集積し提供する方法であって、
各々が生データを有する複数のサイロと通信する工程と、
複数のフィードレットにより、前記複数のサイロのそれぞれの生データを高価値データフィードへ変換する工程と、
少なくとも１つのフューズレットにより、前記複数の高価値データフィードを融合して複合のコンポジット・データ・フィードを生成するものである、前記融合する工程と、
前記複合のコンポジット・データ・フィードを直接インターネットに発行する工程と
を有する方法。
【請求項１６】
請求項１５記載の方法において、前記生のコンテンツ・データを変換する工程は、
前記ターゲット・データ・スキーマに従って一時データ構造を設定設定する工程と、
前記生のコンテンツ・データから情報のキー部分を抽出する工程と、
前記情報のキー部分を拡張し、相関する工程と、
前記情報の拡張され相関された部分を前記一時データ構造に挿入する工程と
をさらに有するものである。
【請求項１７】
請求項１６記載の方法において、前記ターゲット・データ・スキーマはターゲットＸＭＬスキーマである。
【請求項１８】
請求項１５記載の方法において、この方法は、さらに、
前記複数のフィードレットのそれぞれに対して、前記複数サイロの各々の位置、前記高価値データタギング方式、前記高価値のデータフィードの出力フォーマット、および前記高価値データフィードのファイル・システム・ディレクトリのパラメータを定義する設定設定プロパティをロードする工程と、
前記少なくとも１つのフューズレットに対して、
前記複数の高価値データフィードの位置、前記複合のコンポジット・データ・フィードのタギング方式、前記複合のコンポジット・データ・フィードの一連の融合基準、前記複合のコンポジット・データ・フィードの出力データフィード、および前記複合のコンポジット・データ・フィードのファイル・システム・ディレクトリのパラメータを定義する設定設定プロパティをロードする工程を有するものである。
【請求項１９】
請求項１８記載の方法において、前記高価値データフィードおよび前記複合のコンポジット・データ・フィードの出力フォーマットは、ＲＳＳフィード、ＸＭＬフィード、およびＨＴＭＬフィードから成る群から選択される形式の１つである。
【請求項２０】
請求項１５記載の方法において、前記複数のフィードレットのそれぞれは、前記複数のサイロのうちの少なくとも１つと通信するものである。
【請求項２１】
請求項１５記載の方法において、前記複数のサイロのそれぞれは、前記複数のフィードレットのうちの少なくとも１つと通信するものである。
【請求項２２】
請求項１５記載の方法において、この方法は、さらに、
前記少なくとも１つのフーズレットにより、インターネットを介して少なくとも１つの他のＲＳＳデータフィードを受信し、当該ＲＳＳデータフィードと前記複数の高価値データフィードとを融合し、前記複合のコンポジット・データ・フィードを生成する工程を有するものである。
【請求項２３】
請項１５記載の方法において、この方法は、さらに、
第２のフューズレットにより、複数のコンポジット・データ・フィードを融合して、前記第２の複合のコンポジット・データ・フィードを生成する工程であって、当該第２の複合のコンポジット・データ・フィードはウェブブラウザによりアクセス可能なものである、前記生成する工程を有するものである。
【請求項２４】
少なくとも１つのコンピュータ・プロセッサにより実行される複数の命令を有するコンピュータ読み込み可能な媒体であって、この命令は、
各々がデータを有する複数の入力ソースとのインターフェースで連結する命令と、
ターゲットスキーマに従って一時データ構造を設定する命令設定と、
前記複数の入力ソースのそれぞれのデータから情報を選択し、当該情報をヒトが使用可能なコンテンツへ変換する命令と、
前記選択され変換された情報を前記一時データ構造へ挿入する命令と、
前記一時データ構造から出力データフィードを生成する命令であって、当該データフィードはインターネットに直接発行されるものである、前記生成する命令と
を有するものである、
コンピュータ読み込み可能な媒体。
【請求項２５】
請求項２４記載のコンピュータ読み込み可能な媒体において、前記複数の入力ソースはレガシー・データベースである。
【請求項２６】
請求項２５記載のコンピュータ読み込み可能な媒体において、前記選択された情報を変換する命令は、前記情報を拡張し、相関する命令を有するものである。
【請求項２７】
請求項２４記載のコンピュータ読み込み可能な媒体において、前記複数の入力ソースはＲＳＳデータフィードを発するものである。
【請求項２８】
請求項２７記載のコンピュータ読み込み可能な媒体において、前記選択された情報を変換する命令は、一連の融合基準に従って前記選択された情報を拡張し、相関する命令を有するものである。
【請求項２９】
請求項２４記載のコンピュータ読み込み可能な媒体において、前記ターゲットスキーマはターゲットＸＭＬスキーマである。
【請求項３０】
請求項２４記載のコンピュータ読み込み可能な媒体において、前記出力データフィードは、ＲＳＳフィード、ＸＭＬフィード、およびＨＴＭＬフィードから成る群から選択される形式の１つである。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータソフトウェアに関し、より具体的には、アプリケーションプログラムがウェブベースのコンテンツのデータを集積および提供することを可能にする方法およびシステムに関する。
【背景技術】
【０００２】
存在する多くのレガシー・システムで格納されるデータは、多数のウェブベースのアプリケーションで容易に利用できないか若しくは使用不可能なものである。例えば、レガシーシステムは在庫データのデータベースのような、表示、修正、分析、または例えばブラウザ若しくはポータル、または他のアプリケーションなどのインターネットアップリケーションを使用してアクセスすることが望ましいデータベースを含むことができる。しかしながら、これらレガシー・システム上のデータは、例えば遠隔サイトシンジケート（Ｒｅｍｏｔｅ  Ｓｉｔｅ  Ｓｙｎｄｉｃａｔｉｏｎ：ＲＳＳ）、拡張マークアップ言語（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＸＭＬ）、ハイパー・テキスト・マークアップ言語  （Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＨＴＭＬ）等でウェブアクセス可能なまたはウェブ使用可能なコンテンツにフォーマットされていない。また、これらのレガシー・システム内のデータは極めて大きくかつ複雑である。したがって、ビジネスにおいてはこれらレガシー・システムを監視および統合するためのより容易で費用効果の高いツールを提供する、データを抽出しウェブベースのアプリケーションに提示することのできる改善された方法が求められている。
【発明を実施するための最良の形態】
【０００３】
本開示はコンピュータソフトウェアのアプリケーションに関し、より具体的には、ヒトが使用できるフォーマットで提供される複合のコンポジットデータを生成する方法およびシステムに関する。しかし、特定の実施形態はより広範な発明思想を教示するための実施例として提供されており、当業者は本開示の教示を容易に他の方法やシステムに適用できるものであることは理解されるものである。また、本開示で説明されている方法およびシステムは、従来の構造および／またはステップを含むことは理解されるものである。これらの構造およびステップは、当技術分野では周知のことなので、一般的レベルの詳細さで説明されているのみであることも理解されるものである。さらに、参照番号は図面の様々な所で繰り返されているが、これは便宜上または明瞭さのためであり、このような反復は図面上の特徴およびステップのいかなる必須の組み合わせを示すものではない。
【０００４】
図１には、複合のコンポジット・データ・フィードを生成するシステム１００が示されている。範例として、システム１００は典型的な多層構造で示されている。前記システム１００は複数のサイロ１０を含み、これらサイロは多大な生データを含む様々なバックエンド情報システム（レガシーデータベース）を有する。これらのバックエンド情報システムは、例えばリレーショナルデータベース（ｒｅｌａｔｉｏｎａｌ  ｄａｔａｂａｓｅ：ＲＤＢＭＳ）のような単一定義のデータソースを含むことができる。この情報システムはまた、例えばＩＢＭのＭＱシリーズのようなメッセージバスシステム、一連のリレーショナルデータベース、および例えばソケット、共通オブジェクト・リクエスト・ブローカー・アーキテクチャ（ｃｏｍｍｏｎ  ｏｂｊｅｃｔ  ｒｅｑｕｅｓｔ  ｂｒｏｋｅｒ  ａｒｃｈｉｔｅｃｔｕｒｅ：ＣＯＢＲＡ）、ＪＡＶＡ（登録商標）  ２エンタープライズエディション  （ＪＡＶＡ（登録商標）２  ｅｎｔｅｒｐｒｉｓｅ  ｅｄｉｔｉｏｎ：Ｊ２ＥＥ）などのコミュニケーション手段を使用した既存のアプリケーション・プログラミング・インターフェース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅｓ：  ＡＰＩｓ）への呼び出しを含むこともできる。当然のことながら、バックエンド情報システムの形式は、ウェブ・ベース・アプリケーションに容易にアクセス可能でない或いは使用可能でないあらゆるデータベースを含むこともできる。
【０００５】
図１の実施例には、特定のビジネスでの、例えば顧客関係管理（ｃｕｓｔｏｍｅｒ  ｒｅｌａｔｉｏｎｓ  ｍａｎａｇｅｍｅｎｔ：ＣＲＭ）、支払勘定、受取勘定、在庫システムＡ&Ｂ、および出荷パートナーなどの異なる情報システムを前記サイロ１０は示している。これら複数のサイロ１０は通常互いに通信せずデータを共有しない。前記複数のサイロ１０は複数のフィードレット２０（Ｆｅｅｄｌｅｔ  ２０）とインターフェースで接続することができる。前記フィードレット２０は、既存のＡＰＩｓまたはアクティブクエリーを使用してこられのサイロ１０と通信することもできる。１つのサイロ１０が１つのフィードレット２０とインターフェースで接続しているように図示されているが、１つのサイロが複数のフィードレット２０とインターフェースで接続することも、または１つのフィードレット２０が複数のサイロとインターフェースで接続することも可能であることは理解されものである。
【０００６】
前記フィードレット２０は、既存のデータソースデータソースをウェブアクセス可能またはウェブ使用可能なコンテンツへ直接変換するソフトウェアコンポーネントである。前記フィードレット２０のこのコンテンツまたは出力データフィード３０は、通常ＲＳＳフォーマットである。また、前記出力データフィード３０は静的ＨＴＭＬコンテンツまたはＸＭＬデータファイルであってもよい。前記出力データフィード３０は前記バックエンド情報システムから選択された高価値（若しくはキー部分）データを示す。前記高価値データは、特定のビジネス設定に依存し、当該ビジネスに最も重要なものに基づくものであり得る。さらに、前記フィードレット２０は生データで変換および相関を実行して前記高価値データを生成することも可能である。前記フィードレット２０の前記出力データフィード３０を生成する方法について、より詳細に以下で説明する。
【０００７】
ローカルまたはリモート（遠隔）ファイルシステムは通常ＨＴＭＬウェブサーバにより管理され、例えばウェブブラウザ、サーバー側ウェブポータル、ＸＭＬ企業間（ｂｕｓｉｎｅｓｓ−ｔｏ−ｂｕｓｉｎｅｓｓ：Ｂ２Ｂ）インテグレーションハブ、およびデスクトップ上のＸＭＬ／ＲＳＳを意識したアプリケーションなどの他のアプリケーションに販売するため前記ローカルまたはリモート（遠隔）ファイルシステムにこれら出力データフィード３０を作成し、書き込むスタンドアローン・プログラムとして、前記フィードレット２０は実行される。前記フィードレット２０は、前記出力データフィード３０のコンテンツのリフレッシュおよび更新を定期的に実行し、前記バックエンド情報システムの現在のビューステータスを準備する。前記フィードレット２０の実行はバッチモード処理を介して行われ、このバッチモードにより前記フィードレットは定期的に起動し、前記バックエンド情報システムに対し多数のクエリーを実行して前記出力データフィード３０を生成する。前記出力データフィード３０は、１若しくはそれ以上のフューズレット４０に送られる。また、前記出力データ３０は、例えばウェブポータル、ＲＳＳフィードリーダ（ｆｅｅｄ  ｒｅａｄｅｒ）、ＲＳＳアプリケーション（ＭＳ  Ｗｏｒｄ／Ｅｘｃｅｌ）、または外部ＸＭＬアプリケーション（Ｂ２Ｂ）などのＲＳＳ、ＨＴＭＬ、またはＸＭＬフォーマットに適したアプリケーションに送られてもよい。
【０００８】
前記フューズレット４０は、複数の入力データソースフィードを消費し、データストリーム内のデータ要素を相関、相互参照、および再統合することにより複合のコンポジット・データ・フィードを生成するソフトウェアコンポーネントである。前記複数の入力データストリームは、典型的にはＲＳＳまたはＸＭＬフィードフォーマットである。前記入力データストリームは、フィードレット２０、ニュースポータルのようなＲＳＳストリームを発行するウェブ・ベース・アプリケーション４５、ウェブベースの在庫システム、ウェブホストのビジネスシステム(例えば、フェデラル・エキスプレスの小包追跡システム)、または、ＸＭＬ情報システム若しくはインテグレーションハブ等から由来する。前記フィードレット４０により生成される前記複合のコンポジット・データ・フィードは、通常ＲＳＳフォーマットである。また、前記複合のコンポジット・データ・フィードは、静的ＨＴＭＬコンテンツまたはＸＭＬデータファイルであってもよい。前記フューズレット４０による前記複合のコンポジット・データ・フィードの生成方法は、より詳細に以下で説明する。
【０００９】
前記フューズレット４０は、ローカルまたはリモート・ウェブ・ホストサイトから前記複数の入力データソースフィードをポーリング（ｐｏｌｌ）し、前記複合のコンポジット・データ・フィードを生成するスタンドアローン・プログラムとして実行される。前記複合のコンポジット・データ・フィードは、ウェブポータル５０、ＲＳＳアプリケーション（ＭＳ  Ｗｏｒｄ／Ｅｘｃｅｌ）５２、外部ＸＭＬアプリケーション（Ｂ２Ｂ）５４、またはＲＳＳフィードリーダ５６のブラウザなどの、ＲＳＳ、ＨＴＭＬ、またはＸＭＬフォーマットに適合したアプリケーションに送られる。前記複合のコンポジット・データ・フィードはヒトがすぐに使用できるフォーマットであるので、提示された情報から顧客は前記情報を照会でき、ビジネス改善に向けた行動を起すことが可能である。前記フューズレット４０の実行は、前記生成された複合のコンポジット・データ・フィードのコンテンツを監視された入力データストリームのカレントステイタスと共にリフレッシュおよび更新するため、通常定期的に作動される。前記フィードレット４０はバッチモード処理を介して実行されることにより、前記フューズレットは定期的に起動し、且つ、前記入力データソースフィードを提供し融合して前記複合のコンポジットデータを生成するウェブサーバに問い合わせ（クエリー）を行う。当然のことながら、高いレベルのフューズレット４０は低いレベルのフューズレットから前記複合のコンポジット・データ・フィードを受信し、直接インターネット上に発行して新しい複合のコンポジット・データ・フィードを生成するように実行することもできる。
【００１０】
ここで図２を参照すると、前記フィードレット２０（図１）によるデータフィードを生成する方法の簡略化されたフローチャートが示されている。ステップ２００から開始し、前記フィードレット２０が適切に実行されるように、当該フィードレットは設定プロパティでロードされる。ステップ３００において、前記フィードレット２０は既存のバックエンド情報システム１０からデータをフェッチする。ステップ４００において、前記フューズレット２０はフェッチしたデータを変換し相関する。ステップ５００において、前記フューズレット２０は前記変換および相関されたデータを示す出力データフィード３０(図３)を生成する。
【００１１】
ここで図３を参照すると、図２にあるプロセススッテプ２００のより詳細なフローチャートが示されている。ステップ２２０では、前記方法は初期設定のため前記フィードレット２０に起動パスを取得することから開始する。ステップ２３０では、前記フィードレット２０が立ち上がりの際、パラメータ指定のデータファイルから設定プロパティとともにロードされる。これにより既存のバックエンドシステム１０の位置、前記情報システム１０の接続またはインターフェースで接続するためのパラメータ、および情報システムで信用証明書として使用される認証パラメータの設定が提供される。前記設定プロパティはまた、前記フィードレット２０が生成する出力のタイプ（ＲＳＳ、ＨＴＭＬ、またはＸＭＬ）および、各出力ストリームのターゲット・ファイル・システム・ディレクトリの位置をさらに定義する。これらのディレクトリには、ローカルにアクセス可能な記憶装置、ウェブサーバのドキュメント格納領域、またはリモートサーバのファイルシステムを含めることもできる。ステップ２４０において、前記フィードレット２０は、ロードされた前記設定プロパティに基づいて初期化される内部コンポーネントまたはヘルパークラスを有する。前記設定前記フィードレット２０は、これらのヘルパークラスを呼び出し、ソフトウェアルーチンを適切に実行することもできる。
【００１２】
ここで図４を参照すると、図２のプロセススッテプ３００のより詳細なフローチャートが示される。ステップ３２０では、前記フィードレット２０には、例えばターゲットＸＭＬスキーマなどのターゲットスキーマがロードされ、前記フィードレット２０が前記既存のバックエンド情報システム１０を問い合わせる（クエリーを実行）際に選択されるデータのキー部分を有するデータ構造を定義する。前記ターゲットスキーマが動的に割り当てられることにより、全体のアプリケーションを完全に再構築作り変える必要なしに前記スキーマを介してデータ構造の変換が可能である。ステップ３３０において、前記フィードレット２０は情報システム１０との接続を初期化し、データを転送する。前記フィードレット２０が情報システム１０と接続できない場合は、前記フィードレットはシステムを終了し、エラー状態へ移行する。ステップ３４０において、前記フィードレット２０は１若しくはそれ以上のクエリーを実行し、前記情報システム１０からデータをフェッチする。ステップ３５０において、前記フィードレット２０は前記ターゲットスキーマに基づいてデータ構造を構築する。前記データ構造は一時的に前記フィードレットのプログラムメモリに格納される。前記フィードレット２０は、前記データ構造が完了し、コンテンツの変換および相関の準備が整うまでこのプロセスは繰り返される。
【００１３】
ここで図５を参照すると、図２にあるプロセススッテプ４００のより詳細なフローチャートが示されている。抽出されてデータ構造内に一時的に格納されたデータは通常圧縮形フォーマットであり、繰返し値は数値または英数値トークンに置き換えられる。範例としてゲーム業界を例に取ると、データ構造内の整数"１""２"および"３"はそれぞれプラチナ、金、および銀のプレイヤの格付を持つ顧客を示すことができる。ステップ４２０において、前記フィードレット２０は前記一時データ構造を修正し、これらのトークンをテキスト表示（またはヒトが使用できるフォーマット）へ拡張し、これらのトークンの前記拡張さらた値で置き換える。ステップ４３０において、前記フィードレット２０は数値を表すデータにフォーマッティングおよび変換を適用する。例えば、データが１セントの単位で貨幣価値を表している場合、値１２４４１９２は＄１２，４４１．９２に変換され、一時データ構造に再インサートされる。ステップ４４０および４５０において、前記フィードレット２０はプロセスステップ３５０（図４）の前記一時データ構造に格納された基本データ要素のコンテンツから新しいデータタイプをアセンブルすることによりデータの相関を実行する。前記フィードレット２０はこのプロセスを一時データ構造内の全てのデータで繰り返す。ステップ４６０において、前記フィードレット２０は前記一時データ構造をスキャンし、固有のデータ要素に重複データエントリがないか、および各々のエントリが所定のターゲットスキーマに基づいた適合なフォーマットであるかを確認する。複製データ要素は取り除かれ、適合されていないデータ要素は修正され置き換えられる。
【００１４】
ここで図６を参照すると、図２にあるプロセススッテプ５００のより詳細なフローチャートが示される。ステップ５２０において、前記フィードレット２０は前記変換および相関されたデータ構造からＲＳＳ出力フィードを生成する。ステップ５３０において、前記フィードレット２０は前記変換および相関したデータ構造からＨＴＭＬ出力フィードを生成する。ステップ５３０において、前記フィードレット２０は前記変換および相関されたデータ構造からＸＭＬ出力フィードを生成する。ただし、これらの出力データのいずれかを生成する際にファイルシステムエラーが生じた場合、前記フィードレット２０はアプリケーションプログラムを終了する。
【００１５】
ここで図７を参照すると、図６にある前記ＲＳＳ出力フィードの生成工程のより詳細なフローチャートが示されている。ステップ５２２において、前記フィードレット２０はＲＳＳの出力ストリームの初期化を実行する。ステップ５２４において、前記フィードレット２０は、前記フィードと前記フィードに関するデータ／コンテンツの様式とに関する複数のメタデータ要素を含む統合されたＲＳＳヘッダを作成する。ステップ５２６において、前記フィードレット２０は、一時データ構造で各データ要素に対してＲＳＳフィードエントリを構築することにより、フィードテール（ｆｅｅｄ  ｔａｉｌ）を作成する。ステップ５２８において、前記フィードレット２０は前記ＲＳＳフィードエントリを前記出力フィードファイルに発する。前記フィードエントリは通常前記フィードレット２０がファイルシステムからロードするＸＭＬテンプレートから生成される。ステップ５２９において、前記フィードレット２０は前記一時データ構造のデータ値を取得し、それらを前記ＸＭＬテンプレートの中に置き換えることにより、前記ＲＳＳフィード要素または項目を作成する。前記テンプレートは、例えば静止画像やイメージ（ＪＰＥＧまたはＧＩＦファイル）、ダイナミックウェブコンテンツ、およびＸＭＬステップ等のウェブアクセス可能なコンテンツと同様にＨＴＭＬ要素を含む。
【００１６】
ここで図８を参照すると、図６の前記ＨＴＭＬ出力フィードの生成工程のより詳細なフローチャートが示される。前記ＨＴＭＬ出力フィードは通常特定のディレクトリに格納された一連のＨＴＭＬ静止ファイルである。ステップ５３２において、前記フィードレット２０は設定プロパティから前記ＨＴＭＬテンプレートドキュメントをロードすることができる。ステップ５３４において、前記フィードレット２０は前記ＨＴＭＬテンプレートドキュメントを前記一時データ構造に適用する。前記一時データ構造の前記データ値は前記ＨＴＭＬテンプレートドキュメントのトークンに置き換えられる。ステップ５３６において、結果として生じた前記ＨＴＭＬドキュメントは特定のディレクトリに書き込まれる。前記ディレクトリは通常アパッチ（Ａｐａｃｈｅ）またはマイクロソフトＩＩＳ  （Ｍｉｃｒｏｓｏｆｔ  ＩＩＳ）等のウェブサーバシステムのファイルシステムの一部である。
【００１７】
ここで図９を参照すると、図６の前記ＸＭＬ出力フィードの生成工程のより詳細なフローチャートが示される。前記ＸＭＬ出力フィードは通常一時データ構造のコンテンツを示すＸＭＬドキュメントまたはファイルである。ステップ５４２において、前記フィードレット２０は、メモリーに格納された設定プロパティからＸＭＬ変換パラメータをロードする。ステップ５４４において、前記フィードレット２０は、ＸＭＬ結合用のジャバ・アーキテクチャ（Ｊａｖａ (登録商標)  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  ＸＭＬ  Ｂｉｎｄｉｎｇ：ＪＡＸＢ）等の共通のライブラリを使用し、一時データ構造にあるデータを適合なＸＭＬスキーマへ変換する。ステップ５４６において、前記フィードレット２０は変換されたデータを特定のディレクトリにあるＸＭＬドキュメントに書き込む。ステップ５４８において、前記ＸＭＬドキュメントはＸＭＬスキーマのデータに適合されている事を確認するために検証される。
【００１８】
前記フューズレット４０(図１)の操作方法は、前記フィードレット２０(図１)と類似している。図２〜９のフローチャートの説明は一般に、以下で言及しているいくつかの変化を伴って前記フューズレット４０に適用される。再び図３を参照すると、ステップ２３０において、前記フューズレットの実行のパラメータは特定データファイルから起動時にロードされる。これにより、前記入力データソースおよび前記ホストのウェブサーバの関連ＵＲＬの位置、前記入力データソースへの接続手段、および前記フューズレット４０が前記データソースを信任状として使用する認証パラメータの設定が提供される。前記設定は、前記フューズレット４０が生成する出力のタイプ(例えば、ＲＳＳ、ＨＴＭＬ、またはＸＭＬ)、および各出力ストリームのターゲット・ファイル・システム・ディレクトリをさらに定義する。このディレクトリは、ローカルにアクセス可能な保存装置、ウェブサーバのドキュメント格納エリア、またはリモートサーバのファイルシステムであり得る。
【００１９】
再び図４を参照すると、ステップ３３０において、前記フューズレットは融合のため入力データソースをポーリングし、情報を収集する。通常、前記フューズレット４０は、ソースＲＳＳまたはＸＭＬフィードをホストするウェブサーバにインターネットを介して接続されている。場合によっては、この接続はパスワードまたは他の安全対策によって守られ、前記フューズレット４０は認証パラメータまたは設定ファイルに特定された信任状を使用して、前記入力データフィードにアクセスすることできる。前記フューズレット４０は、リモートホストからの前記入力フィードファイルをホストファイルシステムのローカルキャッシュへ保存する。前記リモート・ホスト・フィード・ファイルのタイムスタンプ（ｔｉｍｅ  ｓｔａｍｐ）は、前記フューズレット４０の前回実行からキャッシュされたフィードファイルと比較される。前記リモート・ホスト・フィード・ファイルが最後に実行されてから更新されていない場合、ローカル・ファイル・システムにキャッシュされているバージョンが使用される。これにより、前記フューズレット４０を実行するためのネットワークの処理負荷量を減らすことができる。前記キャッシュ内にあるフィードファイルは、データ構造としてシステムメモリに読まれ、融合の準備が整う。
【００２０】
ここで図１０を参照すると、前記フューズレット４０のための図２のプロセスステップ４００のより詳細なフローチャートが示されている。前記フューズレット４０は、一連のターゲット情報スキーマと、入力フィードファイルから新しいフィード要素を作成するプロセスを駆動させる融合基準セットとを有し得る。通常、前記入力フィードファイルは、独立かつ互換性のないソーススキーマを使用するような異なったソースから由来する。ステップ６２０において、これらの異なった入力フィードファイルから関連した情報要素を相関するため、前記フューズレット４０は各入力フィードファイルを正規化し、適合化スキーマへ変換する。このスキーマの前記要素は次に、要素のコンテンツから由来したメタデータによりタグ付けされる。ステップ６３０において、前記フューズレット４０は新しく融合され合成された要素を保持する一時データ構造を作成する。この一時データ構造は、前記ターゲット情報スキーマによって定義される。ステップ６４０において、前記一時データ構造内の各新しい要素のタイプに対して、前記フューズレット４０は、データタイプの記述を使用して、メモリー内のキャッシュ保存され、正規化された入力フィード構造間の関連メタデータのクエリーを行う。ステップ６５０において、前記メタデータクエリーに相関する標準化された入力フィードファイルからの各要素に対して、前記フューズレット４０は当該入力フィード要素から関連データを読み、それを前記一時データ構造の新しい要素に下記書き込む。このプロセスは全ての融合基準およびターゲットスキーマの各新しい要素タイプに対して繰り返される。ステップ６６０において、結果はＲＳＳ、ＨＴＭＬ、またはＸＭＬでフォーマットされる準備のできた前記複合のコンポジットデータ構造である。フォーマットの設定方法は図６〜９に記載されている。
【００２１】
従って、開示されているウェブベースのコンテンツのデータを集積し提供するシステムは、各々の生データを有する複数のサイロと、当該複数のサイロの当該生データを複数の高価値データフィードに変換する複数のフィードレットと、および前記複数の高価値データフィードを複合のコンポジットデータに生成するための少なくとも１つのフューズレットとを有し、前記複合のコンポジットデータはウェブアクセス可能なフォーマットフォーマットであり、且つ、前記複数の高価値データフィードの融合を示している。他の実施形態において、前記複数のフィードレットは前記生データから情報のキー部分を抽出し、これら情報のキー部分を拡張および相関することにより前記生データを変換する。他の実施形態において、前記複数のフィードレットのそれぞれは、前記複数のサイロのそれぞれの位置のパラメータを定義する設定モジュールと、前記高価値データフィードのタギング方式と、前記高価値データフィードの出力フォーマットと、前記高価値データフィードが書き込まれているファイル・システム・ディレクトリを有するスタンドアローン・ウェブサーバとをさらに有する。前記高価値データフィードの前記出力フォーマットは、ＲＳＳフィード、ＸＭＬフィード、およびＨＴＭＬフィードから成る群から選択される形式の１つである。
【００２２】
ある実施形態において、前記複数のサイロのそれぞれはバッチ・モード・プロセスで実行され、当該複数のサイロのカレントステータスの監視が可能となる。ある実施形態において、前記複数の高価値データフィードはウェブブラウザによりアクセス可能である。ある実施形態において、前記複合のコンポジット・データ・フィードはウェブブラウザによりアクセスが可能である。ある実施形態において、ウェブのアクセスが可能なフォーマットは、ＲＳＳフィード、ＸＭＬフィード、ＨＴＭＬフィードから成る群から選択される形式の１つである。実施形態ある実施形態においては、前記複数の高価値データフードのカレントステータスの監視を可能にするため、前記少なくとも１つのフューズレットはバッチ・モード・プロセスで実行される。ある実施形態において、前記少なくとも１つのフューズレットはインターネットを介して少なくとももう１つ別のＲＳＳデータフィードを受信し、これを複合のコンポジット・データ・フィードを生成するため、前記高価値データフィードと融合する、ものをさらに有す。
【００２３】
さらに別の実施形態において、前記複合のコンポジット・データ・フィードを生成するための前記高価値データフィードの融合は、ターゲット情報スキーマと一連の融合基準に基づいている。他の実施形態において、前記複数のフィードレットのそれぞれは少なくとも１つの前記複数のサイロと通信する。他の実施形態において、前記複数のサイロのそれぞれは少なくとも１つの複数のフィードレットと通信する。他の実施形態において、前記システムは、さらに、第二の複合のコンポジット・データ・フィードフィードを生成するための複数のコンポジット・データ・フィードを受信する第二のフューズレットを有し、当該第二の複合のコンポジット・データ・フィードは、ウェブブラウザによりアクセスが可能で、前記複数の複合のコンポジット・データ・フィードの融合を示している。
【００２４】
別の実施形態において、ウェブベースコンテンツの集積および提供方法とは、さらに、それぞれが生データを有する複数のサイロとの通信工程と、複数のフィードレットにより前記それぞれが生データを有する前記複数のサイロを複数の高価値データフィードへ変換する工程と、少なくとも１つのフューズレットにより複合のコンポジット・データ・フィードを生成するため前記複数の高価値データフィードを融合する工程と、当該複合のコンポジット・データ・フィードを直接インターネットに発行する工程と、を有する。他の実施形態において、生のコンテンツ・データの変換方法は、ターゲット・データ・スキーマに基づいて一時データ構造を設定する工程と、キーと成る情報を前記生データから抽出する工程と、当該キーと成る情報を拡大し相関し、当該拡大して相関したキーと成る情報を一時データ構造内に挿入する工程と、を有す。前記ターゲット・データ・スキーマとはターゲットＸＭＬスキーマである。
【００２５】
ある実施形態において、前記方法は、前記複数のサイロのそれぞれの位置のパラメータを定義するため、前記複数のフィードレットのそれぞれの設定プロパティをロードする工程と、前記高価値データフィードのタギング方式の工程と、前記高価値データフィードの出力フォーマットの工程と、前記高価値データフィードのファイルディレクトリシステムの工程と、前記高価値データフィードの位置のパラメータを定義するため、前記少なくとも１つのフューズレットの設定プロパティをロードする工程と、前記複合のコンポジット・データ・フィードのタギング方式の工程と、当該複合のコンポジット・データ・フィードの融合基準の工程と、前記複合のコンポジット・データ・フィードの出力フォーマットの工程と、前記複合のコンポジットデータのファイル・システム・ディレクトリの工程とをさらに有するものである。前記高価値データフィードおよび前記複合のコンポジット・データ・フィードの出力フォーマットはＲＳＳフィード、ＸＭＬフィード、およびＨＴＭＬフィードから成る群から選択される形式の１つである。
【００２６】
さらに別の実施形態において、方法は、インターネットを介して利用を可能にする少なくとももう１つ別のＲＳＳデータフィードを、前記少なくとも１つのフューズレットにより受信する工程と、前記複合のコンポジット・データ・フィードを生成するため、前記複数の高価値データフィードを融合する工程とをさらに有するものである。他の実施形態において、前記方法は、第２のフューズレットにより、第２の複合のコンポジット・データ・フィードを生成するため複数のコンポジット・データ・フィードを融合する工程をさらに有するものであって、当該第２の複合のコンポジット・データ・フィードはウェブブラウザによりアクセスが可能である。
【００２７】
さらに異なる実施形態において、コンピュータ読み込み可能な媒体は、少なくとも１つのコンピュータ・プロセッサにより実行される複数の命令を有し、当該命令は、それぞれがデータを有する複数の入力データソースとインターフェースで連結する命令と、ターゲット・スキーマに準じた一時データ構造の設定の命令と、前記複数の入力ソースのそれぞれの前記データからの情報の選択する命令と、当該選択された情報をヒトがすぐに使用可能なコンテンツへの変換する命令と、前記一時データ構造へ当該選択および変換された情報の挿入する命令と、前記一時的データ構造からの出力データフィードの生成する命令であって、当該出力データフィードは直接インターネット上に発行する命令とを有するものである。ある実施形態において、前記複数の入力ソースはレガシーデータベースであって、前記選択された情報の変換は、当該選択された情報を拡大および相関することを有する。
【００２８】
他の実施形態において、前記入力ソースは複数のＲＳＳデータフィードを発行し、前記選択された情報の変更は、一連の融合基準に従って当該選択された情報を相関および融合を有するものである。他の実施形態において、前記ターゲット・スキーマはターゲットＸＭＬスキーマである。他の実施形態において、出力データフィードは、ＲＳＳフィード、ＸＭＬフィード、およびＨＴＭＬフィードから成る群から選択される形式の１つである。
【００２９】
上記において複数の実施形態の特徴を概略的に説明することにより、当業者でも詳細な説明をより理解できるものである。当業者が他のプロセス（工程）及び構造を設計または修正して同一の目的を実行するおよび／または本明細書で開示された実施形態の同一の利点を達成するために、本開示を基にして容易に使用できることは当業者であれば理解されるものである。当業者はまた、本開示の要旨および範囲を逸脱しない安易で等価物が可能であり、本開示の要旨および範囲を逸脱しないで様々な変更、代替、および修正が可能であることも理解されるべきである。
【図面の簡単な説明】
【００３０】
本開示は上記の詳細な説明を添付の図面を参照しながら読むことにより最も良く理解される。業界の標準慣行に従って、様々な機能は原寸に比例して描かれていない。むしろ、様々な機能の寸法は、説明の明確さのために任意に拡大または縮小されている。
【図１】図１は、本開示の１１つ若しくはそれ以上の実施形態に基づいて複合のコンポジット・データ・フィードを生成するシステムのブロック図である。
【図２】図２は、データフィードを生成する方法の実施形態の単純化したフローチャートである。
【図３】図３〜６は、図２のプロセス工程のより詳細なフローチャートである。
【図４】図３〜６は、図２のプロセス工程のより詳細なフローチャートである。
【図５】図３〜６は、図２のプロセス工程のより詳細なフローチャートである。
【図６】図３〜６は、図２のプロセス工程のより詳細なフローチャートである。
【図７】図７は、図６のＲＳＳフィードを生成する方法の実施形態のフローチャートである。
【図８】図８は、図６のＨＴＭＬフィードを生成する方法の実施形態のフローチャートである。
【図９】図９は、図６のＸＭＬフィードを生成する方法の実施形態のフローチャートである。
【図１０】図１０は、図２のプロセス工程のより詳細なフローチャートである。
【図１】
2007293838.tif 000003
【図２】
2007293838.tif 000004
【図３】
2007293838.tif 000005
【図４】
2007293838.tif 000006
【図５】
2007293838.tif 000007
【図６】
2007293838.tif 000008
【図７】
2007293838.tif 000009
【図８】
2007293838.tif 000010
【図９】
2007293838.tif 000011
【図１０】
2007293838.tif 000012
【外国語明細書】
【発明の名称】  CONTENT TRANSFORMATION SYSTEM
Background
This invention relates generally to computer software, and more specifically to a method and system for allowing an application program to accumulate and present data in web-based content.
Many legacy systems exist for storing data which are not readily available or usable in many web-based applications.  For example, a legacy system can include a database of inventory data for which it would be desirable to view, modify, analyze, or otherwise access using an Internet application such as a browser or portal, or some other type of application.  However, the data in these legacy systems are not formatted in web-accessible or usable content such as Remote Site Syndication (RSS), eXtensible Markup Language (XML), or Hyper Text Markup Language (HTML).  Additionally, the data within these legacy systems is extremely large and complex.  Improvements in the method of extracting and presenting this data to web-based applications are needed to provide a simpler and more cost-effect tool for businesses to monitor and integrate their legacy systems.
Brief Description of the Drawings
The present disclosure is best understood from the following detailed description when read with the accompanying figures.  It is emphasized that, in accordance with the standard practice in the industry, various features are not drawn to scale.  In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.
FIG. 1 is a block diagram of a system for generating complex composite data feeds, according to one or more embodiments of the present disclosure.
FIG. 2 is a simplified flowchart of an embodiment of a method for generating data feeds.
FIGS. 3-6 are more detailed flowcharts of the process steps in FIG. 2.
FIG. 7 is a flowchart of an embodiment of a method for generating an RSS feed in FIG. 6.
FIG. 8 is a flowchart of an embodiment of a method for generating an HTML feed in FIG. 6.
FIG. 9 is a flowchart of an embodiment of a method for generating an XML feed in FIG. 6. 
FIG. 10 is a more detailed flowchart of the process step in FIG. 2.
Detailed Description
The present disclosure relates generally to computer software applications, and more particularly, to a method and system for generating complex composite data that may be presented in human actionable form.  It is understood, however, that specific embodiments are provided as examples to teach the broader inventive concept, and one of ordinary skill in the art can easily apply the teachings of the present disclosure to other methods and systems.  Also, it is understood that the methods and systems discussed in the present disclosure include some conventional structures and/or steps.  Since these structures and steps are well known in the art, they will only be discussed in a general level of detail.  Furthermore, reference numbers are repeated throughout the drawings for the sake of convenience and clarity, and such repetition does not indicate any required combination of features or steps throughout the drawings.
Referring now to FIG. 1, a system 100 for generating complex composite data feeds is shown.  For the sake of example, the system 100 is shown in a typical multi-tiered structure.  The system 100 includes a plurality of silos 10 comprising a variety of backend information systems (legacy databases) containing large amounts of raw data.  These backend information systems may include a single defined data source such as a relational database (RDBMS).  The information systems also may include message buss systems such as IBM's MQ series, a set of relational databases, and calls to existing application programming interfaces (APIs) over communication means such as sockets, common object request broker architecture (COBRA), and JAVA 2 enterprise edition (J2EE).  It is understood that the type of backend information system may include any database that is not readily accessible or usable for web-based applications.  
Continuing with the example, the silos 10 represent different information systems within a particular business, such as, customer relations management (CRM), accounts payable, accounts receivable, inventory systems A & B, and shipping partner.  The plurality of silos 10 typically do not communicate and share data with each other.  The plurality of silos 10 may interface with a plurality of FEEDLETS 20.  The FEEDLETS 20 may communicate with these silos 10 using existing APIs or active queries.  Even though one silo 10 is shown to interface with one FEEDLET 20, it is understood that one silo may interface with multiple FEEDLETs or that one FEEDLET may interface with multiple silos.
The FEEDLET 20 is a software component that transforms exiting data sources directly into web-accessible or usable content.  This content or output data feed 30 of the FEEDLET 20 is usually in a RSS format.  Additionally, the output data feed 30 may be static HTML content or XML data file.  The output data feed 30 represents high value (or key pieces) data selected from the backend information systems.  The high value data may depend on a particular business setting and may be based on what is most important to that business.   Furthermore, the FEEDLET 20 may also perform transformation and correlation on the raw data to generate the high value data.  The method of generating the output data feed 30 of the FEEDLET 20 will be explained in greater detail later.  
The FEEDLET 20 runs as a stand-alone program that creates and writes these output data feeds 30 to a local or remote file system which is typically managed by a HTML web server for vending to other applications such as web browsers, server-side web portals, XML business-to-business (B2B) integration hubs, and XML/RSS aware applications on a desktop.  The FEEDLET 20 runs on a periodic basis in order to refresh and update the contents of the output data feed 30 and allows for current view status of the backend information system.  The execution of the FEEDLET 20 is through a batch mode process by which the FEEDLET periodically wakes up and performs a number of queries against the backend information system to generate the output data feeds 30.  The output data feeds 30 may be fed into one or more FUSELETs 40.  Alternatively, the output data feeds 30 may be fed into an application that is suitable for RSS, HTML, or XML format such as a web portal, RSS feed reader, RSS application (MS Word/Excel), or external XML application (B2B).
The FUSELET 40 is a software component that consumes a plurality of input data source feeds and generates complex composite data feeds by correlating, cross referencing, and re-synthesizing data elements within these data streams.  The plurality of input data streams are typically in the form of RSS or XML feeds.  The input data streams may come from FEEDLETS 20, web-based applications 45 that emit an RSS stream such as a news portal, a web-based inventory system, a web-hosted business system (e.g., FedEx package tracking), or an XML data system or integration hub.  The complex composite data feeds generated by the FUSELET 40 is usually in a RSS format.  Additionally, the complex composite data feed may also be static HTML content or XML data file.  The method of generating the complex composite data feed by the FUSELET 40 will be explained in greater detail later.  
The FUSELET 40 runs as a stand-alone program that polls the plurality of input data source feeds from local and remote web-hosted sites and generates the complex composite data feeds.  The complex composite data feeds may be fed into an application that is suitable for RSS, HTML, or XML format such as a web portal 50, RSS application (MS Word/Excel) 52, external XML Application (B2B) 54, or RSS feed reader 56 browser.  The complex composite data feeds are in human actionable form such that the information presented allows a customer to be able to view the information and take some action to improve its business.  The FUSELET's 40 execution is typically triggered on a periodic basis in order to refresh and update the contents of the generated complex composite data feed with the current status of the monitored input data streams.  The execution of the FUSELET 40 is through a batch mode process by which the FUSELET periodically wakes up and queries a web server that provides the input data source feeds and performs fusion to generate the complex composite data feeds.  It is understood that higher level FUSELETs 40 may be implemented to receive the complex composite data feeds from lower level FUSELETs to generate new complex composite data feeds for publishing directly to the Internet.
Referring now to FIG. 2, a simplified flowchart of a method for generating data feeds by the FEEDLET 20 (FIG. 1)  is shown.  Starting with step 200, the FEEDLET 20 may be loaded with configuration properties in order for the FEEDLET to execute properly.  In step 300, the FEEDLET 20 fetches data from the existing backend information system 10.  In step 400, the FEEDLET 20 transforms and correlates the fetched data.  And in step 500, the FEEDLET 20 generates an output feed 30 (FIG. 1) representing the transformed and correlated data.
Referring now to FIG. 3, a more detailed flowchart of the process step 200 of FIG. 3 is shown.  At step 220, the method starts by getting a launch path to the FEEDLET 20 for initial configuration.  In step 230, the FEEDLET 20 may be loaded with configuration properties from a parameter specification data file during start up.  This provides configuration on the location of the existing backend information system 10, the parameters for connecting or interfacing with the information system, and the authentication parameters that will be used as credentials with the information system.  The configuration properties also define what types of output (e.g., RSS, HTML, or XML) the FEEDLET 20 will generate and a location of target file system directories for each output stream.  These directories may include locally accessible storage, a document storage area of a web server, or a remote server's file system.  In step 240, the FEEDLET 20 comprises internal components or helper classes that are initialized based on the configuration properties that were loaded.  The FEEDLET 20 may call upon these helper classes to properly execute its software routines.
Referring now to FIG. 4, a more detailed flowchart of the process step 300 of FIG. 3 is shown.  At step 320, the FEEDLET 20 may be loaded with a target schema, such as a target XML schema, to define a data structure comprising of key pieces of data that are selected when the FEEDLET 20 queries the existing backend information system 10.  The target schema may be dynamically assignable so that changes to the data structure can made via the schema without having to completely rebuild the entire application.  In step 330, the FEEDLET 20 initializes a connection to the information system 10 for data transfer.  If the FEEDLET 20 is unable to connect to the information system 10, the FEEDLET will exit and transition to an error state.  In step 340, the FEEDLET 20 performs one or more queries to fetch data from the information system 10.  In step 350, the FEEDLET 20 builds the data structure according to the target schema.   The data structure is temporarily stored in the FEEDLET's program memory.  The FEEDLET 20 repeats this process until the data structure is complete and ready for content transformation and correlation.
Referring now to FIG. 5, a more detailed flowchart of the process step 400 of FIG. 2 is shown.  The data extracted and temporarily stored in the data structure is usually in a compressed format which substitutes repeating values with numeric or alphanumeric tokens.  For the sake of example, in the gaming industry, integers "1," "2," and "3" within the data structure may represent customers that have player ratings of platinum, gold, and silver, respectively.  At step 420, the FEEDLET 20 modifies the temporary data structure to expand these tokens into their text representations (or human actionable content) and replaces these tokens with the expanded values.  In step 430, the FEEDLET 20 applies formatting and transformation to data that represents numerical values.  For example, if the data represented monetary values in pennies, a value of 1244192 would be transformed to $12,441.92 and re-inserted into the temporary data structure.  In steps 440 and 450, the FEEDLET 20 may perform data correlation by assembling new data types from the contents of the primitive data elements that were stored in the temporary data structure of process step 350 (FIG. 4).  The FEEDLET 20 repeats this process with all the data in the temporary data structure.  In step 460, the FEEDLET 20 may scan the temporary data structure to ensure that there are no duplicate entries for unique data elements and that each entry is in a conforming format according to the pre-defined target schema.  Replica data elements are removed and non-conforming data elements are modified and replaced.
Referring now to FIG. 6, a more detailed flowchart of process step 500 of FIG. 2 is shown.  At step 520, the FEEDLET 20 takes the transformed and correlated data structure and generates an RSS output feed.  In step 530, the FEEDLET 20 takes the transformed and correlated data structure and generates a HTML output feed.  In step 540, the FEEDLET 20 takes the transformed and correlated data structure and generates an XML output feed.  However, the FEEDLET 20 may exit the application program if there is a file system error when generating any of the output feeds.
Referring now to FIG. 7, a more detailed flowchart of generating the RSS output feed of FIG. 6 is shown.  In step 522, the FEEDLET 20 initializes an output feed stream for RSS.  In step 524, the FEEDLET 20 creates a conforming RSS header that contains multiple meta-data elements about the feed and the manner of data/content of the feed.  In step 526, the FEEDLET 20 creates a feed tail by constructing a RSS feed entry for each data element in the temporary data structure.  In step 528, the FEEDLET 20 emits the RSS feed entry to the output feed file.  The feed entry is typically generated from an XML template that the FEEDLET 20 loads from the file system.  In step 529, the FEEDLET 20 creates the RSS feed element or item by taking the data values in the temporary data structure and substituting them into the XML template.  The template may include HTML elements as well as other web-accessible content such as static graphics or images (JPEG or GIF files), dynamic web content, and XML steps.   
Referring now to FIG. 8, a more detailed flowchart of generating the HTML output feed of FIG. 6 is shown.  The HTML output feed is typically a series of HTML static files stored in a specified directory.  In step 532, the FEEDLET 20 may load an HTML template document from its configuration properties.  In step 534, the FEEDLET 20 applies the HTML template to the temporary data structure.  The data values of the temporary data structure are substituted for tokens in the HTML template document.  In step 536, the resulting HTML document may be written to the specified directory.  The directory is typically a part of a file system of a web server system such as Apache or Microsoft IIS.  
Referring now to FIG. 9, a more detailed flowchart of generating the XML output feed of FIG. 6 is shown.  The XML output feed is typically an XML document or file that represents the content of the temporary data structure.  In step 542, the FEEDLET 20 loads XML transformation parameters from its configuration properties stored in memory.  In step 544, the FEEDLET 20 transforms the data in the temporary data structure into a conforming XML schema using a common library, such as Java Architecture for XML Binding (JAXB).  In step 546, the FEEDLET 20 writes the transformed data to the XML document in a specified directory.  In step 548, the XML document may be validated to ensure that the data conforms to the XML schema. 
The method of operation of the FUSELET 40 (FIG. 1) is similar to the FEEDLET 20 (FIG. 1).  The descriptions of the flowcharts, FIGS. 2-9, generally apply to the FUSELET 40 with some variations which are noted below.  Referring again to FIG. 3, at step 230, parameters of the FUSELET's execution are loaded from a parameters specification data file during start up.  This provides configuration on the location of the input data sources and the associated URLs of their hosting web server, the means of connecting to these input data sources, and authentication parameters that the FUSELET 40 will use as credentials with these data sources.  The configuration also defines what types of output the FUSELET 40 will produce (e.g., RSS, HTML, or XML) and the target file system directories for each output stream.  These directories may be in locally accessible storage, a document storage area of a web server, or on a remote server's file system.
Referring again to FIG. 4, at step 330, the FUSELET polls the input data sources and gathers information for fusion.  Typically, the FUSELET 40 is connected via the Internet to the web servers that host the source RSS or XML feeds.  In some cases this connection may be protected by password or other security measures and the FUSELET 40 may use the authentication parameters and credentials specified in the configuration file to access the input data feeds.  The FUSELET 40 stores these input feed files from a remote host in a local cache in the host file system.  A time stamp of the remote hosted feed file is compared to the feed file cached from the previous FUSELET 40 run.  In the case where the remote hosted feed file has not been updated since the last run, the version cached in the local file system may be used.  This will reduce the amount of network overhead to run the FUSELET 40.  The feed files in the cache may be read into system memory as data structures and are ready for fusion.
Referring now to FIG. 10, a more detailed flowchart of the process step 400 of FIG. 2 for the FUSELET 40 is shown.  The FUSELET 40 may have a series of target information schema and a set of fusion criteria that drives the process to compose new feed elements from the input feed files.  Typically, the input feed files come from different sources which are likely using independent and incompatible source schema.  At step 620, in order to correlate related information elements form these different input feed files, the FUSELET 40 transforms each input feed file into a normalized, conforming schema.  The elements in this schema may then be tagged with meta-data derived from the element's content.  In step 630, the FUSELET 40 creates a temporary data structure to hold the new fused, composite elements.  This temporary data structure is defined by the target information schema.  In step 640, for each new element type within the temporary data structure, the FUSELET 40 uses the data type descriptions to query for related meta-data among the cached, normalized input feed structures in memory.  In step 650, for each element from the normalized input feed files that correlates to the meta-data query, the FUSELET 40 reads relevant data from that input feed element and writes it to the new element in the temporary data structure.  This is repeated for all the fusion criteria and for each new element type of the target schema.  In step 660, the result is the complex composite data structure which is ready to be formatted in RSS, HTML, or XML.  The method of formatting is described in FIGS. 6-9.
Thus, provided is a system for accumulating and presenting data in web-based content comprising a plurality of silos each having raw data, a plurality of feedlets that transforms the raw data of the plurality of silos into a plurality of high value data feeds, and at least one fuselet for receiving the plurality of high value data feeds to generate a complex composite data feed, wherein the complex composite data feed is in a web-accessible format and represents a fusion of the plurality of high value data feeds.  In other embodiments, the plurality of feedlets transforms the raw data by extracting key pieces of information from the raw data and, expanding and correlating these key pieces of information.  In other embodiments, each of the plurality of feedlets further comprises a configuration module that defines parameters for a location of each of the plurality of silos, a tagging scheme for the high value data feed, and an output format for the high value data feed and a stand alone web server having a file system directory wherein the high value data feed is written to.  The output format for the high value feed is of a type selected from a group consisting of a RSS feed, XML feed, and HTML feed.
In some embodiments, each of the plurality of feedlets is executed in a batch mode process to allow for current-status monitoring of the plurality of silos.  In some embodiments, the plurality of high value data feeds are web browser accessible.  In some embodiments, the complex composite data feed is web browser accessible.  In some embodiments, the web-accessible format is of a type selected from a group consisting of a RSS feed, XML feed, and HTML feed.  In some embodiments, the at least one fuselet is executed in a batch mode process to allow for current-status monitoring of the plurality of high value data feeds.  In some embodiments, the at least one fuselet further comprises receiving at least one other RSS data feed available via the Internet and fusing this with the plurality of high value data feeds to generate the complex composite data feed.
In still other embodiments, the fusion of the plurality of high value data feeds to generate the complex composite data feed is based on a target information schema and a set of fusion criteria.  In other embodiments, each of the plurality of feedlets communicates with at least one of the plurality of silos.  In other embodiments, each of the plurality of silos communicates with at least one of the plurality of feedlets.  In other embodiments, the system further comprising a second fuselet for receiving a plurality of complex composite data feeds to generate a second complex composite data feed, wherein the second complex composite data feed is accessible by a web browser and represents a fusion of the plurality of complex composite data feeds.
In another embodiment, a method for accumulating and presenting data in web-based content comprising communicating with a plurality of silos each having raw data, transforming, by a plurality of feedlets, the raw data of each of the plurality of silos into a plurality of high value data feeds, fusing, by at least one fuselet, the plurality of high value data feeds to generate a complex composite data feed, and publishing the complex composite data feed directly to the Internet.  In other embodiments, transforming the raw content data further comprises configuring a temporary data structure according to a target data schema, extracting key pieces of information from the raw content data, expanding and correlating the key pieces of information, and inserting the expanded and correlated pieces of information into the temporary data structure.  The target data schema is a target XML schema.
In some embodiments, the method further comprises loading configuration properties for each of the plurality of feedlets to define parameters for a location of each of the plurality of silos, a tagging scheme for the high value data feed, an output format for the high value data feed, and a file system directory for the high value data feed and loading configuration properties for the at least one fuselet to define parameters for a location of the plurality of high value data feeds, a tagging scheme for the complex composite data feed, a set of fusion criteria for the complex composite data feed, an output format for the complex composite data feed, and a file system directory for the complex composite data feed.  The output format for the high value data feed and the complex composite data feed is of a type selected from a group consisting of a RSS feed, XML feed, and HTML feed.
In still other embodiments, the method further comprises receiving, by the at least one fuselet, at least one other RSS data feed available via the Internet and fusing this with the plurality of high value data feeds to generate the complex composite data feed.  In other embodiments, the method further comprises fusing, by a second fuselet, a plurality of complex composite data feeds to generate a second complex composite data feed, wherein the second complex composite data feed is accessible by a web browser.
In still another embodiment, a computer readable medium comprising a plurality of instructions for execution by at least one computer processor, wherein the instructions are for interfacing with a plurality of input sources each having data, configuring a temporary data structure according to a target schema, selecting pieces of information from the data of each of the plurality of input sources and transforming these pieces of information into human actionable content, inserting the selected and transformed pieces of information into the temporary data structure, and generating an output data feed from the temporary data structure, wherein the output data feed is published directly to the Internet.  In some embodiments, the plurality of input sources are legacy databases and transforming the selected pieces of information comprises expanding and correlating the selected pieces of information.
In other embodiments, the plurality of input sources emit a RSS data feed and transforming the selected pieces of information comprises correlating and fusing the selected pieces of information according to a set of fusion criteria.  In other embodiments, the target schema is a target XML schema.  In other embodiments, the output data feed is a type selected from a group consisting of a RSS feed, XML feed, and HTML feed.
The foregoing has outlined features of several embodiments so that those skilled in the art may better understand the detailed description that follows. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein.  Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions and alterations herein without departing from the spirit and scope of the present disclosure.
We claim:
1. A system for accumulating and presenting data in web-based content, the system comprising:
a plurality of silos each having raw data;
a plurality of feedlets that transforms the raw data of the plurality of silos into a plurality of high value data feeds; and
at least one fuselet for receiving the plurality of high value data feeds to generate a complex composite data feed, wherein the complex composite data feed is in a web-accessible format and represents a fusion of the plurality of high value data feeds.
2. The system of claim 1, wherein the plurality of feedlets transforms the raw data by extracting key pieces of information from the raw data and, expanding and correlating these key pieces of information.
3. The system of claim 1, wherein each of the plurality of feedlets further comprises:
a configuration module that defines parameters for a location of each of the plurality of silos, a tagging scheme for the high value data feed, and an output format for the high value data feed; and
a stand alone web server having a file system directory wherein the high value data feed is written to.
4. The system of claim 3, wherein the output format for the high value feed is of a type selected from a group consisting of a RSS feed, XML feed, and HTML feed.
5. The system of claim 1, wherein each of the plurality of feedlets is executed in a batch mode process to allow for current-status monitoring of the plurality of silos.
6. The system of claim 1, wherein the plurality of high value data feeds are web browser accessible.
7. The system of claim 1, wherein the complex composite data feed is web browser accessible.
8. The system of claim 1, wherein the web-accessible format is of a type selected from a group consisting of a RSS feed, XML feed, and HTML feed. 
9. The system of claim 1, wherein the at least one fuselet is executed in a batch mode process to allow for current-status monitoring of the plurality of high value data feeds.
10. The system of claim 1, wherein the at least one fuselet further comprises receiving at least one other RSS data feed available via the Internet and fusing this with the plurality of high value data feeds to generate the complex composite data feed.
11. The system of claim 1, wherein the fusion of the plurality of high value data feeds to generate the complex composite data feed is based on a target information schema and a set of fusion criteria. 
12. The system of claim 1, wherein each of the plurality of feedlets communicates with at least one of the plurality of silos.
13. The system of claim 1, wherein each of the plurality of silos communicates with at least one of the plurality of feedlets.
14. The system of claim 1, further comprising a second fuselet for receiving a plurality of complex composite data feeds to generate a second complex composite data feed, wherein the second complex composite data feed is accessible by a web browser and represents a fusion of the plurality of complex composite data feeds.
15. A method for accumulating and presenting data in web-based content, the method comprising:
communicating with a plurality of silos each having raw data;
transforming, by a plurality of feedlets, the raw data of each of the plurality of silos into a plurality of high value data feeds;
fusing, by at least one fuselet, the plurality of high value data feeds to generate a complex composite data feed; and
publishing the complex composite data feed directly to the Internet.
16. The method of claim 15, wherein transforming the raw content data further comprises:
configuring a temporary data structure according to a target data schema;
extracting key pieces of information from the raw content data;
expanding and correlating the key pieces of information; and
inserting the expanded and correlated pieces of information into the temporary data structure.
17. The method of claim 16, wherein the target data schema is a target XML schema.
18. The method of claim 15, further comprising:
loading configuration properties for each of the plurality of feedlets to define parameters for a location of each of the plurality of silos, a tagging scheme for the high value data feed, an output format for the high value data feed, and a file system directory for the high value data feed; and
loading configuration properties for the at least one fuselet to define parameters for a location of the plurality of high value data feeds, a tagging scheme for the complex composite data feed, a set of fusion criteria for the complex composite data feed, an output format for the complex composite data feed, and a file system directory for the complex composite data feed.
19. The method of claim 18, wherein the output format for the high value data feed and the complex composite data feed is of a type selected from a group consisting of a RSS feed, XML feed, and HTML feed.
20. The method of claim 15, wherein each of the plurality of feedlets communicates with at least one of the plurality of silos.
21. The method of claim 15, wherein each of the plurality of silos communicates with at least one of the plurality of feedlets.
22. The method of claim 15, further comprising receiving, by the at least one fuselet, at least one other RSS data feed available via the Internet and fusing this with the plurality of high value data feeds to generate the complex composite data feed.
23. The method of claim 15, further comprising fusing, by a second fuselet, a plurality of complex composite data feeds to generate a second complex composite data feed, wherein the second complex composite data feed is accessible by a web browser.
24. A computer readable medium comprising a plurality of instructions for execution by at least one computer processor, wherein the instructions are for:
interfacing with a plurality of input sources each having data;
configuring a temporary data structure according to a target schema;
selecting pieces of information from the data of each of the plurality of input sources and transforming these pieces of information into human actionable content;
inserting the selected and transformed pieces of information into the temporary data structure; and
generating an output data feed from the temporary data structure, wherein the output data feed is published directly to the Internet.
25. The computer readable medium of claim 24, wherein the plurality of input sources are legacy databases.
26. The computer readable medium of claim 25, wherein transforming the selected pieces of information comprises expanding and correlating the selected pieces of information.
27. The computer readable medium of claim 24, wherein the plurality of input sources emit a RSS data feed.
28. The computer readable medium of claim 27, wherein transforming the selected pieces of information comprises correlating and fusing the selected pieces of information according to a set of fusion criteria.
29. The computer readable medium of claim 24, wherein the target schema is a target XML schema.
30. The computer readable medium of claim 24, wherein the output data feed is a type selected from a group consisting of a RSS feed, XML feed, and HTML feed.
Abstract
A system for accumulating and presenting data in web-based content, the system comprising a plurality of silos each having raw data, a plurality of feedlets that transforms the raw data of the plurality of silos into a plurality of high value data feeds, and at least one fuselet for receiving the plurality of high value data feeds to generate a complex composite data feed, wherein the complex composite data feed is in a web-accessible format and represents a fusion of the plurality of high value data feeds.
【図面１】
2007293838.tif 000013
【図面２】
2007293838.tif 000014
【図面３】
2007293838.tif 000015
【図面４】
2007293838.tif 000016
【図面５】
2007293838.tif 000017
【図面６】
2007293838.tif 000018
【図面７】
2007293838.tif 000019
【図面８】
2007293838.tif 000020
【図面９】
2007293838.tif 000021
【図面１０】
2007293838.tif 000022