KR20000075511A - 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 사이의 통신 방법 및 장치 - Google Patents
지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 사이의 통신 방법 및 장치 Download PDFInfo
- Publication number
- KR20000075511A KR20000075511A KR1019997007570A KR19997007570A KR20000075511A KR 20000075511 A KR20000075511 A KR 20000075511A KR 1019997007570 A KR1019997007570 A KR 1019997007570A KR 19997007570 A KR19997007570 A KR 19997007570A KR 20000075511 A KR20000075511 A KR 20000075511A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- intelligent agent
- agent
- selector
- client
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 94
- 230000008569 process Effects 0.000 title claims description 43
- 238000013528 artificial neural network Methods 0.000 claims abstract description 54
- 238000004590 computer program Methods 0.000 claims description 36
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 237
- 238000012549 training Methods 0.000 description 43
- 230000006870 function Effects 0.000 description 18
- 230000008901 benefit Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012035 limiting reagent Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003319 supportive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
- G06Q50/188—Electronic negotiation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S283/00—Printed matter
- Y10S283/901—Concealed data
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Tourism & Hospitality (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Technology Law (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
지능적 에이젼트(an intelligent agent)(42)와 그 클라이언트(10)는 이들 양 당사자에게 알려진 셀렉터를 이용하여 통신함으로써 메시지를 발생시키고 해석하여 메시지 내에서 전송되는 기밀 정보를 제 3 자로부터 효과적으로 위장한다. 또한, 신경 회로망이 에이젼트(42)의 판단 로직 및/또는 메시지 위장 기능을 구현하는 데 사용되어, 이러한 기능에서 채용된 로직이 제 3 자에 의해 쉽게 역 설계되거나 스캐닝되지 못하도록 한다.
Description
관련 출원에 대한 상호 참조
본 출원은 바이거스(Bigus) 등에 의해 동일자로 출원된 다음의 미국 특허 출원들, "INTELLIGENT AGENT WITH NEGOTIATION CAPABILITY AND METHOD OF NEGOTIATION THEREWITH"라는 명칭의 미국 특허 출원 제 08/821,935 호, "APPARATUS AND METHOD FOR OPTIMIZING THE PERFORMANCE OF COMPUTER TASKS USING MULTIPLE INTELLIGENT AGENT HAVING VARIED DEGREES OF DOMAIN KNOWLEDGE"라는 명칭의 미국 특허 출원 제 08/826,107 호, "APPARATUS AND METHOD FOR OPTIMIZING THE PERFORMANCE OF COMPUTER TASKS USING INTELLIGENT AGENT WITH MULTIPLE PROGRAM MODULES HAVING VARIED DEGREES OF DOMAIN KNOWLEDGE"라는 명칭의 미국 특허 출원 제 08/822,993 호와 관련된다. 이들 모든 출원의 개시 사항은 본 명세서에서 참조로서 인용된다.
1940 년대에 최초의 전자 컴퓨터가 출현한 이래, 컴퓨터는 점점 더 다양하고 복잡한 작업을 처리해 왔다. 반도체와 기타 하드웨어 구성요소의 진보로 인해, 한때는 방 하나 가득한 컴퓨터들을 필요로 했던 작업을 이제는 현재의 저성능(low-end) 데스크탑 컴퓨터가 처리하게 되었다.
컴퓨터 프로그램은, 컴퓨터의 동작이 작업을 수행하도록 제어하는 인스트럭션의 집합으로서, 갈수록 복잡하고 강력해지고 있다. 초기의 컴퓨터 프로그램이 기초적 수학 연산만을 수행하는 것에 한정되었던 것에 반해, 현재의 컴퓨터 프로그램은 음성 및 화상 인식, 예측 분석 및 예보, 멀티미디어 프리젠테이션, 기타 언급할 수도 없는 다수의 복잡한 작업들을 처리한다.
그러나, 많은 컴퓨터 프로그램의 공통적인 특징은 이들이 전형적으로 조작자나 사용자에 의한 특정 커맨드에 응답하여 작업을 수행하는 데 한정된다는 것이다. 따라서, 사용자는 특정 작업을 수행하는 데 필요한 특정 컨트롤, 커맨드 등을 알아야만 한다. 컴퓨터 프로그램이 보다 복잡하고 다양한 특성을 갖게 됨에 따라, 사용자는 개선된 기능을 이용하기 위해 프로그램에 관해 보다 많이 배우고 이해할 것이 요청된다.
컴퓨터는 보다 강력해졌을 뿐 아니라, 근거리 회로망이나 광역 회로망과 같은 전용 회로망과 인터넷과 같은 공공 회로망을 통해 보다 많이 상호접속되게 되었다. 이로 인해, 컴퓨터와 그 사용자는 세계적인 규모로 상호작용하고 서로 정보를 공유할 수 있게 되었다. 그러나, 정보의 양이 기하급수적으로 증가하고 있으므로, 사용자가 특정 정보를 찾아내는 것은 점점 더 어려워지고 있다.
컴퓨터 프로그램의 복잡도와 사용자가 이용가능한 정보의 양이 극적으로 증가함에 따라, 지능적 에이젼트 컴퓨터 프로그램 영역에 대한 실질적인 관심이 증대되어 왔다. 지능적 에이젼트 컴퓨터 프로그램은 지능적 에이젼트 또는 단순히 에이젼트라고도 지칭되며 자신의 복잡성을 사용자에게 드러내지 않는 방식으로 일정한 작업을 자동화하고 단순화하기 위해 소프트웨어로 구현된 "보조자(assistants)"처럼 동작한다. 에이젼트를 이용하면, 사용자는 특정 커맨드의 시퀀스를 알 필요없이 작업을 수행할 수 있을 것이다. 이와 유사하게, 사용자는 정보를 어떻게 또는 어디서 검색할지를 정확히 알 필요없이 그 정보를 얻을 수 있을 것이다.
지능적 에이젼트는 위임(delegation)이라는 개념에 의해 특징지워지는데, 이 경우 사용자나 클라이언트는 에이젼트가 적어도 어느 정도의 자율성을 가지고 작업을 처리하도록 부탁한다. 지능적 에이젼트는 사용자에 의해 위임된 자율성의 정도에 따라 가변적인 제한 조건을 가지고 동작한다.
또한, 지능적 에이젼트는 지능, 이동성(mobility), 에이젼시(agency), 사용자 인터페이스의 관점에서 상이한 능력을 가질 수 있다. 지능은 일반적으로 에이젼트가 처리하는 추론과 의사 결정의 양이다. 이러한 지능은 사전결정된 규칙 세트를 단순히 추종하는 것처럼 단순할 수도 있고, 사용자의 목표와 에이젼트가 이용가능한 자원에 기초하여 학습과 적응하는 것처럼 복잡할 수도 있다.
이동성은 회로망을 통해 전달되고 상이한 컴퓨터 시스템 상에서 실행될 수 있는 능력이다. 즉, 어떤 에이젼트는 하나의 컴퓨터 시스템 상에 머물도록 설계되어 상이한 머신으로 전달되지 못할 수도 있는 반면, 다른 에이젼트는 이 컴퓨터에서 저 컴퓨터로 전달될 수 있도록 설계되어 그 경로를 따라 존재하는 상이한 컴퓨터에 정류하여 작업을 수행할 수 있다는 점에서 이동성이 있다. 사용자 인터페이스는 에이젼트가 사용자와 상호작용하는 방법을 규정한다.
에이젼트는 시스템 및 회로망 관리, 이동 액세스 및 관리, 정보 액세스 및 관리, 공동 작업, 메시지 전달, 작업 흐름 및 행정적 관리, 적응적 사용자 인터페이스를 포함하여 다양한 응용 분야에서 사용될 수 있다. 에이젼트의 또다른 중요한 용도는 전자 상거래인데, 여기서 에이젼트는 다른 사용자, 다른 컴퓨터 시스템, 다른 에이젼트 등의 상대방을 찾고, 자신의 클라이언트를 위해 협상(negotiation)을 수행하고, 상거래에 착수하도록 구성될 수 있다.
인간인 에이젼트가 일정량의 자율성을 갖는 것과 유사하게, 지능적 에이젼트도 자신이 수행하도록 허가된 것과 허가되지 않은 것에 대한 제한 조건 세트를 갖는다. 예를 들어, 전자 상거래 애플리케이션을 위한 판매 에이젼트는 최저 수용가능 가격에 의해 제한될 수 있다. 그러나, 전자 에이젼트이든 인간인 에이젼트이든, 유능한 판매 에이젼트라면 처음부터 최저 수용가능한 가격을 제시하여 이윤을 최소화하지는 않을 것이다. 게다가, 최소 가격을 제시한다고 하더라도, 구매자는 에이젼트가 원래 제안 가격보다 가격을 낮추려 하지 않기 때문에 그 가격이 경쟁력이 없다고 추측할 수도 있으므로, 거래가 보장되는 것은 아닐 수도 있다. 따라서, 에이젼트는 전형적으로 수용가능한 최악의 경우의 가격으로부터 약간의 이윤을 갖도록 협상을 시작한 후, 상대방과 공통적으로 수용가능한 가격 쪽으로 진행해 나간다.
그러나, 협상 계획, 기법, 전략 또는 지능적 에이젼트가 그의 제한 조건 내에서 동작하기 위해 사용하는 기타 기밀 정보는 상대방에게 드러나지 않아야 하는 경우가 종종 있다. 그렇지 않으면, 에이젼트는 경쟁에 있어 불리한 위치에 놓이게 된다. 많은 에이젼트가 비보안 환경(unsecured environments)으로 디스패치(dispatch)될 수도 있는 상황에서는 상대방이 에이젼트를 스캐닝하거나 역 설계(reverse engineering)하여 그 협상 전략이나 기타 제한 조건을 알게 될 수도 있다는 것을 가정해야 한다. 또, 상대방이 에이젼트와 그의 클라이언트 사이에서 전송된 메시지를 디코딩하여 협상 과정에서 최대 이익을 얻을 수도 있다는 것도 가정해야 한다. 이러한 가정은 이들 기법이 일부 판매원이 가능한 최상의 가격을 얻기 위해 사용하는 여러 기법과 개념적으로 유사하다는 사실을 볼 때 근거가 있다.
이를테면, 클라이언트로부터 에이젼트로의 메시지가 그 에이젼트가 $100을 제안하였으나 $90까지 낮추도록 허가되었다는 것을 나타낸다면, 이 메시지를 가로챈 다른 당사자는 거래가 더 낮은 가격에서 성사될 수 있다는 사실을 즉시 알게 된다. 또, 메시지를 가로채지 않더라도 에이젼트가 $90을 자신의 허가된 최저 제안 가격으로 저장하고 있다면, 다른 당사자는 에이젼트를 역 설계나 스캐닝하여 유사한 결과를 이끌어 낼 수 있다.
에이젼트와 그 클라이언트 사이의 메시지를 암호화하기 위한 노력이 있어 왔다. 그러나, 대부분의 통상적인 암호화 방법은 에이젼트와 클라이언트를 위한 전용 "키(key)"에 의존하고 있다. 암호화는 송신자와 수신자 모두 보안 환경 안에 있으며, 그들 사이의 전송 경로만이 비보안 상태라고 가정한다. 그러나, 에이젼트가 비보안 환경에 상주하여 실행하므로, 그 에이젼트를 역 설계하거나 스캐닝하여 그 전용 키를 얻음으로써 암호화를 해독할 수 있다. 결과적으로, 통상적인 암호화 기법은 비보안 환경에서 실행되는 다른 컴퓨터 프로그램이나 에이젼트의 기밀 통신을 적절하게 보호하지 못한다.
따라서, 지능적 에이젼트 컴퓨터 프로그램의 기밀 정보를 보호하는 방식이 본 기술 분야에서 심각하게 요구된다.
발명이 이루고자 하는 기술적 과제
본 발명은 메시지를 발생시키고 해석함에 있어 셀렉터(selector)를 사용하여 메시지 내에 전송된 기밀 정보를 제 3 자로부터 효과적으로 위장하는 에이젼트와 그 클라이언트 사이의 통신 방식을 제공함으로써 종래 기술과 관련된 상술한 문제점 및 다른 문제점들 해결한다. 메시지의 내용을 스크램블(scramble)하는 암호화 기법과는 대조적으로, 셀렉터는 주어진 메시지가 스크램블되지 않아도 될 때, 송신측과 수신측이 이를 해석하는 방법을 제어한다.
본 발명의 다양한 실시예에서 사용되는 셀렉터는 에이젼트와 클라이언트 양쪽이 알고 있는 사전결정된 파라미터일 수 있고, 또는 동일한 메시지나 별개의 메시지 내에서 기밀 정보로서 에이젼트와 클라이언트 사이에서 전송될 수 있다. 또한, 셀렉터는 양측에 알려지거나 양측 사이에서 전송되는 별개의 파라미터로서 유지되거나, 다른 용도나 목적을 갖는 기존의 파라미터로부터 유도될 수도 있다.
셀렉터는 기밀 정보를 위장하기 위해 여러 방식으로 사용될 수 있다. 예컨대, 셀렉터는 전송할 다수의 메시지 중 하나를 선택하는 데 사용될 수도 있고, 특정 메시지에 대한 다수의 대체 의미 중 하나를 선택하는 데 사용될 수도 있고, 다수의 전송된 메시지 중에서 기밀 정보의 위치를 선택하는 데 사용될 수도 있으며, 다수의 메시지 중 어느 것이 전송에서 생략되는지를 나타내는 데 사용될 수도 있다.
또한, 본 발명의 소정의 실시예에서는, 신경 회로망을 이용하여 판단 로직의 일부나 전부를 구현함으로써 에이젼트의 판단 로직을 제 3 자로부터 위장할 수 있다. 신경 회로망은 가변 가중치를 갖는 상호접속된 노드에 의존하여 로직을 인코딩하는 것으로서, 쉽게 역 설계되거나 스캐닝되지 않아서, 비보안 환경에서 동작하는 에이젼트에게 상당한 보안상의 이점을 제공한다.
본 발명에 특징적인 이들 및 기타 장점과 특징은 본 명세서에 첨부되어 그 후속 부분을 이루는 청구 범위에서 설명된다. 그러나, 본 발명과 그 이용을 통해 얻어지는 장점 및 목적을 보다 잘 이해하기 위하여, 도면 및 본 발명의 실시예가 설명된 첨부한 상세한 설명을 참조하여야 한다.
본 발명은 일반적으로 컴퓨터 시스템 등에서 실행가능한 지능적 에이젼트 컴퓨터 프로그램에 관한 것으로, 특히, 이러한 프로그램에 의해 사용되는 판단 로직과 통신 메커니즘에 관한 것이다.
도 1은 본 발명의 원리에 따라 절차적 의사 결정과 메시지 위장을 이용하는 지능적 에이젼트의 동작을 나타내는 흐름도이다.
도 2는 본 발명의 원리에 따라 신경 회로망으로 구현된 의사 결정과 절차적 메시지 위장을 이용하는 다른 지능적 에이젼트의 동작을 나타내는 흐름도이다.
도 3은 본 발명의 원리에 따라 신경 회로망으로 구현된 의사 결정과 메시지 위장을 이용하는 또다른 지능적 에이젼트의 동작을 나타내는 흐름도이다.
도 4는 본 발명의 실시예에 사용되는 회로망 컴퓨터 시스템 환경의 블럭도이다.
도 5는 그 내부의 지능적 에이젼트 사이의 상호작용을 나타내는 도 4의 회로망 컴퓨터 시스템의 블럭도이다.
도 6은 클라이언트와 원격 컴퓨터 시스템 내의 주요 구성요소를 보다 상세히 나타내는 도 4의 회로망 컴퓨터 시스템의 블럭도이다.
도 7은 도 5의 에이젼트 관리자, 이동 에이젼트, 협상 에이젼트(상대방) 사이의 상호작용을 나타내는 흐름도이다.
도 8a와 도 8b는 도 5의 지능적 에이젼트의 일 실시예에서 주요 구성요소를 나타내는 블럭도이다.
도 9는 도 8a와 도 8b의 지능적 에이젼트 내에서 신경 회로망을 훈련하는 데 사용되는 회로망 훈련 루틴의 프로그램 흐름을 나타내는 흐름도이다.
본 발명의 실시예들은 지능적 에이젼트 내에서 기밀 정보를 제 3 자로부터 위장하는 다양한 방식을 구현한다.
지능적 에이젼트는 어느 정도의 자율성을 위임받되 그들의 클라이언트(이를테면, 다른 에이젼트, 컴퓨터 프로그램이나 애플리케이션 혹은 시스템, 컴퓨터를 통해 에이젼트와 상호작용하는 개체 ― 이들은 이후로부터 클라이언트 컴퓨터 프로세스로 참조됨)에 의해 규정된 제한 조건 내에서 동작하도록 제한된 컴퓨터 프로그램이다. 상이한 애플리케이션이나 컴퓨터 프로그램 사이에서 전달되거나 이들 내에서 동작할 수 있는 이러한 에이젼트의 서브세트를 이동 에이젼트라 지칭한다.
일반적으로, 에이젼트는 가지(sense)하고, 인식하고, 행동하는 능력을 갖는다. 이들 기능은 전형적으로 엔진, 지식 요소, 적응기 요소, 라이브러리, 표시(view) 요소를 포함하는 다수의 구성요소 내에서 구현된다. 일반적으로, 엔진은 에이젼트의 전반적인 동작을 제어하고 그 에이젼트의 "두뇌(brain)" 역할을 하며, 지식 요소는 그 에이젼트가 수집한 지식의 표본인 정보를 저장한다. 적응기 요소는 에이젼트와 외부 객체 사이의 상호작용을 처리하여, 에이젼트가 환경을 "감지"하고 환경과 상호작용하는 메커니즘 역할을 한다. 라이브러리는 지식 구성요소에 의해 이용되는 정보를 영속적으로 저장하고, 표시 요소는, 이를테면, 에이젼트에게 인스트럭션을 공급하기 위한 에이젼트를 위해 휴먼 인터페이스(존재하는 경우)를 제공한다.
에이젼트는 데이터, 고유의 판단 로직이나 전략, 원하는 목표 등과 같이 클라이언트가 제 3 자의 액세스를 제한하고자 하는 기밀 정보를 수신하고, 송신하고, 저장하고 이용할 수 있다. 예를 들어, 전자 상거래 애플리케이션에서, 에이젼트는 자신과 협상 중인 상대방이 자신의 현상 전략이나 허가된 제안 가격의 한계와 같은 일정 정보를 알지 못하기를 원할 수 있다. 그러나, 다른 당사자가 에이젼트와 그 클라이언트 사이의 메시지를 가로챌 수 있거나, 다른 당사자가 그 에이젼트의 프로그램 코드를 역 설계하거나 스캐닝할 수 있다면, 기밀 정보는 이러한 정밀한 검사(scrutiny)의 대상이 될 수도 있다.
전술한 문제를 해결하기 위하여, 본 발명의 실시예는 에이젼트와 에이젼트 관리자 양쪽에 근본적으로 알려져 있는 셀렉터에 의존하는 고유의 신호 방법론을 이용하여 그 안에 포함된 기밀 정보를 위장하는 메시지를 발생시키고 해석한다. 다음에서 명백해질테지만, 부호화 기법과는 대조적으로, 셀렉터가 주로 메시지의 의미를 해석하는 데 사용되기 때문에, 메시지가 변경되거나, 암호화되거나, 스크램블될 필요가 없다.
셀렉터를 사용하는 것과 부호화 기법 사이의 차이점은, 셀렉터의 경우 제 3 자는 메시지가 그의 진정한 의미와는 다른 의미를 갖는다고 오신하거나 클라이언트에게 유리하도록 부주의하게 행동할 수 있다는 점이다. 암호화에 비해 또다른 장점은, 메시지가 위장되었다는 사실이 쉽게 드러나지 않아서 전형적으로 그 메시지가 다른 메시지에 비해 눈에 띄지 않는다는 점이다. 그러나, 본 발명의 어떤 실시예에서는 메시지 위장과 함께, 위장되거나 비위장 메시지 상에서 암호화 기법을 사용할 수 있다는 점을 이해해야 한다. 예컨대, 일 실시예에서, 전송될 정보는 위장된 메시지로부터 주의를 돌리기 위해 전송되는 암호화된 유인 메시지와 함께 위장된 메시지 내에서 전송될 수 있다.
예를 들어, 도 1은 본 발명에 따른 지능적 에이젼트(160)를 위한 프로그램 흐름을 나타낸다. 에이젼트(160)는 블럭(162)에서 입력을 수신하고 그 입력에 기초하여 블럭(164)에서 의사를 결정함으로써 동작한다. 블럭(164)은 기밀 정보를 출력하는데, 기밀 정보는 셀렉터(167)에 따라 블럭(166)에서 메시지 내에 위장된다. 이어서, 메시지는 블럭(168)으로 전송되고, 컨트롤(control)이 블럭(162)으로 돌아온다.
셀렉터를 사용하는 것은 야구 선수와 코치가 야구 경기 중에 사용하는 수신호(예컨대, 귀를 당기거나, 코를 만지는 등)와 유사하게 설명될 수 있다. 신호나 메시지는 누구나 볼 수 있지만, 이를 사용하는 팀에게만 알려져 있고 그 의미가 자주 변경되기 때문에, 이를 해석하는 것이 불가능한 정도는 아니더라도 어렵다. 어떤 신호는 상이한 상황마다 상이한 의미를 가질 수 있어서, 상대 팀을 혼동시키거나 상대 팀이 특정 신호를 다른 의미로 오신하게 할 수 있다.
셀렉터는 기밀 신호를 위장하는 여러 방식에서 사용될 수 있다. 예를 들어, 셀렉터는 다수의 전송될 메시지 중 하나를 선택하여 기밀 정보의 특정 부분을 전달하는 데 사용될 수 있다. 또한, 하나 이상의 메시지가 다수의 대체적인 의미를 가질 수도 있다. 이로 인해, 한 세트의 메시지가 기밀 정보의 여러 부분을 나타낼 수도 있다. 그러나, 메시지가 하나 이상의 의미를 가질 필요는 없다는 것을 이해해야 한다.
예를 들어, 아래 표 1은 메시지 세트 중 세 개의 메시지 "A", "B", "C"가 셀렉터의 값에 따라 (이 경우에는 수용하느냐 수정 제안(counteroffer)을 하느냐의) 기밀 정보의 세 부분을 전달하기 위해 에이젼트에 의해 사용되는 방법을 나타내는 변환 테이블을 나타낸다.
전달할 정보 | 셀렉터 | ||
1 | 2 | 3 | |
더 낮출 것이다, 위험 없음 | 메시지 A | 메시지 B | 메시지 C |
더 낮출 수 있다, 약간의 위험 | 메시지 B | 메시지 C | 메시지 A |
더 낮출지 의심스럽다, 고도의 위험 | 메시지 C | 메시지 A | 메시지 B |
이 구성의 한 장점은 이 메시지가 자신의 내용이나 의도된 의미를 위장하는 것 외에, 다른 당사자로 하여금 특정 메시지가 다른 의미를 갖는다고 오신하도록 야기할 수 있다는 점이다. 예컨대, 구매 에이젼트는 클라이언트에게 최후에 제안된 가격에서 거래를 성사시키도록 허가를 구하는 메시지를 전송하였지만 판매 당사자는 그 메시지를 에이젼트가 협상을 끝내려 한다는 의미로 해석한 경우, 판매 당사자는 거래를 성사시키기 위해 가격을 내릴 수도 있다.
또한, 셀렉터는 다수의 메시지 중 어느 것이 원하는 기밀 정보를 포함하는지를 선택하는 데 이용될 수도 있다. 이를테면, 위의 표 1의 메시지는 셀렉터가 어느 메시지가 고려되어져야 하는지를 나타내는 경우, 메시지 A, B, C는 단일 전송 시에 함께 전송될 수 있다. 마찬가지로, 셀렉터는 다수의 메시지 중 어느 것이 전송에서 생략될지를 선택하는 데 사용될 수도 있다. 예컨대, 메시지 A 내지 C 세트에 대해, 메시지 A와 B는 전송하되 C는 전송하지 않도록 하여 정보의 일정 부분을 전달할 수 있다.
셀렉터는 에이젼트와 클라이언트 양쪽이 알고 있는 사전결정된 파라미터일 수 있다. 예를 들어, 셀렉터는 사전결정된 횟수의 통신이나 사이클마다 (예컨대, 매 3회 전송 시마다) 변경될 수 있다.
또한, 셀렉터는 에이젼트와 클라이언트 사이에서 기밀 정보와 더불어 동일한 메시지 내에서, 동일 전송의 별개의 메시지 내에서, 또는 완전히 별개의 전송에서 전송될 수도 있다. 예를 들어, 에이젼트 관리자는 가능한 값 세트 내에 있는 다음 셀렉터 값이 사용되도록 에이젼트에게 "셀렉터 증가" 메시지를 전송할 수도 있고, 또는 메시지를 전송하기에 앞서 어느 메시지 세트로부터 관리자가 그 메시지를 해석해야 하는지를 나타내는 별개의 메시지를 먼저 전송할 수도 있다(예컨대, 표 1에서 메시지 D는 셀렉터 1을, 메시지 E는 셀렉터 2를, 메시지 F는 셀렉터 3을 나타낸다).
다수의 셀렉터가 메시지, 즉 비트(bit) 세트(sets of bits) 내에서 기밀 정보와 인터리빙될 수 있다. 이를테면, 32 비트 메시지는 3 개의 8 비트 데이터와 함께 그 8 비트 데이터의 경계에 위치하는 4 개의 2 비트 셀렉터로 나누어진 8 비트의 셀렉터 정보를 포함할 수 있다. 셀렉터 정보를 메시지로 인터리빙하는 것을 지원하기 위해 참조 테이블이 이용될 수 있다. 또한, 해석 중에는 무시되는 기타 외래 정보가 메시지 내에 포함될 수도 있는데, 예를 들어 몇몇 고차(high order) 비트는 값에 더해지지만 해석 중에는 무시될 수 있다. 나아가, 정보는 셀렉터가 정보를 인출한 장소와 이를 해석할 방법을 제어하도록 하면서, 다수의 메시지나 전송 사이에 나누어질 수 있다.
또한, 셀렉터는 당사자가 알고 있거나 당사자 사이에서 전송되는 별개의 파라미터로서 유지되거나, 혹은 다른 용도나 목적을 갖는 기존의 파라미터로부터 유도될 수도 있다. 예컨대, 셀렉터는 메시지 상의 타임 스탬프(이를테면, 마지막 디지트, 또는 디지트의 합을 3으로 나눈 나머지 등)나 그 메시지를 위한 검사합(checksum)으로부터 유도될 수 있다. 기타 외관상 무해한 정보는 클라이언트와 에이젼트 양쪽이 알고 있든지 그들 사이에서 전송되든지 무관하게 "의사 랜덤(pseudo-random)" 셀렉터를 생성하는 데 사용될 수 있다.
도 1의 에이젼트(160)는 의사 결정과 메시지 위장의 절차적 프로세스를 나타내는데, 이에 따라 일련의 단계가 컴퓨터 프로그램에 의해 순차적으로 실행되어 블럭(164, 166)의 기능을 처리한다. 그러나, 절차적 로직(procedural logic)은 제 3 자에 의해 역 편집(reverse compilation)되거나 스캐닝될 수도 있다. 에이젼트(160)를 위한 대체 전략이 도 2에 도시되어 있는데, 여기서 에이젼트(170)는 절차적 의사 결정 대신 신경 회로망(172)을 사용한다. 메시지 위장은 셀렉터(177)를 수신하고 블럭(178)을 통해 전송된 위장된 메시지를 출력하는 절차적 블럭(176)을 통해 여전히 처리된다.
신경 회로망을 구현하고 훈련하는 것은 본 기술 분야에서 주지되어 있다. 신경 회로망으로 구현하는 의사 결정의 주된 장점은 신경 회로망 내로 훈련되어 들어가는 로직이 절차적 프로세스가 아닌 가중치에 의존하고 있기 때문에, 그 로직을 판단하기가 극히 어렵다는 데 있다. 신경 회로망은 회로망 내에서 상호접속되어 있는 프로세싱 구성요소나 노드 세트를 이용하는데, 전형적으로 각각의 노드는 그 입력의 가중된 합(a weighted sum of its input)을 출력한다. 노드에 대한 각 입력에 인가되는 가중치는 회로망을 샘플로 훈련시킴으로써, 즉 데이터로 훈련시킴으로써 신경 회로망에 의해 반복적으로 "학습"된다.
그러나, 에이젼트(170)가 제 3 자에 의한 정밀 검사에 대해 매우 잘 저항할 수 있기는 하지만, 블럭(176)에서 신경 회로망에 의해 발생된 비위장 출력으로부터 절차적 프로세스를 사용하여 위장된 메시지를 발생시키기 때문에, 에이젼트는 여전히 정밀 검사되기 쉽다. 에이젼트 내에 저장된 비위장 모든 데이터는 에이젼트가 비보안 환경에 있을 때에는 역 설계되고 스캐닝될 수 있다는 것을 가정해야 한다.
도 3은 신경 회로망을 의사 결정과 메시지 위장 모두에 사용하도록 확장된 에이젼트(180)를 도시하고 있다. 신경 회로망(182)은 위장된 메시지를 발생시키는 하나 이상의 셀렉터(예컨대 셀렉터(184, 186))를 포함한 다수의 입력을 수신한다. 또한, 신경 회로망(182)은 하나 이상의 위장된 출력(이를테면 위장된 출력 1과 위장된 출력 2)만을 출력한다. 결과적으로, 어떤 시점에서도 임의의 비위장 데이터가 에이젼트(180)에 저장되어 있지 않다.
신경 회로망(182)을 훈련하는 데에는 회로망에 대한 셀렉터의 추가 입력을 고려하여 메시지 위장을 처리하는 추가 훈련 기록이나 표본이 필요하다. 예를 들어, 위장된 메시지 없이 신경 회로망을 훈련하기 위해서, 표준 훈련 데이터는 표 2에 나타난 것과 같이 N 개의 훈련 기록을 포함할 것이다.
입 력 | 출 력 |
i1.1 i1.2 i1.3 … | o1 |
i2.1 i2.2 i2.3 … | o2 |
: : : | : |
iN.1 iN.2 iN.3 … | oN |
그러나, 신경 회로망을 메시지를 위장하도록 훈련하기 위해서는, 출력이 하나 이상의 메시지에 의해 표현될 수 있다는 가정 하에 추가의 훈련 기록이 필요하다. 일반적으로, 셀렉터의 가능한 값 각각에 대해 한 그룹의 훈련 기록이 필요한데, 이는 셀렉터의 각 값(예컨대, 1 내지 K)에 대해 복제된 원래의 순수한 훈련 정보를 단순히 재사용하고, 메시지(예컨대, 메시지 A, B, …, M)를 아래 표 3에 나타낸 것과 같이 각 값에 대해 적절히 배열하여 달성될 수 있다.
입 력 | 셀렉터 | 출 력 |
i1.1 i1.2 i1.3 … | 1 | 메시지 1.A |
i2.1 i2.2 i2.3 … | 1 | 메시지 1.B |
: : : | : | : |
iN.1 iN.2 iN.3 … | 1 | 메시지 1.M |
i1.1 i1.2 i1.3 … | 2 | 메시지 2.A |
i2.1 i2.2 i2.3 … | 2 | 메시지 2.B |
: : : | : | : |
iN.1 iN.2 iN.3 … | 2 | 메시지 2.M |
i1.1 i1.2 i1.3 … | 3 | 메시지 3.A |
i2.1 i2.2 i2.3 … | 3 | 메시지 3.B |
: : : | : | : |
iN.1 iN.2 iN.3 … | 3 | 메시지 3.M |
: : : | : | : |
i1.1 i1.2 i1.3 … | K | 메시지 K.A |
i2.1 i2.2 i2.3 … | K | 메시지 K.B |
: : : | : | : |
iN.1 iN.2 iN.3 … | K | 메시지 K.M |
한번에 하나 이상의 위장된 메시지를 출력하기 위해서, 입력의 개수에 의해 요구되는 것 외에는 추가의 훈련을 필요로 하지 않는다. 예를 들어, 표 4에 나타낸 바와 같이, 3 개의 출력 메시지를 생성하기 위해서는, 다음의 훈련 데이터가 사용될 것이다.
입 력 | 셀렉터 | 출 력 |
i1.1 i1.2 i1.3 … | 1 | 메시지 1.A1 메시지 1.A2 메시지 1.A3 |
i2.1 i2.2 i2.3 … | 1 | 메시지 1.B1 메시지 1.B2 메시지 1.B3 |
: : : | : | : |
iN.1 iN.2 iN.3 … | 1 | 메시지 1.M1 메시지 1.M2 메시지 1.M3 |
i1.1 i1.2 i1.3 … | 2 | 메시지 2.A1 메시지 2.A2 메시지 2.A3 |
i2.1 i2.2 i2.3 … | 2 | 메시지 2.B1 메시지 2.B2 메시지 2.B3 |
: : : | : | : |
iN.1 iN.2 iN.3 … | 2 | 메시지 2.M1 메시지 2.M2 메시지 2.M3 |
i1.1 i1.2 i1.3 … | 3 | 메시지 3.A1 메시지 3.A2 메시지 3.A3 |
i2.1 i2.2 i2.3 … | 3 | 메시지 3.B1 메시지 3.B2 메시지 3.B3 |
: : : | : | : |
iN.1 iN.2 iN.3 … | 3 | 메시지 3.M1 메시지 3.M2 메시지 3.M3 |
: : : | : | : |
i1.1 i1.2 i1.3 … | K | 메시지 K.A1 메시지 K.A2 메시지 K.A3 |
i2.1 i2.2 i2.3 … | K | 메시지 K.B1 메시지 K.B2 메시지 K.B3 |
: : : | : | : |
iN.1 iN.2 iN.3 … | K | 메시지 K.M1 메시지 K.M2 메시지 K.M3 |
또한, 하나 이상의 셀렉터에 기초하여 위장된 메시지들을 생성하기 위해서는 셀렉터 값의 조합 각각에 대해 훈련 데이터 세트가 필요하다. 예를 들어, 표 5에 나타낸 바와 같이, 3 개의 셀렉터 세트와 2 개의 출력에 대해서, 다음의 훈련 데이터가 필요하다.
입 력 | 셀렉터 | 출 력 |
i1.1 i1.2 i1.3 … | 1.1.1 | 메시지 1.1.1.A1 메시지 1.1.1.A2 |
i2.1 i2.2 i2.3 … | 1.1.1 | 메시지 1.1.1.B1 메시지 1.1.1.B2 |
: : : | : | : |
iN.1 iN.2 iN.3 … | 1.1.1 | 메시지 1.1.1.M1 메시지 1.1.1.M2 |
i1.1 i1.2 i1.3 … | 1.1.2 | 메시지 1.1.2.A1 메시지 1.1.2.A2 |
i2.1 i2.2 i2.3 … | 1.1.2 | 메시지 1.1.2.B1 메시지 1.1.2.B2 |
: : : | : | : |
iN.1 iN.2 iN.3 … | 1.1.2 | 메시지 1.1.2.M1 메시지 1.1.2.M2 |
i1.1 i1.2 i1.3 … | X.Y.1 | 메시지 X.Y.1.A1 메시지 X.Y.1.A2 |
i2.1 i2.2 i2.3 … | X.Y.1 | 메시지 X.Y.1.B1 메시지 X.Y.1.B2 |
: : : | : | : |
iN.1 iN.2 iN.3 … | X.Y.1 | 메시지 X.Y.1.M1 메시지 X.Y.1.M2 |
: : : | : | : |
i1.1 i1.2 i1.3 … | X.Y.Z | 메시지 X.Y.Z.A1 메시지 X.Y.Z.A2 |
i2.1 i2.2 i2.3 … | X.Y.Z | 메시지 X.Y.Z.B1 메시지 X.Y.Z.B2 |
: : : | : | : |
iN.1 iN.2 iN.3 … | X.Y.Z | 메시지 X.Y.Z.M1 메시지 X.Y.Z.M2 |
신경 회로망을 훈련하는 데 사용되는 훈련 기록은 회로망 내에서 인코딩되기를 원하는 특정 로직에 의존한다는 것을 이해해야 한다. 또한, 에이젼트의 메시지 위장 기능은 신경 회로망을 통하거나 절차적 의사 결정에 의해 구현되며 개개의 신경 회로망이 의사 결정과 메시지 위장 기능을 위해 사용될 수 있다는 것도 이해해야 한다. 그리고, 에이젼트를 위한 다양한 추가 기능은 의사 결정이나 메시지 위장 기능을 위한 것과 동일하거나 상이한 신경 회로망으로 구현될 수 있다. 기타 변경 사항은 당업자에게 명백하다.
예시적인 하드웨어/소프트웨어 환경
본 발명에 따른 지능적 에이젼트의 훈련 및/또는 호스팅(hosting)에 적합한 대표적 하드웨어 환경이 도 4에 도시되어 있는데, 여기서 회로망 컴퓨터 시스템(10)은 일반적으로 하나 이상의 컴퓨터 시스템, 예컨대, 회로망(15)을 통해 접속되어 있는 단일 사용자 컴퓨터 시스템(16, 18)과 다수 사용자 컴퓨터 시스템(20, 60)을 포함하고 있다. 다수 사용자 컴퓨터 시스템(60)은 전형적으로 하나 이상의 단일 사용자 컴퓨터(22)가 별도의 회로망(24)을 통해 회로망 하나 이상의 서버(25)를 포함하고 있다. 마찬가지로, 다수 사용자 컴퓨터 시스템(20)은 회로망(64)을 통해 하나 이상의 단일 사용자 컴퓨터 시스템(62)에 접속되는 하나 이상의 서버(65)를 포함하고 있다. 회로망(15)은 근거리, 광역, 무선, 공중 회로망(예를 들어, 인터넷)을 포함하지만 여기에 한정되지는 않는 임의의 종류의 회로망 상호접속을 나타낸다.
본 발명에 따른 에이젼트는 종종 전술한 컴퓨터 시스템으로부터 발생되며 그 시스템 상에 상주할 수 있을 것이다. 본 발명의 목적을 위해 컴퓨터 시스템을 구별하는 하나의 방법은 각각이 특정 에이젼트에 대해 클라이언트인지 원격 시스템인지 구별하는 것이다. 예컨대, 도 5는 다수 사용자 컴퓨터 시스템(20)이 클라이언트 시스템이고 다수 사용자 컴퓨터 시스템(60)이 원격 시스템인 컴퓨터 시스템(10)의 일 실시예를 도시하고 있다.
이후부터, 클라이언트 시스템은 에이젼트가 그 시스템 상에 상주할 때 상대방에 의한 조작에 대한 일정 수준의 보안을 그 에이젼트에게 제공하는 컴퓨터 시스템을 지칭한다. 또한, 클라이언트 시스템은 에이젼트의 관리가 전형적으로 수행되는 컴퓨터 시스템이다. 에이젼트는 전형적으로 클라이언트 시스템으로부터 발생되지만 반드시 그럴 필요는 없다.
한편, 이후로부터 원격 시스템은 일반적으로 컴퓨터 시스템이 클라이언트의 제어 하에 있지 않기 때문에 전형적으로 에이젼트를 위한 일정 수준의 보안을 제공할 수 없는 컴퓨터 시스템을 지칭한다. 에이젼트가 상대방에 의해 스캐닝되거나 역 설계될 최대 위험, 또는 통신이 가로채어지거나 모니터될 최대 위험을 겪는 것은 전형적으로 원격 시스템 상에 상주하는 동안이다.
본 명세서에서 설명되는 다양한 실시예는 전자 상거래 애플리케이션에서 원칙적으로 사용되는데, 여기서 에이젼트는 일반적으로 구매 또는 판매 에이젼트 역할을 하면서 상업적 거래를 협상하도록 구성된다. 에이젼트는 다른 에이젼트, 다른 컴퓨터 시스템, 또는 심지어 다른 개인과도 협상할 수 있다. 에이젼트는 주식이나 일용품 시장의 라인을 따라 1 대 1로 상호작용할 수도 있고 다수의 에이젼트의 "시장(market)" 내에서 동작할 수도 있다. 에이젼트들 사이의 상호작용을 위해 에이젼트를 호스팅하는 능력을 갖는 컴퓨터 시스템은 가변적인 복잡한 협상 프로그램을 포함하며 이후로부터는 에이젼트 호스트로 지칭한다. 그러나, 본 발명은 지능적 에이젼트의 다른 애플리케이션에도 마찬가지로 적용되며, 따라서 상업적 애플리케이션에 특정하게 제한되어서는 안 된다는 것을 이해해야 한다.
도 5는 클라이언트 시스템(20) 내의 에이젼트 관리자(32)와 통신하는 이동 지능적 에이젼트(100)를 도시하고 있다. 협상 에이젼트(95) 등의 다른 당사자와 협상하는 동안, 이동 에이젼트(100)는 원격 시스템(60) 상에 상주하고 있다. 원격 시스템(60)은 에이젼트(95)를 위한 클라이언트일 수도 있고, 이 에이젼트에 대해 원격인 것으로 간주될 수도 있다는 것을 이해해야 한다.
본 발명의 다양한 실시예를 구현하기 위해 회로망 컴퓨터 시스템(10)의 예시적인 기능적 설계가 도 6에 도시되어 있다. 클라이언트 시스템(20)의 서버(25)는 버스(54)를 통해 메모리(30)와 저장부(40)에 접속되는 중앙 처리 장치(central processing unit : CPU)를 포함한다. 지역 네트워크 인터페이스는 참조 번호(52)에 제공되고 외부 네트워크(15)를 통한 원격 시스템(60)으로의 인터페이스는 인터페이스(50)를 통해 제공된다. 에이젼트 관리자 프로그램(32)은 에이젼트를 훈련하는 에이젼트 훈련자 프로그램(34)처럼 메모리(30) 내에 상주하고 있다. 저장부(40)는 하나 이상의 훈련된 에이젼트(42)를 포함하는데, 이들은 시스템(20) 내에서 지역적으로 인출되고 사용되거나 원격 시스템으로 디스패치되어 클라이언트 시스템을 위해 작업을 실행하고 수행할 컴퓨터 프로그램이나 모듈이다. 또한, 저장부(40)는 에이젼트 동작을 추적하고 또한 성공이나 실패를 추적할 수 있는 에이젼트 임무 데이터베이스(44)도 포함한다. 그리고, 훈련 데이터베이스(46)는 에이젼트 훈련자 프로그램(34)에 의해 사용되어 에이젼트를 훈련하는 훈련 데이터를 포함하며, 번역 테이블(translation table)(48)은 에이젼트 관리자(32) 뿐 아니라 에이젼트 훈련자 프로그램(34)에 의해 사용되어 이동 에이젼트로의 메시지를 인코딩하고 이동 에이젼트로부터의 메시지를 디코딩하는 훈련 데이터를 포함하는데, 이는 이후에 보다 상세히 논의할 것이다.
또한, 원격 시스템(60)의 서버(65)는 버스(94)를 통해 메모리(70), 저장부(80), 외부 네트워크 접속부(90), 지역 네트워크 접속부(92)에 접속되어 있는 CPU(68)을 포함한다. 에이젼트 호스트 프로그램(72)은 메모리(70) 내에 상주하여 원격 시스템 내에 상주하는 에이젼트들 사이의 상호작용을 처리한다. 전형적으로, 에이젼트 호스트 프로그램은 운영 체제(operating system)처럼 에이젼트 컴퓨터 프로그램을 실행하고 상호작용하는 공통 플랫폼을 제공하는 비동기 메시지/이벤트 구동 환경(asynchronous message/event driven environment)이다. 또한, 에이젼트 호스트는 에이젼트와 그 클라이언트 사이에서 메시지가 전송되도록 허가할 수 있다. 메모리(70)는 또한 에이젼트(100)와의 거래에서 "상대방"으로서 동작하는 협상 프로그램(74)을 포함하는데, 상대방은 다른 에이젼트, 시장이나 게시판 애플리케이션, 또는 개인이 에이젼트(100)와 상호작용하는 인터페이스 프로그램일 수도 있다. 저장부(80)는 완료된 거래를 서버 상에 로그(log)하는 거래 기록 데이터베이스(82)를 보유하고 있다.
서버(25, 65)는 예를 들어, IBM 사(International Business Machines Corporation)의 AS/400 미드레인지(midrange) 컴퓨터일 수 있다. 그러나, 본 명세서에서 설명한 하드웨어 실시예는 예시적인 것일 뿐이며, 다수의 기타 하드웨어 플랫폼과 구성이 그 대신 사용될 수 있다는 것을 이해해야 한다.
그리고, 본 발명을 완전한 기능을 갖는 컴퓨터의 맥락에서 설명하였고 앞으로도 설명하겠지만, 당업자는 본 발명의 다양한 실시예가 다양한 형태의 프로그램 제품으로서 배포될 수 있으며 본 발명은 실제로 배포하는 데 사용되는 신호 전달 매체의 특정 유형과 무관하게 동등하게 적용될 수 있다는 것을 이해할 것이다. 신호 전달 매체의 예는 플로피 디스크, 하드 디스크 드라이브, CD-ROM과 같은 기록가능형 매체와 디지탈 및 아날로그 통신 링크와 같은 전송형 매체를 포함하지만, 이에 제한되지는 않는다.
지능적 에이젼트에 의한 의사 결정 및 메시지 위장
도 7은 에이젼트(100), 에이젼트 관리자(32), 다른 당사자의 협상 에이젼트(95) 사이의 상호작용을 나타내는 예시적인 프로그램 흐름을 나타낸다. 협상은 블럭(130)에 도시한 바와 같이 일반적으로 에이젼트(100)를 원격 시스템으로 디스패치함으로써 에이젼트(32)에 의해 제기된다. 에이젼트(100)는 클라이언트가 성사를 원하는 거래 또는 거래들(원하는 양, 판매/구입될 재화/용역에 대한 묘사 등의 정보를 포함)은 물론 관리자에 의해 에이젼트에게 가해진 기타의 제한 조건(예를 들어, 처리할 협상 반복 횟수, 제안 가격의 총액에 대한 최대 또는 최소 제한 등)과 함께 디스패치될 수 있다는 것을 이해해야 한다. 이와는 달리, 이러한 정보의 일부 또는 전부가 에이젼트 관리자(32)에 의해 나중에 에이젼트(100)에게 중계될 수도 있다.
다음에는, 블럭(132)에서, 에이젼트(100)는 원격 시스템으로 디스패치된 후 정보를 수집하고 필터링한다. 예를 들어, 에이젼트(100)는 게시판이나 시장을 뒤져 미결의 제안(outstanding offer)이 있나 살피거나 다른 당사자, 예컨대 다른 컴퓨터 시스템, 다른 에이젼트, 또는 컴퓨터 시스템을 통해 상호작용하는 개인을 발견하고 협상을 시작하려 시도할 수도 있다. 또한, 에이젼트(100)는 상대방으로부터 가격 제안이 들어오기를 단순히 기다릴 수도 있다. 블럭(132)도 상대방 및 에이젼트 관리자로부터의 메시지를 처리하는 기능을 수행한다.
다음에는, 에이젼트(100)에 의해 수신된 입력에 응답하여, 블럭(134)에서 에이젼트(100)에 의해 의사가 결정된다. 이 블럭에서는 에이젼트(100)의 협상 전략이 구현되어 에이젼트가 수신한 입력에 기초하여 다른 당사자와 협상을 진행할지 여부와 그 방법을 결정한다. 또한, 내부 카운트(예를 들어 후술하는 반복 횟수)를 증가시키는 것과 같은 지원 절차적 프로세싱(supportive procedural processing)이 완수된다.
일반적으로, 블럭(134)에 대응하여 3 개의 액션(action) 중 하나가 제기된다. 먼저, 블럭(136)이 도시하는 바와 같이, 에이젼트(100)는 이를테면 미결 제안을 수용 또는 거절하거나, 제안 또는 수정 제안을 내보내거나, 협상을 종료하거나, 상대방으로 하여금 대기할 것을 요청하는 메시지를 상대방에게 보내기로 결정할 수도 있다. 상대방은 블럭(138)에서 메시지를 수신하고 블럭(140)에서 전형적으로 에이젼트(100)로 응답 메시지를 내보내어 이를 처리한다. 에이젼트(100)의 컨트롤은 블럭(132)으로 돌아와서 당사자(95)로부터의 응답 메시지를 처리한다.
두 번째로, 블럭(141, 142)이 나타내는 바와 같이, 에이젼트(100)는 에이젼트 관리자(32)에게 메시지를 보내기로 결정할 수도 있다. 본 발명에 따르면, 이 메시지는 본 명세서에 개시된 방식대로 블럭(141)에서 위장된 후 블럭(142)에서 송신된다. 이어서, 에이젼트 관리자(32)는 블럭(144)에서 이 메시지를 수신하고 해석하며, 블럭(146)에서 이 메시지를 처리하고, 블럭(148)에서 에이젼트(100)로 응답 메시지를 돌려보낸다. 이 응답 메시지를 수신하면, 블럭(150)은 그 메시지를 해석하고 컨트롤을 블럭(132)으로 보내 에이젼트 관리자(32)로부터의 응답 메시지를 처리한다.
세 번째로, 블럭(152)이 나타내는 바와 같이, 에이젼트(100)는 이를테면 성공적인 거래를 성사시키거나 성공적이지 않은 협상을 종료한 후, 원격 시스템을 떠나 그 클라이언트 시스템으로 돌아오기로 결정할 수도 있다. 에이젼트의 귀환은 블럭(154)에 도시되어 있다.
에이젼트(100)에 대해 설명한 프로그램 흐름은 에이젼트 스스로 착수할 수 있는 (에이젼트에 의해 행하여지는 제안)의 반복 횟수와 제안 총액에 대한 제한을 갖고 다른 당사자와 협상할 권한을 갖는 반자율(semi-autonomous) 에이젼트의 일례이다. 보다 많거나 보다 적은 정도의 도메인(domain) 지식을 갖는 에이젼트도 본 발명에 따라 사용될 수 있다. 예를 들어, 완전히 자율적인 에이젼트는 원하는 거래 외에는 어떠한 입력도 없이 협상할 수 있는 권한을 위임받을 수도 있다. 반대로, 전적으로 의존적인 에이젼트는 관리자로부터의 특정 인스트럭션에 따른 거래를 제안하고 성사시키고 그 결과를 관리자에게 보고함으로써 중간자로서의 역할을 하는 것 외에는 거의 권한을 갖지 못할 수도 있다.
이러한 유형의 다양한 에이젼트는, 예컨대, 각각 "APPARATUS AND METHOD FOR OPTIMIZING THE PERFORMANCE OF COMPUTER TASKS USING MULTIPLE INTELLIGENT AGENTS HAVING VARIED DEGREES OF DOMAIN KNOWLEDGE"와 "APPARATUS AND METHOD FOR OPTIMIZING THE PERFORMANCE OF COMPUTER TASKS USING INTELLIGENT AGENT WITH MULTIPLE PROGRAM MODULES HAVING VARIED DEGREES OF DOMAIN KNOWLEDGE"라는 명칭을 갖는 미국 특허 출원 제 08/826,107 호와 제 08/822,993 호에서 더 논의되고 있으며, 이들은 본 명세서에서 참조로서 인용한다. 이들 출원에서도 논의되고 있는 바와 같이, 에이젼트(100)는 가변 정도의 도메인 지식을 갖는 여러 에이젼트 둥의 하나이거나, 가변 정도의 도메인 지식을 갖는 다수 모듈을 가질 수 있어서, 에이젼트는 목적의 기준(이를테면 보안 관심 사항)에 따라 상이한 상황에서의 동작을 위해 최적화될 수 있다.
도 7의 프로그램 흐름을 구현하기 위한 에이젼트(100) 내의 주요 구성요소가 도 8a와 도 8b에서 협상 모듈 또는 메커니즘(200)에 의해 도시되고 있다. 메커니즘 또는 모듈은 원하는 작업이나 동작을 실행하도록 구성된 임의의 기능, 객체, 프로그램 코드 블럭을 포함하는 것으로 간주된다.
모듈(200)은 메시지 타임 스탬프나 기타 전송된 파라미터 등의 셀렉터를 다양한 기밀 인스트럭션을 위장하는 데 사용되는 단일 메시지 세트 및 클라이언트와 에이젼트 사이에서 전달되는 요구(requests)와 함께 이용하도록 구성된다. 이 실시예에서 클라이언트와 에이젼트는 한번에 하나의 메시지만을 전송하여 주어진 인스트럭션이나 요구를 나타내고, 메시지의 전부 아니면 일부는 셀렉터의 값에 따라 대체적인 의미를 갖는다. 그러나, 전술한 셀렉터 및 메시지 위장 방식 중 어느 것이라도 대체적으로 사용될 수 있다는 것을 이해해야 한다.
모듈(200)은 다음 입력을 수신하도록 구성된다.
- 상대방의 최후 가격
- 상대방의 현재 가격
- 에이젼트의 최후 공개적 제안
- 제품 특성
- 에이젼트로부터의 인스트럭션:
-- 제안 가격의 상승 허가됨
-- 반복의 증가 허가됨
-- 제안의 상승 허가 안 됨
-- 반복의 증가 허가 안 됨
- 관리자에게 되돌려 보내진 최후 메시지
-셀렉터(들)
또한, 모듈(200)은 다음 출력을 생성하도록 구성된다.
- 공개적 가격 제안
- 상대방에게로의 메시지
-- 제안
-- 철회
-- 수용
-- 거절
-- 수정 제안
-- 대기 요청
-- 종료
- 관리자에게로의 메시지
-- 수용할만한 대안, 수용하는가
-- 반복 초과, 계속할 것을 권고
-- 반복 초과, 철회 권고
-- 즉각 철회 권고
-- 협상을 유도할 더미 전송
-- 제안 상승에 대한 승인 요청
두 개의 변수, 즉 반복 횟수와 제안 상승(에이젼트에 대해 현재 허가된 협상 마진(margin))도 피드백을 위해 모듈(200) 내에 유지되지만, 일반적으로 외부 소스에 의해서는 액세스되지 않는다.
더욱이, 훈련을 위해, 모듈로 직접 입력되지는 않더라도 추가 정보가 적당한 훈련 기록을 생성하는 데 사용될 수 있다. 이러한 정보는 다음을 포함한다.
- 소망 가격과 특징
- 에이젼트 자율 가격 범위(에이젼트가 자율적으로 협상하도록 허가 된 가격 범위)
- 관리자 승인 가격 범위(에이젼트가 관리자로부터 승인을 필요로 하 는 가격 범위)
- 승인없이 허락되는 허용가능한 반복
모듈(200)은 의사 결정(협상 전략 포함), 메시지 위장, 기타 기능을 위한 판단 로직이 구현되는 주 신경 회로망(202)을 포함한다. 또한, 도 8a에 도시한 바와 같이, 신경 회로망이 전형적으로 -1 내지 +1 또는 0 내지 +1의 범위 내의 가중치를 가지고 동작하므로, 다수의 필터(204 내지 214)가 주 회로망(202)의 입력 측에서 이용되어 회로망으로의 입력을 조절한다. 필터(204 내지 214)는 절차적 로직을 이용하여 구현되거나, 이와는 달리 별개의 신경 회로망을 이용하여 구현되어 보안성을 증가시킬 수 있다.
셀렉터 디코딩 필터(204)는 이 실시예에서 원하는 셀렉터 정보를 수신하고 sel로 표시된 디코딩된 셀렉터 신호를 출력하는 신경 회로망으로서 구현된다. 디코딩된 셀렉터 신호는 아래 상술할 것과 같이 모듈(200) 내의 다수의 필터는 물론 주 회로망(202)으로 제공된다. 필터(204)의 구성은 셀렉터로 사용되는 정보의 유형에 따라 변한다. 예를 들어, 타임 스탬프나 기타 전송된 파라미터가 사용되면, 이러한 정보가 필터(204)로 입력될 것이다. 한편, 비전송 파라미터가 사용되면, 예컨대, 셀렉터가 매 n 회 전송 시마다 변경되면, 필터(204)는 매 n 개 전송 사이클마다 증가하는 카운터와 같은 로직 요소로서 구성될 것이다. 셀렉터 값이 수집됨에 따라 관찰될 수 있으므로, 임의의 양의 가외 정보가 속임수(deception)를 돕기 위해 수집될 수 있다.
협상의 상대방에 의해 제안된 최후 및 현재 가격은 레지스터(220, 222) 쌍에 저장되고 필터(206, 208)에 의해 조절되는데, 이들 필터는 이 실시예에서 신경 회로망을 이용하여 구현된다. 또한, 에이젼트에 의해 발생된 최후 제안 가격은 레지스터(224)에 저장되고 필터(210)에 의해 조절되는데, 이 필터도 신경 회로망으로 구현된다. 필터(206, 208)도 디코딩된 셀렉터 입력을 수신한다. 레지스터(220, 222)는 상대방으로부터 수신한 가격에 기초하여 정보 수집 블럭(132)(도 7)에 의해 유지된다. 레지스터(224)는 제안 발생 필터(228)(아래에서 논의할 도 8b)에 의해 유지된다.
그리고, 각각의 필터(206 내지 210)는 값 1, 값 2, 값 3으로 지정된 3 개의 데이터 신호와 함께 식별(ID) 신호를 출력한다. 각각의 필터에 의한 ID 신호 출력은 셀렉터와 유사하게 동작하여 n(본 명세서에서는 3) 개의 데이터 신호 중 어느 것이 대응하는 레지스터 내용의 조절된 표현에 해당하는지를 나타낸다. 다른 2 개의 데이터 신호는 사용되지 않고 모듈의 판단 로직의 역 설계를 방해하는 유인 역할을 한다. ID 신호는 디코딩된 셀렉터 입력의 함수일 수도 있고 그와는 무관할 수도 있다. 이와는 달리, 이들 조절된 신호가 탐지되더라도 상관없으면 단일 값 신호가 각각의 필터(206 내지 210)와 주 회로망(202) 사이에 접속될 수 있다.
인스트럭션 디코딩 회로망 필터(212)는 디코딩된 셀렉터 신호와 클라이언트로부터의 바이너리(binary) 메시지를 수신하여 그 메시지를 해석한다. 단일 인스트럭션 신호는 필터(212)로부터 출력된다. 인스트럭션 신호는 임의의 주어진 메시지에 대해서 디코딩된 셀렉터 신호의 값에 따라 변한다.
선택적인 기본 조건(basic requirements) 회로망 필터(214)는 구매 에이젼트에게 주로 유용한 것으로, 협상 중인 재화/용역의 특성과 관련된 하나 이상의 제품 특성을 수신하여 이를 클라이언트가 원하는 특성과 비교한다. 그 응답으로, 필터(214)는 협상 중인 제품이 클라이언트가 실제로 찾는 것과 매칭되는 정도를 나타내는 매칭 신호를 출력한다.
제품 특성은, 거래를 성사시키기 위해 충족되어야 하는 기본 조건은 물론 필수적인 것인 아니지만 제품을 클라이언트에게 보다 바람직하게 만드는 추가적인 특성을 포함할 수 있다. 이를테면, VCR에 있어서, 클라이언트는 4 헤드를 구비할 것을 원할 수 있지만, 가능하다면 하이파이 스테레오 모델에 기꺼이 더 많이 지불할 수도 있다. 협상 중인 하이파이 모델에 대한 매칭 신호는 하이파이가 아닌 것보다 강하게 가중될 수 있고, 결과적으로 에이젼트는 이 신호에 응답하여 하이파이 모델에 대해 보다 강하게 협상하도록 구성될 수 있다.
2 개의 추가 레지스터(216, 218)는 주 회로망(202)에 의해 유지되고 입력으로서 피드백된다. 제안 상승 레지스터(216)는 에이젼트로의 인스트럭션을 통해 에이젼트 관리자에 의해 수정되는, 에이젼트에 대한 현재 협상 마진을 나타낸다. 협상 마진은 에이젼트가 그 이상(구매 에이젼트에 대해) 또는 그 이하(판매 에이젼트에 대해)로 소망 가격 밖에서 거래를 성사시킬 수 있는 액수를 필터링된 형태로 나타낸다.
반복 레지스터(218)는 현재 협상에서의 사이클 개수를 필터링된 형태로 보유하는데, 한 사이클은 전형적으로 에이젼트로부터 다른 당사자 또는 에이젼트 관리자로의 전송을 나타낸다. 에이젼트는 전형적으로 에이젼트가 관리자로부터의 승인없이 협상하도록 허가된 사이클의 개수로써 훈련되고, 이 개수는 에이젼트 관리자로부터의 인스트럭션에 따라 변경되거나 무효화(override)될 수 있다.
주 회로망(202)은 또한 에이젼트의 최후 및 현재 제안 가격의 변화와 관련된 제안 델타 신호를 피드백으로 수신하고 에이젼트로부터 클라이언트로 전송된 최후 메시지와 관련된 메시지 전송 신호와 비위장 메시지 신호를 수신한다. 이들 신호 각각은 회로망(202)(도 8b)로부터 출력된다.
도 8b에 도시한 바와 같이, 주 회로망(202)은 도 8a에 도시한 입력에 응답하여 다수의 신호를 출력한다. 필터 세트(226 내지 234)는 신경 회로망 수준으로부터 주 회로망의 외부에 보다 유용한 수준으로 이들 출력 신호를 조절한다.
협상 메시지 생성 필터(226)는 이 실시예에서는 절차적 로직으로 구현되며, 회로망(202)으로부터의 출력 신호와 가격 제안 발생기(228)로부터의 값을 수신하고 상대방에게 메시지를 출력한다. 출력 메시지는 수용, 거절, 수정 제안, 대기 요청, 협상 종료 등 다수의 가능한 메시지를 포함할 수 있다. 메시지의 포맷은 상대방이 이해할 수 있는 사전결정된 프로토콜을 따를 수 있다.
가격 제안 발생 필터(228)도 이 실시예에서 절차적 로직으로 구현되는 것으로서, 가격 제안 델타 파라미터와 나의 최후 제안 블럭(224)에 이전에 저장되었던 값을 수신하고 이로부터 레지스터(224)에 저장되는 현재 가격 제안을 출력한다. 가격 제안 델타 파라미터도 전술한 바와 같이 주 회로망(202)으로 피드백된다.
현재 제안은 필터(226)에 의해 제공되는 상대방으로의 메시지와 함께 공급될 수 있다. 또한, 현재 제안은 에이젼트(100)와 협상을 맺기를 원하는 상대방에 의해 조사(poll)될 수 있는 공개적 제안 역할을 할 수도 있다. 현재 제안 가격도 에이젼트 호스트 상에 셋업된 시장이나 게시판에 출력되어 상대방과의 협상을 구할 수 있다.
반복 조정 필터(230)는 본 실시예에서 절차적 로직으로 구현되는데, 반복 증가 신호를 수신하고 이에 응답하여 레지스터(218)를 증가시킨다. 필터(230)는 또한 반복 증가 허가 인스트럭션(increase in iterations authorized instruction)에 응답하여 레지스터(218)를 리세트한다.
또한, 증분 프로세서 필터(232)는 본 실시예에서는 절차적 로직으로 구현되는데, 증분 변경 신호와 증분 값 신호를 수신한다. 적당한 증분 변경 신호에 응답하여, 증분 값 신호로 표현되는 증분 값은 필터링된 형태로 출력되어 레지스터(216)에 저장된다.
메시지 생성 필터(234)는 본 실시예에서 절차적 로직으로 구현되는데, 전술한 방식으로 에이젼트의 클라이언트에게 위장된 메시지를 출력하는 데 사용된다. 필터(234)는 전송할 위장된 메시지를 위한 신호와 함께 메시지 전송 신호를 수신한다. 전술한 바와 같이, 비위장 메시지는 전형적으로 다음 메시지들, 즉 "수용가능한 대안, 수용하는가", "반복 초과, 계속할 것을 권고", "반복 초과, 철회 권고", "즉시 철회 권고", "협상을 유도하기 위한 더미 전송", "제안 상승에 대한 승인 요청" 중 하나이다. 메시지 전송 신호는 주 회로망(202)에 의해 주어진 메시지 출력에 대한 위장된 메시지의 전송을 개시한다.
디코딩된 셀렉터 신호 sel도 블럭(234)의 입력으로서 수신되며, 필요한 경우 메시지 내에 포함시키기 위해 필터링되지 않는 셀렉터 값을 수신한다. 상대방이 제안하고 레지스터(220, 222) 내에 저장한 현재 및/또는 최후 가격 등의 기타 값 신호와 필터(214)로 공급되는 제품 특성도 관리자에게로의 메시지 내에 포함되기 위한 입력으로서 수신될 수 있다.
이들 입력에 응답하여, 필터(234)는 에이젼트 관리자에게로 메시지를 출력한다. 메시지는 텍스트, 바이너리, 또는 에이젼트 관리자가 식별할 수 있는 기타 데이터 포맷일 수 있다. 예를 들어, 메시지는 비위장 메시지 중 하나를 대표하는 텍스트 메시지이되, 셀렉터는 그 비위장 메시지가 나타내는 것과는 다른 메시지를 나타낼 수 있다(예컨대, 소정의 셀렉터에 있어서, "즉시 철회 권고"는 에이젼트 관리자에 의해 "수용가능한 대안, 수용하는가"의 의미로 해석될 수 있다).
설명한 실시예의 모듈(200)에서, 에이젼트(100)의 의사 결정과 메시지 위장 기능은 별개의 의사 결정 및 메시지 위장 모듈 또는 메커니즘(이를테면, 도 7의 블럭(134, 141)에 이해 나타내어지는)에 의해 수행되는 것으로 개념적으로 간주될 수도 있으나, 양쪽 다 원칙적으로 주 회로망(202) 내에서 구현된다. 이와는 달리, 이 기능이 상이한 신경 회로망으로 구분될 수 있다는 것도 이해해야 한다. 또한, 주 회로망(202)도 분리된 신경 회로망(separate neural networks)의 상호접속된 회로망을 통해 구현될 수 있다는 것을 이해해야 한다.
자신의 의사 결정 기능의 구성요소로서, 주 회로망(202)은 본 발명에 따른 다수의 협상 전략을 구현할 수 있다. 예를 들어, "INTELLIGENT AGENT WITH NEGOTIATION CAPABILITY AND METHOD OF NEGOTIATION THEREWITH"라는 명칭의 미국 특허 출원 제 08/821,935 호는 본 명세서에서 참조로서 이용되는데, 상대방이 제안한 이전 및 현재 가격과 함께 에이젼트로부터의 이전 및 현재 제안 가격에 의존하는 협상 전략을 개시하고 있다. 동적 값 결정, 에이젼트의 행동을 무작위화(randomize)하며 협상 전략 위장, 에이젼트의 행동을 제한함으로써 비생산적인 협상을 제한하는 것 등을 포함하여, 주 회로망(202)에 의해 사용되기에 적당한 다수의 추가적인 협상 특징도 전술한 출원에 구현되어 있다. 다른 협상 전략과 특성도 본 발명에 따라 사용될 수 있을 것이다.
매우 다양한 주지의 신경 회로망 디자인이 본 발명에 따라 주 신경 회로망(202)과 도시된 임의의 회로망 필터를 위해 사용될 수 있다. 예를 들어, 적당한 신경 회로망 디자인 중 하나는 본 기술 분야에서 주지된 역전파(back propagation) 신경 회로망이다. 방사 기저 함수(radial basis function network) 회로망을 포함하는 기타 신경 회로망 디자인도 대체적으로 사용될 수 있다. 이러한 신경 회로망의 개발과 훈련을 수행하기 위한 적당한 개발 환경은 IBM 사로부터 이용가능한 IBM 신경 회로망 유틸리티(IBM Neural Network Utility)이다.
모듈(200) 내의 회로망을 훈련하는 것은 디코딩된 셀렉터 신호에 의해 제공되는 추가 입력을 제외하고, 신경 회로망을 위한 감독 훈련 프로세스(Supervised training process)를 통해 수행된다. 모듈(200) 내의 각 신경 회로망/필터는, 전체 모듈(200)이 통합된 훈련 기록을 이용하여 한번에 훈련된다면 훈련 프로세스가 상당히 간략화될 수 있으나, 개별적으로 훈련될 수도 있다.
예를 들어, 모듈(200)을 훈련하기에 적당한 프로세스 중 하나가 도 9의 회로망 훈련 루틴(300)에서 설명되어 있다. 일반적으로, 프로그램 흐름은 3 개의 내포된 포-넥스트(for-next) 루프를 포함한다. 첫 번째 포-넥스트 루프는 블럭(302)에 나타나 있으며, 셀렉터(들)의 가능한 각 값을 통해 순환(cycle)한다. 각 값에 대해, 블럭(302)에 도시한 두 번째 포-넥스트 루프는 각 훈련 기록을 통해 순환한다.
각 훈련 기록에 대해, 기록이 블럭(306)에서 획득된다. 적당한 훈련 기록은 전술한 표 2에 나타낸 일반적인 포맷을 가질 수 있다.
다음으로, 블럭(308)에 도시한 세 번째 포-넥스트 루프는 기록 내의 각 출력을 통해 순환하며, 블럭(310)에서는 셀렉터의 현재 값과 원하는 출력에 기초한 변환 함수를 이용하여 훈련된 출력값이 발생된다. 훈련된 출력은 예를 들어, 전술한 표 1에서 나타낸 바와 같은 변환 테이블을 이용하여 검색되는데, 여기에서 위장된 메시지는 메시지 세트로부터 선택되어 원하는 출력을 나타낸다.
적당한 위장된 (훈련된) 출력이 훈련 기록에 대해 생성되면, 블럭(308)은 컨트롤을 블럭(312)으로 전달하고 훈련 기록, 현재 셀렉터, 위장된 출력을 이용하여 신경 회로망을 훈련한다. 훈련 기록이 모듈(200)을 훈련하는 데 사용된 후, 컨트롤이 블럭(304)으로 돌아와서 다음 훈련 기록을 처리한다. 프로그램 흐름은 모듈(200)이 셀렉터(들)의 각 값에 대해 수정되는 각 훈련 기록으로써 훈련될 때까지 계속된다.
루틴(300)의 주된 이점은 각 셀렉터 값에 대해 별도의 훈련 기록을 생성할 필요가 없어지기 때문에 훈련이 간소화된다는 것임을 이해해야 한다. 그러나, 이와는 달리, 셀렉터의 각 값에 대한 개개의 훈련 기록이 이를테면 전술한 표 3 내지 표 5에 예시한 형태로 발생될 수도 있다.
에이젼트(100)의 모듈(200)은 에이젼트 관리자에 의해 훈련되어 에이젼트에 의해 구입되거나 판매될 모든 유형의 재화/용역 등을 포함하여 가능한 모든 상황을 처리하며, 이에 의해 에이젼트 관리자는 협상을 원할 때 에이젼트를 단순히 디스패치한다는 것을 이해해야 한다. 이와는 달리, 에이젼트 관리자는 에이젼트를 디스패치하기 직전의 특정한 원하는 거래와 관련된 정보만으로 에이젼트를 훈련할 수도 있다. 이러한 후자의 프로세스는 거래가 요구되면 에이젼트를 디스패치하는 데 추가 시간을 필요로 할 수도 있지만, 에이젼트가 보다 좁은 범위로 집중된다면 에이젼트의 크기와 복잡도가 상당히 줄어들 것이다.
의사 결정과 메시지 위장 외에도, 에이젼트(100)의 자율 동작을 위해 다른 기능이 필요할 수 있으며, 이러한 추가 기능은 협상 모듈(200) 내에서 구현되든, 별개의 프로그램 모듈에서 구현되든, 절차적 로직 및/또는 신경 회로망을 통해 구현될 수 있다는 것을 이해해야 한다. 예를 들어, 초기화, 유지 보수, 상호작용할 다른 에이젼트나 시장 등의 발견과 같은 기능도 이용될 수 있다. 그러나, 이들 기능은 에이젼트의 기본 동작과 더 관련이 있고 본 기술 분야에서 주지되어 있으므로, 이들 기능을 본 명세서에서 상세히 논의하지는 않겠다.
기타 수정 사항은 당업자에게 명백하다. 따라서, 본 발명은 첨부한 청구 범위에 의거한다.
Claims (30)
- ① 셀렉터(a selector)에 기초하여 또한 지능적 에이젼트(an intelligent agent)와 클라이언트 컴퓨터 프로세스(a client computer process) 사이에서 전송될 정보에 기초하여 다수의 메시지로부터 메시지를 선택하는 단계와,② 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 사이에서 선택된 메시지를 전송하는 단계를 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 선택 및 전송 단계가 지능적 에이젼트 내에서 수행되고,상기 방법은 상기 지능적 에이젼트를 위한 판단 로직이 프로그램된 신경 회로망을 이용하여 상기 전송될 정보를 결정하는 단계를 더 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 2 항에 있어서,상기 선택 단계는 메시지를 상기 전송될 정보와 매칭시키기 위한 변환 테이블이 프로그램된 신경 회로망을 이용하여 메시지를 선택하는 단계를 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 3 항에 있어서,상기 지능적 에이젼트는 전자 상거래 애플리케이션(an electronic commerce application)에서 협상을 수행하도록 구성되고, 상기 지능적 에이젼트를 위한 상기 판단 로직은 협상 전략(a negotiation strategy)을 포함하며, 상기 지능적 에이젼트에 의해 전송될 상기 정보는, 유망한 수용할만한 대안이다 수용하는가(probable acceptable alternative, do you accept), 반복 초과 계속할 것을 권고(iterations exceeded, recommend continue), 반복 초과 철회 권고(iterations exceeded, recommend withdrawal), 즉각 철회 권고(recommend immediate withdrawal), 제안 가격을 올리는 것에 대한 동의 요청(request approval to increase offer), 협상을 유도하는 더미 전송(a dummy transmission to motivate negotiation)으로 이루어진 적어도 하나의 그룹을 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 셀렉터는 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 양쪽이 알고 있는 사전결정된 파라미터(a predetermined parameter)를 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 5 항에 있어서,상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 사이에서 사전결정된 횟수의 전송이 있은 후에 상기 셀렉터를 변경하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 셀렉터는 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 사이에서 전송되는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 셀렉터는 다른 목적을 갖는 기존의 파라미터로부터 유도되는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 8 항에 있어서,상기 셀렉터는 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 사이에서 전송된 상기 선택된 메시지에 첨부되는 타임 스탬프(a time stamp)로부터 유도되는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 다수의 메시지 각각이 상기 셀렉터에 기초하여 선택된 다수의 대체적인 의미(a plurality of alternate meanings)를 갖는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 선택 단계는 상기 다수의 메시지로부터 적어도 하나의 추가 메시지(at least one additional message)를 선택하는 단계를 더 포함하고, 상기 전송 단계는 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 사이에서 추가 메시지를 추가적으로 전달하는 단계를 포함하되, 상기 셀렉터는 전송된 메시지 중 어느 것이 전송될 정보를 포함하는 지를 제어하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 선택 단계는 전송될 정보에 해당하는 생략된 메시지(an omitted message)를 제외하고 상기 다수의 메시지로부터 각각의 메시지를 선택하는 단계를 포함하고, 상기 전송 단계는 상기 생략된 메시지를 제외하고 상기 다수의 메시지 내의 모든 메시지를 전송하는 단계를 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 선택 단계는 상기 셀렉터와 상기 전송될 정보에 의해 인덱스(index)된 변환 테이블을 이용하여 선택할 메시지를 결정하는 단계를 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- 제 1 항에 있어서,상기 전송 단계에서 전송된 메시지는 스크램블되지 않는(unscrambled) 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 프로세스 사이의 통신 방법.
- ① 외부 소스(an external source)로부터 수신된 입력을 신경 회로망을 이용하여 처리하여 이로부터 출력을 생성하는 단계와,② 상기 출력과 셀렉터에 기초하여 다수의 메시지로부터 선택된 출력 메시지 내에 상기 출력을 위장(disguise)시키는 단계와,③ 상기 출력 메시지를 전송하는 단계를 포함하는 지능적 에이젼트 컴퓨터 프로그램과 통신하는 방법.
- 제 15 항에 있어서,상기 위장 단계는 신경 회로망을 이용하여 수행되는 지능적 에이젼트 컴퓨터 프로그램과 통신하는 방법.
- 제 16 항에 있어서,상기 처리 및 위장 단계는 동일한 신경 회로망을 이용하여 수행되는 지능적 에이젼트 컴퓨터 프로그램과 통신하는 방법.
- ① 지능적 에이젼트와 클라이언트 컴퓨터 프로세스 사이에서 전송된 위장된 메시지를 수신하는 단계 ― 상기 위장된 메시지는 다수의 메시지로부터 선택되고, 상기 다수의 메시지 각각은 셀렉터에 기초하여 사전결정된 정보와 관련됨 ― 와,② 상기 셀렉터를 결정하는 단계와,③ 상기 셀렉터를 이용하여 상기 위장된 메시지를 해석하여 상기 위장된 메시지 내에서 전송된 사전결정된 정보를 판단하는 단계를 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 사이의 통신 방법.
- ① 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 사이에서 통신하는 방법을 수행하도록 구성된 프로그램과② 상기 프로그램을 운반하는 신호 운반 매체(a signal bearing media)를 포함하되, 상기 방법은㉮ 셀렉터 및 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 사이에서 전송될 정보에 기초하여 다수의 메시지로부터 메시지를 선택하는 단계와,㉯ 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 사이에서 상기 선택된 메시지를 전송하는 단계를 포함하는 프로그램 제품.
- 제 19 항에 있어서,상기 신호 운반 매체는 전송형 매체(transmission type media)인 프로그램 제품.
- 제 19 항에 있어서,상기 신호 운반 매체는 기록가능형 매체(recordable media)인 프로그램 제품.
- ① 외부 소스로부터의 입력을 수신하고 이로부터 출력을 발생시키도록 구성된 판단 로직 메커니즘(a decision logic mechanism)과,② 상기 판단 로직 매커니즘의 출력을 수신하고, 셀렉터와 상기 판단 로직 매커니즘의 출력에 응답하여 다수의 메시지 중 하나를 위장된 메시지로서 출력하도록 구성된 메시지 위장 메커니즘을 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
- 제 22 항에 있어서,상기 판단 로직 메커니즘은 지능적 에이젼트 컴퓨터 프로그램 내에 구현되고, 상기 지능적 에이젼트를 위한 판단 로직이 프로그램된 신경 회로망을 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
- 제 23 항에 있어서,상기 메시지 위장 메커니즘은 메시지를 전송될 정보와 매칭시키기 위한 변환 테이블이 프로그램된 신경 회로망을 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
- 제 24 항에 있어서,상기 판단 로직 메커니즘과 상기 메시지 위장 메커니즘이 동일한 신경 회로망 내에서 구현되는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
- 제 23 항에 있어서,상기 판단 로직 메커니즘이 상기 신경 회로망으로의 입력과 상기 신경 회로망으로부터의 출력을 조절(condition)하는 다수의 신경 회로망 필터를 더 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
- 제 23 항에 있어서,상기 지능적 에이젼트는 전자 상거래 애플리케이션에서 협상을 수행하도록 구성되고, 상기 신경 회로망에는 상기 지능적 에이젼트를 위한 협상 전략이 프로그램되는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
- 제 22 항에 있어서,상기 셀렉터는 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 양쪽이 알고 있는 사전결정된 파라미터를 포함하는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
- 제 22 항에 있어서,상기 셀렉터는 상기 지능적 에이젼트와 상기 클라이언트 컴퓨터 프로세스 사이에서 전송되는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
- 제 22 항에 있어서,상기 셀렉터는 다른 목적을 갖는 기존의 파라미터로부터 유도되는 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 중 하나와 통신하는 장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/822,119 | 1997-03-21 | ||
US8/822,119 | 1997-03-21 | ||
US08/822,119 US6085178A (en) | 1997-03-21 | 1997-03-21 | Apparatus and method for communicating between an intelligent agent and client computer process using disguised messages |
PCT/US1998/004876 WO1998047250A2 (en) | 1997-03-21 | 1998-03-12 | Apparatus and method for communicating between an intelligent agent and client computer process using disguised messages |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000075511A true KR20000075511A (ko) | 2000-12-15 |
KR100368956B1 KR100368956B1 (ko) | 2003-01-24 |
Family
ID=25235194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1999-7007570A KR100368956B1 (ko) | 1997-03-21 | 1998-03-12 | 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 사이의 통신 방법 및 장치 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6085178A (ko) |
EP (1) | EP0976039B1 (ko) |
JP (1) | JP3905926B2 (ko) |
KR (1) | KR100368956B1 (ko) |
CA (1) | CA2277863C (ko) |
DE (1) | DE69839088T2 (ko) |
ES (1) | ES2299213T3 (ko) |
MY (1) | MY123188A (ko) |
TW (1) | TW436732B (ko) |
WO (1) | WO1998047250A2 (ko) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW504632B (en) | 1997-03-21 | 2002-10-01 | Ibm | Apparatus and method for optimizing the performance of computer tasks using intelligent agent with multiple program modules having varied degrees of domain knowledge |
US6401080B1 (en) * | 1997-03-21 | 2002-06-04 | International Business Machines Corporation | Intelligent agent with negotiation capability and method of negotiation therewith |
US6311165B1 (en) * | 1998-04-29 | 2001-10-30 | Ncr Corporation | Transaction processing systems |
GB9819392D0 (en) * | 1998-09-04 | 1998-10-28 | Balaena Limited | Database |
US7194442B1 (en) | 1998-11-16 | 2007-03-20 | Sky Technologies, Llc | System and method for automated, iterative development negotiations |
US6553347B1 (en) * | 1999-01-25 | 2003-04-22 | Active Point Ltd. | Automatic virtual negotiations |
US6792412B1 (en) * | 1999-02-02 | 2004-09-14 | Alan Sullivan | Neural network system and method for controlling information output based on user feedback |
US7296001B1 (en) * | 1999-07-12 | 2007-11-13 | Ariba, Inc. | Electronic multilateral negotiation system |
US6834272B1 (en) * | 1999-08-10 | 2004-12-21 | Yeda Research And Development Company Ltd. | Privacy preserving negotiation and computation |
US20020055903A1 (en) * | 1999-11-01 | 2002-05-09 | Neal Solomon | System, method, and apparatus for a cooperative communications network |
US20020069134A1 (en) * | 1999-11-01 | 2002-06-06 | Neal Solomon | System, method and apparatus for aggregation of cooperative intelligent agents for procurement in a distributed network |
US20030074301A1 (en) * | 1999-11-01 | 2003-04-17 | Neal Solomon | System, method, and apparatus for an intelligent search agent to access data in a distributed network |
US20020046157A1 (en) * | 1999-11-01 | 2002-04-18 | Neal Solomon | System, method and apparatus for demand-initiated intelligent negotiation agents in a distributed network |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
US8676896B1 (en) | 1999-12-10 | 2014-03-18 | At&T Intellectual Property Ii, L.P. | Network-based service for secure electronic mail delivery on an internet protocol network |
WO2001057724A1 (en) * | 2000-02-01 | 2001-08-09 | Nextgen Pty Ltd | Interactive agent for mobile device |
US6453301B1 (en) * | 2000-02-23 | 2002-09-17 | Sony Corporation | Method of using personal device with internal biometric in conducting transactions over a network |
US6609212B1 (en) * | 2000-03-09 | 2003-08-19 | International Business Machines Corporation | Apparatus and method for sharing predictive failure information on a computer network |
BR0109450A (pt) * | 2000-03-22 | 2004-12-07 | Arac Man Services Inc | Métodos de extrair informação de aluguel de um banco de dados e analisar a informação de aluguel extraìda e de construir e acessar um banco de dados |
US7103580B1 (en) * | 2000-03-30 | 2006-09-05 | Voxage, Ltd. | Negotiation using intelligent agents |
US7136821B1 (en) | 2000-04-18 | 2006-11-14 | Neat Group Corporation | Method and apparatus for the composition and sale of travel-oriented packages |
US7908200B2 (en) * | 2000-05-16 | 2011-03-15 | Versata Development Group, Inc. | Method and apparatus for efficiently generating electronic requests for quote |
US7493486B1 (en) * | 2000-06-09 | 2009-02-17 | Verizon Laboratories, Inc. | Method and apparatus for supporting cryptographic-related activities in a public key infrastructure |
US7076445B1 (en) | 2000-06-20 | 2006-07-11 | Cartwright Shawn D | System and methods for obtaining advantages and transacting the same in a computer gaming environment |
US20050119980A1 (en) * | 2000-06-29 | 2005-06-02 | Neat Group Corporation | Electronic negotiation systems |
US20020052797A1 (en) * | 2000-08-23 | 2002-05-02 | Maritzen L. Michael | Customizing a price of a product or a service by using an intelligent agent |
US20020026423A1 (en) * | 2000-08-23 | 2002-02-28 | Sony Electronics, Inc. | Automated usage-independent and location-independent agent-based incentive method and system for customer retention |
US20020073339A1 (en) * | 2000-12-07 | 2002-06-13 | Card Ronald C. | System and method to access secure information related to a user |
US20020095386A1 (en) * | 2000-12-07 | 2002-07-18 | Maritzen L. Michael | Account control and access management of sub-accounts from master account |
US20020072931A1 (en) * | 2000-12-07 | 2002-06-13 | Ronald C. Card | System and method to provide financial rewards and other incentives to users of personal transaction devices |
US20020073036A1 (en) * | 2000-12-08 | 2002-06-13 | Brant Candelore | Method and apparatus for holding a product in escrow "For Sale" |
US7729925B2 (en) * | 2000-12-08 | 2010-06-01 | Sony Corporation | System and method for facilitating real time transactions between a user and multiple entities |
US7251633B2 (en) * | 2000-12-11 | 2007-07-31 | Sony Corporation | Method or system for executing deferred transactions |
US7765163B2 (en) * | 2000-12-12 | 2010-07-27 | Sony Corporation | System and method for conducting secure transactions over a network |
US20020082912A1 (en) * | 2000-12-22 | 2002-06-27 | Leon Batachia | Transactions between vendors and customers using push/pull model |
US7047227B2 (en) * | 2000-12-22 | 2006-05-16 | Voxage, Ltd. | Interface between vendors and customers that uses intelligent agents |
US20020080888A1 (en) * | 2000-12-22 | 2002-06-27 | Li Shu | Message splitting and spatially diversified message routing for increasing transmission assurance and data security over distributed networks |
EP1233333A1 (en) | 2001-02-19 | 2002-08-21 | Hewlett-Packard Company | Process for executing a downloadable service receiving restrictive access rights to al least one profile file |
US20020124190A1 (en) * | 2001-03-01 | 2002-09-05 | Brian Siegel | Method and system for restricted biometric access to content of packaged media |
US7478068B2 (en) * | 2001-06-14 | 2009-01-13 | Sony Corporation | System and method of selecting consumer profile and account information via biometric identifiers |
US7099453B2 (en) * | 2001-09-26 | 2006-08-29 | Sbc Properties, L.P. | Method and apparatus for enhanced call routing in a telecommunication system |
US20030061173A1 (en) * | 2001-09-27 | 2003-03-27 | Hiroshi Ogino | Electronic gathering of product information and purchasing of products |
US20030074209A1 (en) * | 2001-10-15 | 2003-04-17 | Tobin Christopher M. | User device with service finding and purchasing functionality |
US7275048B2 (en) * | 2001-10-30 | 2007-09-25 | International Business Machines Corporation | Product support of computer-related products using intelligent agents |
US7171493B2 (en) * | 2001-12-19 | 2007-01-30 | The Charles Stark Draper Laboratory | Camouflage of network traffic to resist attack |
EP1338982A1 (en) * | 2002-02-26 | 2003-08-27 | Hewlett-Packard Company | Process for enhancing the access to resources |
WO2004027569A2 (en) * | 2002-09-17 | 2004-04-01 | Soundview Technology Group, Inc. | System and method for message communication |
US20040220884A1 (en) * | 2002-11-01 | 2004-11-04 | Khan Saadat H. | Intelligent internet bargaining system |
US20040172371A1 (en) * | 2003-02-28 | 2004-09-02 | Fujitsu Limited | Automated negotiation |
US8473451B1 (en) | 2004-07-30 | 2013-06-25 | At&T Intellectual Property I, L.P. | Preserving privacy in natural language databases |
US7333456B2 (en) * | 2004-08-02 | 2008-02-19 | Beceem Communications Inc. | Training information transmission method in a block transmission system |
US20060287966A1 (en) * | 2004-12-21 | 2006-12-21 | Oracle International Corporation | Methods and systems for authoring customized contracts using contract templates that include user-configured rules and questions |
US20080306784A1 (en) * | 2007-06-05 | 2008-12-11 | Vijay Rajkumar | Computer-implemented methods and systems for analyzing clauses of contracts and other business documents |
US8037004B2 (en) | 2007-06-11 | 2011-10-11 | Oracle International Corporation | Computer-implemented methods and systems for identifying and reporting deviations from standards and policies for contracts, agreements and other business documents |
JP5098695B2 (ja) * | 2008-02-28 | 2012-12-12 | 富士通株式会社 | ワークフロー管理システム |
RU2450336C1 (ru) * | 2011-01-11 | 2012-05-10 | Государственное образовательное учреждение высшего профессионального образования "Кубанский государственный технологический университет" (ГОУ ВПО "КубГТУ") | Модифицированный интеллектуальный контроллер с адаптивным критиком |
US8543280B2 (en) | 2011-04-29 | 2013-09-24 | Toyota Motor Engineering & Manufacturing North America, Inc. | Collaborative multi-agent vehicle fault diagnostic system and associated methodology |
US20160342583A1 (en) * | 2015-05-20 | 2016-11-24 | International Business Machines Corporation | Managing electronic message content |
AU2016297852C1 (en) | 2015-07-24 | 2019-12-05 | Deepmind Technologies Limited | Continuous control with deep reinforcement learning |
DE102020202093A1 (de) | 2020-02-19 | 2021-08-19 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung für maschinelles Lernen |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644727A (en) * | 1987-04-15 | 1997-07-01 | Proprietary Financial Products, Inc. | System for the operation and management of one or more financial accounts through the use of a digital communication and computation system for exchange, investment and borrowing |
US4881263A (en) * | 1987-09-25 | 1989-11-14 | Digital Equipment Corporation | Apparatus and method for secure transmission of data over an unsecure transmission channel |
US5117496A (en) * | 1988-05-23 | 1992-05-26 | Hewlett-Packard Company | Method for recording and replaying mouse commands by recording the commands and the identities of elements affected by the commands |
US4914585A (en) * | 1988-05-23 | 1990-04-03 | Hewlett-Packard Company | Modular complier with a class independent parser and a plurality of class dependent parsers |
US5317688A (en) * | 1988-07-27 | 1994-05-31 | Hewlett-Packard Company | Software agent used to provide instruction to a user for a plurality of computer applications |
US5073890A (en) * | 1988-12-30 | 1991-12-17 | At&T Bell Laboratories | Remote agent operation for automatic call distributors |
JP2518071B2 (ja) * | 1989-12-22 | 1996-07-24 | 日本電気株式会社 | 通信ネットワ―ク管理方法 |
US5355444A (en) * | 1990-01-23 | 1994-10-11 | International Business Machines Corporation | Expert system wtih a plurality of independent knowledge bases |
US5226176A (en) * | 1990-08-20 | 1993-07-06 | Microsystems, Inc. | System for selectively aborting operation or waiting to load required data based upon user response to non-availability of network load device |
JPH04157944A (ja) * | 1990-10-22 | 1992-05-29 | Nippon Telegr & Teleph Corp <Ntt> | 通信網管理制御方法および装置 |
US5329626A (en) * | 1990-10-23 | 1994-07-12 | Digital Equipment Corporation | System for distributed computation processing includes dynamic assignment of predicates to define interdependencies |
US5155763A (en) * | 1990-12-11 | 1992-10-13 | International Business Machines Corp. | Look ahead method and apparatus for predictive dialing using a neural network |
JPH04256101A (ja) * | 1991-02-08 | 1992-09-10 | Nippon Telegr & Teleph Corp <Ntt> | エージェント制御方式 |
US5276768A (en) * | 1991-03-20 | 1994-01-04 | Tidewater Consultants, Inc. | Automated telephone information system |
EP0519109B1 (de) * | 1991-06-21 | 1998-12-23 | International Business Machines Corporation | Zugriffskontrolle in Rechnernetzen |
US5241621A (en) * | 1991-06-26 | 1993-08-31 | Digital Equipment Corporation | Management issue recognition and resolution knowledge processor |
US5301320A (en) * | 1991-06-28 | 1994-04-05 | Digital Equipment Corporation | Workflow management and control system |
US5367635A (en) * | 1991-08-29 | 1994-11-22 | Hewlett-Packard Company | Network management agent with user created objects providing additional functionality |
CA2061117C (en) * | 1991-12-02 | 1998-09-29 | Neta J. Amit | Apparatus and method for distributed program stack |
AU4286893A (en) * | 1992-04-15 | 1993-11-18 | Inference Corporation | Autonomous learning and reasoning agent |
JPH05324009A (ja) * | 1992-05-18 | 1993-12-07 | Nippon Telegr & Teleph Corp <Ntt> | エージェント制御方式 |
JPH0612401A (ja) * | 1992-06-26 | 1994-01-21 | Fuji Xerox Co Ltd | 感情模擬装置 |
US5469562A (en) * | 1992-06-26 | 1995-11-21 | Digital Equipment Corporation | Durable atomic storage update manager |
US5235642A (en) * | 1992-07-21 | 1993-08-10 | Digital Equipment Corporation | Access control subsystem and method for distributed computer system using locally cached authentication credentials |
EP0589249A3 (en) * | 1992-09-24 | 1994-05-25 | Siemens Ag | Program-controlled isdn communication system with at least one object-oriented system program module |
US5267314A (en) * | 1992-11-17 | 1993-11-30 | Leon Stambler | Secure transaction system and method utilized therein |
GB9224224D0 (en) * | 1992-11-19 | 1993-01-06 | Int Computers Ltd | Data processing system |
US5398012A (en) * | 1992-11-24 | 1995-03-14 | International Business Machines Corporation | Distributed processing of route selection across networks and subnetworks |
JPH06175944A (ja) * | 1992-12-04 | 1994-06-24 | Fujitsu Ltd | ネットワーク監視方法 |
FR2701580B1 (fr) * | 1993-02-10 | 1995-03-24 | Bull Sa | Procédé d'administration d'applications avec des protocoles standards. |
US5371889A (en) * | 1993-04-22 | 1994-12-06 | Digital Equipment Corporation | Journalling optimization system and method for distributed computations |
US5325528A (en) * | 1993-04-22 | 1994-06-28 | Digital Equipment Corporation | Distributed computation recovery management system and method |
US5392345A (en) * | 1993-04-30 | 1995-02-21 | At&T Corp. | Work at home ACD agent network |
SE501433C2 (sv) * | 1993-06-23 | 1995-02-13 | Ellemtel Utvecklings Ab | Sätt att uppnå dataaccess i en primärminnesbaserad databas |
US5603031A (en) * | 1993-07-08 | 1997-02-11 | General Magic, Inc. | System and method for distributed computation based upon the movement, execution, and interaction of processes in a network |
US5421013A (en) * | 1993-07-08 | 1995-05-30 | Park City Group, Inc. | Agent-based multithreading application programming interface |
US5408470A (en) * | 1993-10-14 | 1995-04-18 | Intel Corporation | Deferred synchronization of distributed objects |
IL111154A0 (en) * | 1993-10-21 | 1994-12-29 | Martino Ii John A | Systems and methods for electronic messaging |
WO1995015635A1 (en) * | 1993-11-30 | 1995-06-08 | British Telecommunications Public Limited Company | Communications network management |
US5481715A (en) * | 1993-12-15 | 1996-01-02 | Sun Microsystems, Inc. | Method and apparatus for delegated communications in a computer system using trusted deputies |
US5423043A (en) * | 1994-01-21 | 1995-06-06 | International Business Machines Corporation | Method and apparatus for creating and monitoring logical associations among desktop objects |
US5465286A (en) * | 1994-05-24 | 1995-11-07 | Executone Information Systems, Inc. | Apparatus for supervising an automatic call distribution telephone system |
US5717989A (en) * | 1994-10-13 | 1998-02-10 | Full Service Trade System Ltd. | Full service trade system |
EP0786171A2 (en) * | 1995-04-21 | 1997-07-30 | Koninklijke Philips Electronics N.V. | Concealment method and arrangement and reproducing apparatus provided with the concealment arrangement |
US5710918A (en) * | 1995-06-07 | 1998-01-20 | International Business Machines Corporation | Method for distributed task fulfillment of web browser requests |
US5765028A (en) * | 1996-05-07 | 1998-06-09 | Ncr Corporation | Method and apparatus for providing neural intelligence to a mail query agent in an online analytical processing system |
US5790789A (en) * | 1996-08-02 | 1998-08-04 | Suarez; Larry | Method and architecture for the creation, control and deployment of services within a distributed computer environment |
-
1997
- 1997-03-21 US US08/822,119 patent/US6085178A/en not_active Expired - Lifetime
- 1997-12-22 TW TW086119497A patent/TW436732B/zh not_active IP Right Cessation
-
1998
- 1998-02-20 MY MYPI98000727A patent/MY123188A/en unknown
- 1998-03-12 WO PCT/US1998/004876 patent/WO1998047250A2/en active IP Right Grant
- 1998-03-12 JP JP54389298A patent/JP3905926B2/ja not_active Expired - Fee Related
- 1998-03-12 EP EP98937920A patent/EP0976039B1/en not_active Expired - Lifetime
- 1998-03-12 DE DE69839088T patent/DE69839088T2/de not_active Expired - Lifetime
- 1998-03-12 KR KR10-1999-7007570A patent/KR100368956B1/ko not_active IP Right Cessation
- 1998-03-12 ES ES98937920T patent/ES2299213T3/es not_active Expired - Lifetime
- 1998-03-12 CA CA002277863A patent/CA2277863C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000513127A (ja) | 2000-10-03 |
EP0976039A4 (en) | 2005-07-20 |
WO1998047250A3 (en) | 1999-01-28 |
EP0976039B1 (en) | 2008-02-06 |
KR100368956B1 (ko) | 2003-01-24 |
US6085178A (en) | 2000-07-04 |
JP3905926B2 (ja) | 2007-04-18 |
MY123188A (en) | 2006-05-31 |
EP0976039A2 (en) | 2000-02-02 |
CA2277863C (en) | 2001-05-29 |
ES2299213T3 (es) | 2008-05-16 |
CA2277863A1 (en) | 1998-10-22 |
WO1998047250A2 (en) | 1998-10-22 |
DE69839088T2 (de) | 2009-01-29 |
TW436732B (en) | 2001-05-28 |
DE69839088D1 (de) | 2008-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100368956B1 (ko) | 지능적 에이젼트 컴퓨터 프로그램과 클라이언트 컴퓨터 프로세스 사이의 통신 방법 및 장치 | |
CN113127916B (zh) | 数据集合处理方法、数据处理方法、装置及存储介质 | |
CN111695674B (zh) | 联邦学习方法、装置、计算机设备及可读存储介质 | |
CN1531253B (zh) | 在drm结构中登记/子登记数字权利管理(drm)服务器 | |
CN1822018B (zh) | 在内容权限管理系统中的灵活性特许许可体系结构 | |
CN1312879C (zh) | 协调服务器组之间的动作的方法 | |
CN101375284B (zh) | 安全数据分析方法和系统 | |
CN100424671C (zh) | 移动通信环境中的数字权利管理 | |
CN100375053C (zh) | 本地使用权凭证的生成 | |
JPS6145833B2 (ko) | ||
CN103177201A (zh) | 社交网络中的内容安全 | |
Hu et al. | Batch image encryption using generated deep features based on stacked autoencoder network | |
US20020034304A1 (en) | Method of preventing illegal copying of an electronic document | |
CN109981665A (zh) | 资源提供方法及装置、资源访问方法及装置和系统 | |
George et al. | Data sharing made easy by technology trends: New data sharing and privacy preserving technologies that bring in a new era of data monetization | |
CN108268799A (zh) | 数据查询系统和方法、存储介质、终端 | |
CN1322431C (zh) | 基于对称密钥加密保存和检索数据 | |
Blesswin et al. | Enhanced semantic visual secret sharing scheme for the secure image communication | |
JP2005534089A (ja) | コンピュータ機器間の双方向度適合プロトコル | |
Sabaragamu Koralalage et al. | POP method: An approach to enhance the security and privacy of RFID systems used in product lifecycle with an anonymous ownership transferring mechanism | |
CN1332331C (zh) | 利用计算机输入装置的输入特征的个人认证方法及其电子计算机系统 | |
CA2286534A1 (en) | Method for secure user access to multiple network accessible secure files | |
Adeniji et al. | Text encryption with advanced encryption standard (AES) for near field communication (NFC) using Huffman compression | |
CN104220984B (zh) | 信息处理装置、信息处理方法、以及计算机程序 | |
CN100590635C (zh) | 移动通信环境中的数字权利管理的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20101210 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |