KR20030061794A - 폴리시 기반 네트워크 트래픽 관리를 구현하기 위한 방법및 시스템 - Google Patents

폴리시 기반 네트워크 트래픽 관리를 구현하기 위한 방법및 시스템 Download PDF

Info

Publication number
KR20030061794A
KR20030061794A KR10-2003-7003189A KR20037003189A KR20030061794A KR 20030061794 A KR20030061794 A KR 20030061794A KR 20037003189 A KR20037003189 A KR 20037003189A KR 20030061794 A KR20030061794 A KR 20030061794A
Authority
KR
South Korea
Prior art keywords
network
network traffic
data
rule
received
Prior art date
Application number
KR10-2003-7003189A
Other languages
English (en)
Inventor
모이어이안
Original Assignee
터트 시스템즈 인코포레이티드
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 터트 시스템즈 인코포레이티드 filed Critical 터트 시스템즈 인코포레이티드
Publication of KR20030061794A publication Critical patent/KR20030061794A/ko

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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5045Making service definitions prior to deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/287Remote access server, e.g. BRAS
    • H04L12/2874Processing of data for distribution to the subscribers
    • 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/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • 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
    • 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
    • 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/34Signalling channels for network management communication
    • H04L41/344Out-of-band transfers
    • 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/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow 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/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크 접속 디바이스 (12) 에서 구성정보를 프리컴파일하는 방법은, 네트워크 접속 장치에 대한 행위 요건을 정의한 룰 파일 (18) 을 수신하는 단계를 포함한다. 네트워크 접속 장치의 복수개의 컴포넌트에 의해 지원되는 오퍼레이션을 설명하는 오퍼레이션 파일이 수신된다. 이 네트워크 접속 장치에 의해 실행될 수 있는 룰 프로그램은, 룰 파일과 오퍼레이션 파일을 이용하여 생성된다. 룰 프로그램은, 룰 파일에 의해 정의되는 행위 요건에 따라서, 네트워크 접속 디바이스의 개별 컴포넌트의 성능을 위하여, 네트워크 접속 디바이스의 복수개의 컴포넌트에 의해 지원되는 오퍼레이션들 중에서 선택되는 오퍼레이션 세트를 포함한다.

Description

폴리시 기반 네트워크 트래픽 관리를 구현하기 위한 방법 및 시스템 {A METHOD AND SYSTEM TO IMPLEMENT POLICY-BASED NETWORK TRAFFIC MANAGEMENT}
오늘날 고도로 네트워크화된 환경에서는, 다양한 네트워크 아이덴티티 (identity) 에 각각 다른 레벨의 서비스 (예를들어, 서비스의 질 (QoS)) 를 제공하는 것이 바람직하다. 예를들어, 네트워크 접속 디바이스 (예를들어, 라우터, 스위치 또는 브릿지) 를 통하여 다수개의 네트워크 디바이스 (예를들어, 웹 스테이션, 개인용 컴퓨터, 셋톱박스 등) 가 네트워크에 접속되는 경우, 네트워크 운영자의 상업적 목적을 포함하는 다수의 요인들에 의해 이러한 네트워크 디바이스에 차별화된 QoS 를 제공하는 능력에 동기가 부여될 수 있다.
네트워크 매니저가 차별화된 QoS 를 제공하고자 하는 환경은, 다수의 사용자가 단일 접속에 액세스할 수 있고, 보다 적절하게는, 기업의 원격 사무소가 네트워크 자원을 공유하는 사무실 환경을 포함한다. QoS 차별화가 특히 바람직한 또다른 환경은, 다수의 사용자가 단일의 네트워크 접속을 공유하는 다중 유닛 (Multi-Tenant Unit; MTU) (예를들어, 고층 아파트나, 콘도미디엄 단지) 내에서이다.
또한, 비즈니스 또는 MTU 환경 내에서, 최종사용자와 소정의 성능 레벨을 보증하는 네트워크 서비스 제공자 간에는 서비스 레벨의 합의가 이루어질 수 있다.
이러한 차별화된 서비스 제공에 대한 요구는, 구리-기반 (copper-based) 디지털 가입자 라인 (DSL) 전송기술이 MTU, 원격 사무소, 키오스크 (kiosk), 공익시설 또는 소매점에 효과적인 비용으로 수 메가비트의 성능을 발휘하는 가능성을 제공함에 따라, 점차 명백해지고 있다.
관련출원에 대한 크로스 레퍼런스
본원은 2000년 9월 1일자 출원 미국 가출원번호 제60/230,532호의 우선권을 주장한다.
발명의 분야
본 발명은 네트워크 트래픽 매니지먼트 분야에 관한 것으로, 보다 상세하게는, 룰 (rule) 에 기초하여 폴리시 (policy) 기반 네트워크 트래픽 매니지먼트를 구현하는 것에 관한 것이다.
첨부된 도면은 본 발명을 한정하려는 것이 아니라 예시하는 것으로, 동일부호는 동일 구성요소를 나타낸다.
도 1 은 본 발명의 예시적인 실시형태에 따라서, 버츄얼 머신의 예시적인 형태 내의 네트워크 트래픽 매니저의 오퍼레이션을 하이 레벨에서 설명하는 블록도이다.
도 2 는 트래픽 분류 결정을 하는데 이용되는 일련의 분류 룰을 액세스하는 버츄얼 머신을 구비하는 네트워크 접속 디바이스의 예시적인 배치를 설명하는 블록도이다.
도 3 은 버츄얼 머신의 형태내의 예시적인 네트워크 트래픽 매니저 아키텍쳐의 보다 세부사항을 제공하는 블록도이다.
도 4 는 패킷에 대해 적용되는 폴리시를 확인하기 위해서, 수신 패킷으로부터 추출되는 패킷 서명의 이용에 대한 개념적 설명을 제공하는 블록도이다.
도 5 는 본 발명의 예시적인 실시형태에 따라서, 폴리시 테이블에 관한 보다 세부사항을 제공하는 블록도이다.
도 6 은 트랜잭션 2 와 트랜잭션 3 이 트랜잭션 1 의 직접적 결과로서 발생하는 상호 흐름을 설명하는 흐름도이다.
도 7 은 ATM 물리 계층의 매핑을 설명하는 도면이다.
도 8 은 본 발명의 예시적인 실시형태에 따라서, 폴리시기반 네트워크 트래픽 매니지먼트를 구현하는 방법을 설명하는 흐름도이다.
도 9 는 본 발명의 예시적인 실시형태에 따라서, 버츄얼 머신 컴파일러 오퍼레이션의 하이 레벨에서의 도식적 표현을 제공하는 블록도이다.
도 10 은 편리하게 레지스터라고 표기된 콘텍스트화된 데이터 세트에, 편리하게 오퍼레이션이라고 표기된 프로세스 행위 정의를 결합하는데 이용되는 다수 개의 룰을 개념적으로 포함하는 룰 프로그램을 설명하는 블록도이다.
도 11 은, 본 발명의 예시적인 실시형태에 따라서, 네트워크 접속 디바이스에서 구성정보를 프리컴파일하는 방법을 설명하는 흐름도이다.
도 12 는, VNIC 클라이언트 애플리케이션이 로컬 에어리어 네트워크 (LAN;104) 를 통하여 네트워크 접속 디바이스에 결합되는 워크스테이션 각각에 호스팅되는 예시적인 배치 시나리오를 나타내는 도면이다.
도 13 은 패킷으로부터 수신되는 서명 및 날짜 정보를 이용하는 분류 룰을 나타내는 도면이다.
도 14 는 정보 프로파일에 기여하기 위한 VNIC 클라이언트 애플리케이션으로부터의 VNIC 패킷의 통신을 설명하는 도면이다.
도 15 는, 또다른 실시형태에서, 각각의 워크스테이션 (102) 내의 등록부 (113; registry) 의 복사와 도메인 서버로부터의 등록부 매니지먼트를 설명하는 도면이다.
도 16 은 대역 분할 분류 룰의 예시적인 형태에서, 분류 룰에 의해 이용되는 정보 프로파일을 확립하고 기여하기 위한, VNIC 세션동안 VNIC 프로토콜을 이용하는 VNIC 패킷의 통신을 설명하는 도면이다.
도 17 은 일련의 기계판독가능한 명령의 형태로서, 상술한 방법중의 임의의하나의 방법을 실행하는 소프트웨어가 실행되는 컴퓨터 시스템의 예시적인 형태내의 머신을 나타내는 도면이다.
폴리시 기반 네트워크 트래픽 관리를 구현하기 위한 방법은 네트워크 트래픽 관리에서 네트워크 장치에 관련된 데이터를 수신하는 것을 포함하며, 제 1 데이터는 네트워크 트래픽의 대역 외에서 수신된다. 제 2 데이터는 네트워크 트래픽으로부터 추출된다. 네트워크 트래픽 관리 폴리시은 제 1 및 제 2 데이터를 활용하는 네트워크 트래픽 관리자에서 구현된다.
이하, 본 발명의 다른 특징을 첨부된 도면과 함께 상세히 설명한다.
폴리시 기반 네트워크 트래픽 관리를 구한하는 방법 및 장치가 개시된다. 설명을 위해, 아래의 기술에서 본 발명의 완전한 이해를 위해 많은 특정된 세부사항이 기술된다. 하지만, 당업자들은 본 발명이 이러한 특정된 세부사항 dqjt이도 구현될 수 있음을 자명하게 알 수 있다.
도 1 은 본 발명의 예시적인 실시형태에 따라, 버츄얼 머신 (10) 의 예시적인 형태 내에서 네트워크 트래픽 매니저의 하이 레벨에서의 오퍼레이션을 설명하는 블록도이다. 특히, 도 1 은, 버츄얼 머신 (10) 이 네트워크 접속 (또는, 데이터 통신) 디바이스 (12; 예를들어, 브리지, 스위치, 또는 라우터) 상에 호스팅되었음을 나타낸다. 이 버츄얼 머신 (10) 은 네트워트 소유자에 의해 제공되는 일련의 분류 룰 (18) 에 의해 수신 네트워크 트래픽 (16) 을 분류하는 분류기 (14) 를 구비하는 것을 나타낸다. 특히, 이 수신 네트워크 트래픽 (16) 내의 각각의 패킷은 분류기 (14) 에 의하여 여러 플로우 클래스들 (20) 중의 하나로 분류되고, 각각의 패킷들이 서로 어떻게 분류되어야 하는 지를 정의하는 분류 룰에 의해 인스턴스 (instance) 들 (22) 로 진행한다.
도 2 는 트래픽 분류결정을 하는데 이용되는 일련의 분류 룰들 (18) 을 액세스하는 버츄얼 머신을 (10) 을 구비하는 네트워크 접속 디바이스 (120 의 예시적인 배치를 설명하는 블록도이다. 이 분류 룰들 (18) 은, 분류를 하는데 요구되는만큼 단순하거나 복잡할 수 있으며, 분류를 위해서 특정 형태의 네트워크 트래픽의 "서명 (signature)" 을 정의할 수 있다. 본 발명에서, "서명" 이라는 용어는, 네트워크 트래픽 자체로부터 추출되든 그렇지 않든 간에, 네트워크 트래픽에 관련되는 정보로서 선택되어 네트워크 트래픽을 특성화하거나 분류하는데 이용된다. 도 2 에 나타낸 예시적인 배치내에서, 버츄얼 머신 (10) 이 수개의 10baseT 네트워크 접속으로부터 수개의 인그레스 버츄얼 인터페이스 (ingress virtual interface; 24) 를 통하여 네트워크 트래픽을 수신하고, 수개의 이그레스 버츄얼 인터페이스 (egress virtual interface; 26) 을 통하여 분류된 네트워크 트래픽을 ATM 또는 ADSL 네트워크 접속부로 출력하는 것을 나타낸다. 일 실시형태에서, 버츄얼 머신 (24, 26) 은 물리적 포트 및/또는 버츄얼 채널을 구비할 수 있다. 인그레스 버츄얼 인터페이스 (24) 중의 하나로부터 들어오는 네트워크 트래픽은 분류 룰 (18) 을 이용하여 버츄얼 머신 (10) 에 의해서 운용상 분류된다. 그 후, 분류 룰 (18) 에 의해 정의된 바와 같이, 패킷, 프레임 또는 셀이 적절한 이그레스 버츄얼 인터페이스에 라우팅, 스위칭. 또는 브리징된다.
예를들어, 3 계층에서, 패킷들은 소스 또는 목적지 인터넷 프로토콜 (IP) 주소, 서비스 비트의 형태, 및 프로토콜 형태와 같은 기준에 기초하여, 버츄얼 인터페이스 (24, 26) 사이에서 라우팅될 수 있다. 이그레스 버츄얼 인터페이스 (26) 가 수개의 VCC 를 갖는 ATM 버츄얼 머신이면, 이하 상세히 설명하는 바와 같이, 그 버츄얼 머신 (10) 은 서비스 품질에 기초한 라벨을 계산하여 그 라벨에 의해 관련 패킷으로 진행하도록 동작할 수 있다. 2 계층에서는, 소스 및 목적지MAC 주소들, 프레임 형태, 캡슐화 배열 등을 이용하여, 프레임들이 버츄얼 인터페이스들 (24, 26) 간에 스위칭된다. 이그레스 버츄얼 인터페이스 (26) 가 ATM 버츄얼 머신이면, 그 버츄얼 머신 (10) 은 특정 2 계층 흐름에 대해 규정된 QoS 요건에 기초하여 채널을 선택할 수 있다. 일 실시형태에서, 그 네트워크 접속 디바이스 (12) 는 듀얼 스위칭되는 10baseT 이더넷 포트, 8 Mbps ADS 모뎀, ATM SAR 프로세싱, 이데넷 브릿징 및 IP 라우팅 등을 지원하는 고성능의 ISE 프로세서에 기초할 수 있다.
도 3 은 버츄얼 머신 (10) 의 형태에서 예시적인 네트워크 트래픽 매니저 아키텍쳐의 보다 세부사항을 제공하는 블록도이다. 예시적인 실시형태에서, 버츄얼 머신 (10) 은 분류기 (14) 와 라벨기 (labeler;15) 를 모두 포함하는 것을 나타낸다. 상술한 바와 같이, 우선, 분류기 (14) 를 설명하면, 그 분류기 (14) 는 패킷을 예를들어, 수개의 플로우 클래스 및 플로우 인스턴스 중의 하나로 분류하도록 동작한다. 이러한 목적으로, 분류기 (14) 가 각각의 패킷 서명으로부터, (1) 패킷이 속하는 플로우의 클래스를 정의하는 플로우 클래스 판별기 (FCD), 및 (2) 플로우 클래스 패킷이 어느 인스턴스에 속하는지 여부를 식별하는 플로우 인스턴스 판별기 (FID) 를 추출하여 그 패킷 서명을 2 개의 개별 필드로 파싱시킨다. 통상, 플로우 클래스가 전송 제어를 규정하는 것에 이용되는 반면, 플로우 인스턴스는 승인 (admission) 제어를 규정하는 데 이용된다.
도 3 은 자동적으로 구현될 수 있는 3 개의 개별 룰 기반 프로세스를 설명한다. 상술한 바와 같이, 제 1 룰 기반 프로세스는 분류기 (14) 에 의해 행해지는 분류 프로세스이다. 일 실시형태에서, 분류 룰 (18) 은 단순 네트워크 매니지먼트 프로토콜 (SNMP) 에 의해 구성될 수 있다. 다른 2 개의 룰기반 프로세스는 상술한 이벤트 매니지먼트 룰 (17) 과 라벨 매니지먼트 룰 (19) 을 이용하여 행해진다. 일 실시형태에서, 이벤트 매니지먼트 룰 (17) 과 라벨 매니지먼트 룰 (19) 은 컴파일된 버츄얼 머신 룰을 이용하여 구성되며, 그 버츄얼 머신의 컴파일링은 본 명세서에서 더 설명한다. 이벤트 매니지먼트를 보다 자세하게 설명하면, 컴파일된 이벤트 매니지먼트 룰 (17) 은 플로우 클래스 (20) 의 라이프 사이클에서 중요 이벤트와 관련된다. 이러한 룰과 이벤트의 예는 아래 표 1 에 제공된다.
이벤트 매니지먼트 룰 이벤트
생성 새로운 플로우 인스턴스가 생성되는 경우
삭제 플로우 인스턴스가 삭제되는 경우
자원충돌 새로운 인스턴스가 자원충돌을 야기하는 경우
양의 문턱값 평균 데이터레이트가 구성된 문턱값보다 큰 경우
음의 문턱값 평균 데이터레이트가 구성된 문턱값보다 작은 경우
이벤트 매니지먼트 룰 (17) 은 승인제어 폴리시의 지원하에 네트워크 접속 디바이스 (12) 의 세부 행위를 감소시키는 데 이용되며, (예를들어, RSVP) 자원보관 프로토콜에 응답하여 적절한 행위를 구현하는데 이용될 수 있다. 라벨 매니지먼트 룰 (19) 은 라벨기 (15) 에 의해 피어투피어 (peer-to-peer) 라벨 교환 프로토콜 (예를들어, LDP) 를 불러내고 응답하는데 이용된다. 이로 인하여, 라벨 공간의 동적 결합이 인접 네트워크 디바이스들 간에 발생할 수 있다.
예시적인 "서명" 에 관하여 보다 자세히 설명한다. 도 4 는 관련 패킷 (29) 에 대하여 적용되는 폴리시를 식별하기 위해서, 수신 패킷 (29) 으로부터 추출되는 패킷 서명 (31) 의 이용에 대한 개념적 설명을 제공하는 또다른 블록도이다. 그 서명 (31) 은 분류 룰 (18) 에 의해 규정되며, 패킷 (29) 내에서 임의의 패킷 및/또는 데이터의 결합을 포함할 수 있다. 서명 (31) 은 관련 패킷 (29) 의 취급에 대한 폴리시를 정하기 위해서, 폴리시 테이블 (예를들어, MIB) 내의 룩업 (lookup) 을 행하는 태그 (tag) 로서 이용된다. 도 4 에 나타낸 바와 같이, 그 폴리시는 수개의 서비스 파라미터 (32) 를 규정한다. 예시적인 실시형태에서, 그 서비스 파라미터 (32) 는 ATM 트래픽 매니지먼트에 관련되고, 1 개 이상의 이그레스 버츄얼 인터페이스 (26) 에 의해 출력되는 다양한 플로우에 서비스 파라미터 (32) 를 적용시키는 ATM 트래픽 매니지먼트 모듈 (34) 에 제공된다. 예를들어, 서비스 파라미터 (32) 는 어떤 플로우는 높은 QoS 로 제공되는 반면, 다른 플로우는 낮은 QoS 로 제공되는 것을 규정할 수 있다.
패킷 (29) 의 서명 (31) 은 분류기 (14) 에 의해 다른 유사하지 않은 패킷으로부터 패킷 (29) 을 차별하는데 이용된다. 상술한 바와 같이, 동일한 서명을 갖는 패킷의 열 (또는, 다른 네트워크 트래픽 유닛) 을 "플로우" 라고 한다. 플로우는, 분류기 (14) 가 그 플로우의 서명을 갖는 패킷 (29) 을 인식하는 경우에 인스턴스화되며, 플로우의 서명을 갖는 패킷 (29) 간의 시간량이 특정 시간량 (예를들어, 플로우의 인터벌 타임아웃) 을 초과할 때까지 지속된다.
버츄얼 머신 (10) 은 임의의 구조를 서명 (312) 또는 패킷 (29) 에 부과하지는 않는다. 예를들어, 하나의 콘텍스트 (context) 에서, 서명 (31) 은 단지 패킷 (29) 의 목적지 IP 주소를 포함할 수 있다. 다른 콘텍스트에서는, 서명 (31) 은 목적지 IP 주소와 소스 MAC 주소를 포함할 수 있다. 임의의 주어진 콘텍스트에 대한 가장 적절한 서명 (31) 은 공학적 관심사이며, 주어진 콘텍스트에 의해 결정된다.
분류기 (14) 는, 분류 룰 (18) 을 평가함으로써, 패킷 (29) 의 서명 (31) 을 결정하도록 동작한다. 일 실시형태에서, 분류 룰 (18) 은 아래 표 2 에 열거된 1 개 이상의 패킷필드를 포함하는 불리언 표현 (Boolean expression) 을 포함한다.
필드 네임 필드의 설명
SMA 패킷을 포함하는 프레임의 소스 MAC 주소
DMA 패킷을 포함하는 프레임의 목적지 MAC 주소
SIP 패킷의 소스 IP 주소
DIP 패킷의 목적지 IP 주소
PRO 패킷의 IP 프로토콜 필드
TOS DiffServ DS 필드로서도 사용되는 패킷 서비스 필드의 IP 타입
SPO 소스 TCP 또는 UDP 포트
DPO 목적지 TCP 또는 UDP 포트
RXL 패킷의 수신 라벨. 이는 수신패킷 (예를들어, MPLS 의 경우, 802.1q등) 에 할당되는 라벨이다
또한, 인그레스 버츄얼 인터페이스 (24) 는 패킷 서명 (31) 의 함축적인 부분으로서 간주될 수도 있다.
도 5 는, 본 발명의 예시적인 실시형태에 따라서, 폴리시 테이블 (30) 에 관한 보다 세부사항을 제공하는 블록도이다. 상술한 바와 같이, 분류기 (14) 는 태그들 (예를들어, 플로우 클래스 판별기들 (FCDs)) 과 폴리시 테이블 (30) 에서그들의 대응 폴리시들 (플로우 클래스들) 사이를 관련시킴으로써 구성된다. 일실시형태에서, 폴리시 테이블 (30) 내의 각각의 엔트리는, 일련의 데이터 아이템 세트로서, 이들 중에서 분류용으로 이용되는 패킷 서명 (31) 의 필드로 규정된다. 각각의 필드 (SMA 와 DMA 는 제외) 에는 값과 마스크가 주어진다. SMA 와 DMA 필드는 각각 값을 가지며, 어떠한 마스크와도 관련되지 않는다. 패킷 (29) 의 수신시, 분류기 (14) 는, 패킷 (29) 의 서명 (31) 과 매칭하는 엔트리에 대하여 폴리시 테이블 (30) 을 검색한다. 이러한 매칭을 찾기 위해서, 일 실시형태에서는, 우선, 분류기 (14) 가 FCD 마스크를 갖는 패킷 서명 (31) 을 마스크한 후, 그것을 FCD 값과 비교한다. 매칭이 성공적이면, 패킷 (29) 은 대응 플로우 클래스의 멤버로서 프로세싱된다. 폴리시 테이블 (30) 내의 엔트리는 최선의 매칭이 우선 발견되도록 정렬된다.
또한, 도 5 는 플로우 클래스 테이블 (36) 을 설명한다. 일단 패킷 (29) 이 특정 플로우 클래스로 분류되면, 그것은 플로우 클래스 테이블 (36)내의 규정에 따라서 프로세싱된다. 따라서, 플로우 클래스 테이블 (36) 은 도 4 를 참조하여 상술한 폴리시들의 예시적인 구현예로서 간주되어야 한다.
일 실시형태에서, 플로우 클래스 테이블 (36) 은 관련 플로우가 행하는 방법을 결정하는 데이터 아이템의 시퀀스이다.
일 실시형태에서, 플로우 클래스 (36) 는, (1) 인스턴스 선택자 필드, (2) 인스턴스 타임-아웃 필드, (3) 최대 인스턴스 필드, (4) 전송 코드 포인트 필드, 및 (5) 가역 플로우 필드 등의 복수개의 필드를 포함한다.
클래스 테이블 (36) 의 인스턴스 선택자 필드가 패킷 (29) 의 서명 (31) 필드를 이용하여 플로우 클래스의 인스턴스들을 구별하도록 지정한다. 테이블 (36) 내에서 지정된 인스턴스 선택자가 없다면, 관련 플로우 클래스로 분류된 모든 패킷 (29) 들이 동일한 인스턴스에 속하는 것으로 간주한다.
인스턴스 타임-아웃 필드는 소정의 플로우내에서 인스턴스들이 나타날 수도 있는 가장 긴 인터-패킷 갭을 지정한다. 관련 플로우의 2개의 패킷 (29) 이 이 인터-패킷 갭보다 길게 이격된 경우, 이들을 상이한 인스턴스로 간주한다. 예를들어, 도 1에 나타난 바와 같이, 플로우 클래스 1의 제 1 및 제 2 "A" 패킷 사이의 시간은 인스턴스 타임-아웃을 초과하는 것으로 나타난다.
최대 인스턴스 필드는 존재할 수 있는 특정 플로우의 동시 인스턴스의 최대 개수를 지정한다. 이 필드에서, 값은 "N" 으로 설정된다. "N+1" 인스턴스 생성을 시도하는 패킷 (29) 은 폐기될 것이다. 트래픽 패턴이 너무 많은 플로우 인스턴스를 형성하는 경우, 분류기 (14, classifier) 는 리소오스 충돌을 일으킬 것이다.
전송 코드 포인트 필드는, 지정된다면, 송신 패킷에 대한 소위 전송 "행위 코드 포인트" 가 될 값을 포함한다. 행위 코드 포인트는 버츄얼 머신 (10) 이 플로우를 포워드하는 방법을 나타내는 값이다 (예를들어, 패킷 등을 대기시키고 포워드하는데 이용될 알고리즘을 지정한다). 패킷 포워딩 프로세싱은 프로토콜 특성이므로, 행위 코드 포인트는 패킷 포워딩과 조합된 의미론 (semantics) 의 정규화 (normalization) 이다. 패킷에서 포워딩 결정이 이루어지면, 이그레스 (egress) 버츄얼 인터페이스 (26) 가 이 값을 자체 피어-투-피어 (pier-to-pier)프로토콜 소유 전송으로 맵을 형성할 것이다.
가역 플로우 필드에서, 플로우는 가역 플로우 (reciprocal flow) 를 식별하도록 구성될 수 있다 (즉, 플로우의 결과로서 생성된 플로우의 가역 방향으로의 트래픽). 이를 트랜잭션 (2, 3) 은 트랜잭션 (1) 의 직접 시퀀스로서 발생된 도 6에 나타낸다. 버츄얼 인터페이스가 그 가역 플로우를 바인드 (bind) 하도록 구성되지 않는 경우, 버츄얼 머신 (10) 는 트랜잭션 (2, 3) 을 2개의 플로우로서 식별할 것이다 (예를들어, 1 패킷의 카운트를 갖는 A.B 플로우, 및 2 패킷들의 플로우를 갖는 B.A 플로우). 그러나, 버츄얼 인터페이스가 가역 플로우를 바인드하도록 구성되는 경우, 버츄얼 머신 (10) 은 단일 플로우만을 식별할 것이다 (예를들어, 3 패킷의 카운트를 갖는 A.B 플로우).
이하, (예를들어, 도 2를 참조하여) 인그레스 및 이그레스 버츄얼 인터페이스 (24, 26) 를 설명한다. 일 실시형태에서, 버츄얼 인터페이스는 물리적 인터페이스의 논리적 기술 (logical description) 이며, 하위의 다양한 세부항목들을 나타내지 않는다. 예를들어, ATM 물리 계층은 도 7에 나타난 바와 같은 맵으로 형성될 수 있다.
버츄얼 머신 (10) 이 패킷을 이그레스 버츄얼 인터페이스 (26) 과 스위칭하면, 관련 패킷이 속한 플로우 클래스는 전송 코드 포인트를 제공하여 (예를들어, 전술한 행위 코드 포인트), 관련 플로우 클래스의 전송 요건을 지정한다. 각각의 버츄얼 인터페이스는 소정의 네트워크 토폴로지 (topology) 를 지원하고, 외부 네트워크로부터 외부 네트워크까지 패킷의 맵을 형성하는 것을 지정하도록 형성된다. 특히, 각각의 버츄얼 인터페이스는, 하위의 물리적 인터페이스 타입의 설정 (예를들어, 이더넷, VDSL, ADSL 등), 드라이버 인터페이스 할당 (즉, 물리 계층의 구현 (realization)), 버츄얼 인터페이스를 이용할 수 있는 물리 계층의 라벨 공간의 할당, 버츄얼 인터페이스의 타입 설정 (예를들어, 이더넷, RFC1483, PPPoverL2TP 등), 디세이블 (disable) DHCP 의 인에이블, MAC 어드레스의 할당, (라우팅 시) IP 어드레스 및 서브넷 마스크의 할당, IP 멀티캐스팅의 인에이블 및 디세이블, 특정 타입의 다른 버츄얼 인터페이스와의 브로드캐스팅 인에이블 및 디세이블, 네트워크 어드레스 전송의 인에이블 및 디세이블, 및 스패닝 트리의 인에이블과 디세이블 및 상태 (예를들어, 블로킹 (blocking), 리스닝 (listening), 포워딩 등) 우선순위 및 비용 설정의 구성을 포함한다.
또한, 일 실시형태에서, 버츄얼 인터페이스는 다음의 정보, 수신된 유니캐스트 바이트 및 패킷, 수신된 멀티캐스트 바이트 및 패킷, 수신된 브로드캐스트 바이트 및 패킷, 수신자 폐기된 바이트 및 패킷, 전송된 바이트 및 패킷, 및 전송자 폐기된 바이트 및 패킷을 포함한다.
도 8 은 폴리시-기반 네트워크 트래픽 매니지먼트 (policy-based network traffic management) 을 실행하는 예시적인 실시형태에 따른 방법 (40) 을 나타내는 플로우차트이다. 방법 (40) 은 블록 (42) 에서 서비스 폴리시의 설정을 시작한다 (예를들어, 폴리시 및/또는 플로우 클래스 테이블 (30, 36) 내에서 지정됨). 이러한 폴리시는 복수개의 룰을 네트워크 접속 디바이스 (12) 상에 업로딩 및/또는 정의함으로써 정의될 수도 있다 (예를들어, 분류 룰 (18), 이벤트매니지먼트 룰 (17), 및 라벨 매니지먼트 룰 (19)).
블록 (44) 에서, 패킷 (29) 은 인그레스 버츄얼 인터페이스 (24) 에서 수신된다 (예를들어, 이더넷 포트 또는 PCI 버스를 통해). 다음으로, 블록 (46) 에서 패킷 (29) 은 버츄얼 머신 (10) 로 IP 라우트된다. 블록 (48) 에서, 전술한 바와 같은, 패킷 (29) 에 대한 서명을 결정한다. 블록 (50) 에서, 패킷 (29) 의 프로세싱에 적용된 폴리시를 서명에 의해 식별함으로써, 폴리시 및/또는 플로우 클래스 테이블 (30, 36) 에 룩업 (lookup) 을 처리한다.
블록 (52) 에서, 포워딩 (및 프로세싱) 을 프로세스하여 (예를들어, ATM 채널의 식별), 다음으로, 식별된 폴리시에 의해 지시된 바와 같은 서비스 레벨 파라미터를 결정한다. 다음으로, 블록 (54) 에서, 폴리시에 따라 관련 패킷 (29) 을 이그레스 버츄얼 인터페이스 (26) 을 통해 전송한다. 다음으로, 이 방법 (40) 은 블록 (56) 에서 종료된다.
버츄얼 머신 컴파일러
많은 네트워크 디바이스는 각각 개별 특성 및 파라미터를 갖는 일부 소프트웨어 및 하드웨어 서브컴포넌트를 포함한다 (예를들어, IP, PPP, ATM 등). 네트워크 디바이스의 올바른 오퍼레이션은 이러한 서브컴포넌트 또는 네트워크 아키텍쳐 (architecture) 의 컴포넌트 파라미터의 올바른 구성에 의존된다.
컴포넌트 파라미터는 종종 상호 의존적이면서, 상호 배타적이다. 올바른 네트워크 디바이스의 구성은 이러한 의존성을 고려하는 것이 필요하다. 통상, 네트워크 매니지먼트 디바이스는 개별 컴포넌트 파라미터의 설정을 허용하지만, 일시리즈의 이산적 구성 오퍼레이션의 최종 결과를 강요하지 않는다. 많은 양의 리소오스가 매니징 및 매니지드 디바이스에게 이러한 태스크를 처리하도록 요구하기 때문일 수도 있다. 상호 의존될 수 있는 컴포넌트 파라미터 구성의 상기 문제는, 네트워크 디바이스가 소형화되고, 보다 증가되고, 보다 기능적이도, 비용이 절감되며, 보다 미션 크리티컬 (mission critical) 할수록 유력해진다. 특히, 네트워크 디바이스는 크게 전개되고 (미션 크리티컬 애플리케이션내의 일부), 네트워크 운영 (administration) 편성을 위한 비용이 현저하게 증가된다. 광대역 서비스의 볼륨 전개는 전술한 문제의 악화에 기여한다.
본 발명의 일 실시형태에 따른, 전술한 식별된 네트워크 매니지먼트 문제를 어드레스하기 위한 제안된 해결 방법은, 행위 방법을 네트워크 디바이스에 명령하는, 일부 이산 구성 단계의 결과 (outcome) 를 개별 룰로 컴파일하는 단계를 포함한다. 이 결과는 구성 태스크가 보다 신뢰성을 갖고 (소형화된 코드 풋프린트로) 처리될 수 있도록 하는 이점, 및 디바이스의 MTEF 상에서 역효과가 없는 구성의 레졸루션 (resolution) 을 증가시키는 메커니즘을 제공할 수 있다. 예를들어, 증가된 매니지먼트 해결방법은 플로우 분류 및 데이터 경로 특성과 같은 네트워크 디바이스의 행위의 상세한 양태를 네트워크 디자이너가 안전하게 제어할 수 있도록 한다.
도 9 는 본 발명의 실시형태의 예시에 따른, 버츄얼 머신 컴파일러 (60) 의 오퍼레이션을 나타내는 하이 레벨 다이아그램 표현이 제공된 블록도이다. 버츄얼 머신 컴파일러 (60) 는 입력으로서 (1) 특정 네트워크 디바이스 (예를들어, 컴포넌트 행위) 의 컴포넌트 및 제약 정의 (restriction definition) 에 의해 지원되는 오퍼레이션을 나타내는 오퍼레이션 파일 (62), 및 (2) 특정 네트워크 디바이스의 행위 요건을 지정하는 룰 파일 (64) 을 수신하도록 나타난다. 일 실시형태에서, 이러한 행위 요건은 판정 트리 형태의 텍스트 표으로 나타낼 수 있다.
버츄얼 머신 컴파일러 (60) 는 일 실시형태에서는, 전술한 바와 같이, 버츄얼 머신 (10) 에 적합한 명령 시퀀스 포함하는 바이너리 오브젝트를 포함하는 오퍼레이션 파일 (62) 및 룰 프로그램 (66) 을 컴파일하는 룰 파일 (64) 를 이용한다. 룰 프로그램 (66) 은, 룰 파일 (64) 에 의해 정의된 행위 요건에 따른 네트워크 접속 디바이스의 각각의 컴포넌트를 처리함으로써, 네트워크 접속 디바이스의 부품들에 의해 지원되는 오퍼레이션들로부터 선택된 오퍼레이션 세트를 포함한다. 일 실시형태에서, 룰 프로그램 (66) 은, 도 3 을 참조하여 상술한 바와 같은, 분류 룰 (18), 이벤트 매니지먼트 룰 (17) 및 라벨 매니지먼트 룰 (19) 을 구성하는 일부 시퀀스를 포함한다.
따라서, 버츄얼 머신 컴파일러 (60) 는, 버츄얼 머신 (10) 의 주요 위치로 룰 프로그램 (66) 을 로딩함으로써 보안 및 처리용 방법에서 버츄얼 머신 (10) 을 정의하는데 이용된다.
일 실시형태에서, 도 10에 나타난 바와 같이, 버츄얼 머신 컴파일러 (60) 는 일부 요약 데이터 프로세스 및 콘텍스트 (context) 를 구성하는 룰 디자이너에게 모델을 표시한다. 특히, 도 10 은 룰 프로그램 (66) 이 간단하게 등록 (register, 70) 으로 명명되는 프로세스 행위 정의와 간단하게 등록 (72) 로 명명되는 데이터의 콘텍스트화된 설정을 바인드하기 위해 이용되는 일부 룰 (68) 을 (예를들어, 명령 시퀀스) 개념적으로 포함하는 것을 나타낸다. 특정 네트워크 접속 디바이스 (12) 가 일부 더욱 작은 컴포넌트로 구성될 수 있기 때문에, 네트워크 접속 디바이스 (12) 용 전체 프로세스 및 콘텍스트는 일부 대응 컴포넌트를 구성하는 것과 유사하게 보일 수도 있다. 도 10에 나타난 바와 같이, 프로세스에 할당하고자 하는 각각의 컴포넌트 (예를들어, TCP 프로토콜 또는 ATM 디바이스 드라이버) 를 새로운 또는 기존의 등록 (72) 상의 룰 (68) 클래스를 통해 동작시킬 수 있다.
특정 컴포넌트는 복수개의 프로세스와 함께 될 수도 있다. 예를들어, 컴포넌트 TCP는 데이터 플레인 프로세스 및 매니지먼트 플레인 프로세스에 오퍼레이션을 제공한다.
룰 (68) 은 특정 프로세스 (73), 훅 (74), 및 콘텍스트 (75) 를 선언하고, 버츄얼 머신 컴파일러 (60) 는 특정 룰 (68) 에 이용되는 모든 컴포넌트 및 오퍼레이션이 그 선언과의 일치성이 보장되도록 동작된다. 훅 (74) 은 룰 (68) 이 어드레스될 수도 있는 프로세스내의 위치로 고려될 수도 있다. 룰 프로그램 (66) 이 판독되고 테스트되면, 네트워크 접속 디바이스 (12) 의 행위는 완벽하게 표시될 수 있다.
룰 프로그램 (66) 을 보다 상세하게 다루면, 일 실시형태에서, 룰 프로그램 (66) 은 네트워크 접속 디바이스 (12) 로 종속되기 이전에 일치성이 체크된 일 형식의 컴파일된 오퍼레이션 세트를 포함한다. 이산 매니지먼트 오퍼레이션 (예를들어, 이러한 체크를 위한 SNMP를 설정) 은 상호 배타적이고, 일치성 체크가 결여된 불능 네트워크 접속 디바이스 (12) 를 유발할 수 있다.
이런 목적에서, 룰 (68) 은 실행 이전에 프로그래머에 의해 인증되고, 네트워크 접속 디바이스 (12) 에 의해 체크된다. 프로토콜 레벨 (예를들어, SNMP) 에서의 보안만이 시스템으로의 액세스를 인증하지만 수행된 오퍼레이션의 결과에는 그렇지 않는데 반해, 이는 기능적 레벨의 보안을 제공한다.
또한, 룰 프로그램 (66) 은 임의의 런-타임 매니지먼트 프로토콜에 독립적으로 컴파일되고 로드된, 이러한 방법에서, 소위 "매니지되지 않은 (unmanaged) " 시스템은 특성을 나타난 능력이 유지되도록 구성될 수 있다.
또한, 룰 프로그램 (66) 은 컴파일되면서, 프로세싱 관점에서 상대적으로 효과적이고 빠르게 실행한다. 이는 데이터-경로 행위 (예를들어, 패킷 필터링 및 폴리시 구성) 및 통상의 구성 매니지먼트 (예를들어, IP 어드레스 등의 할당) 를 정의하기 위해 이용되는 일치하는 방법 및 툴-세트의 이점을 제공한다. 또한, 룰 프로그램 (66) 은, 일 실시형태에서, 인증된 증명에 의해 "할당"될 수 있는 컴파일된 바이너리 오브젝트이고, 애플리케이블 시스템 상에서만 실행될 지식에 할당된다.
오퍼레이션 파일 (62) 의 실시형태의 예의 다른 설명을 제공한다. 전술한 바와 같이, 룰 프로그램 (66) 이 형성된 오퍼레이션은 오퍼레이션 파일 (62) 내에 포함된다.
버츄얼 머신 (10) 의 실시형태는 일부 이산 및 재생 가능 (re-useable) 소프트워어 파트, 각각 개별 컴포넌트에 의헤 지원되는 오퍼레이션을 설명하였던 오퍼레이션 파일 (62) 내에 부분으로 갖는 명명화된 컴포넌트로 분류될 수 있다. 프로덕트 모델은 정의된 일 세트의 컴포넌트를 갖는 버츄얼 머신 (10) 의 특정 인스턴스로 나타낼 수도 있다. 프로덕트 모델로 나타낸 버츄얼 머신 (10) 은 구성 컴포넌트의 오퍼레이션만을 실행할 수 있다. 각각의 컴포넌트는 글로벌 식별자를로 할당되고, 자체 오퍼레이션 명칭공간 (namespace) 을 갖는다. 런 타임 시, 각각의 컴포넌트의 실행은 버츄얼 머신 컴파일러 (60) 으로의 오퍼레이션을 등록한다. 새로운 룰이 네트워크 접속 디바이스 (12) 에 도입되면 (예를들어, 네트워크 매니지먼트를 통해, 또는 메모리로부터), 버츄얼 머신 컴파일러 (60) 는 새로운 룰과 등록된 실행 사이의 일치성을 체크한다. 1 내지 1216-1 사이에 할당된 식별자는 컴포넌트를 식별할 수 있다.
도 10을 다시 참조하면, 룰 프로그램 (66) 내의 룰 (68) 은 버츄얼 머신 (10) 에 의해 형성된 요약 엔터티 (abstract entity) 와 조합된다. 이러한 요약 엔터티는 이들의 행위 및 데이터로 정의된다. 특정 프로세스 (73) 는 특정 행위를 단독으로 식별하고, 콘텍스트 (75) 은 특정 데이터 환경을 단독으로 식별한다. 룰 프로그램 (66) 의 올바른 오퍼레이션을 요구하는 프로세스 (73) 및 콘텍스트 (75) 은 관련된 룰 프로그램 (66) 의 명령 시퀀스로 코드화된다. 버츄얼 머신 (10) 은 등록된 실행이 특정 룰 (68) 에 의해 요구된 것을 동일한 프로세스 (73) 와 콘텍스트 (75) 가 지원하는 것을 체크한다. 예시적 오퍼레이션 파일 (62) 의 문법을 아래와 같이 나타낸다.
여기서, <number>는 32-비트 GOP의 고차 12-비트를 형성하는 1 내지 65535 사이의 유효 숫자.
<ident>는 유효 식별자.
<context-ident>는 콘텍스트명인 <ident>.
<context-number>는 콘텍스트 명명된 <context-ident>의 글로벌 콘텍스트 식별자인 <number>.
<process-ident>는 프로세스명인 <ident>.
<process-number>는 프로세스 <process-ident>의 글로벌 프로세스 식별자인 <number>.
<hook-ident>는 프로세스내의 훅명인 <ident>.
<hook-number>는 훅 <hook-ident>의 프로세스 범주의 식별자.
<component-ident>는 컴포넌트명인 <ident>.
<component-number>는 컴포넌트 <component-ident>의 글로벌 식별자인<number>.
<mnemonic-ident>는 오퍼레이션의 간략기호인 <ident>.
<function-ident>는 오퍼레이션을 실행하는 C 기능명인 <ident>.
<signature>는 후술될 오퍼레이션의 서명.
<op-number>는 32-비트 GOP의 저차 12-비트를 형성하는 오퍼레이션의 식별자인 <number>.
따라서, 일 실시형태에서, 일 컴포넌트의 각각의 오퍼레이션 (70) 은 3가지 타입 중 하나로 선언한다.
여기서,
ACTION 은 시스템의 상태를 변경하고, 만약 성공적이면 패스 (PASS) 하고, 그렇지 않으면 실패 (FAIL) 하는 오퍼레이션이다. 액션이 실패하는 경우, 시스템의 상태가 변경되지 않도록 한다.
PREDICATE 는 시스템의 상태를 테스트하는 오퍼레이션이다. 테스트가 참이면, 오퍼레이션은 패스할 것이다. 만약 테스트가 거짓이면, 오퍼레이션은 실패할 것이다.
MONITOR 는 시스템의 상태를 변경하거나 변경하지 않는 오퍼레이션이며, 패스 또는 실패도 아니다.
조작시, 버츄얼 머신 컴파일러 (60) 는 실행 오퍼레이션이 실행된 후에는, 실행에 의해 실시된 시스템의 변경이 백트랙 (backtrack) 을 방해하기 때문에, 룰 프로그램 (66) 이 액션 오퍼레이션을 실행하지 않도록 보장한다. 모니터 오퍼레이션 (미도시) 은 룰 프로그램의 실행을 전송하는 방식이 될 때까지 네트워크 접속 디바이스 (13) 의 상태를 변경할 수 있다. 예를들어, 특정 컴포넌트가 특정 서브-넷을 위한 IP 어드레스를 찾는 오퍼레이션을 제공하고, 캐쉬로 이 IP 어드레스를 전송하는 것을 가정한다. 만약, 기존 IP 어드레스가 캐쉬 내에서 유효하다면, 룰이 그 이후에 실패하는 오퍼레이션을 포함하더라도, 오퍼레이션은 모니터에 나타나거나, 그렇지 않다면, 액션으로 나타난다.
룰 파일 (64) 로 돌아가서, 전술한 바와 같이, 룰 파일 (64) 은 바이너리-형 룰 프로그램 (66) 으로 변환되는 텍스트가 된다. 룰 파일 (64) 내에, 일 실시형태의 예시에서, 일부 룰이 정의되고, 개별 룰은 공식을 갖는 판정 트리를 포함한다.
컴플렉스 판정 트리가 룰 파일 (64) 내의 추가적인 IF..THEN..ELSE 스테이트먼트를 이용하여 구축될 수 있음을 알 수 있다. 술어 (predicate) 와 액션 (action) 양쪽은 오퍼레이션의 시퀀스로 만들어지고, 그들 각각은 실행될 때 PASS 또는 FAIL 일 수 있다. IF-부분의 모든 오퍼레이션이 패스하면 특정한 룰의 THEN-부분 스테이트먼트 가 실행된다. IF-부분의 오퍼레이션 중 임의의 한 오퍼레이션이 실패하면 특정한 룰의 ELSE-부분 스테이트먼트가 실행된다.
예시적인 룰 파일 (64) 에 대한 문법이 아래에 제공된다:
<rule>
여기서:
<ident> 는 룰 (68) 의 명칭이다. 룰 (68) 의 명칭이 입력 파일의
명칭에 부합하지 않으면 (보다 적은 확장자) 버츄얼 머신
컴파일러 (60) 는 경고를 생성할 것이다.
<ruleHdr>
룰 헤더는 모든 전체 룰 (68) 에 관련된 정보를 포함한다.
룰 헤더의 문법은 다음과 같다:
<processDecl>
룰 (68) 의 프로세스는 룰 (68) 이 실행될 것으로 기대되는 행위적인 환경을 기술한다. 프로세스 선언 (declaration) 은 룰 (68) 이 목표로 되어 있는 훅 포인트 (hook point) 를 포함한다.
<contextDecl>
룰 (68) 의 콘텍스트는 룰 (68) 이 실행될 것으로 기대되는 데이터 환경을 기술한다. 상기 환경은 룰의 오퍼레이션들이 동작하는 데이터 영역 및 사용할 오퍼레이션들의 개정 (revision) 을 포함한다.
여기서:
<context-ident> 는 콘텍스트의 글로벌 명칭인 <ident> 이다.
<keyDecl>
룰 (68) 의 키는 룰의 기원 (origin) 을 인증하는데 사용되는 16진법 스트링이다. 버츄얼 머신 (10) 이 룰을 로드할 때, 룰 (68) 의 키는, 관련 네트워크 디바이스에 할당되어 있던 "공유 시크리트 (shared secret)" 와 컴패터블하다는 것을 보장한다.
여기서:
<key-hstring> 은 상기 룰에 대한 인증 키를 형성하는 <hstring> 이다.
<constant>
콘스탄트 데이터 아이템은 히프-오브젝트 (heap-object) 또는 인라인-오브젝트 (inline-object) 내부에 컴파일되고 할당된 식별자를 이용하여 인용될 수 있다.
<heapObject>
히프 오브젝트는 파라미터 히프라고하는 룰 (68) 의 영역내에 저장된다. 이들 아이템은 인접하는 모듈로 4 시퀀스의 바이트로서 취급된다. 히프 오브젝트의 첫번째 2바이트는 타입 필드이고, 히프 오브젝트의 두 번째 2 바이트는 바이트 단위의 길이 필드이고, 나머지 바이트는 패딩이 후속할 수 있는 오브젝트 값이다. 히프 오브젝트는 다음의 문법을 사용하는 룰에서 선언된다:
여기서:
<cstring> 은 프린트가능 캐릭터 (character) 의 임의의 시퀀스이다.
<hstring> 은 캐릭터 "0".. "9", "A".."F" 및 "a".."f" 의 임의의 시퀀스이다.
예를들어,
STRING CompanyName = "Xstreamis plc."
DATA macAddress = ’1122AB33DA76’
히프 오브젝트를 사용하기 위해, 오퍼레이션이 그 서명의 적절한 위치에 "0" 으로 선언되어야 한다.
<inlineObject>
인-라인 콘스탄트 오브젝트는 다음의 문법을 사용하여 선언된다:
콘스탄트의 선언에 후속하여, 룰 (68) 에서 <ident> 의 임의로 사용함으로써 값 <number> 에 의해 교체되는 것을 유발한다.
콘스탄트는 히프상에 상주하지 않지만, 정수 리터럴 (literal) 과 동일한 방식으로 명령 스트림에 배치되어 있다.
<macro>
매크로는 주어진 명칭에 의해 인용될 수 있는 오퍼레이션들의 시퀀스의 내역 (specification) 이다. 주어진 명칭이 룰 (68) 에 나타날 때마다, 그것은 특정한 명령들의 시퀀스로 대체된다.
여기서:
<macro-ident> 는 매크로를 식별하는데 사용되는 <ident> 이다.
<macroBody> 는 매크로 식별자에게 할당된 오퍼레이션들의 시퀀스이다.
버츄얼 머신 컴파일러 (60) 는 <macroBody> 의 외양 (appearance) 이었던 것처럼 <macro-ident> 의 임의의 외양을 번역할 것이다.
<ruleBody>
룰 (68) 의 몸체 (body) 는 다음의 문법을 갖는다:
여기서:
<complexExpression> 는 컴플렉스 인-픽스 (in-fix), 포스트-픽스
(post-fix) 또는 프리-픽스 (pre-fix) 표현이다
(이 문법은 http://vm.html 에서 보다 상세하게
알 수 있다).
<literal> 은 16진법 또는 10진법 콘스탄트이다.
<operation>
이것은 오퍼레이션 파일 (62) 에 정의된 오퍼레이션의 호출 (invocation) 이다. 오퍼레이션의 명칭은 오퍼레이션 파일 (62) 에서 그것에 할당하는 니모닉 식별자 (mnemonic) 이고, 인수 (argument) 리스트에서의 인수의 타입 및 룰의 콘텍스트 선언에 의해 자격이 부여된다.
컴포넌트는 동일한 니모닉 식별자를 갖는, 그렇지만 상이한 인수 타입이거나 또는상이한 콘텍스트 혹은 패키지로 갖는 다중 오퍼레이션을 가질 수 있다.
여기서:
<mnemonic-ident> 는 VOP 파일에서의 오퍼레이션으로 할당된 니모닉인
<ident> 이다.
<argList> 는 <mnemonic-ident> 에 대응하는 오퍼레이션에 대한
인수를 형성하는 제로 이상의 표현의 시퀀스이다.
NOT 키워드가 오퍼레이션에 선행하면 오퍼레이션의 LOP 코드내에 니게이션-비트 (negation bit) 가 설정됨으로써 버츄얼 머신 (10) 이 오퍼레이션의 센스를 인버트하게 된다.
<literal>
리터럴 오브젝트는 명령 스트림내에 저장된 32-비트 값이다. 오퍼레이션이 호출되면, 버츄얼 머신의 명령 포인터가 첫 번째 리터럴값 (만일 있다면) 을 지정하고, 그리고 그것은 모든 기대 리터럴 오브젝트를 초과하는 명령 포인터를 진행하는 오퍼레이션을 구현하는 (즉, 그것이 다음 오퍼레이션 코드를 지정하도록 함) 함수의 책임이다.
여기서:
<number> 는 0 과 216-1 사이의 임의의 10진 또는 16진 값이다.
<heapObject-ident> 는 <heapObject> 에 할당되어 있는 <ident> 이다.
<const-ident> 는 <constant> 에 할당되어 있는 <ident> 이다.
이제 룰 프로그램 (66) 으로 돌아가서, 룰 프로그램 (66) 은, 예시적인 일 실시형태에서, 네트워크 엔디안(endian) (예를들어, 빅-엔디안) 타입 순서로 저장된 32-비트값들의 시퀀스로서 버츄얼 머신 (10) 내부로 로드된다. 일 실시형태에서, 룰 프로그램 (66) 내의 룰들은, 아래에 설명되는 바와 같이, 모든 링크와 인덱스들이 네트워크 엔터티인 채로 암호화될 수 있다.
1. 매직 넘버
룰의 워드 0 은 워드 시퀀스를 유효 룰 (68) 로서 식별하는 32-비트 넘버이다.
룰 (68) 의 구조의 개정이 상기 넘버 내에 암호화되어 있다.
2. 룰 콘텍스트
룰의 워드 1 과 2 는 룰 (69) 의 콘텍스트를 가리킨다.
워드 1 은 버츄얼 머신 콘텍스트이고,
워드 2 는 컴포넌트 콘텍스트이다.
버츄얼 머신 컴파일러는 룰 (68) 에 사용되는 모든 오퍼레이션이 이들 2개의 콘텍스트 중 하나에서만 오퍼레이션하는 것을 보장한다.
모든 콘텍스트과 오퍼레이션이 오퍼레이션 파일 (62)에서 연관된다.
룰 길이
룰 (68) 의 워드 3 은 룰 (68) 의 길이이다. 암호화된 값이 현재의 위치로부터 룰 (68) 의 길이이다, 즉 <룰의 길이> - 3.
3. 최종 GOP 인덱스
룰 (68) 의 워드 3 은 최종 GOP 인덱스이다. 이것은 룰의 개시로부터 오퍼레이션 시퀀스의 최종 GOP 까지의 오프셋이다. 버츄얼 머신은 이 값을 사용하여 히프의 개시를 위치시킨다.
4. 첫 번째 GOP 인덱스
룰의 워드 4 는 첫 번째 GOP 인덱스이다. 이것은 룰 (68) 의 개시로부터 오퍼레이션 시퀀스의 첫 번째 GOP 까지의 오프셋이다. 버츄얼 머신 (10) 은 이 값을 사용하여 인증키의 존재 및 오퍼레이션 시퀀스의 개시를 위치시킨다.
4.1 인증키
워드 5 는 첫 번째 GOP 인덱스와 오퍼레이션 시퀀스의 첫 번째 GOP 와의 사이에 제로 이상의 워드를 차지하는 선택적인 인증키를 포함한다. 인증키가 없으면, 워드 5 는 오퍼레이션 시퀀스의 첫 번째 GOP 를 포함한다.
5. 오퍼레이션 시퀀스
인증키를 추종하는 것은 오퍼레이션들의 시퀀스이다. 각 오퍼레이션은 GOP, LOP 및 제로 이상의 리터럴로 이루어진다.
5.1 글로벌 오퍼레이션 코드
GOP 는 오퍼레이션을 일반적으로 식별하는 32-비트 값이다. GOP 는 16-비트 컴포넌트 식별자와 16-비트 오퍼레이션 식별자의 연결에 의해 형성된다.
5.2 로컬 오퍼레이션 코드
LOP 는 오퍼레이션이 필요로 하는 인수의 개수를 식별하고, 그러므로 암호화된 오퍼레이션의 전체 길이를 식별한다. 버츄얼 머신은 룰 (68) 을 버츄얼 머신 내부로 로딩하는 동안 LOP 내의 값들을 소정의 런-타임 정보로 고쳐쓴다.
LOP 는 다음과 같은 구조이다:
AAAA NFFF FFFF FFFF UUOO OOOO OOOO OOOO
여기서:
A 오퍼레이션의 애러티 (arity) (즉, 명령 스트림으로부터 소모하는
리터럴 인수의 개수)
N 네가티브 센스-버츄얼 머신은 오퍼레이션의 센스를 인버트해야 한다
(즉, 패스하는 오퍼레이션에 의해 그것의 포함하는 절이 실패로
될 것이다).
F 실패 오프셋 (즉, 이 오퍼레이션이 실패해야 하는 사건으로 지속하기
전에 생략하는 오퍼레이션의 개수)
U 비사용
O 오퍼레이터 기능 인덱스. VM 은 그것이 룰을 시스템 내부로 구속할 때
이것을 고쳐쓴다.
5.3 인수
오퍼레이션 인수들은 오퍼레이션까지 통과되는 값들이다. 명령 스트림내의 인수의 개수는 '애러티" 필드에서 LOP 내에 암호화된다. 인수의 값은 32-비트 리터럴 값이거나, 또는 룰의 개시로부터 히프 오브젝트까지의 32-비트 오프셋이다.
6. 히프 오브젝트
히프는 오퍼레이션까지 인수로서 통과되는 콘스탄트 데이터를 포함한다. 각 히프 오브젝트의 첫 번째 워드는 16-비트 오브젝트 식별자 및 16-비트 오브젝트 길이를 포함하는 헤더이다. 오브젝트 식별자는, 오브젝트가 캐릭터 스트링이면 1의 값을 갖고, 오브젝트가 헥스 스트링이면 2 의 값을 갖는다. 오브젝트 길이는 바이트 단위이다.
도 11 은 본 발명의 예시적인 실시형태에 따른, 네트워크 접속 디바이스 (12) 에 대한 구성 정보를 프리-컴파일링하는 방법 (80) 을 나타내는 플로우 차트이다. 블록 (82) 에서는, 오퍼레이션 파일 (62) 와 룰 파일 (64) 가 버츄얼 머신 컴파일러 (60) 에서 접수되고 있다.
블록 (84) 에서는, 버츄얼 머신 컴파일러 (60) 가 오퍼레이션 파일 (62) rhk 룰 파일 (64) 을 dldyd함으로써 예를들어, 상술된 바와 같이 룰 프로그램 (66) 을 컴파일한다.
블록 (86) 에서는, 룰 프로그램 (66) 이, 사용자 (또는 관리자) 요청에 응답하여, 네트워크 접속 디바이스 (12) 내부로 로드된다. 예를들어, 룰 프로그램 (66) 은 사용자 또는 관리자로부터의 요구에 따라 원격지로부터 네트워크 접속 디바이스 (12) 내부로 로드될 수 있다.
블록 (88) 에서, 네트워크 접속 디바이스상에 동작하는 버츄얼 머신 (10) 은 컴포넌트의 등록된 오퍼레이션들과 룰 프로그램 (66) 의 오퍼레이션들 간의 일치성 테스트를 수행한다.
블록 (90)에서, 룰 프로그램 (66) 은 풀 프로그램 (66) 에 따라서 네트워크 접속 디바이스 (12) (보다 구페적으로는 네트워크 접속 디바이스 (12) 의 컴포넌트) 를 구성하도록 버츄얼 머신 (10) 에 의해 실행된다. 그후, 방법 (80) 은 블록 (92)에서 종료한다.
버츄얼 네트워크 인터페이스 및 아웃오브밴드 (OOB) 통신
본 발명의 다른 양태에 따르면, 호스트 결합 디바이스임에도 불구하고 네트워크 접속 디바이스 (12; 예를들어 스위치, 브리지, 또는 라우터) 네트워크 클라이언트 디바이스와 상호작용하도록 하기 위해서 네트워크 클라이언트 디바이스 (102;워크 스테이션) 상에서 실행되는 클라이언트 애플리케이션이 제공된다. 클라이언트 애플리케이션은 이하 기술하는 다수의 기능을 제공한다. 이하 기술하는 예시적인 실시형태에서, 클라이언트 애플리케이션은 버츄얼 네트워크 인터페이스 (VNIC) 클라이언트 애플리케이션 (100) 으로 편리하게 표기하였다. 그러나, 이는 단순히 예시적인 실시형태를 위한 편리한 표기에 불과하다.
도 12 는 VNIC 클라이언트 애플리케이션 (100) 이 로컬 에어리어 네트워크 (104; LAN)를 통해서 네트워크 접속 디바이스 (12) 에 결합되는 워크스테이션 (102) 각각에서 호스팅되는 예시적인 배치 시나리오의 다이어그램이다. 또한, 사용자 (106) 는 워크스테이션 (102) 각각과 관련된다.
VNIC 클라이언트 애플리케이션 (100) 은 이하 설명하는 서비스들을 제공하도록 개별 워크스테이션 (102) 상에서 각각 실행된다. 또한, VNIC 클라이언트 애플리케이션 (100) 은 상태 정보 (예를들어, QoS 파라미터, 네트워크 트래픽 파라미터, 버츄얼 머신 (10) 에 의해 행해진 폴리시 판정에 관한 폴리시 판정 정보 등) 를 해당 사용자 (106) 에게 통신하기 위해서 사용자의 데스크탑의 태스크바 (task bar) 상에 작은 아이콘을 선택적으로 각각 인스톨한다.
일 실시형태에서, 네트워크 접속 디바이스 (12) 는 폴리시 기반 네트워크 트래픽 매니지먼트를 구현하도록 상술한 바와 같이 버츄얼 머신 (10) 을 호스팅한다. 한편, VNIC 클라이언트 애플리케이션 (100) 은 버츄얼 머신 (10) 에 선택적인 기능을 제공하여, 버츄얼 머신 (10) 이 상술한 폴리시 기반 네트워크 트래픽 매니지먼트를 수행할 있게 하도록 요구되지 않는다. 일 실시형태에서, VNIC 클라이언트애플리케이션 (100) 은 버츄얼 머신 (10) 과 연동하여 향상된 폴리시 기반 네트워크 트래픽 매니지먼트 성능을 제공한다. 예를들어, VNIC 클라이언트 애플리케이션 (100) 은 호스트 결합 디바이스 (예를들어, 이더넷 카드 또는 WAN 어댑터) 와 일반적으로 관련된 이점들을 중앙 위치형 네트워크 접속 디바이스 (12) 에 제공하도록 동작한다. 이런 이점들은, 관리자 (administrator) 가 사용자 또는 작업 그룹에 기초하여 네트워크 접속 디바이스 (12) 의 행위을 변경하는 성능, 사용자와 네트워크 접속 디바이스 (12) 간의 일대일 상호작용 (예를들어, 팝업 다이얼로그 및 선택 메뉴들을 통하여) 을 갖는 성능, 특정한 인밴드 QoS 시그널링에 대한 필요성이 없이 트래픽 요건에 대하여 파악할 수 있도록 사용자 애플리케이션과 상호작용하는 성능, 네트워크 접속 디바이스 (12) 가 네트워크 인증 메카니즘에 관여하고 종속되는 성능, 및 네트워크 접속 디바이스 (12) 에 의해 구현되는 폴리시 네트워크 트래픽 매니지먼트 전략과 상호작용할 수 있도록 클라이언트 사이트 에이전트 (예를들어, 자바 애플릿) 가 배치되는 성능을 포함한다.
이런 이점들을 제공하기 위해서, 도 12 는 폴리시 기반 네트워크 트래픽 매니지먼트를 수행하기 위해서, 프로파일러에 의해 유지되며, 버츄얼 머신 (10) 의 예시적인 형태인, 네트워크 트래픽 매니지먼트 애플리케이션에 의해 이용되는 정보 프로파일 (108) 에 기여하는 각각의 VNIC 클라이언트 애플리케이션 (100) 을 나타낸다. 일 실시형태에서, VNIC 클라이언트 애플리케이션 (100) 은 버츄얼 머신 (10) 에 의해 액세스되는 정보 프로파일 (108) 에 기여하도록 개별 워크스테이션 (102) 과 버츄얼 머신 (10) 간에 아웃오브밴드 (OOB; out-of-band) 시그널링을 이용한다. 정보 프로파일 (108) 에 기여하는 정보는, 예를들어 사용자의 네트워크 액세스 권리에 관한 도는 특정 워크스테이션 (102) 와 관련된 데이터를 포함한다. 네트워크 액세스 권리는, 예를들어, 커뮤니티 멤버쉽 등의 특정 사용자 또는 워크스테이션에 대한 특정 대역폭 어텐션 (bandwidth attention) 로서 명시될 수 있다. 또한, 정보 프로파일 (108) 에 기여되는 정보는 사용자 또는 워크스테이션 (102) 의 네트워크 액세스 요건 (예를들어, 대역폭 요건) 과 관련된 정보, 워크스테이션 (102) 에서의 네트워크 트래픽 조건과 관련된 데이터, 또는 워크스테이션과 관련된 등록부 (registry) 로부터 검색된 정보 (예를들어, 작업 그룹의 멤머십을 명시하는 정보)를 포함할 수 있다.
정보 프로파일 (108) 은 버츄얼 머신 (10) 이 트래픽을 분류할 때 패킷에 포함된 것 이외의 정보를 고려하도록 한다. 구체적으로, 정보 프로파일 (108) 에 포함된 정보는 폴리시 기반 네트워크 트래픽 네트워크 전략을 보충하도록 버츄얼 머신 (10) 에 의해 이용될 수 있다. VNIC 클라이언트 애플리케이션 (100) 은 정보 프로파일 (108) 을 더 지속적으로 갱신할 수 있다. 예를들어, 사용자 (106) 가 워크스테이션 (102) 에 로그온하고 네트워크 도메인 또는 그룹에 의해 인증되는 경우, 사용자와 관련된 정보는 VNIC 클라이언트 애플리케이션 (100) 에 의해 버츄얼 머신 (10) 으로 지속적으로 포워드될 수 있다. 버츄얼 머신 (10) 은 사용자 (106) 의 현재 트래픽 로드에 의해 요구되는 리소스 또는 이런 리소스들이 현재 이용가능한지 여부를 명시하는 정보로 응답한다. 이런 교환은 사용자 세션의 범위를 정하는 "킵 얼라이브 트랜잭션 (keep-alive transaction) " 의 콘텍스트내에 발생할 수 있다. 또한, "킵 얼라이브 트랜잭션" 은 이산적인 이벤트를 네트워크 접속 디바이스 (12) 에 제공하며, 이는 디바이스가 리소스를 그 처분에 따라서 보다 정확하게 관리할 수 있게 한다.
상술한 바와 같이, 패킷 (29) 이 버츄얼 머신 (10) 에서 수신되는 경우, 패킷 구조의 다양한 부분을 검사하고, 네트워크 운영 폴리시 (network administration policy) 를 반영한 룰 세트에 따라서 그것을 폴로우로 할당하여 분류될 수 있다.
본 발명의 일 양태에 따르면, 패킷 (29) 자체에 존재할 수 있는 정보를 이용하는 것 이외에, 분류 룰 (18) 은 물리적인 정보 (예를들어, 수신 포트) 와 콘텍스트 정보 (예를들어, 날짜, 소정 이벤트의 발생, 특정 패킷의 이전 수신, 트래픽 밀도를 명시하는 패킷들간의 시간량) 도 고려할 수 있다. 이런 목적으로, 도 13 은 패킷 (29) 으로부터 수신한 서명 (31) 과 날짜 정보 (112) 양쪽을 이용하는 분류 룰 (18) 을 다이어그램으로 나타낸다. 본 발명의 다른 양태에 따르면, 분류 룰 (18) 은 네트워크 트래픽 폴리시를 구현하기 위해서 네트워크 접속 디바이스 (12) (포트 어느 특정 네트워크 트래픽이 수신되었는가에 대한 체크의 우수한 콘텍스트를 얻으려는 경우의 디바이스 (12) 의 포트) 의 물리적인 특성과 관련된 정보를 이용한다.
패킷 (29) 으로부터 추출한 상세 정보를 이용하고, 분류 룰 (18) 을 적용하여, 버츄얼 머신 (10) 은 플로우 클래스를 높은 분해도로 분류할 수 있다. 그러나, 네트워크 접속 디바이스 (12) 를 통과하는 데이터를 단순히 관찰하여 추론할수 있는 정보의 양은 제한된다. VNIC 클라이언트 애플리케이션 (100) 은 추가적인 정보가 분류 룰 (18) 을 이용하는 버츄얼 머신에 의해 구현되는 분류 프로세스에 이용가능하게 되도록 동작한다.
도 14 는 VNIC 패킷 (114) 들을 VNIC 클라이언트 애플리케이션 (100) 으로부터 정보 프로파일 (108) 로 통신하는 것을 개략적으로 나타낸다. 정보 프로파일 (108) 은 차례로 버츄얼 머신 (10) 에 의해 이용된 분류 룰 (18) 에 대한 입력을 구성하여 폴리시기반 네트워크 트래픽 관리방식을 구현한다.
일 실시형태에서, 액티브 사용자의 계정과 네트워크 접속 디바이스 (12) 사이의 킵-얼라이브 트랜잭션은, 예를 들어 사용자에 의해 사용되는 워크스테이션 (102) 의 MAC 어드레스와 정보 프로파일 (108) 사이의 관계를 설정한다. 다음으로, 도 14 에 나타낸 분류 룰 (18)(및 다른 폴리시 룰) 은, 폴리시 결정들을 행하는 경우에, 정보 프로파일 (108) 내에 포함된 부가적인 기준들에 액세스한다.
일 실시형태에서, 정보 프로파일 (108) 들은 네트워크 접속 디바이스 (12) 에 포함되지 않으며, 그 이유는 정보 프로파일들이 관리 부담을 발생시키고, 네트워크 접속 디바이스 (12) 의 비용을 증가시키고, 그리고 네트워크 접속 디바이스 (12) 를 I/O 대역폭보다는 오히려 사용자 커뮤니티의 크기로 스케일링해야하기 때문이다. 일 실시형태에서, VNIC 프로토콜은, 킵-얼라이브 트랜잭션 동안에, 분류 룰 (18) 들에 의해 이용되는 네크워크 접속 디바이스 (12) 로 정보 프로파일 (108) 을 통신한다.
일 실시형태에서, 정보 프로파일 (108) 은 워크스테이션 (102)(또는 PC)의등록부 (registry) 로부터 유도될 수 있고, 워크스테이션 정보, 애플리케이션 정보, 및 사용자 긍정응답 등을 포함할 수 있다.
이하, VNIC 클라이언트 애플리케이션 (100), 및 정보 프로파일 (108) 들을 네트워크 접속 디바이스 (12) 로 통신하는 VNIC 프로토콜의 예시적인 사용 시나리오를 설명한다. 예시적인 사용 시나리오에 있어서, 네트워크 관리자는 WAN (Wide Area Network) 의 대역폭을 3 개의 커뮤니티들 즉, 골드, 실버, 및 브론즈 커뮤니티들로 분할하기를 원한다. 골드 및 실버 커뮤니티는 명백한 멤버쉽을 가지는 반면에 브론즈 커뮤니티는 모든 사용자들이 속하는 디폴트 커뮤니티이다. 하나의 예시적인 실시형태에서, 이러한 분할 배치는, 3 가지 단계 즉, (1) 광역 접속을 제공하는 단계, (2) 패킷 분류를 제공하는 단계, 및 (3) VNIC 클라이언트 애플리케이션 및 프로파일을 배치하는 단계를 포함한다.
예시적인 실시형태에서는, 광역 접속을 제공하는 제 1 단계를 다루면서, 3 개의 개별 회로들을 각 커뮤니티의 WAN 을 통하여 설정한다. 이하, 표 3 은 이러한 회로들의 세부사항들을 제공한다.
개별 회로들은 영구적인 버츄얼 회로들을 이용하는 정적 채널들, 또는 시그널링 (예들 들어, 라벨 분포 또는 콜 셋-업) 의 일부 결합을 이용하는 동적 채널들일 수 있다.
다음으로, 패킷 분류를 제공하는 제 2 단계로 진행하면, 분류 룰 (18) 은 버츄얼 머신 (10) 에 의해 이용되는 네크워크 접속 디바이스 (12) 로 도입되며, 전송자의 커뮤니티 멤버쉽에 따라 패킷들의 분류를 지정한다. 이하, 예시적인 룰 정의를 제공한다.
RULE BwPartition // 룰의 명칭
PROCESS DATA_PLANE(LABEL) // 룰은 데이터 면의 라벨 훅에 관
한 것이다
USES Packet_Revision_1 // 룰은 패킷 개정 1 을 가정하여 기록됨
INTEGER GOLD = 1 // 골드 커뮤니티
INTEGER SILVER = 2 // 실버 커뮤니티
INTEGER BRONZE = 3 // 브론즈 커뮤니티
INTEGER GOLD_VCC = 30 // 골드 채널
INTEGER SILVER_VCC = 20 // 실버 채널
INTEGER BRONZE_VCC = 10 // 브론즈 채널
BEGIN
COMPONENT SIGS // sig 스위치의 op-코드 세트를 이용
IF
UserProfileIsKnown // 이 패킷에 대하여 활성화된 V-NIC 섹션
인가 ?
THEN
IF
UserCommunityIS(GOLD) // 사용자가 골드 커뮤니티에 있는 경우
THEN SetTxLabelI(GOLD_VCC) // 골드 VCC를 이용하고, 그렇지
ELSE 않으면
IF
UserCommunity(SLIVER) // 만일 사용자가 실버 커뮤니티에
있는 경우
THEN SetTxLabelI(SILVER_VCC) // 실버 VCC를 이용하고, 그렇
ELSE 지 않으면
IF
UserCommunityIs(BRONZE) // 만일 사용자가 브론즈 커뮤
니티에 있는 경우
THEN SetTxLabelI(BRONZE_VCC) //브론즈 VCC를 이용하고,
그렇지 않으면
ELSE DISCARD //그것이 무효 프로파일!
ELSE
SetTxLabelI(BRONZE_VCC) // V-NIC 가 동작하지 않으면
END // 브론즈 커뮤니티를 디폴트시킴
상기 분류 룰 (18) 로부터 알수 있는 바와 같이, 룰 (18) 은 프로세스 DATA_PLANE 의 부분으로 선언되며, 훅 포인트 LABEL 로 타겟화된다. 이것은 이그레스 플로우들에 사용될 정확한 전송 라벨을 결정해야 하는 데이터 면의 부분이다. 룰 (18) 은, 개별 커뮤니티를 각각 나타내는 3 개의 정수를 규정하며, 이 3 개의 정수 각각은 VCC 에 대응한다. 패킷 (29) 이 도착하고, LAVEL 룰이 실행되는 경우에, 룰 (18) 은 먼저 술어 "USERPROFILEISKNOWN"을 호출한다. 이러한 동작은 관련 플로우 호출을 위한 현재의 VNIC 세션이 있으면 성공하게 되고, 그렇지 않으면 실패하게 된다. 만일 VNIC 세션이 활성화되지 않은 경우에, 패킷 (29) 은 "브론즈" VCC 의 디폴트로 라벨화된다. 그러나, 만일 VNIC 세션이 활성화된 경우에, 분류 룰 (18) 은 관련 정보 프로파일 (108) 의 커뮤니티 속성을 조직적으로 체크하여 그 프로파일이 속하는 커뮤니티를 결정한다. 관련 속성이 위치하는 경우에, 전송 라벨은 대응하는 VCC 로 설정된다. 커뮤니티 식별자가 유효하지 않은 경우에, 관련 패킷 (29) 은, 이것이 잘못 구성된 정보 프로파일 (108) 을 포함함으로, 간단히 폐기된다.
예시적인 사용자 시나리오의 제 3 단계는 VNIC 클라이언트 애플리케이션 (100) 의 배치이다. 특히, 실버 또는 골드 라벨로 분할된 네트워크에 참가한 각 워크스테이션 (102) 에 대하여, 관리자는 VNIC 클라이언트 애플리케이션 (100)(예를 들어, 필요한 설정 업로드들을 포함하는 CD 또는 웹사이트로부터) 을 인스톨해야한다. 또한, 관리자는 각 네트워크 사용자 (또는 로그온 계정) 에게, 골드, 실버, 또는 브론즈의 커뮤니티 멤버쉽 값을 가진 VNIC 속성 "커뮤니티"를 할당한다. 그 속성 값은 분류 룰 (18)에서 선언된 골드, 실버 또는 브론즈의 정의에 대응한다.
등록부 (113) 는 각 워크스테이션 (102) 에서 복사될 수 있거나, 다른 실시형태에서는, 도 15 에 나타낸 도메인 서버로부터 관리될 수 있다.
도 16 은 대역폭 분할 분류 룰 (18) 의 예시적인 형태로, 분류 룰 (18) 에 의해 이용된 정보 프로파일 (108) 들을 설정 및 부여하기 위하여, VNIC 세션 동안에 VNIC 프로토콜을 이용한, VNIC 패킷 (114) 들의 통신을 개략적으로 나타낸다. 도 16 에 나타낸 바와 같이, 소수의 접속 디바이스는, 참가하는 워크스테이션 (102) 들에 포함된 VNIC 클라언트 애플리케이션 (100) 들로부터 VNIC 패킷 (114) 의 형태로 데이터를 수신한다. VNIC 패킷 (114) 들은 플로우 분류 동안에 사용가능한 부가적인 정보를 포함한다. 특히, 만일 관리자가 사용자 A 에게 실버 커뮤니티를 할당하고, 사용자 A 가 00:50:c2:04:60:18 의 MAC 어드레스를 가진 이더넷 카드를 이용하여 워크스테이션 (102) 에 로그 온하는 경우에, 관련 워크스테이션 (102) 을 실행하는 VNIC 클라이언트 애플리케이션 (100) 과 네트워크 접속디바이스 (12) 사이의 킵-얼라이브 트랜잭션은 관련 MAC 어드레스와 실버 커뮤니티 사이의 네트워크 접속 디바이스 (12) 에 의해 은닉된 정보 프로파일 (108) 과 연관시킨다. 네트워크 접속 디바이스 (12) 가 관련 워크스테이션 (102) 으로부터 패킷 (12) 들을 수신하는 경우에, DATA_PLANE (LABEL) 이 야기되며, 도 16 에 나타낸 예시적인 대역폭 분할 분류 룰 (18) 은 이그레스 플로우를 VCC (20) 로 전환시킨다.
컴퓨터 시스템
도 17 은 상술된 방법들 중 임의의 하나를 수행하기 위하여, 일련의 기계판독가능한 명령들의 형태로 소프트웨어를 실행할 수 있는 컴퓨터 시스템 (200) 의 예시적인 형태로 머신을 개략적으로 나타낸다. 다른 실시형태에서, 머신은 PDA (personal digital assistant), 이동 전화기, 네트워크 트래픽 디바이스 (예를 들어, 라우터, 브리지, 스위치) 또는 핸드헬드 컴퓨팅 디바이스를 포함하여, 일련의 명령들을 실행할 수 있는 임의의 머신을 구비할 수 있으나, 이것으로 제한되지는 않는다. 컴퓨터 시스템 (200) 은 버스 (208) 를 통하여 통신하는 프로세서 (202), 메인 메모리 (204), 및 스태틱 메모리 (206) 를 구비한다. 또한, 컴퓨터 시스템 (200) 을, 비디오 디스플레이 유닛 (210)(예를 들어, LCD (liquid crystal display)) 또는 CRT (cathode ray tube), 영숫자 입력 디바이스 (212)(예들 들어, 키보드), 커버 제어 장치 (예를 들어, 마우스), 디스크 드라이브 유닛 (216), 신호 발생 장치 (220)(예를 들어, 스피커), 및 네트워크 인터페이스 장치 (222) 를 구비하도록 나타낼 수도 있다. 디스크 구동 유닛 (216) 은 상술된 방법들 중 임의의 하나를 구현하는 소프트웨어 (226) 가 저장되는 기계판독가능한 매체 (224) 를 수용한다. 또한, 메인 메모리 및/또는 프로세서 (202) 내부에, 완전하게 또는 적어도 부분적으로 존재하도록 소프트웨어 (226) 를 나타낸다. 또한, 소프트웨어 (226) 는 네크워트 인터페이스 장치 (220) 에 의해 송신되거나 수신될 수 있다. 본 명세서의 목적을 위하여, "기계판독가능한" 이라는 용어는, 컴퓨터 시스템 (200) 과 같은 머신에 의해 실행하기 위한 일련의 명령들을 저장 또는 인코딩할 수 있고, 머신으로 하여금 상술된 방법들을 실행하게 하는 임의의 매체를 포함할 수 있다. "기계판독가능한"이라는 용어는 솔리드 상태의 메모리, 광 디스크와 자기 디스크, 및 반송파 신호들을 포함할 수 있으나, 이것으로 한정되지는 않는다.
만일 소프트웨어 (226) 가 인가된 표준에 따른 프로그래밍 언어로 기록된 경우에, 그 소프트웨어 (226) 는 다양한 하드웨어 플랫폼들 및 다양한 오퍼레이팅 시스템들의 인터페이스로 실행될 수 있다. 또한, 본 발명은 어떤 특정 프로그래밍 언어를 참조하여 기술되지는 않는다. 여기에 기술된 바와 같이, 본 발명의 교시들을 구현하는데 다양한 프로그래밍 언어들을 사용할 수 있음을 알 수 있다. 또한, 액션을 취하거나 또는 결과를 발생시키는 바와 같이, 하나의 형태 또는 또 다른 형태로 (예를 들어, 프로그램, 절차, 프로세스, 애플리케이션, 모듈, 로직, 등) 의 소프트웨어의 언급은 당해 분야에 공지되어 있다. 단지 이러한 표현들은 컴퓨터 시스템 (200) 과 같은 머신, 액션을 수행하거나 결과를 생성하는 머신에 의해 소프트웨어를 실행한다고 약칭하는 방식이다.
이와 같이, 데이터 통신장치에 대한 구성 정보를 프리-컴파일하는 방법 및 시스템을 설명하였다. 본 발명을 특정한 실시형태들을 참조하여 설명하였지만, 이는 본 발명의 보다 넓은 사상 및 범위를 벗어남 없이, 이러한 실시형태들을 다양하게 변경 및 변화시킬 수 있음을 알 수 있다. 따라서, 명세서 및 도면은 제한적인 의미라기 보다는 오히려 예시적인 의미로 간주할 수 있다.

Claims (52)

  1. 폴리시 기반 네트워크 트래픽 관리를 구현하는 방법으로서,
    네트워크 트래픽 관리자에서 네트워크 장치와 연관된 제 1 데이터를 상기 네트워크 트래픽의 대역 외에서 수신하는 단계;
    네트워크 트래픽으로부터 제 2 데이터를 추출하는 단계; 및
    상기 제 1 및 2 데이터를 사용하여 상기 네트워크 트래픽 관리자에서 네트워크 트래픽 관리자 폴리시를 구현하는 단계를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  2. 제 1 항에 있어서,
    상기 제 1 데이터는, 상기 네트워크 트래픽과 연관된 킵-얼라이브 기간 동안에 상기 네트워크 트래픽 관리자와 대역외에서 통신됨으로써 상기 네트워크 트래픽과 연관되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  3. 제 1 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치의 사용자의 네트워크 접근권에 관한 데이터를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  4. 제 3 항에 있어서,
    상기 네트워크 접근권은 대역폭 할당으로서 특정되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  5. 제 4 항에 있어서,
    상기 대역폭 할당은 통신 멤버쉽을 통하여 표현되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  6. 제 1 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치의 네트워크 액세스 요건에 관한 데이터를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  7. 제 6 항에 있어서,
    상기 네트워크 액세스 요건은 상기 네트워크 장치 상에서 실행되는 애플리케이션을 갖는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  8. 제 1 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치 상에서 실행되는 클라이언트 애플리케이션으로부터 수신되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  9. 제 8 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치에 관한 정보 프로파일을 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  10. 제 8 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치에서의 네트워크 장치 조건을 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  11. 제 1 항에 있어서,
    상기 제 1 데이터는 다중 네트워크와 관련된 데이터가 저장되어 있는 레지스트리로부터 수신되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  12. 제 1 항에 있어서,
    상기 제 1 데이터는 킵-얼라이브 프로파일의 일부로서 상기 네트워크 장치로부터 주기 베이스로 통신되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  13. 제 1 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치가 속하는 워크 그룹을 식별하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  14. 제 1 항에 있어서,
    상기 네트워크 트래픽으로부터 추출된 상기 제 2 데이터는 상기 네트워크 트래픽 관리자에 의하여 접근된 분류 규칙에 의하여 식별되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  15. 제 14 항에 있어서,
    상기 제 2 데이터는 패킷, 셀, 및 프레임을 포함하는 네트워크 트래픽 종류 그룹 중 임의의 하나로부터 추출되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  16. 제 14 항에 있어서,
    상기 분류 규칙은 네트워크 책임자로부터 상기 네트워크 트래픽 관리자에서 수신되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  17. 제 1 항에 있어서,
    네트워크 트래픽이 수신되는 네트워크 연결 장치의 물리적인 특징에 관한 제 3 데이터를 수신하는 단계; 및
    상기 제 3 데이터를 사용하여 상기 네트워크 트래픽 관리 폴리시를 구현하는 단계를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  18. 제 17 항에 있어서,
    상기 물리적인 특징은 상기 네트워크 트래픽이 수신되는 상기 네트워크 연결 장치의 포트를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  19. 제 1 항에 있어서,
    네트워크 연결 장치에서 상기 네트워크 관리 트래픽의 수신 컨텍스트에 관한 제 4 데이터를 수신하는 단계; 및
    상기 제 4 데이터를 사용하여 상기 네트워크 관리 폴리시를 구현하는 단계를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  20. 제 19 항에 있어서,
    상기 컨텍스트는 상기 네트워크 트래픽이 상기 네트워크 연결 장치에서 수신되는 시간을 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  21. 제 1 항에 있어서,
    상기 네트워크 트래픽 관리 폴리시의 구현은, 상기 네트워크 트래픽의 라우팅, 스위칭, 또는 브릿징 중 임의의 하나를 포함하는 것을 특징으로 하는 폴리시기반 네트워크 관리의 구현 방법.
  22. 제 1 항에 있어서,
    상기 네트워크 트래픽의 구현은, 상기 네트워크 관리 폴리시와 연관된 하나 이상의 분류 규칙에 따라서 상기 네트워크 트래픽을 분류하는 단계를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  23. 제 1 항에 있어서,
    상기 네트워크 트래픽 관리 폴리시를 구현하는 단계는, 하나 이상의 별도의 플로우로 상기 네트워크 트래픽을 포워딩하는 단계를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  24. 제 23 항에 있어서,
    상기 별도의 플로우는 QoS 레벨을 변화시키는 속성을 갖고, 각 별도의 플로우의 속성인 상기 QoS 레벨은 각 개별적인 불연속의 플로우를 포함하는 네트워크 트래픽의 분류에 따라 결정되는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  25. 제 1 항에 있어서,
    상기 네트워크 트래픽 관리자로부터의 메시지를 네트워크 트래픽이 수신되는상기 네트워크 장치 상에 실행되는 애플리케이션으로 통신하는 단계를 포함하고,
    상기 메시지는 상기 네트워크 트래픽 관리자 장치에 의하여 수신되는 네트워크 트래픽에 관한 폴리시 결정에 관한 정보를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 관리의 구현 방법.
  26. 네트워크 트래픽 관리자에 의한 접근을 위하여 네트워크와 관련된 제 1 데이터를 수신하고 저장하는 프로파일; 및
    상기 네트워크 트래픽으로부터 제 2 데이터를 추출하고, 상기 제 1 및 2 데이터를 사용하여 네트워크 트래픽 관리 폴리시를 구현하는 상기 네트워크 트래픽 관리자를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  27. 제 26 항에 있어서,
    상기 제 1 데이터는, 상기 네트워크 트래픽과 연관된 킵-얼라이브 기간 동안에 상기 네트워크 트래픽 관리자와 대역외에서 통신됨으로써 상기 네트워크 트래픽과 연관되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  28. 제 26 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치의 사용자의 네트워크 접근권에 관한데이터를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  29. 제 28 항에 있어서,
    상기 네트워크 접근권은 대역폭 할당으로서 특정되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  30. 제 29 항에 있어서,
    상기 대역폭 할당은 통신 멤버쉽을 통하여 표현되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  31. 제 26 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치의 네트워크 액세스 요건에 관한 데이터를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  32. 제 31 항에 있어서,
    상기 네트워크 액세스 요건은 상기 네트워크 장치 상에서 실행되는 애플리케이션을 갖는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  33. 제 26 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치 상에서 실행되는 클라이언트 애플리케이션으로부터 수신되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  34. 제 33 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치에 관한 정보 프로파일을 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  35. 제 33 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치에서의 네트워크 장치 조건을 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  36. 제 26 항에 있어서,
    상기 제 1 데이터는 다중 네트워크와 관련된 데이터가 저장되어 있는 레지스트리로부터 수신되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  37. 제 26 항에 있어서,
    상기 제 1 데이터는 킵-얼라이브 프로파일의 일부로 상기 네트워크 장치로부터 주기 베이스로 통신되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  38. 제 26 항에 있어서,
    상기 제 1 데이터는 상기 네트워크 장치가 속하는 워크 그룹을 식별하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  39. 제 26 항에 있어서,
    상기 네트워크 트래픽으로부터 추출된 상기 제 2 데이터는 상기 네트워크 트래픽 관리자에 의하여 접근된 분류 규칙에 의하여 식별되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  40. 제 39 항에 있어서,
    상기 제 2 데이터는 패킷, 셀, 및 프레임을 포함하는 네트워크 트래픽 종류 그룹 중 임의의 하나로부터 추출되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  41. 제 39 항에 있어서,
    상기 분류 규칙은 네트워크 책임자로부터 상기 네트워크 트래픽 관리자에서수신되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  42. 제 26 항에 있어서,
    상기 네트워크 트래픽 관리자는, 상기 네트워크 트래픽이 수신되는 네트워크 연결 장치의 물리적 특성과 관련된 제 3 데이터를 수신하고, 상기 제 3 데이터를 사용하여 상기 네트워크 트래픽 관리 폴리시를 구현하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  43. 제 42 항에 있어서,
    상기 물리적인 특징은 상기 네트워크 트래픽이 수신되는 상기 네트워크 연결 장치의 포트를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  44. 제 26 항에 있어서,
    상기 네트워크 트래픽 관리자는 네트워크 연결 장치에서의 상기 네트워크 관리 트래픽의 수신 내용과 관련된 제 4 데이터를 수신하고, 상기 제 4 데이터를 사용하여 상기 네트워크 관리 폴리시를 구현하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  45. 제 44 항에 있어서,
    상기 내용은 상기 네트워크 트래픽이 상기 네트워크 연결 장치에서 수신되는 시간을 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  46. 제 26 항에 있어서,
    상기 네트워크 트래픽 관리 폴리시의 구현은 상기 네트워크 트래픽의 라우팅, 스위칭, 또는 브릿징 중 어느 하나를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  47. 제 26 항에 있어서,
    상기 네트워크 트래픽 관리자는 상기 네트워크 관리 폴리시와 연관된 하나 이상의 분류 규칙에 따라 상기 네트워크 트래픽을 분류하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  48. 제 26 항에 있어서,
    상기 네트워크 트래픽 관리자는 하나 이상의 별도의 플로우로서 상기 네트워크 트래픽을 포워딩하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  49. 제 48 항에 있어서,
    상기 네트워크 트래픽 관리자는 상기 별도의 플로우에 대한 QoS를 변경시키는 속성이고, 상기 네트워크 트래픽 관리자에 의한 각 별도의 플로우에 기인한 상기 QoS 레벨은 각각의 이상 플로우를 각각 포함하는 네트워크 트래픽의 분류에 따라 결정되는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  50. 제 26 항에 있어서,
    상기 네트워크 트래픽 관리자는 상기 네트워크 트래픽이 수신되는 네트워크 장치 상에 실행되는 애플리케이션으로 메시지를 통신하고,
    상기 메시지는 상기 네트워크 트래픽 관리자 장치에 의하여 수신되는 네트워크 트래픽에 관한 폴리시 결정에 관해 이루어지는 정보를 포함하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  51. 네트워크 장치와 연관된 제 1 데이터를 수신하고 저장하는 제 1 수단; 및
    상기 네트워크 트래픽으로부터 제 2 데이터를 추출하고, 상기 제 1 및 2 데이터를 사용하여 네트워크 트래픽 관리 폴리시를 구현하는 제 2 수단을 구비하는 것을 특징으로 하는 폴리시 기반 네트워크 트래픽 관리를 구현하는 시스템.
  52. 장치에 의하여 실행되는 경우에, 상기 장치가 폴리시 기반 네트워크 관리의구현 방법을 수행하도록 하는 장치 판독 가능 기록매체에 있어서,
    상기 방법은,
    네트워크 트래픽 관리자에서 네트워크 장치와 관련된 제 1 데이터를 수신하는 단계;
    상기 네트워크 트래픽으로부터 제 2 데이터를 추출하는 단계; 및
    상기 제 1 및 2 데이터를 사용하여 상기 네트워크 트래픽 관리자에서 네트워크 트래픽 관리 폴리시를 구현하는 단계를 포함하고,
    상기 제 1 데이터는 상기 네트워크 트래픽의 대역외에서 수신되는 것을 특징으로 하는 명령어 시퀀스를 저장하는 기계 판독 가능한 기록 매체.
KR10-2003-7003189A 2000-09-01 2001-08-31 폴리시 기반 네트워크 트래픽 관리를 구현하기 위한 방법및 시스템 KR20030061794A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23053200P 2000-09-01 2000-09-01
US60/230,532 2000-09-01
PCT/US2001/027250 WO2002019062A2 (en) 2000-09-01 2001-08-31 A method and system to implement policy-based network traffic management

Publications (1)

Publication Number Publication Date
KR20030061794A true KR20030061794A (ko) 2003-07-22

Family

ID=22865573

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2003-7003189A KR20030061794A (ko) 2000-09-01 2001-08-31 폴리시 기반 네트워크 트래픽 관리를 구현하기 위한 방법및 시스템
KR10-2003-7003188A KR20030062406A (ko) 2000-09-01 2001-08-31 데이타 통신 디바이스에서 구성정보를 프리컴파일하는방법 및 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR10-2003-7003188A KR20030062406A (ko) 2000-09-01 2001-08-31 데이타 통신 디바이스에서 구성정보를 프리컴파일하는방법 및 시스템

Country Status (6)

Country Link
US (2) US20020118644A1 (ko)
EP (2) EP1407576A4 (ko)
KR (2) KR20030061794A (ko)
CN (2) CN1592898A (ko)
AU (2) AU2001288631A1 (ko)
WO (2) WO2002019062A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100674086B1 (ko) * 2004-12-16 2007-01-24 한국전자통신연구원 이더넷 망에서의 토폴로지 발견 방법
WO2015073546A1 (en) * 2013-11-15 2015-05-21 F5 Networks, Inc. Extending policy rulesets with scripting

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1133132B1 (en) * 2000-03-10 2007-07-25 Alcatel Lucent Method to perfom end-to-end authentication, and related customer premises network termination and access network server
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7242665B2 (en) * 2001-01-25 2007-07-10 Ericsson Ab Network device virtual interface
US7415512B1 (en) * 2001-05-24 2008-08-19 Cisco Technology, Inc. Method and apparatus for providing a general purpose computing platform at a router on a network
US7620955B1 (en) * 2001-06-08 2009-11-17 Vmware, Inc. High-performance virtual machine networking
US7181547B1 (en) 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
US8782254B2 (en) * 2001-06-28 2014-07-15 Oracle America, Inc. Differentiated quality of service context assignment and propagation
US7095715B2 (en) * 2001-07-02 2006-08-22 3Com Corporation System and method for processing network packet flows
US20030014532A1 (en) * 2001-07-16 2003-01-16 Shean-Guang Chang Method and apparatus for multicast support
US7023856B1 (en) * 2001-12-11 2006-04-04 Riverstone Networks, Inc. Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router
US7289525B2 (en) * 2002-02-21 2007-10-30 Intel Corporation Inverse multiplexing of managed traffic flows over a multi-star network
US7376125B1 (en) 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
KR20050067413A (ko) * 2002-10-09 2005-07-01 퍼스네타 엘티디. 서비스 통합 시스템을 위한 방법 및 장치
US7769873B1 (en) 2002-10-25 2010-08-03 Juniper Networks, Inc. Dynamically inserting filters into forwarding paths of a network device
US7266120B2 (en) 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
CN100352216C (zh) * 2002-11-26 2007-11-28 西门子公司 用于自动配置布置在面向分组的通信网中的通信单元之间的通信关系的方法
US7366174B2 (en) * 2002-12-17 2008-04-29 Lucent Technologies Inc. Adaptive classification of network traffic
US7570648B2 (en) * 2003-02-03 2009-08-04 At&T Intellectual Property I, L.P. Enhanced H-VPLS service architecture using control word
US20040181792A1 (en) * 2003-03-12 2004-09-16 Barajas Gaston M. Method to control, manage and monitor batched command files
US7643424B2 (en) * 2003-03-22 2010-01-05 At&T Intellectual Property L, L.P. Ethernet architecture with data packet encapsulation
US7953885B1 (en) * 2003-04-18 2011-05-31 Cisco Technology, Inc. Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause
US8078758B1 (en) 2003-06-05 2011-12-13 Juniper Networks, Inc. Automatic configuration of source address filters within a network device
US8356085B2 (en) * 2003-06-20 2013-01-15 Alcatel Lucent Automated transformation of specifications for devices into executable modules
US20040267922A1 (en) * 2003-06-30 2004-12-30 Rover Jeremy L. System and method for the design and description of networks
US7720095B2 (en) 2003-08-27 2010-05-18 Fortinet, Inc. Heterogeneous media packet bridging
US7752635B2 (en) * 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card
US20050229246A1 (en) * 2004-03-31 2005-10-13 Priya Rajagopal Programmable context aware firewall with integrated intrusion detection system
US8239452B2 (en) * 2004-05-01 2012-08-07 Microsoft Corporation System and method for discovering and publishing of presence information on a network
GB0410151D0 (en) * 2004-05-07 2004-06-09 Zeus Technology Ltd Load balancing & traffic management
CN100344106C (zh) * 2004-05-26 2007-10-17 华为技术有限公司 在光传送网络管理系统中实现白盒虚拟网元的方法及系统
IL163092A (en) * 2004-07-19 2010-11-30 Veraz Networks Ltd Processing of packets forwarded in communication networks
US7519010B1 (en) * 2004-08-30 2009-04-14 Juniper Networks, Inc. Inter-autonomous system (AS) multicast virtual private networks
WO2006101549A2 (en) 2004-12-03 2006-09-28 Whitecell Software, Inc. Secure system for allowing the execution of authorized computer program code
FI117685B (fi) * 2004-12-09 2007-01-15 Tellabs Oy Yhdistetty asiakasvuo- ja laatuluokkaperusteinen vuorotusmenetelmä ja -laitteisto siirtoyhteyskapasiteetin vuorottamiseksi pakettikytkentäisten tietoliikennevoiden kesken
US7602702B1 (en) 2005-02-10 2009-10-13 Juniper Networks, Inc Fast reroute of traffic associated with a point to multi-point network tunnel
JP4545619B2 (ja) * 2005-03-15 2010-09-15 富士通株式会社 ネットワークシステム、レイヤ3通信装置、レイヤ2通信装置および経路選択方法
US20060233174A1 (en) * 2005-03-28 2006-10-19 Rothman Michael A Method and apparatus for distributing switch/router capability across heterogeneous compute groups
US7542467B2 (en) * 2005-03-28 2009-06-02 Intel Corporation Out-of-band platform switch
US7992144B1 (en) * 2005-04-04 2011-08-02 Oracle America, Inc. Method and apparatus for separating and isolating control of processing entities in a network interface
US7990965B1 (en) 2005-07-28 2011-08-02 Juniper Networks, Inc. Transmission of layer two (L2) multicast traffic over multi-protocol label switching networks
US9166807B2 (en) * 2005-07-28 2015-10-20 Juniper Networks, Inc. Transmission of layer two (L2) multicast traffic over multi-protocol label switching networks
US7889735B2 (en) * 2005-08-05 2011-02-15 Alcatel-Lucent Usa Inc. Method and apparatus for defending against denial of service attacks in IP networks based on specified source/destination IP address pairs
US20070033650A1 (en) * 2005-08-05 2007-02-08 Grosse Eric H Method and apparatus for defending against denial of service attacks in IP networks by target victim self-identification and control
US7564803B1 (en) 2005-08-29 2009-07-21 Juniper Networks, Inc. Point to multi-point label switched paths with label distribution protocol
US8166474B1 (en) * 2005-09-19 2012-04-24 Vmware, Inc. System and methods for implementing network traffic management for virtual and physical machines
US8601159B2 (en) * 2005-09-27 2013-12-03 Microsoft Corporation Distributing and arbitrating media access control addresses on ethernet network
US8660137B2 (en) * 2005-09-29 2014-02-25 Broadcom Israel Research, Ltd. Method and system for quality of service and congestion management for converged network interface devices
US20070127489A1 (en) * 2005-11-18 2007-06-07 Amaya Nestor A Apparatus and method for the optimal utilization and delivery of multiple applications over a digital subscriber loop
US8364874B1 (en) * 2006-01-17 2013-01-29 Hewlett-Packard Development Company, L. P. Prioritized polling for virtual network interfaces
US8270395B2 (en) * 2006-01-30 2012-09-18 Juniper Networks, Inc. Forming multicast distribution structures using exchanged multicast optimization data
US7839850B2 (en) * 2006-01-30 2010-11-23 Juniper Networks, Inc. Forming equal cost multipath multicast distribution structures
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
CN101018190A (zh) * 2006-02-09 2007-08-15 华为技术有限公司 一种控制接入网上行流量的方法和系统
JP2007243300A (ja) * 2006-03-06 2007-09-20 Fujitsu Ltd 帯域制御プログラム、帯域制御装置、帯域制御方法
US7895573B1 (en) 2006-03-27 2011-02-22 Mcafee, Inc. Execution environment file inventory
US8009566B2 (en) 2006-06-26 2011-08-30 Palo Alto Networks, Inc. Packet classification in a network security device
US7634608B2 (en) * 2006-06-30 2009-12-15 Sun Microsystems, Inc. Bridging network components
US7787380B1 (en) 2006-06-30 2010-08-31 Juniper Networks, Inc. Resource reservation protocol with traffic engineering point to multi-point label switched path hierarchy
US7742482B1 (en) 2006-06-30 2010-06-22 Juniper Networks, Inc. Upstream label assignment for the resource reservation protocol with traffic engineering
US7792140B2 (en) * 2006-06-30 2010-09-07 Oracle America Inc. Reflecting the bandwidth assigned to a virtual network interface card through its link speed
US7839862B1 (en) 2006-06-30 2010-11-23 Juniper Networks, Inc. Upstream label assignment for the label distribution protocol
FR2906666A1 (fr) * 2006-10-03 2008-04-04 Canon Kk Procede de reservation de ressource dans un reseau local comprenant une pluralite de sous-reseaux, produit programme d'ordinateur, moyen de stockage et dispositif correspondants.
WO2008046101A2 (en) * 2006-10-13 2008-04-17 Ariel Silverstone Client authentication and data management system
US8332929B1 (en) 2007-01-10 2012-12-11 Mcafee, Inc. Method and apparatus for process enforced configuration management
US7881318B2 (en) * 2007-02-28 2011-02-01 Microsoft Corporation Out-of-band keep-alive mechanism for clients associated with network address translation systems
US7693084B2 (en) * 2007-02-28 2010-04-06 Microsoft Corporation Concurrent connection testing for computation of NAT timeout period
WO2008109166A1 (en) * 2007-03-06 2008-09-12 Redback Networks Inc. Peer-to-peer, gaming, and application traffic detection & treatment
US20080239985A1 (en) * 2007-03-30 2008-10-02 International Business Machines Corporation Method and apparatus for a services model based provisioning in a multitenant environment
CN101056210B (zh) * 2007-06-05 2010-06-02 网御神州科技(北京)有限公司 一种网络集中管理平台上的事件处理系统和方法
EP2158777B1 (en) * 2007-06-18 2014-09-17 Allot Communications Ltd. A dpi matrix allocator
CN101340340B (zh) * 2007-07-31 2012-07-11 杭州华三通信技术有限公司 接入点配置管理方法及接入控制器
US20090041013A1 (en) * 2007-08-07 2009-02-12 Mitchell Nathan A Dynamically Assigning A Policy For A Communication Session
US20090041014A1 (en) * 2007-08-08 2009-02-12 Dixon Walter G Obtaining Information From Tunnel Layers Of A Packet At A Midpoint
US7644150B1 (en) * 2007-08-22 2010-01-05 Narus, Inc. System and method for network traffic management
US8798056B2 (en) * 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
US20090089325A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Targeted resource allocation
US8125926B1 (en) 2007-10-16 2012-02-28 Juniper Networks, Inc. Inter-autonomous system (AS) virtual private local area network service (VPLS)
US7936780B1 (en) 2008-03-12 2011-05-03 Juniper Networks, Inc. Hierarchical label distribution protocol for computer networks
US8561137B2 (en) * 2008-07-23 2013-10-15 Oracle International Corporation Techniques for identity authentication of virtualized machines
US8385202B2 (en) * 2008-08-27 2013-02-26 Cisco Technology, Inc. Virtual switch quality of service for virtual machines
US7929557B2 (en) * 2008-11-14 2011-04-19 Juniper Networks, Inc. Summarization and longest-prefix match within MPLS networks
US8077726B1 (en) 2008-12-10 2011-12-13 Juniper Networks, Inc. Fast reroute for multiple label switched paths sharing a single interface
US8190769B1 (en) 2008-12-30 2012-05-29 Juniper Networks, Inc. Methods and apparatus for provisioning at a network device in response to a virtual resource migration notification
US8255496B2 (en) 2008-12-30 2012-08-28 Juniper Networks, Inc. Method and apparatus for determining a network topology during network provisioning
US8565118B2 (en) * 2008-12-30 2013-10-22 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8331362B2 (en) * 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8054832B1 (en) 2008-12-30 2011-11-08 Juniper Networks, Inc. Methods and apparatus for routing between virtual resources based on a routing location policy
US8953603B2 (en) 2009-10-28 2015-02-10 Juniper Networks, Inc. Methods and apparatus related to a distributed switch fabric
US8442048B2 (en) 2009-11-04 2013-05-14 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
US8422514B1 (en) 2010-02-09 2013-04-16 Juniper Networks, Inc. Dynamic configuration of cross-domain pseudowires
US8310957B1 (en) 2010-03-09 2012-11-13 Juniper Networks, Inc. Minimum-cost spanning trees of unicast tunnels for multicast distribution
US20110282981A1 (en) * 2010-05-11 2011-11-17 Alcatel-Lucent Canada Inc. Behavioral rule results
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
WO2012037520A1 (en) 2010-09-17 2012-03-22 Oracle International Corporation System and method for providing ethernet over infiniband virtual hub scalability in a middleware machine environment
US20120099591A1 (en) * 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
US8891406B1 (en) 2010-12-22 2014-11-18 Juniper Networks, Inc. Methods and apparatus for tunnel management within a data center
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
US8695096B1 (en) 2011-05-24 2014-04-08 Palo Alto Networks, Inc. Automatic signature generation for malicious PDF files
US9047441B2 (en) * 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US9246838B1 (en) 2011-05-27 2016-01-26 Juniper Networks, Inc. Label switched path setup using fast reroute bypass tunnel
WO2012167268A1 (en) 2011-06-03 2012-12-06 Oracle International Corporation System and method for authenticating components in a network
US8713649B2 (en) 2011-06-03 2014-04-29 Oracle International Corporation System and method for providing restrictions on the location of peer subnet manager (SM) instances in an infiniband (IB) network
US8958298B2 (en) 2011-08-17 2015-02-17 Nicira, Inc. Centralized logical L3 routing
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
CN102387073B (zh) * 2011-10-18 2014-08-20 深圳市共进电子股份有限公司 一种实现用户端设备的桥和路由混合连接方式的方法和系统
US8739272B1 (en) * 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US9401963B2 (en) 2012-06-04 2016-07-26 Oracle International Corporation System and method for supporting reliable connection (RC) based subnet administrator (SA) access in an engineered system for middleware and application execution
US9262155B2 (en) 2012-06-04 2016-02-16 Oracle International Corporation System and method for supporting in-band/side-band firmware upgrade of input/output (I/O) devices in a middleware machine environment
US8837479B1 (en) 2012-06-27 2014-09-16 Juniper Networks, Inc. Fast reroute between redundant multicast streams
US20140006568A1 (en) * 2012-06-28 2014-01-02 Alcatel-Lucent Canada, Inc. Prioritization based on ip pool and subnet by dhcp
US9049148B1 (en) 2012-09-28 2015-06-02 Juniper Networks, Inc. Dynamic forwarding plane reconfiguration in a network device
CN102968346A (zh) * 2012-10-26 2013-03-13 曙光信息产业(北京)有限公司 虚拟化环境下实现虚拟机外部通信的方法
KR102020046B1 (ko) * 2012-12-06 2019-09-10 한국전자통신연구원 서버 가상화 환경에서의 플로우 관리 장치 및 방법, 서비스품질 정책 적용 방법
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9325610B2 (en) * 2013-03-15 2016-04-26 Cisco Technology, Inc. Extended tag networking
US8953500B1 (en) 2013-03-29 2015-02-10 Juniper Networks, Inc. Branch node-initiated point to multi-point label switched path signaling with centralized path computation
US8943594B1 (en) 2013-06-24 2015-01-27 Haystack Security LLC Cyber attack disruption through multiple detonations of received payloads
US9864620B2 (en) 2013-07-30 2018-01-09 International Business Machines Corporation Bandwidth control in multi-tenant virtual networks
US9578052B2 (en) 2013-10-24 2017-02-21 Mcafee, Inc. Agent assisted malicious application blocking in a network environment
US9806895B1 (en) 2015-02-27 2017-10-31 Juniper Networks, Inc. Fast reroute of redundant multicast streams
CN106780070A (zh) * 2016-12-28 2017-05-31 广东技术师范学院 一种局部带宽分配方法
US20190089640A1 (en) * 2017-09-21 2019-03-21 Microsoft Technology Licensing, Llc Virtualizing dcb settings for virtual network adapters
US11218506B2 (en) * 2018-12-17 2022-01-04 Microsoft Technology Licensing, Llc Session maturity model with trusted sources

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2822940A (en) * 1956-02-20 1958-02-11 George E Kopaska Collapsible animal ramp for use with trucks and the like
JP3160017B2 (ja) * 1991-08-28 2001-04-23 株式会社日立製作所 網管理表示装置
US5634010A (en) * 1994-10-21 1997-05-27 Modulus Technologies, Inc. Managing and distributing data objects of different types between computers connected to a network
US6115748A (en) * 1995-07-19 2000-09-05 Fujitsu Network Communications, Inc. Prioritized access to shared buffers
SE515901C2 (sv) * 1995-12-28 2001-10-22 Dynarc Ab Resursadministrering, plan och arrangemang
US5870561A (en) * 1996-03-15 1999-02-09 Novell, Inc. Network traffic manager server for providing policy-based recommendations to clients
US5751965A (en) * 1996-03-21 1998-05-12 Cabletron System, Inc. Network connection status monitor and display
WO1998005144A1 (en) * 1996-07-25 1998-02-05 Hybrid Networks, Inc. High-speed internet access system
US5883939A (en) * 1996-08-29 1999-03-16 Cornell Research Foundation, Inc. Distributed architecture for an intelligent networking coprocessor
US6046980A (en) * 1996-12-09 2000-04-04 Packeteer, Inc. System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US6085030A (en) * 1997-05-02 2000-07-04 Novell, Inc. Network component server
US6578077B1 (en) * 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
US6137777A (en) * 1997-05-27 2000-10-24 Ukiah Software, Inc. Control tool for bandwidth management
US6047322A (en) * 1997-05-27 2000-04-04 Ukiah Software, Inc. Method and apparatus for quality of service management
US6292827B1 (en) * 1997-06-20 2001-09-18 Shore Technologies (1999) Inc. Information transfer systems and method with dynamic distribution of data, control and management of information
US6094435A (en) * 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
JPH1139169A (ja) * 1997-07-18 1999-02-12 Toshiba Corp コンパイル方法,コンパイラ,例外ハンドラ及びプログラム記憶媒体
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6078321A (en) * 1997-09-30 2000-06-20 The United States Of America As Represented By The Secretary Of The Navy Universal client device for interconnecting and operating any two computers
US6154776A (en) * 1998-03-20 2000-11-28 Sun Microsystems, Inc. Quality of service allocation on a network
US6170015B1 (en) * 1998-05-15 2001-01-02 Nortel Networks Limited Network apparatus with Java co-processor
US6167445A (en) * 1998-10-26 2000-12-26 Cisco Technology, Inc. Method and apparatus for defining and implementing high-level quality of service policies in computer networks
US6463470B1 (en) * 1998-10-26 2002-10-08 Cisco Technology, Inc. Method and apparatus of storing policies for policy-based management of quality of service treatments of network data traffic flows
US6286052B1 (en) * 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
US6466976B1 (en) * 1998-12-03 2002-10-15 Nortel Networks Limited System and method for providing desired service policies to subscribers accessing the internet
CA2292272A1 (en) * 1998-12-22 2000-06-22 Nortel Networks Corporation System and method to support configurable policies for services in directory-based networks
US6609153B1 (en) * 1998-12-24 2003-08-19 Redback Networks Inc. Domain isolation through virtual network machines
CA2296989C (en) * 1999-01-29 2005-10-25 Lucent Technologies Inc. A method and apparatus for managing a firewall
US6295532B1 (en) * 1999-03-02 2001-09-25 Nms Communications Corporation Apparatus and method for classifying information received by a communications system
US6519595B1 (en) * 1999-03-02 2003-02-11 Nms Communications, Inc. Admission control, queue management, and shaping/scheduling for flows
WO2001054362A1 (en) * 2000-01-20 2001-07-26 Mci Worldcom, Inc. Intelligent policy server system and method for bandwidth control in an atm network
US6631135B1 (en) * 2000-03-27 2003-10-07 Nortel Networks Limited Method and apparatus for negotiating quality-of-service parameters for a network connection
US6574195B2 (en) * 2000-04-19 2003-06-03 Caspian Networks, Inc. Micro-flow management
US6714515B1 (en) * 2000-05-16 2004-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Policy server and architecture providing radio network resource allocation rules
US6681232B1 (en) * 2000-06-07 2004-01-20 Yipes Enterprise Services, Inc. Operations and provisioning systems for service level management in an extended-area data communications network
US7543288B2 (en) * 2001-03-27 2009-06-02 Sun Microsystems, Inc. Reduced instruction set for Java virtual machines
US7099912B2 (en) * 2001-04-24 2006-08-29 Hitachi, Ltd. Integrated service management system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100674086B1 (ko) * 2004-12-16 2007-01-24 한국전자통신연구원 이더넷 망에서의 토폴로지 발견 방법
WO2015073546A1 (en) * 2013-11-15 2015-05-21 F5 Networks, Inc. Extending policy rulesets with scripting
US10454768B2 (en) 2013-11-15 2019-10-22 F5 Networks, Inc. Extending policy rulesets with scripting

Also Published As

Publication number Publication date
WO2002019062A2 (en) 2002-03-07
CN1751473A (zh) 2006-03-22
WO2002019062A3 (en) 2002-05-30
WO2002019132A1 (en) 2002-03-07
US20020120720A1 (en) 2002-08-29
US20020118644A1 (en) 2002-08-29
EP1386239A4 (en) 2005-11-02
CN1592898A (zh) 2005-03-09
EP1407576A2 (en) 2004-04-14
KR20030062406A (ko) 2003-07-25
EP1407576A4 (en) 2005-07-27
EP1386239A1 (en) 2004-02-04
AU2001288631A1 (en) 2002-03-13
AU2001288640A1 (en) 2002-03-13

Similar Documents

Publication Publication Date Title
KR20030061794A (ko) 폴리시 기반 네트워크 트래픽 관리를 구현하기 위한 방법및 시스템
US6539425B1 (en) Policy-enabled communications networks
CA2358525C (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US9736036B2 (en) Variable-based forwarding path construction for packet processing within a network device
US7433944B2 (en) Network, server, and storage policy server
US7765313B2 (en) Hierarchical protocol classification engine
US8619793B2 (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
Calvert et al. Directions in active networks
US7984457B2 (en) Software methods of an optical network apparatus with multiple multi-protocol optical networking modules having packet filtering resources
US20100226369A9 (en) Network system having an extensible forwarding plane
US7525973B1 (en) Flexible software-based packet switching path
US20020174362A1 (en) Method and system for network management capable of identifying sources of small packets
Brunner et al. The impact of active networking technology on service management in a telecom environment
Di Giovanna Designing an ebpf-based disaggregated network provider for kubernetes
US20240313995A1 (en) Passing connected device identity to service in customer-premises equipment
Jaeger et al. Dynamic classification in silicon-based forwarding engine environments
Brunner et al. Virtualizing active networks for Telecom environments

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application