KR100436678B1 - 엔드-유저 트랜잭션을 인식하기 위한 방법 및 시스템 - Google Patents

엔드-유저 트랜잭션을 인식하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR100436678B1
KR100436678B1 KR10-2001-0023234A KR20010023234A KR100436678B1 KR 100436678 B1 KR100436678 B1 KR 100436678B1 KR 20010023234 A KR20010023234 A KR 20010023234A KR 100436678 B1 KR100436678 B1 KR 100436678B1
Authority
KR
South Korea
Prior art keywords
user
remote procedure
procedure calls
model
user transactions
Prior art date
Application number
KR10-2001-0023234A
Other languages
English (en)
Other versions
KR20010107554A (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 KR20010107554A publication Critical patent/KR20010107554A/ko
Application granted granted Critical
Publication of KR100436678B1 publication Critical patent/KR100436678B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

원격 절차 호출(RPCs)의 시퀀스와 같은 서버 데이터에 기초하여 엔드-유저 트랜잭션을 인식하기 위한 방법 및 시스템이 개시되어 있다. 이 방법은 베이스 분류(Bayesian classification), 특징 추출 메커니즘, 및 RPC 시퀀스의 분할에 대한 다이내믹 프로그래밍 접근법과 같은 패턴 인식을 위한 기계 학습 기술을 포함할 수 있다. 이 방법은 바람직하게는 정보 이론 및 기계 학습 접근법을 결합한다. 이 시스템은 바람직하게는 학습 엔진 및 동작 엔진을 포함한다. 학습 엔진은 데이터 준비 서브시스템(특징 추출) 및 베이스 네트 학습 서브시스템(모델 구성)을 포함할 수 있다. 동작 엔진은 트랜잭션 분할 및 트랜잭션 분류 서브시스템을 포함할 수 있다.

Description

엔드-유저 트랜잭션을 인식하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR RECOGNIZING END-USER TRANSACTIONS}
본 발명은 일반적으로 분산 시스템의 관리에 관한 것으로, 보다 상세하게는, 서버에서 수신된 원격 절차 호출들(RPCs : remote procedure calls)의 시퀀스를 포함하는 엔드-유저 트랜잭션을 인식하는 것에 관한 것이다.
분산 정보 시스템의 엔드-유저들에게 양질의 서비스(예를 들면, 저 응답 시간)를 제공하는 것은 여러 애플리케이션 중에서 전자 상거래(e-commerce)에 특히 필수적이다. 그러한 시스템의 성능 관리에서 중요한 단계는 엔드-유저 행동을 모델링하는 것이다. 실재적인 엔드-유저 모델은, (a) 엔드-유저 성능 인식을 보다 양호하게 정량하고, (b) 대표적인 작업 부하(workloads)를 생성하고, (c) 보다 양호한 자원 관리를 제공하고, (d) 잠재적으로 위험한 엔드-유저 행동 패턴을 인식함으로써 시스템의 보안을 향상시키는 것을 가능케 한다.
엔드-유저 모델을 구성하는 데 있어서 제1 단계는 엔드-유저 트랜잭션(EUT)을 특징짓는 것이다. EUT는 예를 들어 데이터베이스를 열고, 뷰(view)를 열어, 수 개의 레코드를 읽고, 데이터베이스를 닫는 것과 같이 엔드-유저가 그의 워크스테이션에 발행하는 명령들의 시퀀스를 포함한다. 분산 시스템에서, 이들 명령은 전형적으로 원격 절차 호출(RPC)이 유저의 워크스테이션으로부터 그 RPC를 처리하는 하나 이상의 층(tiers)의 서버들에 송신되도록 한다. 통상의 RPC는 OPEN_DB, READ_ENTRIES, 및 FIND_BY_KEY를 포함한다. 동일 엔드-유저로부터의 그러한 RPC들의 시간 순차 시퀀스가 주어지면, EUT들의 시작과 끝을 식별하고 각각의 타입을 라벨링하는 것이 요망된다. 로터스 노트 내의 EUT들의 예를 들면, 복제, 노트 검색, 노트 업데이트, 및 뷰 재분류가 포함된다.
엔드-유저 워크스테이션은 상당히 많고 그것들은 종종 관리 직원의 책임이 아니기 때문에, 워크스테이션 자체로부터 EUT에 관한 정보를 수집할 기회가 거의 없는 일이 흔하다. 오히려, EUT 정보가 RPC 시퀀스의 형태로 얻어지는 곳은 서버에서이다. 그런데 유감스럽게도, 서버에는 엔드-유저 트랜잭션에 관한 정보가 적다. 원칙적으로, 클라이언트-서버 프로토콜은 유저 대화(interaction)의 시작과 끝을 마크하도록 구성될 수 있다. 그러나, 이것은 EUT를 식별하는 데 충분치 않은데, 왜냐하면 유저들은 종종 애플리케이션 대화의 시퀀스를 단일 작업 단위로 보기 때문이다. 기존의 실시에서, 이러한 난관은 EUT의 대용물(예를 들면, 프로빙 스테이션(probing stations)에 의해 생성된 합성 트랜잭션)을 사용하거나 또는 후처리를 위해 수동으로 EUT를 라벨링하는 것에 의해 처리된다. 전자의 경우는 종종 서비스 품질의 부정확한 평가를 초래한다. 후자의 경우는 매우 시간이 많이 걸린다.
그러므로, 서버 상에 기록된 RPC 시퀀스를 이용하여 EUT를 인식하기 위한 자동화된 시스템을 갖는 것이 매우 바람직하다.
본 발명은, 서버에서 수신된 원격 절차 호출(RPC)의 시퀀스를 포함하는 엔드-유저를 인식하기 위한 방법 및 시스템을 제공한다. 그러한 방법론은 정보 시스템의 엔드-유저들에게 양질의 서비스(예를 들면, 저 응답 시간)를 제공하기 위해 중요한데, 왜냐하면 그것은, 여러 이점 중에서도, (a) 엔드-유저 성능 인식을 보다 양호하게 정량하고, (b) 대표적인 작업 부하를 생성하고, (c) 보다 양호한 자원 관리를 제공하고, (d) 잠재적으로 위험한 엔드-유저 행동 패턴을 인식함으로써 시스템의 보안을 향상시키는 것을 가능케 하기 때문이다.
본 발명은 몇몇 공지의 방법을 본 발명의 영역의 특정한 구성적 특성에 맞도록 변경하여, EUT를 인식하기 위해 기계 학습 기술을 이용하는 것을 제안한다. 간단히 말해서, EUT 인식 문제는 2개의 부분을 갖는다. 첫째는 (각 유저로부터의) RPC의 스트림을 트랜잭션 경우들로 분할하는 것이다(분할 문제). 둘째는 분할된 세그먼트들을 정확한 트랜잭션 타입으로 라벨링하는 것이다(분류 문제). 본 발명의 분할 방법은 다이내믹-프로그래밍 기술을 사용하고, 그것은 이전 계산 결과의 효율적인 재사용을 가능케 한다. 분류를 위하여, 본 발명은 베이스 네트 프레임워크(Bayes Net framework)를 사용한다. 예를 들면, 1988년 캘리포니아주 산 마테오, 모건 카우프먼(Morgan Kaufmann, San Mateo, CA, 1988)사에 의해 간행된 펄 주디어(Pearl, Judea)의 저서, "Probabilistic Reasoning in Intelligent Systems"를 참고하기 바라며, 그 내용은 본 명세서에 참고로 반영되어 있다. 베이스 네트는 불확실성 하에서 추론하기 위한 그래픽 프레임워크로서, (무작위 변수들로 표현되는) 관심이 되는 엔티티들 사이의 확률적 의존성을 부호화하고 그 데이터가 주어진상황에서 미관찰된 엔티티들에 관하여 예측하는 것을 가능케 한다. 본 발명에서는, 특징들의 세트(a set of features)에 의해 부호화된 RPC 시퀀스가 주어진 상황에서 EUT 타입을 예측하는 것이 요망된다. 베이스 네트는 무작위 변수들이 노드들에 대응하고 확률적 의존성이 에지들에 의해 표현되는 지향성 비주기 그래프(directed acyclic graph)(지향성 주기가 없는 지향성 에지를 갖는 그래프)이다. 각각의 노드는 변수 영역이라 불리는 허용된 값의 세트를 갖는다. 베이스 네트는 지향성 호(directed arcs)가 종종 변수들 사이의 인과 관계 의존성(causal dependencies)으로서 해석되기 때문에 인과 관계 네트워크라고도 불린다. 분류를 위해 베이스 네트를 사용하는 것은 몇 가지 이유 때문에 매력적이다. 첫째, 베이스 네트는 (예를 들면, 덜 명확한 의미론을 갖는, 신경망과 같은 몇몇 다른 모델과 비교하여) 결과에 대한 보다 양호한 해석을 가능케 하는 확실한 확률적 근거에 기초하고 있다. 둘째, 베이스 프레임워크는 종종 순전히 데이터로부터 얻어진 정보만큼이나 중요한, 이전 영역 지식을 반영하는 것을 가능케 한다. 셋째, 베이스 네트는 단순히 데이터에서의 상관 관계보다는 인과 관계 의존성을 학습하는 것을 가능케 한다.
엔드-유저 트랜잭션을 인식하는 문제는 아직까지 문헌에서 다루어지지 않았다. 그러나, EUT를 인식하는 문제는 패턴 인식, 문서 분류, 및 음성 인식과 같은 몇몇 충분히 연구된 기계 학습 영역과 밀접하게 관련이 있다. 일반적인 패턴 인식 문제는 소정의 클래스 라벨들 중 하나를 그 특징 벡터에 의해 표현된 소정의 경우에 할당하는 것이다. 예를 들면, 문서 분류에서의 작업은 소정의 토픽들(클래스라벨들) 중 어느 것이 소정의 텍스트 문서(경우)에 가장 관련이 있는지를 결정하는 것이다. 텍스트 문서는 단어 발생 또는 단어 개수와 같은 특징들의 세트로 표현된다. 정확한 토픽(훈련 데이터)이 라벨링된 텍스트 예의 세트에 기초하여 훈련된, 분류 알고리즘이 토픽들을 이전의 보이지 않는 텍스트 경우(테스트 데이터)에 할당한다. 문서 분류 애플리케이션의 예를 들면, 웹 페이지의 분류, 전자 메일 또는 뉴스 기사의 분류, 유저가 읽는 관심사 학습이 포함된다. 예를 들면, 1997년 뉴욕 맥그로힐(McGraw-Hill)사에 의해 간행된 미첼 톰 엠.(Mitchell, Tom M.)의 저서, "Machine Learning"을 참고하기 바라며, 그 내용은 본 명세서에 참고로 반영되어 있다. 또한, 패턴 인식의 중요한 부분은 특징 선택 문제로서, 특징 타입(예를 들면, 텍스트 분류에서 단어 발생 또는 단어 개수)을 선택하고 그런 다음 소정 타입의 가장 유익한 특징들의 서브세트를 선택하는 것을 포함하며, 후자는 특징의 수가 많을 때 특히 중요하다.
텍스트 분류와의 유사성에도 불구하고, EUT 인식 문제는, 먼저 RPC 시퀀스를 서로 다른 EUT들을 나타내는 세그먼트들로 분할하고, 그런 다음 EUT들에 의한 세그먼트들의 라벨링(분류)을 필요로 하기 때문에, 본질적으로 더욱 복잡하다. 분할 문제에 대한 몇몇 연구가 음향의 스트림을 단어들로 분할하는 음성 인식에서 이루어졌다. 예를 들면, 1998년 캠브리지 MIT 출판사에 의해 간행된 "Statistical Methods for Speech Recognition"을 참고하기 바라며, 그 내용은 본 명세서에 참고로 반영되어 있다. 또한, 단어의 시퀀스를 구절로 분할해야 하는 통계적 자연어 처리(statistical natural language processing)에서도 그러한 연구가 이루어졌다.예를 들면, 1999년 시. 카디 앤드 알. 무니(C. Cardie and R. Mooney)사에 의해 간행된 자연어 학습에 대한 기계 학습 특별 간행물 34(1-3), 177-210쪽, 디. 비퍼먼(D. Beeferman), 에이. 버거(A. Berger), 및 제이. 래퍼티(J. Lafferty)의 공동 저서, "Statistical Models for Text Segmentation"을 참고하기 바라며, 그 내용은 본 명세서에 참고로 반영되어 있다. 음성 인식에서의 표준적인 접근법은 연속 음향들 사이의 의존성을 모델링하기 위하여 히든 마코브 모델(HMM : Hidden Markov Models)을 이용하는 것이다. 그러나, 본 발명의 영역은 다이내믹 비리프 네트(Dynamic Belief Nets.)의 보다 일반적인 프레임워크로 이어지는, 더욱 복잡한 의존성 모델을 필요로 한다. 또한, 본 발명의 영역은 다른 영역에서 반드시 존재하지 않는 특정한 구성적 특징을 제시하며, 이것은 본 발명의 시스템의 효율을 상당히 향상시킬 수 있다.
따라서, 본 발명은 서버 상에 기록된 RPC 시퀀스를 이용하여 엔드-유저 트랜잭션을 인식하기 위한 시스템 및 방법을 제공한다. 본 발명의 접근법은 몇 가지 혁신적인 측면을 갖는데, 예를 들면,
(1) 분산 시스템의 성능 관리에서 이전에 해결되지 않았던 EUT 인식의 문제를 다루고,
(2) 이 새로운 영역에 기계 학습 기술을 적용하는 것에 기초하여 자동적인 EUT 인식을 위한 시스템 및 방법을 제안하고,
(3) 또한, 수동적인 라벨링 대신에 본 발명의 학습 시스템을 위한 훈련 데이터의 자동화 생성을 위한 방법을 제안한다. 이 방법은 클라이언트와 서버 모두에트랜잭션 마킹 에이전트를 설치하는 것을 포함한다.
본 발명의 일 국면에서, 본 발명의 구성은, EUT 인식 처리의 두 가지 단계인, 훈련 단계와 동작 단계에 대응하는, EUT 모델 학습기 성분과 EUT 인식기 성분을 포함한다. 훈련 단계에서는, EUT 학습기가 대응하는 EUT들에 의해 라벨링된 RPC의 시퀀스를 포함하는 훈련 데이터의 세트로부터 EUT 베이스 네트 모델을 구성한다. 훈련 데이터는 현재 인간 숙련가에 의해 생성된다. 동작 단계에서는, EUT 인식기가 EUT 모델을 이용하여 입력된 라벨링되지 않은 RPC 시퀀스를 위한 EUT 라벨링을 생성한다. 본 발명의 시스템의 특징 선택 성분은 입력된 RPC 시퀀스를 후속 분류를 위해 사용되는 EUT 특징들의 세트로 변환하는 필터로서 동작한다.
본 발명의 다른 국면에서, 본 발명의 방법은, 데이터 구성 단계, EUT 특징 선택 단계, EUT 모델 학습 단계, 및 이 모델을 이용하여 EUT를 인식하는 단계를 포함한다.
본 발명의 시스템에 의해 사용되는 베이스 네트 분류기는, 각 RPC 타입에 대한 발생 또는 개수와 같은 특징들을 나타내는 특징 노드들의 세트를 가리키는, EUT 타입에 대응하는 루트 노드를 포함한다. 하나의 EUT에 대응하는 RPC 시퀀스가 주어지면, 특징 추출 메커니즘이 그 값들을 특징 노드들에 할당하고, 베이스 네트 분류기는 그 할당에 대한 가장 유망한 클래스(EUT 라벨)를 찾는다.
EUT 인식기는 입력된 RPC 스트림을 서로 다른 EUT들에 대응하는 시퀀스들로 분할하고 그들 시퀀스를 베이스 네트 분류기를 사용하여 적절한 EUT들로 라벨링한다. 분할의 품질은 소정의 품질 메트릭에 의해 제어되고, 분할/라벨링 처리는 그메트릭의 만족스러운 값이 달성될 때까지 순환한다.
마지막으로, 본 발명은 클라이언트와 서버 사이트에서 EUT의 자동화된 마킹을 위한 방법을 제공하고, 이것은 무한한 양의 훈련 데이터의 발생을 가능케 한다. 이 발명의 방법은, 인간 숙련가에 의해, 또는 수동으로 구성된 계통체계(heuristics)를 이용하는 소프트웨어에 의해 훈련 데이터를 발생시키는 현재 시간이 많이 걸리는 방법을 대체한다. 본 발명의 방법은 또한 훈련 데이터의 품질을 향상시킨다.
본 발명은, 이하에서 몇 가지 예가 제공될, 분산 시스템의 기존 기술 수준의 성능 관리에는 존재하지 않는 몇 가지 이점을 제공한다. 첫째, 자동화된 EUT 인식은 보다 양호한 서비스를 위해 필수적인, 시스템 성능의 엔드-유저 인식을 정량하는 보다 양호한 방법을 제공한다. 둘째, 이 EUT 인식으로 인해, 여러 상황하에서 시스템의 동작을 테스트하기 위해 필요한, 대표적인 작업 부하들을 생성하는 데 사용될 수 있는 실재적인 엔드-유저 모델이 생성된다. 셋째, 실재적인 엔드-유저 및 시스템 모델은 보다 양호한 자원 관리를 위해 필수적이다. 마지막으로, 그러한 모델은 유저의 행동에서 전형적이고 비전형적인 패턴의 비교에 기초하여 보다 양호한 보안을 제공하는 데 사용될 수 있다.
본 발명의 이들 및 다른 목적, 특징 및 이점은, 첨부 도면과 관련하여 설명될, 예시적인 실시예들에 관한 이하의 상세한 설명으로부터 명백하게 될 것이다.
도 1은 본 발명이 채용될 수 있는 네트워크와 관련하여 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 인식 시스템의 전체 구성을 도시하는 블록도.
도 2는 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 인식 방법론을 도시하는 흐름도.
도 3은 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 모델 학습기의 구성을 도시하는 블록도.
도 4는 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 특징 선택기의 구성을 도시하는 블록도.
도 5는 본 발명의 일 실시예에 따른 용도의 엔드-유저 트랜잭션 베이스 네트 모델을 도시하는 도면.
도 6은 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 베이스 네트 학습 시스템을 도시하는 블록도.
도 7은 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 인식기를 도시하는 블록도.
도 8은 본 발명의 일 실시예에 따른 베이스 네트 분류기 및 관련 동작을 도시하는 블록도.
도 9는 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 인식기에 의해 사용되는 방법론을 도시하는 흐름도.
도 10은 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션에 의한 원격 절차 호출들의 자동화된 라벨링을 위한 시스템을 도시하는 블록도.
도 11은 엔드-유저 트랜잭션 인식 시스템 및/또는 본 발명에 따른 엔드-유저 트랜잭션에 의한 원격 절차 호출의 자동화된 라벨링을 위한 시스템을 구현하는 데 적합한 컴퓨터 시스템의 일반화된 하드웨어 구성을 도시하는 블록도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 엔드-유저
101 : 엔드-유저 트랜잭션(EUTs)
102 : 클라이언트 워크스테이션
103 : 원격 절차 호출(RPCs)
104 : 서버
105 : 서버 로그-파일
106 : 인간 숙련가
107 : 훈련 데이터 추출 시스템
108 : EUT에 의해 라벨링된 RPC 스트림
110 : EUT 인식 시스템
120 : EUT 모델 학습기
130 : EUT 모델
140 : EUT 인식기
150 : 입력 RPC 시퀀스의 EUT 라벨링
이하에서는, 예시적인 시스템 구성과 관련하여 본 발명을 설명하겠다. 그러나, 본 발명이 어떤 특정 시스템 구성 또는 특정 타입의 엔드-유저 트랜잭션(EUT)에 한정되지 않는다는 것은 말할 것도 없다. 오히려, 본 발명은 엔드-유저 행동의 모델링을 제공하기 위하여 원격 절차 호출(RPC) 시퀀스를 이용하여 EUT를 인식하는 것이 바람직한 임의의 시스템 구성 및 임의의 타입의 EUT에 보다 일반적으로 적용될 수 있다.
먼저 도 1을 참조하면, 블록도가 본 발명이 채용될 수 있는 네트워크와 관련하여 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 인식 시스템의 전체 구성을 도시한다. 도시된 바와 같이, 엔드-유저(100)가 예를 들면 데이터베이스를 열거나 또는 메일을 읽는 것과 같은 엔드-유저 트랜잭션들 즉 EUT들(101)이라고 하는 하이 레벨 명령들의 시퀀스를 그의/그녀의 워크스테이션(클라이언트)(102)에 발행한다. 분산 시스템에서는, 공지된 바와 같이, 각각의 EUT가 원격 절차 호출들 즉 RPC들(103)의 시퀀스가 유저의 워크스테이션으로부터 RPC들을 처리하는 하나 이상의 층의 서버들(104)에 송신되도록 한다. 말할 것도 없이, 클라이언트 워크스테이션과 서버는 네트워크를 통하여 결합된 컴퓨터 시스템들일 수 있다. 네트워크는 공중 네트워크(예를 들면, 인터넷), 사설 네트워크 및/또는 다른 어떤 적당한 네트워크일 수 있다. 어느 경우이든, RPC들의 시퀀스는, 예를 들면 세션, 시간 등과 같은 다른 정보와 함께, 서버 로그-파일(105)에 저장된다. 그러나, EUT들에 관한 어떠한 정보도 서버 상에서 이용할 수 없다.
따라서 도 1에 도시된 바와 같이 본 발명에 따르면, 이하의 구성 요소, 즉 EUT 모델 학습기(120), EUT 모델(130), 및 EUT 인식기(140)를 포함하는 EUT 인식시스템(110)이 제공된다. 훈련 단계에서, EUT 모델 학습기는 나중에 동작 단계 중에 EUT 인식기에 의해 사용되는 EUT 모델을 학습한다. EUT 모델 학습기는 EUT들에 의해 라벨링된 RPC 시퀀스를 포함하는 입력 훈련 데이터를 사용한다. 일 실시예에서, 훈련 데이터의 획득은 서버 상에 로그-파일(105)에 저장된 RPC 시퀀스로부터 EUT 시퀀스를 재구성하는 인간 숙련가(106)에 의해 달성된다. 본 발명의 다른 국면에 따르면, 도 10과 관련하여 설명하겠지만, 분산 시스템 환경은 인간 숙련가 대신에 훈련 데이터를 추출하기 위한 자동화 시스템(107)이 이용될 수 있도록 구성된다. 따라서, 인간 숙련가를 요구하기보다는, 훈련 데이터에 따라서 EUT들에 의해 라벨링된 RPC들이 훈련 데이터 추출 시스템(107)에 의해 자동으로 발생될 수 있다.
어느 경우이든, EUT 모델 학습기(120)에 의해 구축된 EUT 모델(130)이 EUT 인식기(140)에 의해 사용되고, 이 EUT 인식기는 서버 로그-파일에 저장된 RPC 시퀀스들을 입력으로서 받아들여 이들 시퀀스들의 EUT 라벨링(150)을 출력한다.
도 11과 관련하여 더 설명하겠지만, 도 1에 도시된 EUT 인식 시스템(110) 및 훈련 데이터 추출 시스템(107)은 서버(104) 또는 별도의 컴퓨터 시스템 상에 구현될 수 있다.
다음으로 도 2를 참조하면, 흐름도가 본 발명의 일 실시예에 따른 전체 엔드-유저 트랜잭션 인식 방법론을 도시한다. 처음 3개의 스텝은 훈련 단계를 포함한다. 스텝 200에서, 입력 RPC 데이터는 훈련 데이터로 구성되어, 서버로부터의 RPC 시퀀스가 대응하는 EUT들에 의해 라벨링된다. 상술한 바와 같이, 이것은 인간 숙련가(106)(도 1)에 의해 행해지거나 또는 훈련 데이터 추출 시스템(107)(도 1)에의해 자동으로 행해질 수 있다. 다음으로, 스텝 201에서, EUT 특징들이 선택된다. 이 특징들은 스텝 202에서 EUT 모델을 구성하는 데 사용된다. 마지막으로, 스텝 203은 EUT 모델을 이용하여 라벨링되지 않은 RPC 시퀀스들에 대응하는 EUT 시퀀스를 인식하는 동작 단계이다.
다음으로 도 3을 참조하면, 블록도가 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 모델 학습기를 도시한다. 구체적으로, 도 3은 도 1의 EUT 모델 학습기(120)와 같은 EUT 모델 학습기 모듈의 구성 요소를 도시한다. 도시된 바와 같이, 모델 학습기는 EUT 특징 선택기(300) 및 EUT 베이스 네트 학습 시스템(310)을 포함한다. EUT 특징 선택기는 예를 들면 트랜잭션 T 내의 어떤 RPC R의 발생과 같은 RPC 시퀀스의 특정 특성을 선택하는 책임이 있다. 이들 특징은 EUT 모델의 중요 구성 요소로서 나중에 EUT 인식기가 대응하는 EUT들의 특징들을 구별할 때 사용된다. EUT 특징 선택기를 통하여 필터링된, EUT들(훈련 데이터)에 의해 라벨링된 RPC 스트림은 EUT 베이스 네트 학습 시스템에 대한 입력을 구성하고, EUT 베이스 네트 학습 시스템은 EUT 베이스 네트 모델(130)을 출력한다.
다음으로 도 4를 참조하면, 블록도가 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 특징 선택기를 도시한다. 구체적으로, 도 4는 도 3의 EUT 특징 선택기(300)와 같은 EUT 특징 선택기를 설명한다. 도시된 바와 같이, EUT 특징 선택기는 EUT 특징 타입 선택기(400) 및 EUT 특징 서브세트 선택기(401)를 포함한다. 먼저, EUT 특징 타입 선택기(400)는, 분할되고 라벨링된 RPC 스트림(108)에 응답하여, 모델에서 고려될 특징들(RPC 스트림 특성)을 결정한다. 가능한 특징 타입들은, 예를 들면, 단일 RPC의 발생, 또는 EUT 내의 RPC 군(쌍, 3개 한 조(triplet) 등)의 발생과 같은 바이너리 특징, 및 대응하는 발생의 개수와 같은 정수 특징을 포함할 수 있다. 일단 특징 타입이 선택되면, EUT 특징 서브세트 선택기(410)는 주어진 입력(훈련 데이터)에 대한 대응하는 특징을 계산하고 소정의 평가 메트릭에 따른 최고값을 갖는 특징들(예를 들면, 특징과 EUT 라벨 사이의 상호 정보에 관하여 가장 유익한 특징들)의 서브세트만을 선택한다. 따라서, EUT 특징 선택기는 EUT에 의해 라벨링된 각각의 RPC 서브시퀀스를 동일한 EUT 라벨을 갖는 특징들의 대응하는 집합(특징 벡터)으로 변환하는 필터로서 동작한다.
다음으로 도 5를 참조하면, 본 발명의 일 실시예에 따른 용도의 엔드-유저 트랜잭션 베이스 네트 모델이 도시되어 있다. 구체적으로, 도 5는 도 1의 EUT 베이스 네트 모델(130)과 같은 EUT 베이스 네트 모델을 도시한다. 도시된 바와 같이, 루트 노드(500)는 EUT 타입을 나타내고, 자 노드들(500-1 내지 500-N)은 EUT 특징들을 나타낸다. 루트 노드는 트랜잭션 타입들의 이전 확률 분포(prior probability distribution)와 관련되고, 각각의 특징 노드 "fN"은 EUT 타입이 주어졌을 때 이 특징의 조건 확률 분포 및 "fN"이 의존하는 다른 특징들의 값과 관련된다. 예를 들면, 특징 2와 관련된 조건 확률 분포는 P(f2|EUT, f1)으로서 표현된다.
다음으로 도 6을 참조하면, 블록도가 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 베이스 네트 학습 시스템을 도시한다. 구체적으로, 도 6은 도 3의 EUT 베이스 네트 학습 시스템(310)과 같은 EUT 베이스 네트(BN) 학습 시스템을 도시한다. 도시된 바와 같이, 학습 시스템은 베이스 네트 구조 학습 모듈(600) 및 베이스 네트 파라미터 학습 모듈(620)을 포함한다. BN 구조 학습 모듈(600)은 EUT 베이스 네트의 그래프 구조를 학습한다. EUT들에 의해 라벨링된 EUT 특징 벡터들의 입력 시퀀스가 주어지면, 모듈(600)은 특징들 사이의 의존성을 학습하고 베이스 네트 그래프를 생성한다. 예시적인 베이스 네트 그래프 구조가 블록(610)에 도시되어 있다. 학습 시스템의 제2 구성 요소, BN 파라미터 학습 모듈(620)은, 구조가 주어졌을 때 베이스 네트의 파라미터를 학습하고 특징 노드들 사이의 의존성과 각 노드에 대응하는 확률 분포를 모두 특정하는 EUT 베이스 네트 모델을 생성한다. 예시적인 베이스 네트 모델이 블록(630)에 도시되어 있다.
다음으로 도 7을 참조하면, 블록도가 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션 인식기를 도시한다. 구체적으로, 도 7은 도 1의 EUT 인식기(140)와 같은 EUT 인식기를 도시한다. EUT 인식기는 RPC 스트림 분할 시스템(700)과, EUT 특징 추출기(710) 및 베이스 네트 분류기(720)를 포함한다. 훈련 단계가 종료된 후에, 위에서 상세히 설명한 바와 같이, 결과의 EUT 베이스 네트 모델은 EUT 인식기에 이용될 수 있다. 일반적으로, 인식기는 서버 로그-파일(105)로부터의 RPC 시퀀스를 입력으로서 받아들여, 그 시퀀스를 EUT들에 대응하는 세그먼트들로 분리시키고, 대응하는 EUT들에 의해 그 세그먼트들을 라벨링하고, 결과의 분할되고 라벨링된 RPC 시퀀스(150)를 출력한다. 구체적으로, RPC 스트림 분할 시스템(700)은 분할 처리 중에 다른 2개 부분, 특징 추출기(710) 및 분류기(720)를 호출한다. EUT 특징 추출기는 EUT 베이스 네트 모델로부터 사용할 특징들(이들 특징은 EUT 특징선택기(300)에 의해 훈련 단계 중에 선택됨)에 관한 정보를 획득하고, 입력 데이터로부터 이들 특징을 추출한다. 베이스 네트 분류기는 RPC 스트림 분할 시스템에 의해 선택된 RPC 세그먼트가 주어졌을 때 가장 가능성 있는 EUT 라벨("클래스 라벨")을 출력한다. 따라서, EUT 인식기(140)의 출력(블록(150))은 EUT들에 의해 분할되고 라벨링된 RPC 시퀀스(번호들, 예를 들면, 1, 2, 3, 4를 가진 블록들로 도시됨)이다(점선들은 RPC 세그먼트와 트랜잭션 라벨들, 예를 들면, TxA, TxB, TxC를 관련시킴).
다음으로 도 8을 참조하면, 블록도가 본 발명의 일 실시예에 따른 베이스 네트 분류기를 도시한다. 구체적으로, 도 8은 도 7의 베이스 네트 분류기(720)와 같은 베이스 네트 분류기를 도시한다. EUT 베이스 네트 모델, 및 특징 추출기(710)에 의해 제공된 EUT 특징들의 값이 주어지면, 분류기는 이하의 동작을 수행한다. 먼저, 스텝 800에서, 분류기는 대응하는 특징 변수들에 EUT 특징 값들을 할당한다. 스텝 810에서, 분류기는 EUT 변수에 대한 사후 확률 분포(posterior probability distribution)를 구한다. 그 후, 스텝 820에서, 분류기는 EUT 변수에 대한 사후 확률 분포에 기초하여 주어진 EUT 특징들에 대한 가장 가능성 있는 EUT 값을 선택한다. 베이스 네트 분류기는 그 후 이 가장 가능성 있는 EUT 값을 주어진 EUT 특징 벡터에 대한 클래스 라벨로서 출력한다.
다음으로 도 9를 참조하면, 흐름도가 본 발명의 일 실시예에 따른 (훈련 모드와 비교되는) 동작 모드 중에 엔드-유저 트랜잭션 인식기에 의해 사용되는 전체 방법론을 도시한다. 스텝 900에서, 인식기는 서버 로그-파일(105)로부터 RPC 스트림을 판독한다. RPC 스트림은 그 후 스텝 910에서 EUT 세그먼트들로 분할된다(RPC 스트림 분할 시스템(710)). 스텝 920에서, 각각의 세그먼트에 대해 EUT 특징 벡터들이 계산된다(EUT 특징 추출기(710)). 이들 특징 벡터에 기초하여, 베이스 네트 분류기(720)는 스텝 930에서 세그먼트들의 EUT 라벨링을 계산한다. 분할 및 라벨링의 품질은 스텝 950에서 블록 940으로부터의 소정의 품질 메트릭을 이용하여 평가된다. 만일 품질이 충분하면, 인식기는 스텝 960에서 분할된 RPC 스트림의 결과의 EUT 라벨링을 출력하고, 그렇지 않다면, 처리는 스텝 910으로 복귀하여 반복된다.
다음으로 도 10을 참조하면, 블록도가 본 발명의 일 실시예에 따른 엔드-유저 트랜잭션에 의한 원격 절차 호출들의 자동화된 라벨링을 위한 시스템을 도시한다. 도 1과 관련하여 상술한 바와 같이, 본 발명의 EUT 인식 시스템은 EUT들에 의해 RPC들을 라벨링하는 인간 숙련가(106)에 의해 동작할 수도 있고, 또는 본 발명에 따라서 제공되고 도 10과 관련하여 예시된 것과 같이 자동화 시스템(107)에 의해 동작할 수도 있다. 도시된 바와 같이, 엔드-유저(1000)가 트랜잭션들을 그의/그녀의 워크스테이션(1002)에 송신하고, 거기서 클라이언트 워크스테이션 상에 존재하는 EUT 마커 에이전트(1010)에 의해 각 트랜잭션의 시작과 끝이 마크된다. 이 에이전트는 서버(1003)에 의해 현재 또는 이전 세션 중에 클라이언트의 컴퓨터에 다운로드될 수 있다. 대안적인 방법은 트랜잭션 시퀀스를 발생시키는 인공 작업 부하 발생기를 사용하는 것이다. 또한, EUT들은 서버(1003) 상에 존재하는 다른 EUT 마커 에이전트(1010)에 의해 캡처되는 RPC들(1003)의 시퀀스를 초래한다. RPC시퀀스는 EUT 마크와 함께 EUT 라벨기(1020)에 송신된다. EUT 라벨기는 EUT들(1030)에 의해 라벨링된 RPC들의 시퀀스를 출력하고, 이것들은 EUT 학습기 모듈(120)(도 1)에 대한 입력(훈련 데이터)으로서 사용된다.
다음으로 도 11을 참조하면, 도면에 도시되고 본 명세서에 상세히 설명된 EUT 인식 시스템(도 1) 및 EUT들에 의한 RPC들의 자동화된 라벨링을 위한 시스템의 각종 기능 구성 요소/모듈을 구현하는 데 적합한 컴퓨터 시스템의 일반화된 하드웨어 구성을 도시하는 블록도가 도시되어 있다. 말할 것도 없이, EUT 인식 시스템 및 자동화 라벨링 시스템의 개개의 구성 요소들은 하나의 그러한 컴퓨터 시스템 상에 또는 하나 이상의 별개의 그러한 컴퓨터 시스템 상에 구현될 수 있다. 또한, 서브시스템들 및 저장소들의 개개의 구성 요소들은 별개의 그러한 컴퓨터 시스템들 상에 구현될 수 있다. 말할 것도 없이, 도 11에 도시된 구성 요소들은 엔드-유저의 클라이언트 워크스테이션이 트랜잭션하는 대상인 서버 컴퓨터 시스템의 일부 또는 하나 이상의 별개의 컴퓨터 시스템들의 일부일 수 있다.
도시된 바와 같이, 컴퓨터 시스템은 프로세서(1100), 메모리(1110) 및 I/O 장치들(1120)에 따라서 구현될 수 있다. 말할 것도 없이, 본 명세서에서 사용된 "프로세서"라는 용어는 예를 들면 CPU(중앙 처리 장치) 및/또는 다른 처리 회로를 포함하는 것과 같은 여하의 처리 장치를 포함하는 것이 의도된다. 본 명세서에서 사용된 "메모리"라는 용어는 예를 들면 RAM, ROM, 고정된 메모리 장치(예를 들면, 하드 드라이브), 탈착 가능한 메모리 장치(예를 들면, 디스켓), 플래시 메모리 등과 같은, 프로세서 또는 CPU와 관련된 메모리를 포함하는 것이 의도된다. 게다가,본 명세서에서 사용된 "입/출력 장치" 또는 "I/O 장치들"이라는 용어는 예를 들면 데이터를 처리 장치에 입력하기 위한 키보드와 같은 하나 이상의 입력 장치, 및/또는 처리 장치와 관련된 결과를 제시하기 위한 CRT 디스플레이 및/또는 프린터와 같은 하나 이상의 출력 장치를 포함하는 것이 의도된다. 또한 말할 것도 없이, "프로세서"라는 용어는 하나 이상의 처리 장치를 말할 수 있고 처리 장치와 관련된 각종 소자들은 다른 처리 장치들에 의해 공유될 수 있다. 따라서, 본 명세서에서 설명된 본 발명의 방법론을 수행하기 위한 지령 또는 코드를 포함하는 소프트웨어 구성 요소들이 하나 이상의 관련 메모리 장치(예를 들면, ROM, 고정된 또는 탈착 가능한 메모리)에 저장될 수 있고, 이용될 준비가 될 때, 일부 또는 전체가 (예를 들면, RAM에) 로드되어 CPU에 의해 실행될 수 있다.
따라서, 본 명세서에서 설명한 바와 같이, 원격 절차 호출들(RPCs)의 시퀀스와 같은 서버 데이터에 기초한 엔드-유저 트랜잭션 인식을 위한 방법 및 시스템이 설명되어 있다. 이 방법은 베이스 분류, 특징 추출 메커니즘, 및 RPC 시퀀스의 분할에 대한 다이내믹 프로그래밍 접근법과 같은 패턴 인식을 위한 기계 학습 기술을 포함할 수 있다. 이 방법은 바람직하게는 정보 이론 및 기계 학습 접근법을 결합한다. 이 시스템은 바람직하게는 학습 엔진 및 동작 엔진을 포함한다. 학습 엔진은 데이터 준비 서브시스템(특징 추출) 및 베이스 네트 학습 서브시스템(모델 구성)을 포함할 수 있다. 동작 엔진은 트랜잭션 분할 및 트랜잭션 분류 서브시스템을 포함할 수 있다.
이상에서는 첨부 도면을 참조하여 본 발명의 예시적인 실시예들을 설명하였지만, 말할 것도 없이, 본 발명은 이들 실시예에 제한되지 않고, 본 발명의 범위 또는 취지를 벗어나지 않고 당업자에 의해 각종 다른 변경 및 변형이 행해질 수 있다.
본 발명에 따르면, 서버에서 수신된 원격 절차 호출(RPC)의 시퀀스를 포함하는 엔드-유저를 인식하기 위한 방법 및 시스템이 제공된다. 본 발명의 방법 및 시스템에 따르면, 엔드-유저 성능 인식을 보다 양호하게 정량하고, 대표적인 작업 부하를 생성하고, 보다 양호한 자원 관리를 제공하고, 잠재적으로 위험한 엔드-유저 행동 패턴을 인식함으로써 시스템의 보안을 향상시키는 것이 가능하다.

Claims (20)

  1. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션(end-user transactions)에 대응하는, 하나 이상의 원격 절차 호출(remote procedure calls)로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하기 위한 장치에 있어서,
    (ⅰ) 상기 하나 이상의 원격 절차 호출을 획득하고; (ⅱ) 상기 원격 절차 호출들 중 하나 이상의 것과 관련된 훈련 데이터에 기초하여 상기 하나 이상의 원격 절차 호출로부터 하나 이상의 엔드-유저 트랜잭션을 인식하도록 동작하는 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 결합되어, 상기 엔드-유저 트랜잭션 인식 동작과 관련된 결과들 중 적어도 일부를 저장하기 위한 메모리
    를 포함하는, 엔드-유저 트랜잭션을 인식하기 위한 장치.
  2. 제1항에 있어서, 상기 적어도 하나의 프로세서는, 또한, (ⅰ) 상기 하나 이상의 원격 절차 호출을 엔드-유저 트랜잭션 세그먼트들로 분할하고; (ⅱ) 각각의 세그먼트마다 엔드-유저 트랜잭션 특징들을 추출하고; (ⅲ) 상기 훈련 데이터로부터 생성된 모델을 이용하여 각각의 세그먼트마다의 상기 추출된 엔드-유저 트랜잭션 특징들로부터 상기 하나 이상의 엔드-유저 트랜잭션을 계산함으로써, 상기 엔드-유저 트랜잭션 인식 동작을 수행하도록 동작하는, 엔드-유저 트랜잭션을 인식하기 위한 장치.
  3. 제2항에 있어서, 상기 모델은 베이스 네트 모델(Bayes Net model)인, 엔드-유저 트랜잭션을 인식하기 위한 장치.
  4. 제3항에 있어서, 상기 적어도 하나의 프로세서는, 또한, (ⅰ) 상기 베이스 네트 모델과 관련된 특징값을 대응하는 추출된 특징들에 할당하고; (ⅱ) 각각의 특징값마다 사후 확률 분포(posterior probability distribution)를 구하고; (ⅲ) 상기 사후 확률 분포에 기초하여 하나 이상의 엔드-유저 트랜잭션을 나타내기 위한 특징값을 선택함으로써, 상기 엔드-유저 트랜잭션 계산 동작을 수행하도록 동작하는, 엔드-유저 트랜잭션을 인식하기 위한 장치.
  5. 제4항에 있어서, 상기 특징값 선택 동작은 하나 이상의 엔드-유저 트랜잭션을 나타내기 위해 소정의 추출된 특징에 대한 가장 가능성 있는 특징값을 선택하는 동작을 포함하는, 엔드-유저 트랜잭션을 인식하기 위한 장치.
  6. 제4항에 있어서, 상기 선택된 특징값들은 하나 이상의 엔드-유저 트랜잭션을 나타내는 클래스 라벨을 형성하는, 엔드-유저 트랜잭션을 인식하기 위한 장치.
  7. 제1항에 있어서, 상기 결과들 중 적어도 일부를 품질 메트릭(quality metric)과 비교하여 상기 결과들이 충분한 품질을 갖는지 여부를 결정하는, 엔드-유저 트랜잭션을 인식하기 위한 장치.
  8. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션에 대응하는, 하나 이상의 원격 절차 호출로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하기 위한 장치에 있어서,
    (ⅰ) 하나 이상의 엔드-유저 트랜잭션에 의해 라벨링된 하나 이상의 원격 절차 호출을 획득하고; (ⅱ) 상기 라벨링된 원격 절차 호출들로부터 상기 모델을 훈련시킬 하나 이상의 선택된 특징 -상기 하나 이상의 선택된 특징은 상기 하나 이상의 엔드-유저 트랜잭션에 의해 라벨링됨- 을 계산하고; (ⅲ) 상기 선택된 특징들로부터 상기 모델을 구성하도록 동작하는 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 결합되어, 상기 모델 생성 동작들 중 하나 이상의 것과 관련된 결과들 중 적어도 일부를 저장하기 위한 메모리
    를 포함하는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하기 위한 장치.
  9. 제8항에 있어서, 상기 하나 이상의 라벨링된 원격 절차 호출을 수동으로 생성하는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하기 위한 장치.
  10. 제8항에 있어서, 상기 하나 이상의 라벨링된 원격 절차 호출을 자동으로 생성하는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하기 위한 장치.
  11. 제8항에 있어서, 상기 적어도 하나의 프로세서는, 또한, (ⅰ) 상기 계산된 특징들 사이의 의존성을 학습하여 모델 구조를 형성하고; (ⅱ) 상기 구조가 주어지면 하나 이상의 모델 파라미터를 학습하여 상기 모델을 형성함으로써, 상기 모델을 구성하도록 동작하는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하기 위한 장치.
  12. 제8항에 있어서, 상기 모델은 베이스 네트 모델인, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하기 위한 장치.
  13. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션에 대응하는, 하나 이상의 원격 절차 호출로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 구성하기 위해 사용되는 훈련 데이터를 자동으로 생성하기 위한 장치에 있어서,
    (ⅰ) 상기 클라이언트 워크스테이션이, 상기 클라이언트 워크스테이션에서 발신하는 하나 이상의 엔드-유저 트랜잭션의 시작과 끝을 마크하게 하고; (ⅱ) 상기 엔드-유저 트랜잭션 마크들을 상기 서버에서 수신된 상기 하나 이상의 원격 절차 호출과 상관시켜 엔드-유저 트랜잭션에 의해 라벨링된 원격 절차 호출들 -상기 라벨링된 원격 절차 호출들은 상기 훈련 데이터로서 사용됨- 을 생성하도록 동작하는 적어도 하나의 프로세서; 및
    상기 적어도 하나의 프로세서에 결합되어, 상기 훈련 데이터 생성 동작들 중 하나 이상의 것과 관련된 결과들 중 적어도 일부를 저장하기 위한 메모리
    를 포함하는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 구성하기 위해 사용되는 훈련 데이터를 자동으로 생성하기 위한 장치.
  14. 제13항에 있어서, 상기 적어도 하나의 프로세서는, 또한, 상기 엔드-유저 트랜잭션들을 마크하는데 사용하기 위하여 마킹 에이전트(marking agent)를 상기 클라이언트 워크스테이션에 다운로드하도록 동작하는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 구성하기 위해 사용되는 훈련 데이터를 자동으로 생성하기 위한 장치.
  15. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션에 대응하는, 하나 이상의 원격 절차 호출로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하는 방법에 있어서,
    상기 하나 이상의 원격 절차 호출을 획득하는 단계; 및
    상기 원격 절차 호출들 중 하나 이상의 것과 관련된 훈련 데이터에 기초하여 상기 하나 이상의 원격 절차 호출로부터 하나 이상의 엔드-유저 트랜잭션을 인식하는 단계
    를 포함하는, 엔드-유저 트랜잭션을 인식하는 방법.
  16. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션에 대응하는, 하나 이상의 원격 절차 호출로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하는 방법에 있어서,
    상기 하나 이상의 엔드-유저 트랜잭션에 의해 라벨링된 하나 이상의 원격 절차 호출을 획득하는 단계;
    상기 라벨링된 원격 절차 호출들로부터 상기 모델을 훈련시킬 하나 이상의 선택된 특징 -상기 하나 이상의 선택된 특징은 상기 하나 이상의 엔드-유저 트랜잭션에 의해 라벨링됨- 을 계산하는 단계; 및
    상기 선택된 특징들로부터 상기 모델을 구성하는 단계
    를 포함하는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하는 방법.
  17. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션에 대응하는, 하나 이상의 원격 절차 호출로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 구성하기 위해 사용되는 훈련 데이터를 자동으로 생성하는 방법에 있어서,
    상기 클라이언트 워크스테이션이, 상기 클라이언트 워크스테이션에서 발신하는 하나 이상의 엔드-유저 트랜잭션의 시작과 끝을 마크하게 하는 단계; 및
    상기 엔드-유저 트랜잭션 마크들을 상기 서버에서 수신된 상기 하나 이상의 원격 절차 호출과 상관시켜 엔드-유저 트랜잭션에 의해 라벨링된 원격 절차 호출들 -상기 라벨링된 원격 절차 호출들은 상기 훈련 데이터로서 사용됨- 을 생성하는 단계
    를 포함하는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 구성하기 위해 사용되는 훈련 데이터를 자동으로 생성하는 방법.
  18. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션에 대응하는, 하나 이상의 원격 절차 호출로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하기 위한 하나 이상의 프로그램을 내장하는 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 하나 이상의 프로그램을 실행하면,
    상기 하나 이상의 원격 절차 호출을 획득하는 단계; 및
    상기 원격 절차 호출들 중 하나 이상의 것과 관련된 훈련 데이터에 기초하여 상기 하나 이상의 원격 절차 호출로부터 하나 이상의 엔드-유저 트랜잭션을 인식하는 단계
    가 구현되는, 엔드-유저 트랜잭션을 인식하기 위한 하나 이상의 프로그램을 내장하는 컴퓨터 판독 가능한 기록 매체.
  19. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션에 대응하는, 하나 이상의 원격 절차 호출로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하기 위한 하나 이상의 프로그램을 내장하는 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 하나 이상의 프로그램을 실행하면,
    하나 이상의 엔드-유저 트랜잭션에 의해 라벨링된 하나 이상의 원격 절차 호출을 획득하는 단계;
    상기 라벨링된 원격 절차 호출들로부터 상기 모델을 훈련시킬 하나 이상의 선택된 특징 -상기 하나 이상의 선택된 특징은 상기 하나 이상의 엔드-유저 트랜잭션에 의해 라벨링됨- 을 계산하는 단계; 및
    상기 선택된 특징들로부터 상기 모델을 구성하는 단계
    가 구현되는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 생성하기 위한 하나 이상의 프로그램을 내장하는 컴퓨터 판독 가능한 기록 매체.
  20. 클라이언트 워크스테이션과 통신하는 서버에서 수신된, 하나 이상의 엔드-유저 트랜잭션에 대응하는, 하나 이상의 원격 절차 호출로부터 상기 클라이언트 워크스테이션에서 발신하는 상기 하나 이상의 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 구성하기 위해 사용되는 훈련 데이터를 자동으로 생성하기 위한 하나 이상의 프로그램을 내장하는 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 하나 이상의 프로그램을 실행하면,
    상기 클라이언트 워크스테이션이, 상기 클라이언트 워크스테이션에서 발신하는 하나 이상의 엔드-유저 트랜잭션의 시작과 끝을 마크하게 하는 단계; 및
    상기 엔드-유저 트랜잭션 마크들을 상기 서버에서 수신된 상기 하나 이상의 원격 절차 호출과 상관시켜 엔드-유저 트랜잭션에 의해 라벨링된 원격 절차 호출들 -상기 라벨링된 원격 절차 호출들은 상기 훈련 데이터로서 사용됨- 을 생성하는 단계
    가 구현되는, 엔드-유저 트랜잭션을 인식하는 데 사용되는 모델을 구성하기 위해 사용되는 훈련 데이터를 자동으로 생성하기 위한 하나 이상의 프로그램을 내장하는 컴퓨터 판독 가능한 기록 매체.
KR10-2001-0023234A 2000-05-22 2001-04-28 엔드-유저 트랜잭션을 인식하기 위한 방법 및 시스템 KR100436678B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/575,553 US6925452B1 (en) 2000-05-22 2000-05-22 Method and system for recognizing end-user transactions
US09/575,553 2000-05-22

Publications (2)

Publication Number Publication Date
KR20010107554A KR20010107554A (ko) 2001-12-07
KR100436678B1 true KR100436678B1 (ko) 2004-06-22

Family

ID=24300765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0023234A KR100436678B1 (ko) 2000-05-22 2001-04-28 엔드-유저 트랜잭션을 인식하기 위한 방법 및 시스템

Country Status (4)

Country Link
US (1) US6925452B1 (ko)
JP (1) JP3737714B2 (ko)
KR (1) KR100436678B1 (ko)
GB (1) GB2367402B (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947947B2 (en) * 2001-08-17 2005-09-20 Universal Business Matrix Llc Method for adding metadata to data
US7599861B2 (en) 2006-03-02 2009-10-06 Convergys Customer Management Group, Inc. System and method for closed loop decisionmaking in an automated care system
US8379830B1 (en) 2006-05-22 2013-02-19 Convergys Customer Management Delaware Llc System and method for automated customer service with contingent live interaction
US7809663B1 (en) 2006-05-22 2010-10-05 Convergys Cmg Utah, Inc. System and method for supporting the utilization of machine language
US7593906B2 (en) * 2006-07-31 2009-09-22 Microsoft Corporation Bayesian probability accuracy improvements for web traffic predictions
US7984006B2 (en) * 2007-09-18 2011-07-19 Palo Alto Research Center Incorporated Learning a user's activity preferences from GPS traces and known nearby venues
US9665909B2 (en) 2010-10-18 2017-05-30 Hewlett Packard Enterprise Development Lp Transaction classification rule generation
US9460169B2 (en) * 2011-01-12 2016-10-04 International Business Machines Corporation Multi-tenant audit awareness in support of cloud environments
JP6150282B2 (ja) * 2013-06-27 2017-06-21 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及びコンピュータプログラム
US11550688B2 (en) * 2015-10-29 2023-01-10 Micro Focus Llc User interaction logic classification
CN107645483B (zh) * 2016-07-22 2021-03-19 创新先进技术有限公司 风险识别方法、风险识别装置、云风险识别装置及系统
CN108268619B (zh) 2018-01-08 2020-06-30 阿里巴巴集团控股有限公司 内容推荐方法及装置
CN108681490B (zh) * 2018-03-15 2020-04-28 阿里巴巴集团控股有限公司 针对rpc信息的向量处理方法、装置以及设备
CN110570316A (zh) 2018-08-31 2019-12-13 阿里巴巴集团控股有限公司 训练损伤识别模型的方法及装置
CN110569696A (zh) 2018-08-31 2019-12-13 阿里巴巴集团控股有限公司 用于车辆部件识别的神经网络系统、方法和装置
JP2023534101A (ja) * 2020-12-04 2023-08-08 グーグル エルエルシー 用例ベースのボイスボット開発技術
US11804211B2 (en) 2020-12-04 2023-10-31 Google Llc Example-based voice bot development techniques
US11902222B2 (en) 2021-02-08 2024-02-13 Google Llc Updating trained voice bot(s) utilizing example-based voice bot development techniques

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993020508A1 (en) 1992-04-07 1993-10-14 Digital Equipment Corporation Entity management system with remote call feature
US5867799A (en) * 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5727950A (en) 1996-05-22 1998-03-17 Netsage Corporation Agent based instruction system and method
US7100195B1 (en) 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system

Also Published As

Publication number Publication date
GB0111398D0 (en) 2001-07-04
GB2367402A (en) 2002-04-03
US6925452B1 (en) 2005-08-02
GB2367402B (en) 2004-06-09
JP2002041464A (ja) 2002-02-08
JP3737714B2 (ja) 2006-01-25
KR20010107554A (ko) 2001-12-07

Similar Documents

Publication Publication Date Title
KR100436678B1 (ko) 엔드-유저 트랜잭션을 인식하기 위한 방법 및 시스템
US11087094B2 (en) System and method for generation of conversation graphs
CN111506722A (zh) 基于深度学习技术的知识图谱问答方法、装置及设备
Evermann et al. Predicting process behaviour using deep learning
US11003863B2 (en) Interactive dialog training and communication system using artificial intelligence
Albrecht et al. Towards a Bayesian model for keyhole plan recognition in large domains
US11418461B1 (en) Architecture for dynamic management of dialog message templates
US20020103775A1 (en) Method for learning and combining global and local regularities for information extraction and classification
CN111026842A (zh) 自然语言处理方法、自然语言处理装置及智能问答系统
CN110032630A (zh) 话术推荐设备、方法及模型训练设备
CA2144255A1 (en) Training apparatus and method
CN109471923A (zh) 一种基于同义词扩充的客服聊天机器人本体半自动构建的方法
CN116595150A (zh) 一种对话推荐方法、装置、设备及存储介质
CN109408799A (zh) 语义决策方法和系统
CN112163560A (zh) 一种视频信息处理方法、装置、电子设备及存储介质
CN111626041B (zh) 一种基于深度学习的音乐评论生成方法
Griol et al. Bringing together commercial and academic perspectives for the development of intelligent AmI interfaces
CN109885668A (zh) 一种可扩展的领域人机对话系统状态跟踪方法及设备
CN112989007B (zh) 基于对抗网络的知识库扩展方法、装置及计算机设备
CN115983269A (zh) 一种智慧社区数据命名实体识别方法、终端及计算机介质
CN113468306A (zh) 语音对话方法、装置、电子设备及存储介质
Windiatmoko et al. Mi-Botway: A deep learning-based intelligent university enquiries chatbot
Ge et al. Dialogue management based on sentence clustering
CN117834780B (zh) 一种智能外呼客户意图预测分析系统
CN113821605B (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: 20080526

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee