JP2006309701A - 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム - Google Patents

負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム Download PDF

Info

Publication number
JP2006309701A
JP2006309701A JP2005314537A JP2005314537A JP2006309701A JP 2006309701 A JP2006309701 A JP 2006309701A JP 2005314537 A JP2005314537 A JP 2005314537A JP 2005314537 A JP2005314537 A JP 2005314537A JP 2006309701 A JP2006309701 A JP 2006309701A
Authority
JP
Japan
Prior art keywords
processing
distribution
event
rule
server
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
JP2005314537A
Other languages
English (en)
Other versions
JP4161998B2 (ja
Inventor
Tadashi Sato
正 佐藤
Kazuhiko Isoyama
和彦 磯山
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2005314537A priority Critical patent/JP4161998B2/ja
Priority to US11/389,251 priority patent/US7856634B2/en
Publication of JP2006309701A publication Critical patent/JP2006309701A/ja
Application granted granted Critical
Publication of JP4161998B2 publication Critical patent/JP4161998B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1019Random or heuristic server selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 処理サーバを複数配置し、処理サーバの前段にコンテキスト依存振り分け器103を配置することで、それぞれの処理サーバが設定された処理ルールを実行するために必要なイベントが適切に分配させるようにコンテキスト依存振り分け器103に振り分けルールを設定する負荷分散システムを提供することを目的とする。
【解決手段】 処理の負荷分散のために、処理サーバ104a〜fを複数配置し、イベント処理分散制御部101がそれぞれの処理サーバに別個のアプリケーション106a〜hのためのイベント処理ルール108a〜fを設定する。それに従って、イベント処理分散制御部101がコンテキスト依存振り分け装置103に、各サーバが処理すべきイベントがそのサーバに分配されるようにコンテキストに基づいた振り分けルールを設定することにより、処理サーバの負荷分散を実現する。
【選択図】 図1

Description

本発明は、複数配置された処理サーバの負荷分散を実現する負荷分散振り分けシステムに関する。
従来、デバイスから発生するイベントを処理するシステムでは、図5に示すように1台の処理サーバ504で処理を行っていた。このため、デバイス505a〜fの数やイベント511a〜fの量が増加するにしたがって、処理サーバ504が処理のボトルネックとなり、システムの処理能力を上げられないという問題があった。
図6に示す負荷分散方式では、Webサービスのようなサーバクライアント方式を前提とし、各サーバ606a,bは、同一のアプリケーションプログラム608a,bを実装し、TCPコネクションやcookieを参照して、同じクライアント605a〜fからのセッションは同じサーバ606a,bに転送している。
また、特許文献1に開示されている発明では、パケットプロセッサからの応答に従って、パケット分散制御部がどのパケットプロセッサに処理を要求するか決定している。
さらに、特許文献2に開示されている発明では、プロセッサ内に振り分けプログラムを配置して、制御チャネル番号や端末番号に基づき、プロセッサ間で処理を受け渡している。
特開2000−222374号公報 特開2004−005249号公報
本発明は係る問題に鑑みてなされたものであり、処理サーバを複数配置し、処理サーバの前段にコンテキスト依存振り分け器103を配置することで、それぞれの処理サーバが設定された処理ルールを実行するために必要なイベントが適切に分配させるようにコンテキスト依存振り分け器103に振り分けルールを設定する負荷分散システムを提供することを目的とする。
上記目的を達成するために、請求項1記載の負荷分散振り分けシステムは、複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段と、複数の処理サーバに個別に処理ルールを設定し、コンテキスト依存振り分け手段が処理ルールを実行するために必要なイベントが適切に分配されるように振り分けルールを設定するイベント処理分散制御手段と有し、イベント処理分散制御手段は、処理サーバへアプリケーションが要求するイベント処理の処理ルールを設定すると共に、処理ルールに従って処理サーバへイベントが適切に振り分けられるような振り分けルールをコンテキスト依存振り分け手段に設定することを特徴とする。
請求項2記載の発明は、請求項1記載の負荷分散振り分けシステムであって、コンテキスト依存振り分け手段へ端末で発生したイベントをランダムに振り分けるコンテキスト非依存振り分け手段を備え、該コンテキスト非依存振り分け手段は、端末で発生したイベントのコンテキストを参照せずに、コンテキスト依存振り分け手段へ振り分けることを特徴とする。
請求項3記載の発明は、請求項1記載の負荷分散振り分けシステムであって、端末は、イベント処理分散制御手段によって設定される振り分けルールを備え、端末で発生したイベントを振り分けルールに従って、処理サーバへ振り分けられることを特徴とする。
請求項4記載の発明は、請求項1記載の負荷分散振り分けシステムであって、コンテキスト非依存振り分け手段を複数備え、複数のコンテキスト非依存振り分け手段の少なくとも一つでイベントの振り分けを行うと共に、コンテキスト非依存振り分け手段が互いに障害確認を行い、イベントの振り分けを行っているコンテキスト非依存振り分け手段で障害が検知された場合には、他のコンテキスト非依存振り分け手段へイベントの振り分けを切り換えることを特徴とする。
請求項5記載の発明は、請求項1から4のいずれか1項に記載の負荷分散振り分けシステムであって、コンテキスト依存振り分け手段を複数備えた場合に、複数のコンテキスト依存振り分け手段がお互いに障害確認を行うことを特徴とする。
請求項6記載の発明は、請求項4記載の負荷分散振り分けシステムであって、コンテキスト依存振り分け手段は、コンテキスト非依存振り分け手段へ障害確認の通知を行うことにより、障害が発生したコンテキスト依存振り分け手段へは、コンテキスト非依存振り分け手段がイベントの振り分けを行わないことを特徴とする。
請求項7に記載の発明の負荷分散振り分けシステムは、前記イベント処理分散制御手段は、前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の最小値に対し、あらかじめ定められた一定範囲以内の数の処理ルールを割り当てられた処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とする。
請求項8に記載の発明の負荷分散振り分けシステムは、請求項7に記載の負荷分散振り分けシステムであって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴。
請求項9に記載の発明の負荷分散振り分けシステムは、請求項7に記載の負荷分散振り分けシステムであって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項10に記載の発明の負荷分散振り分けシステムは、請求項1から6のいずれか1項に記載の負荷分散振り分けシステムであって、前記処理ルールごとに重み付け係数を備え、前記イベント処理分散制御手段は、前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の前記重み付け係数の和の最小値に対し、前記重み付け係数の和があらかじめ定められた一定範囲以内である処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とする。
請求項11に記載の発明の負荷分散振り分けシステムは、請求項10に記載の負荷分散振り分けシステムであって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項12に記載の発明の負荷分散振り分けシステムは、請求項11に記載の負荷分散振り分けシステムであって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項13に記載の発明のイベント処理分散制御装置は、複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段とを有する負荷分散振り分けシステムで用いられ、アプリケーションから受信した処理ルールを処理サーバに振り分けるイベント処理分散制御装置であって、前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の最小値に対し、あらかじめ定められた一定範囲以内の数の処理ルールを割り当てられた処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とする。
請求項14に記載の発明のイベント処理分散制御装置は、請求項13に記載のイベント処理分散制御装置であって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項15に記載の発明のイベント処理分散制御装置は、請求項13に記載のイベント処理分散制御装置であって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項16に記載の発明のイベント処理分散制御装置は、複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段とを有する負荷分散振り分けシステムで用いられ、アプリケーションから受信した処理ルールを処理サーバに振り分けるイベント処理分散制御装置であって、前記処理ルールごとに重み付け係数を備え、前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の前記重み付け係数の和の最小値に対し、前記重み付け係数の和があらかじめ定められた一定範囲以内である処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とする。
請求項17に記載の発明のイベント処理分散制御装置は、請求項16に記載のイベント処理分散制御装置であって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項18に記載の発明のイベント処理分散制御装置は、請求項16に記載のイベント処理分散制御装置であって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項19に記載の発明のイベント処理分散制御プログラムは、複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段とを有する負荷分散振り分けシステムで用いられ、アプリケーションから受信した処理ルールを処理サーバに振り分けるイベント処理分散制御プログラムであって、前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の最小値に対し、あらかじめ定められた一定範囲以内の数の処理ルールを割り当てられた処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とする。
請求項20に記載の発明のイベント処理分散制御プログラムは、請求項19に記載のイベント処理分散制御プログラムであって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項21に記載の発明のイベント処理分散制御プログラムは、請求項19に記載のイベント処理分散制御プログラムであって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項22に記載の発明のイベント処理分散制御プログラムは、複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段とを有する負荷分散振り分けシステムで用いられ、アプリケーションから受信した処理ルールを処理サーバに振り分けるイベント処理分散制御プログラムであって、前記処理ルールごとに重み付け係数を備え、前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の前記重み付け係数の和の最小値に対し、前記重み付け係数の和があらかじめ定められた一定範囲以内である処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とする。
請求項23に記載の発明のイベント処理分散制御プログラムは、請求項22に記載のイベント処理分散制御プログラムであって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
請求項24に記載の発明のイベント処理分散制御プログラムは、請求項22に記載のイベント処理分散制御プログラムであって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする。
本発明によれば、処理サーバを複数配置し、その前段にコンテキスト依存振り分け手段を配置し、イベント処理分散制御部がそれぞれの処理サーバに個別の処理ルールを設定し、コンテキスト依存振り分け手段にそれぞれの処理サーバが設定された処理ルールを実行するために必要なイベントが適切に分配されるように振り分けルールを設定することにより、それぞれの処理サーバが異なったイベント処理を行い、異なったイベントを必要とする環境でも処理サーバの負荷分散を実現することができる。
本発明の概略を説明する。 本発明の負荷分散振り分けシステムは、アプリケーションがシステムに対して、RFIDリーダ、センサ等のデバイスからの発生情報(イベント)の処理を処理ルールとして要求し、システムは要求されたルールに従って、イベントの内容(コンテキスト)に基づき処理し、結果をアプリケーションに通知するシステムを前提としている。処理ルールは、イベントの内容(コンテキスト)に基づいて処理するように構成されている。
このようなシステムにおいて、処理の負荷分散のために、処理サーバを複数配置し、イベント処理分散制御部がそれぞれの処理サーバに別個のアプリケーションのためのイベント処理ルールを設定する。それに従って、イベント処理分散制御部が振り分け装置に、各サーバが処理すべきイベントがそのサーバに分配されるようにコンテキストに基づいた振り分けルールを設定することにより、処理サーバの負荷分散を実現する。
さらに、コンテキストに基づいてイベントを適切な処理サーバに振り分けるコンテキスト依存振り分け器103の前段に、イベントのコンテキストに基づかずイベントをランダムに振り分けるコンテキスト非依存振り分け器を配置し、その後段に同一の振り分けルールを持ったコンテキスト依存振り分け器103を複数配置する。
デバイスからのイベントはコンテキスト非依存振り分け器により、ランダムに複数のコンテキスト依存振り分け器103に分配され、同一の振り分けルールを持ったコンテキスト依存振り分け器103によりコンテキストに基づいて適切な処理サーバに転送される。これによりコンテキスト依存振り分け器103が一台の時と同様に負荷分散のためのイベント振り分けができると同時に、コンテキスト依存振り分け器103の負荷分散も可能となる。
次に、図面を参照して、本発明の実施形態を説明する。
負荷分散振り分けシステムは、イベント処理分散制御部101、コンテキスト依存振り分け器103、複数の処理サーバ104a〜fから構成され、複数のRFIDリーダ、センサ等のデバイス105a〜fがコンテキスト振り分け器103に接続され、複数のアプリケーション106a〜hが処理サーバ104a〜fに接続される。
処理サーバ108a〜fの数、デバイス105a〜fの数、アプリケーション106a〜hの数は同一でなくてもよい。例えば、処理サーバ104aのように1つの処理サーバが複数のアプリケーション106a,bに対応してもよい。また、アプリケーション106bのように、システムに複数のイベント処理を要求する場合、複数の処理サーバ104a,bに対応してもよい。
コンテキスト依存振り分け器103の中には、イベントを振り分ける方針を記した振り分けルール107が配置されている。また、処理サーバ104a〜fにはイベントの処理方法を記した処理ルール108a〜fが配置されている。それらの情報はイベント処理分散制御部101から供給される(矢印109,110a〜f)。
[第1の実施形態]
次に、第1の実施形態における負荷分散振り分けシステムの処理動作について、図1を参照して説明する。
まず、イベント処理分散制御部101は、処理サーバ104a〜fに、アプリケーション106a〜fが要求するイベント処理の処理ルール108a〜fを設定する(矢印110a〜f)。
アプリケーション106a〜hが要求するイベント処理の処理ルール108a〜fを設定する場合に、例えば、RFIDシステムにおいて、アプリケーション106aが、ある製品を製造するために必要な全ての部材のRFIDタグを全て検出したら通知することを、処理サーバ104aの処理ルール108aに「全ての部材のRFIDタグを全て検出したらアプリケーションに通知」というルールを設定する(矢印110a)。
次に、イベント処理分散制御部101は、設定された処理ルール108a〜fにより処理サーバが処理する必要のあるイベントがそのサーバに適切に振り分けられるように、コンテキスト依存振り分け器103に振り分けルール107を設定する(矢印109)。上記に示した例の場合、「その製品に関する部材のRFIDタグの検出イベントは処理サーバ104aに転送する。」といったルールとなる。
デバイス105a〜fで発生したイベント111a〜fは、全てコンテキスト依存振り分け器103で受信される。デバイス105a〜fで発生したイベントを受信したコンテキスト依存振り分け器103は、そのイベントの内容(コンテキスト)を参照し、振り分けルール107に従って、それらを適切な処理サーバ104a〜fに転送する(矢印113a〜f)。
コンテキスト依存振り分け器103によって振り分けられたイベント113a、113fを受信した処理サーバは、処理ルール107に従ってアプリケーション106a〜hに転送する(114a〜i)。
[第2の実施形態]
次に、図2を参照して、第2の実施形態を説明する。
第2の実施形態では、コンテキスト依存振り分け器103203a〜cを複数配置し、その前段にコンテキストを参照せずにイベントを複数のコンテキスト依存振り分け器103203a〜cにランダムに振り分ける(矢印212a〜c)コンテキスト非依存振り分け器202を配置する。イベント処理分散制御部201から各コンテキスト依存振り分け器103203a〜cに設定される振り分けルールは207a〜cは全て同一で、その内容、手順は第1の実施形態と同様である。
処理サーバを複数配置し、処理サーバの負荷を分散させるためのコンテキスト依存振り分け器103であるが、コンテキスト依存振り分け器103自体は、振り分けのためにイベントのコンテキストを参照するため処理負荷が重くなるという問題があった。しかし、図2に示すように、コンテキストを参照しないでイベントをランダムに振り分けるといった処理の軽いコンテキスト非依存振り分け器を前段に配置し、その後段に複数のコンテキスト依存振り分け器103を複数配置することにより、コンテキスト依存振り分け器103の負荷分散を実現することができる。
[第3の実施形態]
第3の実施形態では、第1の実施形態におけるコンテキスト依存振り分け器103内の振り分けルール107を、デバイス305a〜f内に配置している(307a〜f)。これにより、デバイス305a〜fがイベントを検出すると、自律的にコンテキスト依存のイベント振り分け313aa〜ffが可能となり、コンテキスト依存振り分け器103を配置せずに済み、コンテキスト依存振り分けの負荷をデバイスに分散させることができる。
[第4の実施形態]
第4の実施形態では、第2の実施形態におけるコンテキスト非依存振り分け器、コンテキスト依存振り分け器103に障害回避機能を付加した例である。
コンテキスト非依存振り分け器は402、402’と二重化されており、デバイス405a〜fは両方のコンテキスト非依存振り分け器402、402’にイベント411a,a’〜f,f’を通知する。もしくはデバイス405a〜405fは1イベントパケットのみを送信し、そのパケットを両方のコンテキスト非依存振り分け器402、402’が受信してもよい。
両方のコンテキスト非依存振り分け器402、402’はお互いに障害確認415を行い、通常はコンテキスト非依存振り分け器402のみがイベント振り分け412a’〜c’を行い、もう一方は行わない。しかし、障害確認415によりコンテキスト非依存振り分け器402が障害になったことを検知すると、コンテキスト非依存振り分け器402’がイベント振り分け412a’〜c’を開始する。これにより、コンテキスト非依存振り分け器の障害回避が可能となる。
また、コンテキスト依存振り分け器103403a〜cは、コンテキスト非依存振り分け器402,402’にコンテキスト依存振り分け器103自身の生存通知416a,a’〜c,c’を行っており、コンテキスト非依存振り分け器402、402’がイベント振り分け412a〜412c、412a’〜c’を行う際、生存しているコンテキスト依存振り分け器103のみにイベント振り分けを行い、生存していない(障害中の)コンテキスト依存振り分け器103にはイベント振り分けを行わないことにより、コンテキスト依存振り分け器103403a〜cの障害回避が可能となる。
[第5の実施形態]
さて、第1の実施形態においては、ひとつの処理ルールはひとつの処理サーバで処理される。一方、アプリケーションの数が増えると、ひとつの処理サーバで処理すべき処理ルールの数が増加することになる。この場合、処理ルールが特定の処理サーバに集中して割り当てられた場合には、その処理サーバの処理負荷が増大してしまうという問題が発生する。
これを解決する方法として、ひとつの処理ルールを複数の処理サーバに割り当てる方法がある。しかし、この方法は、処理ルールが過去の処理の履歴に依存しないステートレスな処理である場合には有効であるが、処理ルールが過去の処理の履歴に依存するステートフルな処理である場合には、複数の処理サーバがアクセス可能な共有メモリを設け、同一処理ルールを処理する処理サーバ間で共有メモリを参照、更新しながら処理ルールを適用する必要が発生する。このような方法では、共有メモリとの通信や処理サーバ間の排他制御が必要となり、それがボトルネックとなって全体の処理能力を落とす恐れがある。したがって、ひとつの処理ルールはひとつの処理サーバで処理することが、特に大規模なシステムでは有効である。
図7にイベント処理分散制御部101の構成を示す。
イベント処理分散制御部101は、アプリケーション106a〜hから処理ルールを受信する処理ルール受信部200、処理ルールをどの処理サーバに割り当てるかを決定する処理ルール振り分け部201、処理ルールを処理サーバに送信する処理ルール送信部202、処理ルールの処理サーバから振り分けルールを生成する振り分けルール生成部203、振り分けルールをコンテキスト依存振り分け器103に送信する振り分けルール送信部204、処理サーバごとにどの処理ルールを振り分けたかを記録する処理ルール振り分け記録部205を有する。
まず、この処理ルールの一例を図8に示す。この処理ルールは、ルールの名称、処理すべきイベントの条件(イベント条件)、イベントに対する処理の記述を有する。
行0001は、処理ルールの名称を示す。行0002は、この処理ルールを適用するイベントの条件を示す。ここではイベントにtag_kindという、RFIDタグの種別を示すフィールドがあり、そのフィールドの値が4である場合に、この処理ルールを適用するという意味を持つ。たとえば、イベントが、event(tag_kind,TagID)であらわせるとき、tag_kind=4であるようなすべてのTagIDに関するイベントに対して処理を行うことを示す。
0003以下の行が処理の内容を示すものである。0004行は処理ルールを開始する際の初期設定時の処理を示す。ここでは、0005行目でeventlogというイベントの格納する配列記憶領域を確保し、0006行目で、イベント格納数であるevent_countという整数変数を0クリアすることを示す。
0008行〜0018行が、イベントを受信したときの処理である。0009行で、受信したイベントをeventlogに保存し、0010行でevent_countをインクリメントする。0011行でもしevent_countが10となったら、0012行でeventlogに記録されている10個のイベントを、ルール処理を設定したアプリケーションに送信するとともに、0013行でevent_countを0にし、0014行でタイマーをクリアする。
もし、0011行でevent_countが10未満の場合は、0017行で、タイマー10秒をセットし、タイマーが満了したら、0019行のtimeout処理を行うことを指示する。0014行のタイマーのクリアは、この処理をキャンセルするものである。
0019行のtimeoutの処理は、eventlogにひとつでもイベントが未送信状態で残っているときに、最後のイベントを受信してから10秒たったら起動される処理であって、0020行で、eventlogに記録されているイベントを、ルール処理を設定したアプリケーションに送信するとともに、0021行でevent_countを0にし、0022行でタイマーをクリアする。
つまり、この処理ルールは、tag_kindが4であるイベントを10個受信するか、最後のイベントを受信してから10秒たつと、記録されているイベントをルール処理を設定したアプリケーションに送信するというものであり、処理サーバからアプリケーションへのイベント送信に必要な処理を軽減するための処理ルールである。
また、この処理ルールは、event_count、eventlogの記録部を必要とし、その状態によって、イベントに対する処理内容が変わるため、ステートフルな処理である。
次に、図9に、処理ルール振り分け記録部205に記録する情報の一例を示す。処理ルール振り分け記録部206には、少なくとも、処理サーバごとに設定した処理ルールの数と、処理ルールのイベント条件とを記録する必要があるが、ここでは、処理サーバごとに、設定処理ルール数、処理ルール名とイベントの条件を記録するものとする。ここではEP1〜EP6が処理サーバ108a〜fに対応する識別子であり、すでに18個のルールが設定されており、イベント条件は、tag_kindのみで決定できるものとする。
イベント処理分散制御部は、アプリケーションから処理ルールを処理ルール受信部によって受信する。処理ルール受信部200は、受信した処理ルールを処理ルール振り分け部201に渡す。
図10は、処理ルール振り分け部201がその処理ルールをどの処理サーバに振り分けるかを決定する手順を示すフローチャートである。
まず、処理ルール振り分け部201は、各処理サーバに割り当てられたルール数の最小値を求める。図9の例においては、最小値はEP1およびEP3の“2”である。
処理ルール振り分け部201は、ルール数の最小値との差があらかじめ定められた一定値以下である処理サーバの候補を選択する(ステップ1)。
この一定値が“0”であれば、EP1、EP2が選択される。また1であれば、EP1、EP2、EP3、EP5が選択される。ここでは、一定値を1としてEP1、EP2、EP3、EP5が選択されたものと仮定する。ここで、処理サーバの候補がひとつになった場合は、その処理サーバを選択する。
つぎに、処理ルール振り分け部201は、処理ルールのイベント条件と、選択済みのEP1、EP2、EP3、EP5のイベント条件を比較する。(ステップ2)
ここでもし、一致するイベント条件をもつ処理サーバが1つだけあれば、その処理サーバを最終的な振り分け先として決定する。たとえば、tag_kind=4がイベント条件である場合には、EP1、EP2、EP3、EP5のうちそのイベント条件を有する処理サーバは、EP2ただひとつであるので、EP2を振り分け先として決定する。(ステップ3-A)
一致するイベント条件を持つ処理サーバが複数あった場合は、その複数の処理サーバからイベント数が最も小さい処理サーバを選択し、その処理サーバを振り分け先として決定する。たとえば、tag_kind=5をイベント条件とした場合、EP2とEP5がそのイベント条件を持っているが、この場合はイベント数が小さい、EP2を選択するものとする。(ステップ3-B)
一致するイベント条件を持つ処理サーバがひとつもない場合にも、複数の処理サーバからイベント数が最も小さい処理サーバを選択し、その処理サーバを振り分け先として決定する。(ステップ3-C)
なお、前記ステップ3-A、3-B、3-Cで、複数の処理サーバが候補として残る場合がある。このときは、若番/老番で決定する、ランダムに決定するなど、別のルールで決定すればよい。
なお、ステップ1において、ルール数の最小値との差があらかじめ定められた一定値以下である処理サーバの候補を選択するとしているが、必ずしも差である必要はなく、たとえば、ルール数の最小値の1.5倍以内など、比率で選択してもよい。
また、新たな処理ルールのイベント条件がtag_kind= 7である場合、全く同じイベント条件はないが、rule12の tag_kind= 5 or tag_kind= 7 の条件にtag_kind= 7の条件が包含されていることから、EP5を条件に合致するものとしてもよい。
また逆に、新たな処理ルールのイベント条件が、tag_kind= 3 or tag_kind=8のように複数の条件のorであった場合、もし、すべてのイベント条件を持つ処理サーバがあればそれを優先的に選択する。すべてのイベント条件を満たす処理サーバがない場合は、部分的に一致するイベント条件を満たす処理サーバを選択する。たとえば、tag_kind= 3が部分的に一致することから、EP3を選択する。
なお、上記説明では、イベント条件として、タグの種別を示すtag_kindがある値を持つ場合について説明したが、イベント条件はこれに限るわけではなく、あるイベントに対してそれをイベントそのもので選別できる条件であれば、どのようなものであってもよい。
さらに、上記説明では、各処理サーバに割り当てられた処理ルール数に基づくものとしているが、それぞれの処理ルールに、イベント条件に合致するイベントの数や処理の負荷の度合いに重み付けを行った負荷度を定義し、負荷度の合計を処理ルール数に代えて用いてもよい。
処理ルールを処理すべき処理サーバを決定すると、処理ルール振り分け部201は、処理ルール振り分け記録部205にその処理ルールの振り分け結果を登録して更新する。次にあらたな処理ルールが発生すると、更新された処理ルール振り分け記録部205の内容を元に、処理サーバへの振り分けを決定する。
さらに、処理ルール振り分け部201は、処理ルール送信部202を介して処理ルールを振り分けることに決定した処理サーバに送信する。
また、処理ルール振り分け部201は、その振り分け結果を振り分けルール生成部203に通知する。振り分けルール生成部203は、その処理ルールのイベント条件と処理サーバをペアとして、振り分けルールを生成し、振り分けルール送信部204を介して、コンテキスト依存振り分け器103に送信する。
なお、コンテキスト依存振り分け器103は、複数の振り分けルールを適用してあるイベントをどの処理サーバに送るかを決定するが、あるイベントについて複数振り分けルールがあるひとつの処理サーバを送信先とする場合、振り分けルールごとにイベントを送信するのではなく、一回だけ送信し、処理サーバ側で複数の処理ルールを適用することが望ましい。
さらには、複数の処理ルールについて、イベント条件と処理サーバが同一の場合、振り分けルールをコンテキスト依存振り分け器103に送信しないように構成してもよい。
以上説明したように、本実施例に示す処理ルールの振り分けを行うことによって、負荷が一部の処理サーバに集中することがなくなると同時に、同一または一部共通するイベント条件を持った処理ルールを特定のサーバに集中させることができるので、あるイベントについて、コンテキスト依存振り分け器103が送信する相手となる処理サーバの数を小さくできるようになる。また、全処理サーバが受信するイベント数の総数を減少させることができるので、ひとつの処理サーバでも受信するイベント数の総数が減少し、全体の処理能力を向上させることができるようになる。
[第6の実施形態]
別の実施形態における本発明の処理ルール振り分けの適用例を示す。
図11に処理ルール振り分けの流れを示す。アプリケーション106a〜106hから処理ルールが設定されるたびに図11の処理が実施される。図11のステップ1の許容処理ルール数差はあらかじめ決めておく値である。いずれかのステップにおいて、処理サーバが1つに絞られた場合には、その処理サーバに処理ルールを割り当てる。イベント種別の識別方法として、例えば、イベントに属性を持たせ、その属性を用いて分類することが可能である。
各ステップを実施する順番は固定ではなく入れ替えることも可能である。
(イベント、処理ルールの定義)
イベントと処理ルールの例を用いて、上記処理ルール振り分け方法を説明する。例では、デバイスをRFIDリーダとし、アプリケーションをRFIDリーダが通知するRFIDの情報を利用するアプリケーションプログラムとする。イベントはRFID(TagID)とそのRFIDを読み取ったリーダのID(ReaderID)から構成されるとする。イベントの例を図12に示す。図12に示すイベントはTagIDが10とReaderIDが20のイベントである。
アプリケーションから設定される処理ルールの例を図13に示す。
Rule_A1からRule_A6までが順次設定されるとする。各処理ルールのカンマで区切られた左半分が条件を表わし、右半分が動作を表わす。処理ルールの条件部分の2つのイベントが記述されているが、これは、この2つのイベントがデバイスから発生した場合に、条件に合致することを意味する。たとえば、Rule_A1の、Event(TagID=10, ReaderID=20) & Event(TagID=11, ReaderID=20) という条件は、TagID=10, ReaderID=20のイベントと、TagID=11, ReaderID=20のイベントの両方が発生したときに処理ルールの動作部分を起動することを意味する。この場合、TagID=10, ReaderID=20のイベントと、TagID=11, ReaderID=20のイベントの両方を処理する必要があるので、この処理ルールを設定押された処理サーバには、TagID=10, ReaderID=20のイベントと、TagID=11, ReaderID=20のイベント両方は振り分けられなければならない。
また、処理ルールの動作部分の”notify to Application-A”はApplication-Aに条件に合致したことを通知することを意味する。ここでApplication-Aはアプリケーション106a、Application-Bはアプリケーション106bに対応し、以下同様である。
(処理ルール振り分け例1)
処理サーバが3台で、許容処理ルール数差が2であるとすると、図13に示す処理ルールはイベント処理分散制御部によって、図14に示すように処理サーバに振り分けられる。 以下、その流れを説明する。3台の処理サーバをそれぞれEP1、EP2、EP3と呼ぶ。また、処理ルールの条件チェックに必要となるイベントを“処理ルールチェックに必要なイベント”と呼び、処理サーバに設定され処理ルールチェックに必要なイベントの集合を“処理サーバに必要なイベント”と呼ぶ。
Rule_A1がアプリケーション106aから設定されると、初期状態で各処理サーバに設定されている処理ルールはないので、ステップ1では、全処理サーバが選択される。
次にステップ2に進む。処理ルールチェックに必要なイベントはEvent(TagID=10, ReaderID=20)とEvent(TagID=11, ReaderID=20)である。また、各処理サーバには処理ルールが設定されていないため、必要となるイベントはない。よって、共通に必要となるイベント数は各処理サーバで等しくなるため、全ての処理サーバが選択され、ステップ3に進む。
ステップ3では、各処理サーバに処理ルールが設定されていないため、必要とするイベント数は各処理サーバにおいて0で、よって、全ての処理サーバが選択される。最終的に処理ルールを振り分ける処理サーバをランダムに選択する。EP2が選択されたとして次に進む。
Rule_A2がアプリケーション106bから設定されると、ステップ1では、全処理サーバに設定され処理ルールが許容処理ルール数差2以内であるため、全処理サーバが選択され、ステップ2に進む。処理ルールチェックに必要なイベントはEvent(TagID=10, ReaderID=20)とEvent(TagID=11, ReaderID=20)である。EP2に必要なイベントはEvent(TagID=10, ReaderID=20)とEvent(TagID=11, ReaderID=20)であり、他の処理サーバに必要なイベントはない。処理ルールチェックとEP2で共通に必要なイベントは2つであるため、EP2にRule_A2が設定される。
Rule_A3がアプリケーション106cから設定されると、ステップ1では、全処理サーバに設定され処理ルールが許容処理ルール数差2以内であるため、全処理サーバが選択され、ステップ2に進む。処理ルールチェックと各処理サーバで共通に必要なイベントはないため、ステップ2では、全ての処理サーバが選択され、ステップ3へ進む。EP2は2つのイベントを必要とし、他の処理サーバは1つもイベントを必要としないため、EP1とEP3が選択される。最終的にEP1とEP3 のいずれかがランダムに選択され、選択された処理サーバにRule_A3が設定される。EP1が選択されたとして次に進む。
Rule_A4がアプリケーション106cから設定されると、ステップ1では、全処理サーバに設定され処理ルールが許容処理ルール数差2以内であるため、全処理サーバが選択され、ステップ2に進む。処理ルールチェックとEP2で共通に必要なイベントはEvent(TagID=11, ReaderID=20)であり、処理ルールチェック他の各処理サーバで共通に必要なイベントはないため、Rule_A4はEP2に設定される。
Rule_A5がアプリケーション106aから設定されると、ステップ1では、EP2とEP3に設定され処理ルール数が許容処理ルール数差2より大きいため、EP1とEP3が選択され、ステップ2へ進む。処理ルールチェックと各処理サーバで共通に必要となるイベントはないため、全ての処理サーバが選択され、ステップ3へ進む。EP1が必要とする処理ルールが2つであり、EP3が必要とする処理ルールが0であるため、EP3にRule_A5が設定される。
Rule_A6がアプリケーション106bから設定されると、ステップ1では、全処理サーバに設定され処理ルールが許容処理ルール数差2以内であるため、全ての処理サーバが選択され、ステップ2に進む。処理ルールチェックとEP1で共通に必要なイベントは0で、処理ルールチェックと他の各処理サーバで共通に必要なイベントは1つである。よって、EP2とEP3が選択され、ステップ3へ進む。EP2が必要とするイベントが3つであり、EP3が必要とするイベントは2つであるため、EP3にRule_A6が設定される。
図14のように処理ルールが振り分けられる場合、コンテキスト依存振り分け器103に設定されるイベント振り分け処理ルールは図15のようになる。図15の表はイベントの条件とその条件に合致するイベントの転送先処理サーバを表わす。例えば、Event(TagID=10, ReaderID=20)はEP2に転送され、Event(TagID=13, ReaderID=25)はEP2とEP3に転送される。
(処理ルール振り分け例2)
上記例では、処理ルールの条件に記述されるイベントの全属性を見て、処理ルールの振り分けを行ってい処理ルールの条件に記述されるイベントの一部の属性を見て、処理ルールを振り分けることも可能である。以下、TagIDを参照する属性として振り分けの流れを説明する。TagIDを参照する属性として振り分けると図13に示す処理ルールは図16にように振り分けられる。以下、属性の値としてアスタリスクが記述されている場合、任意の値とする。
Rule_A1がアプリケーション106aから設定されると、初期状態で各処理サーバに設定されている処理ルールはないので、ステップ1では、全処理サーバが選択される。次にステップ2に進む。処理ルールチェックに必要なイベントはEvent(TagID=10, ReaderID=*)とEvent(TagID=11, ReaderID=*)である。また、各処理サーバには処理ルールが設定されていないため、必要となるイベントはない。よって、共通に必要となるイベント数は各処理サーバで等しくなるため、全ての処理サーバが選択され、ステップ3に進む。各処理サーバに処理ルールが設定されていないため、必要とするイベント数は各処理サーバで0で、よって、全ての処理サーバが選択される。最終的に処理ルールを振り分ける処理サーバをランダムに選択する。EP2が選択されたとして次に進む。
Rule_A2がアプリケーション106bから設定されると、ステップ1では、全処理サーバに設定され処理ルールが許容処理ルール数差2以内であるため、全処理サーバが選択され、ステップ2に進む。処理ルールチェックに必要なイベントはEvent(TagID=10, ReaderID=*)とEvent(TagID=11, ReaderID=*)である。EP2で必要となるイベントはEvent(TagID=10, ReaderID=*)とEvent(TagID=11, ReaderID=*)であり、他の処理サーバで必要となるイベントはない。処理ルールチェックで必要なイベントとEP2が必要とするイベントで共通なイベントが2つであるため、EP2にRule_A2が設定される。
Rule_A3がアプリケーション106cから設定されると、ステップ1では、全処理サーバに設定され処理ルールが許容処理ルール数差2以内であるため、全処理サーバが選択され、ステップ2に進む。処理ルールチェックで必要なイベントはEvent(TagID=11, ReaderID=*)とEvent(TagID=12, ReaderID=*)であり、処理ルールチェックで必要なイベントとEP2が必要とするイベントで共通なイベントが1つある。よって、EP2にRule_A3が設定される。 Rule_A4がアプリケーション106cから設定されると、ステップ1では、EP2に設定され処理ルール数と他の処理サーバに設定され処理ルール数との差が許容処理ルール数差2より大きいため、EP1とEP3が選択され、ステップ2へ進む。処理ルールチェックと各処理サーバで共通に必要なイベントがないため、全処理サーバが選択されステップ3へ進む。各処理サーバが必要とするイベントはないため、全処理サーバが選択される。最終的にEP1かEP3かがランダムに選択される。EP1が選択されたとして進める。
Rule_A5がアプリケーション106bから設定されると、ステップ1では、EP2に設定され処理ルール数と他のEP3に設定され処理ルール数との差が許容処理ルール数差2より大きいため、EP1とEP3が選択され、ステップ2へ進む。処理ルールチェックと各処理サーバで共通に必要なイベントはないため、全処理サーバが選択され、ステップ3へ進む。EP1で必要なイベントは2つであり、EP3が必要とするイベントは0であるためEP3にRule_A5が設定される。
Rule_A6がアプリケーション106aから設定されると、ステップ1では、全処理サーバに設定され処理ルールが許容処理ルール数差2以内であるため、全ての処理サーバが選択され、ステップ2に進む。処理ルールチェックとEP2で共通に必要なイベントは0であり、処理ルールチェックと他の処理サーバで共通に必要なイベントは1つである。よって、EP1とEP3が選択され、ステップ3へ進む。EP1とEP3が必要とするイベントはそれぞれ2つなので、最終的にランダムに選択され、選択された処理サーバにRule_A6が設定される。EP3が選択されたとすると、処理ルールの振り分け状況は図16のようになる。
図16のように処理ルールが振り分けられる場合、コンテキスト依存振り分け器103に設定されるイベント振り分け処理ルールは図17のようになる。表の見方は図15と同様である。
このような構成により、デバイスからのイベント発生量が増え、イベントデータの参照・更新が頻繁になっても、従来技術であるイベントデータを共有する場合に発生する排他制御によるボトルネックが発生しない。
本ルール振り分け方法を用いることによりコンテキスト依存振り分け器103におけるイベントコピーを最小限にでき、システムのリソースを効率的に使用できる。
ルール振り分けの例として、例1と例2を示したが、例1では、コンテキスト依存振り分け器103でより厳密にイベントが絞られるため、各処理サーバは最小限のイベントのみを処理すればよい。例2では、コンテキスト依存振り分け器103が振り分け時に1属性のみを参照すればよいため、全属性を見る場合と比べて高速に処理できるという効果がある。

第1の実施形態における負荷分散振り分けシステムの構成を示した図である。 第2の実施形態における負荷分散振り分けシステムの構成を示した図である。 第3の実施形態における負荷分散振り分けシステムの構成を示した図である。 第4の実施形態における負荷分散振り分けシステムの構成を示した図である。 従来の負荷分散システムの構成を示した図である。 従来の負荷分散システムの構成を示した図である。 イベント処理分散制御部の構成を示した図である。 処理ルールの例を示した図である。 処理ルール振り分け記録の例を示した図である。 処理ルール振り分けの手順のフローチャートを示した図である。 ルール振り分けの手順のフローチャートを示した図である。 イベント例を示した図である。 クライアントから設定される処理ルールの例を示した図である。 処理分散制御サーバのルール振り分け例1を示した図である。 イベント振り分けルールの例1を示した図である。 処理分散制御サーバのルール振り分け例2を示した図である。 イベント振り分けルールの例2を示した図である。
符号の説明
101 イベント処理分散制御部
103 コンテキスト依存振り分け器
104a〜104h 処理サーバ
105a〜105f デバイス
106a〜106h アプリケーション
107 振り分けルール
108a〜108f 処理ルール
200 処理ルール受信部
201 処理ルール振り分け部
202 処理ルール送信部
203 振り分けルール生成部
204 振り分けルール送信部
205 処理ルール振り分け記録部

Claims (24)

  1. 複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、
    前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段と、
    前記複数の処理サーバに個別に処理ルールを設定し、前記コンテキスト依存振り分け手段が前記処理ルールを実行するために必要なイベントが適切に分配されるように振り分けルールを設定するイベント処理分散制御手段と有し、
    前記イベント処理分散制御手段は、前記処理サーバへアプリケーションが要求するイベント処理の前記処理ルールを設定すると共に、前記処理ルールに従って前記処理サーバへイベントが適切に振り分けられるような振り分けルールを前記コンテキスト依存振り分け手段に設定することを特徴とする負荷分散振り分けシステム。
  2. 前記コンテキスト依存振り分け手段へ前記端末で発生したイベントをランダムに振り分けるコンテキスト非依存振り分け手段を備え、
    該コンテキスト非依存振り分け手段は、前記端末で発生したイベントのコンテキストを参照せずに、前記コンテキスト依存振り分け手段へ振り分けることを特徴とする請求項1記載の負荷分散振り分けシステム。
  3. 前記端末は、前記イベント処理分散制御手段によって設定される振り分けルールを備え、前記端末で発生したイベントを前記振り分けルールに従って、前記処理サーバへ振り分けられることを特徴とする請求項1記載の負荷分散振り分けシステム。
  4. 前記コンテキスト非依存振り分け手段を複数備え、
    前記複数のコンテキスト非依存振り分け手段の少なくとも一つでイベントの振り分けを行うと共に、前記コンテキスト非依存振り分け手段が互いに障害確認を行い、イベントの振り分けを行っている前記コンテキスト非依存振り分け手段で障害が検知された場合には、他のコンテキスト非依存振り分け手段へイベントの振り分けを切り換えることを特徴とする請求項1記載の負荷分散振り分けシステム。
  5. 前記コンテキスト依存振り分け手段を複数備えた場合に、前記複数のコンテキスト依存振り分け手段がお互いに障害確認を行うことを特徴とする請求項1から4のいずれか1項に記載の負荷分散振り分けシステム。
  6. 前記コンテキスト依存振り分け手段は、前記コンテキスト非依存振り分け手段へ障害確認の通知を行うことにより、障害が発生した前記コンテキスト依存振り分け手段へは、前記コンテキスト非依存振り分け手段がイベントの振り分けを行わないことを特徴とする請求項4記載の負荷分散振り分けシステム。
  7. 前記イベント処理分散制御手段は、前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、
    新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の最小値に対し、あらかじめ定められた一定範囲以内の数の処理ルールを割り当てられた処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とする請求項1から6のいずれか1項に記載の負荷分散振り分けシステム。
  8. 請求項7に記載の負荷分散振り分けシステムであって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項7に記載の負荷分散振り分けシステム。
  9. 請求項7に記載の負荷分散振り分けシステムであって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項7に記載の負荷分散振り分けシステム。
  10. 請求項1から6のいずれか1項に記載の負荷分散振り分けシステムであって、
    前記処理ルールごとに重み付け係数を備え、
    前記イベント処理分散制御手段は、前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、
    新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の前記重み付け係数の和の最小値に対し、前記重み付け係数の和があらかじめ定められた一定範囲以内である処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とする請求項1から6のいずれか1項に記載の負荷分散振り分けシステム。
  11. 請求項10に記載の負荷分散振り分けシステムであって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項7に記載の負荷分散振り分けシステム。
  12. 請求項11に記載の負荷分散振り分けシステムであって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項7に記載の負荷分散振り分けシステム。
  13. 複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段とを有する負荷分散振り分けシステムで用いられ、アプリケーションから受信した処理ルールを処理サーバに振り分けるイベント処理分散制御装置であって、
    前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、
    新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の最小値に対し、あらかじめ定められた一定範囲以内の数の処理ルールを割り当てられた処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とするイベント処理分散制御装置。
  14. 請求項13に記載のイベント処理分散制御装置であって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項13に記載のイベント処理分散制御装置。
  15. 請求項13に記載のイベント処理分散制御装置であって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項13に記載のベント処理分散制御装置。
  16. 複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段とを有する負荷分散振り分けシステムで用いられ、アプリケーションから受信した処理ルールを処理サーバに振り分けるイベント処理分散制御装置であって、
    前記処理ルールごとに重み付け係数を備え、
    前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、
    新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の前記重み付け係数の和の最小値に対し、前記重み付け係数の和があらかじめ定められた一定範囲以内である処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とするイベント処理分散制御装置。
  17. 請求項16に記載のイベント処理分散制御装置であって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項13に記載のイベント処理分散制御装置。
  18. 請求項16に記載のイベント処理分散制御装置であって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項13に記載のベント処理分散制御装置。
  19. 複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段とを有する負荷分散振り分けシステムで用いられ、アプリケーションから受信した処理ルールを処理サーバに振り分けるイベント処理分散制御プログラムであって、
    前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、
    新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の最小値に対し、あらかじめ定められた一定範囲以内の数の処理ルールを割り当てられた処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とするイベント処理分散制御プログラム。
  20. 請求項19に記載のイベント処理分散制御プログラムであって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項19に記載のイベント処理分散制御プログラム。
  21. 請求項19に記載のイベント処理分散制御プログラムであって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項19に記載のベント処理分散制御プログラム。
  22. 複数のアプリケーションへイベント処理結果を通知する複数の処理サーバと、前記複数の処理サーバへ端末で発生したイベントを振り分けるコンテキスト依存振り分け手段とを有する負荷分散振り分けシステムで用いられ、アプリケーションから受信した処理ルールを処理サーバに振り分けるイベント処理分散制御プログラムであって、
    前記処理ルールごとに重み付け係数を備え、
    前記処理サーバごとに、振り分けた前記処理ルールのうち少なくとも前記処理ルールに含まれるイベント条件を記録する処理ルール振り分け記録手段を有し、
    新規の処理ルールを受信すると、前記処理ルール振り分け記録手段を参照して、前記処理サーバに割り当てられた処理ルールの数の前記重み付け係数の和の最小値に対し、前記重み付け係数の和があらかじめ定められた一定範囲以内である処理サーバであって、同一のイベント条件を有する処理サーバに、前記新規の処理ルールを割り当てることを特徴とするイベント処理分散制御プログラム。
  23. 請求項22に記載のイベント処理分散制御プログラムであって、同一のイベント条件を有する処理サーバがない場合、すでに割り当てられているイベント条件の一部が前記新規の処理ルールのイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項22に記載のイベント処理分散制御プログラム。
  24. 請求項22に記載のイベント処理分散制御プログラムであって、同一のイベント条件を有する処理サーバがない場合、前記新規の処理ルールのイベント条件の一部がすでに割り当てられているイベント条件と一致する処理サーバに前記新規の処理ルールを割り当てることを特徴とする請求項22に記載のイベント処理分散制御プログラム。
JP2005314537A 2005-03-28 2005-10-28 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム Active JP4161998B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005314537A JP4161998B2 (ja) 2005-03-28 2005-10-28 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
US11/389,251 US7856634B2 (en) 2005-03-28 2006-03-27 Load distribution system, and event processing distribution control apparatus, and an event processing distribution control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005092080 2005-03-28
JP2005314537A JP4161998B2 (ja) 2005-03-28 2005-10-28 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム

Publications (2)

Publication Number Publication Date
JP2006309701A true JP2006309701A (ja) 2006-11-09
JP4161998B2 JP4161998B2 (ja) 2008-10-08

Family

ID=37084304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005314537A Active JP4161998B2 (ja) 2005-03-28 2005-10-28 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム

Country Status (2)

Country Link
US (1) US7856634B2 (ja)
JP (1) JP4161998B2 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176644A (ja) * 2007-01-19 2008-07-31 Sony Corp ネットワークシステム、ダイレクトアクセス管理サーバ、イベント通知方法、ネットワーク家電機器、及びコンピュータプログラム
WO2009110246A1 (ja) * 2008-03-07 2009-09-11 日本電気株式会社 イベント処理システムおよびイベント処理方法
WO2009139426A1 (ja) * 2008-05-14 2009-11-19 日本電気株式会社 情報処理システムと情報処理方法
WO2011070716A1 (ja) * 2009-12-09 2011-06-16 日本電気株式会社 情報処理システム、制御方法およびプログラムが格納された非一時的なコンピュータ可読媒体
WO2011093492A1 (ja) * 2010-02-01 2011-08-04 日本電気株式会社 イベント配信システム、イベント配信ネットワーク、イベント配信ノード、イベント配信方法、及び、コンピュータ読み取り可能な記録媒体
JP2012027673A (ja) * 2010-07-23 2012-02-09 Nec Corp イベント配信システム、イベント配信装置、イベント配信方法及びイベント配信用プログラム
CN102521021A (zh) * 2010-10-20 2012-06-27 微软公司 经由事件流管理的绿色计算
US8244908B2 (en) 2008-04-03 2012-08-14 Nec Corporation System, method and program for distributed event detection
WO2013190770A1 (ja) * 2012-06-19 2013-12-27 日本電気株式会社 ルール分配装置、イベント処理システム、イベント処理方法およびイベント処理プログラム
WO2014034037A1 (ja) * 2012-08-31 2014-03-06 日本電気株式会社 ルール分配装置、イベント処理システム、ルール分配方法およびルール分配プログラム
WO2014199606A1 (ja) * 2013-06-13 2014-12-18 日本電気株式会社 負荷分散装置、負荷分散方法および記憶媒体ならびにイベント処理システム
WO2014199607A1 (ja) * 2013-06-13 2014-12-18 日本電気株式会社 負荷分散装置、負荷分散方法および記憶媒体ならびにイベント処理システム
WO2016125499A1 (ja) * 2015-02-06 2016-08-11 日本電気株式会社 データ処理システム、データ処理方法及び記録媒体
KR101856487B1 (ko) * 2017-03-03 2018-06-19 주식회사 티맥스데이터 파싱을 처리하기 위한 컴퓨팅 장치
WO2019240034A1 (ja) * 2018-06-15 2019-12-19 日本電信電話株式会社 ネットワーク管理システム、管理装置、中継装置、方法およびプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5299437B2 (ja) * 2008-12-15 2013-09-25 日本電気株式会社 イベント処理システム、イベント処理方法、ルール分配装置、及びルール分配プログラム
WO2011010711A1 (ja) * 2009-07-23 2011-01-27 日本電気株式会社 イベント処理システム、分散制御装置、イベント処理方法、分散制御方法、及びプログラム記憶媒体
JP6052284B2 (ja) * 2012-03-28 2016-12-27 日本電気株式会社 通信装置、制御装置、通信システム、通信方法、通信装置の制御方法及びプログラム
US9367368B2 (en) 2012-08-30 2016-06-14 Nec Corporation Event processing control device, node device, event processing system, and event processing control method
EP2891985A4 (en) * 2012-08-31 2016-05-11 Nec Corp RULE DISTRIBUTION DEVICE, EVENT PROCESSING SYSTEM, RULE DISTRIBUTION METHOD, AND RULE DISTRIBUTION PROGRAM
US20140122396A1 (en) * 2012-10-29 2014-05-01 Qualcomm Incorporated Rules engine as a platform for mobile applications
US9264310B2 (en) * 2013-04-12 2016-02-16 International Business Machines Corporation Monitoring and distributing event processing within a complex event processing environment
US20170075736A1 (en) * 2014-03-07 2017-03-16 Nokia Solutions And Networks Oy Rule engine for application servers
CN104199893B (zh) * 2014-08-25 2018-01-30 成都华栖云科技有限公司 一种快速将全媒体内容发布的系统和方法
JP6476781B2 (ja) * 2014-11-17 2019-03-06 セイコーエプソン株式会社 情報処理装置、情報処理装置を制御する方法、コンピュータープログラム
JP2017102777A (ja) * 2015-12-03 2017-06-08 富士通株式会社 負荷分散処理サーバ、負荷分散処理方法、及び、システム
US9990240B2 (en) * 2015-12-11 2018-06-05 Successfactors, Inc. Event handling in a cloud data center
GB2558658B (en) * 2017-01-16 2021-01-27 Advanced Risc Mach Ltd Distributed event management

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5452350A (en) * 1992-03-09 1995-09-19 Advantis Subscriber call routing processing system
US6044367A (en) * 1996-08-02 2000-03-28 Hewlett-Packard Company Distributed I/O store
US6886035B2 (en) * 1996-08-02 2005-04-26 Hewlett-Packard Development Company, L.P. Dynamic load balancing of a network of client and server computer
US5938732A (en) * 1996-12-09 1999-08-17 Sun Microsystems, Inc. Load balancing and failover of network services
JP3966598B2 (ja) 1998-03-04 2007-08-29 富士通株式会社 サーバ選択システム
US6393458B1 (en) * 1999-01-28 2002-05-21 Genrad, Inc. Method and apparatus for load balancing in a distributed object architecture
JP2000222374A (ja) 1999-02-04 2000-08-11 Matsushita Electric Ind Co Ltd 負荷分散型パケット並列処理装置
US6578068B1 (en) * 1999-08-31 2003-06-10 Accenture Llp Load balancer in environment services patterns
JP4001698B2 (ja) 1999-10-14 2007-10-31 富士通株式会社 負荷分散システム
US6681251B1 (en) * 1999-11-18 2004-01-20 International Business Machines Corporation Workload balancing in clustered application servers
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US6922832B2 (en) * 2000-12-12 2005-07-26 Lockheed Martin Corporation Execution of dynamic services in a flexible architecture for e-commerce
US20020120743A1 (en) 2001-02-26 2002-08-29 Lior Shabtay Splicing persistent connections
JP2004005249A (ja) 2002-05-31 2004-01-08 Fujitsu Ltd 負荷分散型マルチプロセッサに対する信号振分装置
US20040162807A1 (en) * 2003-02-14 2004-08-19 Montagne Michael D. Cooperative, simultaneous operation on data by many processes, with concurrent retention of process status, resumed processing, and minimal consumption of inter-nodal throughput
US7730501B2 (en) * 2003-11-19 2010-06-01 Intel Corporation Method for parallel processing of events within multiple event contexts maintaining ordered mutual exclusion
US7526807B2 (en) * 2003-11-26 2009-04-28 Alcatel-Lucent Usa Inc. Distributed architecture for statistical overload control against distributed denial of service attacks
US7751327B2 (en) * 2004-02-25 2010-07-06 Nec Corporation Communication processing system, packet processing load balancing device and packet processing load balancing method therefor

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176644A (ja) * 2007-01-19 2008-07-31 Sony Corp ネットワークシステム、ダイレクトアクセス管理サーバ、イベント通知方法、ネットワーク家電機器、及びコンピュータプログラム
WO2009110246A1 (ja) * 2008-03-07 2009-09-11 日本電気株式会社 イベント処理システムおよびイベント処理方法
JP2009217402A (ja) * 2008-03-07 2009-09-24 Nec Corp イベント処理システムおよびイベント処理方法
US9380115B2 (en) 2008-03-07 2016-06-28 Nec Corporation Event processing system and event processing method
US8244908B2 (en) 2008-04-03 2012-08-14 Nec Corporation System, method and program for distributed event detection
JP5455069B2 (ja) * 2008-05-14 2014-03-26 日本電気株式会社 情報処理システムと情報処理方法
US8601166B2 (en) 2008-05-14 2013-12-03 Nec Corporation Information processing system and information processing method for generating distribution and synchronization rules in a client/server environment based on operation environment data
WO2009139426A1 (ja) * 2008-05-14 2009-11-19 日本電気株式会社 情報処理システムと情報処理方法
US8978048B2 (en) 2009-12-09 2015-03-10 Nec Corporation Information processing system, control method, and non-transitory computer readable medium storing program
WO2011070716A1 (ja) * 2009-12-09 2011-06-16 日本電気株式会社 情報処理システム、制御方法およびプログラムが格納された非一時的なコンピュータ可読媒体
JP5724880B2 (ja) * 2009-12-09 2015-05-27 日本電気株式会社 情報処理システム、制御方法およびプログラム
WO2011093492A1 (ja) * 2010-02-01 2011-08-04 日本電気株式会社 イベント配信システム、イベント配信ネットワーク、イベント配信ノード、イベント配信方法、及び、コンピュータ読み取り可能な記録媒体
JP2012027673A (ja) * 2010-07-23 2012-02-09 Nec Corp イベント配信システム、イベント配信装置、イベント配信方法及びイベント配信用プログラム
CN102521021A (zh) * 2010-10-20 2012-06-27 微软公司 经由事件流管理的绿色计算
WO2013190770A1 (ja) * 2012-06-19 2013-12-27 日本電気株式会社 ルール分配装置、イベント処理システム、イベント処理方法およびイベント処理プログラム
JPWO2013190770A1 (ja) * 2012-06-19 2016-02-08 日本電気株式会社 ルール分配装置、イベント処理システム、イベント処理方法およびイベント処理プログラム
WO2014034037A1 (ja) * 2012-08-31 2014-03-06 日本電気株式会社 ルール分配装置、イベント処理システム、ルール分配方法およびルール分配プログラム
WO2014199607A1 (ja) * 2013-06-13 2014-12-18 日本電気株式会社 負荷分散装置、負荷分散方法および記憶媒体ならびにイベント処理システム
WO2014199606A1 (ja) * 2013-06-13 2014-12-18 日本電気株式会社 負荷分散装置、負荷分散方法および記憶媒体ならびにイベント処理システム
US9891961B2 (en) 2013-06-13 2018-02-13 Nec Corporation Load distribution apparatus, load distribution method, storage medium, and event-processing system
WO2016125499A1 (ja) * 2015-02-06 2016-08-11 日本電気株式会社 データ処理システム、データ処理方法及び記録媒体
KR101856487B1 (ko) * 2017-03-03 2018-06-19 주식회사 티맥스데이터 파싱을 처리하기 위한 컴퓨팅 장치
WO2019240034A1 (ja) * 2018-06-15 2019-12-19 日本電信電話株式会社 ネットワーク管理システム、管理装置、中継装置、方法およびプログラム
US11477124B2 (en) 2018-06-15 2022-10-18 Nippon Telegraph And Telephone Corporation Network management system, management device, relay device, method, and program

Also Published As

Publication number Publication date
US7856634B2 (en) 2010-12-21
US20060230077A1 (en) 2006-10-12
JP4161998B2 (ja) 2008-10-08

Similar Documents

Publication Publication Date Title
JP4161998B2 (ja) 負荷分散振り分けシステム、イベント処理分散制御装置並びにイベント処理分散制御プログラム
US10452995B2 (en) Machine learning classification on hardware accelerators with stacked memory
EP4193302A1 (en) Performing load balancing self adjustment within an application environment
US7937437B2 (en) Method and apparatus for processing a request using proxy servers
US7574620B2 (en) Method for operating an arrangement of a plurality of computers in the event of a computer failure
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
CN100474257C (zh) 用于信息流的卸载处理的方法和系统
US7543069B2 (en) Dynamically updating session state affinity
JP4964220B2 (ja) バーチャルマシーンフェイルオーバにおけるセキュリティレベルの実現
US20200092404A1 (en) Systems and/or methods for intelligent and resilient failover for cloud computing environments
US11876697B2 (en) Extensible network traffic engineering platform for increasing network resiliency in cloud applications
US20020099759A1 (en) Load balancer with starvation avoidance
CN103034475B (zh) 分布式并行计算方法、装置及系统
US10673936B2 (en) Self-organized retail source request routing and distributed load sharing systems and methods
CN113366802B (zh) 在kubernetes系统中运行的状态控制器及其操作方法
EP4127936B1 (en) Managing failover region availability for implementing a failover service
US7688737B2 (en) Latency hiding message passing protocol
US20120191674A1 (en) Dynamic Monitoring of Ability to Reassemble Streaming Data Across Multiple Channels Based on History
US20200177674A1 (en) Dynamic distributor selection for network load balancing
EP1764688A2 (en) Distributed embedded software for a switch
CN105791381A (zh) 访问控制的方法及装置
US11539815B2 (en) Enhanced self-assembling and self-configuring microservices
CN102025783A (zh) 集群系统及其消息处理方法和协议转发网关
US20230026283A1 (en) Automated cross-service diagnostics for large scale infrastructure cloud service providers
US9378072B2 (en) Mechanisms and apparatus for embedded controller reconfigurable inter-processor communications

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080602

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080714

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4161998

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5