KR101562155B1 - 서비스 프로세스 제어 방법 및 네트워크 장치 - Google Patents

서비스 프로세스 제어 방법 및 네트워크 장치 Download PDF

Info

Publication number
KR101562155B1
KR101562155B1 KR1020147027100A KR20147027100A KR101562155B1 KR 101562155 B1 KR101562155 B1 KR 101562155B1 KR 1020147027100 A KR1020147027100 A KR 1020147027100A KR 20147027100 A KR20147027100 A KR 20147027100A KR 101562155 B1 KR101562155 B1 KR 101562155B1
Authority
KR
South Korea
Prior art keywords
data processing
packet
service
module
list
Prior art date
Application number
KR1020147027100A
Other languages
English (en)
Other versions
KR20150016207A (ko
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 KR20150016207A publication Critical patent/KR20150016207A/ko
Application granted granted Critical
Publication of KR101562155B1 publication Critical patent/KR101562155B1/ko

Links

Images

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/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

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

Abstract

본 발명은 서비스 프로세스 제어 방법 및 네트워크 장치를 제공한다. 이 방법은, 네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라, 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계; 및 선택된 M개의 데이터 처리 모듈을 호출하여, 처리 시퀀스에 따라 패킷을 순차적으로 처리하는 단계를 포함한다. 본 발명의 실시예의 상기 기술적 해결책에서, 데이터 처리 모듈이 패킷을 처리하기 위한 실행 시퀀스는 서비스에 대응하는 정책 세트에 따라 동적으로 생성되며, 그에 따라 서비스 실행 프로시져에서 불필요한 처리 프로세스 및 중복된 정보 수집을 줄이고, 서비스 처리 융통성을 개선하며, 장치의 전체 성능을 향상시킨다.

Description

서비스 프로세스 제어 방법 및 네트워크 장치{SERVICE PROCESS CONTROL METHOD AND NETWORK DEVICE}
관련 출원들에 대한 상호 참조
본 출원은, 2013년 6월 3일자로 출원된 중국 특허 출원 제201310216184.0호에 대해 우선권을 주장하는, 2014년 1월 20일자로 출원된 국제 출원 PCT/CN2014/070910호의 계속 출원이며, 이들 출원 모두는 참고로 완전히 본 명세서에 병합된다.
기술분야
본 발명은 통신 분야에 관한 것으로, 특히, 서비스 프로세스 제어 방법 및 네트워크 장치에 관한 것이다.
현재, 네트워크 상의 장치는 정책(policy)을 이용해 모든 종류의 서비스 제어를 수행할 필요가 있다. 예를 들어, 서비스 실행 프로시져에서, 소정의 동작이 실행될 필요가 있을 때 먼저 조건이 명시되고, 대응하는 동작은 패킷이나 데이터 흐름이 그 설정된 조건을 만족할 때에만 실행된다. 전형적인 조건은, 사용자 차원(dimension), 시간 차원, L3-L4(IP 주소 + TCP 포트 번호) 차원, L7 프로토콜 차원, 및 통일된 자원 위치 표시자(Uniform Resource Locator, 줄여서 URL) 차원 등의 조건을 포함한다. 정책 매칭 프로시져(policy matching procedure)는 데이터 흐름의 각각의 차원의 정보를 그 차원의 설정된 조건과 비교하기 위한 프로시져이다.
데이터 흐름의 각각의 차원의 정보는 일반적으로 상이한 데이터 처리 모듈들에 의해 수집된다. 예를 들어, 사용자 차원 정보는 사용자 식별 모듈에 의해 식별되고, 시간 차원 정보는 시간 모듈에 의해 식별되며, L3-L4 정보는 L3-L4 처리 모듈에 의해 식별되고, L7 프로토콜 정보는 식별 모듈에 의해 식별되고, URL 정보는 파싱 모듈(parsing module)에 의해 식별된다. 더 풍부한 장치 정책과 더 많은 제어가능한 차원이 있다고 예상되면, 더 많은 차원의 정보를 수집하기 위해 더 많은 데이터 처리 모듈이 네트워크 상의 장치에 배치될 필요가 있다.
일반적으로, 네트워크 상의 장치의 각각의 데이터 처리 모듈은 고정된 기능을 갖고 설정된 로직에 따라 수집된 정보를 결정하도록 구성된다. 예를 들어, 사용자 관리 모듈은, IP, 이동 전화 번호, 역할, 및 등급 등의 수집될 필요가 있는 사용자의 모든 종류의 사전 설정된 정보를 결정하도록 구성된다. 따라서, 데이터 흐름의 차원 정보를 수집하기 위한 프로시져는 각각의 데이터 처리 모듈을 실행하기 위한 프로시져가 된다. 장치 상의 명확한(clear) 로직을 위해, 일반적으로, 데이터 흐름의 정보가 먼저 수집될 필요가 있고, 그 다음, 정책 매칭이 수행되며, 마지막으로, 정책에 대응하는 동작이 실행된다. 상기 프로시져의 단점은 정보를 수집하도록 구성된 모든 모듈들이 실행되어 장치 성능을 낭비한다는 것이다.
따라서, 당업자는 전술한 방법을 향상시켜야 한다. 도 1에 도시된 바와 같이, 데이터 흐름의 모든 차원 정보가 먼저 수집된다; 그 다음, 설정된 조건이 만족되는지를 결정하기 위해 정보 집합에서 검색이 수행된다; 그리고, 설정된 조건이 만족되면, 대응하는 동작이 실행된다. 즉, 정보를 수집하도록 구성된 모든 모듈들은 직렬 접속되고, 고정된 시퀀스가 설정된다. 모든 흐름은 동일한 처리 프로세스를 거치고 시퀀스에 따라 각각의 모듈을 통과한다. 이런 방식으로, 모든 모듈들이 실행되었을 때, 각각의 차원의 정보가 완전하게 수집되고 후속하는 정책 매칭에 대한 기초를 제공할 수 있다. 이 방법에서는, 설계가 간단하고, 정보는 완벽하며, 어떠한 기능도 생략되지 않는다.
그러나, 전술한 방법의 단점은 모든 데이터 흐름에 대한 실행 시퀀스가 동일해 데이터 흐름들간의 차이를 무시한다는 것이다. 상이한 데이터 흐름들의 정보는 상이하다. 일부 데이터 흐름은 특정한 모듈을 통과할 필요가 없다는 것은 명백하다. 따라서, 순차적 실행 동안에 소정의 중복 정보의 수집이 존재하여, 추가적인 성능 오버헤드를 야기한다.
상기에 비추어, 본 발명의 실시예는 종래 기술에서의 장치에 관한 데이터 흐름 처리 프로세스를 최적화하고, 서비스 실행 프로시져에서 불필요한 처리 프로세스와 중복된 정보 수집을 감소시키며, 장치의 전체 성능을 향상시키기 위한, 서비스 프로세스 제어 방법 및 네트워크 장치를 제공한다.
제1 양태에 따르면, 본 발명의 실시예는 서비스 프로세스 제어 방법을 제공하고, 이 방법은 하기 단계들을 포함한다:
네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라, 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계;
선택된 M개의 데이터 처리 모듈을 호출(invoking)하여 처리 시퀀스에 따라 패킷을 순차적으로 처리해, 각각의 호출된 데이터 처리 모듈이 패킷의 한 차원의 정보를 수집하게 하는 단계; 및
M개의 데이터 처리 모듈에 의해 수집되는 패킷의 모든 정보에 따라, 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙에 대한 매칭을 수행하여, 성공적으로 매칭된 서비스 규칙을 결정하고, 성공적으로 매칭된 서비스 규칙에 대응하는 동작을 실행하는 단계.
제1 양태의 제1 가능한 구현 방식에서, 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계는 구체적으로 하기 단계들을 포함한다:
적어도 하나의 서비스에서 각각의 서비스의 실행 정책에 포함된 모든 서비스 규칙들로부터 조건을 추출하고, 또한, 추출된 조건이 만족되는지를 결정하는데 이용될 것이 요구되는 패킷의 모든 차원 정보를 결정하는 단계;
모든 결정된 차원 정보에 따라, 모든 차원 정보를 수집하는데 요구되는 M개의 데이터 처리 모듈을 결정하는 단계; 및
결정된 M개의 데이터 처리 모듈들 사이의 의존 관계에 따라, M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계.
제1 양태 또는 제1 양태의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 이 방법은:
M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 나타내는데 이용되는 제1 목록을 생성하는 단계를 더 포함하고, 제1 목록은 M개의 데이터 처리 모듈의 식별자(identification)들을 포함하고, 제1 목록의 M개의 데이터 처리 모듈의 식별자들은 결정된 처리 시퀀스에 따라 정렬되며;
대응적으로, 선택된 M개의 데이터 처리 모듈을 호출하여 처리 시퀀스에 따라 패킷을 순차적으로 처리하는 단계는:
제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 패킷을 처리해 패킷의 P개 ―P는 양의 정수― 차원의 정보를 얻는 단계; 및
제1 목록 내에 있고 처음 P개의 데이터 처리 모듈 식별자들 이후에 있는 (M-P)개의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 패킷을 처리해 패킷의 적어도 한 차원의 정보를 얻는 단계를 포함한다.
제1 양태의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈을 순차적으로 호출하여 패킷을 처리해 패킷의 P개 차원의 정보를 얻는 단계 후에, 이 방법은:
P개 차원들의 정보에 따라, 패킷을 처리하기 위한 하나 이상의 데이터 처리 모듈을 재선택하는 단계; 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계; 및 제1 목록을 업데이트하여 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 나타내도록 하는 단계를 더 포함하고, 업데이트된 제1 목록은 재선택된 데이터 처리 모듈의 식별자를 포함하고, 재선택된 데이터 처리 모듈의 식별자는 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 시퀀스에 따라 업데이트된 제1 목록에서 정렬되고;
대응적으로, 제1 목록 내에 있고 처음 P개의 데이터 처리 모듈 식별자들 이후에 있는 (M-P)개의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 패킷을 처리해 패킷의 적어도 한 차원의 정보를 얻는 단계는:
업데이트된 제1 목록에 의해 표시된 시퀀스에 따라, 재선택된 데이터 처리 모듈을 순차적으로 호출하여 패킷을 처리해, 패킷의 적어도 한 차원의 정보를 얻는 단계를 포함한다.
제1 양태 또는 제1 양태의 제1, 제2 또는 제3 가능한 구현 방식을 참조하여, 제4 가능한 구현 방식에서, 각각의 서비스의 실행 정책은 사전 설정된 구성 규칙을 더 포함하고, 이 구성 규칙은 서비스의 실행 조건을 나타내는데 이용된다;
이 방법은, 패킷의 특성 정보를 얻는 단계; 특성 정보에 따라, 네트워크 장치 상에 배치된 각각의 서비스의 실행 조건이 만족되는지를 결정하는 단계; 및 실행 조건이 만족되는 서비스가 실행될 필요가 있는 서비스인지를 결정하는 단계를 더 포함하고;
대응적으로 네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라, 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계는 구체적으로:
결정되고 실행될 필요가 있는 서비스의 실행 정책에 따라, 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고; 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계를 포함한다.
제2 양태에 따르면, 본 발명의 실시예는, 트랜시버 모듈, 목록 생성 모듈, 스케줄링 모듈, 및 N개의 데이터 처리 모듈을 포함하는 네트워크 장치를 제공하고, 여기서, N은 양의 정수이고, 각각의 데이터 처리 모듈은 패킷의 한 차원의 정보를 수집하도록 구성된다;
트랜시버 모듈은 패킷을 수신하도록 구성된다;
목록 생성 모듈은 네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라 트랜시버 모듈에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고; 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하도록 구성되고, 여기서, M은 양의 정수이고, M은 N보다 작거나 같으며, 각각의 서비스의 실행 정책은 적어도 하나의 서비스 규칙을 포함하고, 각각의 서비스 규칙은 조건과 동작을 포함하고, 각각의 서비스 규칙의 매칭은 적어도 패킷의 한 차원의 정보에 의존한다;
스케줄링 모듈은, 목록 생성 모듈에 의해 선택된 M개의 데이터 처리 모듈을 호출하여, 처리 시퀀스에 따라 패킷을 순차적으로 처리해 패킷의 적어도 한 차원의 정보를 얻고; 패킷의 적어도 한 차원의 정보에 따라, 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙에 대한 매칭을 수행해 성공적으로 매칭된 서비스 규칙을 결정하며; 성공적으로 매칭된 서비스 규칙에 대응하는 동작을 실행하도록 구성된다.
제2 양태의 제1 가능한 구현 방식에서, 목록 생성 모듈은 하기 유닛들을 포함한다:
적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙들로부터 조건을 추출하고, 추출된 조건이 만족되는지를 결정하는데 이용될 것이 요구되는 패킷의 모든 차원 정보를 결정하도록 구성된 추출 유닛;
추출 유닛에 의해 결정된 모든 차원 정보에 따라 모든 차원 정보를 수집하는데 요구되는 M개의 데이터 처리 모듈을 선택하도록 구성된 선택 유닛; 및
선택 유닛에 의해 선택된 M개의 데이터 처리 모듈들 사이의 의존 관계에 따라, M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하도록 구성된 정렬 유닛.
제2 양태 또는 제2 양태의 제1 가능한 구현 방식을 참조하여, 제2 가능한 구현 방식에서, 목록 생성 모듈은:
정렬 유닛에 의해 결정되는 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 나타내는데 이용되는 제1 목록 ―제1 목록은 M개의 데이터 처리 모듈의 식별자들을 포함하고, 제1 목록의 M개의 데이터 처리 모듈의 식별자들은 처리 시퀀스에 따라 정렬됨― 을 생성하도록 구성된 목록 생성 유닛을 더 포함하고;
스케줄링 모듈은 하기 유닛들을 포함한다:
제1 목록 내의 처음 P개 ―P는 양의 정수―의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 패킷을 처리해 패킷의 적어도 한 차원의 정보를 얻도록 구성된 제1 스케줄링 유닛; 및
제1 목록 내에 있고 처음 P개의 데이터 처리 모듈 식별자들 이후에 있는 (M-P)개의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 상기 패킷을 처리해 패킷의 적어도 한 차원의 정보를 얻도록 구성된 제2 스케줄링 유닛.
제2 양태의 제2 가능한 구현 방식을 참조하여, 제3 가능한 구현 방식에서, 목록 생성 모듈은 제1 스케줄링 유닛이 제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 호출하여 패킷을 처리해 패킷의 적어도 한 차원의 정보를 얻고, 패킷의 적어도 한 차원의 정보에 따라, 패킷을 처리하기 위한 하나 이상의 데이터 처리 모듈을 재선택하며; 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하고; 제1 목록을 업데이트하여, 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 나타내도록 또한 구성되고, 여기서, 업데이트된 제1 목록은 재선택된 데이터 처리 모듈의 식별자를 포함하고, 재선택된 데이터 처리 모듈의 식별자는 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 시퀀스에 따라 업데이트된 제1 목록에서 정렬된다.
대응적으로, 제2 스케줄링 유닛은 업데이트된 제1 목록에 의해 표시된 시퀀스에 따라, 재선택된 데이터 처리 모듈을 순차적으로 호출하여 패킷을 처리해, 패킷의 적어도 한 차원의 정보를 얻도록 구체적으로 구성된다.
제2 양태 또는 제2 양태의 제1, 제2 또는 제3 가능한 구현 방식을 참조하여, 제4 가능한 구현 방식에서, 각각의 서비스의 실행 정책은 사전 설정된 구성 규칙을 더 포함하고, 이 구성 규칙은 서비스의 실행 조건을 나타내는데 이용된다;
네트워크 장치는, 패킷의 특성 정보를 얻고; 특성 정보에 따라, 네트워크 장치 상에 배치된 각각의 서비스의 실행 조건이 만족되는지를 결정하며; 실행 조건이 만족되는 서비스가 실행될 필요가 있는 서비스인지를 결정하도록 구성된 식별 모듈을 더 포함한다;
목록 생성 모듈은 식별 모듈에 의해 식별되고 실행될 필요가 있는 서비스의 실행 정책에 따라, 트랜시버 모듈에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고; 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하도록 구체적으로 구성된다.
본 발명의 실시예의 상기 기술적 해결책에서, 패킷의 수신 후에, 네트워크 장치가, 서비스에 대응하는 실행 정책에 따라, 데이터 처리 모듈이 패킷을 처리하기 위한 실행 시퀀스를 동적으로 생성하고; 또한, 그 시퀀스에 따라, 각각의 데이터 처리 모듈을 순차적으로 호출하여 패킷을 처리해, 패킷이 각각의 데이터 처리 모듈의 처리를 거칠 필요가 없고 서비스 실행 프로시져에서 불필요한 처리 프로세스와 중복된 정보 수집이 감소될 수 있어서, 서비스 처리 융통성을 향상시키고 장치의 전체 성능을 향상시킨다는 것을 상기 기술적 해결책으로부터 알 수 있다.
본 발명의 실시예에서의 기술적 해결책을 더 명확하게 설명하기 위하여, 이하에서는 실시예 또는 종래 기술을 설명하는데 요구되는 첨부된 도면을 간략하게 소개한다. 명백히, 이하의 설명에서의 첨부된 도면은 본 발명의 일부 실시예를 도시할 뿐이며, 당업자라면 창조적 노력없이 이들 첨부된 도면들로부터 다른 도면들을 여전히 유도해 낼 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 정책-기반의 서비스 처리의 개략적 플로차트이다;
도 2는 본 발명의 실시예에 따른 기업 사설 클라우드의 개략적 네트워크도이다;
도 3은 본 발명의 실시예에 따른 서비스 프로세스 제어 방법의 플로차트이다;
도 4는 본 발명의 실시예에 따른 제1 목록의 개략도이다;
도 5는 본 발명의 또 다른 실시예에 따른 서비스 프로세스 제어 방법의 개략적 플로차트이다;
도 6은 본 발명의 실시예에 따른 네트워크 장치의 개략도이다;
도 7은 본 발명의 실시예에 따른 목록 생성 모듈의 개략도이다;
도 8은 본 발명의 또 다른 실시예에 따른 네트워크 장치의 개략적 구조도이다.
본 발명의 목적, 기술적 해결책, 및 이점들을 더욱 명확히 하기 위해, 이하에서 본 발명의 실시예의 첨부된 도면을 참조하여 본 발명의 기술적 해결책을 명료하게 설명한다. 명백하게, 설명된 실시예들은 본 발명의 실시예들의 일부이다. 본 발명의 이하의 실시예에 기초하여, 당업자는 본 발명의 기술적 문제를 해결할 수 있는 다른 실시예를 여전히 얻을 수 있을 것이고, 창조적 노력없이 기술적 특징들의 일부 또는 심지어 전부에 대등한 변경을 가하여 본 발명의 기술적 효과를 구현할 수 있다. 그러나, 변경에 의해 얻어진 실시예들은 명백히 본 발명에 의해 개시된 범위를 벗어나지 않는다.
본 발명의 실시예에서, 서비스 프로세스의 실행 동안에 호출될 필요가 있는 처리 모듈은 현재 구성된 정책 세트에 따라 결정된다. 정책 세트 내의 모든 정책들이 소정 차원의 차원 조건에 관한 것이 아니면, 그 차원의 정보를 처리하도록 구성된 실행 모듈은 바로 스킵되고 후속 실행 프로세스에서 나타나지 않는다. 본 발명의 실시예들에서 제공되는 기술적 해결책은, 홈 네트워크, 액세스 네트워크, 컨버전스 네트워크(convergence network), 백본 네트워크, 기업 네트워크(enterprise network), 오퍼레이터 네트워크, 및 다양한 사설/공공 클라우드 등의 다중-응용 서비스 정책 제어 시나리오에 적용될 수 있다. 이하에서는 전형적인 응용 시나리오로서 엔터프라이즈 네트워크를 이용하여 간략한 설명이 주어진다. 도 2는 기업이 외부 서비스를 제공하는 흔한 시나리오를 도시한다. 사용자는 모바일 단말기 또는 고정된 단말기를 이용해 네트워크에 액세스하고 서비스를 요청한다. 기업 내부 네트워크는 대개, 라우터(Router), 스위치(Switch), 및 서버(Server) 등의 네트워크 장치로 형성된다. 요건에 따르면, IPS, 대역폭 제어, URL 필터링, WOC, 및 ADC 등의 서비스는 일반적으로 하나 이상의 네트워크 장치 상에 배치된다. 복수의 서비스가 대개 동일한 장치 상에 배치된다. 이 경우에는, 네트워크 장치 상의 복수 종류의 서비스가 합리적으로 제어되어 서비스 처리 효율을 개선시킬 필요가 있다. 사용자는, 구성 UI 또는 명시된 정책 스크립트 등의 방식으로 복수 종류의 정책을 구성하고, 네트워크 장치에 복수 종류의 정책을 전달한다. 네트워크 장치는 정책에 기초하여 장치 상의 복수 종류의 서비스에 관한 처리를 구현한다. 본 발명의 실시예에서 제공되는 기술적 해결책에서, 서비스 프로세스는 네트워크 장치 상에 배치된 서비스의 정책에 따라 동적으로 제어될 수 있다. 기업 네트워크 시나리오는 본 발명의 기술적 해결책의 전형적인 응용 시나리오일 뿐이지만, 본 발명의 응용 시나리오에 관한 제약으로 해석되어서는 안 된다는 점에 유의해야 한다.
도 3은 본 발명의 실시예에 따른 서비스 프로세스 제어 방법의 개략적 플로차트이다. 도 3에 도시된 바와 같이, 이 실시예에서, 예로서 네트워크 장치를 이용하여 설명되는 서비스 프로세스 제어 방법은 다음과 같은 단계들을 포함한다:
101: 네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라, 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계.
102: 선택된 M개의 데이터 처리 모듈을 호출하여 처리 시퀀스에 따라 패킷을 순차적으로 처리해, 각각의 호출된 데이터 처리 모듈이 패킷의 한 차원의 정보를 수집하게 하는 단계.
103: M개의 데이터 처리 모듈에 의해 수집되는 패킷의 모든 정보에 따라, 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙에 대한 매칭을 수행하여, 성공적으로 매칭된 서비스 규칙을 결정하고, 성공적으로 매칭된 서비스 규칙에 대응하는 동작을 실행하는 단계.
본 발명의 이 실시예에서, 네트워크 장치는 본 발명의 기술적 해결책을 설명하는 실행체(executing body)로서 이용되지만, 본 발명의 실시예의 실행체에 관한 제한으로서 이해되어서는 안 된다는 점에 유의해야 한다. 다차원 정책 제어(multi-dimension policy control)를 갖춘 임의의 장치는 본 발명의 기술적 해결책을 채택할 수 있다는 점을 이해해야 한다.
네트워크 장치는 N개의 데이터 처리 모듈(N은 M보다 크거나 같고, M과 N은 둘다 양의 정수임)을 포함하고, 각각의 데이터 처리 모듈은 패킷의 한 차원의 정보를 수집하도록 구성된다. 예를 들어, 사용자 차원 정보는 사용자 식별 모듈에 의해 수집되고, 시간 차원 정보는 시간 모듈에 의해 수집되며, L3-L4 정보는 L3-L4 처리 모듈에 의해 수집되고, L7 프로토콜 정보는 식별 모듈에 의해 식별되고, URL 정보는 파싱 모듈에 의해 식별된다. 본 발명의 이 실시예에서, 실행 정책은 주로 서비스의 동작을 제어하는데 이용된다. 네트워크 장치 상에 배치되는 각각의 서비스는 대응하는 실행 정책으로 구성된다. 복수의 서비스의 실행 정책들의 집합(collection)은 정책 세트를 형성한다. 각각의 서비스의 실행 정책은 적어도 하나의 서비스 규칙을 포함하고, 서비스 규칙은 서비스가 실행될 때 준수되는 규칙이다. 하나의 서비스 규칙은 2개 부분: 조건(condition)과 동작(action)을 포함한다. 구체적으로는, 하나의 서비스 규칙은 하나 이상의 조건을 포함할 수 있고, 또한 하나 이상의 동작을 포함할 수 있으며, 동일한 서비스 규칙 내의 복수의 조건은 상이한 층들의 또는 상이한 차원들의 패킷 정보에 관한 것일 수 있다. 따라서, 각각의 서비스 규칙의 매칭은 적어도 패킷의 한 차원의 정보에 의존한다. 대안으로서, 더 정확히는, 각각의 서비스 규칙이 매칭되는지를 결정하는 것이 요구된다면, 서비스 규칙에 포함된 조건이 만족되는지를 결정하는 것이 요구된다. 서비스 규칙 내의 조건이 만족되는지를 결정하는 것은 적어도 패킷의 한 차원의 정보에 의존한다. 예를 들어, 서비스 규칙에서 (IP = 1.1.1.1 && HTTP. Host =www.huawei.com)이면, 패킷을 드롭하고, "IP = 1.1.1.1"와 "HTTP. Host = www.huawei.com"은 2개의 병렬 조건이며, 여기서, 전자는 L3 층 조건이고, 후자는 L7 층 조건이며, 전자와 후자는 논리적으로 "and" 관계이고, "드롭 패킷(drop packet)"은 조건이 만족될 때(즉, 서비스 규칙이 성공적으로 매칭될 때) 서비스가 실행할 필요가 있는 동작이다.
구체적으로는, 실시예에서, 다음과 같은 방식으로, 네트워크 장치에 의해 수신된 제1 패킷을 처리하기 위한 M개의 데이터 처리 모듈이 선택될 수 있고 선택된 M개의 데이터 처리 모듈이 제1 패킷을 처리하기 위한 처리 시퀀스가 결정될 수 있다.
단계 1: 적어도 하나의 서비스에서 각각의 서비스의 실행 정책에 포함된 모든 서비스 규칙들로부터 조건을 추출하고, 또한, 추출된 조건이 만족되는지를 결정하는데 이용될 것이 요구되는 제1 패킷의 모든 차원 정보를 결정하는 단계.
단계 2: 모든 결정된 차원 정보에 따라, 모든 차원 정보를 수집하는데 요구되는 M개의 데이터 처리 모듈을 결정하는 단계.
단계 3: M개의 데이터 처리 모듈들 사이의 의존 관계에 따라, M개의 데이터 처리 모듈이 제1 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계.
각 서비스의 정책은 하나 이상의 서비스 규칙을 포함하기 때문에, 각각의 서비스 규칙에 포함된 모든 조건들을 추출하고 수집함으로써, 모든 조건들에 관한 검증을 완료하기 위하여 제1 패킷의 어떤 차원의 정보가 수집될 필요가 있는지가 결정될 수 있고, 그 다음, 제1 패킷의 차원의 정보를 수집하기 위해 어떤 데이터 처리 모듈이 요구되는지가 결정된다. 소정 차원의 정보가 요구되지 않는다면, 그 차원의 정보를 수집하도록 구성된 데이터 처리 모듈도 역시 요구되지 않는다. 또한, 소정 차원의 정보가 요구된다면, 그 차원의 정보를 수집하도록 구성된 모듈에 의해 수집될 필요가 있는 정보의 범위가 결정될 수 있다. 예를 들어, 사용자 관리 모듈은, IP 주소, 이동 전화 번호, 역할, 및 등급 등의 사용자 정보를 수집하도록 구성될 수 있다. 그러나, 소정의 서비스 규칙의 결정이 사용자의 IP 주소에만 관련되어 있다면, 사용자 관리 모듈에 의해 수집될 필요가 있는 정보의 범위는 사용자의 IP 주소만으로 제한되고 다른 정보는 수집될 필요가 없다고 결정될 수 있다. 제1 패킷을 처리하기 위해 어떤 데이터 처리 모듈이 요구되는지가 결정된 후에, 모듈들 사이의 의존 관계(즉, 패킷의 상이한 차원들의 정보 사이의 의존 관계)가 분석되어, 데이터 처리 모듈의 실행 시퀀스(즉, 제1 패킷을 처리하기 위한 처리 시퀀스)가 결정될 수 있다. 예를 들어, 데이터 처리 모듈 A가 실행될 필요가 있다면 먼저 또 다른 데이터 처리 모듈 B가 실행되어야 한다고 가정하면, 모듈 B는 모듈 A 이전에 실행되어야 한다. 또 다른 예로서, 모듈 C가 실행될 필요가 있다면 먼저 모듈 D가 실행되어야 한다고 가정하면, 정책이 모듈 D에 의해 수집된 차원 정보를 포함하고 있는지에 관계없이 모듈 C가 이용될 필요가 있는 한 의존 모듈 D도 포함되어야 한다.
예를 들어, 데이터 처리 모듈은, 패킷에 대응하는 사용자 정보를 식별하도록 구성된 사용자 모듈, 패킷의 URL 정보를 얻도록 구성된 URL 취득 모듈, 패킷의 L3-L4 층 정보를 파싱하도록 구성된 L3-L4 층 처리 모듈, L7 층 프로토콜을 식별하도록 구성된 L7 층 식별 모듈, 또는 L7 층 정보를 파싱하도록 구성된 L7 층 파싱 모듈 등의 관련된 모듈일 수도 있다. 본 발명의 이 실시예에서, 데이터 처리 모듈은 제한되지 않고, 데이터 처리 모듈은 실제 필요성에 따라 구성될 수 있다. 바람직하게는, 실시예에서, 결정된 M개의 데이터 처리 모듈의 실행 시퀀스를 나타내는데 이용되는 제1 목록이 생성될 수 있고, 또한, 데이터 처리 모듈은 제1 목록의 표시에 따라 호출되어 패킷을 처리할 수도 있다. 구체적으로는, 제1 목록은 결정된 M개의 데이터 처리 모듈의 식별자들을 포함하고, M개의 데이터 처리 모듈의 식별자들은 결정된 처리 시퀀스에 따라 제1 목록에서 정렬된다. 여기서 데이터 처리 모듈의 식별자는 데이터 처리 모듈의 코드라는 점에 유의해야 한다. 각각의 데이터 처리 모듈에는 고유한 식별자가 할당되어 데이터 처리 모듈을 나타낼 수 있다. 특정한 응용에서, 제1 목록은 데이터 쉬트, 파일, 또는 사진일 수 있다. 도 4에 도시된 바와 같이, 제1 목록은 단일-엔트리 링크형 목록(single-entry linked list)일 수 있고, 여기서, 단일-엔트리 링크형 목록 내의 각각의 노드는 하나의 데이터 처리 모듈의 ID(identification; 식별자)를 저장하고, 노드들 사이의 링크 관계는 데이터 처리 모듈의 실행 시퀀스를 나타낸다.
M개의 데이터 처리 모듈이 실행된 후에, M개의 데이터 처리 모듈에 의해 수집되는 패킷의 모든 정보와, 적어도 하나의 서비스의 실행 정책에 포함된 각각의 서비스 규칙 사이에는 매칭이 수행되어, 성공적으로 매칭된 서비스 규칙을 결정하고, 또한, 성공적으로 매칭된 서비스 규칙에 대응하는 동작이 실행된다. 서비스 규칙 매칭 프로시져는 서비스 규칙에 포함된 조건을 검증하기 위한 프로시져이다. 서비스 규칙 내의 조건이 만족되고, 규칙의 매칭이 성공적이면, 규칙에 대응하는 동작이 실행될 수 있다. 상기에서 예를 이용하여 규칙 매칭 프로시져를 상세히 설명하였고, 여기서는 세부사항은 반복적으로 설명되지 않는다.
예를 들어, 제1 목록 내의 데이터 처리 모듈수가 1이면, 네트워크 장치는 하나의 데이터 처리 모듈을 호출하여 네트워크 장치에 의해 수신된 패킷을 처리할 수 있다. 데이터 처리 모듈이 처리를 완료하면, 서비스 프로세스는 종료한다. 따라서, 또 다른 과도한 동작 프로세스가 회피될 수 있다.
제1 목록 내의 데이터 처리 모듈의 수가 2개이고, 예를 들어, 모듈 1과 모듈 2이고, 제1 목록에서, 모듈 1이 모듈 2보다 높은 랭크(rank)를 갖는다면, 네트워크 장치는, 제1 목록 내의 정렬에 따라, 모듈 1을 호출하여 패킷을 처리한다; 모듈 1이 패킷을 처리한 후에, 네트워크 장치는 모듈 2를 호출하여 모듈 1에 의해 처리된 패킷을 처리한다; 모듈 2가 처리를 완료한 후에, 서비스 프로세스는 종료하여, 패킷이 장치 상의 모든 데이터 처리 모듈을 거치지 않음으로써, 종래 기술에서의 장치 상의 데이터 흐름 처리 프로세스를 최적화하고, 서비스 처리 융통성을 개선하며, 장치의 전체 성능을 향상시킨다.
선택사항으로서, 네트워크 장치가 제1 목록 내의 N번째 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈을 호출하면, 모듈은 패킷을 처리할 때 패킷 상에 마크를 설정할 수 있다. 모듈이 처리를 완료하고 처리된 패킷을 반환한 후에, 네트워크 장치는 N번째 데이터 처리 모듈이 실행되었음을 알고 제1 목록 내의 (N+1)번째 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈을 호출하여 데이터 처리 모듈에 의해 처리된 패킷에 관해 추가 처리를 수행할 수 있다. 특정한 응용에서, 제1 목록 내의 데이터 처리 모듈은, 데이터 처리 모듈이 대응하는 패킷을 처리하도록 콜백 기능(callback function)을 이용하여 호출될 수 있다. 제어 융통성은 콜백 기능을 이용하여 개선된다.
또한, 하나의 데이터 처리 모듈이 패킷에 관한 처리를 완료한 후에, 패킷의 한 차원의 정보가 수집된다. 제1 목록은 그 정보에 따라 업데이트된다. 예를 들어, 제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈이 순차적으로 호출되어 네트워크 장치에 의해 수신된 패킷을 처리한 후에, 패킷의 P개 차원의 정보가 얻어지고, 여기서 P는 양의 정수이다; 또한, 패킷을 처리하기 위한 하나 이상의 데이터 처리 모듈이 P개 차원의 정보에 따라 재선택될 수 있고, 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스가 결정된다; 또한, 제1 목록이 업데이트되어 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 나타내고, 여기서, 업데이트된 제1 목록은 재선택된 데이터 처리 모듈의 식별자를 포함하며, 재선택된 데이터 처리 모듈의 식별자는 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 시퀀스에 따라 업데이트된 제1 목록에서 정렬된다. 이런 방식으로, 데이터 처리 모듈의 실행 시퀀스는 서비스 실행 프로시져에서 동적으로 조절될 수 있다. 실시예에서, 제1 목록 내의 처음 P개의 데이터 처리 모듈이 패킷의 P개 차원의 정보를 수집한 후에, P개 차원의 정보와 네트워크 장치 상에 배치된 각각의 서비스의 실행 정책에 포함된 모든 서비스 규칙 사이에서 매칭이 수행될 수 있고, 매칭 결과에 따라 패킷에 대한 후속 처리를 수행하기 위한 하나 이상의 데이터 처리 모듈이 재선택되고, 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 시퀀스를 나타내는데 이용되는 제2 목록이 생성된다. 예를 들어, 모듈 A는 X 차원의 정보를 수집하도록 구성되고, 대응하는 조건 타입은 X1, X2, X3,...이고; 모듈 B는 Y 차원의 정보를 수집하도록 구성되고, 대응하는 조건 타입은 Y1, Y2, Y3, ...이고; 모듈 C는 Z 차원의 정보를 수집하도록 구성되고, 대응하는 조건 타입은 Z1, Z2, Z3, ...이고; 모듈 D는 W 차원의 정보를 수집하도록 구성되고, 대응하는 조건 타입은 W1, W2, W3,...인 것으로 가정된다. 현재, 정책 "if((X1 & Y2)| Z3)& W4)then"이 있다고 가정하고, 여기서, 이 정책은 2개의 서비스 규칙 "if(X1 & Y2 & W4)then" 또는 "if(Z3 & W4)then"으로 형성되는 것으로 이해할 수 있다. 모듈 A가 처리를 완료한 후에, 조건 X1이 만족되지 않는다는 것이 파악된다. 따라서, 선행 서비스 규칙은 분명히 매칭되지 않고, 다음 서비스 규칙이 매칭되는지를 고려할 필요만이 있다. 이 경우, 차원 Z와 차원 W가 결정될 필요가 있다는 것을 알 수 있으므로, 패킷이 거치는 모듈들의 목록은 C->D이다. Y 차원을 책임지는 모듈 B는 모듈 목록으로부터 제거될 수 있다.
제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈이 패킷에 관한 처리를 완료한 후에, 제1 목록이 처리 모듈에 의한 패킷의 처리 결과에 따라 동적으로 업데이트되지 않는다면, 네트워크 장치는 처음 P개의 데이터 처리 모듈 식별자 이후에 있는 (M-P)개의 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈들을 계속 호출하여 처음 P개의 데이터 처리 모듈에 의해 처리된 패킷을 순차적으로 처리해, 패킷의 (M-P) 차원의 정보를 얻는다. 그러나, 모듈 목록을 동적으로 조절하기 위한 메커니즘이 도입된 후에, 처음 P개의 데이터 처리 모듈이 패킷에 관한 처리를 완료한 후, 재선택된 데이터 처리 모듈이 업데이트된 제1 목록에 의해 표시된 시퀀스에 따라 순차적으로 호출되어 패킷을 처리해 패킷의 하나 이상의 차원의 정보를 추가로 얻는다.
모듈 실행 목록을 동적으로 조절하기 위한 상기 단계들은 서비스 처리가 완료될 때까지 서비스 실행 프로시져에서 계속 반복될 수 있다는 점에 유의해야 한다. 복잡성이 고려되지 않는다면, 각각의 데이터 모듈이 패킷에 관한 처리를 완료한 후에, 패킷에 관한 후속 처리를 수행하기 위한 모듈의 목록이 모듈에 의한 패킷 처리 결과에 따라 동적으로 조절될 수 있다.
선택사항적 응용 시나리오에서, 서비스의 실행 정책은 사용자에 의해 사전 설정되는 구성 규칙을 더 포함하고, 구성 규칙은 서비스의 실행 조건을 나타내는데 이용된다. 예를 들어, 구성 규칙은 다음과 같을 수 있다: IP 주소 1에 대응하는 사용자 A로부터의 액세스는 허용되고, IP 주소 2에 대응하는 사용자 B로부터의 액세스는 허용되지 않는다.
선택사항으로서, 단계(101) 이전에, 이 실시예의 서비스 프로세스 제어 방법은 다음과 같은 단계(100)를 더 포함할 수 있다.
100: 패킷의 특성 정보를 얻고; 특성 정보에 따라, 네트워크 장치 상에 배치된 각각의 서비스의 실행 조건이 만족되는지를 결정하며; 실행 조건이 만족되는 서비스가 실행될 필요가 있는 서비스인지를 결정하는 단계.
패킷의 특성 정보는 패킷 헤더에 포함되는 일부 기본 정보일 수 있고, 패킷 특성, 예를 들어, URL, 5중 문자(quintuple), 및 트랜스포트 층 프로토콜 타입 등의 정보를 나타내는데 이용된다는 점에 유의해야 한다. 예를 들어, 패킷의 특성 정보는, 패킷의 타임스탬프, 패킷의 전송 소프트웨어, 패킷의 프로토콜, 패킷에서 운반되는 URL 주소, 패킷 수신단의 인터넷 프로토콜(Internet Protocol, 줄여서 IP) 주소 정보, 및/또는 패킷 수신단의 포트 정보 등을 포함할 수 있다. 구체적으로는, 복수의 서비스가 네트워크 장치 상에 배치된다. 일반적으로, 한 패킷을 처리하기 위한 프로시져에서, 모든 서비스가 실행되는 것은 아니다. 한 패킷을 수신한 후에, 네트워크 장치는, 구성 규칙과, 패킷의 타임스탬프, 패킷에서 운반되는 URL, 패킷의 프로토콜 타입, 패킷 수신단의 인터넷 프로토콜(Internet Protocol, 줄여서 IP) 주소, 및/또는 패킷 수신단의 포트 정보 등의 패킷의 특성 정보 사이의 매칭을 수행하고, 구성 규칙에 포함된 조건이 만족되는지를 결정하며, 나아가, 어떤 서비스가 현재 실행될 필요가 있는지를 결정한다. 대응적으로, 실행될 필요가 있는 서비스가 결정된 후에, 패킷을 처리하기 위한 M개의 데이터 처리 모듈이, 결정되고 실행될 필요가 있는 서비스에 대응하는 정책 세트에 따라 선택되고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스가 결정된다.
선택사항으로서, 서비스의 실행 정책은 우선순위를 더 가질 수도 있다. 예를 들어, 데이터 처리 모듈 A에 대응하는 X 차원의 조건은 IP=10.10.*이고, 데이터 처리 모듈 B에 대응하는 Y 차원의 조건은 포트=80이며, 데이터 처리 모듈 C에 대응하는 Z 차원의 조건은 L7 층 프로토콜 = HTTP이고, 데이터 처리 모듈 D에 대응하는 W 차원의 조건은 URL=www.huawei.com이다.
구성 규칙은 규칙 1: 액세스 차단(Block access), 및 규칙 2: 액세스 허용(Allow access)일 수 있다.
제1 실행 정책은 "IP = 10.10.", 및 "Port = 80"&"Rule 1"일 수 있다.
제2 실행 정책은 "L7 layer protocol = HTTP ", 및 "URL = www.huawei.com" & "Rule 2"일 수 있다.
이 경우, 제1 정책의 우선순위는 낮고, 제2 정책의 우선순위는 높다.
또 다른 실시예에서, 네트워크 장치가, 서비스의 실행 정책에 따라, 어떤 데이터 처리 모듈이 실행될 필요가 있는지 및 실행 시퀀스를 결정하는 것을 돕기 위해, 사용자는 먼저 데이터 처리 모듈들간의 디폴트 실행 시퀀스, 즉, 2개 또는 2개보다 많은 차원의 조건이 검증될 필요가 있을 때 데이터 처리 모듈들 각각이 실행되어야 하는 시퀀스를 사전 설정한다. 예를 들어, 정책이 "if(X1 & Y2 & Z3 & …) then"일 때, 이것은 각각의 차원의 조건이 검증될 필요가 있다는 것, 즉 각각의 데이터 처리 모듈이 실행될 필요가 있다는 것을 나타내고, 데이터 처리 모듈들이 서로 연관되지 않을 때, 이 경우에는, 설정되는 데이터 처리 모듈들의 실행 시퀀스는 디폴트 실행 시퀀스이다.
또한, 디폴트 실행 시퀀스가 얻어진 후에, 디폴트 실행 시퀀스에 따라 정렬된 모든 데이터 처리 모듈들의 모듈 목록이 얻어질 수 있다. 또한, 각각의 타입의 차원 조건은 정책 세트에 따라 분석함으로써 얻어진다. 소정 타입의 차원 조건이 검증될 필요가 없다면, 그 타입의 차원 조건에 대응하는 데이터 처리 모듈은 모듈 목록으로부터 삭제될 수 있고, 새로운 목록, 즉, 제1 목록이 얻어진다.
따라서, 이 실시예의 서비스 프로세스 제어 방법에 따르면, 패킷이 수신된 후에, 서비스의 실행 정책에 따라, 패킷을 처리할 필요가 있는 데이터 처리 모듈과 각각의 데이터 처리 모듈이 처리를 수행하기 위한 실행 시퀀스가 결정되어, 패킷은 각각의 데이터 처리 모듈의 처리를 거칠 필요가 없어, 서비스 실행 프로시져에서 불필요한 처리 프로세스와 중복된 정보 수집이 더욱 감소될 수 있고, 데이터 처리 모듈의 기능 범위가 필요에 따라 제어됨으로써, 서비스 처리 융통성을 개선하고 장치의 전체 성능을 향상시킨다.
또한, 본 발명의 이 실시예의 패킷은 통신 장치에 의해 수신된 패킷이거나, 통신 장치가 전송 준비중인 패킷이거나 네트워크 패킷일 수 있고, 이 실시예는 패킷의 소스에 제한을 두지 않는다.
도 5는 본 발명의 또 다른 실시예에 따른 서비스 프로세스 제어 방법의 개략적 플로차트이다. 이 실시예의 서비스 프로세스 제어 방법은 다음과 같이 기술된다.
201: 메인 제어 모듈은, 목록 생성 모듈에, 처리될 제1 패킷의 특성 정보를 전송하여, 목록 생성 모듈은 정책 세트와 제1 패킷의 특성 정보에 따라 제1 목록을 생성하고, 여기서, 제1 목록은 제1 패킷을 처리할 필요가 있는 적어도 하나의 데이터 처리 모듈을 포함한다.
202: 메인 제어 모듈은 목록 생성 모듈에 의해 전송된 제1 목록을 수신하고, 여기서, 제1 목록 내의 각각의 데이터 처리 모듈은 연관(association)에 따라 정렬된다.
203: 메인 제어 모듈은 제1 목록 내의 순차적으로 정렬된 데이터 처리 모듈을 호출하여 제1 패킷을 처리한다.
이 실시예의 서비스 프로세스 제어 방법에 따르면, 종래 기술에서의 장치 상의 데이터 흐름 처리 프로세스가 최적화될 수 있고, 서비스 처리 융통성이 향상되며, 장치의 전체 성능이 개선된다.
선택사항으로서, 도 5에 도시된 실시예에 기초하여, 이 실시예의 서비스 프로세스 제어 방법은, 도 5에 도시된 바와 같이, 후속하는 단계(204) 내지 단계(206)를 더 포함한다.
204: 메인 제어 모듈은, 제1 목록 내의 더 높은 랭크를 갖는 적어도 하나의 데이터 처리 모듈이 제1 패킷을 처리한 후에 얻어지는 제2 패킷을 얻는다.
205: 메인 제어 모듈은 제2 패킷의 특성 정보를 목록 생성 모듈에 전송하여, 목록 생성 모듈은, 정책 세트와 제2 패킷의 특성 정보에 따라, 제2 패킷을 처리할 필요가 있는 적어도 하나의 데이터 처리 모듈로 형성된 제2 목록을 생성한다.
206: 메인 제어 모듈은 목록 생성 모듈에 의해 전송된 제2 목록을 수신하고 제2 목록 내의 순차적으로 정렬된 데이터 처리 모듈을 호출하여 제2 패킷을 처리한다.
제2 패킷의 특성 정보는 제1 패킷의 특성 정보를 포함할 수 있다. 예를 들어, 소정 시나리오에서, 제2 패킷의 특성 정보는 제1 패킷의 특성 정보와 부가된 패킷의 특성 정보의 합일 수 있다.
따라서, 제1 목록은 현재 정책 세트와 제1 패킷의 특성 정보에 기초하여 생성되고, 제1 목록은 예를 들어 제2 목록을 얻도록 처리 프로시져에서 동적으로 조절되어 서비스 실행 프로세스를 동적으로 제어하는 목적을 달성한다.
예를 들어, 정책 세트 내의 임의의 한 조합이 URL 차원과 관련된 조건으로 구성되지 않을 때, 파싱 모듈은 실행되지 않는다. 특히, 실행 프로시져에서, 알려진 차원 정보의 일부에 따라 그리고 정책 세트 내의 정책으로부터 한 번 더 분석함으로써, 일부 데이터 처리 모듈은 실행될 필요가 없어서, 제1 목록을 조절하고 실행 프로세스를 변경하는 목적을 달성하는 것이 얻어진다.
이 실시예에서, 처리 프로세스에 미치는 상이한 패킷들의 특성 정보의 영향이 고려될 뿐만 아니라, 처리 프로세스에 미치는 현재 구성된 정책의 영향도 역시 고려됨으로써, 과도한 동작 단계를 피하고, 전체 성능을 개선하며, 서비스 처리 융통성을 향상시킨다.
상기 방법 실시예에 대응하여, 도 6에 도시된 바와 같이, 본 발명의 실시예는 네트워크 장치를 더 제공한다. 네트워크 장치는 구체적으로, 라우터, 스위치, 게이트웨이, 또는 서버 등과 같은 장치일 수 있다. 도 6에 따르면, (도 6의 서비스 1, 서비스 2, 및 서비스 n 등의) 하나 이상의 서비스 애플리케이션이 네트워크 장치(60) 상에 배치된다. 네트워크 장치(60)는, 트랜시버 모듈(610), 목록 생성 모듈(620), 스케줄링 모듈(630), 및 N개의 데이터 처리 모듈(본 발명의 이 실시예에서는, 도 6의 640이 설명을 위해 예로서 이용됨)을 포함하고, 여기서, N은 양의 정수이고, 각각의 데이터 처리 모듈은 패킷의 한 차원의 정보를 수집하도록 구성된다.
트랜시버 모듈(610)은 패킷을 수신하도록 구성된다.
목록 생성 모듈(620)은 네트워크 장치(60) 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라 트랜시버 모듈(610)에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하도록 구성되고, 여기서, M은 양의 정수이고, M은 N보다 작거나 같으며, 각각의 서비스의 실행 정책은 적어도 하나의 서비스 규칙을 포함하고, 각각의 서비스 규칙은 조건과 동작을 포함하고, 각각의 서비스 규칙의 매칭은 적어도 패킷의 한 차원의 정보에 의존한다.
본 발명의 이 실시예에서, 실행 정책은 주로 서비스의 동작 상태를 제어하는데 이용된다는 점에 유의해야 한다. 네트워크 장치 상에 배치되는 각각의 서비스는 대응하는 실행 정책으로 구성된다. 복수의 서비스의 실행 정책들의 집합은 정책 세트를 형성한다. 각각의 서비스의 실행 정책은 적어도 하나의 서비스 규칙을 포함하고, 서비스 규칙은 서비스의 실행 정책의 한 타입이다. 하나의 서비스 규칙은 2개 부분: 조건과 동작을 포함한다. 구체적으로는, 하나의 서비스 규칙은 하나 이상의 조건을 포함할 수 있고, 또한 하나 이상의 동작을 포함할 수 있으며, 동일한 서비스 규칙 내의 복수의 조건은 상이한 층들의 또는 상이한 차원들의 패킷 정보에 관한 것일 수 있다. 즉, 각각의 서비스 규칙에 포함된 규칙이 만족되는지를 결정하는 것이 요구된다면, 적어도 패킷의 한 차원의 정보는 의존대상이 된다, 즉, 각각의 서비스 규칙의 매칭은 적어도 패킷의 한 차원의 정보에 의존한다.
스케줄링 모듈(630)은, 목록 생성 모듈(620)에 의해 선택된 M개의 데이터 처리 모듈을 호출하여, 처리 시퀀스에 따라 패킷을 순차적으로 처리해 패킷의 적어도 한 차원의 정보를 얻고; 패킷의 적어도 한 차원의 정보에 따라, 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙에 대한 매칭을 수행해 성공적으로 매칭된 서비스 규칙을 결정하며; 성공적으로 매칭된 서비스 규칙에 대응하는 동작을 실행하도록 구성된다.
구체적으로는, 실시예에서, 도 7에 도시된 바와 같이, 목록 생성 모듈(620)은 구체적으로 하기 유닛들을 포함한다:
네트워크 장치(60) 상에 배치된 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙들로부터 조건을 추출하고, 추출된 조건이 만족되는지를 결정하는데 이용될 것이 요구되는 패킷의 모든 차원 정보를 결정하도록 구성된 추출 유닛(6201);
추출 유닛(6201)에 의해 결정된 모든 차원 정보에 따라 모든 차원 정보를 수집하는데 요구되는 M개의 데이터 처리 모듈을 선택하도록 구성된 선택 유닛(6202); 및
선택 유닛(6202)에 의해 선택된 M개의 데이터 처리 모듈들 사이의 의존 관계에 따라, M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하도록 구성된 정렬 유닛(6203).
바람직하게는, 또 다른 실시예에서, 목록 생성 모듈(620)은, 정렬 유닛(6203)에 의해 결정된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 나타내는데 이용되는 제1 목록을 생성하고 제1 목록을 스케줄링 모듈(630)에 전송하도록 구성된 목록 생성 유닛(6204)을 더 포함할 수 있고, 여기서, 제1 목록은 M개의 데이터 처리 모듈의 식별자들을 포함하고, 제1 목록 내의 M개의 데이터 처리 모듈의 식별자들은 정렬 유닛(6203)에 의해 결정된 처리 시퀀스에 따라 정렬된다. 이런 방식으로, 제1 목록을 수신한 후에, 스케줄링 모듈(630)은, 제1 목록에 의해 표시된 시퀀스에 따라 대응하는 데이터 처리 모듈을 호출하여 네트워크 장치(60)에 의해 수신된 패킷을 처리할 수 있다. 여기서 데이터 처리 모듈의 식별자는 데이터 처리 모듈의 코드라는 점에 유의해야 한다. 각각의 데이터 처리 모듈에는 고유한 식별자가 할당되어 데이터 처리 모듈을 나타낼 수 있다. 특정한 응용에서, 제1 목록은 데이터 쉬트, 파일, 또는 사진일 수 있다. 도 4에 도시된 바와 같이, 제1 목록은 단일-엔트리 링크형 목록일 수 있고, 여기서, 단일-엔트리 링크형 목록 내의 각각의 노드는 하나의 데이터 처리 모듈의 ID(identification; 식별자)를 저장하고, 노드들 사이의 링크 관계는 데이터 처리 모듈의 실행 시퀀스를 나타낸다. 구체적으로는, 스케줄링 모듈(630)이 제1 목록 내의 i번째 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈을 호출하면, 모듈은 패킷을 처리할 때 패킷 상에 마크를 설정할 수 있다. 모듈이 처리를 완료하고 처리된 패킷을 반환하면, 네트워크 장치는 i번째 데이터 처리 모듈이 실행되었음을 알 수 있고 제1 목록 내의 (i+1)번째 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈을 호출하여 i번째 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈에 의해 처리된 패킷에 관해 추가 처리를 수행할 수 있다. 특정한 응용에서, 제1 목록 내의 데이터 처리 모듈은, 데이터 처리 모듈이 대응하는 패킷을 처리하도록 콜백 기능을 이용하여 호출될 수 있고, 제어 융통성은 콜백 기능을 이용하여 개선된다.
또 다른 실시예에서, 스케줄링 모듈(630)은 하기 유닛들을 포함할 수 있다:
제1 목록 내의 처음 P개 ―P는 양의 정수―의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 패킷을 처리해 패킷의 적어도 한 차원의 정보를 얻도록 구성된 제1 스케줄링 유닛; 및
제1 목록 내에 있고 처음 P개의 데이터 처리 모듈 식별자들 이후에 있는 (M-P)개의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 처음 P개의 데이터 처리 모듈에 의해 처리된 패킷을 순차적으로 처리해 패킷의 적어도 한 차원의 정보를 얻도록 구성된 제2 스케줄링 유닛.
또한, 하나의 데이터 처리 모듈이 패킷에 관한 처리를 완료한 후에, 패킷에 대응하는 차원의 일부의 정보가 대응적으로 얻어지고, 목록 생성 모듈(620)은 패킷의 차원의 일부의 얻어진 정보에 따라 제1 목록을 업데이트할 수 있다.
구체적으로는, 제1 스케줄링 유닛이 제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자들에 대응하는 데이터 처리 모듈들을 호출하여 패킷을 처리해 패킷의 P개 차원의 정보를 얻은 후에, 목록 생성 모듈(620)은, P개의 차원의 정보에 따라, 패킷을 처리하기 위한 하나 이상의 데이터 처리 모듈을 재선택하고; 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하며; 제1 목록을 업데이트하여, 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 나타내도록 할 수 있고, 업데이트된 제1 목록은 재선택된 데이터 처리 모듈의 식별자를 포함하고, 재선택된 데이터 처리 모듈의 식별자는 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 시퀀스에 따라 업데이트된 제1 목록에서 정렬된다.
이 경우에, 구체적으로, 제2 스케줄링 유닛은, 업데이트된 제1 목록에 의해 표시된 시퀀스에 따라, 재선택된 데이터 처리 모듈을 순차적으로 호출하여 패킷을 처리해, 패킷의 적어도 한 차원의 정보를 얻을 수 있다. 이런 방식으로, 데이터 처리 모듈의 실행 시퀀스는 실행 프로시져에서 동적으로 조절될 수 있고, 목록 내의 데이터 처리 모듈은 실시간으로 업데이트될 수 있고, 동적 조절의 목적이 달성될 수 있다. 또한, 종래 기술에서의 장치 상의 데이터 흐름 처리 프로세스가 최적화될 수 있고, 서비스 처리 융통성이 개선되며, 장치의 전체 성능이 향상된다.
모듈 실행 목록을 동적으로 조절하기 위한 상기 단계들은 서비스 처리가 완료될 때까지 서비스 실행 프로시져에서 계속 반복될 수 있다는 점에 유의해야 한다. 복잡성이 고려되지 않는다면, 각각의 데이터 모듈이 패킷에 관한 처리를 완료한 후에, 패킷에 관한 후속 처리를 수행하기 위한 모듈의 목록이 모듈에 의한 패킷 처리 결과에 따라 동적으로 조절될 수 있다.
선택사항적 응용 시나리오에서, 서비스의 실행 정책은 사용자에 의해 사전 설정되는 구성 규칙을 더 포함하고, 구성 규칙은 서비스의 실행 조건을 나타내는데 이용된다. 예를 들어, 구성 규칙은 다음과 같을 수 있다: IP 주소 1에 대응하는 사용자 A는 서비스 1을 실행하는 것이 허용되고, IP 주소 2에 대응하는 사용자 B는 서비스 1을 실행하는 것이 허용되지 않는다.
선택사항으로서, 네트워크 장치(60)는, 패킷의 특성 정보를 얻고; 특성 정보에 따라, 네트워크 장치 상에 배치된 각각의 서비스의 실행 조건이 만족되는지를 결정하며; 실행 조건이 만족되는 서비스가 실행될 필요가 있는 서비스인지를 결정하도록 구성된 식별 모듈(650)을 더 포함한다.
패킷의 특성 정보는 패킷 헤더에 포함되는 소정의 기본 정보일 수 있고, 패킷 특성, 예를 들어, URL, 5중 문자, 및 트랜스포트 층 프로토콜 타입 등의 정보를 나타내는데 이용된다는 점에 유의해야 한다. 예를 들어, 패킷의 특성 정보는, 패킷의 타임스탬프, 패킷의 전송 소프트웨어, 패킷의 프로토콜, 패킷 액세스의 URL 주소, 패킷 수신단의 인터넷 프로토콜(Internet Protocol, 줄여서 IP) 주소 정보, 및/또는 패킷 수신단의 포트 정보 등을 포함할 수 있다. 구체적으로는, 복수의 서비스가 네트워크 장치(60) 상에 배치된다. 일반적으로, 한 패킷을 처리하기 위한 프로시져에서, 모든 서비스가 실행되는 것은 아니다. 트랜시버 모듈(610)이 한 패킷을 수신한 후에, 식별 모듈(650)은, 패킷의 타임스탬프, 패킷에서 운반되는 URL, 패킷의 프로토콜 타입, 패킷 수신단의 IP 주소, 및/또는 패킷 수신단의 포트 정보 등의 패킷의 특성 정보와, 각각의 서비스의 구성 규칙 사이의 매칭을 수행하고, 각각의 서비스의 구성 규칙에 포함된 조건이 만족되는지를 결정하며, 나아가, 어떤 서비스가 현재 실행될 필요가 있는지를 결정한다. 대응적으로, 식별 모듈(650)이 실행될 필요가 있는 서비스를 결정한 후에, 목록 생성 모듈(620)은 또한, 결정되고 실행될 필요가 있는 서비스에 대응하는 실행 정책에 따라, 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정한다.
본 발명의 이 실시예에서, 트랜시버 모듈(610)은 구체적으로 네트워크 포트, USB 인터페이스, 무선 주파수 유닛, 안테나, 또는 Wi-Fi 통신 모듈 등의 데이터 송수신 기능을 구현할 수 있는 장치나 유닛일 수 있고; 목록 생성 모듈(620) 및 스케줄링 모듈(630)은 중앙 처리 유닛(Central Processing Unit, 줄여서 CPU) 또는 주문형 집적 회로(Application Specific Integrated Circuit, 줄여서 ASIC)일 수 있지만, 여기서는 특별히 제한되지 않는다는 점에 유의해야 한다.
또한, 본 발명의 이 실시예에서 제공되는 네트워크 장치의 특정한 동작 원리 및 동작 프로시져에 대해, 상기 방법 실시예에 대한 참조가 이루어질 수 있고, 상세사항은 여기서는 반복적으로 설명되지 않는다는 점을 이해해야 한다.
이하에서는, 본 발명의 이 실시예에서 제공되는 네트워크 장치의 동작 프로세스를 예를 이용하여 설명한다:
(1) 트랜시버 모듈이 패킷을 수신하고, 이 패킷은 스케줄링 모듈의 스케줄링 입구(scheduling entrance)에 도달하고, 스케줄링 모듈은 목록 생성 모듈에게 모듈 목록을 요청한다.
(2) 목록 생성 모듈은 먼저, 구성된 정책 세트에 따라 기본 모듈 목록을 생성한다.
(3) 기본 모듈 목록에서 모듈이 먼저 패킷의 기본 정보를 얻고 기본 정보가 어떤 구성 조건을 만족하는지를 결정한다.
(4) 패킷은 스케줄링 모듈로 복귀하여, 새로운 조건이 만족된다는 것이 파악되고, 새로운 조건에 따라 모든 구성된 정책들에서 실행될 필요가 있는 서비스가 파악된다.
(5) 스케줄링 모듈은 모든 새로이 얻어진 패킷 정보를 목록 생성 모듈에 전송하고, 업데이트된 모듈 목록을 요청한다.
(6) 목록 생성 모듈은, 새로이 얻어진 정보, 새로이 매칭된 구성 조건, 현재의 처리 스테이지, 및 실행될 필요가 있는 서비스에 따라 새로운 모듈 목록을 생성한다.
(7) 스케줄링 모듈은 새로운 모듈 목록을 얻고, 새로운 모듈 목록 내의 데이터 처리 모듈을 호출하여 패킷을 처리한다.
(8) 새로운 모듈 목록 내의 마지막 데이터 처리 모듈이 실행되었고 아무런 새로운 모듈도 생성되지 않는다면 스케줄링은 완료된다. 일반적으로, 마지막 데이터 처리 모듈은 패킷을 전송하거나 패킷을 폐기한다.
본 발명의 이 실시예에서 제공되는 네트워크 장치에 따르면, 처리 프로세스에 미치는 상이한 패킷들의 특성 정보의 영향이 고려될 수 있고, 처리 프로세스에 미치는 현재 구성된 정책의 영향도 역시 고려됨으로써, 정책 실행 프로시져에서의 불필요한 처리 프로세스와 중복된 정보 수집을 줄이고, 과도한 처리 프로시져를 피하며, 전체 성능을 개선하고, 서비스 처리 융통성을 향상시킨다.
도 8은 본 발명의 실시예에 따른 또 다른 네트워크 장치(800)의 개략적 구조도이다. 네트워크 장치(800)는, 입력 장치(801), 출력 장치(804), 프로세서(802), 및 메모리(803)를 포함할 수 있다.
메모리(803)는 판독 전용 메모리와 랜덤 액세스 메모리를 포함할 수 있고, 프로세서(802)를 위한 명령어와 데이터를 제공한다. 메모리(803)의 일부는 비휘발성 랜덤 액세스 메모리(NVRAM)를 더 포함할 수 있다.
메모리(803)는 다음과 같은 요소들: 실행가능한 모듈 또는 데이터 구조, 실행가능한 모듈 또는 데이터 구조의 부분집합, 또는 실행가능한 모듈 또는 데이터 구조의 확장된 집합을 저장한다.
동작 명령어는, 다양한 동작을 구현하는데 이용되는 다양한 동작 명령어를 포함한다.
운영 체제는, 다양한 기본 서비스를 구현하고 하드웨어-기반의 태스크를 처리하는데 이용되는 다양한 시스템 프로그램을 포함한다.
본 발명의 이 실시예에서, 프로세서(802)는 메모리(803) 상에 저장된 동작 명령어를 호출시킴으로써 다음과 같은 동작을 실행한다(여기서 동작 명령어는 운영 체제에 저장될 수 있음):
네트워크 장치(800) 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라, 입력 장치(801)에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 선택된 M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 결정하는 것; 선택된 M개의 데이터 처리 모듈을 호출하여 처리 시퀀스에 따라 패킷을 순차적으로 처리해, 각각의 호출된 데이터 처리 모듈이 패킷의 한 차원의 정보를 수집하는 것; 및 수집되는 패킷의 모든 정보에 따라, 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙들에 대한 매칭을 수행하여 성공적으로 매칭된 서비스 규칙을 결정하고, 성공적으로 매칭된 서비스 규칙에 대응하는 동작을 실행하는 것. 여기서, 네트워크 장치(800)는 N개의 데이터 처리 모듈을 포함하고, N은 M보다 크거나 같고, M과 N은 둘다 양의 정수이고, 서비스의 실행 정책은 서비스의 동작을 제어하는데 이용되고, 각각의 서비스의 실행 정책은 적어도 하나의 서비스 규칙을 포함하고, 각각의 서비스 규칙은 조건과 동작을 포함하고, 각각의 서비스 규칙의 매칭은 적어도 패킷의 한 차원의 정보에 의존한다.
본 발명의 이 실시예에서, 패킷을 수신한 후에, 네트워크 장치(800)는, 서비스의 실행 정책에 따라, 패킷을 처리할 필요가 있는 데이터 처리 모듈을 결정하고, 각각의 데이터 처리 모듈이 처리를 수행하기 위한 실행 시퀀스를 결정하여, 패킷은 각각의 데이터 처리 모듈의 처리를 거칠 필요가 없어, 서비스 실행 프로시져에서의 불필요한 처리 프로세스와 중복된 정보 수집이 더욱 감소될 수 있고, 데이터 처리 모듈의 기능 범위가 필요에 따라 제어됨으로써, 서비스 처리 융통성을 개선하고 장치의 전체 성능을 향상시킨다.
프로세서(802)는 네트워크 장치(800)의 동작을 제어하고, 프로세서(802)는 또한 CPU(Central Processing Unit, 중앙 처리 유닛)라고 부를 수 있다. 메모리(803)는 판독 전용 메모리와 랜덤 액세스 메모리를 포함할 수 있고, 프로세서(802)를 위한 명령어와 데이터를 제공한다. 메모리(803)의 일부는 비휘발성 랜덤 액세스 메모리(NVRAM)를 더 포함할 수 있다. 특정한 응용에서, 네트워크 장치(800)의 각각의 컴포넌트는 버스 시스템(805)을 이용하여 함께 결합되고, 여기서, 버스 시스템(805)은 데이터 버스를 포함하고, 전력 버스, 제어 버스, 상태 신호 버스 등을 더 포함할 수도 있다. 그러나, 설명의 명료화를 위해, 다양한 버스들은 도면에서 버스 시스템(805)으로서 표기된다.
본 발명의 상기 실시예들에서 개시된 방법들은 프로세서(802)에 적용되거나 프로세서(802)에 의해 구현될 수 있다. 프로세서(802)는 집적 회로 칩일 수 있고 신호 처리 능력을 가진다. 구현 프로시져에서, 상기 방법들의 단계들 각각은 프로세서(802) 내의 하드웨어의 통합된 논리 회로 또는 소프트웨어 형태의 명령어를 이용하여 완료될 수 있다. 프로세서(802)는, 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 또는 또 다른 프로그래머블 로직 장치, 개별 게이트 또는 트랜지스터 로직 장치, 또는 개별 하드웨어 컴포넌트일 수도 있고, 본 발명의 실시예들에서 개시된 방법들, 단계들, 및 논리 블록도들 각각을 구현하거나 실행할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있고, 또는 프로세서는 임의의 종래의 프로세서 등일 수도 있다. 본 발명의 실시예들에서 개시된 방법들의 단계들은 하드웨어 디코딩 프로세서에 의해 직접 실행되거나, 디코딩 프로세서 내의 하드웨어 및 소프트웨어 모듈의 조합에 의해 실행될 수도 있다. 소프트웨어 모듈은, 랜덤 액세스 메모리, 플래시 메모리, 판독 전용 메모리, 프로그래머블 판독 전용 메모리, 전기적으로 소거가능한 프로그래머블 메모리, 또는 레지스터 등의 본 분야의 발달된(mature) 저장 매체에 위치할 수도 있다. 저장 매체는 메모리(803)에 위치한다. 프로세서(802)는 메모리(803) 내의 정보를 판독하고, 프로세서(802)의 하드웨어와 조합하여 상기 방법들의 단계들을 완료한다.
선택사항으로서, 프로세서(802)는 또한, M개의 데이터 처리 모듈이 패킷을 처리하기 위한 처리 시퀀스를 나타내는데 이용되는 제1 목록을 생성할 수 있다.
선택사항으로서, 프로세서(802)는 또한, 제1 목록 내의 처음 P개의 데이터 처리 모듈에 의해 수집되는 패킷의 정보에 따라, 패킷을 처리하기 위한 하나 이상의 데이터 처리 모듈을 재선택하고; 재선택된 데이터 처리 모듈이 패킷을 처리하기 위한 시퀀스를 나타내는데 이용되는 제2 목록을 생성하며, 제2 목록에 의해 표시된 시퀀스에 따라, 제2 목록 내의 데이터 처리 모듈을 순차적으로 호출하여 처음 P개의 데이터 처리 모듈에 의해 처리된 패킷을 처리해 패킷의 적어도 한 차원의 정보를 얻을 수 있다.
본 발명의 이 실시예에 제공되는 네트워크 장치에 따르면, 패킷의 수신 후에, 네트워크 장치는, 서비스에 대응하는 실행 정책에 따라, 데이터 처리 모듈이 패킷을 처리하기 위한 실행 시퀀스를 동적으로 생성하고; 또한, 시퀀스에 따라, 각각의 데이터 처리 모듈을 순차적으로 호출하여 패킷을 처리해, 패킷이 각각의 데이터 처리 모듈의 처리를 거칠 필요가 없고 서비스 실행 프로시져에서 불필요한 처리 프로세스와 중복된 정보 수집이 감소될 수 있어서, 서비스 처리 융통성을 개선하고 장치의 전체 성능을 향상시킨다.
당업자라면, 방법 실시예들의 단계들의 전부 또는 일부는 관련 하드웨어에게 명령하는 프로그램에 의해 구현될 수 있다는 것을 이해할 수 있을 것이다. 이 프로그램은 컴퓨터 판독가능한 저장 매체에 저장될 수 있다. 프로그램이 실행되면, 방법 실시예들의 단계들이 수행된다. 상기 저장 매체는, ROM, RAM, 자기 디스크, 또는 광 디스크 등의 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.
마지막으로, 상기 실시예들은 본 발명을 제한하고자 함이 아니라 본 발명의 기술적 해결책을 설명하기 위한 것일 뿐이라는 점에 유의해야 한다. 본 발명이 상기 실시예를 참조하여 상세히 설명되었지만, 당업자라면, 본 발명의 실시예의 기술적 해결책의 범위로부터 벗어나지 않고, 상기 실시예에서 설명된 기술적 해결책에 수정을 가하거나 그의 일부 또는 모든 기술적 특징들에 대해 대등한 대체를 행할 수도 있다는 것을 이해해야 한다.

Claims (13)

  1. 네트워크 장치에서의 서비스 프로세스 제어 방법으로서 ― 상기 네트워크 장치는 N개의 데이터 처리 모듈을 포함하고, 각각의 데이터 처리 모듈은 상기 네트워크 장치에 의해 수신된 패킷의 일 차원(one dimension)의 정보를 수집하도록 구성됨 ―,
    상기 네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책(execution policy)에 따라, 상기 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 상기 선택된 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스(processing sequence)를 결정하는 단계 ― N은 M 이상이고, M과 N은 둘 다 양의 정수이고, 각각의 서비스의 실행 정책은 적어도 하나의 서비스 규칙을 포함하고, 각각의 서비스 규칙은 조건(condition)과 동작(action)을 포함하고, 각각의 서비스 규칙의 매칭(matching)은 상기 패킷의 일 차원의 정보에 적어도 의존함 ―;
    상기 선택된 M개의 데이터 처리 모듈을 호출(invoking)하여, 상기 처리 시퀀스에 따라 상기 패킷을 처리하는 단계; 및
    상기 M개의 데이터 처리 모듈에 의해 수집되는 상기 패킷의 모든 정보에 따라, 상기 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙에 대한 매칭을 수행하여, 상기 모든 서비스 규칙 중에서 매칭된 서비스 규칙을 결정하고; 상기 매칭된 서비스 규칙에 대응하는 동작을 실행하는 단계
    를 포함하는 서비스 프로세스 제어 방법.
  2. 제1항에 있어서,
    상기 네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라, 상기 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하는 단계는,
    상기 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙으로부터 조건을 추출하고, 상기 추출된 조건이 만족되는지를 결정하는데 이용되는 것이 요구되는 상기 패킷의 모든 차원 정보를 결정하는 단계; 및
    상기 결정된 모든 차원 정보에 따라, 상기 모든 차원 정보를 수집하는데 요구되는 상기 M개의 데이터 처리 모듈을 결정하는 단계
    를 포함하는, 서비스 프로세스 제어 방법.
  3. 제1항에 있어서,
    상기 선택된 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계는, 상기 M개의 데이터 처리 모듈 사이의 의존 관계에 따라, 상기 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계를 포함하는, 서비스 프로세스 제어 방법.
  4. 제1항에 있어서,
    상기 방법은, 상기 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 상기 처리 시퀀스를 나타내는데 이용되는 제1 목록을 생성하는 단계를 더 포함하고, 상기 제1 목록은 상기 M개의 데이터 처리 모듈의 식별자(identification)들을 포함하고, 상기 제1 목록 내의 상기 M개의 데이터 처리 모듈의 식별자들은 상기 결정된 처리 시퀀스에 따라 정렬되고,
    상기 선택된 M개의 데이터 처리 모듈을 호출하여, 상기 처리 시퀀스에 따라 상기 패킷을 처리하는 단계는,
    상기 제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 상기 패킷을 처리해서, 상기 패킷의 P 차원의 정보를 얻는 단계 ― P는 양의 정수임 ―; 및
    상기 제1 목록 내에 있고 상기 처음 P개의 데이터 처리 모듈 식별자 이후에 있는 (M-P)개의 데이터 처리 모듈 식별자에 대응하는 (M-P)개의 데이터 처리 모듈을 순차적으로 호출하여 상기 패킷을 처리해서, 상기 패킷의 적어도 일 차원의 정보를 얻는 단계
    를 포함하는, 서비스 프로세스 제어 방법.
  5. 제4항에 있어서,
    상기 제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 상기 패킷을 처리해서, 상기 패킷의 P 차원의 정보를 얻는 단계 이후에, 상기 방법은, 상기 P 차원의 정보에 따라, 상기 패킷을 처리하기 위해 상기 (M-P)개의 데이터 처리 모듈로부터 하나 이상의 데이터 처리 모듈을 재선택하는 단계; 상기 재선택된 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계; 및 상기 제1 목록을 업데이트하여, 상기 재선택된 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 나타내도록 하는 단계를 더 포함하고, 업데이트된 제1 목록은 상기 재선택된 데이터 처리 모듈의 식별자를 포함하고, 상기 재선택된 데이터 처리 모듈의 식별자는 상기 재선택된 데이터 처리 모듈이 상기 패킷을 처리하기 위한 상기 시퀀스에 따라 상기 업데이트된 제1 목록에서 정렬되고,
    대응적으로, 상기 제1 목록 내에 있고 상기 처음 P개의 데이터 처리 모듈 식별자 이후에 있는 (M-P)개의 데이터 처리 모듈 식별자에 대응하는 (M-P)개의 데이터 처리 모듈들을 순차적으로 호출하여 상기 패킷을 처리해서, 상기 패킷의 적어도 일 차원의 정보를 얻는 단계는, 상기 업데이트된 제1 목록에 의해 표시된 상기 시퀀스에 따라, 상기 재선택된 데이터 처리 모듈을 순차적으로 호출하여 상기 패킷을 처리해서, 상기 패킷의 적어도 일 차원의 정보를 얻는 단계를 포함하는, 서비스 프로세스 제어 방법.
  6. 제1항에 있어서,
    각각의 서비스의 실행 정책은 사전 설정된 구성 규칙을 더 포함하고, 상기 구성 규칙은 상기 서비스의 실행 조건을 나타내는데 이용되고,
    상기 방법은, 상기 패킷의 특성 정보를 얻는 단계; 상기 특성 정보에 따라, 상기 네트워크 장치 상에 배치된 각각의 서비스의 실행 조건이 만족되는지를 결정하는 단계; 및 실행 조건이 만족되는 서비스가 실행될 필요가 있는 서비스인 것을 결정하는 단계를 더 포함하고,
    상기 네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라, 상기 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고, 상기 선택된 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계는, 결정되고 실행될 필요가 있는 서비스의 실행 정책에 따라, 상기 네트워크 장치에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하는 단계; 및 상기 선택된 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하는 단계를 포함하는, 서비스 프로세스 제어 방법.
  7. 제6항에 있어서,
    상기 패킷의 특성 정보는, 상기 패킷의 타임스탬프, 상기 패킷에서 운반되는 URL(uniform resource locator), 및 상기 패킷의 수신단의 인터넷 프로토콜(IP) 주소와 포트 정보 중 적어도 하나를 포함하는, 서비스 프로세스 제어 방법.
  8. 네트워크 장치로서,
    프로세서, 및 프로세서 실행가능한 명령어들이 저장된 비일시적 프로세서 판독가능 매체를 포함하고,
    상기 프로세서 실행가능한 명령어들은 복수의 유닛을 포함하고,
    상기 유닛들은, 트랜시버 모듈, 목록 생성 모듈, 스케줄링 모듈, 및 N개의 데이터 처리 모듈을 포함하고,
    N은 양의 정수이고, 각각의 데이터 처리 모듈은 패킷의 일 차원의 정보를 수집하도록 구성되고,
    상기 트랜시버 모듈은 패킷을 수신하도록 구성되고,
    상기 목록 생성 모듈은, 상기 네트워크 장치 상에 배치된 적어도 하나의 서비스의 실행 정책에 따라, 상기 트랜시버 모듈에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고; 상기 선택된 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하도록 구성되고, M은 양의 정수이고, M은 N 이하이고, 각각의 서비스의 실행 정책은 적어도 하나의 서비스 규칙을 포함하고, 각각의 서비스 규칙은 조건과 동작을 포함하고, 각각의 서비스 규칙의 매칭은 상기 패킷의 일 차원의 정보에 적어도 의존하고,
    상기 스케줄링 모듈은, 상기 목록 생성 모듈에 의해 선택된 상기 M개의 데이터 처리 모듈을 호출하여, 상기 처리 시퀀스에 따라 상기 패킷을 순차적으로 처리해서, 상기 패킷의 적어도 일 차원의 정보를 얻고; 상기 패킷의 적어도 일 차원의 정보에 따라, 상기 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙에 대한 매칭을 수행하여, 상기 모든 서비스 규칙 중에서 매칭된 서비스 규칙을 결정하며; 상기 매칭된 서비스 규칙에 대응하는 동작을 실행하도록 구성되는, 네트워크 장치.
  9. 제8항에 있어서,
    상기 목록 생성 모듈은,
    상기 적어도 하나의 서비스의 실행 정책에 포함된 모든 서비스 규칙으로부터 조건을 추출하고, 상기 추출된 조건이 만족되는지를 결정하는데 이용되는 것이 요구되는 상기 패킷의 모든 차원 정보를 결정하도록 구성된 추출 유닛;
    상기 추출 유닛에 의해 결정된 모든 차원 정보에 따라, 상기 모든 차원 정보를 수집하는데 요구되는 상기 M개의 데이터 처리 모듈을 선택하도록 구성된 선택 유닛; 및
    상기 선택 유닛에 의해 선택된 상기 M개의 데이터 처리 모듈 사이의 의존 관계에 따라, 상기 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하도록 구성된 정렬 유닛
    을 포함하는, 네트워크 장치.
  10. 제9항에 있어서,
    상기 목록 생성 모듈은, 상기 정렬 유닛에 의해 결정되는 상기 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 나타내는데 이용되는 제1 목록을 생성하도록 구성된 목록 생성 유닛을 더 포함하고, 상기 제1 목록은 상기 M개의 데이터 처리 모듈의 식별자들을 포함하고, 상기 제1 목록 내의 상기 M개의 데이터 처리 모듈의 식별자들은 상기 처리 시퀀스에 따라 정렬되고,
    상기 스케줄링 모듈은,
    상기 제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈들을 순차적으로 호출하여 상기 패킷을 처리해서, 상기 패킷의 적어도 일 차원의 정보를 얻도록 구성된 제1 스케줄링 유닛 ― P는 양의 정수임 ―; 및
    상기 제1 목록 내에 있고 상기 처음 P개의 데이터 처리 모듈 식별자 이후에 있는 (M-P)개의 데이터 처리 모듈 식별자에 대응하는 (M-P)개의 데이터 처리 모듈을 순차적으로 호출하여 상기 패킷을 처리해서, 상기 패킷의 적어도 일 차원의 정보를 얻도록 구성된 제2 스케줄링 유닛
    을 포함하는, 네트워크 장치.
  11. 제10항에 있어서,
    상기 목록 생성 모듈은, 상기 제1 스케줄링 유닛이 상기 제1 목록 내의 처음 P개의 데이터 처리 모듈 식별자에 대응하는 데이터 처리 모듈들을 호출하여 상기 패킷을 처리해서, 상기 패킷의 적어도 일 차원의 정보를 얻은 이후에, 상기 패킷의 적어도 일 차원의 정보에 따라, 상기 패킷을 처리하기 위해 상기 (M-P)개의 데이터 처리 모듈로부터 하나 이상의 데이터 처리 모듈을 재선택하고; 상기 재선택된 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하고; 상기 제1 목록을 업데이트하여, 상기 재선택된 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 나타내도록 또한 구성되고, 업데이트된 제1 목록은 상기 재선택된 데이터 처리 모듈의 식별자를 포함하고, 상기 재선택된 데이터 처리 모듈의 식별자는 상기 재선택된 데이터 처리 모듈이 상기 패킷을 처리하기 위한 상기 시퀀스에 따라 상기 업데이트된 제1 목록에서 정렬되고,
    대응적으로, 상기 제2 스케줄링 유닛은, 상기 업데이트된 제1 목록에 의해 표시된 상기 시퀀스에 따라, 상기 재선택된 데이터 처리 모듈을 순차적으로 호출하여 상기 패킷을 처리해서, 상기 패킷의 적어도 일 차원의 정보를 얻도록 구성되는, 네트워크 장치.
  12. 제8항에 있어서,
    각각의 서비스의 실행 정책은 사전 설정된 구성 규칙을 더 포함하고, 상기 구성 규칙은 상기 서비스의 실행 조건을 나타내는데 이용되고,
    상기 네트워크 장치는, 상기 패킷의 특성 정보를 얻고; 상기 특성 정보에 따라, 상기 네트워크 장치 상에 배치된 각각의 서비스의 실행 조건이 만족되는지를 결정하며; 실행 조건이 만족되는 서비스가 실행될 필요가 있는 서비스인 것을 결정하도록 구성된 식별 모듈을 더 포함하고,
    상기 목록 생성 모듈은, 상기 식별 모듈에 의해 식별되고 실행될 필요가 있는 서비스의 실행 정책에 따라, 상기 트랜시버 모듈에 의해 수신된 패킷을 처리하기 위한 M개의 데이터 처리 모듈을 선택하고; 상기 선택된 M개의 데이터 처리 모듈이 상기 패킷을 처리하기 위한 처리 시퀀스를 결정하도록 구성되는, 네트워크 장치.
  13. 제12항에 있어서,
    상기 패킷의 특성 정보는, 상기 패킷의 타임스탬프, 상기 패킷에서 운반되는 URL(uniform resource locator), 및 상기 패킷의 수신단의 인터넷 프로토콜(IP) 주소와 포트 정보 중 적어도 하나를 포함하는, 네트워크 장치.
KR1020147027100A 2013-06-03 2014-01-20 서비스 프로세스 제어 방법 및 네트워크 장치 KR101562155B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310216184.0 2013-06-03
CN201310216184.0A CN103346974B (zh) 2013-06-03 2013-06-03 一种业务流程的控制方法及网络设备
PCT/CN2014/070910 WO2014194677A1 (zh) 2013-06-03 2014-01-20 一种业务流程的控制方法及网络设备

Publications (2)

Publication Number Publication Date
KR20150016207A KR20150016207A (ko) 2015-02-11
KR101562155B1 true KR101562155B1 (ko) 2015-10-20

Family

ID=49281749

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147027100A KR101562155B1 (ko) 2013-06-03 2014-01-20 서비스 프로세스 제어 방법 및 네트워크 장치

Country Status (9)

Country Link
US (4) US9537982B2 (ko)
EP (2) EP3174256B1 (ko)
JP (1) JP5943331B2 (ko)
KR (1) KR101562155B1 (ko)
CN (1) CN103346974B (ko)
AU (1) AU2014277525B2 (ko)
ES (1) ES2606769T3 (ko)
RU (1) RU2632152C2 (ko)
WO (1) WO2014194677A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103346974B (zh) 2013-06-03 2015-04-08 华为技术有限公司 一种业务流程的控制方法及网络设备
CN103346980B (zh) 2013-07-02 2016-08-10 华为技术有限公司 一种业务调度方法、装置及网络设备
CN103546466B (zh) * 2013-10-15 2017-03-08 华为技术有限公司 一种多业务交互处理的方法和网络设备
CN103634146B (zh) * 2013-11-27 2017-02-22 华为技术有限公司 一种网络数据处理方法及装置
WO2015100751A1 (zh) * 2014-01-06 2015-07-09 华为技术有限公司 一种转发报文的方法和装置
CN104391932B (zh) * 2014-11-21 2018-03-02 北京京东尚科信息技术有限公司 处理业务数据的方法和系统
CN104702532B (zh) * 2015-02-11 2019-03-15 新华三技术有限公司 一种业务处理方法和设备
WO2018147313A1 (ja) * 2017-02-08 2018-08-16 日本電信電話株式会社 通信装置及び通信方法
CN109032704B (zh) * 2017-06-12 2022-08-09 深圳市中兴微电子技术有限公司 一种数据处理的方法和设备
CN107454016A (zh) * 2017-09-29 2017-12-08 湖南恒茂高科股份有限公司 报文处理装置及方法
CN109802864B (zh) * 2017-11-16 2023-01-10 中兴通讯股份有限公司 芯片设计验证方法、装置及芯片测试器
CN107831842A (zh) * 2017-12-10 2018-03-23 夏烬楚 基于大数据的智能信息捕获系统
KR102125607B1 (ko) 2018-03-19 2020-06-22 최병수 인쇄회로기판 적재용 박스
KR102013066B1 (ko) 2018-04-05 2019-08-21 최병수 인쇄회로기판 적재장치
CN110830278A (zh) * 2018-08-09 2020-02-21 中兴通讯股份有限公司 一种设备配置更新方法、更新装置及计算机可读存储介质
CN109510776B (zh) * 2018-10-12 2022-07-12 新华三技术有限公司合肥分公司 流量控制方法及装置
CN111371579B (zh) * 2018-12-26 2023-04-07 中兴通讯股份有限公司 云平台部署方法、装置、服务器及存储介质
CN111274019B (zh) * 2019-12-31 2023-05-12 深圳云天励飞技术有限公司 一种数据处理方法、装置及计算机可读存储介质
JP7444434B2 (ja) 2020-01-22 2024-03-06 プラスワン株式会社 包装用容器
CN115086329A (zh) * 2022-06-06 2022-09-20 上海弘积信息科技有限公司 一种应用于负载均衡系统的报文转发处理方法
CN115103039B (zh) * 2022-06-25 2024-06-07 平安银行股份有限公司 一种报文数据处理方法、装置、智能设备及存储介质
CN115695549A (zh) * 2022-10-27 2023-02-03 武汉方舟拓海科技有限公司 一种软件架构、终端设备及软件架构的应用方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101409885A (zh) 2008-11-18 2009-04-15 中国移动通信集团福建有限公司 基于规则引擎的异常指标分析方法

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3483485B2 (ja) * 1999-01-18 2004-01-06 富士通株式会社 インバンド型snmpアクセス方式の伝送装置
JP2001168913A (ja) * 1999-12-10 2001-06-22 Hitachi Ltd ネットワークポリシー転送方法および分散ルールベースプログラム転送方法
JP3963690B2 (ja) * 2001-03-27 2007-08-22 富士通株式会社 パケット中継処理装置
US7165100B2 (en) 2001-07-24 2007-01-16 At&T Corp. Method and apparatus for packet analysis in a network
JP3802464B2 (ja) * 2002-08-14 2006-07-26 日本電信電話株式会社 通信ネットワークシステム、サービス処理制御方法、プロバイダサーバおよびサービス処理装置
US7363383B2 (en) * 2003-04-23 2008-04-22 Sun Microsytems, Inc. Running a communication protocol state machine through a packet classifier
JP4365672B2 (ja) * 2003-12-04 2009-11-18 株式会社日立製作所 パケット通信ノード装置
JP4184997B2 (ja) * 2004-03-01 2008-11-19 日本電信電話株式会社 サービス提供プラットフォーム装置およびサービス提供方法
JP4107252B2 (ja) * 2004-03-11 2008-06-25 日本電気株式会社 通信中継装置、通信中継方法、および通信中継プログラム
US20060034301A1 (en) 2004-06-04 2006-02-16 Anderson Jon J High data rate interface apparatus and method
AU2005253592B2 (en) * 2004-06-04 2009-02-05 Qualcomm Incorporated High data rate interface apparatus and method
US20050289244A1 (en) 2004-06-28 2005-12-29 Himansu Sahu Method for service chaining in a communication network
US20080002673A1 (en) * 2006-06-30 2008-01-03 Don Smitheimer Apparatus and system for localized multi-media communications and network
US9253274B2 (en) 2007-01-19 2016-02-02 Cisco Technology, Inc. Service insertion architecture
CN101022539B (zh) * 2007-02-15 2010-08-25 华为技术有限公司 实现业务控制的方法、系统、交互式epg和业务中间件
US20080267191A1 (en) * 2007-04-27 2008-10-30 Vonage Network Inc. Apparatus and method for multiple stage media communications
EP2158777B1 (en) * 2007-06-18 2014-09-17 Allot Communications Ltd. A dpi matrix allocator
US20090019121A1 (en) 2007-07-10 2009-01-15 Messagelabs Limited Message processing
US7895425B2 (en) 2007-08-03 2011-02-22 Cisco Technology, Inc. Operation, administration and maintenance (OAM) in a service insertion architecture (SIA)
CN101119321B (zh) * 2007-09-29 2010-11-03 杭州华三通信技术有限公司 网络流量分类处理方法及网络流量分类处理装置
US7990974B1 (en) * 2008-09-29 2011-08-02 Sonicwall, Inc. Packet processing on a multi-core processor
US7860100B2 (en) 2008-10-01 2010-12-28 Cisco Technology, Inc. Service path selection in a service network
US8442043B2 (en) 2008-12-29 2013-05-14 Cisco Technology, Inc. Service selection mechanism in service insertion architecture data plane
US20100211535A1 (en) * 2009-02-17 2010-08-19 Rosenberger Mark Elliot Methods and systems for management of data
US8535355B2 (en) * 2009-10-15 2013-09-17 Biomet C.V. Dorsal midfoot bone plate system and method
WO2011074559A1 (ja) 2009-12-17 2011-06-23 日本電気株式会社 ネットワークシステム、ネットワーク制御装置、及び制御方法
US8826271B2 (en) * 2010-04-28 2014-09-02 Cavium, Inc. Method and apparatus for a virtual system on chip
JP5539101B2 (ja) * 2010-08-18 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
US8743885B2 (en) 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
US8780914B2 (en) * 2011-10-17 2014-07-15 Xilinx, Inc. Parallel processing of network packets
CN102665191B (zh) * 2012-04-12 2016-07-27 华为技术有限公司 一种数据业务的策略控制方法、装置及系统
US10097452B2 (en) 2012-04-16 2018-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Chaining of inline services using software defined networking
US8989192B2 (en) 2012-08-15 2015-03-24 Futurewei Technologies, Inc. Method and system for creating software defined ordered service patterns in a communications network
KR101378115B1 (ko) * 2012-11-01 2014-03-27 한국전자통신연구원 Pcre 기반 패턴 매칭 기법을 이용한 네트워크 침입 탐지 장치 및 방법
CN103688489B (zh) * 2012-12-03 2017-02-22 华为技术有限公司 一种策略处理的方法及网络设备
US9413667B2 (en) 2013-02-15 2016-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and network nodes for traffic steering based on per-flow policies
US9766322B2 (en) * 2013-03-14 2017-09-19 Ensco, Inc. Geolocation with radio-frequency ranging
US9246799B2 (en) 2013-05-10 2016-01-26 Cisco Technology, Inc. Data plane learning of bi-directional service chains
US9137161B2 (en) 2013-05-29 2015-09-15 Telefonaktiebolaget L M Ericsson (Publ) Method and system of bandwidth-aware service placement for service chaining
CN103346974B (zh) * 2013-06-03 2015-04-08 华为技术有限公司 一种业务流程的控制方法及网络设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101409885A (zh) 2008-11-18 2009-04-15 中国移动通信集团福建有限公司 基于规则引擎的异常指标分析方法

Also Published As

Publication number Publication date
EP3174256A1 (en) 2017-05-31
US20150085866A1 (en) 2015-03-26
US11700322B2 (en) 2023-07-11
US9537982B2 (en) 2017-01-03
US11233884B2 (en) 2022-01-25
EP2835943B1 (en) 2016-09-21
JP2015525549A (ja) 2015-09-03
EP2835943A4 (en) 2015-05-27
CN103346974A (zh) 2013-10-09
JP5943331B2 (ja) 2016-07-05
WO2014194677A1 (zh) 2014-12-11
RU2632152C2 (ru) 2017-10-02
ES2606769T3 (es) 2017-03-27
RU2015156608A (ru) 2017-07-14
CN103346974B (zh) 2015-04-08
US20170085684A1 (en) 2017-03-23
US20220124184A1 (en) 2022-04-21
AU2014277525B2 (en) 2016-06-09
KR20150016207A (ko) 2015-02-11
US20200106865A1 (en) 2020-04-02
US10425510B2 (en) 2019-09-24
EP3174256B1 (en) 2019-06-26
EP2835943A1 (en) 2015-02-11
AU2014277525A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
KR101562155B1 (ko) 서비스 프로세스 제어 방법 및 네트워크 장치
US20160323193A1 (en) Service Routing Method, Device, and System
EP2806602A1 (en) Feature extraction device, network traffic identification method, device and system.
US20200142734A1 (en) Service scheduling method and apparatus, and network device
US20140215045A1 (en) Method and device for resource matching in vpc migration
CN111885115A (zh) 设备绑定变更方法及装置
CN105512134A (zh) 基于snmp协议的数据查询方法及系统
CN112637221B (zh) 一种设备控制方法及装置
CN111327545A (zh) 数据发送方法、装置、网络系统及交换机
CN112131014A (zh) 决策引擎系统及其业务处理方法
CN111385110B (zh) 网络的管理方法及装置
CN113132986B (zh) 基于DPP协议实现WiFi的mesh网络的实现方法及装置、存储介质
EP4340318A1 (en) Routing obtaining method and apparatus, storage medium, and electronic apparatus
CN115550240B (zh) 网络路由方法、系统、电子设备和可读存储介质
CN114328449A (zh) 数据发送方法及装置、存储介质及电子装置
CN114500582A (zh) 日志的采集方法、装置、存储介质及电子装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180920

Year of fee payment: 4