JP6030144B2 - 分散データストリーム処理の方法及びシステム - Google Patents

分散データストリーム処理の方法及びシステム Download PDF

Info

Publication number
JP6030144B2
JP6030144B2 JP2014537381A JP2014537381A JP6030144B2 JP 6030144 B2 JP6030144 B2 JP 6030144B2 JP 2014537381 A JP2014537381 A JP 2014537381A JP 2014537381 A JP2014537381 A JP 2014537381A JP 6030144 B2 JP6030144 B2 JP 6030144B2
Authority
JP
Japan
Prior art keywords
data
data stream
real
time
processing
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.)
Active
Application number
JP2014537381A
Other languages
English (en)
Other versions
JP2014531092A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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
Priority claimed from CN201110378247.3A external-priority patent/CN103136217B/zh
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2014531092A publication Critical patent/JP2014531092A/ja
Application granted granted Critical
Publication of JP6030144B2 publication Critical patent/JP6030144B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

[関連出願の相互参照]
本出願は、あらゆる目的のために、参照によって本明細書に組み込まれる、2011年11月24日に出願された発明の名称を「A DISTRIBUTED STREAM DATA PROCESSING METHOD AND CORRESPONDING SYSTEM(分散ストリームデータを処理する方法及び対応するシステム)」とする中国特許出願第201110378247.3号に基づく優先権を主張する。
本出願は、分散データストリーム処理の方法及びシステムに関する。
データストリーム処理は、データマイニング及びデータ分析の主要手段の1つになっている。データストリームの一例は、ウェブログであり、これは、大量のデータを含むデータストリームである。データストリームの別の一例は、製品投稿情報を絶えず追加し続けたりテキストメッセージ伝送記録を絶えず追加し続けたりする電子商取引ウェブサイトである。このようなデータストリームは、以下の特徴を有する。すなわち、(1)大量のデータ、(2)各データが識別子(ID)を有し、各IDの特性分析が必要である、及び(3)例えば時系列的性質などの時間属性である。
データストリーム分析は、総じて、分析がリアルタイムに尚且つ高速に実施されることを要する。したがって、データストリーム分析システムは、特定のユーザの現時点の操作に基づいて、リアルタイムな応答を提供することができる。例えば、ログのリアルタイム分析を実施することによって、ユーザの現時点の状態及び最近のアクセス活動を分析し、推薦の精度を効果的に高める又はリアルタイムなスパム防止を提供することができる。しかしながら、リアルタイム要件を満たすために高速でデータストリームを分析することは、常に、技術的に困難であった。なかでも特に、データ量が非常に大きいときは、技術的分析はよりいっそう困難である。
従来の分散データストリーム処理システムの一実施形態が、図1に示されている。生データストリームSが、複数の機能モジュールFに分散される。複数の機能モジュールFは、処理を同時的に実施し、処理の結果をデータ統合モジュールIに伝送する。データ統合モジュールIは、処理されたデータを統合し、統合されたデータを出力する。しかしながら、既存の分散データストリーム処理システムでは、以下の制約が生じる。
(1)大量のデータを有するデータストリームの処理では、データ処理及びデータ分析に、非常に時間を要するようになる。また、既存の分散データストリーム処理システムは、一般に、共有メモリモデルを利用する。共有メモリモデルは、異なるモジュール間でデータを交換する方法である。具体的には、データの交換は、上流モジュールと下流モジュールとの間で発生する。例えば、モジュールAの結果は、メモリ(データベースやファイルなど)のなかに置かれ、次いで、モジュールBが、そのメモリからそれらの結果を読み出す。こうして、モジュールAとモジュールBとの間でデータ交換が発生する。このようなモデルでは、リアルタイム計算は容易に実現可能ではなく、疑似リアルタイム計算のみが実現可能である。言い換えると、モデルが既存のデータストリームの処理を扱うことができないときは、既存の処理技術の大半は、リアルタイムデータストリーム内の大量のデータの成長速度を満足させることができず、データ処理における遅延は、比較的長くなるだろう。したがって、オフラインでしかデータ分析を実施することができず、これは、データ分析及びデータマイニングにおける更なる遅延につながる。したがって、これらの遅延ゆえに、ユーザの現時点の又は最近の操作に適時に応答することは困難である。
(2)大量のデータを処理するものとして、分散並列計算が既に普及してきている。しかしながら、既存の並列計算システムは、基本的に、機能的再現(機能再生)のフレームワークに限定される。機能的再現は、並列計算を実施する方法であり、この方法では、全ての計算モデルが同じ機能を有し、尚且つ同じプロセスを実行している。計算モジュールどうしは、計算されるデータのみが異なっており、計算システムは、これらの計算モジュールを使用して並列計算を実施する。したがって、これらの計算モジュールゆえに、より正確に並列計算を実施することは不可能である。また、これらの計算モジュールゆえに、モジュール化及びホップスワップの実現は不可能である。また、計算モジュールのメインテナンスを実施することは困難である。
以下の詳細な説明及び添付の図面のなかで、本発明の様々な実施形態が開示される。
本出願の実施形態は、図面を参照にして以下で説明される。
従来の分散データストリーム処理システムの一例を示す概略図である。
大データ量分散データストリーム処理システムの一実施形態を示す概略図である。
図2の大データ量分散データストリーム処理システムに対応する大データ量分散データストリーム処理方法の一実施形態を示すフローチャートである。
リアルタイム処理システムの一実施形態を示す概略図である。
図4のリアルタイム処理システムに対応するリアルタイム処理方法の一実施形態を示すフローチャートである。
大データ量分散データストリーム処理システムの別の一実施形態を示す図である。
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能なストレージ媒体に実装されたコンピュータプログラム製品、並びに/又は結合先のメモリに記憶された命令及び/若しくは結合先のメモリによって提供される命令を実行するように構成されるプロセッサなどのプロセッサのような、数々の形態で実現することができる。本明細書では、これらの実現形態、又は本発明がとりうるその他のあらゆる形態が、技術と称されるだろう。総じて、開示されたプロセスのステップの順序は、本発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されたものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実現されてよい。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成される1つ以上のデバイス、回路、並びに/又は処理コアを言う。
本発明の原理を例示する添付の図面とともに、以下で、本発明の1つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態との関わりのもとで説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、及び均等物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されたものであり、本発明は、これらの詳細の一部又は全部を伴わずとも、特許請求の範囲にしたがって実施されえる。明瞭さを期するために、本発明に関係する技術分野で知られる技術要素は、本発明が不必要に不明瞭にされないように、詳細な説明を省略されている。
本出願は、以下で詳しく説明される。
本出願の方法及びシステムの実施形態は、ウェブログデータストリームの例を使用して以下で説明されるが、本出願は、システムの、個別推薦、リアルタイムスパム防止、製品一覧、テキストメッセージ伝送、科学計算データなどのデータストリームを処理するためにも使用されてよいことがわかる。
図2は、大データ量分散データストリーム処理システムの一実施形態を示す概略図である。
図2の大データ量分散データストリーム処理システムは、データ認識モジュール10と、現時点から30日を超える(30日超)データ処理システム20と、リアルタイムデータ処理システム30と、現時点から30日以内(30日以内)データ処理システム40と、データ統合モジュール50とを含む。データ認識モジュール10は、生(未加工)データストリームに含まれるデータがリアルタイムデータであるか、30日以内データであるか、又は30日超データであるかを決定する。30日超データ処理システム20、リアルタイムデータ処理システム30、及び30日以内データ処理システム40は、それぞれ、データを処理し、その処理されたデータをデータ統合モジュール50に伝送する。データ統合モジュール50は、受信されたデータを統合する。これらのモジュールは、1台のコンピュータ若しくは計算能力若しくは処理能力を有する類似の機器、複数のそのような機器で形成されたネットワーク、又はそのような機器のハードウェア若しくはソフトウェアの一部分によって実現されてよい。
図3は、大データ量分散データストリーム処理方法の一実施形態を示すフローチャートである。大データ量分散データストリーム処理方法は、図の大データ量分散データストリーム処理システム上で実施することができる。
ステップS100:生データストリーム100が取り出される。ウェブログデータストリームの例を使用すると、生データストリームは、未処理のウェブログを含む。
ステップS101:データ認識モジュール10によって生データストリーム100が取り出された後、データ認識モジュール10は、生データストリーム100に含まれるデータがリアルタイムデータであるか、30日以内データであるか、又は30日超データであるかを決定する。一部の実施形態では、この決定は、データに関連付けられたタイムスタンプを評価することによってなされる。データ認識モジュール10は、そうして、生データストリーム100を時系列的に、30日超データストリーム200と、リアルタイムデータストリーム300と、30日以内データストリーム400とに分割する。30日超データストリーム200は、30日超データ処理システム20に伝送され、リアルタイムデータストリーム300は、リアルタイムデータ処理システム30に伝送され、30日以内データストリーム400は、30日以内データ処理システム40に伝送される。一部の実施形態では、データストリームは、そのデータストリームが過去2日以内に受信された場合にリアルタイムデータストリームであると決定され、2日前よりも古いデータストリームは、30日以内データストリームであると決定される。一部の実施形態では、リアルタイムデータを30日以内データから区別する時点が、1日、1週間、又はその他の任意の長さの時間であってよい。
ステップS102:30日超データ処理システム20は、30日超データストリーム200からの30日超データを処理し、その処理結果をデータ統合モジュール50に伝送する。ステップS103:リアルタイムデータ処理システム30は、リアルタイムデータストリーム300からのリアルタイムデータを処理し、その処理結果をデータ統合モジュール50に伝送する。ステップS104:30日以内データ処理システム40は、30日以内データストリーム400からの30日以内データを処理し、その処理結果をデータ統合モジュール50に伝送する。ステップS102、S103、及びS104は、並列に実行される。
リアルタイムデータストリーム300からのデータは、ユーザ行動を含むことができる。例えば、各ユーザクリックが、リアルタイムデータストリーム300の中の一項目であってよい。この項目は、ユーザ情報、行動情報、時間などを含むことができる。
リアルタイムデータ処理システム30の場合は、リアルタイムデータストリーム300の各項目が、ユーザのリアルタイム行動を表すことができ、リアルタイムで処理することができる。すなわち、リアルタイムデータストリーム300は、ユーザが何を行ったかと、リアルタイムデータ処理システム30によって決定された対応するリアルタイム判断とを含むことができる。同じ項目は、ログファイルに記録され、2日後に、30日以内データ処理システム40が、そのログファイルを処理する。その後、30日以内データ処理システム40の結果が、データ統合モジュール50に送信される。
一方で、リアルタイムデータ処理システム30は、リアルタイムデータストリーム300を処理し続ける。リアルタイムデータ処理システム30からの結果が計算される。また、このときに、30日以内データ処理システム40の結果も計算される。
30日超データ処理システム20及び30日以内データ処理システム40の場合は、その相違は、30日超データ処理システム20が30日超データを処理し、30日以内データ処理システム40が30日以内データを処理することである。これらのデータ処理システムの結果は、データ統合システム50によって合体される。したがって、全てのデータが処理される。
一部の実施形態では、リアルタイムデータ処理システム30と30日以内データ処理システム40とが、同じデータを処理する。すなわち、リアルタイムデータストリーム300からのデータと、30日以内データストリーム400からのデータとが同じである。リアルタイムデータストリーム300は、リアルタイムデータ処理システム30及びログファイルに同時に書き込まれる。そのログファイルの日々のコピーが、30日以内データ処理システム40に出力される。30日以内データ処理システム40は、ログファイルを日々読み出し、30日以内データストリーム400を処理し、その結果を出力する。30日以内データ処理システム40の結果は、ログファイルにデータが出力された実際の時間の2日後に、30日以内データ処理システム40によって使用される。言い換えると、リアルタイムデータ処理システム30は、リアルタイムデータストリーム300からのデータを2日以内に処理し、30日以内データ処理システム40は、その結果を2日遅れで生成する。リアルタイムデータ処理システム30は、リアルタイムデータストリーム300からのデータ(2日以内のデータであって、リアルタイム結果を形成するデータ)を維持及び処理するものであり、リアルタイムデータストリーム300からのデータが30日以内データ処理システム40によって処理及び使用されるまでには、2日間の遅れがある。リアルタイムデータ処理システム30及び30日以内データ処理システム40の結果は、その後、2日経過した時点で合体される。
一部の実施形態では、リアルタイムデータ処理システム30は、リアルタイムデータストリーム300からのデータを、そのデータが入力される時点で処理する。更に、リアルタイムデータ処理システム30は、新しいデータが受信されると常に、その受信されたデータをリアルタイムで処理する。
ステップS105:データ統合モジュール50は、30日超データ処理システム20、リアルタイムデータ処理システム30、及び30日以内データ処理40から受信された処理結果を統合し、統合されたデータを出力する。一部の実施形態では、30日超データ処理システム20及び30日以内データ処理システム40は、ログファイルへの出力を行う。30日超データ処理システム20によって処理されたデータは、30日超のタイムスタンプを有し、30日以内データ処理システム40によって処理されたデータは、30日以内のタイムスタンプを有する。一部の実施形態では、処理システム20、30、及び40からの処理結果は、統合を容易にするために同じ形式を有する。
統合結果は、ユーザの行動と、それに対応するユーザの操作とを提供することができる。例えば、リアルタイム処理システム30は、ユーザAが製品p1及びp2を購入したことを決定することができる。それらの結果は、データ統合モジュール50に送信される。それと同時に、データ統合モジュール50は、30日以内データ処理システム40からの結果も処理することができる。30日以内データ処理システム40からの結果は、ユーザAが30日以内にp3、p2、及びp4も購入したことを示すことができる。それと同時に、データ統合モジュール50は、30日超データ処理システム20からの結果も処理することができる。30日超データ処理システム20からの結果は、30日前よりも以前に製品p5、p6、及びp7が購入されたことを示す。データ統合モジュール50は、ユーザAの全ての操作の記録を提供する。
生データストリーム100は、データ認識モジュール10によって、3つの既定の時間制限で分けられた30日超データストリーム200、リアルタイムデータストリーム300、及び30日以内データストリーム400を含む3つの異なるデータストリームに分割される。しかしながら、当業者ならば、実際の要件に基づいて、その他の時間制限を使用して生データストリームを分割してよい。例えば、生データストリームは、2つ以下の若しくは4つ以上の時間区分に分割されてよく、30日区分以外の時間制限又は「リアルタイム」であると見なされる時間範囲が、実際の要件に基づいて決定されてよい。
上記のように、大データ量分散データストリーム処理方法は、基本的に、3段階に分割される。これら3つの段階は、時系列的な分割、データ処理、及びデータ統合を含む。
時系列的な分割の段階では、ウェブログデータが絶えず増加し続けているので、データ認識モジュール10は、先ず、リアルタイムデータストリーム300をリアルタイム処理システム30に伝送し、過去データストリームは、過去データ処理システムに伝送される。過去データストリームは、30日超データストリーム200と、30日以内データストリーム400とを含んでいてよく、過去データ処理システムは、30日超データ処理システム20と、30日以内データ処理システム40とを含んでいてよい。過去データストリームのデータは、既にファイルに記憶されているので、過去データストリームは、リアルタイム処理システム30には送信されない。
データ処理の段階では、過去処理システム及びリアルタイム処理システムが、異なる時間区分からのデータを並列に処理する。
データ統合の段階では、異なる時間区分からのデータの並列処理の結果が、データ統合モジュール50に伝送される。結果が統合された後、その統合された結果は、外部サービスに出力されてよい。
データを複数のデータストリームに時系列的に分割するシステムの利点の1つは、時系列的性質を有する大量データストリームの処理がより速やかに実施されうることにある。
データストリームのなかの各情報(例えば特定のログデータ)がタイムスタンプを有すると想定すると、最も早いデータから現在のデータまでのデータ(増え続ける)が、合計のデータストリームを構成している。特定の時点が、分割点として設定されてよい。データストリームのデータは、設定された分割点に基づいて、過去データとリアルタイムデータとに分割されてよい。データストリームに関して、過去データは、時間分割点前の特定の時点で既に存在していたと想定され得る。例えば、時間分割点よりも1日早くストリームされたデータは、リアルタイムで処理される必要はなく、オフラインで処理されてよい。その後、リアルタイム処理システムの結果と、過去データ処理システムの結果とが統合されてよい。
過去データとリアルタイムデータとの別々の処理、及び過去データのオフライン処理は、リアルタイム計算を著しく軽減するだろう。リアルタイム計算の削減は、より速やかにリアルタイムデータが計算されることを可能にする。それと同時に、過去データもまた、より徹底的に計算されるだろう。
過去データは、30日超データ処理システム20及び30日以内データ処理システム40によって出力されたログファイルを言う。リアルタイム処理システム30によって処理されたデータは、リアルタイムで処理される。30日超データ処理システム20及び30日以内データ処理システム40の場合は、処理されるデータが速く変化せず、したがって、データは、過去データと称される。
一例では、過去データとリアルタイムデータとの異なる処理は、異なる計算プラットフォーム及び異なる計算方法で表される。30日超データ処理システム20は、大半のデータを処理するので、30日超データ処理システム20は、分散プラットフォームを使用することができる。30日以内データ処理システム40は、30日超データ処理システム20ほど多くのデータは処理しないので、30日以内データ処理システム40は、データウェアハウスプラットフォームを使用することができる。リアルタイム処理システム30は、例えば2日分のデータのように、最も少ないデータを処理し、しかしながら、リアルタイム計算を必要とするので、リアルタイム処理システム30は、リアルタイム処理のために複数のマシンを使用し、データをメモリに記憶させることができる。
30日超データ処理システム20及び30日以内データ処理システム40は、複雑な式を使用すること及びオフラインでデータを処理することができるので、30日超データ処理システム20及び30日以内データ処理システム40は、計算の正確さを必要とし、計算の時間及び効率に関しては、あまり問題にされない。例えば、30日超データ処理システム20及び30日以内データ処理システム40は、ユーザ嗜好の減衰の計算において、指数関数を使用してよい。他方で、リアルタイム処理システム30は、リアルタイム計算を使用しており、事象に対してリアルタイムに応答しなければならない。したがって、リアルタイム処理システム30は、速やかに計算を実施し、正確さは効率よりも重要でない。
プロセスの一実施形態は、異なる時間区分(リアルタイムな時間区分及び過去の時間区分を含む)からのデータを処理するために、データを順次分割し、異なる時間区分からのデータの並列処理に進む。したがって、本出願は、リアルタイムデータが適時に処理されることを保証する。
リアルタイムデータ処理システムのパフォーマンスを更に向上させるために、リアルタイムデータ処理システムは、次元にしたがって、時間的に分離されたデータストリームを異なるデータ単位に更に分割してよい。本明細書で使用される次元とは、データの性質又はタイプを言う。例えば、異なる次元を有するデータは、異なるタイプの機能モジュールによって処理されてよい。データの情報の単位、すなわちデータ単位は、データブロックと呼ばれてよい。データの情報の単位(データブロック)の処理は、リアルタイムデータ処理システム30の一実施形態を使用して以下で説明される。
例えば、データは、ユーザの行動に関するものであってよい。データは、製品の閲覧、情報のレビュー、キーワードの探索などに関する情報を含むことができる。異なるデータタイプは、それぞれ、異なる次元を指しており、異なる次元は、それぞれ、異なるモジュールによって計算することができる。
例えば、モジュールM1は、ユーザがどのような情報を好むかを決定するために、ユーザの閲覧情報の記録を処理し、モジュールM2は、ユーザがどのような製品を好むかを決定するために、ユーザが訪れている製品の記録を処理し、モジュールM3は、ユーザがどのようなキーワードを好むかを決定するために、ユーザのキーワード検索の記録を処理する。モジュールM1、M2、及びM3は、互いに独立しており、並列に処理することができる。モジュールM1、M2、及びM3からの結果を合体させたものが、ユーザの嗜好を示す。ユーザ嗜好は、情報嗜好、製品嗜好、キーワード嗜好、及びその他の任意の適切な次元を含む。
図4は、リアルタイム処理システムの一実施形態を示す概略図である。
図4に示されるように、リアルタイム処理システム30は、1つの水平分割モジュール400と、複数のN縦分割モジュール500と、各N縦分割モジュール500が複数の関連のM機能モジュールを有する複数のN×M機能モジュール群600と、結果集約モジュール700とを含む。本出願において、「水平」という用語は、分割のレベルを特定することのみを意図しており、方向性の概念を特定することは意図していない。本出願において、「垂直」という用語は、分割のレベルを特定することのみを意図しており、方向性の概念を特定することは意図していない。
図5は、リアルタイム処理方法の一実施形態を示すフローチャートである。この方法は、図4のリアルタイム処理システム30によって実施することができる。
ステップS200:リアルタイムデータストリーム300が取り出される。
ステップS201:水平分割モジュール400が、取り出されたリアルタイムデータストリーム300を複数のNデータブロック(1、2、…… N)に分割する。ステップS201における分割は、水平分割として言及される。水平分割は、既定の時間分割点に基づいていてよい。一部の実施形態では、時間分割点は、リアルタイムデータストリームを30日以内データストリームから分ける時点である。例えば、過去データが日付によって記憶されており、図2の30日超データ処理システム20は、30日よりも前のデータを処理し、図2の30日以内データ処理システム40は、2日間遅れの30日以内のデータを使用して30日以内データを処理し、図2のリアルタイム処理システム30は、最新2日間のデータを処理する。水平分割モジュール400は、分割されたデータブロックを対応する複数のN垂直分割モジュール500に伝送する。
この例では、30日分割を手動で設定することができる。一部の実施形態では、設定は、設定ファイルを通じて変更することができる。モジュール1〜Nは、それぞれ、同じ能力(M1、M2、…… )を有する。例えば、ユーザの嗜好を計算するためには、ユーザ1の情報がリアルタイムで得られたときに、モジュールM1(hash(user1)=1)を使用してユーザ1の嗜好を計算するために、マッピング技術(例えばhash)が使用される。同様に、ユーザ2の情報がリアルタイムで得られたときは、3(hash(user2)=3)が得られ、したがって、ユーザ3のデータが、処理のためにモジュールM3に送信される。モジュールM1、M2、M3などは、それぞれ、異なるユーザからのデータを同時に処理することができる。
図4に示されるように、第1のデータブロックは、第1の垂直分割モジュール500に伝送され、第2のデータブロックは、第2の垂直分割モジュール500に伝送され、これは、以下同様に、第Nのデータブロックが第Nの垂直分割モジュール500に伝送されるまで続く。リアルタイムデータストリームは、制限はないが、一過性である。N垂直分割モジュール500は、それぞれ、その垂直分割モジュール500によるデータブロックの処理が完了した後に再び使用されてよい。したがって、垂直分割モジュール500の数は、リアルタイムデータストリームの(データ)流量に基づいて決定されてよい。
ステップS202:各垂直分割モジュール500は、受信されたデータブロックを複数のデータ単位に分割する。実際の状況によっては、受信されたデータブロックは、M個の多さのデータ単位に分割されてよい。一部の実施形態では、モジュールの数Mは、利用可能なリソースに基づいて、すなわち利用可能なマシンの数に基づいて決定される。一部の実施形態では、モジュールの数Mは、設定ファイルによって決定される。設定ファイルの内容は、利用可能なリソースを表している。このステップにおけるデータブロックの分割は、垂直分割として言及され、該垂直分割は、次元に基づいていてよい。各垂直分割モジュール500は、分割されたデータ単位を、機能モジュール群600に含まれる複数の異なる機能モジュールに別々に伝送する。機能モジュールの番号は、データ単位の番号に対応していてよい。機能モジュールの数は、M個の多さであってよい。
垂直分割は、異なる次元のデータを取り上げて、その垂直分割データを、それぞれ異なる機能を有する異なる処理モジュールに送信する。異なる処理モジュールは、垂直分割データを並列に処理する。ユーザ嗜好に関係する3つの次元の例として、製品嗜好、情報嗜好、及びキーワード嗜好が挙げられ、これらは、それぞれ異なる処理モジュールに送信される。
別の例として、製品の情報のリアルタイム処理が挙げられる。製品の情報がリアルタイム処理システム30に入力されたときに、製品情報は、製品の写真情報、製品の価格、製品の名前などの次元を含んでいる。この時点で、分割モジュールは、製品情報を分割する。例えば、分割モジュールは、写真情報を写真処理モジュールに送信し、価格情報を価格処理モジュールに送信し、名前情報を内容処理モジュールに送信する。これらの異なるモジュールは、異なる次元を処理する。合体された結果が、製品情報を処理した結果である。この例では、異なる情報次元を処理するために、異なるモジュールが事前に定められる。
図4に示されるように、第1の垂直分割モジュール500は、データブロック1をM個のデータ単位に分割し、第1のデータ単位を第1の機能モジュール群600の第1の機能モジュールに伝送し、第2のデータ単位を第1の機能モジュール群600の第2の機能モジュールに伝送し、これは、以下同様に、第1の垂直分割モジュール500が第Mのデータ単位を第Mの機能モジュールに伝送するまで続けられる。
したがって、図2のリアルタイムデータストリーム300の流量が十分に大きいことを受けて、第2の垂直分割モジュール500は、データブロック2を複数のMデータ単位に分割し、第1のデータ単位を第2の機能モジュール群600の第1の機能モジュールに伝送し、第2のデータ単位を第2の機能モジュール群600の第2の機能モジュールに伝送し、これは、以下同様に、第2の垂直分割モジュール500が第Mのデータ単位を第2の機能モジュール群600の第Mの機能モジュールに伝送するまで続けられる。
したがって、リアルタイムデータストリーム300の流量が十分に大きいことを受けて、その他の垂直分割モジュール500は、その他のデータ単位をその他の機能モジュール群600の機能モジュールに伝送してよい。垂直分割モジュール500、機能モジュール群600、及び機能モジュール群600に含まれる機能モジュールの数は、リアルタイムデータストリーム300の流量に基づいて決定されてよい。
ステップS203:各機能モジュールは、受信されたデータ単位を処理し、その処理の結果を結果集約モジュール700に伝送する。
ステップS202及びステップS203は、並列に実行することができる。
ステップS204:結果集約モジュール700は、受信された結果を集約させ、その集約結果を出力する。
本出願で説明されるように、リアルタイムデータストリームは、水平に分割され、同じ機能をそれぞれ有する各プロセッサに割り当てられる。プロセッサは、並列に処理を実施し、これは、リアルタイムデータストリームの処理の速度を大幅に増加させる。プロセッサは、垂直分割モジュール500に対応していてよい。
次いで、垂直分割モジュール500は、次元にしたがってデータの垂直分割を実施する。言い換えると、垂直分割モジュール500は、データから、異なる次元のデータ単位を抽出する。続いて、対応する次元のデータ単位が、対応する機能処理モジュールに伝送され、それらのデータ単位は、機能処理モジュールによって並列に処理される。機能処理モジュールは、機能モジュールに対応していてよい。
生データストリームに対応するウェブログデータストリームの例に基づくと、ウェブログデータストリームは、先ず、複数のログ情報データブロックに水平分割されてよい。該水平分割は、時間に基づいていてよい。一部の実施形態では、データブロックは、リアルタイムデータブロックと、30日以内データブロックと、30日超データブロックとに分割される。各ログ情報データブロックは、対応する垂直分割モジュール500に割り当てられてよい。続いて、各垂直分割モジュール500は、対応するログ情報データブロックを別の次元にしたがって垂直分割する。その別の次元は、時間に対応していなくてよい。例えば、ログ情報データブロックから、製品情報が抽出されてよく、該抽出された製品情報は、製品処理要素に送信されてよく、それと並列に、ログ情報データブロックからキーワード情報が抽出されてよく、該抽出されたキーワード情報は、キーワード処理要素に送信されてよい。この例では、各情報ブロックは、更に、より細かい粒度を有する更に小さいデータ単位に分割される。これらの更に細かいデータ単位は、並列処理のために、様々な機能モジュールに分散される。別の例では、機能モジュールがリアルタイムウェブログデータストリームを処理する間に、製品情報機能モジュールが製品情報データを処理し、アクセス経路機能モジュールがアクセス経路データを処理し、これらの各機能モジュールは、データを並列に処理する。続いて、並列に処理されるために、ユーザ情報及び製品情報は、ユーザ情報及び製品情報に基づいて製品の推薦を行う推薦機能モジュールに送信されてよく、ユーザ情報及びアクセス経路情報は、スパム防止モジュールに送信されてよく、その他の情報は、その他の機能モジュールに送信されてよい。
スパム防止モジュールに送信されうる情報の一例は、ユーザの訪問回数が所定の時間内における閾値を超えたことをリアルタイム処理システム30が決定したときに、発生することができる。例えば、情報は、ユーザが5分以内に200回訪問したときに、スパム防止モジュールに送信することができる。
別の例は、ユーザが衣類及び低価格を好むことを過去データが示しているときである。しかしながら、もしある日、ユーザが高価格の電気製品を何度も訪問したならば、その情報は、ユーザのアカウントが危険に曝されているかもしれないことを示しており、警告システムがトリガされる。
各機能モジュールの処理結果は、インテグレータ(統合部)に伝送されてよく、このインテグレータは、処理結果の統合(集約)を実施する。例えば、インテグレータは、結果集約モジュール700に対応していてよい。インテグレータは、また、図2のデータ統合モジュール50を更に含んでいてもよい。
本出願におけるデータの分割は、リアルタイムデータ処理システムの上記の実施形態を使用して説明されてきた。当業者ならば、過去データ処理システムの場合も、リアルタイムデータ処理システムと同様なフレームワークが使用されてよいことがわかる。過去データ処理システムとリアルタイムデータ処理システムとの相違は、過去データ処理が、定期的実行の方法を用いてよいことにある。定期的実行の方法は、過去データをリアルタイムに処理するのではなく一定時間ごとに処理することを伴っていてよい。したがって、低コストのクラスタ分散型の計算システムが、過去データ処理システムとして使用されてよい。
上記のように、既存の分散データストリーム処理システムと異なり、本出願は、共有メモリモデルを用いず、その代わりに、本出願は、データの時系列的性質又はその他の次元に基づいて、データに対して複数の水平分割及び垂直分割を実施する。言い換えると、本出願は、データを処理するために、時系列的性質を用いるとともに、マルチレベルフレームワークを利用する。本出願は、既存の並列計算システムで見られた機能的再現のフレームワークに限定されず、むしろ、処理のために、時間に基づいてデータを複数の区分に分割し(水平分割)、新しい分散フレームワークを使用して、異なる次元を用いてデータストリームの垂直分割を実施する(垂直分割)。言い換えると、上述された方法の並列処理では、全ての計算モジュールが、計算モジュール間で異なる部分が計算データである以外は全ての計算モジュールが同じ機能を有していて尚且つ同じプロセスを実行するのではない。したがって、本出願は、より細かい粒度でデータの並列処理を実行することができ、また、機能モジュールのモジュール化及びホットスワップを実現することもできる。したがって、機能モジュールのモジュール化能力及びホットスワップ能力が向上されているゆえに、システムは、より容易に維持することができる。
本出願は、大量のデータのリアルタイム処理を可能にする。分散並列処理は、大量のデータのリアルタイム処理を確実にする及びシステムの応答性を向上させるために、リアルタイムデータストリームを同時に処理するために使用される。
本出願に基づく大データ量分散データストリーム処理方法は、計算能力及び処理能力を有する1つの又は複数の処理機器を使用して実現されてよい。本出願に基づく大データ量分散データストリーム処理システムは、1つの又は複数の処理機器であってよい。例えば、処理機器は、コンピュータによって実行可能な命令を走らせる1台の又は複数のコンピュータであってよい。個々のモジュール又は要素は、機器のコンポーネントであって、コンピュータによって実行可能な命令が処理機器によって実行されるときに対応する機能を有するものであってよい。本出願に基づく一実施形態では、上記の大データ量分散データストリーム処理方法及び対応するシステムを実現するために、Linux(登録商標)又はWindows(登録商標)をベースにしたシステム上で、JAVA(登録商標)又はSQLなどの言語が使用されてよい。
図6は、図4のリアルタイム処理システムに対応するリアルタイム処理方法の一実施形態を示すブロック図である。この例では、システム602は、複数のアプリケーションサーバ612、614、616、及び618を含む。例示を目的として、4つのアプリケーションサーバが使用されているが、その他の実施形態では、異なる数のアプリケーションサーバが使用されてよい。604や606などのクライアントからのリアルタイムデータストリームが、アプリケーションサーバによって受信される。クライアント及びアプリケーションサーバは、TCP/IP又はその他の任意のネットワークプロトコルを通じて通信してよい。
アプリケーションサーバ612、614、616、及び618は、生データストリームをリアルタイムデータストリームと過去データストリームとに分割するように構成されたデータ認識モジュールと、リアルタイムデータストリームと過去データストリームとを並列に処理し、それぞれの処理結果を別々に生成するように構成された並列処理モジュールと、生成された処理結果を統合するように構成されたデータ統合モジュールとを含む。
上述されたモジュールは、1つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、又はプログラム可能論理装置及び/若しくは特定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、又はそれらの組み合わせとして実装することができる。一部の実施形態では、モジュールは、本発明の実施形態で説明される方法を(パソコン、サーバ、ネットワーク機器などの)計算装置に実行させるための幾つかの命令を含み尚且つ(光ディスク、フラッシュストレージデバイス、モバイルハードディスクなどの)不揮発性のストレージ媒体に記憶させることができるソフトウェア製品の形で具現化することができる。モジュールは、1つのデバイスに実装されてよい、又は複数のデバイスに分散されてよい。モジュールの機能は、互いに合体されてよい、又は複数の小モジュールに更に分割されてよい。
本出願は、代表的な実施形態との関連のもとで既に説明されているが、使用された用語は、説明のための代表的な用語であって、制限的な用語ではないことが、理解されるべきである。本出願は、本発明の主旨又は実態から逸脱することなく多様な形態で実現することができ、したがって、上記の実施形態は、上記のいずれの詳細によっても制限されず、添付の特許請求の範囲の主旨及び範囲内であるものと広義に解釈されるべきであることが、理解されるべきである。したがって、特許請求の範囲又はそれらの均等物の範囲内に入るあらゆる変更及び修正が、添付の特許請求の範囲によって網羅されるべきである。
以上の実施形態は、理解を明瞭にすることを目的として、幾らか詳細に説明されてきたが、本発明は、与えられた詳細に限定されない。本発明を実現するには、多くの代替的手法がある。開示された実施形態は、例示的なものであり、非限定的である。
適用例1:分散データストリーム処理方法であって、生データストリームをリアルタイムデータストリームと過去データストリームとに分割し、前記リアルタイムデータストリームと前記過去データストリームとを並列に処理し、前記リアルタイムデータストリーム及び前記過去データストリームのそれぞれの処理結果を別々に生成し、前記それぞれの生成された処理結果を統合すること、を備える方法。
適用例2:適用例1に記載の方法であって、前記リアルタイムデータストリームを処理することは、次元に基づいて実施され、前記リアルタイムデータストリームのあるデータブロックは、前記リアルタイムデータストリームの別のデータブロックと並列に処理される、方法。
適用例3:適用例2に記載の方法であって、前記リアルタイムデータストリームを処理することは、前記リアルタイムデータストリームを複数のデータブロックに分割し、各データブロックを複数のデータ単位に分割し、前記複数のデータ単位を並列に処理し、前記複数のデータ単位の処理の結果を集約させること、を含む、方法。
適用例4:適用例1に記載の方法であって、前記過去データストリームを処理することは、次元に基づいて前記過去データストリームを分割することを含み、前記過去データストリームの分割は、並列に実施される、方法。
適用例5:適用例3に記載の方法であって、前記リアルタイムデータストリームを前記複数のデータブロックに分割することは、時間に基づく、方法。
適用例6:適用例1に記載の方法であって、前記リアルタイムデータストリームと前記過去データストリームとは別に処理される、方法。
適用例7:適用例4に記載の方法であって、前記次元は、ユーザの行動に関する、方法。
適用例8:適用例4に記載の方法であって、ユーザの異なる嗜好は、異なる次元に対応し、異なる次元に関するデータ単位は、別々のモジュールによって処理される、方法。
適用例9:分散データストリーム処理装置であって、少なくとも1つのプロセッサであって、生データストリームをリアルタイムデータストリームと過去データストリームとに分割し、前記リアルタイムデータストリームと前記過去データストリームとを並列に処理し、それぞれの処理結果を別々に生成し、前記それぞれの生成された処理結果を統合するように構成されている、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに接続され、前記少なくとも1つのプロセッサに命令を提供するように構成されているメモリと、を備える、装置。
適用例10:適用例9に記載の装置であって、前記リアルタイムデータストリームを処理することは、次元に基づいて前記リアルタイムデータストリームを分割することを含み、前記リアルタイムデータストリームのあるデータブロックは、前記リアルタイムデータストリームの別のデータブロックと並列に処理される、装置。
適用例11:適用例10に記載の装置であって、前記リアルタイムデータストリームを処理することは、前記リアルタイムデータストリームを複数のデータブロックに分割し、各データブロックを並列に複数のデータ単位に分割し、前記複数のデータ単位を、それらを並列に処理するために、対応する複数の機能モジュールに伝送し、前記複数の機能モジュールによるデータ処理の結果を集約させること、を含む、装置。
適用例12:適用例9に記載の装置であって、前記過去データストリームを処理することは、次元に基づいて前記過去データストリームを分割し、前記過去データストリームの並列処理を実施することを含む、装置。
適用例13:適用例11に記載の装置であって、前記リアルタイムデータストリームを前記複数のデータブロックの分割は、時間に基づく、装置。
適用例14:非一過性のコンピュータ読み取り可能ストレージ媒体に実装された、生データストリームを処理するためのコンピュータプログラム製品であって、前記生データストリームをリアルタイムデータストリームと過去データストリームとに分割するためのコンピュータ命令と、前記リアルタイムデータストリームと前記過去データストリームとを並列に処理するためのコンピュータ命令と、前記リアルタイムデータストリーム及び前記過去データストリームのそれぞれの処理の結果を別々に生成するためのコンピュータ命令と、前記それぞれの生成された処理結果を統合するためのコンピュータ命令と、を備えるコンピュータプログラム製品。
適用例15:適用例14に記載のコンピュータプログラム製品であって、前記リアルタイムデータストリームを処理することは、次元に基づいて実施され、前記リアルタイムデータストリームのあるデータブロックは、前記リアルタイムデータストリームの別のデータブロックと並列に処理される、コンピュータプログラム製品。
適用例16:適用例15に記載のコンピュータプログラム製品であって、前記リアルタイムデータストリームを処理することは、前記リアルタイムデータストリームを複数のデータブロックに分割、各データブロックを並列に複数のデータ単位に分割し、前記各データ単位を分割することを受けて、前記複数のデータ単位を並列処理のために対応する複数の機能モジュールに別々に伝送し、前記複数の機能モジュールの処理結果を集約させること、を含む、コンピュータプログラム製品。
適用例17:適用例14に記載のコンピュータプログラム製品であって、前記過去データストリームを処理することは、次元に基づいて前記過去データストリームを分割することを含み、前記過去データストリームの分割は、並列に実施される、コンピュータプログラム製品。
適用例18:適用例16に記載のコンピュータプログラム製品であって、前記リアルタイムデータストリームを前記複数のデータブロックの分割は、時間に基づく、コンピュータプログラム製品。
適用例19:分散データストリーム処理システムであって、複数のアプリケーションサーバを備え、前記複数のアプリケーションサーバは、生データストリームをリアルタイムデータストリームと過去データストリームとに分割するように構成されたデータ認識モジュールと、前記リアルタイムデータストリームと前記過去データストリームとを並列に処理し、それぞれの処理結果を別々に生成するように構成された並列処理モジュールと、前記それぞれの生成された処理結果を統合するように構成されたデータ統合モジュールと、を含む、システム。
適用例20:適用例19に記載のシステムであって、前記並列処理モジュールは、次元に基づいて前記リアルタイムデータストリームを分割し、前記リアルタイムデータストリームのあるデータブロックは、前記リアルタイムデータストリームの別のデータブロックと並列に処理される、システム。
適用例21:適用例20に記載のシステムであって、前記並列処理モジュールは、前記リアルタイムデータストリームを複数のデータブロックに分割するように構成された水平分割モジュールと、各データブロックを並列に複数のデータ単位に分割し、前記複数のデータ単位を、それらを並列に処理するために、対応する複数の機能モジュールに伝送するように構成された複数の垂直分割モジュールと、前記複数の機能モジュールによるデータ処理の結果を集約させるように構成された結果集約モジュールと、を含む、システム。
適用例22:適用例19に記載のシステムであって、前記並列処理モジュールは、次元に基づいて前記過去データストリームを分割し、前記過去データストリームの並列処理を実施する、システム。
適用例23:適用例21に記載のシステムであって、前記水平分割モジュールは、前記リアルタイムデータストリームを時間に基づいて前記複数のデータブロックに分割する、システム。

Claims (23)

  1. 分散データストリーム処理方法であって、
    データ認識モジュールによって、生データストリームに含まれているタイムスタンプおよび設定された分割点に少なくとも一部基づいて、前記生データストリームをリアルタイムデータストリームと過去データストリームとに分割し、
    複数の機能モジュールによって、
    前記リアルタイムデータストリームと前記過去データストリームとを並列に処理し、
    前記リアルタイムデータストリーム及び前記過去データストリームのそれぞれの処理結果を別々に生成し、
    データ統合モジュールによって、前記それぞれの生成された処理結果を統合すること、
    を備える方法。
  2. 請求項1に記載の方法であって、
    前記リアルタイムデータストリームを処理することは、データの性質またはタイプに基づいて実施され、前記リアルタイムデータストリームのあるデータブロックは、前記リアルタイムデータストリームの別のデータブロックと並列に処理される、方法。
  3. 請求項2に記載の方法であって、
    前記リアルタイムデータストリームを処理することは、
    前記リアルタイムデータストリームを複数のデータブロックに分割し、
    各データブロックを複数のデータ単位に分割し、
    前記複数のデータ単位を並列に処理し、
    前記複数のデータ単位の処理の結果を集約させること、
    を含む、方法。
  4. 請求項1に記載の方法であって、
    前記過去データストリームを処理することは、データの性質またはタイプに基づいて前記過去データストリームを分割することを含み、前記過去データストリームの分割は、並列に実施される、方法。
  5. 請求項3に記載の方法であって、
    前記リアルタイムデータストリームを前記複数のデータブロックに分割することは、時間に基づく、方法。
  6. 請求項1に記載の方法であって、
    前記リアルタイムデータストリームと前記過去データストリームとは別に処理される、方法。
  7. 請求項4に記載の方法であって、
    前記データは、ユーザの行動に関する、方法。
  8. 請求項4に記載の方法であって、
    ユーザの異なる嗜好は、異なるデータの性質またはタイプに対応し、異なるデータの性質またはタイプに関するデータ単位は、別々のモジュールによって処理され、前記データ単位はユーザの行動に関係する、方法。
  9. 分散データストリーム処理装置であって、
    複数のプロセッサであって、
    生データストリームに含まれているタイムスタンプおよび設定された分割点に少なくとも一部基づいて、前記生データストリームをリアルタイムデータストリームと過去データストリームとに分割し、
    前記リアルタイムデータストリームと前記過去データストリームとを並列に処理し、それぞれの処理結果を別々に生成し、
    前記それぞれの生成された処理結果を統合するように構成されている、複数のプロセッサと、
    前記複数のプロセッサに接続され、前記複数のプロセッサに命令を提供するように構成されているメモリと、
    を備える、
    装置。
  10. 請求項9に記載の装置であって、
    前記リアルタイムデータストリームを処理することは、データの性質またはタイプに基づいて前記リアルタイムデータストリームを分割することを含み、前記リアルタイムデータストリームのあるデータブロックは、前記リアルタイムデータストリームの別のデータブロックと並列に処理される、装置。
  11. 請求項10に記載の装置であって、
    前記リアルタイムデータストリームを処理することは、
    前記リアルタイムデータストリームを複数のデータブロックに分割し、
    各データブロックを並列に複数のデータ単位に分割し、前記複数のデータ単位を、それらを並列に処理するために、対応する複数の機能モジュールに伝送し、
    前記複数の機能モジュールによるデータ処理の結果を集約させること、
    を含む、装置。
  12. 請求項9に記載の装置であって、
    前記過去データストリームを処理することは、データの性質またはタイプに基づいて前記過去データストリームを分割することを含み、前記過去データストリームの分割は、並列に実施される、装置。
  13. 請求項11に記載の装置であって、
    前記リアルタイムデータストリームを前記複数のデータブロックに分割することは、時間に基づく、装置。
  14. 生データストリームを処理するためのコンピュータプログラムであって、
    前記生データストリームに含まれているタイムスタンプおよび設定された分割点に少なくとも一部基づいて、前記生データストリームをリアルタイムデータストリームと過去データストリームとに分割するための機能をデータ認識モジュールによって実現させ、
    前記リアルタイムデータストリームと前記過去データストリームとを並列に処理するための機能と、
    前記リアルタイムデータストリーム及び前記過去データストリームのそれぞれの処理の結果を別々に生成するための機能を複数の機能モジュールによって実現させ、
    前記それぞれの生成された処理結果を統合するための機能をデータ統合モジュールによって実現させる、コンピュータプログラム。
  15. 請求項14に記載のコンピュータプログラムであって、
    前記リアルタイムデータストリームを処理することは、データの性質またはタイプに基づいて実施され、前記リアルタイムデータストリームのあるデータブロックは、前記リアルタイムデータストリームの別のデータブロックと並列に処理される、コンピュータプログラム。
  16. 請求項15に記載のコンピュータプログラムであって、
    前記リアルタイムデータストリームを処理することは、
    前記リアルタイムデータストリームを複数のデータブロックに分割、
    各データブロックを並列に複数のデータ単位に分割し、
    前記各データ単位を分割することを受けて、前記複数のデータ単位を並列処理のために対応する複数の機能モジュールに別々に伝送し、
    前記複数の機能モジュールの処理結果を集約させること、
    を含む、コンピュータプログラム。
  17. 請求項14に記載のコンピュータプログラムであって、
    前記過去データストリームを処理することは、データの性質またはタイプに基づいて前記過去データストリームを分割することを含み、前記過去データストリームの分割は、並列に実施される、コンピュータプログラム。
  18. 請求項16に記載のコンピュータプログラムであって、
    前記リアルタイムデータストリームを前記複数のデータブロックの分割は、時間に基づく、コンピュータプログラム。
  19. 分散データストリーム処理システムであって、
    複数のアプリケーションサーバを備え、
    前記複数のアプリケーションサーバは、
    生データストリームに含まれているタイムスタンプおよび設定された分割点に少なくとも一部基づいて、前記生データストリームをリアルタイムデータストリームと過去データストリームとに分割するように構成されたデータ認識モジュールと、
    前記リアルタイムデータストリームと前記過去データストリームとを並列に処理し、それぞれの処理結果を別々に生成するように構成された並列処理モジュールと、
    前記それぞれの生成された処理結果を統合するように構成されたデータ統合モジュールと、
    を含む、システム。
  20. 請求項19に記載のシステムであって、
    前記並列処理モジュールは、データの性質またはタイプに基づいて前記リアルタイムデータストリームを分割し、前記リアルタイムデータストリームのあるデータブロックは、前記リアルタイムデータストリームの別のデータブロックと並列に処理される、システム。
  21. 請求項20に記載のシステムであって、
    前記並列処理モジュールは、
    前記リアルタイムデータストリームを複数のデータブロックに分割するように構成された水平分割モジュールと、
    各データブロックを並列に複数のデータ単位に分割し、前記複数のデータ単位を、それらを並列に処理するために、対応する複数の機能モジュールに伝送するように構成された複数の垂直分割モジュールと、
    前記複数の機能モジュールによるデータ処理の結果を集約させるように構成された結果集約モジュールと、
    を含む、システム。
  22. 請求項19に記載のシステムであって、
    前記過去データストリームを処理することは、データの性質またはタイプに基づいて前記過去データストリームを分割することを含み、前記過去データストリームの分割は、並列に実施される、システム。
  23. 請求項21に記載のシステムであって、
    前記水平分割モジュールは、前記リアルタイムデータストリームを時間に基づいて前記複数のデータブロックに分割する、システム。
JP2014537381A 2011-11-24 2012-11-20 分散データストリーム処理の方法及びシステム Active JP6030144B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201110378247.3 2011-11-24
CN201110378247.3A CN103136217B (zh) 2011-11-24 一种分布式数据流处理方法及其***
US13/681,271 US9250963B2 (en) 2011-11-24 2012-11-19 Distributed data stream processing method and system
US13/681,271 2012-11-19
PCT/US2012/066113 WO2013078231A1 (en) 2011-11-24 2012-11-20 Distributed data stream processing method and system

Publications (2)

Publication Number Publication Date
JP2014531092A JP2014531092A (ja) 2014-11-20
JP6030144B2 true JP6030144B2 (ja) 2016-11-24

Family

ID=48468027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014537381A Active JP6030144B2 (ja) 2011-11-24 2012-11-20 分散データストリーム処理の方法及びシステム

Country Status (5)

Country Link
US (2) US9250963B2 (ja)
EP (1) EP2783293A4 (ja)
JP (1) JP6030144B2 (ja)
TW (1) TW201322022A (ja)
WO (1) WO2013078231A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102024040B1 (ko) * 2018-04-27 2019-09-24 주식회사 명인정밀 다기능 줄자

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9100904B2 (en) * 2012-09-13 2015-08-04 First Principles, Inc. Data stream division to increase data transmission rates
US9438385B2 (en) 2012-09-13 2016-09-06 First Principles, Inc. Data stream division to increase data transmission rates
CN104298556B (zh) 2013-07-17 2018-01-09 华为技术有限公司 流处理单元的分配方法及装置
CN103595795B (zh) * 2013-11-15 2016-10-05 北京国双科技有限公司 分布式数据的处理方法和装置
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
TWI530808B (zh) * 2014-12-04 2016-04-21 知意圖股份有限公司 即時提供信息查詢的資訊系統與方法
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
CN105228131B (zh) * 2015-11-05 2018-07-31 上海斐讯数据通信技术有限公司 运算数据的协助处理方法、***及终端设备
KR101701224B1 (ko) * 2015-11-30 2017-02-01 고려대학교 산학협력단 객체 모델 기반 실시간 스트림 데이터 분산 병렬 처리 시스템
CN105630869B (zh) * 2015-12-15 2019-02-05 北京奇虎科技有限公司 一种语音数据的存储方法和装置
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US11989096B2 (en) * 2015-12-21 2024-05-21 Ab Initio Technology Llc Search and retrieval data processing system for computing near real-time data aggregations
US10162672B2 (en) * 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
CN107566450B (zh) * 2017-08-02 2020-08-28 北京奇艺世纪科技有限公司 一种实时用户行为的数据处理方法、装置及电子设备
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
CN108400992B (zh) * 2018-03-06 2020-05-26 电信科学技术第五研究所有限公司 一种流式通信数据协议解析软件框架实现***及方法
CN108897613A (zh) * 2018-05-07 2018-11-27 广西英腾教育科技股份有限公司 数据处理方法、***及计算机设备
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11204926B2 (en) 2018-10-31 2021-12-21 International Business Machines Corporation Storing partial tuples from a streaming application in a database system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
CN109597842A (zh) * 2018-12-14 2019-04-09 深圳前海微众银行股份有限公司 数据实时计算方法、装置、设备及计算机可读存储介质
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
CN115462079A (zh) * 2019-08-13 2022-12-09 深圳鲲云信息科技有限公司 神经网络数据流加速方法、装置、计算机设备及存储介质
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11762945B2 (en) * 2020-12-10 2023-09-19 International Business Machines Corporation Syncing streams by intelligent collection and analysis
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution
CN114363435B (zh) * 2021-12-31 2023-12-12 广东柯内特环境科技有限公司 环境数据监测处理方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155851A (en) 1989-05-15 1992-10-13 Bell Communications Research, Inc. Routing an incoming data stream to parallel processing stations
JPH04167079A (ja) 1990-10-31 1992-06-15 Toshiba Corp 画像処理装置
US6665684B2 (en) * 1999-09-27 2003-12-16 Oracle International Corporation Partition pruning with composite partitioning
US6850947B1 (en) * 2000-08-10 2005-02-01 Informatica Corporation Method and apparatus with data partitioning and parallel processing for transporting data for data warehousing applications
US6931390B1 (en) * 2001-02-27 2005-08-16 Oracle International Corporation Method and mechanism for database partitioning
US7213025B2 (en) * 2001-10-16 2007-05-01 Ncr Corporation Partitioned database system
US8090751B2 (en) * 2002-02-05 2012-01-03 Hewlett-Packard Development Company, L.P. Operational data store
US7340467B2 (en) * 2003-04-15 2008-03-04 Microsoft Corporation System and method for maintaining a distributed database of hyperlinks
US20040249644A1 (en) * 2003-06-06 2004-12-09 International Business Machines Corporation Method and structure for near real-time dynamic ETL (extraction, transformation, loading) processing
US7602725B2 (en) * 2003-07-11 2009-10-13 Computer Associates Think, Inc. System and method for aggregating real-time and historical data
US7457872B2 (en) 2003-10-15 2008-11-25 Microsoft Corporation On-line service/application monitoring and reporting system
US7644050B2 (en) * 2004-12-02 2010-01-05 International Business Machines Corporation Method and apparatus for annotation-based behavior extensions
US7428555B2 (en) * 2005-04-07 2008-09-23 Google Inc. Real-time, computer-generated modifications to an online advertising program
US7418394B2 (en) 2005-04-28 2008-08-26 Dolby Laboratories Licensing Corporation Method and system for operating audio encoders utilizing data from overlapping audio segments
JP4687253B2 (ja) * 2005-06-03 2011-05-25 株式会社日立製作所 ストリームデータ処理システムのクエリ処理方法
US8055575B2 (en) * 2005-10-14 2011-11-08 Financial Intergroup Holdings, Ltd. Central counterparty for data management
US8565799B2 (en) * 2007-04-04 2013-10-22 Qualcomm Incorporated Methods and apparatus for flow data acquisition in a multi-frequency network
US20110276993A1 (en) 2007-04-06 2011-11-10 Ferguson Kenneth H Media Content Programming Control Method and Apparatus
CN101286150B (zh) 2007-04-10 2010-09-15 阿里巴巴集团控股有限公司 生成更新参数的方法和装置、展示相关关键词的方法和装置
US8069190B2 (en) 2007-12-27 2011-11-29 Cloudscale, Inc. System and methodology for parallel stream processing
US7882087B2 (en) * 2008-01-15 2011-02-01 At&T Intellectual Property I, L.P. Complex dependencies for efficient data warehouse updates
US8688622B2 (en) * 2008-06-02 2014-04-01 The Boeing Company Methods and systems for loading data into a temporal data warehouse
CN101639769B (zh) * 2008-07-30 2013-03-06 国际商业机器公司 在多处理器***上对数据集进行划分及排序的方法和装置
FR2936626B1 (fr) 2008-09-30 2011-03-25 Commissariat Energie Atomique Dispositif de traitement en parallele d'un flux de donnees
CN101464884B (zh) 2008-12-31 2011-09-28 阿里巴巴集团控股有限公司 一种分布式任务***及应用该***的数据处理方法
US8380702B2 (en) * 2009-03-10 2013-02-19 Oracle International Corporation Loading an index with minimal effect on availability of applications using the corresponding table
ES2579304T3 (es) * 2009-05-04 2016-08-09 Orange Procedimiento de tratamiento de flujos en una red de comunicación
US8788928B2 (en) 2009-07-15 2014-07-22 Clandscale, Inc. System and methodology for development of stream processing applications utilizing spreadsheet interface
US20110035272A1 (en) * 2009-08-05 2011-02-10 Yahoo! Inc. Feature-value recommendations for advertisement campaign performance improvement
EP3287896B1 (en) * 2010-06-15 2023-04-26 Ab Initio Technology LLC Dynamically loading graph-based computations
US20130124483A1 (en) * 2011-11-10 2013-05-16 Treasure Data, Inc. System and method for operating a big-data platform
US9367501B2 (en) * 2011-11-10 2016-06-14 International Business Machines Corporation Dynamic streaming data dispatcher

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102024040B1 (ko) * 2018-04-27 2019-09-24 주식회사 명인정밀 다기능 줄자

Also Published As

Publication number Publication date
EP2783293A4 (en) 2016-06-01
CN103136217A (zh) 2013-06-05
US9250963B2 (en) 2016-02-02
EP2783293A1 (en) 2014-10-01
US20130139166A1 (en) 2013-05-30
TW201322022A (zh) 2013-06-01
WO2013078231A1 (en) 2013-05-30
US9727613B2 (en) 2017-08-08
US20160179898A1 (en) 2016-06-23
JP2014531092A (ja) 2014-11-20

Similar Documents

Publication Publication Date Title
JP6030144B2 (ja) 分散データストリーム処理の方法及びシステム
CN110019240B (zh) 一种业务数据交互方法、装置及***
US11888702B2 (en) Intelligent analytic cloud provisioning
US11568404B2 (en) Data monetization and exchange platform
US11295262B2 (en) System for fully integrated predictive decision-making and simulation
CN113037823B (zh) 消息传递***和方法
US11394794B2 (en) Fast ingestion of records in a database using data locality and queuing
CN106815254B (zh) 一种数据处理方法和装置
US10318988B2 (en) Managing cookie data
JP2014528126A (ja) 複数のターゲットへのマルチソースプッシュ通知の分配
US10242388B2 (en) Systems and methods for efficiently selecting advertisements for scoring
US10963920B2 (en) Web page viewership prediction
CN110727727A (zh) 一种数据库的统计方法及装置
Mătăcuţă et al. Big Data Analytics: Analysis of Features and Performance of Big Data Ingestion Tools.
US12028429B2 (en) System and method for separating content site visitor profiles
CN108337100B (zh) 一种云平台监测的方法和装置
CN107005576B (zh) 从服务器日志生成用于链接标识符的桥接匹配标识符
US20110225287A1 (en) Method and system for distributed processing of web traffic analytics data
US20220044144A1 (en) Real time model cascades and derived feature hierarchy
CN108696559B (zh) 流处理方法及装置
US10248507B1 (en) Validation of condition-sensitive messages in distributed asynchronous workflows
US9678982B2 (en) Accessibility advisement system for digital assets
US10540669B2 (en) Managing object values and resource consumption
JP6679445B2 (ja) 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法
US9148468B1 (en) Distributing shared content

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160831

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160912

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: 20160927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161019

R150 Certificate of patent or registration of utility model

Ref document number: 6030144

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