JP2014526743A - イベントデータを取得するスケールアウトシステム - Google Patents

イベントデータを取得するスケールアウトシステム Download PDF

Info

Publication number
JP2014526743A
JP2014526743A JP2014529928A JP2014529928A JP2014526743A JP 2014526743 A JP2014526743 A JP 2014526743A JP 2014529928 A JP2014529928 A JP 2014529928A JP 2014529928 A JP2014529928 A JP 2014529928A JP 2014526743 A JP2014526743 A JP 2014526743A
Authority
JP
Japan
Prior art keywords
event
data
source
collection
partition
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.)
Granted
Application number
JP2014529928A
Other languages
English (en)
Other versions
JP6067714B2 (ja
Inventor
ヴァスターズ,クレメンス・フリードリッチ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014526743A publication Critical patent/JP2014526743A/ja
Application granted granted Critical
Publication of JP6067714B2 publication Critical patent/JP6067714B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Astronomy & Astrophysics (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

イベントを生成すること。方法は、異なるソースに特有の複数の異なるプロトコルを用いて、異なるソースと通信することによって、複数の異なるソースからデータを取得することを含む。本方法は、取得したデータに基づいて、イベントが起こるべきであると決定することをさらに含む。本方法は、イベントを生じさせることをさらに含む。生じたイベントは、イベントを生じさせるデータソースからのデータの特定の形にかかわりなく、消費者による一貫したイベント評価のために規格化される。

Description

本願発明の一実施例は、例えば、イベントデータを取得するスケールアウトシステムに関する。
[0001]コンピュータおよびコンピューティングシステムは、現代生活のほとんど全ての側面に影響を及ぼした。コンピュータは、仕事、レクリエーション、保健医療、輸送、娯楽、家庭経営などに広く関係している。
[0002]さらに、ネットワーク接続を介して他のコンピューティングシステムに相互接続されるコンピューティングシステム能力によって、コンピューティングシステムの機能性を強化することができる。ネットワーク接続は、有線もしくは無線イーサネット(登録商標)、セルラ接続、またはシリアル、パラレル、USB、もしくは他の接続によるコンピュータ同士の接続を含むことができるが、これに限定されない。接続によって、コンピューティングシステムが、他のコンピューティングシステムのサービスにアクセスして、他のコンピューティングシステムからアプリケーションデータを迅速かつ効率的に受け取ることが可能になる。
[0003]多くのコンピュータは、コンピュータとの直接的なユーザインタラクションにより用いられることを意図している。このように、コンピュータは、ユーザインタラクションを容易にするために、入力ハードウェアおよびソフトウェアユーザインターフェースを有する。例えば、最新の汎用コンピュータは、ユーザがコンピュータにデータを入力するためのキーボード、マウス、タッチパッド、カメラなどを含むことができる。さらに、様々なソフトウェアユーザインターフェースを利用することができる。
[0004]ソフトウェアユーザインターフェースの例としては、グラフィカルユーザインターフェース、ユーザインターフェースに基づくテキストコマンドライン、ファンクションキー、またはホットキーユーザインターフェースなどが挙げられる。
[0005]RSSまたはAtomフォーマットで利用可能な現在の世界または金融のニュースなど多種多様のソースから情報を集めて、統合、配布または保管のための発行/購読インフラストラクチャにこの情報を送ることを意図するアプリケーションを書いている開発者を仮定する。発行/購読インフラストラクチャは、ワシントン州レドモンドのマイクロソフトから入手可能なWindows(登録商標) Azure Service Busによって提供されるが、また様々な他のメッセージシステムにおいても類似の形式で存在しており、メッセージ/イベントを一時的記憶装置に格納し、1人または複数の購読者にそれらのメッセージ/イベントを取り出させ消費させることを可能にする。
[0006]本願の請求に係る発明の主題は、何らかの欠点を解決する、あるいは、上述したそのような環境においてのみ動作する実施形態に限定されない。むしろ、「背景技術」は、本明細書に記載された、いくつかの実施形態を実施することができる1つの典型的な技術領域を示すために提供するにすぎない。
本願発明の一実施例は、例えば、イベントデータを取得するスケールアウトシステムに関する。
[0007]本明細書に示す一実施形態は、イベントを生成する方法に関する。本方法は、異なるソースに特有の複数の異なるプロトコルを用いて、異なるソースと通信することによって、複数の異なるソースからデータを取得することを含む。本方法は、取得したデータに基づいて、イベントが起こるべきであると決定することをさらに含む。本方法は、イベントを生じさせることをさらに含む。生じたイベントは、イベントを生じさせるデータソースからのデータの特定の形にかかわりなく、消費者による一貫したイベント評価のために規格化される。
[0008]「発明の概要」では、発明を実施するための形態においてさらに後述する概念のうちから選択したものを、簡略化した形式で導入する。「発明の概要」は、請求に係る発明の主題の主な特徴または本質的な特徴を識別することを意図するものではなく、また、請求に係る発明の主題の範囲を決定する際の助けとして用いられることを意図するものでもない。
[0009]付加的な特徴および利点は、後に続く「発明を実施するための形態」に記載され、「発明を実施するための形態」から部分的には明らかになる、あるいは、本明細書の教示を実施することによって学ぶことができる。本発明の特徴および利点は、添付した「特許請求の範囲」において特に示される機器および組合せによって、理解され、取得され得る。本発明の特徴は、以下の「発明を実施するための形態」および添付した「特許請求の範囲」からより完全に明らかになる、あるいは、以下に記載する本発明の実施によって学ぶことができる。
[0010]上述した利点および特徴、ならびに他の利点および特徴を取得できる方法を記載するために、添付の図面に示す特定の実施形態を参照することにより、先に簡潔に述べた発明の主題についてより詳細に説明する。これらの図面は、典型的な実施形態のみを表しており、したがって、範囲を限定するものと考えるべきではないことを理解し、実施形態について、以下の添付の図面を用いて、さらに具体的かつ詳細に記載し説明する。
[0011]イベントデータ収集システムの一例を示す図である。 [0012]イベントデータ収集および配布システムを示す図である。 [0013]イベントを生成する方法を示す図である。
[0014]本明細書に記載されるいくつかの実施形態は、多種多様な多数のソースからイベントデータを収集し規格化することができるスケールアウト収集インフラストラクチャを実現することができる。例えば、データは、多くの異なるソースから、それらのソースの各々に適切なプロトコルを用いて取得することができる。データは、イベントのデータがどこから取得されたか、そしてそのデータがどういうフォーマットで取得されたかについて無関係な一貫したイベントフォーマットに規格化することができる。これによって、これらのイベントを発行/購読インフラストラクチャに送ることが可能になり、収集したイベントを消費者が同一の方法で扱うことが可能になる。
[0015]いくつかの実施形態は、分散した記憶装置全体にわたって、ソース記述の分割されたプールを管理し、一般的なスケジューラフレームワークを用いて、記述されたソースからイベントを収集する際のスケジューリングを行うための機構を実現することができる。
[0016]いくつかの実施形態は、分割された所有権と予定されたメッセージの使用との組合せに基づいて、収集ジョブの所有権を収集作業者に割り当て、また再割り当てするための機構を実現することができる。
[0017]いくつかの実施形態は、消費する視聴者のニーズに基づいて、ソースを起動させ、また停止させるための機構を実現することができる。
[0018]いくつかの実施形態は、一時的および永続的なエラーとソースのブラックリストへの掲載とを扱うための機構を実現することができる。
[0019]基礎として、1つの実施形態のシステムは、ワシントン州レドモンドのマイクロソフトから入手可能なWindows(登録商標) Azure Service Busによって提供される発行/購読インフラストラクチャを使用しているが、様々な他のメッセージシステムにおいても類似の形式で存在する。インフラストラクチャは、提案された方法の記載した実現を容易にする2つの能力、すなわちトピックおよびキューを提供する。
[0020]キューは、メッセージがシーケンシャルな順序で追加され(キューに登録され)、そしてメッセージが追加された順序と同じ順序で削除される(キューから除かれる)ことを可能にする、メッセージのための記憶構造である。いかなる数のクライアントであっても、同時に並行してメッセージを追加し、削除することができる。そして、キューに登録する側の負荷の平準化およびキューから削除する側のレシーバ全体の処理負荷の平衡化を可能にする。また、メッセージがキューから削除されたときには、エンティティがメッセージのロックを取得することが可能になる。そして、読み出されたメッセージの処理が失敗する場合に備えて、メッセージがいつキューから実際に削除されるか、あるいは、それをキューに復元することができるかどうかについて、消費するクライアントの明示的制御を可能にする。
[0021]トピックは、キューの全ての特性を有する記憶構造であるが、しかし、キューに登録されたメッセージのシーケンスに関する分離されてフィルタ処理されたビューを各々許容する、複数の並存する「購読」を可能にする。トピックの各購読によって、キューに登録された各メッセージのコピーが生成されるが、ただし、購読の関連する1つまたは複数のフィルタ条件はメッセージに明らかにマッチする。その結果、各購読が全てのメッセージにマッチする単純な「パススルー」条件をもつ10の購読を有するトピックに登録されたメッセージは、合計10のメッセージ、すなわち各購読について1つのメッセージを生成する。購読は、キューのように、レシーバ全体の処理負荷の平衡化をもたらす複数の同時に並存する消費者を有することができる。
[0022]別の基礎的な概念は「イベント」のそれであって、基礎となる発行/購読インフラストラクチャについて言えば、それはまさにメッセージである。一実施形態の文脈では、イベントは、メッセージ本文およびメッセージ属性の使用を管理する一組の単純な制約条件に従う。イベントのメッセージ本文は、一般的には不透明なデータブロックとして流れ、一実施形態によって考慮されるいかなるイベントデータも、一般的にはメッセージ属性において流れる。そして、それはイベントを表現するメッセージの部分である一組のキー/バリューペアである。
[0023]次に図1を参照すると、一実施形態のアーキテクチャの目的は、大規模で多種多様の異なるソース116からイベントデータを取得し、さらなる処理のための発行/購読インフラストラクチャに、これらのイベントを生成することである。この処理は、イベントの分析、リアルタイム検索、またはプルもしくはプッシュ通知メカニズムによる、関心のある購読者に対するイベントの再分配のいくつかの形式を含むことができる。
[0024]一実施形態のアーキテクチャは、収集エンジン118と、収集アダプタおよびイベント規格化のためのモデルと、収集ソース116に関するメタデータを保持するための分割された記憶装置138と、通常の分割およびスケジューリングモデルと、さらなるデータベースルックアップを必要とせずに、ユーザ主導による収集ソース116の状態の変更を、実行中のシステムに、どのように流すかに関する方法と、を定義する。
[0025]具体的な実装では、収集は、多種多様の公的および私的なネットワーク化されたサービスからソースイベントに具体的な収集アダプタをサポートすることができ、これらのサービスは、RSS、AtomおよびODataフィード、これに限定されないがIMAPおよびPOP3プロトコルをサポートすることを含む電子メールのメールボックス、ツイッタータイムラインまたはフェイスブックウォールのようなソーシャルネットワーク情報ソース116、および、Windows(登録商標) Azure Service BusまたはアマゾンのSimple Queue Serviceのような外部の発行/購読インフラストラクチャ上の購読を含む。
イベントの規格化
[0026]購読者に手渡されている発行/購読インフラストラクチャ上で、購読者が実際にイベントを消費できるようにするために、イベントデータを規格化する。この文脈において、規格化とは、様々な文脈の購読者の広い一組にとって関心のある情報項目の一貫した表現を有する共通のイベントモデルに、イベントをマップすることを意味する。ここで選ばれたモデルは、システムによってそれ以上解釈されないデータの単一で不透明なバイナリチャンクが付随することができるキー/バリューペアのフラットリスト形式のイベントの単純な表現である。イベントのこの表現は、大部分の発行/購読インフラストラクチャ上で容易に表現可能であり、またHTTPなどの一般のインターネットプロトコルに非常にきれいにマップする。
[0027]イベント規格化を例示するために、RSSまたはAtomフィードエントリのイベント104へのマッピングを考慮する(図1および図2を参照のこと)。RSSおよびAtomは、しばしば時間順にニュースおよび他の現在情報を発行するために非常に広く用いられ、またその情報を構造化された方法のコンピュータプログラムで処理できるように助ける、2つのインターネット標準である。RSSおよびAtomは、非常に類似する構造および一組の異なる名称であるが意味的には同一であるデータ要素を共有する。それで、第1の規格化ステップは、表題または概要のような、両方の標準で定義されるこのような意味的に同一である要素のためのキーとして共通の名称を定義することである。第2に、一方の標準でのみ発生し、他の標準では発生しないデータは、通常それぞれの「ネイティブな」名称でマップされる。さらに、これらの種類のフィードは「拡張」をしばしば有する。それは中心的な標準では定義されないデータ項目であるが、しかし追加データを追加するためにそれぞれの標準における拡張性機能を用いている。
[0028]これらの拡張のいくつかは、これに限定されないが、ジオロケーションのためのGeoRSSまたはAtomフィードへ構造化データを埋め込むためのODataを含み、異なるイベントソース116の全体で共有される共通の方法でマップされ、それによって、イベントが生成される発行/購読インフラストラクチャ上の購読者は、データがRSSまたはAtomまたはツイッタータイムラインのどれから取得されたかに関係しない、均一な様式でジオロケーション情報を解釈することができる。GeoRSSの例を続けると、地理上の「点」を表現する単純なGeoRSS表現は、このようにして、WGS84座標を表現する一対の数値的「緯度」/「経度」属性にマップされ得る。
[0029]ODataのような複合的な構造化データをもたらす拡張は、基礎的なイベントモデルを複雑にすることなく、複合タイプの構造およびデータを保存するマッピングモデルを実装することができる。いくつかの実施形態は、JSONのような標準的でコンパクトな複合データ表現に規格化し、複合データ属性、人物情報、およびJSONの順に並べられた形式で表現されるアドレス情報をマップする。例えば、複合データタイプ「パーソン」のOData属性「テナント」をキー/バリューペアにマップし、ここでキーは属性名「テナント」であり、バリューは名前で個人を記述する複合データである。RSSまたはAtomのように、データソースがXMLドキュメントである場合には、XMLによって提供される構造を保存するJSONにXMLデータを転記することによって、バリューを作成することができるが、しかし、これは属性および要素のようなXMLの特殊性をフラットにし、同じXML要素ノードの下位であるXML属性および要素の両方が、さらなる差別化なしに「同胞」としてJSON属性にマップされることを意味する。
ソースおよび分割
[0030]一実施形態のアーキテクチャは、「ソース記述」レコードのデータソース116に関するメタデータを獲得し、それをソースデータベース138に格納することができる。「ソース記述」は、一組の共通要素およびデータソースに特有な一組の要素を有することができる。共通要素は、ソースの名称、ソース116が有効であるとみなされる期間、人間が読み取れる記述、および差別化のためのソース116のタイプを含むことができる。ソースに特有な要素は、ソース116のタイプに依存し、ネットワークアドレス、アドレスによって表現されるリソースにアクセスするための証明書もしくは他のセキュリティキー材料、およびRSSフィードをチェックするための時間間隔を提供するような特定の方法でデータ収集を実行するか、または特定の方法でイベントの転送を実行するように、ソース収集アダプタに指示するメタデータを含むことができる。例えば、それは、それが構築されるべきエンドツーエンドの経験である場合には、通知受取人が限定されたスクリーン表面上のバラバラのニュース項目を見る機会を得るように、少なくとも60秒間隔で、時事ニュースフィードから取得したイベントの間隔をあけるなどの方法である。
[0031]ソース記述は、ソースデータベース138などの1つまたは複数の記憶装置に保持される。ソース記述は、2つの異なる軸に沿ったこれらの記憶装置全体にわたって、そして、その中で分割することができる。
[0032]第1の軸は、システムテナントによる差別化である。システムテナントまたは「名前空間」は、システム内の構成要素の分離した範囲を作成するメカニズムである。具体的な場合を示すと、「フレッド」が一実施形態を実装するシステムのユーザである場合には、フレッドは、システムの他のソース116から完全に独立しているソース記述および構成および状態を保持することができる、分離した仮想環境をフレッドに提供するテナント範囲を作成することができる。この軸は、具体的には、格納されたメタデータ(パスワードなどのセキュリティ極秘データを含む可能性がある)の分離をテナントが必要とする場合、または、技術的、規制上の、または事業上の理由によって、記憶装置全体のソース記述を広げるための差別化要因として役立つことができる。システムテナントは、ソース記述データが保持され、そこからデータ収集が実行されることになっている、特定のデータセンターに対して親和性を表現することもできる。
[0033]第2の軸は、所定の識別子範囲から選択される数値的パーティション識別子による差別化であってもよい。パーティション識別子は、例えば、ソース名およびテナント識別子などのソース記述に含まれる不変量から導き出すことができる。パーティション識別子は、ハッシュ関数を用いてこれらの不変量から導き出すことができ(多くの候補のうちの1つはジェンキンズハッシュでありhttp://www.burtleburtle.net/bob/hash/doobs.htmlを参照のこと)、結果として生じるハッシュ値は、おそらくハッシュ値にモジュロ関数を用いて、パーティション識別子範囲に算出される。識別子範囲は、これまでシステムで保持されている全てのソース記述を格納するために必要となることを予想した記憶装置パーティションの最大数よりも大きく(そして、実質的により大きくなる可能性がある)選ばれる。
[0034]記憶装置パーティションを導入することは、容量限界によって一般に動機づけされ、それは基礎をなすデータストア上の記憶容量割当に直接関係するか、あるいは収集エンジン118に影響を及ぼす容量限界、例えば所与のデータセンターまたはデータセンターセクションのバンド幅制約条件に関係する。そして、それは結果として、入場のバンド幅のニーズを満たす異なるデータセンターまたはデータセンター部分にわたって容量を利用する収集パーティション140を作成する実施形態とすることができる。記憶装置パーティションは、識別子範囲全体のサブセットを所有し、ソース記述レコードの記憶装置パーティション(および、それにアクセスするために必要なソース)との関連は、このように、そのパーティション識別子から直接推測することができる。
[0035]記憶装置分割軸を提供することの他に、パーティション識別子は、スケジューリングもしくは収集ジョブのために、また所与のソース記述に対する収集パーティション140の所有権関係(記憶装置パーティションとの関係とは潜在的に異なる)を明確に定義するためにも用いられる。
所有権および収集パーティション
[0036]システムの各ソース記述は、特定の収集パーティション140によって所有され得る。システムが並行して複数の場所の正確に同じソース116からイベントを取得せず、このために重複するイベントが生成される場合があるので、明確で一意の所有権が用いられる。これをより具体的にすると、テナントの範囲内で定義される1つのRSSフィードは、システムの正確に1つの収集パーティション140によって所有され、パーティションの中では、いかなる時点においても特定のフィードにおいて1つの予定された収集が実行される。
[0037]収集パーティション140は、パーティション識別子範囲の所有権を得るために、ソース記述の所有権を獲得する。識別子範囲は、フェイルオーバー能力を有し、マスター/バックアップの所有者を割り当てることができる外部の専門の分割システムを用いて、あるいは、パーティション識別子範囲が、収集エンジンの役割を負う異なる計算インスタンスの数全体にわたって均等に分散される、より単純なメカニズムを用いて、収集パーティション140に割り当てることができる。外部の分割システムを用いるより洗練された実装では、システムが、パーティションが以前の所有者をもっていなかったことを意味する「冷えた」状態から始動する場合に、パーティションの選ばれたマスター所有者はジョブのスケジューリングの種を播く役割を果たす。より単純なシナリオでは、パーティションを所有する計算インスタンスは、スケジューリングの種を播くことを所有する。
スケジューリング
[0038]収集ジョブのスケジューリングのニーズは、具体的なソースの性質に依存するが、しかし、一般的にはいくつかの記載された実施形態で実現される2種類の収集モデルがある。
[0039]第1のモデルでは、所有者は、ソースのネットワークサービス上の接続または長時間にわたるネットワーク要求のいくつかの形式を起動し、データグラムまたはストリームの形式でその接続に返されるデータを待つ。通常長いポーリングとも呼ばれる長時間にわたる要求の場合には、タイムアウトが発生するまで、または、データが利用可能になるまで、ソースネットワークサービスは要求を続ける。次に、収集アダプタは、ペイロード結果を伴って、または伴わずに要求が完了するのを待ち、それから要求を再発行する。その結果、この収集スケジューリングモデルは、ソース116の所有者がソースについて学習すると開始される「堅い」ループの形式を有し、現行の接続または要求が完了するか、または一時的に中断されると、新規な要求または接続が直ちに開始される。所有者が堅いループを即時制御する状態にあるので、所有者が実行中である間は、ループは確実に動作状態に保持され得る。所有者が停止し、また再始動すれば、ループもまた再始動する。所有権が変更されれば、ループは停止し、新しい所有者がループを始動する。
[0040]第2のモデルでは、ソースのネットワークサービスは、それが利用可能になると、データをもたらす長時間にわたる要求または接続をサポートしないが、しかしクエリーがあればいつでも直ちに応答する正規の要求/応答サービスである。このようなサービス、およびこれは多くのウェブリソースに当てはまるが、持続する堅いループにおいてデータを要求することによって、ソース116上の莫大な量の負荷が生じ、単にソース116が変更されていないことを示すか、または、最悪の場合には、ソース116が何度も同一データを搬送することを示すだけの著しいネットワークトラフィックも生じる。タイムリーなイベント収集のニーズのバランスをとって、無益なクエリートラフィックでソース116に過負荷をかけないために、収集エンジン118は、したがって「時間を定めた」ループにおいて要求を実行する。そのループにおいては、ソース116に対する要求は、それらの考慮すべき点のバランスをとり、またソース116からのヒントを考慮に入れるインターバルに基づいて、周期的に実行される。ソース116の所有者がソースについて学習すると、「時間を定めた」ループが開始される。
[0041]時間を定めたループの2つの注目すべき実施変形例がある。第1の変形例は、小規模のベストエフォートシナリオのためのものであって、スケジューリングのためのローカルなインメモリータイマーオブジェクトを用い、それは規模、制御および再起動特性を堅いループのものと同様なものとする。ループは開始されて、直ちに、収集ジョブの最初の繰返しを実行させるタイマーコールバックの予定を組む。そのジョブが完了し(エラーを伴っていても)、ループが実行し続けると決定されると、ジョブが次に実行される瞬間のために別のタイマーコールバックの予定が組まれる。
[0042]第2の変形例は「予定されたメッセージ」を用いる。それは、Windows(登録商標) Azure Service Busを含むいくつかの発行/購読システムの特徴である。この変形例は、いくらかより高い複雑さを犠牲にして、著しくより高い収集規模を提供する。スケジューリングループが所有者によって開始され、メッセージが収集パーティションのスケジューリングキューに入れられる。そのメッセージは、ソース記述を含む。それは、その後収集ジョブを実行する作業者に拾われて、結果として生じるイベントをターゲットの発行/購読システムに登録する。最後に、それはまた、スケジューリングキューに新しい「予定された」メッセージを登録する。そのメッセージは、スケジューリングキュー上のいかなる消費者によっても検索可能になる時刻という特徴があるので、それは「予定された」と呼ばれる。
[0043]このモデルでは、主にスケジューリングの種を播き、実際の収集ジョブを実行するいかなる数の「作業者」役割ともペアになり得る、1つの「所有者」役割を有することによって、収集パーティション140をスケールアウトすることができる。
ソースアップデート
[0044]システムが動作しているときに、収集パーティション140は、観察すべき新しいソース116について、そして、どのソース116がもはや観察すべきでないかについて学習可能であることを必要とする。検出された回復不能なまたは一時的なエラーのために、(後述するように)ソース116をブラックリストに記載する場合を除き、これについての決定は典型的にはユーザの役目であって、マネジメントサービス142とのインタラクションの結果である。このような変更を伝達するために、収集システムは、基礎をなす発行/購読インフラストラクチャの「ソースアップデート」トピックを維持する。各収集パーティション140は、適格なメッセージを収集パーティションの所有された範囲の中にパーティション識別子を担持するものに限定するフィルタ条件を有する購読のためのトピック上の専用の購読を有する。これによって、マネジメントサービス142は、新規のまたは使われなくなったソース116についてアップデートを設定し、パーティション所有権の配布についての知識を必要とせずに、正しいパーティション140にそれらを送ることが可能になる。
[0045]マネジメントサービス142は、ソース記述、パーティション識別子(上述したフィルタ目的のための)、およびソース116が追加されるべきか、またはソース116がシステムから除去されるかどうかを指示する動作識別子を含むトピックに対して、アップデート命令を出す。
[0046]一旦、収集パーティション140の所有者がコマンドメッセージを読み出すと、それは新規なソース116のための新規な収集ループの予定を組み、あるいは、それは既存の収集ループを中断して保留にするか、または廃棄する。
ブラックリストへの記載
[0047]データ収集に失敗するソース116は、一時的に、または、永久にブラックリストに記載され得る。一時的なブラックリストへの記載は、ソース116のネットワークリソースが利用できないか、または出された収集要求に直接関係しないエラーを返す場合に実行される。一時的にブラックリストに記載する期間は、エラーの性質に依存する。エラー条件が相手方によって解決されると期待される場合には、(堅い、または時間を定めた)定期的なスケジューリングループを中断して、ループ(コールバックまたは予定されたメッセージの方法によって)の次の繰返しを予定に組み入れることによって、一時的なブラックリストへの記載が実行される。
[0048]エラーが収集要求の直接の結果であると決定される場合には、永久的なブラックリストへの記載が実行される。それは、要求によって認証もしくは認可エラーが生じているか、または、リモートソース116がいくつかの他の要求エラーを示していることを意味する。リソースが永久にブラックリストに記載される場合には、ソース116は、パーティション記憶装置のブラックリストに記載されたことをマークされ、収集ループは直ちにアボートされる。永久にブラックリストに記載されたソース116を回復させるためには、おそらく要求の動作変更をもたらす構成変更とともに、記憶装置のブラックリストマークを除去して、ソースアップデートトピックを介して収集ループを再開することが必要となる。
[0049]次に図2を参照して、システムの代替例を示す。図2は、多数の異なるソースからの情報が多数の異なるターゲットに配信される一例を示す。いくつかの例では、単一のソースからの情報、または複数のソースから集約された情報は、多数のターゲットに配信される単一のイベントを作成するために用いることができる。いくつかの実施形態では、これは、添付した図2に示すように、ファンアウトトポロジーを用いて達成され得る。
[0050]図2は、ソース116を示す。後で本明細書において議論されるように、実施形態は収集パーティション140を利用することができる。収集パーティション140の各々は、多くのソース116を含むことができる。多数の多様なソース116が潜在的にあり得る。ソース116は情報を提供する。そのような情報は、例えば、これらに限定されないが、電子メール、テキストメッセージ、リアルタイム株価速報、リアルタイムスポーツスコア、ニュースアップデートなどを含んでもよい。
[0051]図2は、各パーティションが、例示する収集エンジン118などの収集エンジンを含むことを示す。収集エンジン118は、ソース116から情報を収集し、情報に基づいて、イベントを生成する。図2に示す例では、様々なソースを用いて収集エンジンによって生成される多くのイベントを示す。説明のためにイベント104−1を用いる。いくつかの実施形態では、本明細書でさらに説明するように、イベント104−1を規格化することができる。収集エンジン118は、ネットワーク上のソース116から情報を収集する、インターネットなどのネットワーク上のサービスであってもよい。
[0052]図2は、イベント104−1を配布トピック144に送信することを示す。配布トピック144は、多くの配布パーティションに対してイベントを出力する。配布パーティション120−1を、配布パーティションの全てのための相似形として用いる。配布パーティションは、購読によって表現される多くのエンドユーザまたはデバイスに各々サービスを提供する。配布パーティションによってサービスを提供される購読数は、他の配布パーティションの購読数と異なってもよい。いくつかの実施形態では、パーティションによってサービスを提供される購読数は、配布パーティションの収容能力に依存してもよい。あるいは、または、さらに、配布パーティションは、エンドユーザに対する論理的または地理的な近接度に基づいて、ユーザにサービスを提供するように選択されてもよい。これによって、アラートをよりタイムリーな方法でエンドユーザに配信することができる。
[0053]図示する例では、配布パーティション120−1は、配布エンジン122−1を含む。配布エンジン122−1は、データベース124−1を参照する。データベース124−1は、関連する配信ターゲット102に関する詳細を有する購読についての情報を含む。特に、データベースは、例えばターゲット102の情報を記載するプラットホーム、ターゲット102によって用いられるアプリケーション、ターゲット102のネットワークアドレス、ターゲット102を用いたエンドユーザの利用者選好などの情報を含んでもよい。配布エンジン122−1は、データベース124−1の情報を用いて、バンドル126−1を構築する。バンドル126−1は、イベント104(または少なくともイベント104からの情報)およびイベント104−1からの情報が通知として送られる先のターゲット102の中から複数のターゲット102を識別するルーティングスリップ128−1を含む。それから、バンドル126−1は、キュー130−1に置かれる。
[0054]配布パーティション120−1は、多くの配信エンジンを含んでもよい。配信エンジンは、キュー103−1からバンドルを取り出して、ターゲット102に通知を配信する。例えば、配信エンジン108−1は、キュー13−1からバンドル126−1を取り出して、ルーティングスリップ128−1で識別されるターゲット102に、イベント104の情報を送付することができる。したがって、イベント104−1の情報を含む通知134は、異なるターゲット102に適切であって、個々のターゲット102に特有の多くの異なるフォーマットで、様々な配布パーティションからターゲット102に送付することができる。これによって、個々のターゲット102のために個々に区別される個別的通知134を、配信システムを通して多数の個別的通知を配信するのではなく、配信システムの端で通常のイベント104−1から作成することができる。
[0055]以下の説明では、実行され得る多くの方法および方法動作を参照する。方法動作が特定の順序で議論され、あるいは特定の順序で生起するフローチャートで示すことができるが、具体的に述べられない限り、特定の順序は必要とされないか、あるいはある動作は実行されているその動作に先立って完了している別の動作に依存するので、特定の順序は必要とされない。
[0056]次に図3を参照して、方法300を示す。本方法は、イベントを生成するための動作を含む。本方法は、異なるソースに特有の複数の異なるプロトコルを用いて、異なるソースと通信することによって、複数の異なるソースからデータを取得することを含む(動作302)。例えば、図2は、ソース116からデータを取得するために用いることができる収集エンジン118を示す。ソース116の各々は、異なるプロトコルを用いて、収集エンジン118と通信することができる。
[0057]方法300は、取得したデータに基づいて、イベントが起こるべきであると決定すること(動作304)をさらに含む。例えば、1つまたは複数のソースからの情報、すなわち、株価速報の株価が変化したこと、スポーツスコアが変化したこと、電子メールが到着したこと、テキストメッセージが送信されたことなどの情報に基づいて、決定がなされてもよい。情報のこの変化に基づいて、イベントが生成されるべきであると決定されてもよい。
[0058]方法300は、イベントを生じさせることをさらに含み、生じたイベントは、イベントを生じさせるデータソースからのデータの特定の形にかかわりなく、消費者による一貫したイベント評価のために規格化される(動作306)。例えば、図2は、収集エンジンから生成される規格化されたイベント104を示す。規格化されたイベントは、イベント104を生じさせる情報がソース116のいずれから来たかに関係しない、一貫したフォーマットを有してもよい。
[0059]イベントがキーバリューペアを含む、方法300を実施することができ、イベントを規格化することは、取得したデータのキーに対応する取得データから、規格化されたイベントの合致するキーへ、バリューを意味的にマッピングすることを含む。例えば、イベントは、キーバリューペアとして、キー「タイトル」およびタイトルのバリューを有してもよい。ソースからのデータは、キーの1つが「タイトル」である、キーバリューペアを有してもよい。これは、ソース116からイベント104まで、情報からまっすぐにマッピングされ得る。意味的にマッピングすることは、明示的な意味的なマッピングを実行することを含んでもよい。意味的なマッピングは、取得したデータとイベントとの間でキーラベルを合致させることを含んでもよい。意味的なマッピングは、取得したデータのキーバリューペアの記述を参照することを含んでもよい。例えば、記述は、データが意味するものを定義してもよい。この記述は、データをマッピングするために用いることができる。意味的にマッピングすることは、暗黙的な意味的なマッピングを実行することを含んでもよい。
[0060]取得することがイベントを規格化するのを容易にするためにソースからメタデータを取得し、格納することを含む、方法300が実施されてもよい。
[0061]本方法は、1つまたは複数のプロセッサおよびコンピュータメモリなどのコンピュータ可読媒体を含むコンピュータシステムによって実施されてもよい。特に、コンピュータメモリは、1つまたは複数のプロセッサによって実行される場合に、様々な機能、例えば実施形態において詳述される動作を実行させるコンピュータ実行可能命令を記憶することができる。
[0062]本発明の実施形態は、以下でより詳細に議論するように、コンピュータハードウェアを含む専用のまたは汎用のコンピュータを含むか、または利用することができる。また、本発明の範囲内の実施形態は、コンピュータ実行可能命令および/またはデータ構造を運搬または格納するための物理的なおよび他のコンピュータ可読媒体を含む。このようなコンピュータ可読媒体は、汎用または専用コンピュータシステムによってアクセスすることができるいかなる利用可能な媒体であってもよい。コンピュータ実行可能命令を格納するコンピュータ可読媒体は、物理的記憶媒体である。コンピュータ実行可能命令を運搬するコンピュータ可読媒体は、伝送媒体である。したがって、例えば、これに限定されないが、本発明の実施形態は、少なくとも2種類の明確に異なるコンピュータ可読媒体を含むことができる。すなわち、物理的コンピュータ可読記憶媒体および伝送コンピュータ可読媒体である。
[0063]物理的コンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光学ディスク記憶装置(CD、DVDなど)、磁気ディスク記憶装置もしくは他の磁気記憶装置、またはコンピュータ実行可能命令もしくはデータ構造の形式で所望のプログラムコード手段を格納するために用いることができ、汎用または専用コンピュータによってアクセスすることができる他の任意の媒体を含む。
[0064]「ネットワーク」は、コンピュータシステムおよび/またはモジュールおよび/または他の電子デバイスの間の電子データの輸送を可能にする1つまたは複数のデータリンクであると定義される。情報が、ネットワークまたは別の通信接続(有線、無線、または有線もしくは無線の組合せ)を通してコンピュータに伝達され、または提供される場合には、コンピュータは、その接続を伝送媒体として適切に見る。伝送媒体は、コンピュータ実行可能命令またはデータ構造の形式で所望のプログラムコード手段を運搬するために用いることができ、汎用または専用コンピュータによってアクセスすることができるネットワークおよび/またはデータリンクを含むことができる。また、上記の組合せも、コンピュータ可読媒体の範囲内に含まれる。
[0065]さらに、様々なコンピュータシステムコンポーネントに到達するとすぐに、コンピュータ実行可能命令またはデータ構造の形式のプログラムコード手段は、伝送コンピュータ可読媒体から物理的コンピュータ可読記憶媒体へ自動的に転送され得る(または逆も同様)。例えば、ネットワークまたはデータリンクを通して受け取られるコンピュータ実行可能命令またはデータ構造は、ネットワークインターフェースモジュール(例えば、「NIC」)内のRAMでバッファすることができ、そして、最終的に、コンピュータシステムRAMおよび/またはコンピュータシステムのより揮発性の低いコンピュータ可読物理記憶媒体に転送することができる。したがって、コンピュータ可読物理記憶媒体は、伝送媒体もまた利用する(または主に利用する)コンピュータシステムコンポーネントに含まれ得る。
[0066]コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに、特定の機能または機能グループを実行させる命令およびデータを含む。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間フォーマット命令、またはソースコードであってもよい。本発明の主題が、構造的特徴および/または方法論的な動作に特有の言語で記載されているが、添付した特許請求の範囲で定義される発明の主題が、上述した特徴または動作に必ずしも限定されるわけではないことを理解すべきである。むしろ、記載された特徴および動作は、特許請求の範囲を実施することの例示的形式として開示される。
[0067]当業者は、本発明が多くの種類のコンピュータシステム構成を有するネットワークコンピューティング環境で実施できることを理解するであろう。コンピュータシステム構成は、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、ページャ、ルータ、スイッチなどを含む。本発明は、ローカルおよびリモートコンピュータシステムの両方がタスクを実行する分散システム環境において実施されてもよい。それらは、ネットワークを通して(有線データリンク、無線データリンク、または、有線および無線データリンクの組合せによって)リンクされる。分散システム環境では、プログラムモジュールは、ローカルおよびリモートメモリ記憶デバイスに置かれてもよい。
[0068]本発明は、その趣旨または特徴を逸脱せずに、他の具体的な形式で実施することができる。記載された実施形態は、あらゆる点で例示的なものにすぎず、限定的なものではないとみなされるべきである。本発明の範囲は、したがって、上記の記載ではなく、添付した特許請求の範囲によって示される。特許請求の範囲と等価な意味および範囲内に入る全ての変更は、それらの範囲内に包含されるべきである。

Claims (7)

  1. イベント(events)を生成する(emitting)方法であって、
    異なるソースに特有の(specific)複数の異なるプロトコルを用いて、前記異なるソースと通信することによって、複数の前記異なるソースからデータを取得する(acquiring)ステップと、
    前記取得したデータに基づいて、イベントが起こるべきであると決定するステップと、
    イベントを生じさせるステップであって、前記生じたイベントは、前記イベントを生じさせる(resulting in)前記データソースからの前記データの特定の(specific)形(shape)にかかわりなく、消費者による一貫した(consistent)イベント評価(evaluation)のために規格化される(normalized)、ステップと
    を含む方法。
  2. 前記イベントは、キーバリュー(key value)ペア(pairs)を含み、前記イベントを規格化するステップは、前記取得したデータのキーに対応する前記取得したデータから、前記規格化されたイベントの合致する(matching)キーへ、バリューを意味的に(semantically)マッピングする(mapping)ステップを含む、請求項1に記載の方法。
  3. 意味的にマッピングするステップは、明示的な(explicit)意味的な(semantic)マッピングを実行するステップを含む、請求項2に記載の方法。
  4. 明示的な意味的なマッピングを実行するステップは、前記取得したデータと前記イベントとの間でキーラベル(key labels)を合致させる(matching)ことを含む、請求項3に記載の方法。
  5. 明示的な意味的なマッピングを実行するステップは、前記取得したデータのキーバリューペアの記述(description)を参照する(referencing)ステップを含む、請求項3に記載の方法。
  6. 意味的にマッピングするステップは、暗黙的な(implicit)意味的な(semantic)マッピングを実行するステップを含む、請求項2に記載の方法。
  7. 取得するステップは、イベントを規格化する(normalizing events)のを容易にする(facilitate)ために、前記ソースからメタデータ(metadata)を取得し、格納するステップを含む、請求項1に記載の方法。
JP2014529928A 2011-09-12 2012-09-10 イベントデータを取得するスケールアウトシステム Active JP6067714B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161533667P 2011-09-12 2011-09-12
US201161533669P 2011-09-12 2011-09-12
US61/533,667 2011-09-12
US61/533,669 2011-09-12
US13/278,408 2011-10-21
US13/278,408 US8694462B2 (en) 2011-09-12 2011-10-21 Scale-out system to acquire event data
PCT/US2012/054347 WO2013039796A2 (en) 2011-09-12 2012-09-10 Scale-out system to acquire event data

Publications (2)

Publication Number Publication Date
JP2014526743A true JP2014526743A (ja) 2014-10-06
JP6067714B2 JP6067714B2 (ja) 2017-01-25

Family

ID=47830731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014529928A Active JP6067714B2 (ja) 2011-09-12 2012-09-10 イベントデータを取得するスケールアウトシステム

Country Status (5)

Country Link
US (1) US8694462B2 (ja)
EP (1) EP2756421A4 (ja)
JP (1) JP6067714B2 (ja)
KR (1) KR101950050B1 (ja)
WO (1) WO2013039796A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021523436A (ja) * 2018-05-03 2021-09-02 マイクロソフト テクノロジー ライセンシング,エルエルシー 入力および出力スキーママッピング

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595322B2 (en) 2011-09-12 2013-11-26 Microsoft Corporation Target subscription for a notification distribution system
US20140178035A1 (en) * 2012-12-21 2014-06-26 Kindoma, Inc. Communicating with digital media interaction bundles
US9847918B2 (en) * 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
US9830603B2 (en) 2015-03-20 2017-11-28 Microsoft Technology Licensing, Llc Digital identity and authorization for machines with replaceable parts
US10366130B2 (en) * 2015-12-28 2019-07-30 Sap Portals Israel Ltd. Generation of complementary applications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284334A (ja) * 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
US20060052089A1 (en) * 2004-09-04 2006-03-09 Varun Khurana Method and Apparatus for Subscribing and Receiving Personalized Updates in a Format Customized for Handheld Mobile Communication Devices
JP2008210040A (ja) * 2007-02-23 2008-09-11 Toshiba Corp 変換プログラム
JP2009181548A (ja) * 2008-02-01 2009-08-13 Yokogawa Electric Corp アグリゲーション装置及びアグリゲーションシステム
US20100083124A1 (en) * 2008-09-26 2010-04-01 Fwix, Inc. System and method for aggregating web feeds relevant to a geographical locale from multiple sources

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209955B1 (en) 1998-05-29 2007-04-24 Research In Motion Limited Notification system and method for a mobile data communication device
US6298378B1 (en) 1998-12-04 2001-10-02 Sun Microsystems, Inc. Event distribution system for computer network management architecture
US6751657B1 (en) 1999-12-21 2004-06-15 Worldcom, Inc. System and method for notification subscription filtering based on user role
WO2001053947A1 (fr) 2000-01-18 2001-07-26 Fujitsu Limited Dispositif de compte-rendu d'information de message pour systeme sous surveillance
US20050278416A1 (en) 2000-02-29 2005-12-15 Alan Kay Marketplace system computer network
AU2001240077A1 (en) 2000-05-19 2001-12-03 Channelogics, Inc. Allocating access across shared communications medium
US6766368B1 (en) 2000-05-23 2004-07-20 Verizon Laboratories Inc. System and method for providing an internet-based correlation service
US7743114B1 (en) 2000-06-30 2010-06-22 Automated Business Companies Automated data delivery systems
US7287089B1 (en) 2000-10-25 2007-10-23 Thomson Financial Inc. Electronic commerce infrastructure system
US6725446B1 (en) * 2000-11-01 2004-04-20 Digital Integrator, Inc. Information distribution method and system
US20030182414A1 (en) 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7516208B1 (en) 2001-07-20 2009-04-07 International Business Machines Corporation Event database management method and system for network event reporting system
CA2361861A1 (en) 2001-11-13 2003-05-13 Ibm Canada Limited-Ibm Canada Limitee Wireless messaging services using publish/subscribe systems
US7369984B2 (en) 2002-02-01 2008-05-06 John Fairweather Platform-independent real-time interface translation by token mapping without modification of application code
US20030191856A1 (en) 2002-04-08 2003-10-09 Paul Lewis Wireless networking with dynamic load sharing and balancing
US7676812B2 (en) 2002-06-10 2010-03-09 Microsoft Corporation Large scale event notification system
US20040203644A1 (en) 2002-06-13 2004-10-14 Anders Randal Alan Customized notification
US20040002958A1 (en) 2002-06-26 2004-01-01 Praveen Seshadri System and method for providing notification(s)
US8086849B2 (en) 2002-08-02 2011-12-27 Microsoft Corporation Secure internet-scale eventing
US20040064387A1 (en) 2002-09-30 2004-04-01 Clarke William D. Customized event messaging in an electronic bill presentment and payment system
US6874000B2 (en) 2002-10-08 2005-03-29 Food Security Systems, Llc System and method for identifying a food event, tracking the food product, and assessing risks and costs associated with intervention
DE10254055B4 (de) 2002-11-19 2006-10-26 Deutsche Post Ag System und Verfahren zur automatisierten Erzeugung von druckbaren Dateien aus Daten
US7617160B1 (en) 2003-02-05 2009-11-10 Michael I. Grove Choice-based relationship system (CRS)
US7062272B2 (en) 2003-02-18 2006-06-13 Qualcomm Incorporated Method and apparatus to track count of broadcast content recipients in a wireless telephone network
US7765281B1 (en) 2003-03-10 2010-07-27 Motive, Inc. Large-scale targeted data distribution system
JP2004326480A (ja) 2003-04-25 2004-11-18 Hitachi Ltd 大量データの分散並列分析方法
US20060235715A1 (en) 2005-01-14 2006-10-19 Abrams Carl E Sharable multi-tenant reference data utility and methods of operation of same
US7617162B2 (en) 2005-03-04 2009-11-10 Atul Saini Real time push notification in an event driven network
US20060224772A1 (en) 2005-04-04 2006-10-05 Digital Shoeboxes Llc Apparatus and computer readable medium for transporting and processing digital media
US7774792B2 (en) 2005-07-05 2010-08-10 Microsoft Corporation Automatic create, update and delete event publishing
US7461039B1 (en) 2005-09-08 2008-12-02 International Business Machines Corporation Canonical model to normalize disparate persistent data sources
US8572088B2 (en) * 2005-10-21 2013-10-29 Microsoft Corporation Automated rich presentation of a semantic topic
US20070112635A1 (en) 2005-11-14 2007-05-17 Sanjin Loncaric System and method for monitoring, aggregation and presentation of product prices collected from multiple electronic marketplaces
US8374591B2 (en) 2006-03-03 2013-02-12 Samsung Electronics Co., Ltd Method and system for providing notification message in a mobile broadcast system
US8280843B2 (en) 2006-03-03 2012-10-02 Microsoft Corporation RSS data-processing object
US8588578B2 (en) 2006-03-29 2013-11-19 Transpacific Digidata, Llc Conversion of video data to playable format
US20070260674A1 (en) 2006-05-02 2007-11-08 Research In Motion Limited Push framework for delivery of dynamic mobile content
US20080063154A1 (en) 2006-08-09 2008-03-13 Yossi Tamari System and method of customized event notification
US7917418B2 (en) 2006-12-04 2011-03-29 Archipelago Holdings, Inc. Efficient data dissemination for financial instruments
US20080285542A1 (en) 2007-05-18 2008-11-20 Alcatel Lucent Location based presence groups
KR20090001946A (ko) 2007-05-29 2009-01-09 주식회사 신한은행 금융상품 자동전환 방법 및 시스템과 이를 위한 프로그램기록매체
CA2690555C (en) 2007-06-01 2016-11-01 Ften, Inc. Method and system for monitoring market data to identify user defined market conditions
US20080306984A1 (en) 2007-06-08 2008-12-11 Friedlander Robert R System and method for semantic normalization of source for metadata integration with etl processing layer of complex data across multiple data sources particularly for clinical research and applicable to other domains
WO2009067709A2 (en) * 2007-11-21 2009-05-28 Motive, Incorporated Service management system and method of executing a policy in a network
US7817544B2 (en) 2007-12-24 2010-10-19 Telefonaktiebolaget L M Ericcson (Publ) Methods and apparatus for event distribution in messaging systems
US8200206B2 (en) 2008-04-21 2012-06-12 W2Bi, Inc. Virtual mobile and Ad/Alert management for mobile devices
US20120005025A1 (en) 2008-07-02 2012-01-05 Cvon Innovations Ltd. Methodologies and systems for enhanced contact directory-related functionality
US9112707B2 (en) 2008-08-15 2015-08-18 International Business Machines Corporation System and method for providing location based services using collaborative networks
US8321401B2 (en) 2008-10-17 2012-11-27 Echostar Advanced Technologies L.L.C. User interface with available multimedia content from multiple multimedia websites
US8064896B2 (en) 2009-03-09 2011-11-22 Apple Inc. Push notification service
US8819258B2 (en) 2009-05-07 2014-08-26 International Business Machines Corporation Architecture for building multi-media streaming applications
US8521809B2 (en) 2009-07-31 2013-08-27 Z2Live, Inc. Mobile device notification controls system and method
US20110153349A1 (en) 2009-10-15 2011-06-23 3M Innovative Properties Company Health care delivery monitoring systems and methods
US20110125753A1 (en) 2009-11-20 2011-05-26 Rovi Technologies Corporation Data delivery for a content system
KR20110071828A (ko) 2009-12-21 2011-06-29 한국전자통신연구원 콘텐츠 변환 장치 및 방법
US20110161167A1 (en) 2009-12-30 2011-06-30 Srikanth Jallapuram Social media platform for providing interactive services
US20110167357A1 (en) 2010-01-05 2011-07-07 Todd Benjamin Scenario-Based Content Organization and Retrieval
US20110282949A1 (en) 2010-05-11 2011-11-17 Leon Rivkin Unified message management method and system
US8428227B2 (en) 2010-05-18 2013-04-23 Certicall, Llc Certified communications system and method
US20110321062A1 (en) 2010-06-26 2011-12-29 Cisco Technology, Inc. Capturing events from and providing targeted messages to a digital media device
US20130054706A1 (en) 2011-08-29 2013-02-28 Mary Graham Modulation of Visual Notification Parameters Based on Message Activity and Notification Value
US8595322B2 (en) 2011-09-12 2013-11-26 Microsoft Corporation Target subscription for a notification distribution system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284334A (ja) * 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
US20060052089A1 (en) * 2004-09-04 2006-03-09 Varun Khurana Method and Apparatus for Subscribing and Receiving Personalized Updates in a Format Customized for Handheld Mobile Communication Devices
JP2008210040A (ja) * 2007-02-23 2008-09-11 Toshiba Corp 変換プログラム
JP2009181548A (ja) * 2008-02-01 2009-08-13 Yokogawa Electric Corp アグリゲーション装置及びアグリゲーションシステム
US20100083124A1 (en) * 2008-09-26 2010-04-01 Fwix, Inc. System and method for aggregating web feeds relevant to a geographical locale from multiple sources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021523436A (ja) * 2018-05-03 2021-09-02 マイクロソフト テクノロジー ライセンシング,エルエルシー 入力および出力スキーママッピング
JP7360395B2 (ja) 2018-05-03 2023-10-12 マイクロソフト テクノロジー ライセンシング,エルエルシー 入力および出力スキーママッピング

Also Published As

Publication number Publication date
JP6067714B2 (ja) 2017-01-25
KR20140063688A (ko) 2014-05-27
EP2756421A2 (en) 2014-07-23
WO2013039796A3 (en) 2013-05-10
KR101950050B1 (ko) 2019-02-19
US20130066828A1 (en) 2013-03-14
EP2756421A4 (en) 2015-06-03
US8694462B2 (en) 2014-04-08
WO2013039796A2 (en) 2013-03-21

Similar Documents

Publication Publication Date Title
JP6126099B2 (ja) タイムリーイベントデータ分配用マーケットプレイス
US10924414B2 (en) Processing high volume network data
US9208476B2 (en) Counting and resetting broadcast system badge counters
US8595322B2 (en) Target subscription for a notification distribution system
CN113037823B (zh) 消息传递系统和方法
US20130067024A1 (en) Distributing multi-source push notifications to multiple targets
US8584136B2 (en) Context-aware request dispatching in clustered environments
US9003062B1 (en) Framework for exchanging large B2B transactional in-order messages using distributed file system (DFS) and associated method
US10484190B2 (en) Managing channels in an open data ecosystem
JP6067714B2 (ja) イベントデータを取得するスケールアウトシステム
US20130066980A1 (en) Mapping raw event data to customized notifications
US20170064027A1 (en) Data caching in a collaborative file sharing system
US8751711B2 (en) Storage topology manager
JP2014531072A (ja) 多数のデバイスへのイベントの配信
US11601495B2 (en) Mechanism for a work node scan process to facilitate cluster scaling
Zhang et al. A cloud queuing service with strong consistency and high availability
CN111163117B (zh) 一种基于Zookeeper的对等式调度方法和装置
CN103051666B (zh) 横向扩展系统以获取事件数据

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161221

R150 Certificate of patent or registration of utility model

Ref document number: 6067714

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250