[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2016522919A - 論理的多次元ラベルベースのポリシーモデルを使用した分散型ネットワークマネージメント - Google Patents

論理的多次元ラベルベースのポリシーモデルを使用した分散型ネットワークマネージメント Download PDF

Info

Publication number
JP2016522919A
JP2016522919A JP2016507639A JP2016507639A JP2016522919A JP 2016522919 A JP2016522919 A JP 2016522919A JP 2016507639 A JP2016507639 A JP 2016507639A JP 2016507639 A JP2016507639 A JP 2016507639A JP 2016522919 A JP2016522919 A JP 2016522919A
Authority
JP
Japan
Prior art keywords
managed server
management
server
managed
module
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
JP2016507639A
Other languages
English (en)
Other versions
JP6069580B2 (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.)
Illumio Inc
Original Assignee
Illumio Inc
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 Illumio Inc filed Critical Illumio Inc
Publication of JP2016522919A publication Critical patent/JP2016522919A/ja
Application granted granted Critical
Publication of JP6069580B2 publication Critical patent/JP6069580B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3624Debugging of software by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0222During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/02Access restriction performed under specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/02Access restriction performed under specific conditions
    • H04W48/04Access restriction performed under specific conditions based on user or terminal location or mobility data, e.g. moving direction, speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

管理ドメイン内の特定のマネージドサーバに関するマネージメント命令は、1つまたは複数のルールのセットを備える管理ドメイン規模のマネージメントポリシーに従って生成される。管理ドメインは、複数のマネージドサーバを含む。ルールのセット内のどのルールが、特定のマネージドサーバに関連しているかに関して、判定される。機能レベルの命令は、関連すると判定されたルールに基づいて生成される。複数のマネージドサーバのどのマネージドサーバが特定のマネージドサーバに関連しているかに関して判定される。機能レベルの命令および関連すると判定されたマネージドサーバに関する情報は、特定のマネージドサーバに送られる。特定のマネージドサーバは、機能レベルの命令とマネージドサーバに関する情報とを用いてマネージメントモジュールを構成し、構成されたマネージメントモジュールは管理ドメイン規模のマネージメントポリシーを実装する。

Description

本明細書に記載される主題は、概して、管理ドメインのマネージングサーバ(物理的または仮想的)の分野に関し、特に、論理的多次元ラベルベースのポリシーモデルを遵守する、管理ドメイン規模のポリシーに係るマネージングサーバに関する。
管理ドメインのサーバ(物理的または仮想的)は、ポリシーに従って管理される。例えば、セキュリティポリシーは、アクセス制御および/またはセキュア接続を指定することができ、一方、リソース利用のポリシーは、管理ドメインのコンピューティングリソース(例えば、ディスクおよび/または周辺機器)の利用を指定することができる。従来のポリシーは、物理的デバイスを参照し、インターネットプロトコル(IP)アドレス、IPアドレスレンジ、サブネットワーク、および、ネットワークインターフェースなどの下位レベルの構成概念の観点で表現される。
これらの下位レベルの構成概念は、きめの細かいポリシーを、抽象的で自然な方法で書くことを困難にする。
上記および他の問題は、非一時的コンピュータ可読記憶媒体、および、1つまたは複数のルールのセットを備える管理ドメイン規模のマネージメントポリシーに従って、管理ドメイン内の特定のマネージドサーバ用のマネージメント命令を生成するためのシステム、によって対処される。管理ドメインは、複数のマネージドサーバを含む。方法の一実施形態は、ルールのセット内のどのルールが、特定のマネージドサーバに関連するのかを判定するステップを含む。方法は、関連すると判定された命令に基づき、機能レベルの命令を生成するステップをさらに含む。方法は、複数のマネージドサーバ内のどのマネージドサーバが、特定のマネージドサーバに関連するのかを判定するステップをさらに含む。方法は、特定のマネージドサーバに、機能レベルの命令と関連すると判定されたマネージドサーバに関する情報とを送るステップをさらに含む。特定のマネージドサーバが、機能レベルの命令とマネージドサーバに関する情報とを使用してマネージメントモジュールを構成し、構成されたマネージメントモジュールが管理ドメイン規模のマネージメントポリシーを実装するようにされる。
媒体の一実施形態には、ステップを実行するべく実行可能なコンピュータプログラムモジュールを記憶する。当該ステップには、ルールのセット内のどのルールが、特定のマネージドサーバに関連するのかを判定するステップが含まれる。当該ステップには、関連すると判定された命令に基づき、機能レベルの命令を生成するステップがさらに含まれる。当該ステップには、複数のマネージドサーバ内のどのマネージドサーバが、特定のマネージドサーバに関連するのかを判定するステップがさらに含まれる。当該ステップには、特定のマネージドサーバに、機能レベルの命令と、関連すると判定されたマネージドサーバに関する情報とを送るステップがさらに含まれる。特定のマネージドサーバが、機能レベルの命令とマネージドサーバに関する情報とを使用してマネージメントモジュールを構成し、構成されたマネージメントモジュールが管理ドメイン規模のマネージメントポリシーを実装するようにされる。
システムの一実施形態には、ステップを実行するべく実行可能なコンピュータプログラムモジュールを記憶した非一時的コンピュータ可読記憶媒体が含まれる。当該ステップには、ルールのセット内のどのルールが、特定のマネージドサーバに関連するのかを判定するステップが含まれる。当該ステップには、関連すると判定された命令に基づき、機能レベルの命令を生成するステップがさらに含まれる。当該ステップには、複数のマネージドサーバ内のどのマネージドサーバが、特定のマネージドサーバに関連するのかを判定するステップがさらに含まれる。当該ステップには、特定のマネージドサーバに、機能レベルの命令と、関連すると判定されたマネージドサーバに関する情報とを送るステップがさらに含まれる。特定のマネージドサーバが、機能レベルの命令とマネージドサーバに関する情報とを使用してマネージメントモジュールを構成し、構成されたマネージメントモジュールが管理ドメイン規模のマネージメントポリシーを実装するようにされる。
一実施形態に係る管理ドメインのマネージングサーバ(物理的または仮想的)のための環境を説明する、上位レベルのブロック図である。 一実施形態に係る、図1で説明されるエンティティのうちの1つまたは複数として使用するための、コンピュータの一例を説明する上位レベルのブロック図である。 一実施形態に係るグローバルマネージャの詳細な概念を説明する上位レベルのブロック図である。 一実施形態に係るマネージドサーバのポリシー実装モジュールの詳細な概念を説明する上位レベルのブロック図である。 一実施形態に係る特定のマネージドサーバ用のマネージメント命令を生成する方法を説明するフローチャートである。 一実施形態に係るマネージドサーバのマネージメントモジュールの構成を生成する方法を説明するフローチャートである。 一実施形態に係るマネージドサーバのローカル状態を監視し、かつ、ローカル状態情報をグローバルマネージャに送る、方法を説明するフローチャートである。 一実施形態に係る管理ドメインのコンピュータネットワークインフラの状態に対する変更を処理する方法を説明するフローチャートである。
図面および以下の記載では、単なる説明として、特定の実施形態について記載する。当業者は、本明細書において説明される構造および方法の代替の実施形態が、本明細書に記載される原理から逸脱することなく具現化されてよいことを、以下の記載から容易に認識するであろう。ここで、いくつかの実施形態が参照され、その例が添付の図面において説明される。実用的である限り、同様または同類の参照番号が、図面において使用されてよく、また、類似または同様の機能性を示してよいことに留意されたい。
図1は、一実施形態に係る、管理ドメイン150のマネージングサーバ(物理的または仮想的)130のための環境100を説明する、上位レベルのブロック図である。管理ドメイン150は、例えば、サービスプロバイダ、法人、大学、または政府系機関などの企業に相当してよい。環境100は、企業自体により、または、企業がそのサーバ130を管理するのを助ける、サードパーティ(例えば、第2の企業)により、維持されてよい。図示のように、環境100には、ネットワーク110、グローバルマネージャ120、複数のマネージドサーバ130、および、複数のアンマネージドデバイス140が含まれる。複数のマネージドサーバ130および複数のアンマネージドデバイス140は、管理ドメイン150に関連付けられる。例えば、これらは、企業、または、企業の代わりにサードパーティ(例えば、公的クラウドサービスプロバイダ)によって操作される。図1に示す実施形態では、明確にするために、1つのグローバルマネージャ120、2つのマネージドサーバ130、および、2つのアンマネージドデバイス140が、図示されるが、他の実施形態では、異なる数のグローバルマネージャ120、マネージドサーバ130、および/またはアンマネージドデバイス140を有することができる。
ネットワーク110は、グローバルマネージャ120、マネージドサーバ130、およびアンマネージドデバイス140の間の通信経路を表す。一実施形態において、ネットワーク110は、標準の通信技術および/またはプロトコルを使用し、インターネットを含むことができる。別の実施形態において、ネットワーク110上のエンティティは、カスタムおよび/または専用のデータ通信技術を使用することができる。
マネージドサーバ130は、管理ドメイン規模のマネージメントポリシー330(図3に示す)を実装する機械(物理的または仮想的)である。一実施形態において、サーバは、オペレーティングシステムのカーネルが、1つのみのインスタンスの代わりに、複数の分離されたユーザ空間のインスタンスを有効にする、サーバ仮想化方法である、オペレーティングシステムのレベル仮想化に従う、仮想サーバ(コンテナ、仮想化エンジン、仮想プライベートサーバ、またはジェイルとも称されることがある)のユーザ空間のインスタンスである。マネージドサーバ130が物理的機械である場合、マネージドサーバ130は、コンピュータまたはコンピュータのセットである。マネージドサーバ130が仮想機械である場合、マネージドサーバ130は、コンピュータまたはコンピュータのセット上で実行される。管理ドメイン規模のマネージメントポリシー330は、管理ドメイン150に関連付けられるエンティティが、他のエンティティにアクセスすること(もしくは、他のエンティティによってアクセスされること)、または、他の方法でサービスを消費すること(もしくは提供すること)を許可されるかどうか、および/または、管理ドメイン150に関連付けられるエンティティが、どのように、他のエンティティにアクセスすること(もしくは、他のエンティティによってアクセスされること)、または、他の方法でサービスを消費すること(もしくは提供すること)を許可されるのかを指定する。例えば、管理ドメイン規模のマネージメントポリシー330は、セキュリティまたはリソース利用を指定する。セキュリティポリシーは、アクセス制御、セキュア接続、ディスク暗号化、および/または、実行可能処理の制御を指定することができ、一方、リソース利用のポリシーは、管理ドメインのコンピューティングリソース(例えば、ディスク、周辺機器、および/または、帯域幅)の利用を規定することができる。
マネージドサーバ130には、マネージメントモジュール132、マネージメントモジュール構成134、および、ポリシー実装モジュール136が含まれる。マネージメントモジュール132は、管理ドメイン規模のマネージメントポリシー330を実装する。例えば、セキュリティの場合、マネージメントモジュール132は、オペレーティングシステムレベルのファイアウォール、インターネットプロトコルセキュリティ(IPsec)エンジン、またはネットワークトラフィックフィルタリングエンジン(例えば、ウィンドウズフィルタリングプラットフォーム(WFP)開発プラットフォームに基づく)などの下位レベルのネットワークまたはセキュリティエンジンとすることができる。リソース利用の場合、マネージメントモジュール132は、ディスク利用のエンジンまたは周辺機器利用のエンジンとすることができる。
マネージメントモジュール構成134は、マネージメントモジュール132の動作に影響を与える。例えば、セキュリティの場合、マネージメントモジュール構成134は、ファイアウォールによって適用されるアクセス制御ルール、IPsecエンジンによって適用されるセキュア接続ポリシー(例えば、Linuxオペレーティングシステムのiptablesエントリーおよびipsetエントリーとして、具現化される)、または、フィルタリングエンジンによって適用されるフィルタリングルールとすることができる。リソース利用の場合、マネージメントモジュール構成134は、ディスク利用のエンジンによって適用されるディスク利用のポリシー、または、周辺機器利用のエンジンによって適用される周辺機器利用のポリシーとすることができる。
ポリシー実装モジュール136は、a)グローバルマネージャ120から受け取るマネージメント命令、および、b)マネージドサーバ130の状態に基づき、マネージメントモジュール構成134を生成する。マネージメント命令は、管理ドメイン規模のマネージメントポリシー330に部分的に基づき生成される。ポリシー実装モジュール136によって生成されるマネージメントモジュール構成134は、その管理ドメイン規模のマネージメントポリシー330を実装する(ポリシーがマネージドサーバ130に関与する範囲で)。この2段階のプロセス(マネージメント命令を生成する、および、マネージメントモジュール構成134を生成する)は、マネージメントポリシーの「インスタンス化」と称される。ポリシー実装モジュール136はまた、マネージドサーバ130のローカル状態を監視し、ローカル状態情報をグローバルマネージャ120に送る。
一実施形態において、ポリシー実装モジュール136は、より大きなプロプライエタリモジュール(図示せず)の一部である。プロプライエタリモジュールは、マネージメントモジュール132およびマネージメントモジュール構成134を既に持っているデバイスにロードされ、それによって、デバイスを、アンマネージドデバイス140からマネージドサーバ130に変換する。ポリシー実装モジュール136については、図4、6、および7を参照して、以下でさらに説明する。
アンマネージドデバイス140は、ポリシー実装モジュール136を含まないコンピュータ(またはコンピュータのセット)である。アンマネージドデバイス140は、管理ドメイン規模のマネージメントポリシー330を実装しない。しかし、マネージドサーバ130とアンマネージドデバイス140との間の対話処理が、(マネージドサーバ130により実装されるような)管理ドメイン規模のマネージメントポリシー330に従うようにされてよい。アンマネージドデバイス140の一例は、管理ドメイン150によって使用されるネットワーク回路である。アンマネージドデバイス140の別の例は、管理ドメイン150(例えば、ノートブックもしくはデスクトップコンピュータ、タブレットコンピュータ、または携帯電話)に対して自身を認証する人によって使用されるデバイスである。
グローバルマネージャ120は、マネージドサーバ130用のマネージメント命令を生成して、生成したマネージメント命令をサーバに送る、コンピュータ(またはコンピュータのセット)である。マネージメント命令は、a)管理ドメインのコンピュータネットワークインフラの状態320、および、b)管理ドメイン規模のマネージメントポリシー330に基づいて生成される。管理ドメインのコンピュータネットワークインフラの状態320には、マネージドサーバ130の記述と、(選択的に)アンマネージドデバイス140の記述とが含まれる。グローバルマネージャ120はまた、マネージドサーバ130から受け取るローカル状態情報を処理する。
管理ドメイン規模のマネージメントポリシー330は、IPアドレス、IPアドレスレンジ、サブネットワーク、およびネットワークインターフェース、などの下位レベルの構成概念を使用してもマネージドサーバ130を参照しない、論理的マネージメントモデル基づく。代わりに、論理的マネージメントモデルは、本明細書では「ラベル」と称される、上位レベルの特徴に基づいてマネージドサーバ130を参照する。ラベルは、「次元」(上位レベルの特徴)と、「値」(上位レベルの特徴の値)とを含む一対である。この多次元空間内に構築されるマネージメントポリシーは、単一特徴ネットワーク/IPアドレスベースのポリシーモデルに従って構築されるマネージメントポリシーよりも、表現豊かである。特に、より上位レベルの抽象化である「ラベル」を使用してマネージメントポリシーを表現することで、人々が、マネージメントポリシーをより良く理解、可視化、および修正することを可能にする。
論理的マネージメントモデル(例えば、利用可能な次元の数および型と、それらの次元の可能性のある値)は、構成可能である。一実施形態において、論理的マネージメントモデルには、表1に示すように、以下の次元と値とが含まれる。
論理的マネージメントモデルは、グループ内のマネージドサーバ130の全てを記述する1つまたは複数のラベル(本明細書において、「ラベルセット」と称する)を指定することにより、複数のマネージドサーバ130がまとめてグループ化されることを可能にする。ラベルセットは、論理的マネージメントモデルにおいて、1つの次元について、複数のゼロの値または1の値のどちらかを含む。ラベルセットは、論理的マネージメントモデルにおいて、全ての次元についてラベルを含む必要があるわけではない。このように、論理的マネージメントモデルは、管理ドメインのマネージドサーバ130の区分および分類と、マネージドサーバ130の任意のグループ分けの作成とを可能にする。論理的マネージメントモデルはまた、単一のマネージドサーバ130が、複数の重複するセット(すなわち、マネージドサーバの複数の重複するグループ)内に存在できるようにする。論理的マネージメントモデルは、単一のマネージドサーバ130を、ネストされたセットの階層内に存在することに限定しない。
例えば、セキュリティの場合、区分は、アクセス制御ポリシーと共に使用されて、特定のポリシーに従うマネージドサーバ130のグループを定義することができる。同様に、区分は、セキュア接続ポリシーと共に使用されて、マネージドサーバ130のグループと、グループ内通信およびグループ間通信に適用されるポリシーとを定義することができる。従って、第1のグループのマネージドサーバ130(第1のラベルセットにより指定される)内での通信は、第1のセキュア接続設定(例えば、要求されないセキュア接続)に制限されてよく、第1のグループのマネージドサーバおよび第2のグループのマネージドサーバ(第2のラベルセットにより指定される)との間の通信は、第2のセキュア接続設定(例えば、IPsec暗号ペイロード(Encapsulating Security Payload(ESP))/認証ヘッダ(Authentication Header(AH)高度暗号化規格(Advanced Encryption Standard(AES))/セキュアハッシュルゴリズム−2(Secure Hash Algorithm−2(SHA−2)))に制限されてよい。
環境100内の各マネージドサーバ130は、管理ドメイン規模のマネージメントポリシー330を実装する(ポリシーがマネージドサーバ130に関与する範囲で)。その結果、管理ドメイン規模のマネージメントポリシー330が、管理ドメイン150全体に分散するように適用され、チョークポイントが無い。また、管理ドメイン規模のマネージメントポリシー330は、管理ドメインの物理ネットワークトポロジおよびネットワークアドレッシングスキームとは無関係の論理レベルで適用される。
グローバルマネージャ120、管理ドメインのコンピュータネットワークインフラの状態320、および管理ドメイン規模のマネージメントポリシー330について、図3、5、および8を参照して、以下でさらに説明する。
図2は、一実施形態に係る、図1で説明されるエンティティのうちの1つまたは複数として使用するための、コンピュータ200の一例を説明する上位レベルのブロック図である。チップセット204に結合される少なくとも1つのプロセッサ202について、説明される。チップセット204には、メモリコントローラハブ220、および入力/出力(I/O)コントローラハブ222が含まれる。メモリ206およびグラフィックアダプタ212が、メモリコントローラハブ220に結合され、ディスプレイ装置218が、グラフィックアダプタ212に結合される。記憶装置208、キーボード210、ポインティングデバイス214、およびネットワークアダプタ216が、I/Oコントローラハブ222に結合される。コンピュータ200の他の実施形態は、異なるアーキテクチャを有する。例えば、メモリ206は、いくつかの実施形態において、プロセッサ202に直接結合される。
記憶装置208には、ハードドライブ、CD−ROM(compact disk read−only memory)、DVD、またはソリッドステートメモリデバイスなどの1つまたは複数の非一時的コンピュータ可読記憶媒体が含まれる。メモリ206は、プロセッサ202により使用される命令およびデータを保持する。ポインティングデバイス214は、キーボード210と組み合わせて使用され、データをコンピュータシステム200に入力する。グラフィックアダプタ212は、画像および他の情報をディスプレイ装置218上に表示する。いくつかの実施形態において、ディスプレイ装置218には、ユーザの入力および選択を受け取るためのタッチスクリーン機能が含まれる。ネットワークアダプタ216は、コンピュータシステム200をネットワーク110に結合する。コンピュータ200のいくつかの実施形態は、図2に示すものとは異なるおよび/または他の構成要素を有する。例えば、グローバルマネージャ120および/またはマネージドサーバ130は、複数のブレードサーバで形成されて、ディスプレイ装置、キーボード、および他の構成要素が無くてもよく、一方、アンマネージドデバイス140は、ノートブックもしくはデスクトップコンピュータ、タブレットコンピュータ、または携帯電話であってよい。
コンピュータ200は、本明細書に記載される機能性を提供するためのコンピュータプログラムモジュールを実行するべく適合される。本明細書で使用されるとき、用語「モジュール」は、コンピュータプログラム命令および/または特定の機能性を提供するために使用される他の論理を指す。従って、モジュールは、ハードウェア、ファームウェア、および/またはソフトウェアで実装されてよい。一実施形態において、実行可能コンピュータプログラム命令から形成されるプログラムモジュールは、記憶装置208上に記憶され、メモリ206にロードされ、プロセッサ202によって実行される。
図3は、一実施形態に係る、グローバルマネージャ120の詳細な概念を説明する上位レベルのブロック図である。グローバルマネージャ120には、リポジトリ300、およびプロセシングサーバ310が含まれる。リポジトリ300は、管理ドメインのコンピュータネットワークインフラの状態320と、管理ドメイン規模のマネージメントポリシー330とを記憶するコンピュータ(またはコンピュータのセット)である。一実施形態において、リポジトリ300には、要求に応じて、プロセシングサーバ310に、管理ドメイン状態320とマネージメントポリシー330とへのアクセスを提供するサーバが含まれる。
管理ドメインのコンピュータネットワークインフラの状態320には、マネージドサーバ130の記述と、(選択的に)アンマネージドデバイス140の記述とが含まれる。マネージドサーバ130の記述には、例えば、一意識別子(UID)、オンライン/オフラインインジケータ、1つまたは複数の構成特徴(選択的)、ネットワーク公開情報、サービス情報、およびマネージドサーバ130を記述する1つまたは複数のラベル(ラベルセット)が含まれる。
UIDは、マネージドサーバ130を一意的に識別する。オンライン/オフラインインジケータは、マネージドサーバ130がオンラインかオフラインかを示す。「構成特徴」は、マネージドサーバ130に関連する値を記憶し、任意のタイプの情報(例えば、どのオペレーティングシステムがマネージドサーバ上で実行中であるのかの指標)であってよい。構成特徴は、ルールの条件部分(以下で説明する)と組み合わせて使用される。
ネットワーク公開情報は、マネージドサーバのネットワークインターフェースに関与する。一実施形態において、ネットワーク公開情報には、マネージドサーバのネットワークインターフェースのそれぞれについて、ネットワークインターフェースがアタッチされる「双方向到達可能ネットワーク(bidirectionally−reachable network(BRN))」の識別子、および、BRN内での動作に使用されるゼロ個以上のIPアドレス(およびそのサブネット)が含まれる。別の実施形態において、ネットワーク公開情報には、ルーティング情報、および/または、マネージドサーバが、ネットワークアドレス変換器(NAT)の後方にあるかどうか(および、NATの後方にある場合は、どのタイプのNAT、すなわち、1:1または1:N、であるのか)が含まれる。BRNは、組織内の、または組織を超えた、サブネットのセットであり、BRN内のいずれのノードも、BRN内の任意の他のノードとの通信を確立することができる。例えば、BRN内のノードの全てが、一意IPアドレスを有する。換言すると、BRNは、NATを何も含まない。ネットワーク公開情報(例えば、ネットワークインターフェースのBRN識別子)は、ルールの条件部分と併せて使用されてよい。
サービス情報には、例えば、プロセス情報および/またはパッケージ情報が含まれる。プロセス情報には、例えば、マネージドサーバ130が実行中のプロセスの名称、どのネットワークポートおよびネットワークインターフェース上で、それらのプロセスがリスンしているのか、どのユーザがそれらのプロセスを起動したのか、それらのプロセスの構成、および、それらプロセスのコマンドラインlaunch引数が含まれる。(それらのプロセスは、マネージドサーバ130がサービスを提供すること、または、サービスを利用すること、に相当する。)パッケージ情報には、例えば、どのパッケージ(実行ファイル、ライブラリ、または他の構成要素)がマネージドサーバ130にインストールされるのか、それらのパッケージのバージョン、それらのパッケージの構成、および、それらのパッケージのハッシュ値が含まれる。
アンマネージドデバイス140の記述には、例えば、ネットワーク公開情報(例えば、アンマネージドデバイスのIPアドレス、および、アンマネージドデバイスが接続されるBRNの識別子)が含まれる。アンマネージドデバイス140は、「アンマネージドデバイスグループ」(UDG)の一部である。UDGには、1つまたは複数のアンマネージドデバイス140が含まれる。例えば、「本部UDG」には、管理ドメインの本部によって使用される一次回路およびアックアップ回路が含まれてよく、各回路はIPアドレスに関連付けられる。UDGは、一意識別子(UID)に関連付けられる。UDGに関する管理ドメイン状態320内に記憶される情報には、UDGのUID、およびUDG内のアンマネージドデバイス140に関する情報(例えば、アンマネージドデバイスのネットワーク公開情報)が含まれる。
マネージドサーバ130およびアンマネージドデバイス140の記述は、種々の方法で、例えば、グラフィカルユーザインターフェース(GUI)またはアプリケーションプログラミングインターフェース(API)を介して、グローバルマネージャ120と対話処理することにより、管理ドメイン状態320にロードされてよい。マネージドサーバ130の記述はまた、マネージドサーバから受け取るローカルステータス情報(以下で説明する)に基づき、管理ドメイン状態320にロードされてよい。
特にマネージドサーバのラベル(および、ある場合は、構成特徴)に関して、次元についての値の割り当て(または再割り当て)(または、構成特徴の値の設定)が、さらに多くの方法で実行されてよい。例えば、割り当て/設定は、マネージドサーバ130をプロビジョニングニングすることの一部として、展開および構成のツールを使用して実行されてよい。任意のそのようなツールが使用可能であり、既成のサードパーティのツール(例えば、Puppet Labs社のPuppetというソフトウェア、Opscode社のChefというソフトウェア、または、CFEngine AS社のCFEngineというソフトウェア)、および、管理ドメイン150が有してよいカスタムツールが含まれる。
別の例として、割り当て/設定は、ラベルおよび/または構成特徴(「CC」)値を計算する「ラベル/構成特徴エンジン」(図示せず)によって実行されてよい。一実施形態において、ラベル/CCエンジンが、ラベル/CC割り当てルールに基づき、ラベル/CC値を計算する。ラベル/CC割り当てルールは、管理ドメイン状態320からのデータにアクセスし、ラベルまたはCC値を割り当てる(または、割り当てを示唆する)、機能である。ラベル/CC割り当てルールは、プリセットまたはユーザ構成可能であってよい。例えば、グローバルマネージャ120には、あらかじめ定義されたルールのセットが含まれるが、エンドユーザは、それらのルールを修正および/または削除すること、および、ユーザ自身のカスタム要件に基づき、新しいルールを追加することができる。ラベル/CC割り当てルールは、初期化プロセス中に、マネージドサーバ130について評価されてよい。そして、ラベル/CC値の示唆は、任意の次元/CCについてなされてよく、エンドユーザは、それらの示唆を受け入れても拒否してもよい。例えば、マネージドサーバ130が、PostgresデータベースまたはMySQLデータベースを実行中である場合、示唆されたラベルは、<役割,データベース>であってよい。マネージドサーバが、Linuxオペレーティングシステムを実行中である場合、オペレーティングシステムについて示唆された値CCは、「Linux」であってよい。
別の実施形態において、ラベル/CCエンジンは、クラスタ分析に基づき、ラベル/CC値を計算する。例えば、ラベル/CCエンジンは、追加の発見的問題解決法と共に、連結したグラフの、min−cutアルゴリズムおよびK−meansアルゴリズムの組み合わせを使用して、上位に接続されたマネージドサーバ130のクラスタを自動的に識別する。マネージドサーバ130のクラスタは、管理ドメイン150における「アプリケーション」(表1を参照)に相当し得る。エンドユーザは、アプリケーション次元(または、任意の他の次元)について値を、それらのマネージドサーバ130に、一斉に適用することを選択することができる。
管理ドメイン規模のマネージメントポリシー330には、1つまたは複数のルールが含まれる。大まかに言うと、「ルール」は、サービスの1つまたは複数のプロバイダと、そのサービスの1つまたは複数の消費者との間のリレーションシップを指定する。
ルール機能−リレーションシップは、ルールの実際の影響である、「ルール機能」に統轄される。例えば、セキュリティの場合、ルール機能は、アクセス制御、セキュア接続、ディスク暗号化、または、実行可能処理の制御であってよい。アクセス制御機能でのルールは、消費者が、プロバイダのサービスを使用できるかどうかを指定する。一実施形態において、アクセス制御機能は、純粋な「ホワイトリスト」モデルを使用し、これは、許容可能なリレーションシップのみが表現され、全ての他のリレーションシップが、デフォルトでブロックされる、ということを意味するセキュア接続機能でのルールは、どのセキュアなチャンネル上(例えば、2地点間データ暗号化を使用する、暗号化されたネットワークセッション)で、消費者がプロバイダのサービスを使用することができるのかを指定する。例えば、セキュア接続機能でのルールは、プロバイダが米国に置かれ、消費者がEUに置かれているときは、プロバイダのサービスの利用が暗号化されなければならない、ということを指定することができる。ディスク暗号化機能でのルールは、プロバイダが、そのデータを暗号化ファイルシステム上に記憶しなればならないかどうかを指定する。実行可能処理の制御機能でのルールは、プロバイダが、暗号化ファイルシステム上で実行しなければならないかどうかを指定する。
リソース利用の場合、ルール機能は、ディスク利用または周辺機器利用とすることができる。ディスク利用機能でのルールは、消費者がプロバイダ上に記憶可能なデータの量を指定する。ここで、ルールは、単なるアクセス制御、セキュア接続、ディスク暗号化、実行可能処理の制御、ディスク利用、および周辺機器利用を超えて、他のルール機能を指定することが可能である。例えば、ルール機能は、どの開放型システム間相互接続(OSI)モデルの第7層のサービスを、ネットワークトラフィック、セキュリティ分析のための収集すべきメタデータの量、または、完全なネットワークパケットを取得するためのトリガに適用するのかを指定する。マネージメントポリシーモデルは、適用可能な任意の数のルール機能をサポートする。
ルール機能は、ルールの実際の影響に関する詳細を指定する、1つまたは複数の設定(本明細書においては「機能プロファイル」と称する)に関連付けられてよい。例えば、セキュア接続のルール機能に関連する設定は、ネットワークトラフィックの暗号化に使用される暗号アルゴリズムのリストであってよい。一実施形態において、ルール機能は、複数の機能プロファイルに関連付けられ、機能プロファイルには優先度が含まれる。この優先度は、以下で説明するように、機能レベル命令生成モジュール360によって使用される。
サービス− 一般に、「サービス」は、指定のネットワークポート上で、指定のネットワークプロトコルを使用して、実行される任意のプロセスである。マネージメントポリシー330内のルールのサービスは、ポート/プロトコルの対と、プロセス情報および/またはパッケージ情報(管理ドメイン状態320内のマネージドサーバ130の記述について、上記で説明した)などの、(選択的)追加の適正とによって指定される。マネージドサーバ130が、複数のネットワークインターフェースを有する場合、サービスを、全てのネットワーク上、または、それらのネットワークのサブセット上のみに、公開させることができる。エンドユーザは、どのネットワーク上に、サービスを公開させるかを指定することができる。
プロバイダ/消費者−サービスの1つまたは複数のプロバイダ、および、サービスの1つまたは複数の消費者(すなわち、ユーザ)は、マネージドサーバ130および/またはアンマネージドデバイス140である。
一実施形態において、ルールは、ルール機能部分、サービス部分、提供元部分、使用元部分、および選択的ルール条件部分を含む情報のセットを使用して、管理ドメイン規模のマネージメントポリシー330内に表される。ルール機能部分は、ルールの実際の影響を記述し、1つまたは複数の設定(機能プロファイル)に関連付けられてよい。サービス部分は、ルールが適用されるサービスを記述する。サービス部分が「All(全て)」を示す場合、ルールは全てのサービスに適用される。
提供元(PB)部分は、どのマネージドサーバ130および/またはアンマネージドデバイス140が、サービスを提供可能であるか(すなわち、誰が「プロバイダ」なのか)を記述する。PB部分が「Anybody(誰でも)」を示す場合、誰でも(例えば、任意のマネージドサーバ130またはアンマネージドデバイス140)、サービスを提供することが可能である。PB部分が「Any managed server(どのマネージドサーバでも)」を示す場合、どのマネージドサーバ130でも、サービスを提供することが可能である。(「Any managed server」は、ワイルドカードを含むラベルセットを指定することと等価であり、それによって、全てのマネージドサーバ130をマッチングする)。使用元(UB)部分は、どのマネージドサーバ130および/またはアンマネージドデバイス140が、サービスを使用可能であるか(すなわち、誰が「消費者」であるのか)を記述する。PB部分と同様に、UB部分は、「Anybody」または「Any managed server」を示すこともできる。
PB部分およびUB部分内には、マネージドサーバ130が、ラベルセット(すなわち、マネージドサーバを記述する1つまたは複数のラベル)またはUIDを使用することにより、指定される。ラベルセットを使用してマネージドサーバ130を指定する機能は、論理的マネージメントモデルに由来するもので、マネージドサーバを、その次元および値(ラベル)に基づき参照する。アンマネージドデバイス140は、アンマネージドデバイスグループ(UDG)のUIDを使用することにより指定される。ルールがUDGを指定する場合、ルールには、そのグループ内のアンマネージドデバイス140に関する追加情報(例えば、デバイスのネットワーク公開情報)が含まれる。ルールのPB部分および/またはルールのUB部分には、ラベルセット(マネージドサーバ130を指定するための)、マネージドサーバのUID、および/またはUDGのUIDを含む複数の項目が含まれてよい。
ルール条件部分は、選択的なものであり、ルールが、特定のマネージドサーバ130、および/または、そのマネージドサーバの特定のネットワークインターフェースに適用されるかどうかを指定する。ルール条件部分は、1つまたは複数の構成特徴(「CC」;管理ドメイン状態320内のマネージドサーバの記述の一部である)、および/または、ネットワーク公開情報(例えば、ネットワークインターフェースのBRN識別子、これも管理ドメイン状態320内のマネージドサーバの記述の一部)を含む、ブール式である。式のCC部分は、ルールが、特定のマネージドサーバに適用されるかどうかを指定し、一方、ネットワーク公開情報部分は、ルールが、そのマネージドサーバの特定のネットワークインターフェースに適用されるかどうかを指定する。式が、特定のマネージドサーバの構成特徴について(詳細には、そのマネージドサーバの構成特徴の値について)、および、特定のネットワークインターフェースの情報について、「真」と評価する場合、ルールは、そのマネージドサーバ、および、そのマネージドサーバの関連ネットワークインターフェースに適用される。式が「偽」と評価する場合、ルールは、そのマネージドサーバ、および、そのマネージドサーバの関連ネットワークインターフェースには適用されない。例えば、構成特徴が、どのオペレーティングシステムがマネージドサーバ上で実行中であるかの指標を記憶する場合、その構成特徴を含むルール条件部分は、ルールが特定のマネージドサーバに適用されるかどうかを、そのサーバのオペレーティングシステムに基づき、制御することができる。
管理ドメイン規模のマネージメントポリシー330内のルールは、ルールリストとして編成される。詳細には、マネージメントポリシー330には、1つまたは複数のルールリストが含まれ、ルールリストには、1つまたは複数のルールと、(選択的に)1つまたは複数のスコープとが含まれる。「スコープ」は、どこに(すなわち、どのマネージドサーバ130に)ルールが適用されるのかを制約する。スコープには、ルールリスト内のルールの適用を制限する、提供元(PB)部分および使用元(UB)部分が含まれる。スコープのPB部分はルールのPB部分を制限し、スコープのUB部分はルールのUB部分を制限する。スコープのPB部分およびUB部分は、マネージドサーバ130のグループを、ラベルセットを使用することにより指定する。ラベルセットが、指定の次元のラベルを含まない場合、結果として得られるマネージドサーバ130のグループについて、その次元のスコーピングが無い。ルールリストが、何のスコープも含まない場合、そのルールはグローバルに適用される。
異なるスコープが、単一のルールリストに適用されてよい。例えば、エンドユーザは、どのように、ウェブサービス層が、データベース層からサービスを消費するのか、どのように、ロードバランシング層が、ウェブサービス層からサービスを消費するのか、などを表現するルールのセットを構築することができる。そして、エンドユーザが、このルールリストを自分のプロダクション環境および自分のステージング環境に適用したい場合、エンドユーザは、ルールリストをコピーも複製もする必要が無い。代わりに、エンドユーザは、複数のスコープを単一のルールリストに適用する。スコープの抽象化により、有用性の観点および計算の観点の両方から、ルールリストが拡大/縮小される。
ここで、管理ドメイン規模のマネージメントポリシー330が、記述されていることは、いくつかの例に対処することに役立つ。ユーザデバイスがウェブサーバ(第1の層)にアクセスし、ウェブサーバがデータベースサーバ(第2の層)にアクセスする、2層アプリケーションを用いる管理ドメイン150について検討する。第1の層において、ユーザデバイスは消費者であり、ウェブサーバはプロバイダである。第2の層において、ウェブサーバは消費者であり、データベースサーバはプロバイダである。管理ドメイン150には、このアプリケーションの2つのインスタンスが含まれ、1つはプロダクション環境内、1つはステージング環境内にある。
ウェブサーバおよびデータベースサーバは、マネージドサーバ130であり、それらの記述(例えば、ラベルセット)は管理ドメイン状態320内に存在する。例えば、それらのラベルセットは、
プロダクションにおけるウェブサーバ:<役割,ウェブ>および<環境,プロダクション>
プロダクションにおけるデータベースサーバ:<役割,データベース>および<環境,プロダクション>
ステージングにおけるウェブサーバ:<役割,ウェブ>および<環境,ステージング>
ステージングにおけるデータベースサーバ:<役割,データベース>および<環境,ステージング>
(アプリケーション次元、業種次元、およびロケーション次元は、この例に関連しないため、それらのラベルは省略する。)
ここで、アクセス制御およびセキュア接続を指定するセキュリティポリシーである、以下の管理ドメイン規模のマネージメントポリシー330について検討する。
ルールリスト#1
・スコープ
○<環境,プロダクション>
○<環境,ステージング>
・ルール
○#1
●機能:アクセス制御
●サービス:アパッチ
●PB:<役割,ウェブ>
●UB:Anybody
○#2
●機能:アクセス制御
●サービス:PostgreSQL
●PB:<役割,データベース>
●UB:<役割,ウェブ>
ルールリスト#2
・スコープ:無
・ルール
○#1
●機能:セキュア接続
●サービス:All
●PB:<役割,データベース>
●UB:Any managed server
なお、上記のルールは、明確にするために、単に「アパッチ」および「PostgreSQL」として、サービスを参照する。サービスが、プロセスであり、ポート/プロトコルの対と、プロセス情報および/またはパッケージ情報(管理ドメイン状態320内のマネージドサーバ130の記述について、上記で説明した)などの、(選択的)追加の適正、によって指定されるということを、思い出されたい。
ルールリスト#1/ルール#1では、任意のデバイス(例えば、ユーザデバイス)が、ウェブサーバに接続して、アパッチサービスを使用することが許可される。詳細には、接続の許可が、機能部分の「アクセス制御」によって指定される。「任意のデバイス」が、UB部分の「Anybody」によって指定される。「ウェブサーバ」が、PB部分の「<役割,ウェブ>」(1つのラベルのみを含むラベルセット)によって指定される。アパッチサービスが、サービス部分の「アパッチ」によって指定される。
ルールリスト#1/ルール#2では、ウェブサーバが、データベースサーバ上のPostgreSQLに接続することが許可される。詳細には、接続の許可が、機能部分の「アクセス制御」によって指定される。「ウェブサーバ」が、UB部分の「<役割,ウェブ>」によって指定される。「PostgreSQL」が、サービス部分の「PostgreSQL」によって指定される。「データベースサーバ」が、PB部分の「<役割,データベース>」(1つのラベルのみを含むラベルセット)によって指定される。
ルールリスト#1ではまた、環境間の接続を防ぐ。例えば、ウェブサーバとデータベースサーバとの両方が、同じ環境内にある場合(例えば、両方ともプロダクション環境内にある、または、両方ともステージング環境内にある)、ウェブサーバは、データベースサーバ上のPostgreSQLに接続することが許可される。プロダクション環境内の両サーバは、スコープ部分の<環境,プロダクション>」(1つのラベルのみを含むラベルセット)によって指定され、一方、ステージング環境内の両サーバは、スコープ部分の「<環境,ステージング>」(1つのラベルのみを含むラベルセット)によって指定される。その結果、サーバが、異なる環境内にある場合(例えば、ウェブサーバがステージング環境内にあり、データベースサーバがプロダクション環境内にある場合)は、ウェブサーバは、データベースサーバ上のPostgreSQLにアクセスすることが許可されない。
ルールリスト#2は、任意のマネージドサーバが、データベースサーバに接続するときはいつでも、その接続が暗号化されたチャンネルを介して実行されなければならない、ということを提示する。詳細には、「データベースサーバ」が、PB部分の」<役割,データベース>」によって指定される。「暗号化されたチャンネル」が、機能部分の「セキュア接続」によって指定される。「任意のマネージドサーバ」が、UB部分の「Any managed server」によって指定される。「いつでも」が、サービス部分の「All」によって指定される。
上記の例から離れて、以下の2つのマネージドサーバ130について検討する。サーバ1は、プロダクションの一部であり、app1の一部であり、カリフォルニアのエンジニアリングが所有するウェブサーバである。以下のようにラベル付けされる。
<役割,ウェブ>
<環境,プロダクション>
<アプリケーション,app1>
<業種,エンジニアリング>
<ロケーション,US>
サーバ2は、プロダクションの一部であり、app1の一部でもあり、ドイツのエンジニアリングが所有するデータベースサーバである。以下のようにラベル付けされる。
<役割,データベースサーバ>
<環境,プロダクション>
<アプリケーション,app1>
<業種,エンジニアリング>
<ロケーション,EU>
アクセス制御ルールが、app1の一部である全てのマネージドサーバ130への全てのアクセスを許可すると仮定する。このルールでは、サーバ1とサーバ2とが互いに通信することが許可され、app2の一部であるドイツのマネージドサーバ130がサーバ1またはサーバ2と通信することが許可されない。ここで、セキュア接続ルールが、EUとUSとの間の全てのネットワークトラフィックは、暗号化されなければならないことを指定すると仮定する。ルール機能は、単独で適用される。換言すると、セキュア接続ルールは、アクセス制御ルールとは無関係に適用される別個のポリシーである。その結果、サーバ1からサーバ2へのネットワークトラフィックが、許可されて(アクセス制御ルールが与えられて)、暗号化される(セキュア接続ルールが与えられる)。
図3に戻って、プロセシングサーバ310は、マネージドサーバ130用のマネージメント命令を生成して、生成したマネージメント命令をサーバに送る。プロセシングサーバ310はまた、マネージドサーバ130から受け取るローカル状態情報を処理する。プロセシングサーバ310には、ポリシーエンジンモジュール340、関連ルールモジュール350、機能レベル命令生成モジュール360、アクターエニュメレーションモジュール370、関連アクターモジュール380、および、管理ドメイン状態更新モジュール385などの種々のモジュールが含まれる。一実施形態において、プロセシングサーバ310には、リポジトリ300と通信して、データを(例えば、ポリシーエンジンモジュール340、関連ルールモジュール350、機能レベル命令生成モジュール360、アクターエニュメレーションモジュール370、関連アクターモジュール380、および管理ドメイン状態更新モジュール385を実行することにより)処理するコンピュータ(またはコンピュータのセット)が含まれる。
関連ルールモジュール350は、管理ドメイン規模のマネージメントポリシー330と、特定のマネージドサーバ130の指標(例えば、そのサーバのUID)とを入力として取り込み、そのサーバに関連するルールのセットを生成し、ルールのセットを出力する。これは、関連ルールモジュール350が、マネージメントポリシー330を検査して、所与のマネージドサーバ130用の関連ルールのみを抽出するために用いる、フィルタリングプロセスである。関連ルールモジュール350は、フィルタリングの実行を、マネージメントポリシー330内のルールリストの全てを反復すること、各ルールリストのスコープを分析して、スコープがこのマネージドサーバ130に適用されるかどうかを判定すること、および(スコープがこのマネージドサーバ130に適用される場合)各ルールリストのルールを分析して、それらのルールがこのマネージドサーバ130に適用されるかどうかを判定することによって行う。ルールがマネージドサーバ130に適用されるのは、a)ルールのPB部分および/またはルールのUB部分が、マネージドサーバを指定する場合、および、b)ルールの条件部分(存在する場合)が、そのマネージドサーバについて(詳細には、マネージドサーバの構成特徴の値およびネットワーク公開情報について)、「真」となる場合である。最終結果(本明細書において、マネージメントポリシー観点」と称する)は、2セットのルールのコレクションであり、1つは、このマネージドサーバ130がサービスを提供するルール、1つは、このマネージドサーバ130がサービスを消費するルールである。
機能レベル命令生成モジュール360は、ルールのセット(例えば、関連ルールモジュール350により生成されるマネージメントポリシー観点)を入力として取り込み、機能レベルの命令を生成し、その機能レベルの命令を出力する。機能レベルの命令は、後で、マネージメント命令の一部としてマネージドサーバ130に送られる。機能レベルの命令は、それぞれが、ルール機能部分、サービス部分、PB部分、およびUB部分を含むという点で、ルールに類似する。しかし、ルールが、そのPB部分および/またはUB部分内に複数の項目(ラベルセット、マネージドサーバUID、および/または、UDGのUIDを含む)を含むことができる一方、機能レベルの命令は、そのPB部分内に1項目のみ、およびそのUB部分に1項目のみしか含まない。また、ルールが、そのPB部分および/またはUB部分内に、マネージドサーバ(その複数のネットワークインターフェースを含む)を指定することができる一方、機能レベルの命令は、そのPB部分およびUB部分内に、1つのネットワークインターフェースのみしか含まない。
機能レベル命令生成モジュール360は、ルールを分析し、そのルールに基づき1つまたは複数の機能レベルの命令を生成する。ルールのPB部分が、複数の項目を含む場合、ルールのUB部分が、複数の項目を含む場合、または、ルール(PB部分またはUB部分)により参照されるマネージドサーバが、複数のネットワークインターフェースを有する場合、機能レベル命令生成モジュール360は、複数の機能レベルの命令(例えば、PB項目、UB項目、および特定のネットワークインターフェースの、可能な組み合わせごとに1つの機能レベルの命令)を生成する。
PB部分に2つの項目(AおよびB)、ならびに、UB部分に2つの項目(CおよびD)を含むルールについて検討する。機能レベル命令生成モジュール360は、以下のPB部分およびUB部分を用いて4つの機能レベルの命令を生成する。1)PB=A、UB=C;2)PB=A、UB=D;3)PB=B、UB=C;4)PB=B、UB=D。ここで、PB部分またはUB部分でマネージドサーバをカバーするルール(例えば、UIDまたはラベルセットを指定することにより)であって、そのマネージドサーバが複数のネットワークインターフェースを有する場合を検討する。機能レベル命令生成モジュール360は、複数の機能レベルの命令(例えば、マネージドサーバのネットワークインターフェースごとに1つの機能レベルの命令)を生成する。
機能レベル命令生成モジュール360は、ルール、それらのルール内の機能、および、それらのルールにより参照される機能プロファイルを分析する。ルールリストに、複数のスコープが含まれる場合、機能レベル命令生成モジュール360は、それらのスコープをルールリストに、複数回繰り返し適用する(それによって、スコープごとに機能レベルの命令の完全なセットを生成する)。ルール機能が、複数の機能プロファイルに関連付けられてよいこと、および、機能プロファイルが優先度を含むことができることを思い出されたい。機能レベル命令生成モジュール360は、種々の機能プロファイルの優先度に基づきルールを順序付けて、優先度の最も高い機能プロファイルが使用されるようにする。機能レベル命令生成モジュール360は、順序付けされたルールを、マネージドサーバ130が実行できるように、機能レベルの命令に変換する。機能レベルの命令は、適切なマネージドサーバ130および/またはアンマネージドデバイス140(例えば、入力されたルールにおいて参照されたマネージドサーバ130および/またはアンマネージドデバイス140)を参照し、ルールに関連するサービスのネットワーク公開の詳細を考慮に入れる。
ここで、機能レベル命令生成モジュール360は、特定のマネージドサーバ130用の機能レベルの命令を生成することができるが、該命令は、そのサーバには無意味なものとなる。例えば、そのマネージドサーバが、ルールの提供元(PB)部分によりカバーされ、そのため、機能レベル命令生成モジュール360が、対応する機能レベルの命令を生成する。しかし、ルールには、マネージドサーバのローカル状態を指定する部分も含まれる(例えば、提供されるサービスを記述するサービス部分)。グローバルマネージャ120には、マネージドサーバのローカル状態(例えば、マネージドサーバが実際にそのサービスを提供中であるかどうか)が分からないため、生成された機能レベルの命令がマネージドサーバに送られる。マネージドサーバは、そのローカル状態をチェックし(例えば、そのサービスを提供中であるかどうか)、それに従って、ポリシーコンパイルモジュール410を参照して以下で説明するように、機能レベルの命令を処理する。
アクターエニュメレーションモジュール370は、マネージドサーバ130およびアンマネージドデバイスグループ(UDG)の記述(例えば、管理ドメインのコンピュータネットワークインフラの状態320)のコレクションを入力として取り込み、サーバおよびUDGのそれらの記述の表現を、エニュメレート(列挙)された形式(「アクターセット」と称する)で生成し、アクターセットを出力する。例えば、アクターエニュメレーションモジュール370は、マネージドサーバ130およびUDGを、管理ドメイン状態320および可能性のあるラベルセット内にエニュメレートし、それぞれに一意識別子(UID)を割り当てる。これらのアクターセットは、次に、ルールおよびスコープの、UB部分およびPB部分、と併せて使用されてよく、これにより、マネージドサーバのUID、UDGのUID、および/または、ラベルセットを使用して、アクターを指定する。
N個の次元Di(i=1,...,N)の集合を含み、各次元Diが、可能性ある値Vj(j=1,...,Μi)の集合Siを含む(ここで、ワイルドカード「*」は可能性のある値のうちの1つである)、論理的マネージメントモデルについて検討する。一実施形態において、アクターエニュメレーションモジュール370は、論理的マネージメントモデルに基づき可能性のある全てのラベルセットをエニュメレートし、これは、S1×S2×...×SNで得られるデカルト積に等しい。この集合のサイズはM1×M2×...×MNである。エニュメレーションプロセスでは、マネージドサーバ130の多次元ラベル空間を、単純なエニュメレートされた形式に縮約する。
別の実施形態において、アクターエニュメレーションモジュール370は、管理ドメイン状態320に基づき(例えば、管理ドメイン150内のマネージドサーバの記述に基づき)可能性のあるラベルセットだけをエニュメレートする。例えば、2つの次元(XおよびY)を含み、各次元が3つの可能性のある値(A、B、および*)を含む、論理的マネージメントモデルについて検討する。ラベルセット「<X=A>,<Y=B>」を持つマネージドサーバは、以下の4つの可能性のあるラベルセットのうちのメンバーであり得る。1)「<X=A>,<Y=B>」、2)「<X=A>,<Y=*>」、3)「<X=*>,<Y=B>」、および、4)「<X=*>,<Y=*>」。ここで、マネージドサーバのラベルセットは、二次元空間(XおよびY)に存在し、一方、可能性のあるラベルセット2、3、および4は、マネージドサーバのラベルセットの、サブ次元空間への投影である(ラベルセット2は一次元空間(X)、ラベルセット3は一次元空間(Y)、ラベルセット4は0次元空間)。それ故、アクターエニュメレーションモジュール370は、それら4つの可能性のあるラベルセットをエニュメレートする。ラベルセット「<X=A>,<Y=B>」を持つマネージドサーバが、ラベルセット「<X=A>,<Y=A>」のメンバーであることはなく、そのため、アクターエニュメレーションモジュール370は、そのラベルセットをエニュメレートしない。
アクターセットには、UIDおよび、ゼロ個またはそれ以上のアクターセットレコードが含まれる。アクターセットレコードには、UID(マネージドサーバのUIDまたはUDGのUIDのいずれか)、アクターのオペレーティングシステムの識別子、および、指定のBRNが与えられたアクター(マネージドサーバ130またはアンマネージドデバイス140)のIPアドレスが含まれる。例えば、アクターセットには、<役割,データベース>および<環境,プロダクション>のラベルセットによりカバーされるマネージドサーバ130の全てに対応するIPアドレスを持つ、アクターセットレコードが含まれてよい。別の例として、アクターセットには、本部UDGにおけるアンマネージドデバイス140の全てに対応するIPアドレスを持つ、アクターセットレコードが含まれてよい。単一のアクター(例えば、マネージドサーバ130またはアンマネージドデバイス140)が、複数のアクターセット内に見られてよい。
アクターセット計算における別の要因は、複数のネットワークインターフェースを持つアクターと、ネットワークアドレス変換器(NAT)などのネットワークトポロジを含むことである。従って、<役割,データベース>および<環境,プロダクション>のラベルセットついて2つのアクターセットがあり得、1つのアクターセットが、それらマネージドサーバ130のインターネットに接続するIPアドレス(すなわち、第1のBRNに関連する)を持ち、それら同じマネージドサーバ用の異なるアクターセットが、それらマネージドサーバのプライベートネットワークに接続するIPアドレス(すなわち、第2のBRNに関連する)を持つ。
一実施形態において、アクターエニュメレーションモジュール370は、管理ドメインの状態320に対する変更に基づき、アクターセットを更新することもできる。例えば、アクターエニュメレーションモジュール370は、アクターセット(以前、アクターエニュメレーションモジュールによって出力された)、および、マネージドサーバの記述(管理ドメイン状態320内の)に対する変更を入力として取り込み、更新されたアクターセット(変更されたサーバ記述と一致する)を生成し、更新されたアクターセットを出力する。アクターエニュメレーションモジュール370は、マネージドサーバの記述に対する変更のタイプに応じた異なる方法で、更新されたアクターセットを生成する。
オフライン/オンラインの変更−記述変更が、サーバがオンラインからオフラインになったことを示す場合、アクターエニュメレーションモジュール370は、サーバのアクターセットレコードを、サーバがメンバーだった全ての入力アクターセットから削除することにより、更新されたアクターセットを生成する。記述変更が、サーバがオフラインからオンラインになったことを示す場合、アクターエニュメレーションモジュール370は、サーバのアクターセットレコードを、任意の関連する入力アクターセットに追加することにより、更新されたアクターセットを生成する。(必要に応じて、アクターエニュメレーションモジュール370は、新しいアクターセットを作成し、サーバのアクターセットレコードをその新しいアクターセットに追加する。)
ラベルセットの変更−記述変更が、サーバのラベルセットが変更されたことを示す場合、アクターエニュメレーションモジュール370は、これを、第1のサーバ(古いラベルセットを持つ)がオフラインになり、第2のサーバ(新しいラベルセットを持つ)がオンラインになる、というように扱う。
ネットワーク公開情報の変更−記述変更が、サーバがネットワークインターフェースを削除したことを示す場合、アクターエニュメレーションモジュール370は、サーバのアクターセットレコードを、サーバがメンバーだった全ての入力アクターセット(そのネットワークインターフェースのBRNに関連する)から削除することにより、更新されたアクターセットを生成する。記述変更が、サーバがネットワークインターフェースを追加したことを示す場合、アクターエニュメレーションモジュール370は、サーバのアクターセットレコードを、任意の関連する入力アクターセット(そのネットワークインターフェースのBRNに関連する)に追加することにより、更新されたアクターセットを生成する。(必要に応じて、アクターエニュメレーションモジュール370は、新しいアクターセット(そのネットワークインターフェースのBRNに関連する)を作成し、サーバのアクターセットレコードをその新しいアクターセットに追加する。)記述変更が、サーバがネットワークインターフェースのBRNを変更したことを示す場合、アクターエニュメレーションモジュール370は、これを、第1のネットワークインターフェース(古いBRNを持つ)が削除され、第2のネットワークインターフェース(新しいBRNを持つ)が追加される、というように扱う。記述変更が、サーバがネットワークインターフェースのIPアドレス(BRNではなく)を変更したことを示す場合、アクターエニュメレーションモジュール370は、サーバがメンバーだった全ての入力アクターセット(そのネットワークインターフェースのBRNに関連する)内のサーバのアクターセットレコードを修正することにより、更新されたアクターセットを生成する。
関連アクターモジュール380は、1つまたは複数のアクターセット(例えば、管理ドメイン状態320内の、エニュメレートされた形式のマネージドサーバ130およびUDG)と、ルールのセット(例えば、マネージメントポリシー観点)と、を入力として取り込み、どのアクターセットが、それらのルールに関連するのかを判定し、それらのアクターセットのみを出力する。これは、関連アクターモジュール380が、アクターセットを検査して、所与のルールのセット用の関連アクターセットのみを抽出するために用いる、フィルタリングプロセスである。関連アクターモジュール380は、フィルタリングの実行を、入力アクターセットの全てを反復すること、および、入力されたルールのPB部分およびUB部分を分析して、特定のアクターセットが、ルールのPB部分またはUB部分のいずれかによって参照されるかどうかを判定することによって行う。最終結果(本明細書において、「アクター観点」と称する)は、アクターセットのコレクションである。アクター観点は、後で、マネージメント命令の一部としてマネージドサーバ130に送られる。
一実施形態において、関連アクターモジュール380は、入力されたルールのセットを使用して、「アクターセットフィルタ」を生成する。アクターセットフィルタは、入力アクターセットから、入力されたルールに関連するアクターセットのみを選択する。換言すると、関連アクターモジュール380は、アクターセットフィルタを使用して、入力アクターセットをフィルタリングして関連アクターセットにする。
ポリシーエンジンモジュール340は、マネージドサーバ130用のマネージメント命令を生成して、生成したマネージメント命令をサーバに送る。ポリシーエンジンモジュール340は、a)管理ドメインのコンピュータネットワークインフラの状態320、および、b)管理ドメイン規模のマネージメントポリシー330に基づき、(関連ルールモジュール350、機能レベル命令成モジュール360、アクターエニュメレーションモジュール370、および関連アクターモジュール380を用いて)マネージメント命令を生成する。
例えば、ポリシーエンジンモジュール340は、関連ルールモジュール350を実行して、管理ドメイン規模のマネージメントポリシー330と、特定のマネージドサーバ130のUIDとを入力として提供する。関連ルールモジュール350は、そのサーバに関連するルールのセット(「マネージメントポリシー観点」)を出力する。ポリシーエンジンモジュール340は、アクターエニュメレーションモジュール370を実行して、管理ドメイン状態320を入力として提供する。アクターエニュメレーションモジュール370は、管理ドメイン状態320内のエニュメレートされた形式の、マネージドサーバ130およびアンマネージドデバイスグループ(UDG)の記述の表現(「アクターセット」)を出力する。ポリシーエンジンモジュール340は、機能レベル命令生成モジュール360を実行して、マネージメントポリシー観点(関連ルールモジュール350によって出力された)を、入力として提供する。機能レベル命令生成モジュール360は、機能レベルの命令を出力する。ポリシーエンジンモジュール340は、関連アクターモジュール380を実行して、アクターセット(エニュメレーションモジュール370により出力された)と、マネージメントポリシー観点(関連ルールモジュール350により出力された)と、を入力として提供する。関連アクターモジュール380は、それらのルールに関連するアクターセット(「関連アクターセット」)のみを出力する。ポリシーエンジンモジュール340は、機能レベルの命令(機能レベル命令生成モジュール360により出力された)と、関連アクターセット(関連アクターモジュール380により出力された)とを、特定のマネージドサーバ130に送る。
一実施形態において、ポリシーエンジンモジュール340は、上記のプロセスの間に生成された情報をキャッシュする。例えば、ポリシーエンジンモジュール340は、特定のマネージドサーバ130に関連して、マネージメントポリシー観点、機能レベルの命令、アクターセットフィルタ、および/または関連アクターセットをキャッシュする。別の例として、ポリシーエンジンモジュール340は、(特定のマネージドサーバ130に特有でない)アクターセットをキャッシュする。
管理ドメインのアクターセットは、管理ドメイン状態320に基づくため、管理ドメイン状態320に対する変更により、管理ドメインのアクターセットに対する変更を要求することができる。同様に、マネージドサーバのマネージメント命令は、管理ドメイン状態320および管理ドメイン規模のマネージメントポリシー330に基づくため、管理ドメイン状態320に対する変更および/または管理ドメイン規模のマネージメントポリシー330に対する変更により、マネージドサーバのマネージメント命令に対する変更を要求することができる。一実施形態において、ポリシーエンジンモジュール340は、管理ドメインのアクターセットを更新すること、および/または、マネージドサーバのマネージメント命令を更新することができ、これらの変更を(必要に応じて)マネージドサーバ130に配布することができる。上記で言及したキャッシュされた情報は、ポリシーエンジンモジュール340が、管理ドメインのアクターセットおよび/またはマネージドサーバのマネージメント命令を、より効率的に更新して、変更を分配することに役立つ。
一実施形態において、ポリシーエンジンモジュール340は、以下のように、管理ドメインのアクターセットを更新し(管理ドメイン状態320に対する変更に基づき)、変更をマネージドサーバ130に分配する。ポリシーエンジンモジュール340は、アクターエニュメレーションモジュール370を実行して、(以前、アクターエニュメレーションモジュールに出力された)キャッシュされたアクターセットと、管理ドメイン状態320の変更された部分(すなわち、変更されたサーバ記述)とを入力として提供する。アクターエニュメレーションモジュール370は、更新されたアクターセットを出力する。一実施形態において、ポリシーエンジンモジュール340は、次に、更新されたアクターセットの全てを、管理ドメイン150内のマネージドサーバ130の全てに送る。ただし、その実施形態は効率的ではなく、それは、全てのアクターセットに対する変更によって、全てのマネージドサーバが影響を受けるわけではないからである。
別の実施形態において、選択されたアクターセットのみが、選択されたサーバに送られる。例えば、特定のマネージドサーバには、a)以前に、そのサーバに送られたアクターセット、および、b)変更されているアクターセットのみが送られる。キャッシュされた関連アクターセットは、どのアクターセットがそのサーバに以前送られたのかを示す(上記(a)を参照のこと)。ポリシーエンジンモジュール340は、キャッシュされたアクターセットを、更新されたアクターセットと比較して、どのアクターセットが変更されているかを判定する(上記(b)を参照のこと)。そして、ポリシーエンジンモジュール340は、(a)と(b)との共通部分を計算する。その共通部分のアクターセットが、特定のマネージドサーバに送られる。一実施形態において、さらに効率を上げるために、アクターセットが「diff」形式で送られる。例えば、diff形式は、アクターセット識別子、アクター識別子(例えば、マネージドサーバのUIDまたはUDGのUID)、および、そのアクターが、追加、削除または修正されるべきかどうかの指標を指定する。
さらに別の実施形態において、2つの表が保持され、効率を向上させるために使用される。第1の表では、マネージドサーバ130を、そのマネージドサーバがメンバーであるアクターセットに関連付ける。第2の表では、マネージドサーバ130を、そのマネージドサーバに関連するアクターセットに(例えば、関連アクターモジュール380により判定されるように)関連付ける。これらの表において、マネージドサーバ130は、例えば、そのマネージドサーバのUIDによって表され、アクターセットは、例えば、そのアクターセットのUIDで表される。ポリシーエンジンモジュール340は、管理ドメイン状態320の変更された部分(すなわち、変更されたサーバ記述)を使用して、どのマネージドサーバの記述が変更されたのかを判定する。ポリシーエンジンモジュール340は、第1の表を使用して、そのマネージドサーバが、どのアクターセットのメンバーだったのかを判定する。それらのアクターセットは、変更されたサーバ記述の結果として、変更されてよい。従って、ポリシーエンジンモジュール340は、第2の表を使用して、どのマネージドサーバに、それらのアクターセットが関連するのかを判定する。ポリシーエンジンモジュール340は、それらのマネージドサーバのみについて、上記で説明した共通部分の計算を実行する。
一実施形態において、ポリシーエンジンモジュール340は、以下のように、マネージドサーバのマネージメント命令を(管理ドメイン状態320に対する変更に基づき)更新し、更新されたマネージメント命令をマネージドサーバに送る。ポリシーエンジンモジュール340は、関連ルールモジュール350を実行して、管理ドメイン規模のマネージメントポリシー330と、マネージドサーバ130のUIDとを入力として提供する。関連ルールモジュール350は、そのサーバに関連するルールのセット(「マネージメントポリシー観点」)を出力する。ポリシーエンジンモジュール340は、出力されたばかりのマネージメントポリシー観点を、キャッシュされたマネージメントポリシー観点と比較して、それらが異なるかどうかを判定する。出力されたばかりのマネージメントポリシー観点と、キャッシュされたマネージメントポリシー観点が同一の場合、ポリシーエンジンモジュール340は、それ以上何の行動も取らない。この状況において、以前生成されたマネージドサーバのマネージメント命令(詳細には、機能レベルの命令および関連アクターセット)は、管理ドメイン状態320に対する変更と一致し、再生成されてマネージドサーバに再送信される必要はない。
出力されたばかりのマネージメントポリシー観点と、キャッシュされたマネージメントポリシー観点が異なる場合、ポリシーエンジンモジュール340は、どのルールが、キャッシュされた観点に追加されるべきなのか、どのルールが、キャッシュされた観点から削除されるべきなのかを判定する。ポリシーエンジンモジュール340は、機能レベル命令生成モジュール360を実行して、追加すべきルールと、削除すべきルールとを入力として提供する。機能レベル命令生成モジュール360は、(以前マネージドサーバに送られた、キャッシュされた機能レベルの命令に比較して)追加すべき機能レベルの命令と、削除すべき機能レベルの命令とを出力する。ポリシーエンジンモジュール340は、必要に応じて、マネージドサーバに命令して、種々の機能レベルの命令を追加または削除させる。一実施形態において、より効率を上げるために、機能レベルの命令が、「diff」形式で送られる。例えば、diff形式は、機能レベルの命令識別子、および、機能レベルの命令が、以前送られた機能レベルの命令に対して追加、または、削除されるべきかどうかの指標を指定する。
ポリシーエンジンモジュール340は、アクターエニュメレーションモジュール370を実行して、キャッシュされたアクターセットと、管理ドメイン状態320の変更された部分(すなわち、変更されたサーバ記述)とを入力として提供する。アクターエニュメレーションモジュール370は、更新されたアクターセットを出力する。ポリシーエンジンモジュール340は、関連アクターモジュール380を実行して、更新されたアクターセットと、出力されたばかりのマネージメントポリシー観点とを入力として提供する。関連アクターモジュール380は、それらのルール(「更新された関連アクターセット」)に関連する、更新されたアクターセットのみを出力する。
ポリシーエンジンモジュール340は、更新された関連アクターセットを、キャッシュされた関連アクターセットと比較して、それらが異なるかどうかを判定する。更新された関連アクターセットと、キャッシュされた関連アクターセットとが同一の場合、ポリシーエンジンモジュール340は、アクターセットをマネージドサーバに送らない。この状況において、以前生成された関連アクターセットは、管理ドメイン状態320に対する変更と一致し、マネージドサーバに再送信される必要はない。更新された関連アクターセットと、キャッシュされた関連アクターセットとが異なる場合、ポリシーエンジンモジュール340は、どのアクターセットが、キャッシュされた関連アクターセットに比較して、追加、削除、または修正されるべきかを判定する。ポリシーエンジンモジュール340は、必要に応じて、マネージドサーバに命令して、種々のアクターセットを追加、削除、または修正させる。一実施形態において、より効率を上げるために、アクターセットが「diff」形式で送られる。例えば、diff形式は、アクターセット識別子、および、そのアクターセットが、以前送られたアクターセットに比較して、追加、削除または修正されるべきかどうかの指標を指定する。
ポリシーエンジンモジュール340が、マネージドサーバのマネージメント命令を(管理ドメイン規模のマネージメントポリシー330に対する変更に基づき)更新し、更新されたマネージメント命令を、マネージドサーバに送ることができることを思い出されたい。マネージメントポリシー330に対する変更は、例えば、ルールまたはルールのセットの追加、削除、または修正である。一実施形態において、マネージメントポリシー330に対する変更が、GUIまたはAPIを介したグローバルマネージャ120との対話処理により生成される。別の実施形態において、マネージメントポリシー330に対する変更が、グローバルマネージャ120内で、(例えば、グローバルマネージャにより検出されるセキュリティ脅威に応じて)自動化されたプロセスにより生成される。ポリシーエンジンモジュール340は、マネージメントポリシー330に対する変更または管理ドメイン状態320に対する変更があるかどうかにかかわらず、同様の方法で、マネージドサーバのマネージメント命令を更新し、更新されたマネージメント命令を、マネージドサーバに送る。しかし、多少の違いが存在する。
マネージメントポリシー330に対する変更の場合、ポリシーエンジンモジュール340は、必ずしも全てのマネージドサーバ130用のマネージメント命令を更新するわけではない。
代わりに、ポリシーエンジンモジュール340は、以前のマネージメントポリシー330を、新しいマネージメントポリシー330と比較して、どのルールが、以前のマネージメントポリシー330に比較して、追加、削除、または修正されるべきかを判定する。ポリシーエンジンモジュール340は、どのマネージドサーバ130が、変更されたルールにより影響を受けるのか(例えば、どのマネージドサーバが、a)ルールおよび/またはスコープの、PB部分および/またはUB部分、および、b)ルールの条件付きの部分(ある場合)、によりカバーされるのか)を判定する。ポリシーエンジンモジュール340は、関連ルールモジュール350を実行し、変更されたルール(新しいマネージメントポリシー330全体の代わりに)と、マネージドサーバ130のUID(変更されたルールにより影響を受けるサーバのみについて)とを入力として提供する。
管理ドメイン状態更新(ADSU)モジュール385は、管理ドメイン状態320に対する変更を受け取り、それらの変更を処理する。管理ドメイン状態320に対する変更は、例えば、マネージドサーバ130の記述の、追加、削除、もしくは修正(マネージドサーバのラベルセットまたは構成特徴の修正を含む)、または、アンマネージドデバイスもしくはアンマネージドデバイスグループの記述の、追加、削除、もしくは修正である。一実施形態において、管理ドメイン状態320に対する変更が、特定のマネージドサーバ130から受け取るローカル状態情報に由来する。別の実施形態において、管理ドメイン状態320に対する変更が、GUIまたはAPIを介したグローバルマネージャ120との対話処理により生成される。さらに別の実施形態において、管理ドメイン状態320に対する変更が、グローバルマネージャ120内で、(例えば、グローバルマネージャにより検出されるセキュリティ脅威に応じて)自動化されたプロセスにより生成される。
例えば、ADSUモジュール385は、特定のマネージドサーバ130に関する変更を受け取る。ADSUモジュール385は、新しい情報を、特定のマネージドサーバ130の記述の一部として、管理ドメイン状態320内に記憶する。そして、ADSUモジュール385は、(選択的に)そのマネージドサーバの記述を分析して、サーバに関する追加情報を判定し、その情報を記述内に記憶する。次に、ADSUモジュール385は、マネージドサーバの記述に対する変更に基づき、管理ドメインのアクターセットおよび/またはマネージドサーバのマネージメント命令を更新すべきかどうかを判定する。ADSUモジュール385が、管理ドメインのアクターセットを更新すると判定する場合、ADSUモジュール385は、ポリシーエンジンモジュール340に命令して、管理ドメインのアクターセットを更新させる。一実施形態において、ADSUモジュール385は、イベントが発生するのを待ってから、ポリシーエンジンモジュール340に命令して管理ドメインのアクターセットを更新させる。ADSUモジュール385が、マネージドサーバのマネージメント命令を更新すると判定する場合、ADSUモジュール385は、ポリシーエンジンモジュール340に命令して、マネージドサーバのマネージメント命令を更新させる。一実施形態において、ADSUモジュール385は、イベントが発生するのを待ってから、ポリシーエンジンモジュール340に命令してマネージドサーバのマネージメント命令を更新させる。上述のイベントとは、例えば、ユーザコマンドの受領、または、特定のメンテナンスウィンドウの発生であってよい。
ADSUモジュール385が、管理ドメインのアクターセットおよび/またはマネージドサーバのマネージメント命令を更新する、と判定するかしないかは、マネージドサーバの記述に対する変更のタイプに依存する。一実施形態において、ADSUモジュール385は、この判定を、表2に示すように行う。
一実施形態において、ADSUモジュール385は、ラベル/構成特徴エンジンを実行して、サーバの記述を入力として提供することにより、サーバに関する追加情報を判定する。ラベル/CCエンジンは、サーバの記述と、ラベル/CC割り当てルールとに基づき、サーバについてラベル/CC値を計算する。
別の実施形態において、ADSUモジュール385は、サーバが、ネットワークアドレス変換器(NAT)の後方にあるかどうか(および、NATの後方にある場合は、どのタイプのNAT、すなわち、1:1または1:N、であるのか)、を判定する。例えば、ADSUモジュール385は、(a)グローバルマネージャとサーバとの間のTCP接続に係る、サーバのIPアドレスと、(b)サーバから受け取るローカル状態情報に係る、サーバのIPアドレスとを比較することにより、NATが、グローバルマネージャ120とマネージドサーバ130との間に存在するかどうかを判定する。(a)と(b)とが異なる場合、NATは、グローバルマネージャ120とマネージドサーバ130との間に存在する。NATが存在しない場合、ADSUモジュール385は、データセンター決定を実行することにより、NATのタイプ(1:1または1:N)を判定する。例えば、ADSUモジュール385は、サーバのデータセンターを、データセンターのパブリックIPアドレスによって、識別する。(あるいは、マネージドサーバが、サーバの外部だが、データセンター内部にある情報を問い合わせることにより、データセンター決定を実行する。そして、サーバが、その情報をグローバルマネージャに、ローカルステータスの一部として送る。)構成情報は、どのタイプのNATがどのデータセンターによって使用されるのか、を示す。何のNAT情報も、特定のデータセンターに関連付けされない場合、ADSUモジュール385は、NATのタイプが1:Nであると想定する。
図4は、一実施形態に係る、マネージドサーバ130のポリシー実装モジュール136の詳細な概念を説明する、上位レベルのブロック図である。ポリシー実装モジュール136には、ローカル状態リポジトリ400、ポリシーコンパイルモジュール410、および、ローカル状態更新モジュール420が含まれる。ローカル状態リポジトリ400は、マネージドサーバ130のローカル状態に関する情報を記憶する。一実施形態において、ローカル状態リポジトリ400は、マネージドサーバのオペレーティングシステム(OS)、ネットワーク公開、およびサービスに関する情報を記憶する。OS情報には、例えば、どのOSが実行中であるかの指標が含まれる。ネットワーク公開情報およびサービス情報については、管理ドメイン状態320内のマネージドサーバ130の記述に関して、上記で説明した。
ポリシーコンパイルモジュール410は、マネージメント命令と、マネージドサーバ130の状態とを入力として取り込み、マネージメントモジュール構成134を生成する。例えば、マネージメント命令は、グローバルマネージャ120から受け取られ、(機能レベル命令生成モジュール360により生成される)機能レベルの命令と、(関連アクターモジュール380により出力される)関連アクターセットとを含む。マネージドサーバ130の状態は、ローカル状態リポジトリ400から回収される。一実施形態において、ポリシーコンパイルモジュール410の実行は、a)マネージドサーバの電源が入るか、オンラインになる、b)マネージドサーバが機能レベルの命令を受け取る、および/または、c)ローカル状態リポジトリ400の内容が変更されることによりトリガされる。
ポリシーコンパイルモジュール410は、機能レベルの命令および関連アクターセットを、マネージメントモジュール構成134にマッピングする。例えば、ポリシーコンパイルモジュール410は、アクセス制御機能レベルの命令(ポートおよびアクターセット参照含む)を、Linuxオペレーティングシステムのiptablesエントリーおよびipsetエントリー、または、ウィンドウズオペレーティングシステムのウィンドウズフィルタリングプラットフォーム(WFP)のルールにマッピングする。
マネージドサーバ130におけるマネージメントポリシーの適用は、そのサーバのローカル状態により影響を受け得る。一実施形態において、ポリシーコンパイルモジュール410は、受け取った機能レベルの命令に関連する条件を評価し、その評価の結果に基づき、マネージメントモジュール構成134を生成する。例えば、ポリシーコンパイルモジュール410は、マネージドサーバのピア(すなわち、リレーションシップ内の他方のアクター)のオペレーティングシステムを参照する条件を評価し、その評価の結果に基づき、機能プロファイル属性を選択し、選択した機能プロファイル属性は、マネージメントモジュール構成134内に表現される。
別の例として、マネージドサーバ130が、そのサーバには無意味なものとなる機能レベルの命令を受け取り得ることを思い出されたい。例えば、ルールには、マネージドサーバのローカル状態を指定する部分(例えば、提供されるサービスを記述するサービス部分)が含まれる。グローバルマネージャ120には、マネージドサーバのローカル状態(例えば、マネージドサーバが実際にそのサービスを提供中であるかどうか)が分からないため、生成された機能レベルの命令がマネージドサーバに送られる。ポリシーコンパイルモジュール410は、マネージドサーバのローカル状態をチェックする(例えば、マネージドサーバがそのサービスを提供中であるかどうかを判定する)。この判定は、マネージドサーバのローカル状態を参照する条件を評価することを意味する。ポリシーコンパイルモジュール410は、それに従って、機能レベルの命令を処理する。ポリシーコンパイルモジュール410が、条件が「真」となる(例えば、マネージドサーバが、そのサービスを提供中である)と判定する場合、ポリシーコンパイルモジュール410は、その機能レベルの命令を、マネージメントモジュール構成134に組み込む。詳細には、ポリシーコンパイルモジュール410が、機能レベルの命令をマネージメントモジュール構成134に組み込むのは、(そのサーバのローカル状態に関与する)関連付けられた条件を評価した後だけである。条件の評価が「偽」の場合、ポリシーコンパイルモジュール410は、機能レベルの命令をマネージメントモジュール構成134内に表現しない。特定の条件(例えば、その種類および特定の値)は、拡張可能である。一実施形態において、条件は、「サービス」の定義に関連し、プロセス情報および/またはパッケージ情報を含む(管理ドメイン状態320内のマネージドサーバ130の記述に関して、上記で説明した)。
例えば、ポート80にインバウンドするアパッチサービスのみへのアクセスを許可する機能レベルの命令について検討する(すなわち、マネージドサーバ130が、「プロバイダ」またはエンドポイントである)。マネージドサーバ130が、この機能レベルの命令を、マネージメントモジュール構成134内に表現して、ポート80上でのアクセスの許可を、ポート80上でリスンしている(そのサーバ上で実行中の)アプリケーションが、実際にアパッチであって、何らかの他のアプリケーションではない(不正なもの、その他)かどうか、に関与する関連付けられた条件を評価した後だけに行う。マネージドサーバ130は、この機能レベルの命令をマネージメントモジュール構成134内に表現するのは、関連付けられた条件が「真」となると判定した後だけである。関連付けられた条件が、「偽」となる場合、マネージドサーバ130は、この機能レベルの命令をマネージメントモジュール構成134内に表現しない。その結果、ネットワークトラフィックがブロックされる。
一実施形態において、マネージドサーバ130は、そのアウトバウンド接続を監視する。マネージドサーバ130は、アウトバウンドネットワークトラフィックを、その内部処理テーブルと比較して、そのテーブル内のどのプロセスが、それらのアウトバウンド接続を確立しているのかを判定する。マネージドサーバ130は、(上記で言及した、要件のセットが与えられた)特定の処理のみに、アウトバウンド接続を確立することを許可するルールを、履行する。
一実施形態において(図示せず)、ポリシーコンパイルモジュール410が、マネージドサーバ130に代えて、グローバルマネージャ120に配置される。その実施形態において、グローバルマネージャ120は、マネージメント命令をマネージドサーバ130に送らない。代わりに、マネージドサーバ130は、そのローカル状態をグローバルマネージャ120に送る。ポリシーコンパイルモジュール410が、マネージメントモジュール構成134を(グローバルマネージャ120にて)生成した後、マネージメントモジュール構成134は、グローバルマネージャ120からマネージドサーバ130に送られる。
ローカル状態更新(LSU)モジュール420は、マネージドサーバ130のローカル状態を監視し、ローカル状態情報をグローバルマネージャ120に送る。一実施形態において、LSUモジュール420は、マネージドサーバ130の初期ローカル状態を判定し、適切なローカル状態情報をローカル状態リポジトリ400に記憶し、そのローカル状態情報をグローバルマネージャ120に送る。LSUモジュール420は、マネージドサーバ130のローカル状態を、サーバのオペレーティングシステム(OS)および/またはファイルシステムの種々の部分を調査することにより判定する。例えば、LSUモジュール420は、サービス情報を、OSのカーネルテーブル(ネットワーキング情報)、OSのシステムテーブル(パッケージ情報)、および、ファイルシステム(ファイルおよびハッシュ値)から取得する。LSUモジュール420は、ネットワーク公開情報を、OSのカーネルおよび/またはOSレベルのデータ構造から取得する。
LSUモジュール420は、初期ローカル状態情報をグローバルマネージャ120に送った後、LSUモジュールは、ローカル状態に対する変化を監視する。LSUモジュールは、例えば、ポーリングする(例えば、調査を周期的に実行する)こと、またはリスンする(例えば、イベントストリームにサブスクライブする)ことにより変更を監視する。LSUモジュール420は、直近に取得されたローカル状態情報を、ローカル状態リポジトリ400に記憶済みの情報と比較する。情報が一致する場合、LSUモジュール420は、(ローカル状態情報が再度取得されるまで)それ以上何の行動も取らない。それらが異なる場合、LSUモジュール420は、直近に取得された情報を、ローカル状態リポジトリ400内に記憶し、ポリシーコンパイルモジュール410を実行して、マネージメントモジュール構成134を再生成し(および、それに従って、マネージメントモジュール132を再構成し)、グローバルマネージャ120に変更を通知する。一実施形態において、LSUモジュール420は、ローカル状態情報に対する変更を、グローバルマネージャ120に「diff」形式で送る。例えば、diff形式では、ローカル状態情報のタイプ(例えば、オペレーティングシステム)、および、その情報タイプについての新しい値を指定する。別の実施形態において、LSUモジュール420は、ローカル状態リポジトリ400の全体の内容を、グローバルマネージャ120に送る。
図5は、一実施形態に係る、特定のマネージドサーバ130用のマネージメント命令を生成する方法500を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび/または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図1に示されるもの以外のエンティティによって実行されてよい。一実施形態において、方法500は、複数回実行される(例えば、管理ドメイン150内のマネージドサーバ130ごとに1回)。
方法500が開始されるとき、管理ドメインのコンピュータネットワークインフラの状態320と、管理ドメイン規模のマネージメントポリシー330とは、グローバルマネージャ120のリポジトリ300内に既に記憶されてある。この時点で、方法500が開始される。
ステップ510において、管理ドメイン状態320と、管理ドメイン規模のマネージメントポリシー330が、アクセスされる。例えば、ポリシーエンジンモジュール340が、リポジトリ300に要求を送り、管理ドメイン状態320と、管理ドメイン規模のマネージメントポリシー330とを応答として受け取る。
ステップ520において、1つまたは複数の関連ルールが判定される。例えば、ポリシーエンジンモジュール340は、関連ルールモジュール350を実行して、管理ドメイン規模のマネージメントポリシー330と、特定のマネージドサーバ130のUIDとを入力として提供する。関連ルールモジュール350は、そのサーバに関連するルールのセット(マネージメントポリシー観点)を出力する。
ステップ530において、アクターがエニュメレートされる。例えば、ポリシーエンジンモジュール340は、アクターエニュメレーションモジュール370を実行して、管理ドメイン状態320を入力として提供する。アクターエニュメレーションモジュール370は、管理ドメイン状態320内のエニュメレートされた形式の、マネージドサーバ130およびアンマネージドデバイスグループ(UDG)の表現(「アクターセット」)を生成する。
ステップ540において、1つまたは複数の機能レベルの命令が生成される。例えば、ポリシーエンジンモジュール340は、機能レベル命令生成モジュール360を実行して、マネージメントポリシー観点(ステップ520にて生成された)を入力として提供する。機能レベル命令生成モジュール360が、機能レベルの命令を生成する。
ステップ550にて、1つまたは複数の関連アクターが判定される。例えば、ポリシーエンジンモジュール340は、関連アクターモジュール380を実行して、(ステップ530にて生成された)アクターセットと、(ステップ520にて生成された)マネージメントポリシー観点とを入力として提供する。関連アクターモジュール380は、それらのルールに関連するアクターセット(関連アクターセット)のみを出力する。
ステップ560にて、マネージメント命令が特定のマネージドサーバ130に送られる。例えば、ポリシーエンジンモジュール340は、機能レベルの命令(ステップ540にて生成された)と、関連アクターセット(ステップ550にて生成された)とを特定のマネージドサーバ130に送る。
なお、ステップ520および540は、特定のマネージドサーバ130についてのマネージメントポリシー観点(および、結果として得られる機能レベルの命令)を生成することに関与し、一方、ステップ530および550は、そのマネージドサーバについてのアクター観点を生成することに関与する。ステップ520で、ステップ550によって使用されるルールのセットが生成されるため、マネージメントポリシー観点の生成と、アクター観点の生成とは、最小限にお互いに依存する。そうであっても、マネージメントポリシーの計算(すなわち、ステップ520および540)と、アクターセットの計算(すなわち、ステップ530および550)とを別々に維持することは、ポリシーエンジンモジュール340の拡張性を向上させる。マネージメントポリシーの計算と、アクターセットの計算が、ほとんど別々に維持されるため、それらは、(例えば、同じマネージドサーバ130についてであっても)並行して実行されてよい。加えて、異なるマネージドサーバ130についての観点の計算も、並行して実行されてよい。また、アクターが変更される場合、アクターセットのみが、再計算されればよい(機能レベルの命令は、再計算される必要が無い)。ルールが変更される場合、機能レベルの命令および関連アクターセットのみが再計算されればよい(アクターは、再エニュメレートされる必要が無い)。
図6は、一実施形態に係る、マネージドサーバ130のマネージメントモジュール132の構成134を生成する方法600を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび/または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図1に示されるもの以外のエンティティによって実行されてよい。
方法600が開始されるとき、マネージドサーバ130のローカル状態に関する情報が、マネージドサーバ130のポリシー実装モジュール136のローカル状態リポジトリ400内に既に記憶されてある。この時点で、方法600が開始される。
ステップ610にて、マネージメント命令が、グローバルマネージャ120から受け取られる。例えば、ポリシーコンパイルモジュール410は、機能レベルの命令と、関連アクターセットとをグローバルマネージャ120から受け取る。
ステップ620にて、ローカル状態がアクセスされる。例えば、ポリシーコンパイルモジュール410は、ローカル状態リポジトリ400内に記憶される、マネージドサーバ130のローカル状態に関する情報にアクセスする。
ステップ630にて、マネージメントモジュール構成134が生成される。例えば、ポリシーコンパイルモジュール410は、(ステップ610にて受け取られた)マネージメント命令と、(ステップ620にてアクセスされた)ローカル状態と、を入力として取り込み、マネージメントモジュール構成134を生成する。
ステップ640にて、マネージメントモジュール132が構成される。例えば、ポリシーコンパイルモジュール410は、マネージメントモジュール132を、(ステップ630にて生成された)マネージメントモジュール構成134に従って動作するべく、構成する。
図7は、一実施形態に係る、マネージドサーバ130のローカル状態を監視し、かつ、ローカル状態情報をグローバルマネージャ120に送る、方法700を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび/または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図1に示されるもの以外のエンティティによって実行されてよい。
方法700が開始されるとき、マネージドサーバ130のローカル状態に関する情報が、マネージドサーバ130のローカル状態リポジトリ400内に既に記憶されてある。この時点で、方法700が開始される。
ステップ710にて、マネージドサーバ130の現在のローカル状態に関する情報が判定される。例えば、LSUモジュール420は、マネージドサーバ130のローカル状態を、サーバのオペレーティングシステム(OS)および/またはファイルシステムの種々の部分を調査することにより判定する。
ステップ720にて、現在のローカル状態に関する情報が、ローカル状態リポジトリ400内に記憶された情報と異なるかどうかに関して、判定が行われる。例えば、LSUモジュール420がこの判定を実行する。情報が異ならない場合、方法はステップ730に進み、終了する。情報が異なる場合、方法はステップ740に進む。
ステップ740にて、異なる情報が、ローカル状態リポジトリ400内に記憶される。例えば、LSUモジュール420が、このステップを実行する。
ステップ750にて、マネージメントモジュール構成134は、(ローカル状態リポジトリ400の内容が変更されたため)再生成され、マネージメントモジュール132がそれに従って、再構成される。例えば、LSUモジュール420は、ポリシーコンパイルモジュール410を実行し、これによりマネージメントモジュール構成134が再生成される。
ステップ760にて、異なる情報が、グローバルマネージャ120に送られる。例えば、LSUモジュール420が、このステップを実行する。
図8は、一実施形態に係る、管理ドメインのコンピュータネットワークインフラの状態320に対する変化を処理する、方法800を説明するフローチャートである。他の実施形態が、異なる順番でステップを実行することができ、異なるおよび/または追加のステップを含むことができる。加えて、ステップのうちのいくつかまたは全てが、図1に示されるもの以外のエンティティによって実行されてよい。
ステップ810にて、特定のマネージドサーバ130に関する変更が受け取られる。例えば、管理ドメイン状態更新(ADSU)モジュール385は、オンライン/オフラインインジケータ、オペレーティングシステムインジケータ、ネットワーク公開情報、および/または、サービス情報を、マネージドサーバ130から、ローカル状態情報の一部として受け取る。
ステップ820にて、受け取った情報が記憶される。例えば、ADSUモジュール385は、受け取ったオンライン/オフラインインジケータ、ネットワーク公開情報、および/または、サービス情報を、管理ドメイン状態320内(詳細には、情報が関連するマネージドサーバ130の記述内)に記憶する。
ステップ830にて、サーバ記述が分析されて、サーバに関する追加情報を判定する。
例えば、ADSUモジュール385は、ラベル/構成特徴エンジンを使用して、サーバについてラベル/CC値を計算し、および/または、サーバが、ネットワークアドレス変換器(NAT)の後方にあるかどうか(および、NATの後方にある場合は、どのタイプのNAT、すなわち、1:1または1:N、であるのか)を判定し、その情報をサーバ記述内に記憶する。ステップ830は選択的なものである。
ステップ840にて、管理ドメインのアクターセットを更新すべきかどうかに関して、判定がなされる。例えば、ADSUモジュール385はマネージドサーバの記述に対する変更に基づき、管理ドメインのアクターセットを更新すべきかどうかを判定する。管理ドメインのアクターセットを更新するという判定がなされる場合、方法はステップ850に進む。管理ドメインのアクターセットを更新しないという判定がなされる場合、方法はステップ860に進む。
ステップ850にて、管理ドメインのアクターセットが更新される。例えば、ADSUモジュール385は、ポリシーエンジンモジュール340に命令して管理ドメインのアクターセットを更新させる。一実施形態(図示せず)において、ADSUモジュール385は、イベントが発生するのを待ってから、ポリシーエンジンモジュール340に命令して管理ドメインのアクターセットを更新させる。
ステップ860にて、マネージドサーバのマネージメント命令を更新すべきかどうかに関して、判定がなされる。例えば、ADSUモジュール385は、マネージドサーバの記述に対する変更に基づき、マネージドサーバのマネージメント命令を更新すべきかどうかを判定する。マネージドサーバのマネージメント命令を更新するという判定がなされる場合、方法はステップ870に進む。管理ドメインのアクターセットを更新しないという判定がなされる場合、方法はステップ880に進む。
ステップ870にて、マネージドサーバのマネージメント命令が更新される。例えば、ADSUモジュール385は、ポリシーエンジンモジュール340に命令してマネージドサーバのマネージメント命令を更新させる。一実施形態(図示せず)において、ADSUモジュール385は、イベントが発生するのを待ってから、ポリシーエンジンモジュール340に命令してマネージドサーバのマネージメント命令を更新させる。
ステップ880にて、方法が終了する。
上記の説明は、特定の実施形態の動作を説明するために含まれ、本発明の範囲を制限することは意図されない。本発明の範囲は、以下の請求項によってのみ、制限されるべきである。上記の検討から、当業者には、本発明の精神および範囲によってさらに網羅されるであろう多くの変形が明らかとなるであろう。

Claims (20)

  1. 1つまたは複数のルールのセットを備える管理ドメイン規模のマネージメントポリシーに従って、管理ドメイン内の特定のマネージドサーバに関するマネージメント命令を生成する方法であって、前記管理ドメインは複数のマネージドサーバを含み、前記方法は、
    前記ルールのセット内のどのルールが、前記特定のマネージドサーバに関連するのかを判定するステップと、
    関連すると判定された前記ルールに基づいて、機能レベルの命令を生成するステップと、
    前記複数のマネージドサーバのどのマネージドサーバが前記特定のマネージドサーバに関連するかを判定するステップと、
    前記特定のマネージドサーバに、前記機能レベルの命令と前記マネージドサーバに関する情報とを送信するステップと
    を備え、
    前記特定のマネージドサーバは、前記機能レベルの命令と前記マネージドサーバに関する情報とを用いてマネージメントモジュールを構成し、前記構成されたマネージメントモジュールは前記管理ドメイン規模のマネージメントポリシーを実装することを特徴とする方法。
  2. 前記特定のマネージドサーバは仮想サーバであることを特徴とする請求項1に記載の方法。
  3. 前記管理ドメイン規模のマネージメントポリシーは、マネージドサーバがアクセスすること、もしくはデバイスによりアクセスされることを許可されるかどうか、または、どのように、マネージドサーバがアクセスすること、もしくはデバイスによりアクセスされることを許可されるかを指定することを特徴とする請求項1に記載の方法。
  4. ルールはマネージドサーバの次元および次元に関する値を指定することによりマネージドサーバを特定し、前記次元は、役割、環境、アプリケーション、業種、およびロケーションを含むグループの1つの要素であることを特徴とする請求項1に記載の方法。
  5. ルールは、どのマネージドサーバがサービスを提供することを許可されるかを指定し、ルールは、前記特定のマネージドサーバがサービスを提供することを許可されることを指定する場合に、前記ルールは前記特定のマネージドサーバに関連することを特徴とする請求項1に記載の方法。
  6. ルールは、マネージドサーバがサービスを消費することを許可されるかどうか、または、どのように、マネージドサーバがサービスを消費することを許可されるかを指定し、ルールは、前記特定のマネージドサーバがサービスを消費することを許可されるかどうか、または、どのように、前記特定のマネージドサーバがサービスを消費することを許可されるかを指定する場合に、前記ルールは前記特定のマネージドサーバに関連することを特徴とする請求項1に記載の方法。
  7. 前記複数のマネージドサーバのどのマネージドサーバが前記特定のマネージドサーバに関連するかを判定するステップは、前記複数のマネージドサーバのどのマネージドサーバが関連すると判定された前記ルールに関連するかを判定するステップを備えることを特徴とする請求項1に記載の方法。
  8. 前記マネージドサーバに関する情報は前記マネージドサーバのネットワーク公開情報を含むことを特徴とする請求項1に記載の方法。
  9. 前記マネージメントモジュールは、下位レベルのネットワーク、またはセキュリティエンジンを備えることを特徴とする請求項1に記載の方法。
  10. 前記複数のマネージドサーバのどのマネージドサーバが、前記特定のマネージドサーバに関連するかを判定する前に、前記複数のマネージドサーバの前記マネージドサーバをエニュメレートするステップを、さらに含むことを特徴とする請求項1に記載の方法。
  11. 1つまたは複数のルールのセットを備える管理ドメイン規模のマネージメントポリシーに従って、管理ドメイン内の特定のマネージドサーバに関するマネージメント命令を生成するコンピュータプログラムモジュールを記憶する、非一時的なコンピュータ可読記憶媒体であって、前記管理ドメインは複数のマネージドサーバを含み、前記コンピュータプログラムモジュールは
    前記ルールのセット内のどのルールが、前記特定のマネージドサーバに関連するのかを判定するステップと、
    関連すると判定された前記ルールに基づいて、機能レベルの命令を生成するステップと、
    前記複数のマネージドサーバのどのマネージドサーバが前記特定のマネージドサーバに関連するかを判定するステップと、
    前記特定のマネージドサーバに、前記機能レベルの命令と、関連すると判定された前記マネージドサーバに関する情報とを送信するステップと
    を実行するために実行可能であり、
    前記特定のマネージドサーバは、前記機能レベルの命令と前記マネージドサーバに関する情報とを用いてマネージメントモジュールを構成し、前記構成されたマネージメントモジュールは前記管理ドメイン規模のマネージメントポリシーを実装することを特徴とするコンピュータ可読記憶媒体。
  12. 前記特定のマネージドサーバは仮想サーバであることを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  13. 前記管理ドメイン規模のマネージメントポリシーは、マネージドサーバがアクセスすること、もしくはデバイスによりアクセスされることを許可されるかどうか、または、どのように、マネージドサーバがアクセスすること、もしくはデバイスによりアクセスされることを許可されるかを指定することを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  14. ルールはマネージドサーバの次元および次元に関する値を指定することによりマネージドサーバを特定し、前記次元は、役割、環境、アプリケーション、業種、およびロケーションを含むグループの1つの要素であることを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  15. ルールは、どのマネージドサーバがサービスを提供することを許可されるかを指定し、ルールは、前記特定のマネージドサーバがサービスを提供することを許可されることを指定する場合に、前記ルールは前記特定のマネージドサーバに関連することを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  16. ルールは、マネージドサーバがサービスを消費することを許可されるかどうか、または、どのように、マネージドサーバがサービスを消費することを許可されるかを指定し、ルールは、前記特定のマネージドサーバがサービスを消費することを許可されるかどうか、または、どのように、前記特定のマネージドサーバがサービスを消費することを許可されるかを指定する場合に、前記ルールは前記特定のマネージドサーバに関連することを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  17. 前記複数のマネージドサーバのどのマネージドサーバが前記特定のマネージドサーバに関連するかを判定するステップは、前記複数のマネージドサーバのどのマネージドサーバが関連すると判定された前記ルールに関連するかを判定するステップを備えることを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  18. 前記マネージドサーバに関する情報は前記マネージドサーバのネットワーク公開情報を含むことを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  19. 前記マネージメントモジュールは、下位レベルのネットワーク、またはセキュリティエンジンを備えることを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  20. 1つまたは複数のルールのセットを備える管理ドメイン規模のマネージメントポリシーに従って、管理ドメイン内の特定のマネージドサーバに関するマネージメント命令を生成するシステムであって、前記管理ドメインは複数のマネージドサーバを含み、前記システムは、
    前記ルールのセット内のどのルールが、前記特定のマネージドサーバに関連するのかを判定するステップと、
    関連すると判定された前記ルールに基づいて、機能レベルの命令を生成するステップと、
    前記複数のマネージドサーバのどのマネージドサーバが前記特定のマネージドサーバに関連するかを判定するステップと、
    前記特定のマネージドサーバに、前記機能レベルの命令と、関連すると判定された前記マネージドサーバに関する情報とを送信するステップと
    を実行するために実行可能なコンピュータプログラムモジュールを記憶する、非一時的なコンピュータ可読記憶媒体と、
    前記コンピュータプログラムモジュールを実行するコンピュータプロセッサと
    を備え、
    前記特定のマネージドサーバは、前記機能レベルの命令と前記マネージドサーバに関する情報とを用いてマネージメントモジュールを構成し、前記構成されたマネージメントモジュールは前記管理ドメイン規模のマネージメントポリシーを実装することを特徴とするシステム。
JP2016507639A 2013-04-10 2014-04-09 論理的多次元ラベルベースのポリシーモデルを使用した分散型ネットワークマネージメント Active JP6069580B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361810480P 2013-04-10 2013-04-10
US61/810,480 2013-04-10
US201361899468P 2013-11-04 2013-11-04
US61/899,468 2013-11-04
PCT/US2014/033524 WO2014169054A1 (en) 2013-04-10 2014-04-09 Distributed network management using a logical multi-dimensional label-based policy model

Publications (2)

Publication Number Publication Date
JP2016522919A true JP2016522919A (ja) 2016-08-04
JP6069580B2 JP6069580B2 (ja) 2017-02-01

Family

ID=51687573

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016507639A Active JP6069580B2 (ja) 2013-04-10 2014-04-09 論理的多次元ラベルベースのポリシーモデルを使用した分散型ネットワークマネージメント
JP2016507642A Active JP6336041B2 (ja) 2013-04-10 2014-04-09 論理的多次元ラベルベースのポリシーモデルを使用した分散型ネットワークマネージメントシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016507642A Active JP6336041B2 (ja) 2013-04-10 2014-04-09 論理的多次元ラベルベースのポリシーモデルを使用した分散型ネットワークマネージメントシステム

Country Status (9)

Country Link
US (5) US9882783B2 (ja)
EP (2) EP2984581B1 (ja)
JP (2) JP6069580B2 (ja)
KR (2) KR101579715B1 (ja)
CN (2) CN105074692B (ja)
AU (2) AU2014251011B2 (ja)
CA (2) CA2908871C (ja)
TW (1) TWI530890B (ja)
WO (2) WO2014169054A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9532222B2 (en) 2010-03-03 2016-12-27 Duo Security, Inc. System and method of notifying mobile devices to complete transactions after additional agent verification
US9544143B2 (en) 2010-03-03 2017-01-10 Duo Security, Inc. System and method of notifying mobile devices to complete transactions
US9497224B2 (en) 2011-08-09 2016-11-15 CloudPassage, Inc. Systems and methods for implementing computer security
US9124640B2 (en) 2011-08-09 2015-09-01 CloudPassage, Inc. Systems and methods for implementing computer security
US8412945B2 (en) 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US9467463B2 (en) 2011-09-02 2016-10-11 Duo Security, Inc. System and method for assessing vulnerability of a mobile device
US9930066B2 (en) 2013-02-12 2018-03-27 Nicira, Inc. Infrastructure level LAN security
US9882919B2 (en) 2013-04-10 2018-01-30 Illumio, Inc. Distributed network security using a logical multi-dimensional label-based policy model
AU2014251011B2 (en) 2013-04-10 2016-03-10 Illumio, Inc. Distributed network management using a logical multi-dimensional label-based policy model
WO2015066369A1 (en) 2013-11-04 2015-05-07 Illumio, Inc. Automated generation of label-based access control rules.
EP3066607B1 (en) 2013-11-04 2018-12-12 Illumio, Inc. Pairing in a distributed network management system that uses a logical multi-dimensional label-based policy model
US10445509B2 (en) 2014-06-30 2019-10-15 Nicira, Inc. Encryption architecture
US9900211B1 (en) * 2014-10-01 2018-02-20 Crimson Corporation Systems and methods for network management
US20160162824A1 (en) * 2014-12-05 2016-06-09 International Business Machines Corporation Monitoring the impact of information quality on business application components through an impact map to data sources
US10158526B2 (en) * 2015-03-27 2018-12-18 Nec Corporation System that manages server function
US9509574B2 (en) * 2015-04-03 2016-11-29 Illumio, Inc. End-to-end policy enforcement in the presence of a traffic midpoint device
US10326650B2 (en) 2015-04-06 2019-06-18 Illumio, Inc. Enforcing rules for bound services in a distributed network management system that uses a label-based policy model
EP3286655A4 (en) * 2015-04-18 2018-12-12 INTEL Corporation Multimodal interface
US9930060B2 (en) 2015-06-01 2018-03-27 Duo Security, Inc. Method for enforcing endpoint health standards
US10291654B2 (en) * 2015-09-30 2019-05-14 Symantec Corporation Automated construction of network whitelists using host-based security controls
CN105376093B (zh) * 2015-11-19 2018-11-30 中冶南方(武汉)自动化有限公司 海量数据点的分布式管理方法及系统
WO2018005143A1 (en) 2016-06-29 2018-01-04 Duo Security, Inc. Systems and methods for endpoint management classification
US10798073B2 (en) 2016-08-26 2020-10-06 Nicira, Inc. Secure key management protocol for distributed network encryption
US10320617B2 (en) * 2016-09-12 2019-06-11 Illumio, Inc. Representation of servers in a distributed network information management system for efficient aggregation of information
EP3520364A1 (en) * 2016-09-28 2019-08-07 Telefonaktiebolaget LM Ericsson (PUBL) Techniques for simplified service modification utilizing a split design-assign framework
US10361966B2 (en) 2016-11-14 2019-07-23 At&T Intellectual Property I, L.P. System and method for actor oriented architecture for digital service transactions based on common data structures
CN107395666B (zh) * 2017-05-23 2020-09-18 武汉华中数控股份有限公司 一种操作数控机床升级数据包的方法及装置
US10412113B2 (en) 2017-12-08 2019-09-10 Duo Security, Inc. Systems and methods for intelligently configuring computer security
US11245753B2 (en) * 2018-08-17 2022-02-08 Fastly, Inc. User space redirect of packet traffic
CN109088886B (zh) * 2018-09-29 2021-10-01 郑州云海信息技术有限公司 在防火墙上监控策略的管理方法和装置
US11095611B2 (en) * 2018-10-01 2021-08-17 Illumio, Inc. Traffic visibility and segmentation policy enforcement for workloads in different address spaces
US11171834B1 (en) * 2018-11-16 2021-11-09 Juniper Networks, Inc. Distributed virtualized computing infrastructure management
US11658962B2 (en) 2018-12-07 2023-05-23 Cisco Technology, Inc. Systems and methods of push-based verification of a transaction
CN110365653B (zh) * 2019-06-18 2022-02-22 视联动力信息技术股份有限公司 用户注册方法及装置
EP3796167B1 (en) * 2019-09-23 2023-05-03 SAS Institute Inc. Router management by an event stream processing cluster manager
US11283802B2 (en) * 2020-03-30 2022-03-22 International Business Machines Corporation Autonomous application programming interface claim requirements discovery
CN115552369B (zh) * 2020-06-04 2025-02-11 深圳市欢太科技有限公司 编译方法、编译装置、编译系统、存储介质与电子设备
US11743102B1 (en) * 2020-06-08 2023-08-29 Cirrus360 LLC Cross-platform programmable network communication
CA3182230A1 (en) * 2020-07-02 2022-01-06 Avalara, Inc. Smart alerting of entity of online software platform (osp) about their user profile and custom rules being impacted by underlying changes in data that the osp uses to process the entity data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002507295A (ja) * 1997-05-29 2002-03-05 3コム コーポレイション 多層型ファイアウオールシステム
US20100333165A1 (en) * 2009-06-24 2010-12-30 Vmware, Inc. Firewall configured with dynamic membership sets representing machine attributes
JP2011243112A (ja) * 2010-05-20 2011-12-01 Hitachi Ltd システム管理方法、及び管理装置
JP2012043445A (ja) * 2011-09-16 2012-03-01 Hitachi Ltd 業務引き継ぎ方法、計算機システム、及び管理サーバ

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493749B2 (en) * 1998-08-17 2002-12-10 International Business Machines Corporation System and method for an administration server
US7673323B1 (en) 1998-10-28 2010-03-02 Bea Systems, Inc. System and method for maintaining security in a distributed computer network
US6321338B1 (en) 1998-11-09 2001-11-20 Sri International Network surveillance
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
ATE381846T1 (de) 1999-03-03 2008-01-15 Ultradns Inc Skalierbare und effiziente domainnamenauflösung
WO2000078004A2 (en) 1999-06-10 2000-12-21 Alcatel Internetworking, Inc. Policy based network architecture
US7581012B2 (en) * 2000-09-07 2009-08-25 Fujitsu Limited Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US7536686B2 (en) 2000-09-08 2009-05-19 Oracle International Corporation Techniques for automatically installing and configuring database applications
US20020176377A1 (en) 2001-05-22 2002-11-28 Hamilton Thomas E. Service platform on wireless network
US20030028621A1 (en) 2001-05-23 2003-02-06 Evolving Systems, Incorporated Presence, location and availability communication system and method
US7844696B2 (en) 2001-06-27 2010-11-30 Arbor Networks, Inc. Method and system for monitoring control signal traffic over a computer network
US20030231212A1 (en) * 2002-06-18 2003-12-18 Bellsouth Intellectual Property Corporation User interface to a device environment
US7813484B2 (en) 2002-08-08 2010-10-12 Telecommunication Systems, Inc. All-HTTP multimedia messaging
US20040039803A1 (en) * 2002-08-21 2004-02-26 Eddie Law Unified policy-based management system
US7340531B2 (en) * 2002-09-27 2008-03-04 Intel Corporation Apparatus and method for data transfer
JP3896111B2 (ja) * 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US20050147035A1 (en) * 2003-12-24 2005-07-07 Nortel Networks Limited Multiple services with policy enforcement over a common network
US7418490B1 (en) 2003-12-29 2008-08-26 Sun Microsystems, Inc. System using multiple sets of device management policies for managing network devices connected on different network interfaces
RU2006143768A (ru) 2004-05-12 2008-06-20 Алькатель (Fr) Ароматическое ограничение сетевого нарушителя
US7571460B2 (en) 2004-08-06 2009-08-04 Time Warner Cable, Inc. System and method for affecting the behavior of a network device in a cable network
WO2006043322A1 (ja) 2004-10-20 2006-04-27 Fujitsu Limited サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置
WO2006095506A1 (ja) 2005-02-10 2006-09-14 Nec Corporation 情報システム管理装置
US20060248371A1 (en) * 2005-04-28 2006-11-02 International Business Machines Corporation Method and apparatus for a common cluster model for configuring, managing, and operating different clustering technologies in a data center
JP4606249B2 (ja) 2005-05-18 2011-01-05 富士通株式会社 情報処理方法及びルータ
US20070002834A1 (en) * 2005-06-30 2007-01-04 Nortel Networks Limited Session control for mass session events
US7925666B1 (en) 2005-10-06 2011-04-12 Hewlett-Packard Development Company, L.P. System and method for managing the application of access control lists on network devices
US8156566B2 (en) 2005-12-29 2012-04-10 Nextlabs, Inc. Associating code to a target through code inspection
US8677499B2 (en) * 2005-12-29 2014-03-18 Nextlabs, Inc. Enforcing access control policies on servers in an information management system
US20080109396A1 (en) 2006-03-21 2008-05-08 Martin Kacin IT Automation Appliance And User Portal
US7849502B1 (en) 2006-04-29 2010-12-07 Ironport Systems, Inc. Apparatus for monitoring network traffic
US7747736B2 (en) * 2006-06-05 2010-06-29 International Business Machines Corporation Rule and policy promotion within a policy hierarchy
US20080184277A1 (en) 2007-01-26 2008-07-31 Microsoft Corporation Systems management policy validation, distribution and enactment
US7865614B2 (en) * 2007-02-12 2011-01-04 International Business Machines Corporation Method and apparatus for load balancing with server state change awareness
WO2008103493A1 (en) 2007-02-23 2008-08-28 Sugarcrm Inc. Customer relationship management portal system and method
US7941838B2 (en) 2007-05-09 2011-05-10 Microsoft Corporation Firewall control with multiple profiles
JP4964671B2 (ja) * 2007-05-21 2012-07-04 株式会社日立製作所 計算機システムの電力制御方法、プログラム、及び計算機システム
JP5418225B2 (ja) 2007-07-10 2014-02-19 日本電気株式会社 通信管理システム、通信管理端末、通信管理方法、及び通信管理プログラム
US20090217346A1 (en) 2008-02-22 2009-08-27 Manring Bradley A C Dhcp centric network access management through network device access control lists
US8365149B2 (en) 2008-02-29 2013-01-29 International Business Machines Corporation Debugger for a declarative event-driven programming model
US8094551B2 (en) 2008-05-13 2012-01-10 At&T Mobility Ii Llc Exchange of access control lists to manage femto cell coverage
US20100188993A1 (en) * 2009-01-28 2010-07-29 Gregory G. Raleigh Network tools for analysis, design, testing, and production of services
EP2307991A2 (en) 2008-07-10 2011-04-13 Juniper Networks, Inc. Distributed data storage and access systems
JP5210146B2 (ja) 2008-12-25 2013-06-12 株式会社日立製作所 情報制御システムおよび情報制御方法
US9356932B2 (en) 2009-01-30 2016-05-31 Hewlett Packard Enterprise Development Lp Dynamically applying a control policy to a network
WO2010114927A1 (en) 2009-03-31 2010-10-07 Napera Networks Network-assisted health reporting activation
US8607325B2 (en) 2010-02-22 2013-12-10 Avaya Inc. Enterprise level security system
US8539545B2 (en) 2010-07-22 2013-09-17 Juniper Networks, Inc. Domain-based security policies
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
WO2012045341A2 (en) * 2010-10-06 2012-04-12 Nokia Siemens Networks Oy Method, apparatus and system for detecting service data of a packet data connection
US9589145B2 (en) 2010-11-24 2017-03-07 Oracle International Corporation Attaching web service policies to a group of policy subjects
CA2852316A1 (en) * 2011-01-18 2012-07-26 Caterina Papachristos Business to business to shared communities system and method
US8813227B2 (en) 2011-03-29 2014-08-19 Mcafee, Inc. System and method for below-operating system regulation and control of self-modifying code
JP5943006B2 (ja) 2011-05-23 2016-06-29 日本電気株式会社 通信システム、制御装置、通信方法およびプログラム
TWI470970B (zh) 2011-08-26 2015-01-21 Liang Tse Lin 開放式監控系統及其操作方法
US9069958B2 (en) * 2011-09-28 2015-06-30 International Business Machines Corporation Creating and maintaining a security policy
US20130159039A1 (en) 2011-12-15 2013-06-20 International Business Machines Corporation Data center infrastructure management system for maintenance
US9185089B2 (en) 2011-12-20 2015-11-10 Apple Inc. System and method for key management for issuer security domain using global platform specifications
EP2810477B1 (en) * 2012-01-31 2017-11-01 Telefonaktiebolaget LM Ericsson (publ) Server selection in communications network with respect to a mobile user
EP2853067B1 (en) * 2012-05-10 2017-07-19 Telefonaktiebolaget LM Ericsson (publ) A method and apparatus to adapt the data traffic of a communication between a user equipment and a communication network
US10721146B2 (en) * 2012-07-31 2020-07-21 Micro Focus Llc Monitoring for managed services
US9503475B2 (en) 2012-08-14 2016-11-22 Ca, Inc. Self-adaptive and proactive virtual machine images adjustment to environmental security risks in a cloud environment
US9595178B2 (en) 2012-08-16 2017-03-14 Graham E. Snyder Water safety monitoring devices, alarm devices and related methods
US9124636B1 (en) 2012-12-28 2015-09-01 Pulse Secure, Llc Infected endpoint containment using aggregated security status information
US9197487B2 (en) * 2013-03-15 2015-11-24 Verisign, Inc. High performance DNS traffic management
US9098322B2 (en) * 2013-03-15 2015-08-04 Bmc Software, Inc. Managing a server template
AU2014251011B2 (en) 2013-04-10 2016-03-10 Illumio, Inc. Distributed network management using a logical multi-dimensional label-based policy model
EP3066607B1 (en) 2013-11-04 2018-12-12 Illumio, Inc. Pairing in a distributed network management system that uses a logical multi-dimensional label-based policy model
WO2015066369A1 (en) 2013-11-04 2015-05-07 Illumio, Inc. Automated generation of label-based access control rules.
US10542031B2 (en) 2015-02-20 2020-01-21 Authentic8, Inc. Secure application for accessing web resources
US10104185B1 (en) 2015-08-10 2018-10-16 Amazon Technologies, Inc. Policy-based container cotenancy
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10855725B2 (en) 2016-06-02 2020-12-01 Microsoft Technology Licensing, Llc Hardware-based virtualized security isolation
US10417065B2 (en) 2016-06-13 2019-09-17 Dynatrace Llc Method and system for automated agent injection in container environments
US20180026911A1 (en) 2016-07-25 2018-01-25 Cisco Technology, Inc. System and method for providing a resource usage advertising framework for sfc-based workloads
US20180167487A1 (en) 2016-12-13 2018-06-14 Red Hat, Inc. Container deployment scheduling with constant time rejection request filtering
WO2018200757A1 (en) 2017-04-25 2018-11-01 Nutanix, Inc. Systems and methods for networked microservice modeling
US10791065B2 (en) 2017-09-19 2020-09-29 Cisco Technology, Inc. Systems and methods for providing container attributes as part of OAM techniques

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002507295A (ja) * 1997-05-29 2002-03-05 3コム コーポレイション 多層型ファイアウオールシステム
US20100333165A1 (en) * 2009-06-24 2010-12-30 Vmware, Inc. Firewall configured with dynamic membership sets representing machine attributes
JP2011243112A (ja) * 2010-05-20 2011-12-01 Hitachi Ltd システム管理方法、及び管理装置
JP2012043445A (ja) * 2011-09-16 2012-03-01 Hitachi Ltd 業務引き継ぎ方法、計算機システム、及び管理サーバ

Also Published As

Publication number Publication date
TW201445461A (zh) 2014-12-01
KR20150132596A (ko) 2015-11-25
WO2014169062A1 (en) 2014-10-16
EP2984580B1 (en) 2018-12-19
JP6336041B2 (ja) 2018-06-06
KR101579715B1 (ko) 2015-12-22
EP2984581B1 (en) 2018-03-07
CA2903411C (en) 2018-09-04
CA2908871C (en) 2018-02-27
WO2014169054A1 (en) 2014-10-16
CA2903411A1 (en) 2014-10-16
KR20150140325A (ko) 2015-12-15
US20170250874A1 (en) 2017-08-31
EP2984581A1 (en) 2016-02-17
AU2014251011B2 (en) 2016-03-10
JP2016521415A (ja) 2016-07-21
CA2908871A1 (en) 2014-10-16
US9942102B2 (en) 2018-04-10
US10924355B2 (en) 2021-02-16
US20140310415A1 (en) 2014-10-16
CN105247508A (zh) 2016-01-13
AU2014251019A1 (en) 2015-08-27
CN105247508B (zh) 2018-01-26
AU2014251019B2 (en) 2018-07-05
EP2984580A4 (en) 2016-12-28
US20140310408A1 (en) 2014-10-16
US10897403B2 (en) 2021-01-19
CN105074692B (zh) 2018-02-06
AU2014251011A1 (en) 2015-10-29
TWI530890B (zh) 2016-04-21
US10917309B2 (en) 2021-02-09
EP2984581A4 (en) 2016-05-11
EP2984580A1 (en) 2016-02-17
JP6069580B2 (ja) 2017-02-01
US20180131577A1 (en) 2018-05-10
CN105074692A (zh) 2015-11-18
US20180198686A1 (en) 2018-07-12
US9882783B2 (en) 2018-01-30

Similar Documents

Publication Publication Date Title
JP6069580B2 (ja) 論理的多次元ラベルベースのポリシーモデルを使用した分散型ネットワークマネージメント
JP6470433B2 (ja) ラベルベースのアクセス制御ルールの自動生成
US10693718B2 (en) Updating management instructions for bound services in a distributed network management system
US10320617B2 (en) Representation of servers in a distributed network information management system for efficient aggregation of information

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161226

R150 Certificate of patent or registration of utility model

Ref document number: 6069580

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250