KR20080038337A - 네트워크 접속을 통한 장치 표시용으로 컨텐츠를포맷팅하는 방법 및 로봇 - Google Patents

네트워크 접속을 통한 장치 표시용으로 컨텐츠를포맷팅하는 방법 및 로봇 Download PDF

Info

Publication number
KR20080038337A
KR20080038337A KR1020087003437A KR20087003437A KR20080038337A KR 20080038337 A KR20080038337 A KR 20080038337A KR 1020087003437 A KR1020087003437 A KR 1020087003437A KR 20087003437 A KR20087003437 A KR 20087003437A KR 20080038337 A KR20080038337 A KR 20080038337A
Authority
KR
South Korea
Prior art keywords
content
user
bot
formatting
client
Prior art date
Application number
KR1020087003437A
Other languages
English (en)
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 KR20080038337A publication Critical patent/KR20080038337A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

정보를 수신하는 엔드포인트 장치의 기능에 적어도 일부 의존하여 최적의 표시를 위해 정보를 포맷팅할 수 있는 대화형 에이전트, 즉, 봇이 개시된다. 봇은 사용자 엔드포인트 장치와 봇 간의 네트워크 통신을 위한 프로토콜을 제공하는 IM 애플리케이션 인터페이스의 일부로서 동작할 수 있다.
대화형 에이전트, 네트워크, 엔드포인트 장치

Description

네트워크 접속을 통한 장치 표시용으로 컨텐츠를 포맷팅하는 방법 및 로봇{VIRTUAL ROBOT COMMUNICATION FORMAT CUSTOMIZED BY ENDPOINT}
본원 시스템은 엔드포인트 장치 상의 정보의 표시를 최적화하도록 엔드포인트 장치 속성에 기초하여 가상 로봇에 의해 제시되는 정보를 포맷팅하기 위한 방법에 관한 것이다.
인스턴트 메시징("IM")은 사용자들이 프레즌스(presence) 기반 네트워크를 통하여 실시간으로 서로 통신하기 위한 가장 인기 있고 여전히 성장하고 있는 시스템 중 하나이다. 프레즌스 기술은, 컴퓨팅 장치가 어디에 있건 간에, 이 장치가 네트워크에 접속되고 실시간으로 통신을 수신하고 응답하는 데에 이용가능하다면, 이 컴퓨팅 장치를 찾아내고 식별하는 것을 가능하게 한다. 통상적으로, IM 통신은, 컴퓨터, 셀룰러폰, PDA("personal digital assistant"), 또는 기타 네트워크 장치일 수 있는, 각각의 사용자의 컴퓨팅 장치 상에 설치된 IM 클라이언트 애플리케이션을 사용함으로써 이루어질 수 있다. 일반적으로, 각 사용자는 ID(identification) 이름을 생성하고 이 ID 이름을 IM 시스템에 전송(submit)하여, 이 ID 이름을 데이터베이스에 저장하고 사용자의 프레즌스를 이 ID와 연관시킨다. 특정 개인과 채팅하는 것에 관심이 있는 사용자들은 그 개인과 관련된 ID 이름을 " 버디 리스트"라 일반적으로 칭하는 자신들의 개인적인 리스트에 추가할 수 있다.
사용자의 버디 리스트에 리스팅된 개인들 중 누구라도 IM에 접속되면, IM 시스템은 그 개인이 온라인 상태이며 채팅을 할 수 있음을 나타내는 경보를 송신하거나 사용자가 연락 리스트(contact list)에서 자신의 버디의 프레즌스를 볼 수 있다. IM 대화를 개시하기 위해, 개시하는 사용자는 단순히 IM 클라이언트 애플리케이션에 의해 제공되는 버디 리스트로부터 연락될 사용자의 ID 이름을 선택하면 된다. 그러면 IM 클라이언트 애플리케이션은 IM 세션을 개시하라는 요청을, 선택된 사용자 ID를 가지는 사용자의 컴퓨팅 장치 상에서 원격으로 실행되는 IM 클라이언트 애플리케이션에 송신한다. 그러면 원격으로 실행되는 IM 클라이언트 애플리케이션은 개시하는 사용자가 IM 대화에 참가하고 싶어한다는 소정의 표시를 이 연락되는 사용자에게 제공한다. 연락되는 사용자는, 이 대화를 할 의향이 있다면, 응답할 수 있다.
2명의 살아있는 사용자들 간의 통신과는 다르게, IM의 다른 인기 있는 이용은 가상 로봇, 또는 줄여서 봇(bot)이라 칭하는 대화형 에이전트 소프트웨어 애플리케이션 프로그램을 이용하여 검색 또는 기타 기능을 수행하는 것이다. 대화형 에이전트의 프론트 엔드(front end)는 마치 봇이 사용자의 버디 리스트 상의 다른 살아있는 사용자인 것처럼 사용자가 봇과 대화할 수 있게 해주도록 구성된다 - 봇은 버디 리스트에 ID 이름을 가질 수 있고 사용자는 다른 사용자와의 대화를 개시하는 것과 동일한 방식으로 그/그녀의 봇과의 IM 세션을 개시할 수 있다. 봇은 일반적으로 자연 언어를 이용하여 수락하고 응답하므로, 사용자가 다른 살아있는 사 용자와 통신하고 있다는 착각을 일으키고 마음에 품게 된다. 봇의 정교함 정도는 크게 달라질 수 있지만, 봇은 사용자에게 보이는 시각적인 아이콘, 즉, 아바타를 가지도록 구성될 수 있으며, 인간적인 특성 및 성격적인 특색을 가지도록 또한 구성될 수 있다.
일반적으로 채터봇(chatterbot)이라 칭하는 몇몇의 봇은 사람의 대화를 시뮬레이션하려 한다. 초기의 잘 알려진 채터봇 애플리케이션 프로그램은 "Eliza" 및 "Parry"를 포함하는데, 이 둘 모두 수신된 입력을 처리하여 사람 응답을 감정적이며 문맥적으로 모방하려는 응답을 형성하였다. IM 채터봇은, 사용자와의 자연 언어 IM 세션에 응답하거나 이를 개시하고, 프로그래밍된 성격적인 특색을 가정하는, 전적으로 사회적인 기능을 서비스할 수 있다.
사회적 기능 대신 또는 이 기능에 추가하여, 다른 봇들은 사용자에 대한 정보의 출처로서 서비스한다. 이러한 봇들의 백 엔드(back end)는 통합되거나 그렇지 않으면 하나 이상의 데이터 저장소와 통신하여 살아있는 사용자에 의한 요청에 응답으로 이 저장소의 정보를 액세스할 수 있다. MSN®, Yahoo®, AOL®, 또는 기타 온라인 서비스 제공자 등의 기업 서비스 제공자는 사용자가 WWW(World Wide Web) 등의 네트워크를 통해서 이용될 수 있는 뉴스, 날씨 보고, 운전 경로, 영화 시간표, 주식 시세, 또는 임의의 기타 정보에 관련된 정보에 대한 검색을 하고 임의의 각종 질문에 대한 응답을 받기 위한 편리한 수단을 제공하기 위해 포함되는 IM 봇들이다. IM 봇은 단일한, 전용 데이터베이스로부터 정보를 제공하도록 특수화될 수 있지만, 다른 IM 봇들은 다양한 외부 데이터베이스에 접속하여 사용자에 다양한 정보를 제공할 수 있다.
전자 장치의 정교성 및 이동성이 증대됨에 따라, 이러한 장치의 끊임없이 증가하는 어레이는 IM과 같은 네트워크 통신을 지원할 수 있다. 현재, 컴퓨터, 게이밍 장치, 모바일 폰, PD, 및 기타 핸드-헬드 장치는 모두 인터넷 또는 기타 네트워크 접속을 통해 IM을 지원한다. 개수가 증가하는 네트워크-접속된 장치와 그 페이스를 유지하기 위해 노력하는 한 기술 분야는 매우 다양한 컴퓨팅 장치 각각 상에서의 효과적인 정보의 포맷팅 및 표시이다. 예를 들면, 컴퓨터는 통상적으로 풍부한 배열의 텍스트, 이미지, 링크, 등을 디스플레이할 수 있는 모니터 및 브라우저를 가지지만, 다수의 휴대용 및 기타 네트워크-접속된 장치들은 그렇지 않다.
본원 시스템의 실시예는 일반적으로 정보를 수신하는 엔드포인트 장치의 기능에 적어도 일부 의존하여 정보를 포맷팅할 수 있는 대화형 에이전트, 즉, 봇에 관한 것이다. 봇은 사용자 엔드포인트 장치와 봇 간의 네트워크 통신을 위한 프로토콜을 제공하는 IM 애플리케이션 인터페이스의 일부로서 동작할 수 있다. 엔드포인트 장치는 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 핸드-헬드 컴퓨터, 게이밍 장치, 모바일폰 및 PDA를 포함하는 각종 네트워크-이용가능 장치일 수 있다.
봇은 사용자의 저장된 연락처 내의 임의의 다른 연락처로서 나타날 수 있으며, 사용자는 그 또는 그녀의 저장된 연락처들로부터 봇을 선택함으로써 이 봇과의 연락을 개시할 수 있다. 일단 연락이 구축되면, 봇은 장치에서 실행되는 소프트웨어 클라이언트로부터 컨텐츠 및 메타데이터를 수신할 수 있다. 봇은 자연 언어 기능 및 음성 대화와 인식 기능을 구비하도록 구성될 수 있어 봇과의 통신이 (IM 클라이언트 또는 VoIP 클라이언트 내의 ) 오디오 교환에 의해 또는 텍스트로 된 자연 언어를 이용하여 전달될 수 있도록 한다. 사용자로부터 컨텐츠 통신이 수신될 때, 봇은 컨텐츠 통신이 무엇을 의미하는지 및 사용자의 통신에 어떻게 응답하는 것이 가장 바람직한지를 결정한다. 이 응답은 전적으로 사회적인 응답의 성질을 띄고 있을 수 있거나, 이 응답은 WWW를 통해 이용가능한 정보를 찾기 위하여 제3자 데이터베이스 검색을 요구할 수 있다.
일단 봇이 사용자에 응답할 컨텐츠를 가지고 있다면, 이 응답 컨텐츠는 봇의 엔드포인트 포맷팅 엔진에 의해 포맷팅된다. 사용자가 봇과의 연락을 구축한다면, 사용자 장치로부터 메타데이터가 엔드포인트 포맷팅 엔진으로 전달된다. 이 메타데이터는 사용자의 장치의 기능성과 특징, 및 장치 상에 실행되는 클라이언트를 기술하며, 일 실시예에서는 사용자에 대한 개인적 선호도(preference) 및 정보 또한 기술할 수 있다. 이 메타데이터는 엔드포인트 포맷팅 엔진이 사용자 장치에 다시 송신되는 컨텐츠를 사용자의 장치에 최적화된 포맷으로 제시하는 데에 이용된다.
그러므로, 예를 들면, 사용자의 장치가 업데이트된 브라우저 및 키보드를 가지는 데스크톱 컴퓨터인 경우, 봇은 사용자와, 가능하다면 그래픽 및 비디오 이미지 또한 포함할 수 있는 완전한 자연 언어 담화로 대화할 수 있다. 그러나, 사용자의 장치가 모바일폰 또는 pda 등의 핸드-헬드 모바일 장치인 경우, 봇은 사용자 장치에 전달되는 컨텐츠를 메뉴 구동형 또는 하이퍼링크 구동형 포맷으로 포맷팅할 수 있다. 봇이 사용자 장치에 송신되는 컨텐츠를 매우 다양한 다른 포맷으로 포맷팅하는 데에 매우 다양한 다른 기준이 이용될 수 있다.
도 1은 본원 시스템의 실시예에 따른 봇의 소프트웨어 블록도.
도 2는 본원 시스템의 실시예에 따른 단계들의 동작을 도시하는 흐름도.
도 3은 본원 시스템의 실시예에 따른 사용자 장치에 전달되는 컨텐츠를 포맷하기 위한 엔드포인트 포맷팅 엔진의 동작을 도시하는 흐름도.
도 4는 본원 시스템에 따라 봇에 의한 컴퓨터의 디스플레이 상의 컨텐츠 표시를 도시하는 도면.
도 5는 본원 시스템의 대안적인 실시예에 따라 봇에 의한 컴퓨터의 디스플레이 상의 컨텐츠 표시를 도시하는 도면.
도 6은 본원 시스템에 따라 봇에 의한 모바일폰의 디스플레이 상의 컨텐츠 표시를 도시하는 도면.
도 7은 본원 시스템에 따라 봇에 의한 PDF의 디스플레이 상의 컨텐츠 표시를 도시하는 도면.
도 8은 본원 시스템의 실시예를 구현하기에 적합한 컴퓨터 하드웨어의 블록도.
이제 본원 시스템의 실시예가 컨텐츠를 수신하는 엔드포인트 장치에 기초하여 컨텐츠 표시를 최적화하도록 컨텐츠를 포맷팅할 수 있는 대화형 에이전트, 즉, 봇에 일반적으로 관련하는 도 1 내지 8을 참조하여 기술될 것이다. 일반적으로, 봇은 엔드포인트에 기초하여 사용자와 적응적으로 대화한다. 우선, 봇은 사용자가 사용하고 있는 장치 유형 및 이 장치의 기타 속성을 결정한다. 그 다음, 봇은 대화용 컨텐츠를 생성한다. 그 다음, 봇은 이 장치에 대한 사용자 경험을 최적화하도록 컨텐츠의 통신 스타일 및 포맷팅을 수정할 수 있다. 예를 들면, 한 적용에서, 봇은 사용자가 퍼스널 컴퓨터 상에 있으며 긴 문장을 타이핑할 수 있는 경우 자연 언어 파싱을 이용하여 사용자와 대화할 수 있다. 다른 예에서, 봇은 사용자가 모바일폰을 이용하고 있는 경우 옵션들의 메뉴를 디스플레이하도록 순응할 것이다.
이제 도 1을 참조해 보면, 배경기술 섹션에서 설명된 바와 같이, 사람 대화의 표현을 생성할 수 있는 대화형 에이전트일 수 있는 봇(10)이 도시된다. 봇(10)은 소프트웨어, 하드웨어 또는 소프트웨어와 하드웨어의 조합으로 구현될 수 있다. 봇(10)의 일부가 소프트웨어로 구현된다면, 봇(10)은 자바 또는 기타 객체-지향형 ㅡ프로그래밍 언어를 포함하는 임의의 개수의 컴퓨터 언어로 구현될 수 있다. 본원에서 이하 설명될 바와 같이, 실시예에서는, 봇(10)은 사용자 대화용 애플리케이션 인터페이스로서 IM을 이용한다. 그러나, 본원 시스템은 애플리케이션 인터페이스를 IM으로 제한하는 것이 아니며, 대안적인 실시예에서 봇(10)은 다양한 다른 애플리케이션 인터페이스를 통해 사용자와 대화할 수 있음이 이해되어야 한다. 다른 예로서, 봇(10)은 VoIP(voice-over-IP) 클라이언트를 이용할 수 있다. 봇(10)은 또한 MSN IM 클라이언트를 통해 오디오를 수신할 수 있다.
봇(10)은 MSN®, Yahoo®, AOL®, 또는 기타 온라인 서비스 제공자 등의 기 업 서비스 제공자로 구현될 수 있다. 실시예에서, 봇(10)은 보다 구체적으로는 봇(10)으로부터 분리된 알려진 구성일 수 있는 IM 서버 상에서 실행되는 IM 에이전트 애플리케이션 프로그램의 일부일 수 있다. 이 대신에 봇(10)의 하나 이상의 부분이 사용자의 컴퓨팅 장치(12) 상에서 실행되는 클라이언트 애플리케이션 프로그램(14)에서 구현될 수 있음이 이해된다. 다른 대안적인 실시예에서, 이 대신에 봇(10)은 클라이언트에 액세스될 수 있는 제3자 서버 전체 또는 일부에서 구현될 수 있다.
일반적으로, 컴퓨팅 장치(12)는 데스트톱 컴퓨터, 랩톱 컴퓨터, 태플릿 컴퓨터, 핸드-헬드 컴퓨터, 워싱턴주 레드몬드 소재의 마이크로소프트 사에 의한 Xbox® 게이밍 장치와 같은 게이밍 장치, 모바일폰 및 PDA일 수 있지만, 이에 한정되지 않는다. 표시한 바와 같이, 장치(12)는 인터넷 등의 분산형 컴퓨팅 네트워크를 통해 봇(10)에 접속될 수 있다.
클라이언트(14)는 IM 클라이언트일 수 있지만, 대안으로 장치(12)가 완전한 브라우저 기능을 지원하는 컴퓨터, 게이밍 장치 또는 기타 장치인 경우의 웹 브라우저일 수 있다. 클라이언트(14)는 또한 SMS(short message service) 클라이언트 또는 완전한 브라우저 기능 보다 적은 기능을 구비한 모바일 장치를 지원하는 기타 클라이언트일 수 있다. 본원에서 이하 설명할 바와 같이, 대안으로 및/또는 추가적으로, 다른 실시예에서는, 클라이언트(14)가 VoIP 및 기타 오디오 프로토콜을 지원할 수 있다.
IM이 애플리케이션 인터페이스일 경우, 사용자에 의한 봇(10)과의 접속은 사 용자가 사용자의 버디 리스트에 생성되고 저장된 봇(10)의 신원을 선택함으로써 구축될 수 있다. 봇(10)은 대안적인 실시예에서 다양한 기타 공지된 접속 스킴에 의해 액세스될 수 있다. 대안으로 또는 추가적으로 봇(10)은 사용자와의 연락을 개시하도록 구성될 수 있다.
대화가 사용자에 의해 개시되건 봇에 의해 개시되건 간에, 봇(10)은 사용자의 IM 클라이언트로부터 컨텐츠 및 메타데이터를 수신할 수 있다. 구체적으로, 이 컨텐츠는 사용자로부터의 텍스트 또는 음성 입력일 수 있다. 메타데이터는 사용자의 장치에 대한 정보이며, 봇이 제시하는 컨텐츠의 포맷을 사용자에게 커스터마이징(customize)하는데에 이용되며, 이는 이하 보다 상세히 설명할 것이다.
봇(10)은 사용자로부터 수신된 컨텐츠를 처리하기 위한 통상적인 봇에서 공지된 다양한 소프트웨어 또는 하드웨어 컴포넌트를 포함할 수 있다. 실시예에서, 봇(10)은 자연 언어 컨텐츠를 이용하여 수락하고 응답하도록 구성될 수 있다. 자연 언어 기능을 구비한 봇들을 제공하기 위한 각종 방법들이 공지되어 있다. 이러한 방법들의 예로는 "Tackett"에 허여된, 발명의 명칭이 "Method And Apparatus For Hierarchically Decomposed Bot Scripts"인 미국 특허 제6,754,647호, "Leber"등에 허여된, 발명의 명칭이 "Internet Based Personal Information Manager"인 공개된 미국 특허 출원 제2003/0182391A1, 및 "Schoneburg" 등에 허여된, 발명의 명칭이 "Method And Apparatus For Natural Language Dialog Interface"인 공개된 미국 특허 출원 제2002/0133347A1에 개시되어 있다. 이들 참조 문헌 각각은 그 전체가 본원에 참조로서 포함된다. 기타 알려진 각종 자연 언어 스킴은 봇(10)이 사용 자와 대화하는 데에 이용될 수 있음이 이해된다.
일반적으로, 사용자의 텍스트 구문을 파싱하고 적절한 응답을 선택하는 자연 언어 처리는 파서(16), 자연 언어 엔진(18) 및 추론 엔진(20)에 의해 처리된다. 대안적인 실시예에서 이들 모듈들 중 하나 이상이 함께 결합될 수 있음이 이해된다.
사용자로부터 수신된 컨텐츠는, 예컨데, 본원에서 이하 도 8에 관련하여 설명될 RAM(132) 등의 장치 메모리로 수신될 수 있다. 컨텐츠는 키보드, 키패드 상의 또는 후술될 바와 같이, 음성 인식을 통하는 입력을 포함하는, 각종 방식으로 수신될 수 있다. 컨텐츠는 사용자의 의도된 표현문 또는 응답을 반영하는 자연 언어, 어구, 단어, 명령, 또는 임의의 일련의 워드 또는 심볼일 수 있다.
파서(16)는 예컨데 통상적이지 않는 경우의 및 특수한 비-분리가능 어구 또는 접두사 등의 이질적인 정보를 제거함으로써 컨텐츠가 시스템의 다른 모듈에 의해 처리될 준비를 시킨다. 제목 및 URL 어드레스 등의 아이템은 자연 언어 엔진(18) 및/또는 추론 엔진(20)에 의해 이해될 수 있는 형태로 처리되고 해석된다.
자연 언어 엔진(18) 및 추론 엔진(20)은 사용자가 입력한 컨텐츠의 의미를 결정하는 데에 본 기술 분야에서 공지된 바와 같이 데이터 저장소(24) 내의 KB(knowledge base)(22)(및/또는 봇(10)과 통신하는 기타 데이터베이스)에 저장된 템플릿, 패턴 및 기타 데이터를 이용한다. 상술한 바와 같이, 소프트웨어 엔진(18 및 20)은 본원 시스템의 실시예에서 단일한 엔진으로 결합될 수 있다. 본원 시스템은 사용자와 봇(10) 간의 자연 언어 통신 없이도 동작할 수 있음이 이해된다. 예를 들면, 모든 통신은 봇(10)과 사용자 간의 컨텐츠 교환을 위한 기타 구조화된 스킴에 따르거나 메뉴 구동식일 수 있다.
텍스트 컨텐츠 대신에, 사용자는 장치(12)를 통해 음성 또는 기타 오디오 컨텐츠를 봇(10)에 전달할 수 있다. 이러한 예에서, 오디오 컨텐츠는 이 오디오 컨텐츠를 추론 엔진(20)에 의해 처리될 수 있는 형태로 변환시키는 음성 변환 또는 인식 엔진(26)에 전달될 수 있다. 오디오 데이터를 이용가능한 데이터 포맷으로 변환하기 위한 다양한 방법이 공지되어 있다. 이러한 시스템의 예는 "Kredo" 등에 허여된, 발명의 명칭이 "Efficient Instant Messaging Using A Telephony Interface"인 미국 특허 제6,816,578에 개시되어 있으며, 이 특허 문헌은 그 전체가 본원에 참조로서 포함된다. 봇(10)이 음성 또는 오디오 컨텐츠를 제공하는 사용자와 대화하는 데에 다양한 기타 공지된 음성 인식 스킴이 이용될 수 있음이 이해된다. 도 1은 추론 엔진(20)과 직접 통신하고 있는 음성 변환 엔진의 출력을 도시하지만, 대안적인 실시예에서는 음성 변환 엔진의 출력은 대안으로 파서(16) 또는 자연 언어 엔진(18)에 제공될 수 있음이 이해된다.
추론 엔진(20)은 사용자 클라이언트에 전달될 컨텐츠의 내용을 결정한다. 추론 엔진(20)에 의해 전달된 컨텐츠는 사용자로부터 수신된 컨텐츠에 응답적일 수 있거나, (예를 들어, 봇(10)이 사용자와의 연락을 개시하고 있는 경우에서와 같이) 이 컨텐츠는 사용자 컨텐츠에 대한 응답에 관련되지 않을 수 있다. 사용자 컨텐츠에 응답적인 경우, 추론 엔진은 저장소 내의 KB(22)로부터 직접 적절한 응방을 얻을 수 있거나, 검색 엔진(28)을 통해 원격 데이터베이스로부터 수신된 정보의 검색 을 개시할 수 있다.
구체적으로, 추론 엔진(20)이 적절한 응답이 데이터 저장소(24) 내의 KB(22)에서 발견되었다고 판정한 경우의 예를 들 수 있다. 이러한 예는 사용자가 자신에 관련하여 저장된 개인 정보, 사용자의 저장된 연락처들 또는 자주 요청되는 정보를 요청할 때 일어날 수 있다. 대안으로, 사용자가 대화용으로 또는 전적으로 사회적인 용도로 봇(10)을 참여시키는 경우, 순전히 KB(22) 내에 저장된 데이터로부터 추론 엔진(20)에 의하여 적절한 응답이 생성될 수 있다.
그러나, 대안으로 추론 엔진(20)이 사용자는 KB(22)에 발견되지 않았지만 그 대신에 WWW(World Wide Web)를 통한 외부 데이터베이스의 검색에서 발견될 수 있는 정보를 요청하고 있다고 판정할 수 있다. 예를 들면, 사용자는 WWW를 통해 조사될 수 있다고 사용자가 믿고 있는 현재 이벤트 및 뉴스, 날씨 보고, 운전 경로, 영화 시간표, 주식 시세, 또는 임의의 인지가능한 주제에 대하여 봇에게 질의할 수 있다. 이러한 예에서, 추론 엔진(20)은 검색 엔진(28)에 질의를 하여 요청된 정보를 찾기 위한 검색을 수행할 수 있다.
검색 엔진의 동작은 잘 공지되어 있다. 그러나, 일반적으로, 검색 엔진28)은 검색 처리 환경(29)의 일부일 수 있다. 검색 처리 환경(29)은 3개의 주요 구성요소를 가지는 크롤러(crawler)-기반 시스템일 수 있다. 첫 번째 것은 크롤러(30)라고도 칭하는 스파이더(spider)이다. 스파이더는 인터넷(40)으로의 네트워크 접속을 통해 페이지(36a, 36b, 36c)와 같은 복수의 웹 페이지를 방문하고, 페이지를 판독한 다음, 특정 웹사이트 내의 다른 페이지로의 링크를 따라간다. 스파이더는 일반적인 방식으로 이 사이트로 복귀하여 변경을 찾는다. 웹 크롤러에 의해 실행되는 기본 알고리즘은 시드(seed) URL의 리스트를 그 입력으로 하고 이 URL 리스트로부터 소정 URL을 제거하는 단계, 그 호스트 이름의 IP 어드레스를 결정하는 단계, 대응하는 문서를 다운로드하는 단계 및 이 문서에 포함된 임의의 링크를 추출하는 단계를 반복적으로 수행한다. 이렇게 추출된 링크 각각에 대하여, 크롤러(30)는 이 링크를 (존재하는 경우) 절대 URL로 해석하고, 이것을, 이전에 다루지 않았었다면, 다운로드를 위해 URL의 리스트에 추가한다. 원한다면, 크롤러(30)는 다른 방식으로(예를 들면, 이 컨텐츠를 인덱싱) 이 다운로드된 문서를 처리할 수 있다.
스파이더가 발견한 모든 것들은 검색 엔진의 두 번째 부분, 인덱스(32)로 진행된다. 때때로 카달로그라고 칭하는 인덱스(32)는 스파이더가 발견한 모든 웹 페이지의 사본을 포함하는 리파지토리(repository)이다. 웹 페이지가 변경되면, 인덱스는 새로운 정보로 업데이트된다. 인덱스(32)는 데이터 저장소(34)에 저장될 수 있다. 실시예에서, 데이터 저장소(34)는 상술한 바와 같이 데이터 저장소(24)로부터 분리될 수 있다. 실시예에서, 저장소(34)와 저장소(24)는 KB(22) 및 인덱스(32) 모두를 포함하는 단일한 데이터 저장소로 결합될 수 있다.
검색 처리 환경(29)의 세 번째 부분은 검색 엔진(28)이다. 이것은 인덱스에 기록된 수백만 페이지 전반을 조사하여 검색에 일치하는 것들을 찾아내고 이들을 가장 관련된다고 판정되는 순서로 랭크시키는 애플리케이션 프로그램이다. 추론 엔진에 의해 생성되는 질의는 사용자로부터 수신된 실제 컨텐츠일 수 있거나, 추론 엔진이 필요로 한다고 결정된 것으로 수정될 수 있다. 검색 엔진(28)은 후술될 바와 같이 사용자에 표시하기 위하여 추론 엔진에 하나의 결과 또는 우선 순위로 순서로 된 결과들의 리스트를 반환할 수 있다.
실시예에서, 검색 처리 환경(29)은 생략될 수 있다. 이러한 실시예에서, 봇(10)은 채터봇으로서, 또는 전적으로 사회적이고 대화적인 사용자와의 인터페이스로서 기능할 수 있다. 또한, 상술한 엔진들 및 모듈들 중 하나 이상이 서로 분리되거나 IM 클라이언트, IM 서버 또는 제3자 서버 중 임의의 하나로 구현될 수 있다고 이해된다.
일단 추론 엔진이 적절한 컨텐츠를 결정했다면, 이 컨텐츠가 사용자에게 전달된다. 그러나, 배경 기술 섹션에서 설명한 바와 같이, 서로 다른 장치는 서로 다른 디스플레이 기능성을 가진다. 그러므로, 본원 시스템의 실시예는 엔드포인트 포맷팅 엔진(42)을 더 채용한다. 상술한 바와 같이, 사용자가 봇(10)과의 연락을 구축하면, 사용자 장치로부터 봇(10)으로, 구체적으로는 엔드포인트 포맷팅 엔진(42)으로 메타데이터가 전달된다. 메타데이터는 사용자 장치의 기능성 및 특징 및 이 장치에서 실행되는 클라이언트를 기술하며, 일 실시예에서, 사용자에 대한 개인적인 선호도와 정보를 또한 기술할 수 있다. 메타데이터라는 용어는 사용자 장치의 기능성 및 특징에 관련된 모든 데이터를 수용하는 것으로 넓게 해석될 수 있다.
장치 기능성 및 특징에 관련하여 전송되는 메타데이터는 다음을 포함하지만 이에 한정되지 않는다:
·클라이언트 프로토콜 - 장치가 네트워크를 통해 통신할 때 이용하는 규칙 세트. 다수의 예제 중 하나로서, IM은 MSN 인스턴트 메시징 프로토콜 8-13, 또는 MSNP 8-13이라 칭하는(8은 이 프로토콜의 구 버전이며 13은 이 프로토콜의 업데이트된 버전이다) 전용 프로토콜을 이용한다:
·장치 유형 및 ID - 장치가 컴퓨터인지, 모바일폰인지, 텔레비전인지, pda인지 등.
·장치 위치 - 장치의 지리적인 위치.
·클라이언트 기능 - 장치에서 이용되는 소프트웨어 클라이언트가 얼마나 정교한지.
·장치 브랜드 - 장치의 제조업체 및/또는 모델
·장치 버전 - 장치가 이 장치의 구 모델인지 신규 모델인지
이 정보는 봇(10)이 사용자 장치에 접속될 때 이용될 수 있고 액세스될 수 있다. 예를 들면, 봇으로의 접속 중에, 클라이언트는 클라이언트 프로토콜, 클라이언트 버전 및 클라이언트 기능을 포함하는 하위레벨(및/또는 다른 유형) 메시지에 응답한다. 장치에 관련된 정보(유형, ID, 브랜드 및/또는 버전)가 클라이언트 프로토콜 메시지에 포함됨을 또한 인식할 수 있다. 봇은 장치 위치를 결정하도록 IP 탐색을 수행할 수 있다. 봇은 또한 정보가 서버에 도달하기 위해 취하는 라우트에 의해 장치의 유형을 결정할 수 있다. 예를 들면, 정보가 모바일 네트워크 접속을 통해 수신되면, 봇은 장치가 모바일 장치라고 판정할 수 있다. 엔드포인트 포맷팅 엔진이 봇(10)이 제공한 컨텐츠를 사용자 장치에 커스터마이징하는 데에 이 용하기 위해 봇(10)은 장치 특징에 관련된 다른 메타데이터를 이용할 수 있고 액세스할 수 있음이 이해된다. 실시예에서, 상술한 메타데이터 보다 적은 메타데이터가 전송될 수 있음 또한 이해된다. 예를 들면, 엔드포인트 포맷팅 엔진은 단지 장치 메타데이터만을, 단지 클라이언트 메타데이터만을, 단지 사용자 선호도 메타데이터만을, 장치, 클라이언트 및/또는 사용자 선호도 메타데이터 중 단지 일부만을 수신할 수 있다.
추론 엔진으로부터의 컨텐츠가 엔드포인트 포맷팅 엔진에 의해 사용자 장치 표시용으로 포맷팅되는 방식을 결정하는 데에 상술한 메타데이터의 수신이 일부 또는 전체로서 이용될 수 있다. 실시예에서, 컨텐츠 포맷팅을 결정하는 데에 사용자-정의된 선호도 또한 이용될 수 있다. 예를 들면, 사용자는 봇에게 소정의 장치에 대하여 모든 컨텐츠가 특정 포맷으로 포맷팅하기를 지시하도록 봇(10)을 구성할 수 있다. 이러한 선호도 정보는 봇에 의해 저장될 수 있거나, 사용자 장치로의 접속 중에 봇에 다운로드될 수 있다.
봇(10)은 상술한 것들 외에도 또는 이들을 대신하여 다른 공지된 소프트웨어 엔진, 모듈, 루틴 및/또는 컴포넌트를 포함할 수 있다.
이제 도 2를 참조해 보면, 시스템의 실시예에서 봇(10)에 의해 수행되는 단계들의 흐름도를 도시한다. 단계(200)에서, IM 서버는 컴퓨팅 장치(12)를 통해 사용자로부터 연락처를 수신한다. 단계(202)에서, IM 서버는 사용자가 신규 사용자인지 기존의 사용자인지를 결정한다. 신규 사용자라면, 단계(204)에서 사용자가 등록되고 이 사용자에 대한 새로운 엔트리가 IM 서버 데이터베이스에 저장된다. 일단 사용자 신원이 확인된다면, 단계(206)에서 IM 서버는 봇(10)이 사용자에게 엑세스가능하며 구성되었는지를 판정한다. 그렇지 않다면, 단계(208)에서 IM 서버는 사용자에게 봇 액세스, 생성 및/또는 구성 전반을 안내할 수 있다.
사용자와 봇(10) 간의 접속 중에, 단계(210)에서 장치, 클라이언트 및/또는 사용자와 관련된 메타데이터가 봇에 송신된다. 그 다음 사용자에 의해 송신된 컨텐츠가 상술한 바와 같이 파싱되고 처리되며(단계(212)), 추론 엔진(20)은 사용자에게 송신될 소정의 응답 또는 컨텐츠를 결정한다(단계(214)). 단계(216)에서, 엔드포인트 포맷팅 엔진(42)은, 단계(210)에서 수신된 메타데이터에 기초하여, 장치(12)의 인터페이스를 통해 그 표시를 최적화하도록 컨텐츠를 포맷팅한다. 일단 사용자에게 송신될 컨텐츠가 포맷팅되면, 단계(218)에서 이 컨텐츠는 장치(120)에 송신된다.
이는 사용자와 봇(10) 간의 통신 싸이클(cycle)을 완료한다. 통신은 IM 세션이 종료될 때까지 단계(216)에서 결정된 포맷팅을 이용하여 계속될 수 있다. 메타데이터는 사용자와의 추후의 통신 세션에 이용되기 위하여 봇에 의해 봇에 액세스가능한 메모리에 저장될 수 있다. 메타데이터는 또한 네트워크 상의 각각의 IM/VoIP 사용자에 대한 유사한 사용자 프로필을 보유하는 데이터베이스에서 보유되는 사용자 프로필에 캐슁될 수 있다. 대안으로, 메타데이터는 각 세션에서 다시 획득될 수 있다.
컨텐츠를 포맷팅하는 단계(216)는 도 3의 소프트웨어 흐름도, 및 도 4 내지 7의 사용자 인터페이스 예시에 관련하여 보다 상세히 설명될 것이다. 단계(302)에 서, 엔드포인트 포맷팅 엔진(42)은 우선 디스플레이될 컨텐츠에 적용될 수 있을 켄텐츠 표시를 위한 임의의 선호도를 사용자가 표현했는지를 알기 위한 검사를 한다. 표현했다면, 이 사용자의 표현된 선호도 마다 봇(10)에 의해 송신되는 컨텐츠가 포맷팅된다. 실시예에서, 컨텐츠의 포맷팅 및 디스플레이를 위한 사용자의 선호도는 장치 및 장치(12)에 대한 클라이언트 메타데이터에 의해 지시되는 임의의 포맷팅보다 더 높은 우선순위를 가질 수 있다(그러나 대안적인 실시예에서는 이것이 반드시 필요한 것은 아니다).
표현되는 사용자 선호도가 없을 경우, 또는 사용자의 선호도가 봇(10)에 의해 송신되는 컨텐츠의 포맷팅을 모두 수용하지 않는 경우, 단계(306)에서 엔드포인트 포맷팅 엔진(42)은 장치(12)가 완전한 디스플레이 및 응답 기능을 가지는지를 더 검사할 수 있다. 완전한 디스플레이 기능은, 예를 들면, 브라우저의 현재 또는 최근 버전을 실행시키는 데스크톱 또는 랩톱 컴퓨터에 존재할 수 있다. 다른 예가 있다. 이 예에서, 엔드포인트 포맷팅 엔진(42)은 장치(12)에 송신되는 컨텐츠를 자연 언어 응답으로서 포맷팅한다(단계(308)). 이 예는 도 4에 도시된다. 도시된 바와 같이, 사용자와 봇(10)은 장치(12)의 모니터(191) 상에 디스플레이된 자연 언어 대화에 참여하고 있다. 장치가 완전한 디스플레이 기능을 구비하는 경우에도, 엔드포인트 포맷팅 장치(42)는 엔진(42)이 장치는 완전한 응답 기능을 구비하지 않는다, 즉, 장치는 완전한 키보드를 구비하지 않는다고 또한 판정하는 경우에는 메뉴 또는 하이퍼링크 포맷(이하 후술)이 더 바람직하다고 판정할 수 있다.
단계(310)에서 엔드포인트 포맷팅 엔진(42)은 또한 장치(21)가 그래픽 디스 플레이 기능을 가지는지를 검사할 수 있다. 다시, 현재 또는 최근 버전의 브라우저에서 실행되는 대부분의 데스크톱이나 랩톱 컴퓨터는 이러한 기능들을 구비할 것이다. 예를 들면, 엔드포인트 포맷팅 엔진(42)은 장치(12)에 전송되는 컨텐츠를 그래픽을 포함하도록 포맷팅할 수 있다(단계(312)). 이러한 그래픽은 추론 엔진(20)에 의해 봇(10)에 의해 송신되고 있는 컨텐츠에 관련하는 것으로서 선택될 수 있다. 그래픽은 또한 사용자에 의해 봇에 송신된 컨텐츠 및/또는 사용 프로필에 기초하여 사용자에게 유익한 것으로서 선택될 수 있다. 예를 들면, 도 5는 특정 지역의 날씨에 대한 사용자에 의한 질의의 응답으로, 봇이 이 요청된 정보의 자연 언어 텍스트 디스플레이를 모니터(191)에 반환한 경우의 예를, 사용자의 질의에 관련된 웹사이트로부터의 그래픽(60)과 함께, 도시한다. 이러한 및 다른 질의에 대한 응답으로 광범위한 다른 그래픽들이 고려된다. 실시예에서, 엔드포인트 포맷팅 엔진(42)이 그래픽 기능을 탐지하였지만, 그래픽들은 봇(10)으로부터 응답으로 송신되지 않은 예 또한 있을 수 있다.
또 다른 실시예에서, 그래픽 기능이 탐지되는 경우, 봇(10)은 도 4에 도시된 바와 같이 디스플레이(191) 상의 그래픽 표시(62)로서 디스플레이될 수 있다. 그래픽 표시(60)는 사진, 아바타 또는 임의의 기타 이미지일 수 있다.
엔드포인트 포맷팅 엔진(42)은 또한 단계(314)에서 장치(12)가 비디오 이미지를 지원하는지를 검사할 수 있다. 현재 또는 최근 버전의 브라우저를 실행하는 다수의 데스크톱 또는 랩톱 컴퓨터는 이러한 기능을 구비할 수 있다. 이 예에서, 엔드포인트 포맷팅 엔진(42)은 장치(12)로 전송되는 컨텐츠를 비디오 이미지를 포 함하도록 포맷팅할 수 있다(단계(316)). 추론 엔진(20)은 이러한 비디오 클립을 의해 봇(10)에 의해 송신되고 있는 컨텐츠와 관련하는 것으로서 선택할 수 있다. 비디오는 또한 사용자에 의해 봇에 송신된 컨텐츠 및/또는 사용 프로필에 기초하여 사용자에게 유익한 것으로서 선택될 수 있다. 그러므로, 예를 들면, 사용자가 텔레비전 쇼에 대한 질의를 한다면, 이 쇼로부터의 비디오 클립이 사용자에게 봇의 응답의 일부로서 다운로드될 수 있다. 마찬가지로, 비디오 기능들이 탐지되는 경우, 모니터(191)에 디스플레이된 봇의 아바타는 에니메이션될(animated) 수 있다. 엔드포인트 포맷팅 엔진(42)이 비디오 기능을 탐지하지만 어떠한 비디오 이미지도 봇(10)으로부터의 응답으로 송신되지 않는 경우의 예가 있을 수 있다.
단계(318)에서 엔드포인트 포맷팅 엔진(42)이 장치(12)는 제한된 텍스트 기능을 가지지만, 하이퍼링크를 디스플레이하고 선택하는 기능은 가진다고 판정하면, 엔드포인트 포맷팅 엔진(42)은 용이한 네비게이션을 위해 사용자에 의해 선택될 수 있는 하이퍼링크를 포함하거나 메뉴로서의 텍스트를 디스플레이할 수 있다(단계(320)). 이러한 실시예는 도 7에 도시되는데, 여기에서 봇(10)은 사용자의 PDA 상에 특정 주식에 대한 추가 정보로 인도하는 하이퍼링크(64)의 리스트를 디스플레이한다. 다양한 다른 정보 중 임의의 것이 포맷되고 디스플레이될 수 있음이 이해된다.
도 7에 예시된 예에서, 사용자는 특정 주식을 특정할 필요 없이 자신의 주식에 대한 정보를 물었다(즉, "Show me information about my stock portfolio"). 예를 들면, 사용자는 KB(22) 상의 자신의 개인 정보의 일부로서 저장된 자신의 일 람표를 가질 수 있다. 대안으로, 사용자는 자신의 개인 정보에 자신의 주식 일람표에 대한 액세스 정보를 저장하였을 수 있으며, 이 액세스 정보는 봇이 검색 처리 환경(29)을 통해 액세스될 수 있는 제3자 서버 상에 저장된 일람표를 액세스할 수 있게 해준다. 이 중 어떤 예에서도, 추론 엔진(20)은 사용자가 요청하였던 정보가 무엇인지를 결정할 수 있었고, 그 정보를 KB(22)에 저장된 데이터로부터 직접 또는 검색 처리 환경(29)에 관련하여 획득할 수 있었다. 그 다음 이 정보는 엔드포인트 포맷팅 엔진(42)에 의해 사용자의 장치(12) 상의 정보의 표시를 최적화하도록 포맷팅될 수 있다.
장치(12)가 하이퍼링크를 디스플레이하거나 선택할 수 있는 기능을 구비하지 않는 경우(단계(322)), 또는 하이퍼링크를 이용하는 선택이 바람직하지 않을 수 있는 경우의 실시예에서, 봇(10)에 의해 디스플레이되는 컨텐츠가 메뉴로서 대신 디스플레이될 수 있다(단계(324)). 이러한 실시예는 도 6에 도시되는데, 여기에서는 봇(10)이 사용자의 모바일폰 상에 메뉴(66)로 컨텐츠를 디스플레이한다.
단계(326)에서 엔드포인트 포맷팅 엔진(42)이 장치(12)는 어떠한 텍스트 기능도 구비하지 않는다고 판정하면, 엔드포인트 포맷팅 엔진(42)은 이 컨텐츠를 장치(12)로의 오디오 다운로드로서 포맷팅할 수 있다(단계(328)). 이러한 실시예에서, 컨텐츠는 엔드포인트 포맷팅 엔진(42)으로부터 데이터를 오디오 포맷으로 변환하기 위한, 상술한 음성 변환 엔진(26) 또는 유사 소프트웨어 애플리케이션 프로그램일 수 있는 음성 변환 엔진으로 송신될 수 있다. 이 포맷팅은 VoIP 또는 아날로그 신호를 생성할 수 있다(이 경우에는 예를 들면 VoIP/오디오 호출이 PSTM 네트워 크로 브리징 아웃(bridge out)된다).
상술한 단계들은 도 3에 도시된 것과는 다른 순서로 수행될 수 있음이 이해된다. 또한, 상술한 단계는 엔드포인트 포맷팅 엔진(42)이 봇(10)에 의해 사용자에게 송신된 컨텐츠를 포맷팅하는 데에 이용되는 기준들의 리스트가 배타적인 것으로 의도하지 않는다. 예를 들면, 엔드포인트 포맷팅 엔진은 프로세서 속도, 메모리 사이즈와 이용가능량, 비디오 카드 기능 및 기타 장치(12) 속성에 관련된 추가적인 정보를 수신할 수 있다. 속성들은 또한 장치에 송신되는 컨텐츠의 포맷팅으로 팩터링(factor)할 수 있다.
마찬가지로 상술한 단계들은 엔드포인트 포맷팅 엔진(42)이 컨텐츠를 포맷팅할 수 있는 방식의 리스팅을 배타적인 것으로 의도하지 않는다. 엔드포인트 포맷팅 엔진(42)이 컨텐츠를 포맷팅하는 데에 임의의 메타데이터, 개인적인 사용자 선호도, 또는 개인 사용자 정보가 기준으로서 이용될 수 있음, 및 매우 다양한 기타 포맷이 포맷팅 엔진(42)에 의해 이루어질 수 있음이 이해될 것이다.
그러므로 다른 기술된 실시예에서는, 봇에 의해 사용자에게 송신된 컨텐츠가 봇의 엔드포인트 포맷팅 엔진(42)에 의해 특정 사용자의 장치에 대하여 최적화된다. 본원 시스템의 다른 실시예에서, 엔드포인트 포맷팅 엔진(42)은 2명 이상의 살아있는 사용자들 간의 통신에 이용될 수 있다. 즉, 2명 이상의 사용자들 간의 접속을 구축할 때, 이들의 각각의 장치에 관련된 메타데이터는 메신저 서버에 송신될 수 있고, 그 다음 사용자의 각각의 장치에 송신된 컨텐츠는 메신저 서버에(또는 사용자의 각각의 장치 상의 클라이언트 소프트웨어에) 포함된 엔드포인트 포맷팅 엔진(42)에 의해 최적화될 수 있다.
다른 대안적인 실시예에서, 2개 이상의 살아있는 사용자들 간의 초기 접속은 메신저 서버를 통해 일어날 수 있어 서버 상의 엔드포인트 포맷팅 엔진(42)이 각각의 장치 파라미터를 탐지하고 이들의 장치에 대하여 컨텐츠 포맷을 최적화할 수 있도록 한다. 이러한 포맷팅 정보가 저장되어, 추후에, 이들 사용자들 간의 미래의 접속이 피어-투-피어(peer-to-peer)로 직접적으로, 메신저 서버와 독립하여 일어날 수 있다.
상술한 바와 같이, 본원 시스템은 IM 및 가능하다면 웹과 기타 IM 클라이언트와 같은 애플리케이션 인터페이스에서 바람직하게 이용될 수 있지만, 다른 애플리케이션 인터페이스를 고려한다. 이러한 추가적인 애플리케이션 인터페이스는 클라이언트의 웹 브라우저를 통한 웹 검색, 이메일 서버를 통한 이메일 교환, 및 자동화된 금전 출납기(teller machine)를 통한 은행 트랜젝션을 포함한다.
도 8은 본원 발명의 시스템을 구현할 수 있는 본원에 나타난 IM 서버, 장치(12) 및 임의의 처리 장치를 포함할 수 있는 적합한 일반 컴퓨팅 시스템 환경(100)의 일례를 도시하고 있다. 컴퓨팅 시스템 환경(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 본원 발명의 시스템의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 시스템 환경(100)이 예시적인 컴퓨팅 시스템 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
본원 발명의 시스템은 많은 기타 범용 또는 특수 목적의 컴퓨팅 시스템, 환경 또는 구성에서 동작할 수 있다. 본원 발명의 시스템에서 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 랩톱 및 팜(palm) 컴퓨터, 핸드-헬드 장치, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
도 8과 관련하여, 본원 발명의 시스템을 구현하는 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 처리 장치(120), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(120)에 연결시키는 시스템 버스(121)를 포함할 수 있지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standard Association) 로컬 버스, 그리고 메자닌 버스(Mezzanine bus)로도 알려진 PCI(Peripheral Component Interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 각종 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있 고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장하는 데에 사용될 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함하지만 이에 제한되지 않는다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되는 것으로 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모 리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에, 컴퓨터(110) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 8은 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장매체를 포함할 수 있다. 단지 예로서, 도 8은 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식·비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151)를 도시한다. 컴퓨터(110)는 광 매체(100)에 기록을 하고/거나 그로부터 판독을 하는 광 매체 판독장치(155)를 더 포함할 수 있다.
예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 설명되고 도 8에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(110)를 위해, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 8에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 이들 컴포넌트가 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 그와 다를 수 있다. 이에 관해, 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 사용자는 키보드(162), 및 일반적으로 마우스, 트랙볼(trackball) 또는 터치 패드라 칭하는 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스(121)에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터 외에, 컴퓨터는 또한 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터 페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 또 하나의 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함하지만, 도 8에는 메모리 저장 장치(181)만을 도시하였다. 도 8에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 8은 원격 애플리케이션 프로그램(185)이 메모리 장치(181)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
본원 발명의 시스템의 전술한 상세한 설명은 예시 및 설명을 위하여 제시된 것이다. 본원 발명의 시스템을 개시된 정확한 형태로 제한하거나 배타적이게 하는 것을 의도하지 않는다. 상기의 설명에 비추어볼 때 다양한 수정 및 변형이 가능하다. 상술한 실시예는 본원 발명의 시스템의 원리 및 그 실제 적용을 가장 잘 설명하여 당업자들이 고려되는 특정 사용에 적절한 각종 실시예에서 및 각종 변형물에서 본원 발명의 시스템을 가장 잘 이용할 수 있도록 하기 위해 선택되었다. 본원 발명의 시스템의 영역은 첨부된 특허청구범위에 의해 적용됨을 의도한다.

Claims (20)

  1. 네트워크 접속을 통한 장치 표시용으로 컨텐츠를 포맷팅하는 방법으로서,
    (a) 상기 장치의 기능성을 적어도 일부 판정하는 단계, 및
    (b) 봇(bot)을 통해 상기 장치에 컨텐츠를 송신하는 단계 - 상기 컨텐츠는 상기 장치의 기능성을 적어도 일부 판정하는 단계 (a)에 적어도 일부 기초하여 포맷팅됨 -
    를 포함하는 네트워크 접속을 통한 장치 표시용으로 컨텐츠를 포맷팅하는 방법.
  2. 제1항에 있어서,
    상기 장치의 기능성을 적어도 일부 판정하는 단계 (a)는 상기 장치에 대한 메타데이터를 수신하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 장치의 기능성을 적어도 일부 판정하는 단계 (a)는 상기 장치 및 상기 장치에서 실행되는 클라이언트 애플리케이션 프로그램 중 적어도 하나에 대한 메타데이터를 수신하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 장치의 기능성을 적어도 일부 판정하는 단계 (a)는 상기 장치에서 실행되는 클라이언트의 클라이언트 프로토콜, 상기 클라이언트의 기능, 상기 장치의 유형, 상기 장치의 위치, 상기 장치의 브랜드 및 상기 장치의 버전 중 적어도 하나에 기초하여 상기 기능성을 판정하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 장치에 송신되는 상기 컨텐츠 포맷팅에 대한 사용자 선호도가 존재하는지를 판정하는 단계를 더 포함하고,
    상기 단계 (b)에서 송신된 상기 컨텐츠는, 상기 컨텐츠 포맷팅에 대한 상기 사용자 선호도 존재여부에 적어도 일부 기초하여 또한 포맷팅되는 방법.
  6. 제1항에 있어서,
    상기 단계 (b)는 상기 단계(a)가 상기 장치는 자연 언어 어구를 디스플레이할 수 있는 컴퓨터이며 키보드를 통해 응답할 수 있다고 판정하는 경우 상기 장치에 상기 컨텐츠를 상기 사용자와의 자연 언어 담화(discourse)로 제시하는 단계를 포함하는 방법.
  7. 제6항에 있어서,
    상기 단계 (b)는 상기 단계(a)가 상기 장치는 그래픽 이미지를 디스플레이할 수 있다고 판정하는 경우 상기 장치에 상기 컨텐츠를 그래픽 이미지와 함께 제시하 는 단계를 포함하는 방법.
  8. 제6항에 있어서,
    상기 단계 (b)는 상기 단계(a)가 상기 장치는 그래픽 비디오를 디스플레이할 수 있다고 판정하는 경우 상기 장치에 상기 컨텐츠를 비디오와 함께 제시하는 단계를 포함하는 방법.
  9. 제1항에 있어서,
    상기 단계 (b)는 상기 단계(a)가 상기 장치는 핸드-헬드 모바일 장치라고 판정하는 경우 상기 장치에 상기 컨텐츠를 메뉴 구동형 포맷으로 제시하는 단계를 포함하는 방법.
  10. 제1항에 있어서,
    상기 단계 (b)는 상기 단계(a)가 상기 장치는 핸드-헬드 모바일 장치라고 판정하는 경우 상기 장치에 상기 컨텐츠를 하이퍼링크 구동형 포맷으로 제시하는 단계를 포함하는 방법.
  11. 제1항에 있어서,
    상기 단계 (b)는 상기 단계(a)가 상기 장치는 텍스트를 지원하지 않는다고 판정하는 경우 상기 장치에 상기 컨텐츠를 오디오 포맷으로 제시하는 단계를 포함 하는 방법.
  12. 인스턴트 메시징 네트워크 접속 및 VoIP 네트워크 접속 중 적어도 하나를 통한 장치 표시용으로 컨텐츠를 포맷팅하기 위한 방법으로서,
    (a) 상기 장치, 상기 장치에서 실행되는 클라이언트 애플리케이션 프로그램, 및 상기 장치의 사용자의 개인적인 선호도 중 적어도 하나에 관련된 정보를 수신하는 단계, 및
    (b) 인스턴트 메시징 네트워크 접속 및 VoIP 네트워크 접속 중 적어도 하나를 통해 상기 장치에 제시되는 상기 컨텐츠의 포맷을 봇을 통하여 결정하는 단계 - 상기 포맷은 상기 장치, 상기 장치에서 실행되는 클라이언트 애플리케이션 프로그램, 및 상기 장치의 사용자의 개인적인 선호도 중 적어도 하나에 관련된 정보를 수신하는 단계 (a)에 적어도 일부 기초함 -
    를 포함하는 인스턴트 메시징 네트워크 접속 및 VoIP 네트워크 접속 중 적어도 하나를 통한 장치 표시용으로 컨텐츠를 포맷팅하기 위한 방법.
  13. 제12항에 있어서,
    상기 단계 (a) 및 단계 (b)는 상기 봇의 적어도 일부로서 포함되는 엔드포인트(endpoint) 포맷팅 엔진에 의해 수행되는 방법.
  14. 제12항에 있어서,
    상기 장치, 상기 장치에서 실행되는 클라이언트 애플리케이션 프로그램, 및 상기 장치의 사용자의 개인적인 선호도 중 적어도 하나에 관련된 정보를 수신하는 단계 (a)는 상기 장치에서 실행되는 클라이언트의 클라이언트 프로토콜, 상기 클라이언트의 기능, 상기 장치의 유형, 상기 장치의 위치, 상기 장치의 브랜드 및 상기 장치의 버전 중 적어도 하나에 관련된 메타데이터를 수신하는 단계를 포함하는 방법.
  15. 네트워크 접속을 통하여 장치에 송신되는 컨텐츠를 포맷팅할 수 있는 봇으로서,
    상기 장치의 기능성에 관련하는 메타데이터를 수신할 수 있고, 상기 장치의 상기 기능성에 적어도 일부 기초하여 상기 장치에 송신되는 상기 컨텐츠를 포맷팅할 수 있는 포맷팅 엔진
    을 포함하는 네트워크 접속을 통하여 장치에 송신되는 컨텐츠를 포맷팅할 수 있는 봇.
  16. 제15항에 있어서,
    상기 봇은 상기 봇과 상기 장치의 사용자 간의 인스턴트 메시징을 지원하기 위한 메신저 애플리케이션 인터페이스의 일부를 형성하는 봇.
  17. 제15항에 있어서,
    상기 포맷팅 엔진은 또한 상기 포맷팅 엔진이 상기 장치는 자연 언어 어구를 디스플레이할 수 있는 컴퓨터이며 키보드를 통해 응답할 수 있다고 판정하는 경우 상기 장치에 상기 컨텐츠를 자연 언어 담화로 제시할 수 있는 봇.
  18. 제15항에 있어서,
    상기 포맷팅 엔진은 또한 상기 포맷팅 엔진이 상기 장치는 핸드-헬드 모바일 장치라고 판정하는 경우 상기 장치에 상기 컨텐츠를 메뉴 구동형 포맷 또는 하이퍼링크 구동형 포맷 중 하나로 제시할 수 있는 봇.
  19. 제15항에 있어서,
    상기 포맷팅 엔진은 또한 상기 포맷팅 엔진이 상기 장치는 텍스트를 지원하지 않는다고 판정하는 경우 상기 장치에 상기 컨텐츠를 오디오 포맷으로 제시할 수 있는 봇.
  20. 제15항에 있어서,
    상기 포맷팅 엔진은 또한 상기 장치에 컨텐츠가 표시되는 방식에 대하여 상기 장치의 상기 사용자에 의한 개인적인 선호도의 존재에 관련된 정보를 수신할 수 있는 봇.
KR1020087003437A 2005-08-18 2006-08-08 네트워크 접속을 통한 장치 표시용으로 컨텐츠를포맷팅하는 방법 및 로봇 KR20080038337A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/207,664 US20070043878A1 (en) 2005-08-18 2005-08-18 Virtual robot communication format customized by endpoint
US11/207,664 2005-08-18

Publications (1)

Publication Number Publication Date
KR20080038337A true KR20080038337A (ko) 2008-05-06

Family

ID=37758104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087003437A KR20080038337A (ko) 2005-08-18 2006-08-08 네트워크 접속을 통한 장치 표시용으로 컨텐츠를포맷팅하는 방법 및 로봇

Country Status (6)

Country Link
US (1) US20070043878A1 (ko)
EP (1) EP1922648A2 (ko)
JP (1) JP2009505284A (ko)
KR (1) KR20080038337A (ko)
CN (1) CN101243437A (ko)
WO (1) WO2007021719A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008039163A1 (de) 2008-04-24 2009-10-29 Hyundai Motor Company Armlehnenanordnung für einen Kraftfahrzeugsitz

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700713B2 (en) 2005-12-09 2014-04-15 Ebuddy Holding B.V. Picture provisioning system and method
US8139752B2 (en) * 2006-07-28 2012-03-20 Ubiquity Software Corporation Limited Voice conference control from an instant messaging session using an automated agent
US8341221B2 (en) * 2006-10-05 2012-12-25 Verizon Patent And Licensing Inc. Instant messenger location buddy
US20080155031A1 (en) * 2006-12-21 2008-06-26 Fortier Stephane Maxime Franco Systems and methods for conveying information to an instant messaging client
US8943128B2 (en) * 2006-12-21 2015-01-27 Bce Inc. Systems and methods for conveying information to an instant messaging client
US20080155030A1 (en) * 2006-12-21 2008-06-26 Fortier Stephane Maxime Franco Systems and methods for conveying information to an instant messaging client
US20090077180A1 (en) * 2007-09-14 2009-03-19 Flowers John S Novel systems and methods for transmitting syntactically accurate messages over a network
US20100257453A1 (en) * 2007-11-13 2010-10-07 Alcatel-Lucent Usa Inc. Watcher proposed presence states
WO2009130698A2 (en) * 2008-04-23 2009-10-29 Neta Weinryb System and method for managing discussions using messaging services
US20090327437A1 (en) * 2008-06-30 2009-12-31 Microsoft Corporation Real time media-based social network notifications
US8176421B2 (en) 2008-09-26 2012-05-08 International Business Machines Corporation Virtual universe supervisory presence
US20100083139A1 (en) * 2008-09-26 2010-04-01 International Business Machines Corporation Virtual universe avatar companion
US20100169352A1 (en) * 2008-12-31 2010-07-01 Flowers John S Novel systems and methods for transmitting syntactically accurate messages over a network
US8775529B2 (en) * 2009-05-08 2014-07-08 Raytheon Company Bridging communications between communication services using different protocols
US20110007732A1 (en) * 2009-07-08 2011-01-13 John Ward Unified Communication System
US10904178B1 (en) 2010-07-09 2021-01-26 Gummarus, Llc Methods, systems, and computer program products for processing a request for a resource in a communication
US8707302B2 (en) * 2011-01-06 2014-04-22 International Business Machines Corporation Techniques for personalizing feed content in virtualized computing environments
US9110977B1 (en) * 2011-02-03 2015-08-18 Linguastat, Inc. Autonomous real time publishing
KR101402506B1 (ko) * 2011-12-01 2014-06-03 라인 가부시키가이샤 인스턴트 메시징 어플리케이션을 이용한 대화형 정보제공 시스템 및 방법
KR20130071958A (ko) * 2011-12-21 2013-07-01 엔에이치엔(주) 인스턴트 메시징 어플리케이션에서 메시지 통번역을 제공하는 시스템 및 방법
US9415514B2 (en) * 2012-09-07 2016-08-16 Fanuc America Corporation System to monitor/analyze robot related information and display on a smart device
US9467412B2 (en) * 2012-09-11 2016-10-11 Vidyo, Inc. System and method for agent-based integration of instant messaging and video communication systems
US10021052B1 (en) 2012-09-22 2018-07-10 Sitting Man, Llc Methods, systems, and computer program products for processing a data object identification request in a communication
EP2901612A4 (en) * 2012-09-28 2016-06-15 Level 3 Communications Llc APPARATUS, SYSTEM AND METHOD FOR IDENTIFYING AND MITIGATING MALICIOUS THREATS ON A NETWORK
US10019135B1 (en) 2012-10-18 2018-07-10 Sitting Man, Llc Methods, and computer program products for constraining a communication exchange
US10033672B1 (en) 2012-10-18 2018-07-24 Sitting Man, Llc Methods and computer program products for browsing using a communicant identifier
JP5666637B2 (ja) * 2013-02-25 2015-02-12 シャープ株式会社 メッセージ通知装置、制御方法、および制御プログラム
US10474319B2 (en) * 2013-04-25 2019-11-12 Tencent Technology (Shenzhen) Company Limited Methods and instant messaging client devices for performing IM using menu option
US20150004591A1 (en) * 2013-06-27 2015-01-01 DoSomething.Org Device, system, method, and computer-readable medium for providing an educational, text-based interactive game
KR101508429B1 (ko) * 2013-08-22 2015-04-07 주식회사 엘지씨엔에스 사용자 단말에 에이전트 서비스를 제공하는 방법 및 시스템
US20150100506A1 (en) * 2013-10-07 2015-04-09 State Farm Mutual Automobile Insurance Company Systems and methods to report vehicle ownership information
US10140782B2 (en) 2013-10-07 2018-11-27 State Farm Mutual Automobile Insurance Company Vehicle sharing tool based on vehicle condition assessments
US10423989B2 (en) 2013-10-07 2019-09-24 State Farm Mutual Automobile Insurance Company Systems and methods to assess the condition of a vehicle
KR20150069917A (ko) 2013-12-16 2015-06-24 삼성전자주식회사 화상형성 시스템, 모바일 디바이스의 메신저 애플리케이션을 이용하여 화상형성장치를 제어하는 방법 및 이를 수행하는 모바일 디바이스
US10606718B1 (en) 2013-12-19 2020-03-31 Amdocs Development Limited System, method, and computer program for managing fault recovery in network function virtualization (Nfv) based networks
US20160044380A1 (en) * 2014-06-12 2016-02-11 Bertrand Barrett Personal helper bot system
BR102015004521B1 (pt) * 2015-02-27 2023-09-26 Samsung Eletrônica da Amazônia Ltda. Método para comunicação entre usuários e dispositivos inteligentes
EP3271837A4 (en) * 2015-03-17 2018-08-01 VM-Robot, Inc. Web browsing robot system and method
CN104915113B (zh) * 2015-05-28 2019-02-19 惠州Tcl移动通信有限公司 一种移动智能终端及其信息搜索方法
EP3314563A4 (en) * 2015-06-26 2019-01-09 Groupon, Inc. INTEGRATION OF A MOBILE CHAT APPLICATION WITH ADVERTISING SYSTEMS
ES2600145B1 (es) * 2015-08-06 2017-11-20 Proyectos Y Soluciones Tecnológicas Avanzadas, S.L.P. Sistema de mensajería instantánea
CN105141503A (zh) * 2015-08-13 2015-12-09 北京北信源软件股份有限公司 一种全新的即时通信智能机器人
CN105207889A (zh) * 2015-08-24 2015-12-30 北京北信源软件股份有限公司 一种运行在即时通信平台上的机器人app应用方法
US10587708B2 (en) * 2016-03-28 2020-03-10 Microsoft Technology Licensing, Llc Multi-modal conversational intercom
US11487512B2 (en) 2016-03-29 2022-11-01 Microsoft Technology Licensing, Llc Generating a services application
US20200036658A1 (en) * 2016-04-18 2020-01-30 Inzane Labs Private Limited System and method for assisting user communications using bots
US10360906B2 (en) 2016-06-14 2019-07-23 Microsoft Technology Licensing, Llc Computer proxy messaging bot
US10162817B2 (en) 2016-06-14 2018-12-25 Microsoft Technology Licensing, Llc Computer messaging bot creation
US10341267B2 (en) 2016-06-20 2019-07-02 Microsoft Technology Licensing, Llc Anonymized identifiers for secure communication systems
US9940390B1 (en) * 2016-09-27 2018-04-10 Microsoft Technology Licensing, Llc Control system using scoped search and conversational interface
US10361975B2 (en) * 2016-10-10 2019-07-23 Microsoft Technology Licensing, Llc Messaging bot selection in multi-bot chat sessions
US10333868B2 (en) * 2017-04-14 2019-06-25 Facebook, Inc. Techniques to automate bot creation for web pages
CN107294837A (zh) * 2017-05-22 2017-10-24 北京光年无限科技有限公司 采用虚拟机器人进行对话交互的方法和系统
CN107480315B (zh) * 2017-05-26 2021-03-05 浙江理工大学 参数化样板设计的方法和系统
US10728190B2 (en) * 2017-06-29 2020-07-28 Salesforce.Com, Inc. Form based user interactions via messaging channels
US11107141B1 (en) 2017-07-20 2021-08-31 Wells Fargo Bank, N.A. Bot-to-bot intelligence for transactions and interactions
US10388285B2 (en) * 2017-08-31 2019-08-20 International Business Machines Corporation Generating chat bots from web API specifications
US10885911B2 (en) * 2018-09-14 2021-01-05 Salesforce.Com, Inc. Voice endpoint to chatbot bridge interface
SG11202109962PA (en) * 2019-03-28 2021-10-28 Liveperson Inc Dynamic message processing and aggregation of data in messaging

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0827098A3 (en) * 1996-08-19 2003-03-19 International Business Machines Corporation Device independent and transfer optimized interactive client-server dialog system
US6363301B1 (en) * 1997-06-04 2002-03-26 Nativeminds, Inc. System and method for automatically focusing the attention of a virtual robot interacting with users
US6167441A (en) * 1997-11-21 2000-12-26 International Business Machines Corporation Customization of web pages based on requester type
US6236983B1 (en) * 1998-01-31 2001-05-22 Aveo, Inc. Method and apparatus for collecting information regarding a device or a user of a device
US6202062B1 (en) * 1999-02-26 2001-03-13 Ac Properties B.V. System, method and article of manufacture for creating a filtered information summary based on multiple profiles of each single user
GB2353111A (en) * 1999-08-07 2001-02-14 Ibm System for wireless communications between computers
FI20000637A0 (fi) * 2000-03-17 2000-03-17 Codeonline Oy Menetelmä ja järjestelmä kysymysten esittämiseen ja vastausten vastaanottoon
US6801793B1 (en) * 2000-06-02 2004-10-05 Nokia Corporation Systems and methods for presenting and/or converting messages
US7146404B2 (en) * 2000-08-22 2006-12-05 Colloquis, Inc. Method for performing authenticated access to a service on behalf of a user
US6754647B1 (en) * 2000-09-26 2004-06-22 Verity, Inc. Method and apparatus for hierarchically decomposed bot scripts
US6785707B2 (en) * 2000-11-14 2004-08-31 Bitfone Corp. Enhanced multimedia mobile content delivery and message system using cache management
DE10063148A1 (de) * 2000-12-18 2002-06-20 Deutsche Telekom Ag Dialoganlage für eine Mensch-Maschine-Interaktion mit kooperierenden Dialogeinrichtungen
US7861252B2 (en) * 2001-03-21 2010-12-28 Andrzej Uszok Intelligent software agent system architecture
JP2003050786A (ja) * 2001-08-03 2003-02-21 Nissan Motor Co Ltd 分散情報収集システム
US20030182391A1 (en) * 2002-03-19 2003-09-25 Mike Leber Internet based personal information manager
US20050027805A1 (en) * 2003-07-15 2005-02-03 Aoki Norihiro Edwin Instant messaging and enhanced scheduling
DE60305709T2 (de) * 2003-10-30 2007-05-24 Research In Motion Ltd., Waterloo System und Verfahren zur Formatierung von elektronischen Berichten eines mobilen Telekommunikationsendgerätes
US20060167977A1 (en) * 2004-12-15 2006-07-27 Alcatel Presence system and method for transforming device view of presentity preferences into media view
US20060184609A1 (en) * 2005-02-16 2006-08-17 Li Deng Simplified scheme of rich content messaging from PC to mobile devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008039163A1 (de) 2008-04-24 2009-10-29 Hyundai Motor Company Armlehnenanordnung für einen Kraftfahrzeugsitz

Also Published As

Publication number Publication date
CN101243437A (zh) 2008-08-13
WO2007021719A3 (en) 2007-04-12
JP2009505284A (ja) 2009-02-05
WO2007021719A2 (en) 2007-02-22
EP1922648A2 (en) 2008-05-21
US20070043878A1 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
KR20080038337A (ko) 네트워크 접속을 통한 장치 표시용으로 컨텐츠를포맷팅하는 방법 및 로봇
US8516077B2 (en) Method and system for providing electronic user assistance
US10339161B2 (en) Expanding network relationships
KR100845375B1 (ko) 인스턴트 메시징 애플리케이션으로부터의 인터넷 검색의처리
US8499028B2 (en) Dynamic extensible lightweight access to web services for pervasive devices
US9378290B2 (en) Scenario-adaptive input method editor
US20020173946A1 (en) Translation and communication of a digital message using a pivot language
US7921154B2 (en) System and method of live data search on a mobile device
US20090249198A1 (en) Techniques for input recogniton and completion
US20170237801A1 (en) Device configuration-based function delivery
JP2008191748A (ja) ユーザ間コミュニケーション方法、ユーザ間コミュニケーションプログラム、ユーザ間コミュニケーション装置
KR20020004931A (ko) 대화식 브라우저 및 대화식 시스템
US11922193B2 (en) Interface and mode selection for digital action execution
CN111557002A (zh) 安全处理环境中的数据传输
KR20230160958A (ko) 네트워크 시스템에서 도메인-특정 모델의 생성
Pargellis et al. An automatic dialogue generation platform for personalized dialogue applications
US20080033918A1 (en) Systems, methods and computer program products for supplemental data communication and utilization
KR101537555B1 (ko) 인스턴트 메신저 상의 메시지 바로 검색 지원 방법
JP2003228575A (ja) 対話システム、対話サーバ、対話方法、及び対話プログラム
JP2002163171A (ja) ユーザ支援装置およびシステム
JP2003271376A (ja) 情報提供システム
TW200301430A (en) Information retrieval system including voice browser and data conversion server

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid