KR20040095234A - 동시 멀티모달 통신 세션 지속성을 위한 시스템 및 방법 - Google Patents

동시 멀티모달 통신 세션 지속성을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20040095234A
KR20040095234A KR10-2004-7013375A KR20047013375A KR20040095234A KR 20040095234 A KR20040095234 A KR 20040095234A KR 20047013375 A KR20047013375 A KR 20047013375A KR 20040095234 A KR20040095234 A KR 20040095234A
Authority
KR
South Korea
Prior art keywords
session
multimodal
concurrent
user
user agent
Prior art date
Application number
KR10-2004-7013375A
Other languages
English (en)
Other versions
KR100610286B1 (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 KR20040095234A publication Critical patent/KR20040095234A/ko
Application granted granted Critical
Publication of KR100610286B1 publication Critical patent/KR100610286B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

비-세션 조건 동안 및 사용자별 기반으로, 동일한 세션(700) 동안에 다른 동시 모달리티 통신을 위해 구성된 사용자 에이전트 프로그램의 동시 멀티모달 세션 상태 정보(604)를 유지하며, 동시 멀티모달 세션 상태 정보(702)에 액세스하는 것에 응답하여 동시 멀티모달 세션을 재확립하는 방법(도 6) 및 장치(600)이 제공된다.

Description

동시 멀티모달 통신 세션 지속성을 위한 시스템 및 방법{SYSTEM AND METHOD FOR CONCURRENT MULTIMODAL COMMUNICATION SESSION PERSISTENCE}
핸드헬드 디바이스, 이동 전화기, 랩탑, PDA, 인터넷 가전, 비이동형 디바이스 및 다른 적절한 디바이스와 같은 통신 디바이스와 관련한 기술의 떠오르는 분야는 정보 및 서비스로의 액세스를 위한 멀티모달 인터액션의 어플리케이션이다. 통상, 통신 디바이스 상에 상주하는 것은 브라우저와 같은 적어도 하나의 사용자 에이전트 프로그램, 또는 사용자 인터페이스로서 동작할 수 있는 임의의 다른 적절한 소프트웨어이다. 사용자 에이전트 프로그램은 요구(사용자 에이전트 프로그램을 통해 또는 다른 디바이스 또는 소프트웨어 어플리케이션으로부터 입력됨)를 페치하는 것에 응답하여, 페치된 정보를 수신하고, 내부 또는 외부 접속을 통해 컨텐트 서버를 네비게이션하며, 정보를 사용자에게 제공할 수 있다. 사용자 에이전트 프로그램은 그래픽 브라우저, 음성 브라우저, 또는 본 기술분야의 통상의 기술자에 의해 주지되어 있는 임의의 다른 적절한 사용자 에이전트 프로그램일 수 있다. 그러한 사용자 에이전트 프로그램은 J2ME 어플리케이션, 네스케이프, 인터넷 익스플로러, 자바 어플리케이션, WAP 브라우저, 인스턴트 메시징, 멀티미디어 인터페이스, 윈도우즈 CE, 또는 임의의 다른 적절한 소프트웨어 구현을 포함하고, 이들로 제한되지 않는다.
멀티모달 기술은 사용자가 음성, 데이터, 비디오, 오디오 또는 다른 정보와 같은 정보, 및 이메일, 날씨 업데이트, 은행 거래 및 뉴스 또는 다른 정보를 사용자 에이전트 프로그램을 통해 하나의 모드로 액세스하고, 다른 모드로 정보를 수신할 수 있도록 허용한다. 특히, 사용자는 페치된 요구를 마이크로폰에 말하는 것과 같이, 하나 이상의 모달리티로 정보 페치 요구를 제출한 후, 사용자는 리턴된 정보를 표시 스크린 상에 뷰잉 포맷으로 제공하는 그래픽 브라우저와 같은 것을 통해, 페치된 정보를 동일한 모드(즉, 음성) 또는 다른 모드로 수신할 수 있다. 통신 디바이스 내에, 사용자 에이전트 프로그램은 네트워크 또는 다른 터미널 디바이스에 접속된 디바이스 상에 상주하는 표준 웹 브라우저 또는 다른 적절한 소프트웨어 프로그램과 유사한 방식으로 동작한다.
그러한 것으로서, 사용자가 세션 동안에 복수의 모달리티로 통신을 용이하게 하도록 하나 이상의 사용자 입력 및 출력을 활용할 수 있게 하는 멀티모달 통신 시스템이 제안되었다. 사용자 에이전트 프로그램은 다른 디바이스 상에 배치될 수 있다. 예를 들면, 음성 게이트웨이와 같은 네트워크 요소는 음성 브라우저를 포함한다. 예를 들면, 핸드헬드 디바이스는 WAP 브라우저 또는 다른 적절한 텍스트 기반 사용자 에이전트 프로그램과 같은 그래픽 브라우저를 포함할 수 있다. 그러므로, 멀티모달 성능으로, 사용자는 하나의 모드로 입력하고 다른 모드로 정보를 수신할 수 있다.
사용자 입력을 2개의 다른 모달리티로 제공하려고 시도하는, 예를 들면 음성 모드로 일부 정보를 입력하고 다른 정보를 촉각 또는 그래픽 인터페이스를 통해 입력하려고 시도하는 시스템이 제안되었다. 하나의 제안은 예를 들면 사용자가 우선 음성을 입력한 후 음성 입력이 완료된 후 짧은 메시지를 전송하도록 요구되는 직렬 비동기 접근법을 이용하는 것이다. 그러한 시스템의 사용자는 동일한 세션 동안에 모드를 수동으로 스위칭해야 한다. 그러므로, 그러한 제안은 귀찮은 것이다.
다른 제안된 시스템은 하나의 사용자 에이전트 프로그램 및 현재의 HTML 페이지내의 마크업 언어 태그를 이용하여, 예를 들면 사용자가 검색 단어를 타이핑하는 대신에 음성을 이용하여 웹 페이지를 네비게이션한 후 동일한 HTML 페이지가 사용자로 하여금 텍스트 정보를 입력할 수 있도록 허용하는 것이다. 예를 들면, 사용자가 단어 "도시"를 말하고 어드레스에 타이핑하여 컨텐트 서버로부터 가시적인 지도 정보를 얻는 것이다. 그러나, 그러한 제안된 방법은 통상 모달리티를 다르게 하는 멀티모드 입력들이 하나의 디바이스 상의 동일한 에이전트 프로그램에 입력되도록 강제한다(동일한 브라우저를 통해 입력됨). 그러므로, 음성 및 텍스트 정보가 통상 동일한 HTML 형식으로 입력되어 동일한 사용자 에이전트 프로그램을 통해 처리된다. 그러나, 이러한 제안은 단일 디바이스 상에서 동작하는 단일 사용자 에이전트 프로그램의 이용을 요구한다.
따라서, 제한된 처리 성능 및 저장 용량을 가지는 모바일 디바이스와 같은 덜 복잡한 디바이스에 대해, 복잡한 브라우저는 디바이스 성능을 저하시킬 수 있다. 또한, 그러한 시스템은 다른 사용자 에이전트 프로그램을 통해 정보의 동시 멀티모달 입력을 활용할 수 없다. 더구나, 다른 어플리케이션 또는 다른 디바이스 중에서 분산된 처리를 허용하는 다중 디바이스에 걸친 동시 멀티모달 입력을 제공하는 것이 바람직하다.
또 다른 제안은 멀티모달 게이트웨이 및 멀티모달 프록시를 이용하는 것으로서, 멀티모달 프록시는 컨텐트를 페치하여 통신 디바이스의 사용자 에이전트 프로그램(예를 들면, 브라우저) 및 예를 들면 네트워크 요소 내의 음성 브라우저에 컨텐트를 출력하여 시스템은 디바이스에 대한 음성 및 텍스트 출력을 모두 허용한다. 그러나, 그러한 접근법은 다른 모드의 페치된 정보를 단일 사용자 에이전트 프로그램 또는 브라우저에 출력하도록 요구하는 단일 사용자 에이전트 접근법이므로, 다른 어플리케이션을 통해 다른 모드로 사용자에 의해 정보의 동시 입력을 허용하지 않을 것으로 보인다.
통신 세션 관리 기술은 이전에 종료된 통신 세션의 재개(resume)를 허용하는 것으로 알려져 있다. 예컨대, 음성 XML 형식을 이용하는 시스템을 통해, 사용자가 이러한 형식을 이용하는 것을 로그 오프하면, 이러한 형식의 상태는 서버에서 유지되어, 사용자는 예컨대 브라우저를 통해 웹 어플리케이션에 재접속 할 수 있고, 다음에 웹 어플리케이션은 사용자의 이전 세션 정보를 위치시킬 수 있고, 사용자가 세션을 종료했을 때 존재했던 이전 상태에서 사용자와 함께 세션을 재 구축할 수 있다. 그러나, 이런 기술은 전형적으로 하나의 모덜리티에 대한 세션 지속성을 제공한다. 또한, 이러한 시스템은 전형적으로 단일의 사용자 에이전트 프로그램에이용되는 세션 동안 사용자에게 세션 지속성을 제공한다.
그러나, 동시 멀티모달 통신을 위한 세션 지속 방법 및 장치에 대한 요구가 존재한다.
본 발명은 유사한 참조부호는 유사한 구성요소를 나타내는 첨부된 도면을 통해 예를 들어 예시되고 이들로 제한되지는 않는다.
본 발명은 일반적으로는 통신 시스템 및 방법에 관한 것으로, 특히 멀티모달 통신 시스템 및 방법에 관한 것이다.
도 1은 본 발명의 하나의 실시예에 따른 멀티모달 통신 시스템의 하나의 예를 예시하는 블록도이다.
도 2는 본 발명의 하나의 실시예에 따른 멀티모달 통신에 대한 방법의 하나의 예를 예시하는 플로우 차트이다.
도 3은 본 발명의 하나의 실시예에 따른 멀티모달 통신에 대한 방법의 하나의 예를 예시하는 플로우 차트이다.
도 4는 본 발명의 하나의 실시예에 따라 수신된 동시 멀티모달 입력 정보를 퓨징(fuse)하기 위한 방법의 하나의 예를 예시하는 플로우 차트이다.
도 5는 본 발명의 실시예에 따른 멀티모달 네트워크 요소의 하나의 예를 예시하는 블록도이다.
도 6은 본 발명의 하나의 실시예에 따른 멀티모달 세션 지속성을 유지하기 위한 방법의 하나의 예를 예시하는 플로우 차트이다.
도 7은 도 6에 도시된 플로우 차트의 일부를 예시하는 플로우 차트이다.
도 8은 본 발명의 하나의 실시예에 따른 동시 멀티모달 세션 상태 메모리 컨텐트의 하나의 예를 표시하는 블록도이다.
요약하면, 멀티모달 네트워크 요소는 하나 이상의 디바이스 상에서 다른 사용자 에이전트 프로그램을 통해 동시 멀티모달 통신 세션을 용이하게 한다. 예를 들면, 스피치 엔진 및 호출/세션 종료를 포함하는 음성 게이트웨이의 음성 브라우저와 같이 음성 모드로 통신하는 사용자 에이전트 프로그램이 모바일 디바이스 상에서 그래픽 브라우저와 같이 다른 모달리티로 동작하는 다른 사용자 에이전트 프로그램과 동기화된다. 복수의 사용자 에이전트 프로그램이 세션 동안에 컨텐트 서버와 동작가능하게 결합되어 동시 멀티모달 인터액션을 가능하게 한다.
멀티모달 네트워크 요소는 예를 들면 테스트 모드와 연관된 HTML 양식과 음성 모드와 연관된 보이스XML 양식과 같이, 다른 모드들과 연관된 다른 마크업 언어 양식을 획득하는 것과 같이, 서로에 대해 상이한 모달리티로 동작하는 복수의 사용자 에이전트 프로그램에 대한 모달리티 특정 명령을 획득한다. 멀티모달 네트워크 요소는 세션 동안에 사용자에 대한 복수의 사용자 에이전트 프로그램으로부터의 출력을 획득된 모달리티 특정 명령에 기초하여 동기화한다. 예를 들면, 음성 브라우저는 하나의 디바이스 상에서 오디오를 출력하도록 동기화되고 그래픽 브라우저는 동일하거나 또는 다른 디바이스 상에서 스크린 상에 표시를 출력하도록 동기화되어, 하나 이상의 사용자 에이전트 프로그램을 통해 사용자 입력을 동시에 수행하도록 허용한다. 사용자가 다른 모달리티로 동작하고 있는 복수의 사용자 에이전트 프로그램을 통해 입력 정보를 입력하는 경우, 동시에 다른 멀티모달 정보에 대한요구에 응답하여, 사용자에 의해 입력되고 복수의 사용자 에이전트 프로그램으로부터 전송된 수신된 동시 멀티모달 입력 정보를 퓨징하거나 링크한다. 그러한 것으로서, 동시 멀티모달 입력은 다른 사용자 에이전트 프로그램을 통해 활용되어, 다중 디바이스 또는 다른 디바이스들이 동시 멀티모달 세션 동안에 이용되거나 또는 복수의 사용자 에이전트 프로그램을 채용하는 하나의 디바이스에서 이용될 수 있다. 다른 프록시는 멀티모달 네트워크 요소에 의해 다른 모달리티로 설정된 다른 사용자 에이전트 프로그램 각각과 통신하도록 설계된다.
도 1은 본 발명의 하나의 실시예에 따른 멀티모달 통신 시스템(10)의 하나의 예를 예시하고 있다. 본 예에서, 멀티모달 통신 시스템(10)은 통신 디바이스(12), 멀티모달 퓨젼 서버(14), 음성 게이트웨이(16), 및 웹 서버(18)와 같은 컨텐트 소스를 포함한다. 통신 디바이스(12)는 예를 들면, 인터넷 가전, PDA, 셀룰러 전화기, 케이블 셋탑 박스, 텔레메틱스 유닛, 랩탑 컴퓨터, 데스크탑 컴퓨터, 또는 임의의 다른 이동형 또는 비이동형 디바이스일 수 있다. 원하는 통신 타입에 따라, 통신 디바이스(12)는 무선 로컬 영역 또는 와이드 영역 네트워크(20), WAP/데이터 게이트웨이(22), 짧은 메시징 서비스 센터(SMSC/페이징 네트워크)(24), 또는 임의의 다른 적절한 네트워크와 동작가능한 통신 상태에 있을 수 있다. 마찬가지로, 멀티모달 퓨젼 서버(14)는 인터넷, 인트라넷, 멀티미디어 서버(MMS, 26), 인스턴트 메시징 서버(IMS, 28), 또는 임의의 다른 적절한 네트워크를 포함하는 임의의 적합한 디바이스, 네트워크 요소 또는 네트워크와 통신 상태에 있을 수 있다. 따라서, 통신 디바이스(12)는 통신 링크(21, 23 및 25)를 통해 적절한 네트워크와 동작가능한 통신 상태에 있다. 마찬가지로, 멀티모달 퓨전 서버(14)는 참조부호 27로 지정된 종래 통신 링크를 통해 다양한 네트워크에 적절하게 링크될 수 있다. 본 예에서, 음성 게이트웨이(16)는 음성 인식 엔진, 수서 문자인식 엔진, 안면 인식 엔진, 세션 컨트롤, 사용자 준비 알고리즘, 및 동작 및 유지보수 컨트롤러를 원하는 대로 포함할 수 있고, 이들로 제한되지 않는다. 본 예에서, 통신 디바이스(12)는 예를 들면 전화 회로(32)로서 도시된 마이크로폰 및 스피커를 포함하는 전화 회로와 함께, WAP 브라우저, 몸짓 인식, 촉각 인식 또는 임의의 다른 적절한 브라우저 형식의 가시적 브라우저(예를 들면, 그래픽 브라우저)와 같은 사용자 에이전트 프로그램(30)을 포함한다. 임의의 다른 적절한 구성도 이용될 수 있다.
음성 게이트웨이(16)는 전화 회로(32)의 스피커에 의한 출력을 위해 오디오 정보를 적절한 형태로 출력하는 음성 브라우저와 같은 다른 사용자 에이전트 프로그램(34)을 포함한다. 스피커는 페이저 또는 다른 PDA와 같이 통신 디바이스(12)와는 다른 디바이스 상에 배치되어, 오디오는 하나의 디바이스 상에 출력되고 사용자 에이전트 프로그램(30)을 통한 가시 브라우저는 또 다른 디바이스 상에 제공되는 것을 알 수 있다. 또한, 사용자 에이전트 프로그램(30)이 음성 게이트웨이(16) 내에 존재하지만, 사용자 에이전트 프로그램(34)은 통신 디바이스(12, 음성 브라우저(36)로서 도시됨) 또는 임의의 다른 적절한 디바이스 내에 포함될 수도 있다는 것은 자명하다. 여기에 설명된 바와 같이, 동시 멀티모달 통신을 수용하기 위해서는, 복수의 사용자 에이전트 프로그램, 즉 사용자 에이전트 프로그램(30) 및 사용자 에이전트 프로그램(40)이 주어진 세션에서 서로에 대해 다른 모달리티로 동작한다. 따라서, 사용자는 개시된 서비스에 대해 참가하여 웹 서버(18) 또는 임의의 다른 서버(MFS(14)를 포함함)를 통해 액세스 가능한 모달리티 선호도 데이터베이스(36)에 모달리티 선호도를 미리 설정함으로써, 각 사용자 에이전트 프로그램의 모드를 선정할 수도 있다. 또한, 원한다면, 사용자는 본 기술분야에 주지되어 있는 바와 같이, 세션 동안에 주어진 사용자 에이전트 프로그램의 모달리티를 선택하거나, 또는 변경할 수도 있다.
동시 멀티모달 동기화 조정기(42)는 나머지 사용자 에이전트 프로그램에 대한 모달리티-특정 명령들에 연관된 통신 지연을 보상하기 위해, 복수의 사용자 에이전트 프로그램 중 하나에 대한 모달리티-특정 명령을 세션 동안에 일시적으로 저장하기 위한 버퍼 메모리를 포함할 수 있다. 그러므로, 예를 들면, 필요한 경우에, 동기화 조정기(42)는 시스템 지연 또는 다른 지연을 고려하고 대기하여 모달리티-특정 명령을 프록시에 출력함으로써 이들이 다른 사용자 에이전트 프로그램 상에서 동시에 렌더링된다.
또한, 원하는 경우, 사용자 에이전트 프로그램(30)은 입력 인터페이스를 제공하여 사용자가 특정 멀티-모드를 침묵하게 할 수 있도록 허용할 수 있다. 예를 들면, 디바이스 또는 사용자 에이전트 프로그램이 다중 모드 동작을 허용하는 경우, 사용자는 특정 지속기간 동안에 모드가 침묵되도록 지시할 수 있다. 예를 들면, 사용자에 대한 출력 모드가 음성이지만 사용자가 있는 환경이 시끄러운 경우, 사용자는 예를 들면 그 음성 브라우저에 출력을 침묵하도록 할 수 있다. 사용자로부터 수신되는 멀티-모드 침묵 데이터는 예를 들면 메모리(602, 도 5 참조)내에 멀티모달 퓨젼 서버(14)에 의해 저장되어, 주어진 세션 동안에 어느 모달리티가 침묵되어야 할지를 나타낸다. 그리고나서, 동기화 조정기(42)는 침묵하기로 식별된 이들 모달리티들에 대해 모달리티-특정 명령을 획득하는 것을 금지할 수 있다.
정보 페처(46, fetcher)는 복수의 사용자 에이전트 프로그램(30, 34)을 위한 멀티모드 어플리케이션(54)으로부터 모달리티-특정 명령(69)을 얻는다. 모달리티-특정 명령(68, 70)은 사용자 에이전트 프로그램(30, 34)에 전송된다. 본 실시예에서, 멀티모드 어플리케이션(54)은 다른 사용자 에이전트 프로그램, 즉 이하에 설명되는 다른 모달리티와 연관된 모달리티 특정 명령을 식별하는 데이터를 포함한다. 동기 멀티모달 동기화 조정기(42)는 정보 페처(46)에 동작가능하게 결합되어 모달리티-특정 명령을 수신한다. 동시 멀티모달 동기화 조정기(42)는 또한 복수의 프록시(38a - 38n)에 동작가능하게 결합되어 주어진 세션에 필요한 이들 프록시를 지정한다.
다른 사용자 에이전트 프로그램(30, 34)이 다른 디바이스 상에 존재하는 경우, 방법은 하나의 디바이스에 제1 모달리티-기반 마크업 언어 형식을 전송하고 제2 모달리티 마크업 언어-기반 형식을 하나 이상의 다른 디바이스에 전송하여 동일한 세션 동안에 다른 디바이스로부터 정보의 동시 엔트리를 사용자에 의해 다른 모달리티로 요구함으로써, 동시 멀티모달 입력 정보(67, 70)에 대한 요구를 전송하는 것을 포함한다. 이들 마크업 언어-기반 형식은 모달리티-특정 명령(68, 70)으로서 얻어졌다.
멀티모달 세션 컨트롤러(40)는 인커밍 세션을 검출하고, 세션에 응답하며,세션 파라미터를 변형하고, 세션을 종료하며 디바이스 상의 세션 제어 알고리즘으로 세션 및 미디어 정보를 교환하는데 이용된다. 멀티모달 세션 컨트롤러(40)는 원하는 경우 세션에 대한 주 세션 종료 포인트일 수 있고, 사용자가 예를 들면 멀티모달 세션 컨트롤러(40)와 세션을 확립하는 음성 게이트웨이와 같은 다른 게이트웨이와 세션을 확립하기를 원하는 경우에, 제2 세션 종료 포인트일 수 있다.
동기화 조정기는 동시 멀티모달 입력 정보에 대한 요구를 포함하는 출력 동기화 메시지(47, 49)를 각 프록시(38a, 38n)에 전송하여, 그 출력을 복수의 에이전트 프로그램 각각에 유효하게 동기화한다. 프록시(38a, 38n)는 수신된 멀티모달 입력 정보(72, 74)를 포함하는 입력 동기화 메시지(51, 53)를 동시 동기화 조정기(42)에 전송한다.
동시 멀티모달 동기화 조정기(42)는 프록시, 또는 사용자 에이전트 프로그램이 성능을 가지고 있는 경우에 사용자 에이전트 프로그램으로 동기화 메시지(47, 49, 51 및 53)를 전송하고 수신한다. 프록시(38a 및 38n)가 다른 사용자 에이전트 프로그램으로부터 수신된 멀티모달 입력 정보(72 및 74)를 수신하는 경우, 프록시는 수신된 멀티모달 입력 정보(72 및 74)를 포함하는 입력 동기화 메시지(51 및 53)를 동기화 조정기(42)에 전송한다. 동기화 조정기(42)는 수신된 정보를 멀티모달 퓨젼 엔진(44)에 포워딩한다. 또한, 사용자 에이전트 프로그램(34)이 동기화 메시지를 멀티모달 동기화 조정기(42)에 전송하는 경우, 멀티모달 동기화 조정기(42)는 동기화 메시지를 세션 내에서 다른 사용자 에이전트 프로그램(30)에 전송한다. 동시 머티모덜 동기화 조정기(42)는 메시지 변환, 동기화 메시지 필터링을 수행하여, 동기화 시스템을 더 효율적으로 만든다. 동시 멀티모달 동기화 조정기(42)는 주어진 세션에서 이용되는 현재 사용자 에이전트 프로그램의 리스트를 유지하여, 동기화가 필요한 경우에 통지될 필요가 있는 것들을 추적한다.
멀티모달 퓨젼 서버(14)는 복수의 멀티모달 프록시(38a-38n), 멀티모달 세션 컨트롤러(40), 동시 멀티모달 동기화 조정기(42), 멀티모달 퓨젼 엔진(44), 정보(예를 들면, 모달리티 특정 명령) 페처(46), 및 음성XML 해석기(50)를 포함한다. 적어도 멀티모달 세션 컨트롤러(40), 동시 멀티모달 동기화 조정기(42), 멀티모달 퓨젼 엔진(44), 정보 페처(46), 및 멀티모달 마크업 언어(예를 들면, 음성XML) 해석기(50)는 하나 이상의 처리 디바이스 상에서 실행되는 소프트웨어 모듈로서 구현될 수 있다. 그러한 것으로서, 하나 이상의 처리 디바이스에 의해 판독될 때 하나 이상의 처리 디바이스가 각 소프트웨어 모듈과 관련하여 여기에 기재된 기능들을 수행하도록 유발하는 실행가능한 명령을 포함하는 메모리가 개시된다. 그러므로, 멀티모달 퓨젼 서버(14)는 디지털 신호 처리기, 마이크로컴퓨터, 마이크로프로세서, 상태 머신, 또는 임의의 다른 적절한 처리 디바이스를 포함하고, 이들로 제한되지 않는 처리 디바이스를 포함한다. 메모리는 처리 디바이스에 의해 실행될 때 하나 이상의 처리 디바이스가 여기에 기재된 대로 동작하도록 유발하는 상태 또는 다른 데이터를 저장하는 ROM, RAM, 분산 메모리, 플래시 메모리, 또는 임의의 다른 적절한 메모리일 수 있다. 다르게는, 소프트웨어 모듈의 기능들은 하드웨어, 또는 하드웨어, 소프트웨어 및 펌웨어의 원하는 대로의 임의의 적절한 조합으로 구현될 수 있다.
멀티모달 마크업 언어 해석기(50)는 특히 멀티모달 어플리케이션(54)에 의해 제공되는 마크업 언어를 실행하는 상태 머신 또는 다른 적절한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 적절한 조합일 수 있다.
도 2는 본 예에서, 멀티모달 퓨젼 서버(14)에 의해 실행되는 멀티모달 통신을 위한 방법을 예시하고 있다. 그러나, 여기에 기재된 임의의 단계들은 임의의 적절한 순서로 임의의 적절한 디바이스 또는 복수의 디바이스들에 의해 실행될 수 있다는 것은 자명하다. 현재의 멀티모달 세션에 대해, 사용자 에이전트 프로그램(30, 예를 들면 WAP 브라우저)은 요구(52)를 웹 서버(18)에 전송하여 웹 서버(18)에 의해 액세스가능한 동시 멀티모달 어플리케이션(54)으로부터 컨텐트를 요구한다. 이것은 URL에 타이핑하거나 아이콘을 클릭하거나 또는 임의의 다른 관례적인 메커니즘을 이용하여 수행될 수 있다. 점선(52)에 의해 도시된 바와 같이, 각 사용자 에이전트 프로그램(30, 34)은 사용자 모달리티 정보를 마크업 해석기(50)에 전송할 수 있다. 컨텐트 서버로서 기능하는 웹 서버(18)는 사용자 가입 프로세스를 통해 동시 멀티모달 서비스에 이전에 가입한 모달리티 선호도 데이터베이스(36)로부터 통신 디바이스(12)의 멀티모달 선호도(55)를 얻는다. 그리고나서, 웹 서버(18)는 데이터베이스(36)로부터 사용자 선호도를 포함하는 통지(56)를 통해 멀티모달 퓨젼 서버(14)에 통지하고, 예를 들면 동시 멀티모달 통신에서 어느 사용자 에이전트 프로그램이 이용되고 있는 지와 각 사용자 에이전트 프로그램이 어느 모드로 설정되어 있는지를 나타낸다. 본 예에서, 사용자 에이전트 프로그램(30)은 텍스트 모드로 설정되고, 사용자 에이전트 프로그램(34)은 음성 모드로 설정된다.그리고나서, 동시 멀티모드 동기화 조정기(42)는 세션 동안에 각 사용자 에이전트 프로그램(30 및 34)에 복수의 멀티모달 프록시(38a-38n) 중 어느 것이 이용되는지를 결정한다. 그러한 것으로, 동시 멀티모드 동기화 조정기(42)는 멀티모드 프록시(38a)를 텍스트 프록시로 지정하여, 텍스트 모드로 설정된 사용자 에이전트 프로그램(30)과 통신한다. 마찬가지로, 동시 멀티모드 동기화 조정기(42)는 프록시(38n)를 멀티모드 프록시로서 지정하여, 음성 모달리티로 동작하고 있는 사용자 에이전트 프로그램(34)에 대해 음성 정보를 통신한다. 웹 페이지 페처(46)로서 도시된 정보 페처는 동시 멀티모달 어플리케이션(54)과 연관된 웹 서버(18)로부터 마크업 언어 형식 또는 다른 데이터와 같은 모달리티 특정 명령을 얻는다.
예를 들면, 멀티모달 어플리케이션(54)이 사용자에게 음성 모드 및 텍스트 모드 양쪽으로 정보를 입력하도록 요구하는 경우, 정보 페처(46)는 연관된 HTML 마크업 언어 형식을 얻어, 사용자 에이전트 프로그램(30)에 대해 출력하고 연관된 음성XML 형식을 얻어 요구(66)를 통해 사용자 에이전트 프로그램(34)에 출력한다. 그리고나서, 이들 모달리티 특정 명령들은 사용자 에이전트 프로그램에 의해 출력으로서 렌더링된다(예를 들면, 스크린 또는 스피커를 통해 출력된다). 동시 멀티모달 동기화 조정기(42)는 세션 동안에 모달리티 특정 명령에 기초하여 복수의 사용자 에이전트 프로그램(30 및 34)으로부터 출력을 동기화한다. 예를 들면, 동시 멀티모달 동기화 조정기(42)는 다른 모달리티를 나타내는 적절한 마크업 언어 형식을 적절한 시간에 각 사용자 에이전트 프로그램(30 및 34)에 전송하여, 음성이 통신 디바이스(12) 상에서 렌더링될 때 텍스트가 사용자 에이전트 프로그램(30)을 통해 스크린 상에 출력되어 동시에 렌더링된다. 예를 들면, 멀티모달 어플리케이션(54)은 텍스트 브라우저를 통해 어떤 정보가 입력될 것인지에 관해 사용자에게 사용자 에이전트 프로그램(34)을 통해 가청 명령의 형태로 명령을 제공하고, 그 동안에 동시에 사용자 에이전트 프로그램(30)으로부터의 텍스트 입력을 기다린다. 예를 들면, 멀티모달 어플리케이션(54)은 "please enter your desired destination city followed by your departure time"이라는 단어들의 음성 출력을 요구하면서, 동시에 도시에 대해 "C"로서 지정된 필드 및 목적지에 대해 다음 라인에 "D"로서 지정된 필드로 통신 디바이스 상의 디스플레이 상에 출력되는 사용자 에이전트 프로그램(30)을 통해 필드를 제공한다. 본 예에서, 멀티모달 어플리케이션은 사용자에 의해 동시 멀티모달 입력을 요구하지 않고, 하나의 모드 즉 텍스트 모드를 통한 입력만을 요구하고 있다. 다른 모드는 사용자 명령들을 제공하는데 이용되고 있다.
다르게는, 멀티모달 어플리케이션(54)이 사용자가 복수의 사용자 에이전트 프로그램을 통해 입력 정보를 입력하라고 요구하는 경우, 멀티모달 퓨젼 엔진(14)은 세션 동안에 다른 멀티모달 사용자 에이전트 프로그램에 동시에 입력되는 사용자 입력을 융합시킨다. 예를 들면, 사용자가 가시적인 지도 상에서 2개의 지점을 클릭하면서 "directions from here to there"의 단어들을 말하는 경우, 음성 브라우저 또는 사용자 에이전트 프로그램(34)은 수신된 입력 정보(74)로서 시작 위치 필드를 "here"로 채우고, 목적지 위치 필드를 "there"로 채우며, 그 동안에 그래픽 브라우저, 즉 사용자 에이전트 프로그램(30)은 시작 위치 필드를 지도 상의 제1 클릭 지점의 지리적 위치(예를 들면, 위도/경도)로 채우고, 목적지 위치 필드를 지도 상의 제2 클릭 지점의 지리적 위치(예를 들면, 위도/경도)로 채운다. 멀티모달 퓨젼 엔진(44)은 이러한 정보를 얻어 다른 모달리티로 동작하고 있는 다수의 사용자 에이전트 프로그램으로부터 사용자에 의해 입력되는 입력 정보를 융합하고, 단어 "here"가 제1 클릭 지점의 지리적 위치에 대응하고 단어 "there"는 제2 클릭 지점의 지리적 위치(위도/경도)에 대응하는지를 결정한다. 이와 같이, 멀티모달 퓨젼 엔진(44)은 사용자 명령의 완전한 정보 셋트를 가지고 있다. 멀티모달 퓨젼 엔진(44)은 이들이 동시 멀티모달 통신과 연관된 완전한 정보를 가질 수 있도록 융합된 정보(60)를 사용자 에이전트 프로그램(30 및 34)에 다시 전송하기를 원한다. 이 때, 사용자 에이전트 프로그램(30)은 이러한 정보를 컨텐트 서버(18)에 제출하여 원하는 정보를 얻는다.
블록 200에 도시된 바와 같이, 세션에 대해, 방법은 복수의 사용자 에이전트 프로그램 각각에 대해 각 모달리티에 특정된 마크업 언어의 다른 타입을 얻는 것과 같은 것에 의해, 서로에 대해 다른 모달리티로 동작하는 복수의 사용자 에이전트 프로그램에 대한 모달리티 특정 명령(68, 70)을 얻는 것을 포함한다. 블록 202에 도시된 바와 같이, 방법은 사용자에 대해 동시 멀티모달 동작을 용이하게 하기 위해 모달리티-특정 명령에 기초하여 사용자 에이전트 프로그램과 같은 출력을 동기화하는 것을 포함한다. 그러한 것으로서, 마크업 언어 형식의 렌더링은 복수의 사용자 에이전트 프로그램으로부터의 출력이 복수의 사용자 에이전트 프로그램을 통해 다른 모달리티로 동시에 렌더링되도록 동기화된다. 블록 203에 도시된 바와 같이, 동시 멀티모달 동기화 조정기(42)는 다른 사용자 에이전트 프로그램(30 및 34)에 대한 모달리티 특정 명령(68, 70) 세트가 사용자에 의해 다른 사용자 에이전트 프로그램을 통해 다른 모달리티로 정보의 동시 입력을 요구할지를 결정한다. 그렇지 않다면, 블록 205에 도시된 바와 같이, 동시 멀티모달 동기화 조정기(42)는 단지 하나의 사용자 에이전트 프로그램으로부터 지정 서버 또는 웹 서버(18)에 임의의 수신된 입력 정보를 포워딩한다.
그러나, 블록 204에 도시된 바와 같이, 다른 사용자 에이전트 프로그램(30, 34)에 대한 모달리티-특정 명령의 세트(68, 70)가 다른 모달리티에서 동시에 입력되는 사용자 입력을 요구하는 경우, 방법은 사용자가 입력하고 사용자 에이전트 프로그램(30 및 34)에 의해 재전송되는 수신된 동시 멀티모달 입력 정보를 융합하여 다른 모달리티로 동작하는 다른 사용자 에이전트 프로그램과 연관된 융합된 멀티모달 응답(60)을 생성한다. 블록 206에 도시된 바와 같이, 방법은 융합된 멀티모달 응답(60)을 마크업 언어 해석기(50)의 현재 실행중인 어플리케이션(61)에 다시 포워딩하는 것을 포함한다. 현재 실행 중인 어플리케이션(61, 도 5 참조)은 해석기(50)의 일부로서 실행중인 어플리케이션(54)으로부터의 마크업 언어이다.
도 1 및 3을 참조하면, 멀티모달 통신 시스템(10)의 더 상세한 동작이 설명된다. 블록 300에 도시된 바와 같이, 통신 디바이스(12)는 사용자 에이전트 프로그램(30)을 통해 웹 컨텐트 또는 다른 정보에 대한 요구(52)를 전송한다. 블록 302에 도시된 바와 같이, 컨텐트 서버(18)는 식별된 사용자가 세션에 대한 디바이스 선호도 및 모드 선호도를 얻도록 모달리티 선호도 데이터베이스(36)로부터 멀티모달 선호도 데이터(55)를 얻는다. 블록 304에 도시된 바와 같이, 방법은 컨텐트 서버가 멀티모달 퓨젼 서버(14)에 어느 사용자 에이전트 어플리케이션이 주어진 동시 다른 멀티모달 통신 세션에 대해 어느 디바이스 상에서, 어떤 모드로 동작하고 있는지를 통지하는 것을 포함한다.
상기 지적되고 블록 306에 도시된 바와 같이, 동시 멀티모달 동기화 조정기(42)는 모달리티 선호도 데이터베이스(36)로부터의 모달리티 선호도 정보(55)에 기초하여 각 다른 모달리티에 대해 각 프록시를 결정하도록 설정된다. 블록 308에 도시된 바와 같이, 방법은 원하는 경우에 멀티모달 세션 컨트롤러(40)를 통해 각 사용자 에이전트 프로그램에 대한 사용자 모드 지정을 수신하는 것을 포함한다. 예를 들면, 사용자는 원하는 모드를 변경하여 모달리티 선호도 데이터베이스(36)에 저장된 미리 설정된 모달리티 선호도(55)와 다르게 할 수 있다. 이것은 관례적인 세션 메시징을 통해 수행될 수 있다. 원하는 사용자 에이전트 프로그램이 다른 디바이스 상에 존재하는 경우와 같이, 사용자가 특정 사용자 에이전트 프로그램에 대해 원하는 모드를 변경했다면, 다른 마크업 언어 형식과 같이, 다른 모달리티-특정 명령이 요구된다. 사용자 모달리티 지정이 변경되는 경우, 정보 페처(46)는 사용자 에이전트 어플리케이션에 대한 선택된 모달리티에 기초하여 적절한 모달리티-특정 명령을 페치하고 요구한다.
블록 310에 도시된 바와 같이, 정보 페처(46)는 각 사용자 에이전트 프로그램 및 즉 각 모달리티에 대해 페치 요구(66)로서 도시된 컨텐트 서버(18)로부터의 모달리티 특정 명령을 페치한다. 그러므로, 정보 페처(46)를 통한 멀티모달 퓨젼서버(14)는 다른 모달리티를 나타내는 마크업 언어를 획득하여, 각 사용자 에이전트 프로그램(30 및 34)은 마크업 언어에 기초하여 정보를 다른 모달리티로 출력할 수 있다. 그러나, 멀티모달 퓨젼 서버(14)는 단지 마크업 언어 기반 정보가 아니라, 또한 임의의 적합한 모달리티-특정 명령을 포함할 수 있다.
모달리티-특정 명령이 각 사용자 에이전트 프로그램에 대해 컨텐트 서버(18)로부터 페치되고 어떠한 CMMT도 모달리티 특정 명령(68, 70)과 연관되지 않는 경우, 수신된 모달리티 특정 명령(69)이 트랜스코더(608, 도 5 참조)에 전송된다. 트랜스코더(608)는 수신된 모달리티 특정 명령을 해석기(50)에 의해 이해되는 베이스 마크업 언어 형식으로 트랜스코딩하고, 다른 모달리티(610)에 대해 모달리티 특정 명령을 식별하는 데이터를 가지는 베이스 마크업 언어 형식을 생성한다. 그러므로, 트랜스코더는 모달리티 특정 명령을 트랜스코딩하여 다른 모달리티로 동작하는 또 하나의 사용자 에이전트 프로그램에 대한 모달리티 특정 명령을 식별하는 데이터를 포함한다. 예를 들면, 해석기(50)가 음성XML과 같은 베이스 마크업 언어를 이용하고 어플리케이션(54)으로부터의 모달리티 특정 명령의 하나의 세트가 음성XML로 되어 있고 나머지는 HTML로 되어 있는 경우, 트랜스코더(606)는 HTML 형식이 얻어질 수 있는 URL을 식별하는 음성XML 형식, 또는 실제의 HTML 형식 자체에 CMMT를 내장시킨다. 뿐만 아니라, 모달리티 특정 명령 중 어느 것도 베이스 마크업 언어로 되어 있지 않은 경우, 모달리티 특정 명령 세트가 베이스 마크업 언어로 번역되고, 그런 다음 모달리티 특정 명령의 다른 세트가 CMMT에 의해 참조된다.
다르게는, 멀티모달 어플리케이션(54)은 필요한 CMMT 정보를 제공하여, 동시멀티모달 세션 동안에 복수의 사용자 에이전트 프로그램에 의한 출력의 동기화를 용이하게 한다. 각 사용자 에이전트 프로그램에 대한 모달리티 특정 명령의 하나의 예가 마크업 언어 형식으로 이하에 도시되어 있다. 마크업 언어 형식은 멀티모달 어플리케이션(54)에 의해 제공되고 멀티모달 퓨젼 서버(14)에 의해 이용되어, 동시 멀티모달 통신 세션을 제공한다. 멀티모달 음성XML 해석기(50)는 멀티모달 어플리케이션(54)이 베이스 언어로서 음성XML을 이용하는 것으로 가정한다. 사용자에 대한 복수의 사용자 에이전트 프로그램에 의한 출력의 동기화를 용이하게 하기 위해, 멀티모달 어플리케이션(54)은 음성XML 형식의 확장이나 HTML 형식으로의 인덱스와 같은 동시 멀티모달 태그(CMMT)를 포함하거나 인덱스하도록 저작될 수 있다. CMMT는 모달리티를 식별하고 식별된 모달리티에서 사용자 에이전트 프로그램들 중 하나에 의해 출력되는 실제 HTML 형식과 같은 정보를 포인팅하거나 포함한다. CMMT는 또한 그 존재는 다른 사용자 에이전트 프로그램으로 다른 모달리티 특정 명령을 동기화할 필요성을 나타낸다는 점에서 멀티모달 동기화 데이터로서 기능한다.
예를 들면, 음성XML이 멀티모달 어플리케이션(54)의 베이스 언어인 경우, CMMT는 텍스트 모드를 가리킬 수 있다. 본 예에서, CMMT는 사용자 에이전트 프로그램에 의해 출력된 HTML로 된 텍스트를 포함하는 URL을 포함하거나, CMMT의 일부로서 HTML을 포함할 수 있다. CMMT는 마크업 언어의 속성 확장자의 특성을 가질 수 있다. 멀티모달 음성XML 해석기(50)는 정보 페처(46)를 이용하여 모달리티 특정 명령을 페치하고, 멀티모달 어플리케이션으로부터의 페치된 모달리티 특정 명령을 분석하여(본 예에서는, 실행하여) CMMT를 검출한다. 일단 검출되는 경우, 멀티모달 음성XML 해석기(50)는 CMMT를 해석하고 필요한 경우에 텍스트 모드를 위한 HTML과 같은 임의의 다른 모달리티 특정 명령을 얻는다.
예를 들면, CMMT는 그래픽 브라우저에 대해 텍스트 정보를 어디에서 얻을 지를 가리킬 수 있다. 그래픽 브라우저가 "from city" 및 "to city"를 표시하는 동안에, 음성 브라우저에게 "where from" 및 "where to"를 묻는 음성을 출력하도록 요구하는 동시 멀티모달 어플리케이션에 대해 음성XML의 형식으로 된 동시 멀티모달 여정 어프리케이션에 대한 모달리티 특정 명령의 예를 도시하는 표가 아래에 제시된다. 다른 브라우저를 통해 사용자에 의해 입력되는 수신된 동시 멀티모달 정보는 "from city" 및 "to city"로 지정된 필드에 의해 예측된다.
그러므로, 상기 마크업 언어 형식은 적어도 하나의 사용자 에이전트 프로그램에 대한 모달리티 특정 명령을 나타내는 베이스 마크업 언어로 저작되고, CMMT는 다른 모달리티로 동작하는 또 하나의 사용자 에이전트 프로그램에 대한 모달리티 특정 명령을 지정하는 확장자이다.
블록 311에 도시된 바와 같이, 사용자가 선호도를 변경한 경우에, 방법은 프록시가 변경과 일치하도록 리셋하는 것을 포함한다. 블록 312에 도시된 바와 같이, 멀티모달 퓨젼 서버(14)는 청취 포인트가 도달되었는지를 결정한다. 그렇다면, 블록 314에 도시된 바와 같이, 다음 상태로 들어간다. 그렇다면, 프로세스는 종료한다. 그렇지 않다면, 방법은 다른 사용자 에이전트 프로그램에 대한 모달리티-특정 명령을 동기화하는 것을 포함한다. 본 예에서, 멀티모달 음성XML 해석기(50)는 복수의 사용자 에이전트 프로그램에 의한 동기화된 출력을 위해 사용자 에이전트 프로그램(30)에 대한 HTML 및 사용자 에이전트(34)에 대한 음성XML을 동시 멀티모달 동기화 조정기(42)에 출력한다. 이것은 예를 들면 상기 지적한 바와 같이 청취 포인트의 발생에 기초하여 수행될 수 있다. 이것은 블록 316에 도시되어 있다.
블록 318에 도시된 바와 같이, 방법은 동일한 세션 동안에 사용자에 의해 다른 모달리티로 사용자 입력 정보를 요구하도록 동기화된 모달리티-특정 명령(68 및 70)을 대응하는 프록시(38a 및 38n)에 예를 들면 동시 멀티모달 동기화 조정기(42)에 의해 전송하는 것을 포함한다. 동기화된 요구(68 및 70)는 각 사용자 에이전트 프로그램(30 및 34)에 전송된다. 예를 들면, 다른 사용자 에이전트 프로그램과 연관된 복수의 입력 모달리티에 대응하는 동시 다른 모달리티 입력 정보에 대한 요구가 모달리티 특정 명령(68 및 70)을 포함하는 동기화된 요구로서 도시되어 있다. 이들은 예를 들면 마크업 언어 형식으로 동기화될 수 있다.
일단 사용자 에이전트 프로그램(30 및 34)이 모달리티-특정 명령을 동시에 렌더링하면, 방법은 블록 320에 도시된 바와 같이 타임 아웃 기간 내에 사용자 입력이 수신되었는지 여부 또는 다른 이벤트가 발생했는지를 결정한다. 예를 들면, 멀티모달 퓨젼 엔진(44)은 기간을 대기하여, 사용자에 의해 입력되는 멀티모달 입력 정보가 융합을 위해 복수의 사용자 에이전트 프로그램으로부터 적절하게 수신되었는지 여부를 결정한다. 이러한 대기 기간은 각 사용자 에이전트 프로그램의 모달리티 설정에 따른 다른 기간일 수 있다. 예를 들면, 사용자는 음성 및 텍스트 정보 모두를 동시에 입력할 예정이지만 멀티모달 퓨젼 엔진이 기간 내의 융합을 위한 정보를 수신하지 못하는 경우, 에러가 발생되었다고 가정한다. 더구나, 음성 정보가 음성 게이트웨이(16)를 통해 처리되는데 더 많은 시간이 걸리므로, 멀티모달 퓨젼 엔진(44)은 텍스트 정보보다 음성 정보가 리턴되는데 더 많은 시간이 경과하도록 허용한다.
본 예에서, 사용자에게 사용자 에이전트 프로그램(30)을 통해 텍스트를 입력하고, 사용자 에이전트 프로그램(34)에 음성 정보를 동시에 제공하기 위해 마이크로폰에 말하라고 요구된다. 사용자 에이전트 프로그램(30 및 34)으로부터 수신된 바와 같은 수신된 동시 멀티모달 입력 정보(72 및 74)는 적절한 통신 링크를 통해 각 프록시에 패싱된다. 유의할 점은, 사용자 에이전트 프로그램(34)과 디바이스(12)의 마이크로폰 및 스피커 사이에 참조부호 76으로 지정된 통신은 PCM 포맷 또는 임의의 다른 적절한 포맷으로 통신되고, 본 예에서는 사용자 에이전트 프로그램에 의해 출력되는 모달리티-특정 명령 포맷으로는 아니다.
사용자가 텍스트 브라우저 및 음성 브라우저를 통해 동시에 정보를 입력하여 멀티모달 퓨젼 엔진(44)이 복수의 사용자 에이전트 프로그램으로부터 전송된 동시 멀티모달 입력 정보를 수신한 경우, 멀티모달 퓨젼 엔진(44)은 블록 322에 도시된 바와 같이 사용자로부터 수신된 입력 정보(72 및 74)를 융합한다.
도 4는 멀티모달 퓨젼 엔진(44)의 동작의 한 예를 예시하고 있다. 예시의 목적을 위해, 하나의 이벤트에 대해, "no input"은 이 모드를 통해 사용자에 의해 입력된 것이 아무것도 없음을 의미한다. "no match"는 입력이 되었지만 예상된 값이 아니라는 것을 의미한다. 결과는 사용자에 의한 성공적인 입력으로부터의 슬롯(또는 필드) 이름 및 대응하는 값 쌍의 세트이다. 예를 들면, 성곡적인 입력은 "City=Chicago", "state=Illinois", "Street"="first street", 및 예를 들면 0% 내지 100%인 신뢰 가중 인자일 수 있다. 앞서서 지적한 바와 같이, 멀티모달 퓨젼 엔진(44)이 정보를 융합할지 여부는 슬롯 이름(예를 들면, 변수) 및 값 쌍의 수신 또는 예상 수신 간의 시간량 또는 다른 이벤트의 수신에 기초하여 좌우될 수 있다. 방법은 신뢰 레벨이 수신된 정보에 할당된 것으로 가정한다. 예를 들면, 동기화 조정기는 모달리티 및 정보 도달 시간에 기초하여 신뢰를 가중한다. 예를 들면, 동일한 세션 동안에 동일한 슬롯 데이터가 다른 모드를 통해 입력될 수 있는 경우에(예를 들면, 거리 이름을 말하고 이를 타이핑함) 말로 표현된 데이터보다 타이핑된 데이터가 더 정확한 것으로 가정한다. 동기화 조정기는 수신된 시간 및 수신된개별 결과들의 신뢰 값들에 기초하여 동시 다른 멀티모달 정보에 대한 요구에 응답하여 저농된 복수의 사용자 에이전트 프로그램들 중 하나로부터 전송된 수신된 멀티모달 입력 정보를 조합한다.
블록 400에 도시된 바와 같이, 방법은 이벤트 또는 비음성 모드로부터의 결과가 있었는지 여부를 결정하는 것을 포함한다. 그렇다면, 블록 402에 도시된 바와 같이, 방법은 "no input" 및 "no match"이벤트를 제외하고 임의의 모드로부터 임의의 이벤트가 있었는지 여부를 결정하는 것을 포함한다. 예라면, 방법은 블록 404에 도시된 바와 같이 해석기(50)에 수신된 제1 그러한 이벤트를 리턴하는 것을 포함한다. 그러나, "no input" 및 "no match"를 제외하고 사용자 에이전트 프로그램으로부터 이벤트가 존재하지 않은 경우, 프로세스는 블록 406에 도시된 바와 같이 멀티모달 퓨젼 엔진에 대한 2개 이상의 결과를 전송한 임의의 모드에 대해 수신된 시간 순서로 그 모드의 결과를 조합하는 것을 포함하는 방법을 포함한다. 이것은 사용자가 동일한 슬롯에 대해 입력을 재입력하는 경우에 유용하다. 주어진 슬롯 이름에 대한 나중 값은 이전 값들을 무시한다. 멀티모달 퓨젼 엔진은 이를 구성하는 개별적인 결과들의 신뢰 가중에 기초하여 모드의 결과 신뢰 가중을 조정한다. 각 모달리티에 대해, 최종 결과는 각 슬롯 이름에 대한 하나의 답변이다. 방법은 블록 408에 도시된 바와 같이, 블록 406으로부터 임의의 결과를 취하고 이들을 모든 모드에 대한 하나의 조합된 결과로 조합하는 것을 포함한다. 방법은 최소 신뢰 결과로 시작하여 최대 신뢰 결과로 진행하는 것을 포함한다. 융합된 결과의 각 슬롯 이름은 그 슬롯의 정의를 가지는 최대 신뢰 입력 결과에 속하는 슬롯 값을수신한다.
블록 410에 도시된 바와 같이, 방법은 이제 조합된 결과가 있는지, 환언하면 사용자 에이전트 프로그램이 멀티모달 퓨젼 엔진(44)에 대한 결과를 전송했는지를 결정한다. 그렇다면, 방법은 블록 412에 도시된 바와 같이, 조합된 결과를 컨텐트 서버(18)에 리턴하는 것을 포함한다. 그렇지 않다면, 블록 414에 도시된 바와 같이, 제로 또는 더 이상의 "no input" 및 "no match"이벤트가 있음을 의미한다. 방법은 임의의 "no match"이벤트가 있는지를 결정하는 것을 포함한다. 그렇다면, 방법은 블록 416에 도시된 바와 같이 no match 이벤트를 리턴하는 것을 포함한다. 그러나, "no match"이벤트가 존재하지 않는 경우, 방법은 블록 418에 도시된 바와 같이 "no input"이벤트를 해석기(50)에 리턴하는 것을 포함한다.
블록 400으로 리턴하여, 이벤트 또는 비음성 모드로부터의 결과가 없는 경우, 방법은 음성 모드가 결과를 리턴했는지, 즉 사용자 에이전트 프로그램(34)이 수신된 정보(74)를 생성했는지를 결정하는 것을 포함한다. 이것은 블록 420에 도시되어 있다. 그렇다면, 블록 422에 도시된 바와 같이, 방법은 수신된 입력 정보의 음성 응답을 멀티모달 어플리케이션(54)에 리턴하는 것을 포함한다. 그러나, 음성 브라우저(예를 들면, 사용자 에이전트 프로그램)가 정보를 출력하지 않은 경우, 방법은 블록 424에 도시된 바와 같이 음성 모드가 이벤트를 리턴했는지를 결정하는 것을 포함한다. 예라면, 그 이벤트가 블록 426에 도시된 바와 같이 멀티모달 어플리케이션(54)에 보고된다(참조부호 73). 음성 모드 이벤트가 전혀 생성되지 않았다면, 방법은 블록 428에 도시된 바와 같이 "no input"이벤트를 리턴하는 것을포함한다.
이하의 표 2는 가상의 데이터에 적용된 도 4의 방법의 예를 예시하고 있다.
예를 들면, 블록 400에서 비음성 모드로부터 어떠한 결과도 수신되지 않은 경우, 모드는 블록 402로 진행한다. 블록 402에서 , 어떠한 이벤트도 수신되지 않으면, 방법은 블록 406으로 진행한다. 블록 406에서, 퓨젼 엔진은 TextModeCollectedData를 슬롯당 하나의 응답으로 붕괴시킨다. VoiceModeCollectedData는 그대로 유지된다.
VoiceModeCollectedData
STREETNAME=Michigan
TIMESTAMP=0
CONFIDENCELEVEL=0.85
NUMBER=12
TIMESTAMP=0
CONFIDENCELEVEL=0.99
OVERALLCONFIDENCE=0.85
음성 모드는 그대로 유지된다. 그러나, 0.85가 결과 셋트에서 최하위 신뢰이므로 0.85의 전체 신뢰값이 할당된다.
TextModeCollectedData
STREETNAME=Michigan
TIMESTAMP=0
CONFIDENCELEVEL=1.0
STREETNAME=LaSalle
TIMESTAMP=1
CONFIDENCELEVEL=1.0
텍스트 모드는 그 슬롯이 LaSalle의 나중 시간스탬프로 채워졌으므로 수집된 데이터로부터 Michigan을 제거한다. 최종 결과를 이와 같이 보인다. 1.0이 결과 셋트에서 최하위 신뢰 레벨이므로 1.0의 전체 신뢰 레벨이 할당된다.
TextModeCollectedData
STREETNAME=LaSalle
TIMESTAMP=1
CONFIDENCELEVEL=1.0
OVERALLCONFIDENCE=1.0
이어지는 것은 블록 408에 전송된 데이터이다.
VoiceModeCollectedData
STREETNAME=Michigan
TIMESTAMP=0
CONFIDENCELEVEL=0.85
NUMBER=112
TIMESTAMP=0
CONFIDENCELEVEL=0.99
OVERALLCONFIDENCE=0.85
TextModeCollectedData
STREETNAME=LaSalle
TIMESTAMP=1
CONFIDENCELEVEL=1.0
OVERALLCONFIDENCELEVEL=1.0
블록 408에서, 2가지 모드가 하나의 리턴 결과로 유효하게 융합된다.
우선, 최하위 신뢰 레벨의 전체 결과가 취해져 최종 결과 구조에 도입된다.
FinalResult
STREETNAME=Michigan
CONFIDENCELEVEL=0.85
NUMBER=112
CONFIDENCELEVEL=0.99
그리고나서, 다음 최하위 결과의 임의의 요소가 최종 결과로 대체된다.
FinalResult
STREETNAME=LaSalle
CONFIDENCELEVEL=1.0
NUMBER=112
CONFIDENCELEVEL=0.99
이러한 최종 결과는 2가지 모달리티의 융합으로부터 나타나고, 이는 다음에 무엇을 할지를 결정하는 해석기에 전송된다(웹으로부터 더 많은 정보를 페치하거나 더 많은 정보를 결정하는 것은 사용자로부터 요구되고 이들 현재 상태에 기초하여 재-프롬프트한다.)
도 5는 동시 멀티모달 세션 지속성 컨트롤러(600) 및 동시 멀티모달 세션 지속성 컨트롤러(600)에 결합되는 동시 멀티모달 세션 상태 메모리(602)를 포함하는 멀티모달 퓨젼 서버(14)의 다른 실시예를 예시하고 있다. 동시 멀티모달 모덜 세션 지속성 컨트롤러(600)는 적절한 처리 디바이스 상에서 운용되는 소프트웨어 모듈이거나, 임의의 적절한 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 적절한 조합일 수 있다. 동시 멀티모달 세션 지속성 컨트롤러(600)는 비-세션 조건 동안에 사용자별 기반으로 동시 멀티모달 세션 상태 정보(604)를 데이터베이스 또는 다른 적절한 데이터 구조의 형태로 유지한다. 동시 멀티모달 세션 상태 정보(604)는 세션 동안에 다른 동시 모달리티 통신을 위해 구성된 복수의 사용자 에이전트 프로그램의 상태 정보이다. 동시 멀티모달 세션 지속성 컨트롤러(600)는 동시 멀티모달 세션 상태 정보(604)를 액세스하는 것에 응답하여 이전에 종료된 동시 멀티모달 세션을 재-확립한다. 멀티모달 세션 컨트롤러(40)는 사용자가 세션에 참여했을 때 동시 멀티모달 세션 지속성 컨트롤러(600)에 통지한다. 멀티모달 세션 컨트롤러(40)는 또한 동시 멀티모달 동기화 조정기와 통신하여, 오프라인 디바이스와의 통기화를 제공하거나 동시 멀티모달 세션을 재확립하는데 필요한 임의의 사용자 에이전트 프로그램과 동기화한다.
동시 멀티모달 세션 지속성 컨트롤러(600)는 예를 들면 이전 동시 멀티모달 통신 세션 동안에 주어진 모드에 이용되는 프록시를 가르키는 URL과 같은 프록시 ID 데이터(906)를 저장한다. 원하는 경우, 동시 멀티모달 세션 상태 메모리(602)는 임의의 그러한 필드 또는 슬롯의 컨텐트와 함께 이전 동시 멀티모달 통신 세션 동안에 사용자 입력에 의해 어느 필드 또는 슬롯이 채워졌는지를 가리키는 정보를 포함할 수 있다. 뿐만 아니라, 동시 멀티모달 세션 상태 메모리(602)는 동시 멀티모달 통신 세션에 대한 현재 다이얼로그 상태(606)를 포함한다. 일부 상태들은 실행중인 어플리케이션의 실행시 해석기(50)가 존재하는 장소를 포함한다. 사용자에 의해 채워진 필드 상의 정보는 융합된 입력 정보(60)의 형태로 되어 있다.
도시된 바와 같이, 웹 서버(18)는 각 모달리티 타입에 대해 모달리티 특정 명령을 제공한다. 본 예에서, 텍스트는 HTML의 형식으로 제공되고, 음성은 음성XML의 형식으로 제공되며, 음성은 WML 형식으로 제공된다. 동기 멀티모달 동기화 조정기(42)는 적절한 형식을 적절한 프록시에 출력한다. 도시된 바와 같이, 음성XML 형식은 음성 브라우저에 대해 지정된 프록시(38a)를 통해 출력되는데 반해,HTML 형식은 그래픽 브라우저에 대한 프록시(38n)에 출력된다.
세션 지속성 유지는 세션이 비정상적으로 종료되고 사용자가 나중에 동일한 다이얼로그 상태로 되돌아오고 싶은 경우에 유용하다. 다른 모달리티에서 입력과 출력 사이에서 래그 시간을 유발하고 시간 지연을 보상하기 위해 일시적으로 정보를 저장할 필요를 생성하는 다른 지연 특성을 가지는 모달리티 이용 트랜스포트 메커니즘에 유용하다.
도 6-7에 도시된 바와 같이, 동시 멀티모달 세션 지속성 컨트롤러(600)는 주어진 세션에 대해 주어진 사용자에 대한 복수의 사용자 에이전트 프로그램을 위한 멀티모달 세션 상태 정보를 유지하고, 사용자 에이전트 프로그램은 세션 동안에 다른 동시 모달리티 통신을 위해 구성되었다. 이것은 블록 700에 도시되어 있다. 블록 702에 도시된 바와 같이, 방법은 멀티모달 세션 상태 정보(604)에 액세스하는 것에 응답하여 이전 동시 멀티모달 세션을 재확립하는 것을 포함한다. 블록 704에 더 상세하게 도시된 바와 같이, 동시 멀티모달 세션 동안에, 동시 멀티모달 세션 지속성 컨트롤러(600)는 메모리(602)에 사용자당 멀티모달 세션 상태 정보(604)를 저장한다. 블록 706에 도시된 바와 같이, 동시 멀티모달 세션 지속성 컨트롤러(600)는 세션 컨트롤러로부터 사용자에 의한 세션의 참여를 검출하고, 사용자 ID에 대한 메모리를 탐색하여 사용자가 이전 동시 멀티모달 세션에 참여했는지를 결정한다. 따라서, 블록 708에 도시된 바와 같이, 방법은 세션에 참여하는 사용자의 검출에 기초하여 메모리(602)의 저장된 멀티모달 세션 상태 정보(604)에 액세스하는 것을 포함한다.
블록 710에 도시된 바와 같이, 방법은 세션이 메모리(640)에 존재하는지를 결정하는 것을 포함한다. 그렇지 않은 경우, 세션은 새로운 세션으로서 지정되고, 새로운 세션을 메모리(602)에 기록하기 위한 필수적인 데이터를 차지하도록 새로운 엔트리가 생성된다. 이것은 블록 712에 도시되어 있다. 블록 714에 도시된 바와 같이, 세션이 존재하는 경우, 즉 세션 ID가 메모리(602)에 존재하는 경우, 방법은 사용자가 운용 중인 존재하는 어플리케이션을 가지고 있는 경우에, 그리고 그렇다면 사용자가 어플리케이션과 통신을 재확립하고 싶은 경우에, 메모리(602)에 질의하는 것을 포함한다. 사용자가 그렇게 원한다면, 방법은 메모리(602)로부터 최종 페치된 정보의 URL을 검색하는 것을 포함한다. 이것은 블록 716(도 7)에 도시되어 있다. 블록 718에 도시된 바와 같이, 적절한 프록시(38a-38n)에는 블록 716에서 검색된 대로 적절한 URL이 주어진다. 블록 720에 도시된 바와 같이, 방법은 메모리(602)에 저장된 저장된 사용자 에이전트 상태 정보(606)에 기초하여 프록시를 통해 적절한 사용자 에이전트 프로그램에 요구를 전송하는 것을 포함한다.
도 8은 동시 멀티모달 세션 상태 메모리(602)의 컨텐트의 하나의 예를 예시하는 도이다. 도시된 바와 같이, 사용자 ID(900)는 특정 사용자를 지정하고 세션 ID(902)는 사용자가 메모리(602)에 저장된 복수의 세션을 가지고 있는 경우에 사용자 ID와 연관된다. 뿐만 아니라, 사용자 에이전트 프로그램 ID(904)는 예를 들면 어느 디바이스가 특정 사용자 에이전트 프로그램을 운용하고 있는지에 관한 디바이스 ID를 가리킨다. 프로그램 ID는 사용자 프로글매 식별자, URL 또는 다른 어드레스일 수 있다. 멀티모달 프록시를 가리키는 프록시 ID 데이터(96)는 이전 동시 멀티모달 통신 동안에 이용된다. 그러한 것으로서, 사용자는 세션을 종료하고 나중에 사용자가 떠난 곳에서 계속할 수 있다.
디바이스 ID(904)를 유지하는 것은 특히 시스템이 동시 멀티모달 세션 동안에 채용되는 디바이스의 식별을 유지할 수 있게 하여, 동시 멀티모달 통신 동안에 사용자에 의한 디바이스의 스위칭을 용이하게 한다.
따라서, 하나 이상의 디바이스들에 걸쳐 분산된 분리된 사용자 에이전트 프로그램을 통해 다른 모달리티를 통해 입력되는 다중 입력들은 (또는 이들이 동일한 디바이스에 포함된 경우에) 단일성있고 응집성있게 융합된다. 또한, 사용자 에이전트 프로그램의 렌더링 및 이들 사용자 에이전트 프로그램을 통한 사용자에 의한 정보 입력을 동기화하는 메커니즘이 제공된다. 뿐만 아니라, 기재된 멀티모달 퓨젼 서버는 존재하는 디바이스 및 게이트웨이에 결합되어 동시 멀티모달 통신 세션을 제공할 수 있다.
여러 가지 양태의 본 발명의 다른 변동 및 변형 구현이 본 기술분야의 통상의 기술자에게는 알려져 있고 본 발명이 기재된 특정 실시예들로 제한되지 않는다는 것은 자명하다. 예를 들면, 방법들이 특정 단계들로 기재되어 있지만, 상기 단계들은 원하는 대로 임의의 적절한 순서로 수행될 수 있다는 것은 자명하다. 그러므로, 여기에 기재되고 청구되는 기본적인 원리의 사상과 범주내에 드는 임의의 그리고 모든 변형, 변동 또는 등가를 본 발명이 포함한다는 것을 잘 알고 있을 것이다.

Claims (9)

  1. 멀티모달 통신을 위한 방법에 있어서,
    비-세션(non-session) 조건 동안 및 사용자별 기반으로, 세션 동안에 다른 동시 모달리티(modality) 통신을 위해 구성된 사용자 에이전트 프로그램의 동시 멀티모달 세션 상태 정보를 유지하는 단계; 및
    상기 동시 멀티모달 세션 상태 정보에 액세스하는 것에 응답하여 동시 멀티모달 세션을 재확립하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 비-세션 조건 동안 및 사용자별 기반으로, 세션 동안에 다른 동시 모달리티 통신을 위해 구성된 사용자 에이전트 프로그램의 동시 멀티모달 세션 상태 정보를 유지하는 단계는, 세션 동안,
    최종적으로 페치된 정보가 동시 멀티모달 통신 세션 동안 이용된 복수의 사용자 에이전트(agent) 프로그램 각각에 대해 얻어진 위치를 나타내는 위치 데이터;
    상기 동시 멀티모달 통신 세션동안 사용자 입력에 의해 채워진 필드 및 필드 콘텐츠에 관한 정보; 및
    상기 동시 멀티모달 통신 세션에 대한 현재의 다이얼로그(dialogue) 상태 중 적어도 하나를 저장하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    사용자에 의해 세션의 결합을 검출하는 단계;
    동시 멀티모달 세션 상태 정보를 액세싱하는 단계; 및
    상기 액세싱된 동시 멀티모달 세션 상태 정보가 사용자에 대한 이전의 동시 멀티모달 세션을 나타내면, 상기 동시 멀티모달 세션 상태 정보에 의해 식별된 상기 동시 멀티모달 세션을 재 확립하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    동시 멀티모달 통신 동안 디바이스의 스위칭을 용이하게 하기 위해, 동시 멀티모달 세션동안 채용되는 디바이스를 유지하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    세션동안, 제2의 복수의 사용자 에이전트 프로그램에 대한 모달리티 특정 명령과 관련된 통신 지연을 보상하기 위해 서로에 관련된 다른 모달리티내에서 동작하는 복수의 사용자 에이전트 프로그램 중 적어도 하나에 대한 모달리티 특정 명령을 임시로 저장하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    멀티모드 뮤트(mute) 데이터를 수신하고, 멀티모달 통신에 대한 모달리티가 주어진 세션동안 뮤트되는 것에 대한 레코드를 저장하는 단계를 포함하는 방법.
  7. 멀티모달 장치에 있어서,
    비-세션 조건 동안 및 사용자별 기반으로, 세션 동안에 다른 동시 모달리티 통신을 위해 구성된 사용자 에이전트 프로그램의 동시 멀티모달 세션 상태 정보를 유지하며, 상기 동시 멀티모달 세션 상태 정보에 액세스하는 것에 응답하여 동시 멀티모달 세션을 재확립하도록 동작하는 동시 멀티모달 세션 지속성 컨트롤러; 및
    상기 동시 멀티모달 세션 지속성 컨트롤러에 동작가능하게 결합되고, 상기 동시 멀티모달 세션 상태 정보를 포함하는 메모리를 포함하는 멀티모달 장치.
  8. 제7항에 있어서,
    상기 메모리는,
    이전의 동시 멀티모달 통신 세션에서 이용된 이전의 프록시(proxy)를 나타내는 프록시 식별 데이터;
    상기 동시 멀티모달 통신 세션동안 사용자 입력에 의해 채워진 필드 및 필드 콘텐츠에 대한 정보; 및
    상기 동시 멀티모달 통신 세션에 대한 현재의 다이얼로그 상태 중 적어도 하나를 포함하는 멀티모달 장치.
  9. 제7항에 있어서,
    상기 동시 멀티모달 세션 지속성 컨트롤러는 상기 메모리내에 포함된 상기동시 멀티모달 세션 상태 정보에 액세싱하고, 액세싱된 동시 멀티모달 세션 상태 정보가 사용자에 대한 이전의 동시 멀티모달 세션을 나타내면, 상기 동시 멀티모달 세션 상태 정보에 의해 식별된 동시 멀티모달 세션의 재 확립을 용이하게 하는 멀티모달 장치.
KR1020047013375A 2002-02-27 2003-02-06 동시 멀티모달 통신 세션 지속성을 위한 시스템 및 방법 KR100610286B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/085,989 US6912581B2 (en) 2002-02-27 2002-02-27 System and method for concurrent multimodal communication session persistence
US10/085,989 2002-02-27
PCT/US2003/003656 WO2003073623A2 (en) 2002-02-27 2003-02-06 System and method for concurrent multimodal communication session persistence

Publications (2)

Publication Number Publication Date
KR20040095234A true KR20040095234A (ko) 2004-11-12
KR100610286B1 KR100610286B1 (ko) 2006-08-09

Family

ID=27753768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047013375A KR100610286B1 (ko) 2002-02-27 2003-02-06 동시 멀티모달 통신 세션 지속성을 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US6912581B2 (ko)
JP (2) JP4439920B2 (ko)
KR (1) KR100610286B1 (ko)
CN (1) CN100478923C (ko)
AU (1) AU2003209036A1 (ko)
FI (1) FI123321B (ko)
WO (1) WO2003073623A2 (ko)

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938688B2 (en) * 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US7712053B2 (en) * 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US7720682B2 (en) 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
US7679534B2 (en) * 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US7881936B2 (en) * 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7117446B2 (en) * 1999-02-01 2006-10-03 Sonic Solutions, Inc. User interface method and system for application programs implemented with component architectures
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7286115B2 (en) * 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
NZ519928A (en) * 1999-05-27 2004-07-30 America Online Inc Keyboard system with automatic correction
US7821503B2 (en) * 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US7610194B2 (en) * 2002-07-18 2009-10-27 Tegic Communications, Inc. Dynamic database reordering system
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US8238881B2 (en) 2001-08-07 2012-08-07 Waloomba Tech Ltd., L.L.C. System and method for providing multi-modal bookmarks
US8213917B2 (en) 2006-05-05 2012-07-03 Waloomba Tech Ltd., L.L.C. Reusable multimodal application
US7747561B1 (en) * 2002-05-02 2010-06-29 Palmsource Inc. Synchronization protocol for synchronizing data between nodes
US8583440B2 (en) * 2002-06-20 2013-11-12 Tegic Communications, Inc. Apparatus and method for providing visual indication of character ambiguity during text entry
EP1394692A1 (en) * 2002-08-05 2004-03-03 Alcatel Method, terminal, browser application, and mark-up language for multimodal interaction between a user and a terminal
US20040034531A1 (en) * 2002-08-15 2004-02-19 Wu Chou Distributed multimodal dialogue system and method
US20060100881A1 (en) * 2002-11-13 2006-05-11 Intel Corporation Multi-modal web interaction over wireless network
US7769811B2 (en) * 2003-03-03 2010-08-03 Aol Llc Instant messaging sound control
US7221938B2 (en) * 2003-08-20 2007-05-22 Sbc Knowledge Ventures, L.P. System and method for multi-modal monitoring of a network
US7437457B1 (en) * 2003-09-08 2008-10-14 Aol Llc, A Delaware Limited Liability Company Regulating concurrent logins associated with a single account
US7636083B2 (en) * 2004-02-20 2009-12-22 Tegic Communications, Inc. Method and apparatus for text input in various languages
JP4421946B2 (ja) * 2004-05-31 2010-02-24 京セラ株式会社 通信端末装置およびその通信方法
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7921163B1 (en) 2004-07-02 2011-04-05 Aol Inc. Routing and displaying messages for multiple concurrent instant messaging sessions involving a single online identity
EP1615124A1 (en) * 2004-07-07 2006-01-11 Alcatel Alsthom Compagnie Generale D'electricite A method for handling a multi-modal dialog
US8923838B1 (en) 2004-08-19 2014-12-30 Nuance Communications, Inc. System, method and computer program product for activating a cellular phone account
US7818379B1 (en) 2004-08-31 2010-10-19 Aol Inc. Notification and disposition of multiple concurrent instant messaging sessions involving a single online identity
US7912186B2 (en) * 2004-10-20 2011-03-22 Microsoft Corporation Selectable state machine user interface system
US7551727B2 (en) * 2004-10-20 2009-06-23 Microsoft Corporation Unified messaging architecture
US7920681B2 (en) * 2004-11-05 2011-04-05 International Business Machines Corporation System, apparatus, and methods for creating alternate-mode applications
US7356567B2 (en) * 2004-12-30 2008-04-08 Aol Llc, A Delaware Limited Liability Company Managing instant messaging sessions on multiple devices
US7565357B2 (en) * 2004-12-30 2009-07-21 Alcatel Lucent Multi-sensor communication system
US7778397B2 (en) * 2005-03-10 2010-08-17 Avaya Inc. Dynamic video generation in interactive voice response systems
GB0507148D0 (en) * 2005-04-08 2005-05-18 Ibm Method and apparatus for multimodal voice and web services
US8139725B2 (en) * 2005-04-22 2012-03-20 The Invention Science Fund I, Llc Associated information in structured voice interaction systems
US7924985B2 (en) * 2005-04-21 2011-04-12 The Invention Science Fund I, Llc Interaction history applied to structured voice interaction system
US7813485B2 (en) * 2005-05-26 2010-10-12 International Business Machines Corporation System and method for seamlessly integrating an interactive visual menu with an voice menu provided in an interactive voice response system
US7464341B2 (en) * 2005-06-30 2008-12-09 International Business Machines Corporation Canceling window close commands
KR100689774B1 (ko) * 2005-07-20 2007-03-08 주식회사 현대오토넷 텔레매틱스 단말기와 컴퓨터간 동기화 서비스를 제공하는홈 텔레매틱스 시스템 및 그 방법
US20090144626A1 (en) * 2005-10-11 2009-06-04 Barry Appelman Enabling and exercising control over selected sounds associated with incoming communications
US8756326B1 (en) 2005-11-08 2014-06-17 Rockstar Consortium Us Lp Using interactive communication session cookies in web sessions
US20070106670A1 (en) * 2005-11-08 2007-05-10 Nortel Networks Limited Interactive communication session cookies
US8504606B2 (en) * 2005-11-09 2013-08-06 Tegic Communications Learner for resource constrained devices
US20070118661A1 (en) * 2005-11-23 2007-05-24 Vishwanathan Kumar K System and method for mobile digital media content delivery and services marketing
US7751848B2 (en) * 2005-11-23 2010-07-06 Envio Networks Inc. Systems and methods for providing concurrent mobile applications to mobile communication devices
US7587378B2 (en) * 2005-12-09 2009-09-08 Tegic Communications, Inc. Embedded rule engine for rendering text and other applications
US7716682B2 (en) * 2006-01-04 2010-05-11 Oracle International Corporation Multimodal or multi-device configuration
US20070161369A1 (en) * 2006-01-11 2007-07-12 Envio Networks Inc. Methods for Intelligent Number Dialing Assistance and Related Marketing Techniques
WO2007087553A2 (en) * 2006-01-24 2007-08-02 Envio Networks Inc. Methods for marketing digital content to mobile communication device users
US7512408B2 (en) * 2006-02-16 2009-03-31 Softwired Ag Scalable wireless messaging system
US7739391B2 (en) * 2006-02-16 2010-06-15 Softwired Ag Gateway for wireless mobile clients
US7580925B2 (en) 2006-04-19 2009-08-25 Tegic Communications, Inc. Efficient storage and search of word lists and other text
US7970909B1 (en) 2006-06-22 2011-06-28 At&T Intellectual Property I, L.P. Method and system for associating concurrent telephone and data network sessions
US8233894B2 (en) * 2006-08-23 2012-07-31 Resource Consortium Limited System and method for sending mobile media content to another mobile device user
US20080104169A1 (en) * 2006-10-30 2008-05-01 Microsoft Corporation Processing initiate notifications for different modes of communication
US8009811B2 (en) 2006-11-10 2011-08-30 Verizon Patent And Licensing Inc. Testing and quality assurance of interactive voice response (IVR) applications
US8229080B2 (en) * 2006-11-10 2012-07-24 Verizon Patent And Licensing Inc. Testing and quality assurance of multimodal applications
US20080148014A1 (en) * 2006-12-15 2008-06-19 Christophe Boulange Method and system for providing a response to a user instruction in accordance with a process specified in a high level service description language
US20080154576A1 (en) * 2006-12-21 2008-06-26 Jianchao Wu Processing of reduced-set user input text with selected one of multiple vocabularies and resolution modalities
US8160532B2 (en) 2007-01-08 2012-04-17 Skyweaver, Inc. Community interaction using mobile communication devices
US8225203B2 (en) * 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US8201087B2 (en) * 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
US8103499B2 (en) * 2007-03-22 2012-01-24 Tegic Communications, Inc. Disambiguation of telephone style key presses to yield Chinese text using segmentation and selective shifting
US8725513B2 (en) * 2007-04-12 2014-05-13 Nuance Communications, Inc. Providing expressive user interaction with a multimodal application
US8299943B2 (en) * 2007-05-22 2012-10-30 Tegic Communications, Inc. Multiple predictions in a reduced keyboard disambiguating system
US10133372B2 (en) * 2007-12-20 2018-11-20 Nokia Technologies Oy User device having sequential multimodal output user interface
US9386154B2 (en) * 2007-12-21 2016-07-05 Nuance Communications, Inc. System, method and software program for enabling communications between customer service agents and users of communication devices
US20090181702A1 (en) * 2008-01-14 2009-07-16 Microsoft Corporation Multi-mode communication
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
CA2720398C (en) 2008-04-02 2016-08-16 Twilio Inc. System and method for processing telephony sessions
US8379637B2 (en) 2008-05-27 2013-02-19 Microsoft Corporation Bypassing routing rules during a conversation
US8862681B2 (en) 2008-06-25 2014-10-14 Microsoft Corporation Multimodal conversation transfer
CN102227904A (zh) 2008-10-01 2011-10-26 特维里奥公司 电话网络事件的系统和方法
US8494140B2 (en) * 2008-10-30 2013-07-23 Centurylink Intellectual Property Llc System and method for voice activated provisioning of telecommunication services
US8478712B2 (en) * 2008-11-20 2013-07-02 Motorola Solutions, Inc. Method and apparatus to facilitate using a hierarchical task model with respect to corresponding end users
US20100125483A1 (en) * 2008-11-20 2010-05-20 Motorola, Inc. Method and Apparatus to Facilitate Using a Highest Level of a Hierarchical Task Model To Facilitate Correlating End User Input With a Corresponding Meaning
WO2010101935A1 (en) 2009-03-02 2010-09-10 Twilio Inc. Method and system for a multitenancy telephone network
US8509415B2 (en) 2009-03-02 2013-08-13 Twilio, Inc. Method and system for a multitenancy telephony network
CN102483917B (zh) * 2009-07-15 2016-03-16 谷歌公司 针对显示文本的命令
US20110066507A1 (en) * 2009-09-14 2011-03-17 Envio Networks Inc. Context Enhanced Marketing of Content and Targeted Advertising to Mobile Device Users
US8582737B2 (en) * 2009-10-07 2013-11-12 Twilio, Inc. System and method for running a multi-module telephony application
US20110083179A1 (en) * 2009-10-07 2011-04-07 Jeffrey Lawson System and method for mitigating a denial of service attack using cloud computing
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US8638781B2 (en) * 2010-01-19 2014-01-28 Twilio, Inc. Method and system for preserving telephony session state
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US8416923B2 (en) 2010-06-23 2013-04-09 Twilio, Inc. Method for providing clean endpoint addresses
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US8391464B1 (en) 2010-06-24 2013-03-05 Nuance Communications, Inc. Customer service system, method, and software program product for responding to queries using natural language understanding
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US8762939B1 (en) 2010-07-02 2014-06-24 Nuance Communications, Inc. System and method for displaying key performance indicators in an application design tool
US8417223B1 (en) 2010-08-24 2013-04-09 Google Inc. Advanced voicemail features without carrier voicemail support
US8676895B1 (en) 2010-10-12 2014-03-18 Egain Communications Corporation Interaction using content
US20120131466A1 (en) 2010-11-23 2012-05-24 Embarq Holdings Company, Llc User-Based Monitoring and Control
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US9230549B1 (en) 2011-05-18 2016-01-05 The United States Of America As Represented By The Secretary Of The Air Force Multi-modal communications (MMC)
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
WO2012162397A1 (en) 2011-05-23 2012-11-29 Twilio, Inc. System and method for connecting a communication to a client
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US20130051539A1 (en) * 2011-08-23 2013-02-28 Michael Sharp Communications with interposed commercial message
US9336500B2 (en) 2011-09-21 2016-05-10 Twilio, Inc. System and method for authorizing and connecting application developers and users
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US9385981B2 (en) 2012-07-23 2016-07-05 Google Inc. System and method for providing multi-modal asynchronous communication
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US8738051B2 (en) 2012-07-26 2014-05-27 Twilio, Inc. Method and system for controlling message routing
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US9282124B2 (en) * 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
WO2016028121A1 (en) * 2014-08-21 2016-02-25 Samsung Electronics Co., Ltd. System and method for enhancing user experience during interactive audio-visual communication
EP3210350B1 (en) 2014-10-21 2020-05-20 Twilio, Inc. Method for providing a miro-services communication platform
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US10007410B2 (en) 2015-08-19 2018-06-26 Google Llc Incorporating user content within a communication session interface
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10841755B2 (en) 2017-07-01 2020-11-17 Phoneic, Inc. Call routing using call forwarding options in telephony networks
US10795701B2 (en) * 2018-11-20 2020-10-06 Express Scripts Strategic Development, Inc. System and method for guiding a user to a goal in a user interface
US20210281681A1 (en) * 2020-03-06 2021-09-09 PAG Financial International LLC Systems and methods for operating an interactive voice response system
US11134149B1 (en) 2020-06-15 2021-09-28 Verizon Patent And Licensing Inc. Systems and methods for providing multi-modal interaction via user equipment
EP4248302A1 (en) * 2020-11-23 2023-09-27 NLX, Inc. Method for multi-channel audio synchronization for task automation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011909A (en) * 1997-01-06 2000-01-04 Motorola, Inc. Alerting user engaged in a first communications session on a first network to a request to establish a second communications session on a second network
US6088728A (en) * 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6078948A (en) * 1998-02-03 2000-06-20 Syracuse University Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions
US6076108A (en) * 1998-03-06 2000-06-13 I2 Technologies, Inc. System and method for maintaining a state for a user session using a web system having a global session server
US6519643B1 (en) * 1999-04-29 2003-02-11 Attachmate Corporation Method and system for a session allocation manager (“SAM”)
US6694008B1 (en) * 2000-06-23 2004-02-17 Cisco Technology, Inc. Monitored suspension of communications sessions

Also Published As

Publication number Publication date
WO2003073623A3 (en) 2004-02-26
FI20041125A (fi) 2004-08-27
JP4439920B2 (ja) 2010-03-24
AU2003209036A8 (en) 2003-09-09
US20030162561A1 (en) 2003-08-28
JP2010033586A (ja) 2010-02-12
US6912581B2 (en) 2005-06-28
WO2003073623A2 (en) 2003-09-04
AU2003209036A1 (en) 2003-09-09
KR100610286B1 (ko) 2006-08-09
CN100478923C (zh) 2009-04-15
CN1639696A (zh) 2005-07-13
JP2005519378A (ja) 2005-06-30
FI123321B (fi) 2013-02-28

Similar Documents

Publication Publication Date Title
KR100610286B1 (ko) 동시 멀티모달 통신 세션 지속성을 위한 시스템 및 방법
KR100643107B1 (ko) 동시 멀티모달 통신을 위한 시스템 및 방법
KR20040101246A (ko) 동시 멀티모달 태그를 이용한 동시 멀티모달 통신을 위한시스템 및 방법
US20040078424A1 (en) Web services via instant messaging
US7272564B2 (en) Method and apparatus for multimodal communication with user control of delivery modality
JP4384732B2 (ja) コンテキスト対応のweb通信を提供する装置とデータネットワークブラウザ
US8788675B2 (en) Multi-modal communication using a session specific proxy server
US20030146932A1 (en) Multi-modal synchronization
US20020065944A1 (en) Enhancement of communication capabilities
US20050266884A1 (en) Methods and systems for conducting remote communications
JP2003032721A (ja) 位置及びイベントトリガー型通知サービス
US6285683B1 (en) Method and apparatus for providing extended capability telephone services via an automated server
CN110268400B (zh) 改进与电子聊天界面的交互
EP1483654B1 (en) Multi-modal synchronization
US20020069066A1 (en) Locality-dependent presentation
JP3773705B2 (ja) 地図情報システム及び地図配信方法
KR101690604B1 (ko) 유무선 웹 기반의 채팅시스템 및 그 방법
JP2008083968A (ja) ウェブページ保存管理方法及び情報通信端末装置
KR20230159105A (ko) 메시징 서비스 방법 및 장치
JP2001075922A (ja) サービス統合システム
WO2007073777A1 (en) Method of managing services in a communication network

Legal Events

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

Payment date: 20120727

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150723

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160721

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170724

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180726

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190724

Year of fee payment: 14