KR940002325B1 - 대화 응용 프로그램을 생성하기 위한 방법 및 그 장치 - Google Patents

대화 응용 프로그램을 생성하기 위한 방법 및 그 장치 Download PDF

Info

Publication number
KR940002325B1
KR940002325B1 KR1019860001606A KR860001606A KR940002325B1 KR 940002325 B1 KR940002325 B1 KR 940002325B1 KR 1019860001606 A KR1019860001606 A KR 1019860001606A KR 860001606 A KR860001606 A KR 860001606A KR 940002325 B1 KR940002325 B1 KR 940002325B1
Authority
KR
South Korea
Prior art keywords
module
user
conversation
program
voice
Prior art date
Application number
KR1019860001606A
Other languages
English (en)
Other versions
KR860007598A (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 KR860007598A publication Critical patent/KR860007598A/ko
Application granted granted Critical
Publication of KR940002325B1 publication Critical patent/KR940002325B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/35Aspects of automatic or semi-automatic exchanges related to information services provided via a voice call
    • H04M2203/355Interactive dialogue design tools, features or methods
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S379/00Telephonic communications
    • Y10S379/909Alternatives
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S379/00Telephonic communications
    • Y10S379/914Programmable telephone component
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S379/00Telephonic communications
    • Y10S379/916Touch screen associated with telephone set

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)

Abstract

내용 없음.

Description

대화 응용 프로그램을 생성하기 위한 방법 및 그 장치
제1도는 본 발명을 실현하는데 이용되는 장치의 블럭선도.
제2,3 및 4도는 대화 생성 시스템(DPS)의 기본 제어 구조도.
제5도는 대화 흐름도에 모듈을 삽입하기 위한 제어 처리 흐름도.
제6 및 7도는 대화 흐름도를 편집하기 위한 제어 처리 흐름도.
제8도는 레벨 1을 네비게이트(navigating)하고 스크롤(scrolling)하기 위한 제어 처리 흐름도.
제9도는 레벨 2형식(form) 파라미터를 입력하여 체크하기 위한 제어 처리 흐름도.
제10도는 레벨 2를 네비게이트하여 레벨 그 형식을 표시하기 위한 제어 처리 흐름도.
제11도는 전역 코맨드(HELP, SAVE DIALOG, RETRIEVE DIALOG, EXIT)를 위한 제어 처리 흐름도.
제12도는 대화를 업로딩(uploading)하고 다운로딩(downloading) 하기 위한 제어 처리 흐름도.
제13도는 모드 코맨드(RUN, TUTOR, INSTALL, DIALOG, EDIT)를 위한 제어 처리 흐름도.
제14도는 대화 생성 기간의 시작시에서의 기본적인 스크린 표시도.
제15도는 샘플 레벨 2 스크린 표시도.
제16도는 단순한 대화의 레벨 1에 대한 기본적인 스크린 표시도.
제17도는 프롬프트(prompt) 및 분기(Branch) 대화 모듈에 대한 실행 흐름도.
제18도는 조작원(attendant) 호출 대화 모듈에 대한 실행 흐름도.
제19도는 프롬프트 및 수집(collection) 대화 모듈에 대한 실행 흐름도.
제20도는 어나운스먼트(Announcement) 대화 모듈에 대한 실행 흐름도.
제21도는 음성기록 대화 모듈에 대한 실행 흐름도.
제22도는 음성 재생 대화 모듈에 대한 실행 흐름도.
제23도는 데이타 교환 모듈에 대한 실행 흐름도.
제24도는 노드에서 모듈의 상호 연결을 지정하고 다른 노드와의 링크를 가능하도록 하는데 필요한 인덱스(index)를 기술하는 테이블의 포맷도.
* 도면의 주요부분에 대한 부호의 설명
101 : 통신 시스템 104 : DPS 처리기
105 : 대화 단말기
[기술적 분야]
본 발명은 프로그래머블(programmable) 통신 시스템에 관한 것으로, 특히 시스템과 시스템 유저간의 대화(interaction) 포함하는 컴퓨터-제어 음성 서비스(comput-controlled voice service)를 생성시키는 방법 및 장치에 관한 것이다.
[발명의 배경]
터치-톤 전화(TOUCH-TONE)는 다양한 고색 서비스를 제공하기 위해 사무용 컴퓨터 시스템을 액세스할 수 있는 광범위하게 사용하는 장치이다. 상기 터치-톤 전화는 유저 입력으로 터치-톤 신호를 유저에게 오디오 또는 음성 시스템 출력을 제공하는 임의 시스템 응용에 대하여 유저 단말기(TERMINAL)로서의 기능을 행할 수 있다. 이러한 응용에는 데이타 입력/음성 응답(DIVA) 응용과, 음성 입력/음성 출력(VIVO) 응용과 그리고 음성 저장 및 전송(VSF) 응용이 있다. 이러한 DIVA, VIVO 및 VSF 서비스[예를 들어, 질의-응답, 주문입력(order entry), 음성 형태등]에서는 엔드유저(end-user)와 시스템간의 대화를 제어하기 위해 적합하게 설계된 대화를 생성하는 것이 필요하다. 이러한 대화를 생성하는 것이 유저 응용의 중요한 부분이다. 각각의 응용은 그 논리 구조와 명기 내용에 있어서 다르기 때문에, 각 응용에 있어서의 대화는 유저 주문에 따라 설계되어야만 한다. 그러나 불행히도, 다양한 유저 응용에서는 기업(bisiness)이 이들 유저 프로그램을 기록하여 보수하기 위한 프로그래머를 고용함에 있어서 상당히 많은 돈을 지불해야할 필요가 있다. 바람직한 것은, 기업의 프로그래머가 아닌 고용인을 이들 주문화된 프로그램을 개발할 수 있도록 활용할 수 있는 장치를 제공하는 것이다.
[발명의 요약]
본 발명의 목적은 컴퓨터-제어 유저 서비스의 유저 입력과 시스템 출력을 포함하는 대화를 제어하기 위한 프로그램을 생성할 수 있는 방법 및 장치를 제공하는데 있다. 본원에서 대화 생성 시스템(DPS)으로서 참조되는 본 발명은 프로그램 작성자가 희망의 전화/컴퓨터 대화 유저 서비스를 실현하기 위한 대화 프로그램의 생성을 가능하게 하는 고레벨의 대화 환경(environment)을 이용한다. 본 발명에 의하면, 프로그램 작성자는 사전 결정된 대화 모듈 그룹으로 부터 상기 시스템에 의해 실행될 수 있는 가능한 기능들중 하나를 각각 규정하는 대화 모듈을 선택하며 또한 이들 모듈을 상호 연결시키는방법 및 수단을 지정한다. 이들 대화 모듈은 특정 음성 서비스를 실현하는데 사용하는 장치[예를들어 디지트 수집기(digit collector), 신호발생기등]들간의 상호 통신을 제어한다. 이들 모듈의 상호 연결을 지정하는 선택가능한 파라미터 또는 인덱스를 규정하는 것을 포함하며 이들 모듈중 2개 또는 그 이상을 선택함으로써, 희망의 대화 프로그램이 실현된다.
[일반적 설명-배경]
본 발명을 설명하기 전에, 컴퓨터-제어 음성 서비스를 발생시키는 본 발명의 대화 생성 시스템을 사용할 수 있는 전화 통신 시스템의 동작에 대해서 전반적으로 기술하는 것이 도움이 될 것이다. 본 발명은 또한 다른 동일한 형태의 통신 시스템에 사용하거나 독립(stand-alone) 시스템으로서도 사용할 수 있음에 인식할 필요가 있다. 이러한 시스템은 다양한 하드웨어 및 프로그래밍 기술을 활용하기 때문에, 본 발명을 사용할 수 있는 임의 시스템의 동작에 대해서는 설명하지 않기로 한다. 그러나, 본 발명은 본 발명이 사용되는 시스템의 전반적인 프로그램 구조에 혼합되어야 하며 시스템의 다른 기능 및 동작과 조합되도록 구성되어야만 한다. 따라서, 본 분야에 숙력된 사람이 혼동하지 않고 본 발명을 실행하도록 하기 위해서, 본 발명에서는 본 발명을 실현하는데 필요한 논리 단계 및 다양한 파라미터를 설명하는 흐름도를 사용하여 DPS의 동작을 기술하고자 한다.
본 기술에 있어서는 도면에 도시된 흐름도의 부분 또는 장치를 표시하기 위해 참조번호를 사용하였다. 특정 참조번호를 포함하는 도면은 3자릿수 참조번호가 사용될때는 제1자릿수로(예로, 310은 제3도를 가리킨다), 또한 4자릿수 참조번호가 사용될때는 제1 및 제2자릿수로(예로, 1005는 제10도를 가리킨다) 정해진다.
제1도는 본 발명을 실행하는데 사용할 수 있는 시스템의 일 실시예에 대한 블럭선도이다. 제1도의 시스템은 스위치(102) 및 호출 제어기(103)를 포함한 통신 시스템(101)을 포함한다. 통신 시스템(101)은 본 발명에서 사용되는 것외에도 DPS 위치에 대해 호출을 설정하고 완료하는데 사용할 수 있다. 본 발명에 의하면, 통신 시스템(101)은 DPS에 의해 생성된 응용 프로그램(즉, 대화 프로그램)의 동작을 실현하는데 사용된다. DPS 시스템 장치는 DPS 처리기(104)와 대화 단말기(105)와, 그리고 메모리(106)을 포함하며, 또한 사무용 컴퓨터(107)를 포함할 수 있다. 이하에서 상술된 바와 같이, DIVA 응용 프로그램(108)은 본 발명에 따라, 대화 단말기(105)와, 처리기(104)와 대화 생성 프로그램(109)을 이용하는 대화 작성자에 의해서 생성된다. 일단 생성된 DIVA 응용 프로그램(108)은 메모리(106)에 기억되고, 통신 시스템(101)을 통해 DPS 처리기(104)에 대해 행해진 유저의 호출 또는 질의에 응답하여 액세스된다.
전형적인 DIVA 응용 프로그램(108)의 동작은, 이것이 유저에 의해서 액세스될때의 서비스 요청을 추적(trace)함으로써 알 수 있다. 본 기술에서 유저이라는 용어는 유저 또는 발호자와 동일한 의미로 사용된다. 로컬(local) 전화기(110) 또는 원격 전화기(111)[CO 라인(112)을 경유하여 적절하게 연경되어 있음]의 발호자는 서비스 요청을 개시할 수 있다. 발호자는 호출 제어기(103)에 의해서 스위치(102)를 통해 응용에 관련하는 음성 장치에 연결된다. 상기 음성 장치는 전형적으로 다주파 수신기(112), 음성 기록유닛(113)), 음성 기억 유닛(114), 음성 검색 유닛(115) 및 조작자(attendant) 단말기(116)를 포함하며, 이들은 스위치(102)의 각 포트를 액세스하여 음성 및 터치-톤 신호를 수신한다. DPS 처리기(104)는 응용 프로그램(108)의 제어하에 동작하여 음성 장치로부터 상태(status)를 수신하여 그 동작을 제어한다. DPS 처리기는 호출 제어기(103)로부터 채널(117)을 통해 수신되는 제어 신호에 응답한다.
전형적으로는, 후술된 바와 같이, DIVA 응용 프로그램은 입력 호출에 응답하는 음성 장치를 제어하고, 유닛(114 및 115)으로부터의 적당한 음성 응답을 검색하고, 발호자에 대해 적당한 음성 응답(예를들어, 초기 어나운스먼트)을 재생(play)하는 모듈을 포함한다. 응답은 유저 계정(account) 번호 또는 다른 유저로 부터 제공된 정보에 대한 요청일 수도 있다. 발호자는 터치-톤 신호에 의해 요청된 데이타를 입력시킨다. 터치-톤 수신기(112)는 신호를 ASCII 문자로 디코드하여 이들을 DPS 처리기(104)로 전송한다. 응용 프로그램(108)은 다음에 실행될 응용 프로그램의 부분을 분기(branch)하거나 또는 선택하기 위해 상기 정보를 사용하는 모듈을 포함한다. 다음 단계에서 다른 발호자의 정보를 요청하거나, 단말기(116)의 조작자를 호출하거나, 사무용 컴퓨터(107)에 있는 원격 데이타 베이스로부터의 정보를 요구하거나 또는 DIVA 응용 프로그램(108)의 제어하에 다른 동작을 행할 수 있다. 질의-응답 예에서는 DIVA 응용 프로그램(108)은 원격 데이타 베이스에 대한 요청을 포맷하고, 응답을 수신하고, 유저에 대해 적절한 어나운스먼트를 재생한다. 조작자가 필요하게 되면, DIVA 응용 프로그램은 스위치(102)가 호출을 조작원 익스텐션(extension)에 전송시키도록 지시하는 신호를 호출 제어기(103)에게 보내 프로그램은 조작원 단말기(116)상에 트랜잭션(transaction)에 관련하는 임의 정보를 표시할 수 있다. 다음에, 응용 프로그램은 발호자와 분리되어, 그 라인은 비게되어 다른 호출을 받아들일 수 있게 된다.
비록 본 발명을 터치-톤 유저 입력과 시스템 음성 출력을 사용하는 것으로서 기술하였지만, 다른 응용에서는 다른 형태의 유저 입력과 시스템 출력을 사용할 수 있다는 것에 주목할 필요가 있다. 따라서, 예를들어, 본 발명의 범위내에서는 유저 음성 입력에 응답하기 위해 시스템 음성 인식 장치를 사용할 수 있다는 것도 고려할 수 있다. 또한, 시스템 입력 장치로서 사용되는 전화 또는 다른 유저 입력 단말기가 가시 표시기(즉, LED 또는 표시 장치)를 포함한다면, 유정에 대한 시스템 출력은 이들 지시기에 의해 표시되는 신호를 포함할 수 있다.
제1도에 도시된 장치는 공지의 것이다. 예를들어, 통신 시스템(101)은 다양한 PBX 시스템중 임의 것[예로, 아메리칸 텔리포 앤드 텔레그라프(AT & T) 시스템 85]일 수 있다. DPS 처리기(104)는 독립 처리기(예로, AT & 3B2 처리기)이거하 호출 제어기(103)에서 유틸리티(utility) 프로그램으로서 구현될 수 있으며 또한 사무용 컴퓨터(107)의 일부분일 수 있다. 대화 단말기(105), 조작원 단말기(106) 및 다른 장치(112,113,114 및 115)는 공지된 다양한 장치중 임의 것일 수 있다. 비록 대화 단말기(105)에 대한 본 실시예에서 DPS의 여러가지 표시된 동작 파라미터를 선택하기 위하여 터치감응 스크린을 사용하였더라도, 마우스(mouses), 커서 제어 및 키보드 입력등으로 표시된 파라미를 선택하는 다른 방법도 이용할 수 있다는 것에 유의할 필요가 있다.
이하에서는 본 발명에 따른 대화 생성 시스템의 실시예를 설명하고자 한다. DPS의 아키텍쳐(architecture)는 대화 작성자(즉, DPS를 이용하여 대화 프로그램을 작성하는 사람)가 특정 응용의 특성을 지정하기 위해 DPS와 대화하는 3개의 레벨을 포함하고 있다. 임의 레벨에서, 작성자는 단말기로부터의 응용 프로그램을 번역함으로써 응용 프로그램을 체크(check)할 수 있다. DPS의 중요한 특징은 대화 작성자에게 제공되는 인터페이스이다. 작성자 인터페이스의 성질에 의해서, 작성자는 자신은 근본적인 "톱-다운(top-down)" 프로그램 설계 규칙을 강요받게 된다. 대화 설계 과정은 3개의 레벨로 분류되는데, 이들 각각은 대화 단말기(105)상에서 서로 다른 표시(제14 및 15도)를 포함한다. 이들 레벨은 설계하는 응용 프로그램의 전반적인 것에서부터 상세한 것까지 처리한다.
제14도에 도시된 제1레벨에서, 작성자는 엔드 유저가 경험하는 트랜잭션의 시퀀스를 표시하기 위해 도면에 의한 흐름도와 같은 명세 언어를 사용한다. 이것에 의해 작성자는 대화 모듈이라 불리는 큰 트랜잭션에 의거한 단위(unit)를 사용하여 프로그램 구조를 기술할 수 있게 된다. 전반적인 대화 논리는 이들 대화 모듈의 구성에 의해 설정된다.
제15도에 도시된 제2레벨에서, 작성자는 트랜잭션 취급의 상세를 기술함으로써 각 대화 모듈에 파라미터를 제공한다. 이 레벨을 통해 작성자를 선도하여 적정한때 디폴트(default) 파라미터를 제공한다.
임의 대화 모듈중에서, 유저는 몇개의 파라미터를 명확히 설정한다(또는 디폴트값을 받아들인다) DPS는 응용 프로그램을 위해 필요한 실행 환경을 설정한다. 따라서, 양호한 유저 대화 생성에 관련하는 상세(예를들어, 디지트 타이밍 표준, 에러 임계 정의, 일반화된 에러 취급, 어나운스먼트 중단가능성등)는 서비스, 응용, 및 유저 전체에 걸쳐 일치되어 있다.
도시하지 않은 제3레벨에서, DPS는 작성자에게 유저에 대해 재생되어야 할 특정 어나운스먼트등을 기록(또는 식별)하도록 지시한다. 이것은 임의 공지된 기록 기술을 사용하여 실현할 수 있다.
DPS의 프로그래밍 모듈간의 관계를 이해하는 용이한 방법은 흐름도에 의한 것이다. 이러한 포맷은 특정 대화 프로그램을 실현하는데 필요한 관련 정보의 개념적 코딩을 대화 작성자에게 제공한다. 특히 순차 처리에 대한 프로그램 흐름은 흐름도에서 개념적으로 명백해진다. 흐름도에 의해서 프로그램의 기초가 되는 의미를 통하여 타스크(task)를 추적할 수 있다. 구조도에 의해 프로그램 설계 모듈성(modularity)이 강제적으로 제공되어 대화 작성자는 고차 프로그램을 블럭을 사용하여 작업을 행할 수 있게 된다. 예를들어, M.J.Fitter 및 T.R.G.Green에 의한 1981. 뉴욕, 아카데믹 프레스의 "When Do Diagrams Make Good Programming Language?"를 참조바람.
판정 테이블을 사용한 보충적인 대화 명세가 생성 시스템 인터페이스를 사용하여 제공된다. 판정 테이블을 사용하여 프로그램의 흐름을 이해하는 것이 곤란하더라도, 프로그램의 부분중에서 논리 관계를 설명함에 있어서는 판정 테이블이 가장 효과적일 수 있다. 예를들어, J.E.Bingham 및 G.W.Davies, A Handbook of Systems Analysis, (London, Macmillian, 1972) 참조바람.
DPS는(프로그램 모듈중에서) 형식 기준(form based) 판정 테이블과 결합하는 프로그램 구성을 위한 프로그램 구조로 구성되는 하이브리드 표현을 이용하는 인터페이스를 포함하여 수순과 구조상의 흐름을 이해함에 있어서 도움을 주는 인터페이스를 제공한다.
따라서, 대화 작성자와 DPS 사이의 대화는 배우기에 쉽고, 이해를 증진시키고, 그리고 사용이 간단하도록 설계되어 있다. 작성자는 엔드-유저가 경험하게 될 트랜잭션에 대해서 대화를 간단히 설계할 수 있다.
[대화 모듈]
임의 종류의 장치들은 거의 함께 사용되므로(예를들어, 터치톤 음성 응용을 위한 디지트 수집기 및 신호발생기), 대화 모듈은 어떠한 목적으로 이것이 디지트 수집기 및 어나운스먼트머신의 관련하는 작용을 제어하는가를 정의할 수 있다. 본 발명은 여러 대화 모듈을 정의하므로써 이러한 개념을 확장하여 상세화한다. 대화 모듈은 특정 트랜잭션을 위해 관련하는 물리적 시스템과 엔드유저간의 필요한 대화의 모든 양상을 규정짓는 일련의 소프트웨어 루틴인 것으로 생각할 수 있다.
몇몇 하드웨어 장치와 엔드유저 사이의 상호 관계를 제어하는 것은 복잡한 작업이다. 대화 모듈의 개념에 의해 이러한 복잡성이 프로그램에 삽입되어 있으므로 작성자에게는 보이지 않게 된다. 작성자가 대화 흐름도에 부가를 행하거나 또는 수정을 행하면, DPS는 각 노드 또는 대화 모듈이 그것의 자(child) 또는 후속노드를 지시할 필요가 있는 인덱스 또는 포인터를 추적한다. 만약 특정 분기가 발생하지 않으면, 제어는 그 처리가 완료될때 각 노드의 제1자 노드로 넘어간다.
음성 서비스에서, 유저 트랜잭션은 다수의 공통 요소를 공유한다. 표준 대화 모듈 그룹이 이들 공통 요소를 실현하며, 따라서 작성자는 대화 모듈 그룹중 선택된 모듈에 대해 희망 응용을 지정하므로써 대화 프로그램을 설계할 수 있다. 제14도를 참조하면, 대화 모듈은 2개 형태의 모듈 즉 제어 모듈(1401,1402,1403 및 1404)과 실행 모듈(1405,1406,1407,1408,1409 및 1410)을 포함하고 있다. 제어 모듈은 작성자가 응용의 수순 흐름을 지정하는데 사용하는 모듈이다. 실행 모듈은 작성자가 응용에 의해 관리되는 트랜잭션을 지정하는데 사용하는 모듈이다. 또한 작성자가 대화의 시작과 끝점을 지시하거나 또는 대화내의 루프의 시작과 끝점을 지시하는데 사용하는 4개의 인덱스가 있다. 이와 같이 작성자는 대화 단말기(105)의 비디오 표시장치상에 모듈의 공간적 배치 및 연결을 지정하므로써 대화 모듈의 순차 실행을 지정한다.
[제어 대화 모듈(Control Interaction Modules)]
대화 생성 시스템은 작성자가 선택할 수 있는 4개의 제어 대화 모듈(1401 내지 1404)을 제공한다. 이들은 스위치, 프롬프트 및 분기, 정합 및 루프 모듈을 포함하고 있다.
1. 스위치 모듈(1401)은 외부 사상(event)에 따라 프로그램의 분기 사이를 스위치한다. 스위치 모듈의 기능에 의해서 프로그램 작성자는 시간, 요일 또는 일자 등과 같은 다수의 대체 프로그램 분기중 어느 것을 지정할 수 있다. 분기 대체 및 시간 기준의 지정은 레벨 2 인터페이스를 사용하여 작성자가 실행한다. 예를들어, 현 주식 시세에 대한 보고는 조작된 서비스에 의해 월요일에서 금요일까지의 근무 시간동안 제공될수 있다. 다른 시간에는 조작원에 의해 서비스받지 못할 때에도 종가를 제공받을 수 있다. 이것을 실현하기 위해, 프로그램 작성자는 두개의 동일한 프로그램 분기를 기록하며, 또한 각 분기를 언제 실행해야할지를 결정하기 위해 스위치 모듈 및 프로그램된 외부 인자를 활용할 것이다.
2. 프롬프트 및 분기 모듈(1402)은 유저로부터의 디지트 입력에 따라 응용 프로그램의 일부분을 선택하거나 또는 조건부 실행을 행한다. 프롬프트와 분기 모듈은 유저에게 어나운스먼트를 행하며, 이것에 응답하여 행해진 다이얼된 디지트를 수집하며, 또한 입력에 의해 제공된 응용 프로그램의 적당한 논리 분기를 선태한다. 분기 모듈에 의해 작성자는 프로그래밍 구성 케이스를 편리하게 작성할 수 있다. 레벨 2에서, 프롬프트된 형태의 인터페이스에 의해 술어 결과 테이블(predicate outcome table)이 명기된다.
3. 정합 모듈(1403)은 유저에 대한 입력이 필요치 않은 점을 제외하고는 분기 모듈과 동일한 기능을 제공한다. 정합 모듈은 2개의 데이타 워드를 비교하여 그 결과에 따라 분기한다.
4. 루프 모듈(1404)은 프로그래밍 구조 "Do Until"과 등가이다. 즉, 작성자는 리스트(list) 또는 서브-트리(sub-tree)의 소정의 반복 횟수를 명기한다. 루프 변수는 유저에 대한 입력 디지트나 또는 레벨 2에서 지정되어 있는 디폴트값에 의해 설정될 수 있다.
실행, 분기 및 루프의 기능은 음성 서비스를 위한 대화를 작성하는데 필요한 최소한의 기능이다. 임의 적당히 구성된 프로그램은 실행, 분기 및 루프 기능을 포함하는 프로그램과 등가이다. 예를들어, 1972년 2월 IBM Report, FSC 72-6012, PP. 18-83의 H.D.Mills에 대한 "Mathematical Foundations for Structured Programming"참조바람.
[실행 대화 모듈(Execution Interaction Modules)]
대화 생성 시스템은 실행될 희망의 타스크를 지정하기 위해 작성자가 선택하는 6개의 실행 대화 모듈(1405 내지 1410)을 제공한다. 이들 모듈은 프롬프트 및 수집, 조작원 호출 어나운스먼트 재생, 음성 기록, 음성 재생, 그리고 데이타 교환을 포함한다. 비록 이들 모듈이 논리적으로 보다 작은 프로그램 블럭으로 분해될 수 있을지라도, 본 발명은 대화 모듈의 기초가 되는 기본적 원리이므로 고-레벨의 모듈을 제공한다. 즉, 대화 작성자는 엔드유저가 경험하게 되는 트랜잭션에 대응하는 모듈을 지정함으로써 응용 프로그램을 작성할 수 있다.
1. 프롬프트 및 수집 모듈(1405)은 어나운스먼트의 대화 재생(제1도의 109를 경유) 및 디지트의 수집(제1도의 111을 경유)을 포함하는 유저의 대화를 처리한다. 프롬프트 및 수집 모듈은 입력된 디지트의 적합한 범위를 판정하여 이들 디지트는 유저가 지정한 변수로서 기억되며, 후속 모듈(즉, 분기, 루프 제어 또는 데이타 교환)에 의해서 참조될 수 있다.
2. 조작원 호출 모듈(1406)은 조작원[예를들어, 제1도의 단말기(112)]이 임의 트랜잭션을 처리하도록 하거나, 유저가 에러를 범했을때 조작원을 연결하거나 또는 엔드-유저에게 자동 서비스 대신에 조작원 다루는 선택을 제공하기를 프로그램 작성자가 원하고 있는 서비스에서 사용된다. 이들 모듈은 프로그램 작성자의 조직에 엔드유저와 조작원을 연결시키는 수단을 제공한다. 조작원 호출 모듈은 임의 다른 작성자가 대화 머신에 의해 호출될 수 있다. 조작원 호출 모듈이 호출되면, 조작원이 호출되는 것을 나타내는 어나운스먼트가 유저에 재생된다. 다음에 조작원에 대해 호출이 설정되고 그 조작원에게 문제를 알리는 어나운스먼트가 조작원에게 재생된다. 그런뒤에, 조작원 및 유저는 서로 연결 즉 브릿지된다.
3. 어나운스먼트 재생 모듈(1407)은 엔드유저로부터의 응답이 필요치 않는 응용 프로그램의 부분중에서 어나운스먼트를 재생하는 기능을 제공한다. 또한, 어나운스먼트 재생에 의해, 유저가 필요에 따라서 몇번이고 들을 수 있도록 어나운스먼트를 반복할 수 있다.
4. 음성 기록 모듈(1408)은 엔드유저가 작성자의 음성 기억 시스템에 단일 음성 메시지를 남길 수 있도록 하는데 필요한 모든 유저 관계 인터페이스(예, 제1도의 110)를 제어한다. 이것은 데이타 레코드(data records)와 화일(files)의 개폐를 포함한다. 음성 형태를 생성하기 위해서는 음성 기록에 대한 다수의 순차 호출을 행한다. 이러한 응용에 사용될때 기억된 메시지는 서로 링크되어 프롬프트와 기록의 호출 횟수만큼의 필드로 구성되는 완성된 레코드로서 검색될 수 있다.
5. 음성 재생 모듈(1409)에 의해 작성자는 엔드유저에게 "사전 기록된" 기억되어 있는 음성의 재생을 제공할 수 있다. 이것은 음성 기록과 동일하게 실현되는데 음성 화일이 기록되는 것이 아니라 생성되는 것이다. 음성 기록 모듈과 결합하여 사용되면, 유저에게 단일 음성 편집 기능을 제공할 수 있다.
6. 데이타 교환 모듈(1410)에 의해 음성 서비스의 작성자는 응용 프로그램과 원격 사무용 컴퓨터 즉 호스트 컴퓨터 사이의 대화를 설계할 수 있다. 데이타 교환 모듈은 작성자에게 원격의 주 컴퓨터와의 간단한 통신 수단을 제공한다.
데이타-베이스 관리 시스템(DBMS)과 질의 언어의 성질이 작성자에게 알려져 있지 않을 수 있으며, 또한 엔드유저가 사무용 컴퓨터(107)의 데이타 베이스를 액세스하는 것에는 중요한 보안문제가 있으므로, 원격 데이타 베이스를 접근하는 일반적인 수단은 제공하지 않기로 한다. 작성자가 트랜잭션 대화를 작성하고자 하면, DPS는 두개의 대안을 제공한다.
첫째로, 엔드유저의 트랜잭션으로부터의 레코드의 각 집단을 기억하고 포맷 변경과 처리를 위해 호스트 컴퓨터로 전송할 수 있다. 둘째로, DPS에 의해 작성자는 호스트 컴퓨터 즉 사무용 컴퓨터(107)에 연결된 단말기의 동작을 시뮬레이팅(simulating)함으로써 호출 관리 트랜잭션을 자동화 할수 있다.
[모드 코맨드(MODE COMMANDS)]
DPS에 의해 작성자는 4개의 동작 모드 편집(Edit), 실행(RUN), 튜터(tutor) 및 설치(Install)를 선택할 수 있다.
이들 코맨드는 제14,15 및 16도의 상단 좌측 코너에서 (1411,1412,1413 및 1414)로서 표시되어 있다. 다음의 설명은 제13도를 참조하여 기술하고 있다.
작성자가 "편집 모드(Edit Mode)"를 선택하면(1302), DPS는 현재 대화를 제16도의 트리 윈도우(tree window, 1603)에 표시하여, 작성자는 "편집 또는 삽입(edit or insert)" 코맨드를 사용하여 트리구조를 조작할 수 있다.
작성자가 "실행 모드(RUN Mode)"를 선택하면(1304), DSP는 현재 대화(1305)를 번역한다(1305). 이러한 번역기 기능에 의해 작성자는 그의 대화 논리를 대화식으로 테스트할 수 있다.
번역기는 작성자가 대화를 작성하는 동안 야기된 임의 문장 구성상의 에러를 플래그(flag)하며, 적정한 에러 메시지를 표시한다. 번역기는 부분적인 대화에도 사용할 수 있으므로 작성자는 응용부분의 완전성을 따로따로 판단할 수 있다.
작성자가 "튜너 모드(Tutor Mode)"를 선택하면(1306), DPS는 대화를 작성하는 단계를 통하여 작성자에게 대화식으로 안내를 제공한다(1307). 작성자가 "설치 모드(Install Mode)"를 선택하면(1308), DPS는 현재 대화를 다운 로드(down load)하고, 컴파일한 다음, 그것을 실행 서비스로서 설치한다.
[튜터 모드(TUTOR MODE)]
DPS는 경험이 없는 작성자를 위해 초기 지침 교육 기간을 제공한다. 샘플 응용(예, 제16도의 1601을 참조)이 작성자에게 설명되어 이러한 응용 작성에 필요한 단계를 통해 작성자에게 안내가 제공된다. 대화를 작성함에 있어서의 작성자의 동작에 관한 피드백(feedback)이 제공되며, 편집기능을 사용하여 대화 모듈을 조작하고 레벨 그 파라미터를 지정함에 있어서의 경험이 제공된다(제15도의 1501 내지 1054에서 도시).
[편집 모드(EDIT MODE)]
DPS 편집 모드의 동작은 제1도 및 제2도를 참조하여 기술하기로 한다. DPS가 대화 단말기(예, 제1도의 105)에 의해 먼저 호출되면(200), DPS는 단말기의 특정 형태를 초기화시킨다(201). 시스템은 응용 프로그램의 설명을 위해 필요한 여러개의 윈도우를 표시한다(202). 이들은 제14도에 도시된 모드(Mode), 전역(Global), 삽입(Insert), 편집 코맨드(Edit Command), 네비게이션(Navigation), 형식(Form) 및 화일(Fille) 윈도우를 포함한다. 이들 윈도우가 표시된 후, 프로그램은 데이타 구조를 초기화 시킨 후(203), 스크린상에 기본 트리를 표시한다(204). 기본 트리는 제14도의 단계(1403)에 의해 도시되어 있다. 이러한 점에 있어서, DPS프로그램은 대화 단말기(105)에서 대화 작성자로부터의 단말기 입력을 대기한다(300).
작성자는 제14도에 도시된 윈도우에 제공되는 특정 옵션(option)을 선택함으로써 DPS에 입력을 제공한다. 작성자는 제14도의 상단 좌측 코너의 모드 윈도우로부터 편집 모드(1411), 실행 모드(1412), 튜터 모드(1413) 또는 대화 설치 모드(1414)를 선택하므로써 다양한 입력 모드를 선택할 수 있다. 이들 모드중 하나를 선택함으로써(301), 제13도의 흐름도에서 도시된 것과 같이 모드 윈도우로부터의 입력을 처리할 수 있다(302).
임의 유저 코맨드는 응용기간 전체를 통해 유저가 이용할 수 있으므로 전역 코맨드이다. 이들 코맨드는 도움(help)(1415), 중기(quit)(1416), 대화 획득(get)(1417) 및 대화 세이브(save)(1418)이며, 이들은 제14도의 좌측의 모드 윈도우 아래의 전역 윈도우에서 도시된다. 이들 전역 코맨드 중 하나가 선택되면(303), 대화생성 시스템은 제11도에 도시된 단계로 설명된 것과 같이 전역 윈도우로부터의 입력을 처리한다(304). 삽입 윈도우(제14도의 상단 오른쪽에 도시)에 대한 옵션은 프롬프트 및 분기(1402), 정합(1403), 스위치(1401), 루프(1404), 프롬프트 및 수집(1405), 어나운스먼트(1407), 음성기록(1408), 음성재생(1409), 데이타 교환(1410) 및 조작원 호출(1406)이며, 이들은 작성자가 조작하는 대화 모듈이다.
이들 삽입 윈도우 옵션중 하나를 선택하면(305), 제5도의 흐름도에서 도시된 바와 같이 적절한 처리가 행해진다(306).
제14도의 하단 오른쪽에 도시된 편집 윈도우에 의해 작성자는 프로그램의 모듈을 삭제하고(1419), 모듈을 이동시키고(1420), 모듈을 복사하고(1421), 분기를 삭제하고(1422), 분기를 이동시키고(1423), 분기를 복사하고(1424), 분기를 가산하고(1425), 루프를 폐쇄시키고(1426), 또는 종료를 고정할 수 있다(1427), 편집 윈도우의 대안들중에 하나를 선택하면(307), 제6도의 흐름도에서 기술된 것과 같이 적절한 분기가 발생한다(308).
네비게이션 윈도우 콘맨드는 제14도의 하단 왼쪽에 도시되어 있다. 이러한 윈도우는 네비게이션 블럭(1428)과 모듈 명세 블럭(1429)을 포함한다. 제14도에 도시된 레벨의 표시동안, 작성자가 네비게이션의 방향을 선택하면(400), 제8도의 흐름도에서 설명된 것과 같이 이 방향에 대한 적절한 처리가 행해진다(401), 따라서, 예를들어, 작성자가 모듈 명세 블럭(1429)을 선택한다면, (레벨 1코맨드) 작성자는 자신이 지정하고자 하는 대화 모듈(예, 1405)에 대해 프롬프트 된다.
DPS는 이들 입력을 제8도의 (800,801,802 및 803)의 단계에서 처리한다. 제15도는 프롬프트 및 수집모듈(1405)이 선택되었을때 표시되는 레벨 윈도우(제8도의 804,805)를 도시한다. 네비게이션 레벨 2윈도우 모드도 또한 단계(402,403)에서 선택할 수 있으며, 이러한 경우에 있어서 제10도에서 도시된 바와 같이 처리될 수 있다는 것이 유의할 필요가 있다.
요구형식(demand form)(1501), 제어형식(control form)(1502), 에러형식(error form)(1503)가 레벨1(1504)를 포함하는 레벨 2데비게이션 코맨드는 제15도의 하단 왼쪽에 도시되어 있다. DPS는 윈도우 2입력을 제10도에 도시된 단계(1000,1001)에서 처리한다. 이후에 작성자는 제14도에 도시된 레벨 1표시로 복귀할 것을 선택하거나(단계 1002) 또는 정보를 제공하기 위한 형식(Form)을 선택한다(단계 1005).
작성자에게 제15도가 표시되면 작성자는 제15도 중앙에 도시된 형식을 채우므로써 다양한 파라미터에 관한 정보를 DPS에게 제공된다(404). 이러한 형식 정보는 대화 단말기(105)내로 타이프되어 단계(405)에서 처리된다.
레벨 2 모듈에 피라미터가 제공된 후, 작성자는 제15도 스크린의 하단 왼쪽에 있는 "go to level 1"을 선택할 수 있다. 제10도의 단계(1002)에서 기술되어 있는 바와같이, 이러한 동작에 의해 DPS는 제4도에서 도시된 표시로 복귀한다. 작성자가 언제라도 설계 기간을 중단하고자 하면, 전역 코맨드 윈도우의 "save dialog"장소(1418)를 누를수 있다. 이러한 점에서, 작성자는 화일명 및 화일 상세를 위해 응용 프로그램을 식별하고 작성된 여러가지 대화를 기억하도록 DPS에 의해 프롬프트되어진다. 후속기간 중에, 작성자가 미리 작성된 응용 프로그램에 대해 변경(alter), 편집 또는 개선하고자 할때는, 작성자는 "get dialog"(1417)를 누르고, 기존 응용 프로그램의 화일명을 지정하고, 대화 설계가 중단된 곳으로부터 대화 설계를 재개할 수 있다.
[삽입모드(INSERT MODE)]
작성자가 삽입 윈도우로부터 대화 모듈을 선택하고(단계 305,306 및 제5도) 이들을 제14 및 16도의 중앙에 도시된 트리윈도우에 위치시킴으로써 응용 프로그램의 논리적 순차 흐름도를 명시한다. 특정 대화 모듈 및 다른 대화 모듈에 관련하는 그들의 장소를 선택함으로써 설계된 응용 프로그램의 모듈의 논리적인 상호 연결을 완전히 명시할 수 있다.
제5도는 삽입 윈도우내의 대화 모듈을 사용하여 응용 프로그램 논리의 개발에 기초가 되는 프로세스(process)를 도시하고 있다. 내부적으로, 대화 생성 시스템은 사전 초기화된(제2도의 단계 203) 트리-데이타 구조로 상기 논리를 기술한다. 작성자는 제14도의 상단 오른쪽 코너에 도시된 입력 윈도우로부터 적당한 모듈을 선택하여 (제5도의 단계 501), 선택한 모듈을 제14도 중앙에 위치한 트리 윈도우중의 정확한 장소에 위치시킨다(단계 502). DPS는 이러한 기능을 기존의 응용 논리에 삽입시키므로써 트리 데이타 구조를 변경한다(예, 제16도의 1601을 참조). DPS는 논리내의 새로운 변화를 나타내는 이러한 트리 구조(예, 제16도의 1602를 참조)에 노드를 형성한다(단계 503). 따라서, 기능의 논리 번호를 지정하는 노드 인덱스가 증가한다. 다음에 트리 구조에는 작성자가 제안한 노드의 형태(type)가 제공된다(여기에서 형태란 스위치 또는 분기, 정합코드, 루프코드, 또는 다른 대화 모듈중 임의 것을 의미한다).
작성자가 규정한 노드의 형태에 따라, DPS는 노드의 자(child) 및 모(parent) 노드-계수(count)를 조정한다. 다음에 DPS는 일련의 노드 포인터를 작성자가 선택한 대화 모듈에 대하여 적절한 레벨 2형식으로 설정한다.
선택된 대화 모듈이 분기 또는 스위치 형태이면(504), 그것의 분기를 나타내는 부가 노드가 형성된다(505).
선택된 모듈이 정합 형태이면(506), 정합이 성공적이지 않은때의 분기를 나타내는 여분의 노드가 형성된다(507). 이것을 제6도의 단계(1603)에서 도시하고 있다.
선택된 모듈이 루프 형태이면(508), DPS는 루프 상잔 및 루프 하단을 표시하기 위한 부가 노드를 형성하며, 이들 부가 노드는 또한 DPS 대화내에서 루프백 처리를 위해 사용된다. 이것을 제16도의 단계(1602 및 1605)에서 도시하고 있다.
삽입 프로세스 동안 에러가 발생하면(510), 트리구조는 바뀌지 않으므로, 표시는 동일한 상태로 유지된다. 그렇지 않으면, DPS에 의해 갱신된 트리가 표시된다(511).
[편집 코맨드 기능(EDIT COMMAND FUNCTIONS)]
DPS에 의해 작성자는 기존의 응용 프로그램을 변경하거나 또는 자신이 이전에 행한 작업을 편집함으로써 부분적으로 완성한 응용 프로그램을 변경할 수 있다. 이러한 편집 프로세스를 제6 및 7도를 참조하여 기술한다.
DPS에서, 대화 흐름도(응용 프로그램)의 편집은 제14 및 16도의 하단 오른쪽 코너에 도시된 편집 코맨드 윈도우로부터 코맨드를 선택함으로써 행해진다.
모듈을 삭제하기 위하여, 작성자는 편집 윈도우에서 "모듈 삭제(delete module)"를 선택하며(602), 트리윈도우의 모듈중 어느것을 삭제해야 하는지를 표시한다(603). DPS는 어느 모듈이 논리 트리의 그 장소에 존재하는가를 판정한다.
삭제되는 모듈의 형태에 따라 DPS는 모와 자 포인터를 조정하여 포인터를 적정한 레벨 2명세로 이동시킨다(604). 트리 구조 전체를 재표시를 위해 재조정하며, 새로운 논리 트리가 제16도의 중앙에 표시된다(710). DPS는 작성자가 응용의 논리 구조를 쓸모없게 만들 수 있는 에러를 범하지 않도록 구성되어 있다. 작성자가 하나이상의 출력 분기를 갖는 모듈(예를들어, 제16도의 1604참조)을 삭제하려고 하면, DPS는 작성자에게 에러 메시지를 제공하여 삭제는 행해지지 않는다.
작성자가 편집 옵션의 "모듈 이동(move module)"을 선택한다면(605), 작성자는 이동되어진 모듈을 표시하여(606), 응용 프로그램의 논리 구성의 어디로 모듈을 이동시켜야 하는지를 지정한다(607). DPS는 지정된 장소에 모듈을 삽입시키고, 이전의 장소에서 모듈 삭제하고, 남아있는 모듈 사이에 포인터를 재배열하여(608), 편집된 트리를 표시한다(710).
작성자가 편집기능의 "모듈 복사(copy module)"를 선택하면(609), 작성자는 복사될 모듈과, 응용 프로그램의 논리 구조 어느 곳에 상기 모듈을 복사해야 하는가를 지정한다(610,611). 모듈은 이 시점에서 응용 프로그램에 삽입된다.
논리 트리와, 복사된 모듈의 모 및 자와 그 레벨 2명세간의 포인터가 재조정된다(612). 새로운 트리 구조는 표시를 재계산 하는데 사용되며, 트리 윈도우에 새로운 표시가 제공된다(710).
작성자가 편집 기능의 "분기 삭제(delete branch)"를 선택하면(613), 작성자는 삭제될 분기를 지정한다(614). DPS는 모 분기를 판정하여 분기를 삭제하는 것이 논리적으로 옳은지의 여부를 판정한다. DPS가 적절한 삭제 선택인 것으로 판정하면, 트리 구조가 갱신되며, 분기는 공백(empty) 노드로 대체된다(615). 따라서 갱신된 구조가 표시된다(710).
작성자가 "분기 이동(move branch)"의 편집 기능을 선택하면(616), 작성자는 이동되어진 분기와 논리 트리내에 어느곳에 선택된 분기를 이동해야 하는가를 지정해야 한다(618). DPS는 선택된 분기가 타당한지 그리고 분기에 대해 선택된 수신지가 타당한지 판정한다. 이동이 타당하다면, 분기와 그것의 모든 자노드는 선택된 장소로 이동된다(619).
분기를 포함하지 않은 모듈로 분기를 이동하려고 하는 것은 타당하지 않은 이동을 의미한다. 이동이 끝난후에, 갱신된 트리구조가 표시된다(710).
작성자가 "분기 복사(copy branch)"의 편집 기능을 선택하면(620), 작성자는 복사된 분기를 지정하고(612), 선택된 분기를 복사해야 하는 곳을 지정한다(622). "분기 이동"에서와 같이, DPS는 복사가 논리적으로 타당한지를 판정한다. 논리적으로 타당하다면, 분기 노드와 모든 분기는 새로운 장소에 복사된다(623). 따라서 갱신된 트리 구조가 표시된다(710).
작성자가 "분기부가(add branch)" 편집 기능을 선택하면(700), 작성자는 분기가 부가되어질 곳을 선택해야만 한다(701). DPS는 선택된 장소에 분기를 부가하는 것이 논리적으로 옳은지를 판정한다. 논리적으로 옳다면, 공백분기가 부가된다(702). 비타당한 위치 장소의 예로서는 분기를 허용하지 않는 모듈(즉, 데이타 교환)로 분기를 부가하려고 하는 것이다. 따라서, 갱신된 트리 구조가 표시된다(710).
작성자가 "루프 폐쇄(close loop)" 기능을 선택하고자 하면(703), DPS는 작성자가 루프의 상단 및 루프의 하단을 지정할 것(704,705)을 요구하고, 루프 구조를 지정하기 위해 논리 구조를 재조정하여(706), 갱신된 트리 구조가 표시된다(710).
응용 프로그램의 전체 분기가 완료되었을때, 작성자는 "종료 고정(fixed end)"편집 코맨드를 이용하여 완료를 나타낸다(707). 작성자는 "종료 고정 코맨드"를 선택하여, 이것을 대화 분기의 종료자로서 분기에 접속한다(708,709).
[전역 윈도우 코맨드(GLOBAL WINDOW COMMANDS)]
전역 윈도우 코맨드를 이용하는 동작을 제11 및 12도와 관련하여 설명하기로 한다. 4개의 코맨드 "help", "quit", "get dialog", "save dialog"가 전역 코맨드이며, 제11도에서 도시된 바와 같이 액세스 된다. 이들은 제14, 15 및 16도의 좌측에 표시되어 있다. 이들 코맨드는 임의 시점에서도 작성자와 DPS와의 대화에 사용할 수 있다.
제11도를 참조하여, 작성자가 대화 생성 시스템의 레벨 1동안 "도움(help)"을 요청한다면(1107), 그는 자기가 도움을 원하는 특정한 대화 모듈, 기능, 또는 모드에 대해 프롬프트 된다(1108). 작성자가 대화 생성 레벨 2에 있다면, 그는 현재 스크린 상에 있는 레벨 2 형식에 대한 "help"를 받는다. 따라서, DPS내의 "help"은 그 내용에 의해 결정된다. "help"코맨드는 공지된 진단 루틴을 이용하여 실현할 수 있다.
작성자가 "현재의 대화 세이브(save current dialog)"기능을 선택하면(1103), "팝-업"(pop-up) 윈도우(도시되지 않음)가 스크린의 중앙에 표시되고(1104), 제어는 "팝-업"화일 윈도우로 넘어간다(1200). 제12도를 참조해보면, DPS는 상기 "세이브"경우에 있어서 "GLOBAL WINDOW"중 어느 옵션이 선택되어 있는가를 판정한다(1201). 작성자는 화일명을 대화에 기억시키도록 프롬프트되어지며(1202), DPS는 다운 로드분기를 선택한다(1206). 작성자는 다운 로드를 개시시킬 것인지 아닌지를 지정하며(1207), 현재의 응용 프로그램에 관련된 데이타 구조와, 관련된 모든 형식 정보가 작성자에 지정된 화일명으로 세이브된다(1208).
작성자가 "대화 검색(retrieve dialong)" 기능을 지정하면(1105), "팝-업"화일 윈도우가 스크린의 중앙에 표시되고(1106), 제어는 "팝-업"화일 윈도우로 넘어간다(1200).
이러한 "검색"기능의 경우에 있어서, DPS는 "GLOBAL WINDOW" 중 어느 옵션이 선택되었는가를 판정한다(1201).
다음에 작성자는 대화명을 업로드하도록 프롬프트되며 DPS는 "업 로드" 분기를 선택한다(1203). 작성자는 업로드를 개시해야 하는가를 지정하고(1204), 대화와, 이것에 관련된 모든 데이타 구조가 업로드 된다(1205). DPS는 지정된 화일을 갖고 논리 구조와 레벨 2 파라미터 값을 이용하여 이전에 설계된 응용 프로그램을 재작성한다.
작성자가 "코맨드 중지(quit command)"를 지정하면 (1102), DPS 단말기는 본래의 특성으로 리셋트되어 프로그램을 출력시키고(1209), 제어는 제4도의 판단 블럭(408)으로 복귀된다.
[네비게이션 및 스크롤링(NAVIGATION AND SCROLLING)]
제14도의 하단 왼쪽 코너에 있는 (1428)에서 도시된 네비게이션 및 스크롤링 기능에 의해서, 작성자는 응용 프로그램의 표시에 대하여 두 종류의 제어를 행할 수 있다. 상기 기능은 제8, 9 및 10도를 참조하여 기술된다.
먼저, 스크롤링 모드에 의해 작성자는 응용의 기초가 되는 논리 트리의 표시를 제어할 수 있다. 다수의 응용 프로그램은 대규모이고 복잡하며, 제15또는 제16도의 스크린 중앙부에 그 전체의 응용을 표시하기에는, 너무 크고, 너무 복잡하고 다수의대화 모듈을 더욱 많이 갖고 있다.
스크롤링 기능에 의해 작성자는 임의 시간에 구조의 어느 부분을 표시해야 하는가를 선택할 수 있다. 개념상으로, 이러한 기능은 마치 응용 프로그램을 기술하는 논리 트리가 작은 규모의 윈도우 뒤에 숨겨져 있는 것과 같다. 스크롤링 코맨드는 그 윈도우를 유저의 코맨드에 따라 그 부분을 표시하는 논리 트리로 이동시킨다(807,809,811,813). 둘째로, 네비게이션 모드 기능에 의해서, 작성자는 응용 프로그램의 상이한 레벨을 통해 네비게이트할 수 있다. 작성자는 대화 모듈의 관계를 공간적으로 배치함으로써 응용 프로그램의 레벨 1논리를 지정한다. 네비게이션 모드에 의해 작성자는 각 네비게이션 모듈에 대한 제2레벨을 선택한다. 대화 모듈의 제2레벨에서, 형식이 작성자에게 표시되므로 유저는 응용 프로그램에 대해 정의 할 수 있는 파라미터를 지정할 수 있다. 제2레벨 형식에 대한 표시가 제15도에 도시되어 있다.
유저가 레벨 2파라미터를 설정하고자 하면, 이것은 각 파라미터에 대해 제15도에서 도시된 형식을 채우므로써 행해진다. 예로, 제15도의 중앙에는 프롬프트 및 수집 모듈에서 사용하는 형식이 표시되어 있다. 형식 서브루틴의 동작은 제9도에 도시되어 있고 제10도와 함께 관련하여 설명된다.
작성자는 네비게이션 윈도우에서 "모듈 명세(module specification)" 기능을 선택하여(802), 그가 지정하고자 하는 트리에서 특정 대화 모듈을 선택한다(803). DPS는 이것이 어느 모듈인지를 판정하여 이 모듈에 대한 적절한 형식을 표시한다(805). 레벨 2에 대해 파라미터를 지정한 후에 작성자는 제15도의 하단에 도시된 "형식 체크(check forms)" 기능을 선택할 수 있다(902). DPS는 작성자에 의해 선택된 파라미터의 논리적 일치성 및 합리성을 체크한다(904). 작성자에 의해 선택된 파라미터가 응용에 부적당하다면, 에러 메시지가 표시된다(905). 필드가 더 이상 필요치 않으면(903), 제어는 제8도로 복귀된다.
선택된 대화 모듈의 형태에 따라서, 채워져야만 하는 형식이 여러개가 될 수 있다. 하나 이상의 형식이 필요하면, 작성자는 그가 원하는 형식을 지정한다(1005). DPS는 대화 모듈의 형태와 선택된 형식의 형태를 판정하여(1006), 제15도에 도시된 적절한 형식 구조를 표시한다(1007).
제어 형식과 에러 형식에 지정된 임의 형태의 정보를 작성자가 변경할 수 있는 디폴트값으로 제공된다. 예를들어 타임아웃의 값과 에러 임계의 값은 작성자가 변경할 수 있는 제공된 디폴트 값이다. 다른 레벨 2정보가 작성자에게 요구될 수 있다. 예를들어, 어나운스먼트 또는 프롬프트를 재생하는 모듈은 작성자가 특정한 시점에서 재생될 어나운스먼트 또는 프롬프트의 텍스트(text)를 지정할 것을 요구한다.
어나운스먼트 또는 프롬프트 모듈(906)에 대하여, 제3레벨의 응용 명세가 제공된다. DPS는 어나운스먼트 또는 프롬프트를 기록해야 하는가를 문의하여(907), 작성자가 프롬프트에 대해 레이블(label)을 제공하도록 하게 한다(908,909). 레벨 3에서, DPS는 유저가 기록을 언제 개시해야 하는가를 지정하며 작성자가 실제 어나운스먼트 또는 프롬프트를 코드화하는 것을 대기한다.
[실행모드(RUN MODE)]
DPS의 작성자 인터페이스는 작성자가 생성된 응용 프로그램의 중요한 특징을 기술할 수 있도록 하기 위해 흐름도 및 메뉴에 따른 수순을 사용한다. DPS의 실행 모드는 상기 작성자의 기술을 서비스의 형식적 집합(set)으로 번역한다.
그것의 가장 기본적인 레벨에서 DPS 실행 모드는 인수(argument) 또는 파라미터의 수집을 이용하여 실행 루틴을 변형시킨다.
실행 모드는 응용을 서비스로서 설치하기 전에 응용을 테스트 또는 사전 검사하는데 사용된다. 계획된 어나운스먼트 및 프롬프트를 재검토하기 위하여 텍스트-음성 변환 기능을 이용하여 실행 모드에서 응용을 사전 검사할 수 있다.
생성된 응용 프로그램을 포함하는 대화 모듈의 흐름도는 링크된 리스트(방향을 갖는 그래프)로서 나타나 있다. 링크된 리스트의 각 노드에 노드와 관련된 대화 모듈에 대한 정보와 노드가 연결되는 후속 노드에 대한 정보가 포함되어 있다.
각각의 노드는 그것의 노드에 대한 인덱스를 포함한다. 이들 인덱스는 각 대화 사이에 상호 연결을 구성한다. 각 노드는 또한 형태에 대한 기술을 포함한다. 그러므로, 대화가 실행중일때 DPS는 인덱스 포인터를 증가시키고 인덱스 값에 따라 각 노드를 연속적으로 실행시킨다. 실행된 루틴의 형태는 "노드 형태(node type)"에 따라 정해진다. 따라서, 흐름도는 노드를 상호 연결하는 방법에 대한 정보를 각각 포함하고 있는 노드 기술 리스트로서 제공된다.
각 대화 모듈의 레벨 2 기술은 형식으로 구성되는 여러 인수를 갖는다. 서비스를 완료하기 위하여 명세를 필요로 하는 이러한 인수를 수집하는데 요구 형식이 사용된다.
옵션형식(options form) 대화 모듈의 표준의 디폴트 파라미터에 대한 어떠한 변형도 수집한다. 마지막으로, 대화 모듈이 에러를 처리하는 방법을 제어하는 이들 인수를 설정하는데 에러 형식이 사용된다. 링크 정보와 더불어 이들 세개의 형식의 인수는 노드기술을 포함하고 있다.
제24도에 도시된 테이블 1은 각 노드 기술에 대한 구조적인 표현을 제공한다. 제1행(2406)은 대화 모듈과 다른 노드와의 링크에 대한 기본적인 정보를 포함한다. 각 형식에 대해서 형식을 기술하는 행이 있고 다음에는 이것에 관련된 인수값을 포함한 행이 여러개 후속한다.
대화 모듈은 인덱스 리스트를 통해 연결되는 대화내의 노드를 표현한다. 제24도의 각 노드(즉, 2400)의 명세에는 이들 각각의 자 노드(즉, CHLDCT-2401)를 지시하는 다수의 인덱스를 포함하고 있다. 모듈이 포함하는 이들 인덱스의 수는 이것의 코드(2402)에 의한다. 예를들어, 스위치 대화 모듈은 6개까지의 자(즉, 2403)를 갖을 수 있으므로, 6개의 자 인텍스를 가질 것이다. 반면에, 어나운스먼트 모듈은 그 형태의 모듈로부터 단지 하나의 출구점만이 존재하므로 단지 하나의 자 인덱스만을 포함한다. 이들 자 인덱스는 DPS의 편집 모드 동안에 노드 명세 데이타 구조내에 저장된다. 각 노드는 세개까지의 형식 형태(예, 2404)를 포함할 수 있으며, 이들 각각의 형식은 다수의 인수(ARGI-ARGN, 2405)와 인수를 기억하는데 필요한 공간을 기억하는 번호(LINECT)를 포함한다.
제15도에는 하나의 예시적인 형식 프롬프트 및 수집 모듈이 도시되어 있는데, 이것은 전체 LINECT의 공간의 하나 또는 그 이상의 라인을 필요로 하는 세개의 인수(1505,1506,1507)을 포함한다.
테이블 1에서, 약어는 아래와 같이 사용되고 있다
Node #-노드를 식별하는 고유번호.
Code-노드의 대화 모듈 형태를 식별하는 번호,
Formct-노드에 의해 사용되는 형식 번호.
Chldct-자 노드의 번호, 즉, 특정 노드로부터 분기하는 노드의 번호,
Child1 내지 Child X-각 자 노드에 대한 노드 인덱스를 식별하는 번호, 이들 인덱스는 모듈 사이의 링크를 나타낸다.
Form-인수가 따르는 형식의 형태를 식별하는 번호.
Argct-형식에 대한 인수(ARGI-ARGN)의 번호.
Linect-형식의 인수를 포함하는데 필요한 라인의 번호.
ARGI 내지 ARGN-형식내에서 순서화된 인수값, 레벨 2파라미터는 인수 장소에 실제값으로 기억된다.
예를들어, 인수는 숫자 또는 문자의 스트링(string)일 수 있다. 이들 형태는 여백 또는 임의 특정 문자를 포함하지 않는다.
워드 인수는 와일드(wild) 카드 문자를 포함할 수 있다. 텍스트 열과 프롬프트는 다수 워드의 스트링이다. 텍스트 스트링은 또한 단일 문자 종루 '?'와 워드 종류 '*'의 와일드 카드 문자(임의 심볼이 될 수 있는 문자)를 포함할 수 있다.
마지막으로, 텍스트 스트링과 프롬프트는 변수 대입을 포함할 수 있는 있다. 워드가 변수명으로서 해석되어야 하면, 이들 변수내에 포함된 스트링은 평가에 의해서 초기 스트링에 대입되며, 인수 부분은 중괄호 즉'(and)'로 구분되어진다. 텍스트 스트링과 프롬프트간의 기본적인 차이는 프롬프트가 발호자에게 발생할 음성세그먼트를 구성하는데 사용된다는 점이다.
포맷된 텍스트 인수는 복합 옵션(complex options)을 특징짓는 특수 목적의 언어이다. 어느것은 분기를 행하는 조건을 기술하고, 다른 것은 유효한 입력의 특징을 기술하고, 또다른 것은 응답 스트링의 예기된 포맷을 기술하는 것이다.
모든 모듈간(intermodule) 통신은 변수에 의해 달성된다. 이들 변수에는 그들이 처음 사용될때 이름이 할당되며, 이후에는 이 이름에 의해 액세스된다. 변수는 전역으로, 변수 대임을 이용함으로써 인수 스트링내에 삽입될 수 있다.
제18 내지 23도는 제14도의 상단 오른쪽 코너에 도시된 여러 대화 모듈(1401 내지 1410)의 실행 흐름을 기술한 것이다. 제17도는 프롬프트-및 -분기 모듈에 대한 실행 흐름을 나타낸다. 에러 카운터를 클리어(clear)하는 것과 같은 일련의 초기화 동작(1700)으로 동작이 개시된다. 대화 작성자가 모듈에 들어가기 전에 발생한 입력이 무관한 것으로 표시하면(예로, 선행 다이얼 없음) 디지트 수집기[즉, 제1도의 TT수신기 112]는 클리어된다(1702). "Please enter 1 to continue or 2 to quit"와 같은 [제1도의 음성 검색 유닛(115)으로부터의]초기 프롬프트가 발호자에게 발생된다(1703).
단계(1706)에서, 기본적인 디지트 수집이 행해진다. 대화 작성자가 프롬프트 및 수집의 개시전에 수집된 디지트가 무관한 것으로 지시하면, 디지트 수집기는 클리어된다(1705). 모듈은 디지트 수집기(즉, 112)로부터 TT 수집 수순을 통해 디지트를 판독한다. 이러한 수순에서는 타임아웃 상태를 체크하여 특수 목적의 이스케이프(escape) 순차(예를들어, 발호자에 의해 개시된 입력 삭제 또는 종료 문자)를 검사한다. 일단 디지트가 모듈에 제공되면, 이들 디지트를 음성화하여 발호자에게 다시 되돌릴 수 있다. 작성자의 옵션에서, 엔드 유저가 출력을 중단시킬 수 있다.
모듈은 에러를 체크하여 적절한 동작을 행한다(1709). 만약 에러가 없다면, 발호자의 입력에 따라 요청된 분기를 행할 수 있다(1710). 분기(1722)의 각각은 제어를 제공해야할 대화 모듈을 나타낸다. 분기가 작성자에 의해 지정되기 때문에, 이들의 형태는 대화마다 변화할 수 있다. 만약 에러가 있다면(1709), 또한 에러 임계를 초과했다면(1711), 일련의 동작이 개시된다.
에러 임계를 초과하면(1711), 그 문제를 나타내는 중지할 수 없는 프롬프트가 발호자에게 재생된다(1717).
다음에, 디지트 수집기(즉, 112)가 클리어되어(1718) 알려진 에러 이전에 수집된 디지트에 의해 후속 처리가 영향을 받지 않게 된다. 따라서, 발호자가 서비스에서 분리되거나(1720) 또는 제어가 조작원으로 넘겨진다(1721). 단계(1721)에서, 제어는 또한 에러를 처리하기 위해 대화 작성자에 의해 설정된 일련의 대화 모듈을 포함하는 에러 루틴으로 넘겨진다.
서브 임계 에러가 발생하면(1711), 타임아웃 에러가 존재하는지를 판정한다(1712). 타임아웃 조건으로 인한 것이면(즉, 발호자의 응답이 충분히 신속하지 않으면) 중단할 수 없는 타임아웃 프롬프트가 발생되며(1713), 에러 카운터가 증가되어 TT가 클리어된다. 에러가 타당하지 않는 입력으로 인한 것이면, 중단할 수 없는 적당한 프롬프트가 발생되며, 에러 카운터가 인덱스되며 (1715), 디지트 수집기가 클리어된다(1716). 마지막으로, 모듈의 통상적인 흐름이 초기 프롬프트의 재발생에 의해 재개된다.
프롬프트 및 분기 모듈에 대하여, 요구 형식은 초기 프롬프트 텍스트의 각 분기에 필요한 입력값을 포함한다. 입력값은 순서화된 집단을 형성하며 이 순서는 자 노드의 리스트와 동일하게 되어 있다. 에러가 임계를 초과할때 행해지는 분기에 지정 에러가 할당된다.
프롬프트 및 분기 모듈에 대한 옵션 형식은 주로 다이얼링 허가와 출력 중단을 처리한다. DIVA 서비스는 여러 레벨의 다이얼링 허가를 제공하여 발호 집단헤서의 여러 가지의 복잡한 레벨에 순응해야 한다.
프롬프트 및 분기 모듈에 대한 에러 형식은 타임아웃 프롬프트, 비타당한 입력 프롬프트, 에러 임계와, 임계를 초과한 때의 동작(예, 분리 또는 분기)과, 그리고 임계를 초과한 때의 프롬프트를 포함한다.
정합 모듈(도면에 도시되어 있지 않음)은 두개의 스트링(원시스트링 및 목적스프링)을 구성하고, 이들을 비교하여 그들이 같은지 않은지에 따라 분기한다. 정합 모듈에 대한 요구 형식은 원시시트링, 목적스프링 및 정합에 따라 행해질 분기를 필요로 한다. 정합 모듈은 정합을 형성하기 위한 풍부한 기능을 제공한다. 원시스트링에서는 와일드 카드 문자가 허용되지 않는다. 목적스트링은 정합을 제어하는 사전설정된 정보를 포함하는 것으로 예기되어 있다. 그러나 이러한 스트링에는 삽입된 변수와 와일드 카드 문자가 포함될 수 있다. 마직막으로, 이러한 형식에 의해 대화 작성자는 정합의 경우에 행해질 분기를 선택할 수 있다.
루프 모듈(도면에 도시되어 있지 않음)의 동작을 하기에 설명하기로 한다. 루프 임계가 초과될때까지 모듈은 루프 카운터를 단순히 인덱스하고 정상 루프 출구를 택한다.
임계를 초과하면, 프롬프트가 발호자에게 발생되고, 디지트 수집기가 클리어되고, 루츠 카운터가 클리어 되고, 두 동작중 한 동작이 대화 작성자의 명세에 따라 행해진다. 루프 모듈에 대한 요구 형식은 루프 임계와. 임계를 초과한 때의 동작(예, 분리 또는 분기)을 수집한다.
스위치 모듈(도면에 도시되어 있지 않음)은 발호자와의 대화를 필요로 하지 않는다. 이것은 분기 조건이 진(true)인지 아닌지를 판단하기 위해 테스트하므로써 다수의 분기중 하나를 선택하는 것이다. 분기 조건의 각각이 제1의 진 조건과 함께 순차로 평가되어 분기가 선택되어진다.
스위치 모듈에 대한 요구 형식에 있어서, 테스트된 각 분기마다 포맷된 텍스트의 하나의 인수가 필요하다. 텍스트는 행해질 분기에 대해 진이어야 하는 변수값의 부울 조합(boolean combinations)을 나타낸다. 변수는 괄호 리스트내에서 열거된 수치 집합으로 제약되는 시간 및 요일과 같은 시스템 변수이다. 이후에 두 연산자를 사용하여 변수 조합을 선택한다. DPS는 항상 진인 것으로 평가되는 "catch-all" 조건을 이용하여 적어도 하나의 조건이 진이 되는 것을 보증해준다.
제18도는 조작원 호출 모듈에 대한 실행 흐름을 나타낸다. 어나운스먼트가 발호자에게 발생된다(1800). 조작원과의 연결이 이루어진 후(1801), 조작원에게 어나운스먼트가 재생된다. 호출이 조작원으로 전송되고 (1803), DIVA 응용 프로그램과의 연결은 단절된다. DPS는 이들 작동을 PBX신호에 의해 달성한다. 조작원 호출 모듈에 대한 요구 형식은 발호자 어나운스먼트, 조작원 익스텐션, 조작원 어나운스먼트를 포함한다.
제19도는 프롬프트-및 -수집 모듈에 대한 실행 흐름을 나타내고 있다. 단계(1900 내지 1907)의 동작은 제17도의 단계(1700 내지 1707)의 동작과 동일하다. 이 모듈은 프롬프트-및-분기 모듈과 동일하다. 단계(1906)에서, 기본 디지트 수집이 행해진다. 대화 작성자가 프롬프트 및 수집의 개시전에 수집된 디지트가 무관한 것으로 표시하면, 디지트 수집기는 클리어된다(1902,1905). 프롬프트-및-수집 모듈에 의해 발호자는 데이타를 입력하여 타당성을 체크할 수 있다.(1909). 데이타가 타당하다면, 제어는 다음 모듈(1917)로 넘어간다. 데이타가 타당하지 않으면, 즉 에러이면, 에러 임계가 체크된다(1910). 임계를 초과하면, 단계(1914,1915,1916 및 1920 또는 1921)를 실행한다. 임계를 초과하지 않으면, 타임아웃 에러가 존재하는지를 체크한다(1918).
"예"이면, 단계(1911,1912 및 1913)를 실행하고, "아니오"이면, 비타당 입력 프롬프트(1919)로 진행하여 단계(1912 및 1913)를 실행한다.
프롬프트-및 수집 모듈에 대한 요구 형식에서는 입력이 타당한 것으로 고려될때의 조건을 명시할 필요가 있으며 수집된 데이타가 입력되어야 할 변수를 명시할 필요가 있다.
포맷된 텍스트 인수에는 예기된 입력의 형태와 허용할 수 있는 값이 포함된다. 부호가 붙지 않은 정수와 스트링이 허용된다. 스트링의 범위값은 나타내기 위해 스트링 명세에서 와일드 카드 문자를 사용할 수 있다. 프롬프트-및-수집 모듈에 대한 옵션 형식 및 에러 형식은 프롬프트-및-분기 모듈에 대한 것과 같다.
제20도는 어나운스먼트 재생 모듈에 대한 실행 흐름을 나타낸다. 이 모듈은 엔드-유저에게 어나운스먼트의 재생을 제공해준다. 어나운스먼트 카운터를 체크하여(2003), 카운터가 일치하면, 다음 작성자에 의해 지정된 대화 모듈(2006)(자 노드)로 임계 제어가 넘어가며, 그렇지 않다면, 잠시 중단 단계(2004)를 거쳐 어나운스먼트 카운터가 증가되고(2005), 어나운스먼트가 반복된다(2002).
어나운스먼트는 대화 작성자에 의해 중단될 수 있는 것으로서 지정될 수 있다. 어나운스먼트동안 또는 그이전에 수집된 어떠한 디지트에 의해서라도 어나운스먼크는 중단될 수 있다.
어나운스먼트 모듈에 대한 요구 형식은 어나운스먼트 명세와 임의 변수의 포맷에 대한 선언(declaration)을 포함한다. 어나운스먼트 그 자체가 스트링내에서 변수 명세를 포함할 수 있는 프롬프트 인수로 표시된다. 각 변수 명세마다 포맷이 필요하다. 4개의 포맷에 의해 변수의 내용을 스트링, 달러량(dollar amount), 십전정수 또는 서수값(예 제1,제2 등)으로 해석할 수 있다.
제21도는 음성 기록 모듈에 대한 흐름도를 도시한다. 음성 화일을 개폐하는 것은 시간을 소비시키는 동작이며, 또한 DIVA서비스도 연속 음성 세그먼트를 연결시키므로써 음성 형식을 형성하고자 하므로, 음성 기록 모듈은 이것이 먼저 액세스된 후에는 음성 화일을 개량 상태로 된다. 따라서, 음성 기록 모듈을 입력시킬때, DPS는 요청된 화일이 개방되었는지 아닌지를 판정하여 화일을 개방시킨다(2100,2101). 기본적인 음성 기록 동작은 초기 프롬프트를 발생시키고(2102), 디지트 수집기를 클리어하며(2103), 또한 음성을 기록한다(2104).
기록은 디지트를 입력함에 의해 종료될 수 있다. 음성 기록은 또한 지정된 제한 시간을 초과하면(2105)종료되며, 중지에 대한 이유를 표시하는 프롬프트가 발호자에게 발생된다(2106).
이후 작성자는 화일을 폐쇄시키고(2107,2108), 다음 모듈(2109)로 진행하거나, 화일을 개방 상태로 남겨두고 다음 모듈(2107,2109)로 진행할 수 있다. 음성 기록 모듈에 대한 요구 형식의 기본적인 명세는 초기 프롬포트 및 음성 화일이다.
음성 기록 모듈(도시되어 있지 않음)에 대한 옵션 형식은 기록 위치(전체 화일, 시작에 대한 첨부, 종료에 대한 첨부), 최소한의 메시지 길일, 종료를 표시하는 묵음(silence), 입력 기록 중지, 휴지 압축이 가능한가, 화일을 폐쇄해야 하는가와 같은 정보를 포함한다. "기록 위치"인수에 의해 대화 작성자는 새로운 음성 세그멘트가 화일의 이전 내용대신 대치되어야 하는가, 화일의 시작에 부가되어야 하는가 화일의 종료에 부가되어야 하는가를 표시할 수 있다. 음성 재생 모듈과 결합하여 사용하면 기본적인 음성 편집 기능을 형성할 수 있댜.
입력 기록 중지 인수는 기록의 종료를 표시하는 스트링이다. 발호자는 DIVA 응용 프로그램에게 기록이 완료했음을 알릴 수 있다. 와일드 카드 문자가 스트링으로서 제공되면 어떠한 입력에 의해서도 음성 기록은 종료될 것이다.
이 모듈에서는 단지 타임아웃 조건을 에러로서 취급한다. 은성 기록 모듈에 대한 에러 형식은 시간제한과, 타임아웃이 일어날때 발생되는 프롬프트를 인수로서 갖는다.
제22도는 음성 재생 모듈에대한 실행 흐름을 나타낸다. 만약 화일이 단계(2200)에서 개방되지 않으면 화일은 단계(2201)에서 개방되며, 디지트 수집이 클리어되고(2202), 음성 화일이 재생되며(2203), 작성자는 화일이 폐쇄되어야 하는가를 명시하거나(2204,2205) 다음 모듈(2206)로 진행할 수 있다. 이것은 요청된 음성 화일이 유저로부터 기록되기 보다는 오히려 유저에게 재생된다는 점을 제외하고는 음성 기록 모듈과 같은 기능을 한다. 제어가 유저에게 넘어가지 않기 때문에 타임아웃 조건은 없다.
음성 재생 모듈에 대한 요구 형식은 음성 기록 모듈에서의 인수와 동일한 인수를 갖는다. 음성 재생 모듈에 대한 옵션 형식은 여러개의 인수를 갖는다. "재생 중지"인수는 발호자에 의해 입력될때 출력을 중지시킬 수 있는 스트링이다. "화일 폐쇄"인수에 의해 음성 재생 모듈이 음성 기록 모듈과 관련하여 동작하여 음성 편집 기능을 제공하면 대화 작성자는 음성 화일을 개방 상태로 둔다.
제23도는 데이타-교환 모듈에 대한 실행 흐름도이다. 상기 모듈은 DIVA 응용과 다른 응용간의 통신을 제공한다. 통신에는 스트링을 다른 응용에 보내는 것과 리턴 스트링을 대기하는 것이 포함된다. 단계(2300)에서, 보유 카운터가 클러어 되고, 스트링은 원격 컴퓨터로 전달되며(2301), 타임아웃 클럭이 개시된다(2302). 이 시점에서 DIVA 응용은 원격 컴퓨터로부터 리턴 스트링을 수신하도록 준비된다. 리턴 스트링을 누적하는 것이 흐름도에서 나타나 있지 않지만, 이것은 배경에서 행해지는 것으로 가정한다.
응답이 단계(2303)에서 완료되지 않으면 모듈은 타임아웃을 체크하여 단계(2303)에서 응답 완료를 다시 체크한다(2305). 따라서, 응용은 완전히 누산된 응답 또는 타임아웃을 테스트한다.
응답이 완료되기 전에 타임아웃이 발생되면 발호자에게 어나운스먼트의 재생이 제공된다(2307). 이것이 발생된 후 타임아웃 카운터가 재개시된다. 모듈은 어나운스먼트 반복에 대한 임계를 체크한다(2306), 만약 임계를 초과하면, 단계(2309 및 2310)에서 에러가 처리된다. 에러 동작(2310)은 분리(2311) 또는 작성자가 지정한 에러 분기(2312)로 갈 수 있고, 아니면 다음 모듈(2313)로 갈 수 있다.
응답이 수집되면, 중요한 부분을 식별하기 위하여 상기 응답은 단계(2304)에서 필터된다. 상기 필터링은 포맷팅 정보 특수 문자 또는 다른 컴퓨터로부터 복귀한 임의 다른 정보를 삭제하는데 사용될 수 있다. 응답이 필터된 후에는 타당성이 체크된다. 그 결과가 타당하다면 제어는 다음 대화 모듈로 넘어간다.
초과한 어나운스먼트 또는 비타당 응답이 있으면, 모듈은 에러 프롬프트를 발생시키고, 디지트 수집기르 클리어시키며, 그리고 대화 작성자 의해 요구된 대로 분기한다. 다른 대화 모듈에 의해 단지 두개의 에러 동작(명백한 분기 및 분리)을 허용할 지라도, 데이타-교환 모듈 또한 연속을 허용한다. 이것에 의해 필요한 승인만으로 데이타를 전송할 수 있다. 데이타-교환 모듈에 대한 옵션 형식은 다음과 같은 대안을 설정할 수 있다. 제1인수는 원격시스템(변수 대입을 포함함)에 전송되는 텍스트 스트링이다.
제2인수는 응답 스트링 필터링에 대한 포맷이다. 필터링 언어는 명세 리스트이며, 각각의 몇개의 라인, 워드, 문자를 스킵하는가, 조사해야할 스트링 또는 응답 스트링의 지정된 부분에 할당되어지는 변수명을 표시한다. 응답의 각 변수에 대하여, 부가의 인수는 타당한 응답을 표시한다. 타당한 응답을 지정하는데 필요한 포맷된 텍스트 인수에 대해서는 프롬프트 및 수집 모듈에서 이미 설명하였다.
데이타-교환 모듈에 대한 에러 형식은 다음의 인수를 갖는다. 즉, 보유 시간, 보유 프롬프트 즉, 보유 기간수, 초과 보유 또는 무효 응답시의 동작, 초과 보유 또는 무효 응답시의 프롬프트이다. 설치 모드(INSTALL MODE) 작성자의 대화가 지정되어 테스트된 후에, 상기 상술된 "실행-모드" 기능을 사용하여 DPS는 실행 서비스로서 지정된 대화 응용 프로그램을 설치 즉, 적재(load)시키는 방법을 제공한다. 지정된 대화의 출력, 특히 레벨 2 파라미터가 라이브러리(library)내에 입력되어, 실행가능한 실행 모듈과 링크하여 작업 서비스를 생성시킨다.
지금까지 기술한 것은 다른 본 발명의 실시예에 불과한 것으로서, 본 발명의 사상 및 범주를 벗어나지 않는 한은 본 기술분야에 숙련된 사람은 다른 여러가지의 변형도 가능하다.

Claims (9)

  1. 컴퓨터 제어 음성 응답 시스템(computer controlled voice response system)에게 유저 대화 음성 서비스를 제공하도록 명령(Instruct)하는 대화 응용 프로그램(dialog application program)을 시스템 설계자가 생성할 수 있도록 하는 방법에 있어서, 사전 정의되어 있는 대화 프로그램 모듈 그룹에서 이 프로그램 모듈에 의해 실행되는 특정의 유저 트랜잭션 기능을 정의하는 시스템 설계자에 의해 선택가능한 하나 이상의 파라미터(제15도)를 포함하고 있는 둘 또는 그 이상의 대화 프로그램 모듈(1401 내지 1410)을 선택하는 단계(501, 제14도)와, 상기 응용 프로그램을 생성하여 상기 유저 대화 음성 서비스를 제공하기 위해 상기 선택된 둘 이상의 프로그램 모듈의 논리적이 상호 연결을 지정하는 단계(502 내지 509, 제16도 및 제24도)를 포함하는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 방법.
  2. 제1항에 있어서, 상기 프로그램 모듈 선택 단계는 유저와 상기 시스템간의 대화를 제어하는 실행 모듈(1405 내지 1410)과, 상기 프로그램에 의해 실행되는 조건부 기능을 지정하는 제어 모듈(1401 내지 1404)을 포함하는 모듈 그룹으로부터 상기 프로그램 모듈 각각을 선택하는 단계를 포함하는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 방법.
  3. 제2항에 있어서, 상기 선택 단계는, a) 상기 유저에세 어나운스먼트의 재생을 제공하며 상기 유저에 의해 입력되는 디지트를 수집하는 프롬프트 및 수집(prompt and collect) 모듈(1405)과, b) 조작원에게 유저 트랜잭션을 처리하도록 신호를 전송하는 조작원 호출 모듈(1406)과, c) 유저에게 소정의 어나운스먼트의 재생을 제공하는 어나운스먼트 모듈(1407)과, d) 유저가 음성 메시지를 남겨둘 수 있는 음성 기록 모듈(1408)과, e) 사전 기록되어진 유저 음성 서비스를 재생하는 음성 재생 모듈(1409)과, f) 유저에 의해 지정되는 데이타를 얻을 수 있는 데이타 교환 모듈(1410)을 포함하는 모듈 그룹으로부터 상기 실행 모듈을 선택하는 단계를 포함하는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 방법.
  4. 제2항에 있어서, 상기 선택 단계는 a) 유저로부터의 입력에 따라 상기 대화 프로그램의 여러분기중 하나를 분기시키는 분기 모듈(1402)과, b) 상기 시스템으로부터의 소정된 정보에 따라 여러 경로중 한 경로로 분기시키는 스위치 모듈(1401)과, c)시퀀스를 소정 횟수로 반복시키는 루프 모듈(1404)과, d) 두개의 데이타 스트링을 비교하여 비교 결과에 따라 분기시키는 정합 모듈(1403)을 포함하는 모듈 그룹으로부터 상기 제어 모듈을 선택하는 단계를 포함하는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 방법.
  5. 제1항에 있어서, 상기 모듈 선택 단계와 상기 상호 연결 지정 단계를 이용하여 기존의 응용 프로그램을 편집하는 단계(1302,1303, 제6도 및 제7도)와, 상기 편집 단계의 동작을 시뮬레이트하기 위해 상기 편집 단계동안 생성된 상기 응용 프로그램을 실행하는 단계(1304,1305)가 부가되어 있는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 방법.
  6. 제5항에 있어서, 관련하는 통신 시스템내의 음성 장치를 관련된 제어 모듈의 제어하에서 동작시키기 위해 상기 관련하는 통신 시스템내에 상기 응용 프로그램을 설치(install)하기 위한 설치 단계(1308,1309)가 부가되어 있는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 방법.
  7. 제1항에 있어서, 상기 응용 프로그램을 생성하는 방법에 대해서 시스템 설계자를 훈련시키는 튜터(tutor) 단계(1306,1307)가 부가되어 있는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 방법.
  8. 제1항에 있어서, 상기 모듈 선택 단계는 유저 대화에 응답하여 유저에게 출력되어지는 프롬프트 또는 어나운스먼트 신호를 식별하는 단계(제9도)가 부가되어 있는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 방법.
  9. 컴퓨터 제어 음성 응답 시스템에게 유저 대화 음성 서비스는 제공하도록 명령하는 대화 응용 프로그램을 시스템 설계자가 생성할 수 있도록 하는 장치에 있어서, 사전 정의되어 있는 대화 프로그램 모듈 수단 그룹으로서, 각각의 프로그램 모듈 수단을 상기 프로그램 모듈 수단에 의해 실행되어지는 특정의 유저 트랜잭션 기능을 정의하는 시스템 설계자에 의해 선택가능한 둘이상의 파라미터(제15도)를 포함하는 대화 프로그램 모듈 수단 그룹(1401 내지 1410)과, 상기 프로그램 모듈 수단 그룹으로부터 둘 이상의 프로그램 모듈 수단을 선택하고 이들 수단내의 파라미터를 선택하는 수단(501,제14도)과, 상기 응용 프로그램을 생성하여 상기유저 대화 음성 서비스를 제공하기 위해 상기 선택된 둘 이상의 프로그램 모듈 수단의 논리적인 상호 연결을 지정하는 수단(502 내지 509, 제16도 및 제24도)을 포함하는 것을 특징으로 하는 대화 응용 프로그램을 생성하기 위한 장치.
KR1019860001606A 1985-03-11 1986-03-07 대화 응용 프로그램을 생성하기 위한 방법 및 그 장치 KR940002325B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US710,605 1985-03-11
US06/710,605 US4785408A (en) 1985-03-11 1985-03-11 Method and apparatus for generating computer-controlled interactive voice services

Publications (2)

Publication Number Publication Date
KR860007598A KR860007598A (ko) 1986-10-15
KR940002325B1 true KR940002325B1 (ko) 1994-03-23

Family

ID=24854746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019860001606A KR940002325B1 (ko) 1985-03-11 1986-03-07 대화 응용 프로그램을 생성하기 위한 방법 및 그 장치

Country Status (7)

Country Link
US (1) US4785408A (ko)
EP (1) EP0197648B1 (ko)
JP (1) JP2701840B2 (ko)
KR (1) KR940002325B1 (ko)
AU (1) AU565436B2 (ko)
CA (1) CA1252210A (ko)
DE (1) DE3650191T2 (ko)

Families Citing this family (257)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828734A (en) * 1985-07-10 1998-10-27 Ronald A. Katz Technology Licensing, Lp Telephone interface call processing system with call selectivity
US5365575A (en) 1985-07-10 1994-11-15 First Data Resources Inc. Telephonic-interface lottery system
US5259023A (en) * 1985-07-10 1993-11-02 First Data Resources Inc. Telephonic-interface statistical analysis system
US4845739A (en) 1985-07-10 1989-07-04 Fdr Interactive Technologies Telephonic-interface statistical analysis system
US5255309A (en) * 1985-07-10 1993-10-19 First Data Resources Inc. Telephonic-interface statistical analysis system
US6678360B1 (en) 1985-07-10 2004-01-13 Ronald A. Katz Technology Licensing, L.P. Telephonic-interface statistical analysis system
US5835576A (en) 1985-07-10 1998-11-10 Ronald A. Katz Technology Licensing, L.P. Telephonic-interface lottery device
US5351285A (en) * 1985-07-10 1994-09-27 First Data Resources Inc. Multiple format telephonic interface control system
US5359645A (en) 1985-07-10 1994-10-25 First Data Corporation Inc. Voice-data telephonic interface control system
US20040071278A1 (en) 1985-07-10 2004-04-15 Ronald A. Katz Multiple format telephonic interface control system
US5218631A (en) * 1985-07-10 1993-06-08 First Data Resources Inc. Telephonic-interface game control system
US6449346B1 (en) 1985-07-10 2002-09-10 Ronald A. Katz Technology Licensing, L.P. Telephone-television interface statistical analysis system
US5793846A (en) 1985-07-10 1998-08-11 Ronald A. Katz Technology Licensing, Lp Telephonic-interface game control system
US5898762A (en) 1985-07-10 1999-04-27 Ronald A. Katz Technology Licensing, L.P. Telephonic-interface statistical analysis system
US4866756A (en) * 1986-04-16 1989-09-12 Call It Co. Interactive computerized communications systems with voice input and output
NL8602245A (nl) * 1986-09-05 1988-04-05 Philips Nv Stelsel voor het verschaffen van een telecommunicatieverbinding met een computer.
JP2558682B2 (ja) * 1987-03-13 1996-11-27 株式会社東芝 知的ワ−クステ−シヨン
US5199062A (en) * 1988-01-20 1993-03-30 Phone Base Systems Inc. Telephone communications system including a digital telephone switch, a voice response unit and a stored program sequence for controlling both the switch and the voice response unit
US5113429A (en) * 1988-09-29 1992-05-12 American Tel-A-System, Inc. Telephone answering service with integrated voice and textual message storage
US5259024A (en) * 1988-09-29 1993-11-02 America Tel-A-System, Inc. Telephone answering service with integrated voice and textual message storage
US5008810A (en) * 1988-09-29 1991-04-16 Process Modeling Investment Corp. System for displaying different subsets of screen views, entering different amount of information, and determining correctness of input dependent upon current user input
US5420852A (en) * 1988-09-29 1995-05-30 American Tel-A-Systems, Inc. Digital switching system connecting buses with incompatible protocols and telephone answering system and private automatic branch exchange with integrated voice and textual message recording
US4866758A (en) * 1988-10-31 1989-09-12 American Telephone And Telegraph Company Phone management server for use with a personal computer LAN
US4941167A (en) * 1988-11-04 1990-07-10 Motorola, Inc. Telephone system with customized central message center
US4977589A (en) * 1988-11-25 1990-12-11 Motorola, Inc. Signalling and control protocol for a communication system
US5054054A (en) * 1989-02-07 1991-10-01 International Business Machines Corporation Voice applications generator
CA1326563C (en) * 1989-03-15 1994-01-25 Anthony Hoeber Method and apparatus for selecting and executing defaults in a window based display system
US5243697A (en) * 1989-03-15 1993-09-07 Sun Microsystems, Inc. Method and apparatus for selecting button functions and retaining selected options on a display
US5276795A (en) * 1989-03-15 1994-01-04 Sun Microsystems, Inc. Method and apparatus for selecting and executing defaults in a window based display system
US5230063A (en) * 1989-03-15 1993-07-20 Sun Microsystems, Inc. Method and apparatus for selecting button function and retaining selected optics on a display
US5155806A (en) * 1989-03-15 1992-10-13 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
US5157768A (en) * 1989-03-15 1992-10-20 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
DK0477281T3 (da) * 1989-06-14 1999-09-20 Verivoice Inc Styreindretning, som forhindrer datakommunikation, indtil brugeren er verificeret
US5142565A (en) * 1989-06-14 1992-08-25 Ian Ruddle Controller for managing data communication with a host computer for the purpose of user verification by voice processing
JPH03163623A (ja) * 1989-06-23 1991-07-15 Articulate Syst Inc 音声制御コンピュータ・インターフェース
US5077788A (en) * 1989-07-06 1991-12-31 Taro, Inc. System and method for processing telephone communication
US5058152A (en) * 1989-12-12 1991-10-15 The Telephone Connection Anonymous interactive telephone system having direct connect feature
US5125024A (en) * 1990-03-28 1992-06-23 At&T Bell Laboratories Voice response unit
US5133004A (en) * 1990-05-07 1992-07-21 Unisys Corporation Digital computer platform for supporting telephone network applications
US5164981A (en) * 1990-06-04 1992-11-17 Davox Voice response system with automated data transfer
US5148154A (en) * 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
US5315646A (en) * 1990-12-18 1994-05-24 Bell Communications Research Systems and processes for providing multiple interfaces for telephone services
US5323452A (en) * 1990-12-18 1994-06-21 Bell Communications Research, Inc. Visual programming of telephone network call processing logic
US5179585A (en) * 1991-01-16 1993-01-12 Octel Communications Corporation Integrated voice messaging/voice response system
US5381470A (en) * 1991-05-28 1995-01-10 Davox Corporation Supervisory management center with parameter testing and alerts
US5455903A (en) * 1991-05-31 1995-10-03 Edify Corp. Object oriented customer information exchange system and method
US5488650A (en) * 1991-09-24 1996-01-30 Active Voice Corporation Configurable telephone interface for electronic devices
US5274738A (en) * 1991-12-31 1993-12-28 Dictaphone Corporation Modular digital voice processing system
JP3372563B2 (ja) * 1992-04-30 2003-02-04 新日鉄ソリューションズ株式会社 木構造表示編集装置
US5479493A (en) * 1992-05-21 1995-12-26 At&T Corp. Calling line identification adjunct for use with a communication system
US6226287B1 (en) 1992-06-25 2001-05-01 Apropros Technology System and method for integrating voice on network with traditional telephony
WO1994000945A1 (en) * 1992-06-25 1994-01-06 Teledata Solutions, Inc. Call distributor
US6173052B1 (en) 1992-06-25 2001-01-09 Apropros Technology Blending communications in a call center
US5309512A (en) * 1992-07-29 1994-05-03 At&T Bell Laboratories Call waiting deluxe feature
US5402477A (en) * 1992-07-31 1995-03-28 Mcmahan; Michael L. System and method for configuring a telephone
US5945985A (en) * 1992-10-27 1999-08-31 Technology International, Inc. Information system for interactive access to geographic information
US5519809A (en) * 1992-10-27 1996-05-21 Technology International Incorporated System and method for displaying geographical information
EP0605945B1 (en) 1992-12-15 1997-12-29 Sun Microsystems, Inc. Method and apparatus for presenting information in a display system using transparent windows
EP0609030B1 (en) * 1993-01-26 1999-06-09 Sun Microsystems, Inc. Method and apparatus for browsing information in a computer database
US5550967A (en) * 1993-01-27 1996-08-27 Apple Computer, Inc. Method and apparatus for generating and displaying visual cues on a graphic user interface
US5488685A (en) * 1993-01-27 1996-01-30 Apple Computer, Inc. Method and apparatus for providing visual cues in a graphic user interface
US5859638A (en) * 1993-01-27 1999-01-12 Apple Computer, Inc. Method and apparatus for displaying and scrolling data in a window-based graphic user interface
US5469540A (en) * 1993-01-27 1995-11-21 Apple Computer, Inc. Method and apparatus for generating and displaying multiple simultaneously-active windows
US5825355A (en) * 1993-01-27 1998-10-20 Apple Computer, Inc. Method and apparatus for providing a help based window system using multiple access methods
US5428679A (en) * 1993-03-23 1995-06-27 C&P Of Maryland Automated service assurance method and system
US5339393A (en) * 1993-04-15 1994-08-16 Sony Electronics, Inc. Graphical user interface for displaying available source material for editing
US5524195A (en) * 1993-05-24 1996-06-04 Sun Microsystems, Inc. Graphical user interface for interactive television with an animated agent
DE69432199T2 (de) 1993-05-24 2004-01-08 Sun Microsystems, Inc., Mountain View Graphische Benutzerschnittstelle mit Verfahren zur Schnittstellebildung mit fernsteuernden Einrichtungen
US6239794B1 (en) 1994-08-31 2001-05-29 E Guide, Inc. Method and system for simultaneously displaying a television program and information about the program
US5594509A (en) * 1993-06-22 1997-01-14 Apple Computer, Inc. Method and apparatus for audio-visual interface for the display of multiple levels of information on a display
US5583560A (en) * 1993-06-22 1996-12-10 Apple Computer, Inc. Method and apparatus for audio-visual interface for the selective display of listing information on a display
US5621456A (en) * 1993-06-22 1997-04-15 Apple Computer, Inc. Methods and apparatus for audio-visual interface for the display of multiple program categories
EP0713589B1 (en) * 1993-08-11 2001-07-04 LEVI STRAUSS & CO. Voice trouble-shooting system for computer-controlled machines
US6418556B1 (en) 1993-09-09 2002-07-09 United Video Properties, Inc. Electronic television program guide schedule system and method
DE4436175B4 (de) * 1993-10-12 2005-02-24 Intel Corporation, Santa Clara Vorrichtung zum Fernzugreifen auf einen Computer ausgehend von einem Telefonhandapparat
US5455854A (en) * 1993-10-26 1995-10-03 Taligent, Inc. Object-oriented telephony system
US5572649A (en) * 1993-11-12 1996-11-05 Intel Corporation Process for dynamically switching between a single top level window and multiple top level windows
US5544300A (en) * 1993-11-12 1996-08-06 Intel Corporation User interface for dynamically converting between a single top level window and multiple top level windows
US5623681A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. Method and apparatus for synchronizing, displaying and manipulating text and image documents
US5806079A (en) 1993-11-19 1998-09-08 Smartpatents, Inc. System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects
US5991751A (en) * 1997-06-02 1999-11-23 Smartpatents, Inc. System, method, and computer program product for patent-centric and group-oriented data processing
US5623679A (en) * 1993-11-19 1997-04-22 Waverley Holdings, Inc. System and method for creating and manipulating notes each containing multiple sub-notes, and linking the sub-notes to portions of data objects
US6339767B1 (en) 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US6963920B1 (en) * 1993-11-19 2005-11-08 Rose Blush Software Llc Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same
US5799325A (en) * 1993-11-19 1998-08-25 Smartpatents, Inc. System, method, and computer program product for generating equivalent text files
US5696963A (en) * 1993-11-19 1997-12-09 Waverley Holdings, Inc. System, method and computer program product for searching through an individual document and a group of documents
US6877137B1 (en) * 1998-04-09 2005-04-05 Rose Blush Software Llc System, method and computer program product for mediating notes and note sub-notes linked or otherwise associated with stored or networked web pages
WO1995027360A1 (en) 1994-03-31 1995-10-12 Citibank, N.A. Interactive voice response system
US5694558A (en) * 1994-04-22 1997-12-02 U S West Technologies, Inc. Method and system for interactive object-oriented dialogue management
US8793738B2 (en) 1994-05-04 2014-07-29 Starsight Telecast Incorporated Television system with downloadable features
US5661787A (en) * 1994-10-27 1997-08-26 Pocock; Michael H. System for on-demand remote access to a self-generating audio recording, storage, indexing and transaction system
US5838938A (en) 1995-02-15 1998-11-17 Sony Electronics, Inc. Multimedia user interface employing components of color to indicate the values of variables
US6769128B1 (en) 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
US6091805A (en) * 1995-07-05 2000-07-18 Ncr Corporation Computerized voice response system
US5651056A (en) * 1995-07-13 1997-07-22 Eting; Leon Apparatus and methods for conveying telephone numbers and other information via communication devices
US6732369B1 (en) 1995-10-02 2004-05-04 Starsight Telecast, Inc. Systems and methods for contextually linking television program information
US6323911B1 (en) 1995-10-02 2001-11-27 Starsight Telecast, Inc. System and method for using television schedule information
US5771276A (en) * 1995-10-10 1998-06-23 Ast Research, Inc. Voice templates for interactive voice mail and voice response system
US5825870A (en) * 1996-04-05 1998-10-20 Genesys Telecommunications Laboratories Methods and apparatus for implementing a network call center
US5802163A (en) * 1996-04-05 1998-09-01 Genesys Telccommunications Laboratories, Inc. Methods and apparatus for implementing an outbound network call center
US5933492A (en) * 1997-01-21 1999-08-03 Genesys Telecommunications Laboratories, Inc. Method and system for determining and using multiple object states in a computer telephony integration system
US6130933A (en) * 1996-02-02 2000-10-10 Genesys Telecommunications Laboratories, Inc. Apparatus and methods for coordinating telephone and data communications
US5926538A (en) * 1997-02-11 1999-07-20 Genesys Telecommunications Labs, Inc Method for routing calls to call centers based on statistical modeling of call behavior
US5765033A (en) * 1997-02-06 1998-06-09 Genesys Telecommunications Laboratories, Inc. System for routing electronic mails
US5918213A (en) * 1995-12-22 1999-06-29 Mci Communications Corporation System and method for automated remote previewing and purchasing of music, video, software, and other multimedia products
US5737725A (en) * 1996-01-09 1998-04-07 U S West Marketing Resources Group, Inc. Method and system for automatically generating new voice files corresponding to new text from a script
US5758323A (en) * 1996-01-09 1998-05-26 U S West Marketing Resources Group, Inc. System and Method for producing voice files for an automated concatenated voice system
US5946485A (en) * 1996-02-09 1999-08-31 Intervoice Limited Partnership Enhanced graphical development environment for controlling program flow
US5953392A (en) * 1996-03-01 1999-09-14 Netphonic Communications, Inc. Method and apparatus for telephonically accessing and navigating the internet
US5884262A (en) * 1996-03-28 1999-03-16 Bell Atlantic Network Services, Inc. Computer network audio access and conversion system
US6469753B1 (en) 1996-05-03 2002-10-22 Starsight Telecast, Inc. Information system
US5991374A (en) * 1996-08-08 1999-11-23 Hazenfield; Joey C. Programmable messaging system for controlling playback of messages on remote music on-hold- compatible telephone systems and other message output devices
US5915001A (en) * 1996-11-14 1999-06-22 Vois Corporation System and method for providing and using universally accessible voice and speech data files
US8635649B2 (en) 1996-12-19 2014-01-21 Gemstar Development Corporation System and method for modifying advertisement responsive to EPG information
US6687906B1 (en) 1996-12-19 2004-02-03 Index Systems, Inc. EPG with advertising inserts
US6055308A (en) * 1997-01-21 2000-04-25 Genesys Telecommunications Laboratories, Inc. Method and system for determining and using multiple object states in a computer telephony integration system
US6185291B1 (en) 1997-02-10 2001-02-06 Genesys Telecommunication Laboratories, Inc. Personal desktop router
US6185292B1 (en) * 1997-02-10 2001-02-06 Genesys Telecommunications Laboratories, Inc. Skill-based real-time call routing in telephony systems
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6201863B1 (en) 1997-02-10 2001-03-13 Genesys Telecommunications Laboratories, Inc. Personal desktop router
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US5995614A (en) * 1997-02-10 1999-11-30 Genesys Telecommunications Laboratories, Inc. Dynamic requeing to avoid latency in call-routing systems
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US5946387A (en) * 1997-02-10 1999-08-31 Genesys Telecommunications Laboratories, Inc, Agent-level network call routing
US6560328B1 (en) 1997-04-03 2003-05-06 Genesys Telecommunications Laboratories, Inc. Voice extensions in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6041114A (en) 1997-03-27 2000-03-21 Active Voice Corporation Telecommute server
US6018578A (en) * 1997-04-03 2000-01-25 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6009398A (en) * 1997-04-18 1999-12-28 U S West, Inc. Calendar system with direct and telephony networked voice control interface
US6101241A (en) * 1997-07-16 2000-08-08 At&T Corp. Telephone-based speech recognition for data collection
CA2297039C (en) 1997-07-21 2002-02-12 Ronald Alexander Systems and methods for displaying and recording control interface with television programs, videos, advertising information and program scheduling information
AU9298398A (en) 1997-09-05 1999-03-29 Prevue International, Inc. Program guide application interface system
ES2136560B1 (es) * 1997-09-16 2000-10-01 Univ Madrid Politecnica Interfaz de linea telefonica para el desarrollo de aplicaciones vocales interactivas basadas en reconocimiento y sintesis de habla.
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6058166A (en) * 1997-10-06 2000-05-02 Unisys Corporation Enhanced multi-lingual prompt management in a voice messaging system with support for speech recognition
US6604240B2 (en) 1997-10-06 2003-08-05 United Video Properties, Inc. Interactive television program guide system with operator showcase
US6483911B1 (en) 1997-11-05 2002-11-19 Unisys Corporation Methods and apparatus for providing external access to executable call flows of a network application
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
US6295342B1 (en) * 1998-02-25 2001-09-25 Siemens Information And Communication Networks, Inc. Apparatus and method for coordinating user responses to a call processing tree
US6173042B1 (en) * 1998-02-25 2001-01-09 Lucent Technologies Inc. System for enabling personal computer access to an interactive voice response system
US7185355B1 (en) 1998-03-04 2007-02-27 United Video Properties, Inc. Program guide system with preference profiles
US6564379B1 (en) 1998-04-30 2003-05-13 United Video Properties, Inc. Program guide system with flip and browse advertisements
US6144938A (en) * 1998-05-01 2000-11-07 Sun Microsystems, Inc. Voice user interface with personality
US20020095676A1 (en) 1998-05-15 2002-07-18 Robert A. Knee Interactive television program guide system for determining user values for demographic categories
US7603684B1 (en) 1998-05-19 2009-10-13 United Video Properties, Inc. Program guide system with video-on-demand browsing
US6442755B1 (en) 1998-07-07 2002-08-27 United Video Properties, Inc. Electronic program guide using markup language
AR019458A1 (es) 1998-07-23 2002-02-20 United Video Properties Inc Una disposicion de guia de programacion televisiva interactiva que sirve como entrada
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US9037451B2 (en) * 1998-09-25 2015-05-19 Rpx Corporation Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for implementing language capabilities using the same
US6778647B1 (en) * 1998-11-13 2004-08-17 Siemens Information And Communication Networks, Inc. Redundant database storage of selected record information for an automated interrogation device
US7966328B2 (en) 1999-03-02 2011-06-21 Rose Blush Software Llc Patent-related tools and methodology for use in research and development projects
US7716060B2 (en) 1999-03-02 2010-05-11 Germeraad Paul B Patent-related tools and methodology for use in the merger and acquisition process
US7082422B1 (en) 1999-03-23 2006-07-25 Microstrategy, Incorporated System and method for automatic transmission of audible on-line analytical processing system report output
US8321411B2 (en) 1999-03-23 2012-11-27 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US6567796B1 (en) 1999-03-23 2003-05-20 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US6718017B1 (en) * 1999-04-09 2004-04-06 Convergys Customer Management Group, Inc. System and method for creating and controlling interactive voice response applications
US20050091057A1 (en) * 1999-04-12 2005-04-28 General Magic, Inc. Voice application development methodology
US20050261907A1 (en) * 1999-04-12 2005-11-24 Ben Franklin Patent Holding Llc Voice integration platform
US6408272B1 (en) * 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
US7260187B1 (en) * 1999-05-11 2007-08-21 Verizon Services Corp. Voice response apparatus and method of providing automated voice responses with silent prompting
US6240391B1 (en) 1999-05-25 2001-05-29 Lucent Technologies Inc. Method and apparatus for assembling and presenting structured voicemail messages
US6459774B1 (en) 1999-05-25 2002-10-01 Lucent Technologies Inc. Structured voicemail messages
US6393107B1 (en) 1999-05-25 2002-05-21 Lucent Technologies Inc. Method and apparatus for creating and sending structured voicemail messages
US8607138B2 (en) 1999-05-28 2013-12-10 Microstrategy, Incorporated System and method for OLAP report generation with spreadsheet report within the network user interface
US9208213B2 (en) 1999-05-28 2015-12-08 Microstrategy, Incorporated System and method for network user interface OLAP report formatting
US6775372B1 (en) 1999-06-02 2004-08-10 Dictaphone Corporation System and method for multi-stage data logging
US6249570B1 (en) 1999-06-08 2001-06-19 David A. Glowny System and method for recording and storing telephone call information
US6246752B1 (en) * 1999-06-08 2001-06-12 Valerie Bscheider System and method for data recording
US6252946B1 (en) * 1999-06-08 2001-06-26 David A. Glowny System and method for integrating call record information
US6252947B1 (en) 1999-06-08 2001-06-26 David A. Diamond System and method for data recording and playback
EP1197074A1 (en) 1999-06-28 2002-04-17 Index Systems, Inc. System and method for utilizing epg database for modifying advertisements
WO2001001689A1 (en) 1999-06-29 2001-01-04 United Video Properties, Inc. Method and system for a video-on-demand-related interactive display within an interactive television application
US6404441B1 (en) 1999-07-16 2002-06-11 Jet Software, Inc. System for creating media presentations of computer software application programs
JP2001056766A (ja) * 1999-08-18 2001-02-27 Denso Corp マルチモジュールシステム及び対話システム
US8130918B1 (en) 1999-09-13 2012-03-06 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with closed loop transaction processing
US7266181B1 (en) 1999-09-13 2007-09-04 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized dynamic and interactive voice services with integrated inbound and outbound voice services
US6829334B1 (en) 1999-09-13 2004-12-07 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control
US6658093B1 (en) 1999-09-13 2003-12-02 Microstrategy, Incorporated System and method for real-time, personalized, dynamic, interactive voice services for travel availability information
US6836537B1 (en) 1999-09-13 2004-12-28 Microstrategy Incorporated System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule
US6850603B1 (en) 1999-09-13 2005-02-01 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized dynamic and interactive voice services
US6885734B1 (en) 1999-09-13 2005-04-26 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive inbound and outbound voice services, with real-time interactive voice database queries
US7197461B1 (en) 1999-09-13 2007-03-27 Microstrategy, Incorporated System and method for voice-enabled input for use in the creation and automatic deployment of personalized, dynamic, and interactive voice services
US6964012B1 (en) 1999-09-13 2005-11-08 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts
US6940953B1 (en) 1999-09-13 2005-09-06 Microstrategy, Inc. System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services including module for generating and formatting voice services
US7340040B1 (en) 1999-09-13 2008-03-04 Microstrategy, Incorporated System and method for real-time, personalized, dynamic, interactive voice services for corporate-analysis related information
US6577713B1 (en) * 1999-10-08 2003-06-10 Iquest Technologies, Inc. Method of creating a telephone data capturing system
US20050177850A1 (en) 1999-10-29 2005-08-11 United Video Properties, Inc. Interactive television system with programming-related links
US7725307B2 (en) 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US9076448B2 (en) 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US6615172B1 (en) 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US7050977B1 (en) * 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US6665640B1 (en) 1999-11-12 2003-12-16 Phoenix Solutions, Inc. Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
US6714978B1 (en) 1999-12-04 2004-03-30 Worldcom, Inc. Method and system for processing records in a communications network
US6526382B1 (en) 1999-12-07 2003-02-25 Comverse, Inc. Language-oriented user interfaces for voice activated services
US7043439B2 (en) * 2000-03-29 2006-05-09 Canon Kabushiki Kaisha Machine interface
BR0109665A (pt) 2000-03-31 2003-02-04 United Video Properties Inc Sistema e método para anúncios ligados a metadados
CA2425844A1 (en) 2000-10-16 2002-04-25 Eliza Corporation Method of and system for providing adaptive respondent training in a speech recognition application
US6869644B2 (en) * 2000-10-24 2005-03-22 Ppg Industries Ohio, Inc. Method of making coated articles and coated articles made thereby
US7333933B2 (en) * 2000-12-19 2008-02-19 Nortel Networks Limited Speech based status and control user interface customisable by the user
GB2372864B (en) * 2001-02-28 2005-09-07 Vox Generation Ltd Spoken language interface
ITTO20010179A1 (it) * 2001-02-28 2002-08-28 Cselt Centro Studi Lab Telecom Sistema e metodo per l'accesso a strutture multimediali.
WO2002069614A2 (en) * 2001-02-28 2002-09-06 Telecom Italia S.P.A. System and method for access to multimedia structures
US20020169615A1 (en) * 2001-03-23 2002-11-14 Irwin Kruger Computerized voice-controlled system for compiling quality control data
US6850610B1 (en) 2001-04-17 2005-02-01 Bellsouth Intellectual Property Corporation Telecommunications device and method for providing information during a call waiting condition
KR100457509B1 (ko) * 2001-07-07 2004-11-17 삼성전자주식회사 터치스크린과 음성인식을 통해 동작 제어되는 정보단말기 및 그의 명령 실행 방법
US20020010715A1 (en) * 2001-07-26 2002-01-24 Garry Chinn System and method for browsing using a limited display device
US7149287B1 (en) 2002-01-17 2006-12-12 Snowshore Networks, Inc. Universal voice browser framework
US7117158B2 (en) * 2002-04-25 2006-10-03 Bilcare, Inc. Systems, methods and computer program products for designing, deploying and managing interactive voice response (IVR) systems
US7698435B1 (en) 2003-04-15 2010-04-13 Sprint Spectrum L.P. Distributed interactive media system and method
US20050027536A1 (en) * 2003-07-31 2005-02-03 Paulo Matos System and method for enabling automated dialogs
US7406696B2 (en) * 2004-02-24 2008-07-29 Dialogic Corporation System and method for providing user input information to multiple independent, concurrent applications
US7885272B2 (en) * 2004-02-24 2011-02-08 Dialogic Corporation Remote control of device by telephone or other communication devices
EP1797512B1 (en) * 2004-10-05 2010-09-08 Mentor Graphics Corporation Accelerated hardware emulation environment for processor-based systems
US20060122834A1 (en) * 2004-12-03 2006-06-08 Bennett Ian M Emotion detection device & method for use in distributed systems
US8977636B2 (en) 2005-08-19 2015-03-10 International Business Machines Corporation Synthesizing aggregate data of disparate data types into data of a uniform data type
US7958131B2 (en) 2005-08-19 2011-06-07 International Business Machines Corporation Method for data management and data rendering for disparate data types
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US8266220B2 (en) 2005-09-14 2012-09-11 International Business Machines Corporation Email management and rendering
US20070061132A1 (en) * 2005-09-14 2007-03-15 Bodin William K Dynamically generating a voice navigable menu for synthesized data
US8694319B2 (en) 2005-11-03 2014-04-08 International Business Machines Corporation Dynamic prosody adjustment for voice-rendering synthesized data
US9113107B2 (en) 2005-11-08 2015-08-18 Rovi Guides, Inc. Interactive advertising and program promotion in an interactive television system
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US20070156521A1 (en) 2005-12-29 2007-07-05 United Video Properties, Inc. Systems and methods for commerce in media program related merchandise
US8315874B2 (en) * 2005-12-30 2012-11-20 Microsoft Corporation Voice user interface authoring tool
US8271107B2 (en) * 2006-01-13 2012-09-18 International Business Machines Corporation Controlling audio operation for data management and data rendering
US9135339B2 (en) 2006-02-13 2015-09-15 International Business Machines Corporation Invoking an audio hyperlink
US20070192674A1 (en) * 2006-02-13 2007-08-16 Bodin William K Publishing content through RSS feeds
US7835998B2 (en) 2006-03-06 2010-11-16 Veveo, Inc. Methods and systems for selecting and presenting content on a first system based on user preferences learned on a second system
US8316394B2 (en) 2006-03-24 2012-11-20 United Video Properties, Inc. Interactive media guidance application with intelligent navigation and display features
US20080005011A1 (en) * 2006-06-14 2008-01-03 Microsoft Corporation Managing information solicitations across a network
US20080004880A1 (en) * 2006-06-15 2008-01-03 Microsoft Corporation Personalized speech services across a network
US20070294349A1 (en) * 2006-06-15 2007-12-20 Microsoft Corporation Performing tasks based on status information
US20080010124A1 (en) * 2006-06-27 2008-01-10 Microsoft Corporation Managing commitments of time across a network
US9196241B2 (en) 2006-09-29 2015-11-24 International Business Machines Corporation Asynchronous communications using messages recorded on handheld devices
US8832742B2 (en) 2006-10-06 2014-09-09 United Video Properties, Inc. Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications
US9318100B2 (en) 2007-01-03 2016-04-19 International Business Machines Corporation Supplementing audio recorded in a media file
US7801888B2 (en) 2007-03-09 2010-09-21 Microsoft Corporation Media content search results ranked by popularity
US20090100340A1 (en) * 2007-10-10 2009-04-16 Microsoft Corporation Associative interface for personalizing voice data access
US8010369B2 (en) 2007-10-30 2011-08-30 At&T Intellectual Property I, L.P. System and method for controlling devices that are connected to a network
US8798999B2 (en) * 2009-05-01 2014-08-05 Alpine Electronics, Inc. Dialog design tool and method
US8346560B2 (en) * 2009-05-01 2013-01-01 Alpine Electronics, Inc Dialog design apparatus and method
US9166714B2 (en) 2009-09-11 2015-10-20 Veveo, Inc. Method of and system for presenting enriched video viewing analytics
US8359616B2 (en) 2009-09-30 2013-01-22 United Video Properties, Inc. Systems and methods for automatically generating advertisements using a media guidance application
WO2012094564A1 (en) 2011-01-06 2012-07-12 Veveo, Inc. Methods of and systems for content search based on environment sampling
US9691377B2 (en) 2013-07-23 2017-06-27 Google Technology Holdings LLC Method and device for voice recognition training
US20140196062A1 (en) 2013-01-10 2014-07-10 United Video Properties, Inc. Systems and methods for setting prices in data driven media placement
US9848276B2 (en) 2013-03-11 2017-12-19 Rovi Guides, Inc. Systems and methods for auto-configuring a user equipment device with content consumption material
US9275638B2 (en) 2013-03-12 2016-03-01 Google Technology Holdings LLC Method and apparatus for training a voice recognition model database
US9548047B2 (en) 2013-07-31 2017-01-17 Google Technology Holdings LLC Method and apparatus for evaluating trigger phrase enrollment
CN103474068B (zh) * 2013-08-19 2016-08-10 科大讯飞股份有限公司 实现语音命令控制的方法、设备及***
CN110442701B (zh) * 2019-08-15 2022-08-05 思必驰科技股份有限公司 语音对话处理方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4060848A (en) * 1970-12-28 1977-11-29 Gilbert Peter Hyatt Electronic calculator system having audio messages for operator interaction
US4315315A (en) * 1971-03-09 1982-02-09 The Johns Hopkins University Graphical automatic programming
US4084237A (en) * 1977-03-28 1978-04-11 Economics Laboratory, Inc. Electronic laundry program control apparatus
US4602129A (en) * 1979-11-26 1986-07-22 Vmx, Inc. Electronic audio communications system with versatile message delivery
JPS56168263A (en) * 1980-05-30 1981-12-24 Hitachi Ltd Program making device
US4546435A (en) * 1980-06-24 1985-10-08 Herbert Frank P Graphic computer system and keyboard
US4553222A (en) * 1983-03-14 1985-11-12 Kurland Lawrence G Integrated interactive restaurant communication system for food and entertainment processing

Also Published As

Publication number Publication date
JPS61208123A (ja) 1986-09-16
EP0197648A2 (en) 1986-10-15
AU5441486A (en) 1986-09-18
DE3650191D1 (de) 1995-02-16
CA1252210A (en) 1989-04-04
US4785408A (en) 1988-11-15
KR860007598A (ko) 1986-10-15
EP0197648A3 (en) 1988-11-17
JP2701840B2 (ja) 1998-01-21
DE3650191T2 (de) 1995-05-11
EP0197648B1 (en) 1995-01-04
AU565436B2 (en) 1987-09-17

Similar Documents

Publication Publication Date Title
KR940002325B1 (ko) 대화 응용 프로그램을 생성하기 위한 방법 및 그 장치
US5241580A (en) Method for validating customized telephone services
US5345380A (en) System and processes specifying customized customer telecommunication services using a graphical interface
US8612925B1 (en) Zero-footprint telephone application development
US5455903A (en) Object oriented customer information exchange system and method
US9247054B2 (en) Systems and methods for generating and testing interactive voice response applications
US6122345A (en) System and method for developing and processing automatic response unit (ARU) services
US20060206299A1 (en) Dialogue flow interpreter development tool
JP3501458B2 (ja) 遠隔通信交換機のための多言語動作及び保守インターフェイス
US5386459A (en) Method of defining operation of switching system peripherals
US6061512A (en) Methods and apparatus for creating automated servers for display telephones
US5315646A (en) Systems and processes for providing multiple interfaces for telephone services
CA2427512C (en) Dialogue flow interpreter development tool
CA2190888C (en) Systems and processes for specifying customized telecommunication services
JP3332998B2 (ja) パソコン通信自動実行システム
EP0710909A1 (en) An application development environment system, and run-time execution engine
EP0706683B1 (en) Apparatus and method for developping software
WO1995001597A2 (en) System for generating instructions for speech application
WO1995001597A1 (en) System for generating instructions for speech application
AU711449B2 (en) System for generating instructions for speech application
KR0128849B1 (ko) 지능망 서비스 로직 설계 데이터 작성 방법
KR0150532B1 (ko) 유한상태머신을 이용한 지능망 서비스로직의 수행 방법

Legal Events

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

Payment date: 20050309

Year of fee payment: 12

EXPY Expiration of term