KR101365812B1 - 통신을 개시하는 방법, 하나 이상의 프로세서 판독가능 저장 장치 및 컴퓨팅 장치 - Google Patents

통신을 개시하는 방법, 하나 이상의 프로세서 판독가능 저장 장치 및 컴퓨팅 장치 Download PDF

Info

Publication number
KR101365812B1
KR101365812B1 KR1020087026395A KR20087026395A KR101365812B1 KR 101365812 B1 KR101365812 B1 KR 101365812B1 KR 1020087026395 A KR1020087026395 A KR 1020087026395A KR 20087026395 A KR20087026395 A KR 20087026395A KR 101365812 B1 KR101365812 B1 KR 101365812B1
Authority
KR
South Korea
Prior art keywords
content
subject
indication
pattern
user
Prior art date
Application number
KR1020087026395A
Other languages
English (en)
Other versions
KR20090018888A (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 KR20090018888A publication Critical patent/KR20090018888A/ko
Application granted granted Critical
Publication of KR101365812B1 publication Critical patent/KR101365812B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0012Details of application programming interfaces [API] for telephone networks; Arrangements which combine a telephonic communication equipment and a computer, i.e. computer telephony integration [CPI] arrangements
    • H04M7/0015First party call control architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/27467Methods of retrieving data
    • H04M1/27475Methods of retrieving data using interactive graphical means or pictorial representations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • H04M7/003Click to dial services

Abstract

사용자가 웹 페이지(또는 기타 인터페이스) 상의 전화 번호[또는 음성 통신의 대상(target)의 다른 표시]에 마우스를 올려 놓을 때, 전화 번호가 하이라이트되고 사용자는 하이라이트된 번호를 사용하여 통화를 할 기회를 제공받는다. 사용자가 하이라이트된 전화 번호를 클릭하는 경우, 전화 번호가 전화 통화를 용이하게 하는 통신 애플리케이션에 제공된다. 사용자가 하이라이트된 전화 번호를 클릭하지 않고 다른 데로 가버리는 경우, 하이라이트가 사라진다. 대안의 실시예에서, 사용자는 웹 페이지(또는 다른 인터페이스)에서 텍스트를 선택할 수 있고, 선택된 텍스트에 전화 번호가 있는 경우, 전화 통화를 용이하게 하기 위해 그 전화 번호가 자동적으로 통신 애플리케이션에 제공될 수 있다. 다른 실시예에서, 이 시스템은 컨텐츠에서 전화 번호를 찾아내고 이들 전화 번호를 상기한 동작을 가능하게 하는 하이퍼링크로 대체한다.
VOIP, 하이퍼링크, 라이브콜 핸들러, URL 모니커, 소프트폰

Description

통신을 개시하는 방법, 하나 이상의 프로세서 판독가능 저장 장치 및 컴퓨팅 장치{HOVER TO CALL}
VOIP(Voice over Internet Protocol)는 사용자가 종래의 전화선 대신에 광대역 인터넷 접속을 사용하여 전화 통화를 할 수 있게 하는 기술이다. VOIP를 사용하는 어떤 서비스에서는 사용자가 VOIP를 마찬가지로 사용하고 있는 다른 사람에게 전화를 할 수 있을 뿐이지만, 많은 서비스에서는 사용자가 전화 번호(시내 전화 번호, 시외 전화 번호, 이동 전화 번호, 국제 전화 번호를 포함함)를 가지고 있는 사람이라면 누구에게라도 전화를 할 수 있다. 몇몇 서비스는 단지 컴퓨터 또는 특수한 VOIP 전화를 통해 이루어지는 반면, 다른 서비스에서는 어댑터를 통해 종래의 전화를 사용할 수 있다.
VOIP의 사용을 촉진시키기 위해, 기술 제공자들은 VOIP를 사용하기 더 편리하고 효율적이게 만드는 방법을 찾아 왔다. 예를 들어, 어떤 VOIP 애플리케이션 제공자는 웹 페이지에서 발견되는 전화 번호들을 하이라이트하고 전화 통화를 개시하는 하이퍼링크와 연관시킴으로써 인터넷 상의 컨텐츠에서 전화 번호일 가능성이 있는 것을 식별해내는 기술을 개발하였다.
그러나, 전화 번호를 하이라이트하는 상기한 기술에서는 몇가지 사용자 경험 문제가 있다. 예를 들어, 때때로 하이라이트는 방해가 되고 웹 페이지를 읽기 어 렵게 만든다. 그에 부가하여, 하이라이트의 사용은 웹 페이지의 렌더링 시간을 증가시키는데, 그 이유는, 모든 전화 번호를 찾아내어 인식하고 이들 전화 번호에 하이퍼링크를 연관시키며 그 전화 번호를 하이라이트하기 위해, 하이라이팅을 수행하는 소프트웨어가 전체 페이지를 파싱할 필요가 있기 때문이다.
<발명의 요약>
본 명세서에 기재된 기술은 사용자가 사용자 인터페이스의 컨텐츠 내의 전화 번호 상에 마우스를 올려놓는 등의 호버링(hovering) 또는 그 전화 번호를 선택하는 것에 응답하여 전화 통화를 자동화함으로써 통신 시스템의 사용을 용이하게 한다.
사용자가 웹 페이지(또는 기타 인터페이스) 상의 전화 번호[또는 음성 통신의 대상(target)의 다른 표시]에 마우스를 올려놓는 등의 호버링 시에, 전화 번호가 하이라이트되고 사용자는 하이라이트된 번호를 사용하여 통화를 할 기회를 제공받는다. 사용자가 하이라이트된 전화 번호를 클릭하는 경우(또는 다른 방식으로 선택하는 경우), 전화 번호가 그 번호를 사용하여 전화 통화를 할 수 있는 VOIP 애플리케이션(또는 다른 통신 애플리케이션)에 제공된다. 사용자가 하이라이트된 전화 번호를 클릭하지 않고 다른 데로 가버리는 경우, 하이라이트가 사라진다. 대안의 실시예에서, 사용자는 웹 페이지(또는 다른 인터페이스)에서 텍스트를 선택할 수 있고, 선택된 텍스트에 전화 번호가 있는 경우, 전화 통화를 용이하게 하기 위해 그 전화 번호가 자동적으로 VOIP 애플리케이션에 제공될 수 있다. 다른 실시예에서, 이 시스템은 컨텐츠에서 전화 번호를 찾아내고 이들 전화 번호를 본 명세서에 기술된 동작을 가능하게 하는 하이퍼링크로 대체한다.
일 실시예는 사용자가 컨텐츠 상에 또는 컨텐츠 근방에 마우스를 올려놓은 것에 응답하여 그 컨텐츠가 대상(target)의 표시인지 여부를 판정하는 단계, 상기 판정에 응답하여 상기 대상의 표시를 식별하는 단계, 상기 대상의 표시의 선택을 수신하는 단계, 및 상기 대상의 표시의 선택을 수신한 것에 응답하여 상기 대상의 표시를 사용하여 음성 연결(voice connection)을 설정하는 단계를 포함한다. 다른 실시예는 컨텐츠가 대상의 표시인지 여부를 판정하는 단계를 포함하며, 이 판정하는 단계는 상기 컨텐츠를 정규화하는 단계, 상기 정규화된 컨텐츠를 정규화된 패턴에 대응시키는 단계, 및 상기 컨텐츠를 상기 정규화된 패턴과 연관된 원시 패턴에 대응시키는 단계를 포함한다. 상기 대상의 표시는 사용자가 상기 컨텐츠 상에 또는 그 근방에 마우스를 올려 놓은 것에 응답하여 상기 컨텐츠 내에서 시각적으로 식별된다. 음성 연결은 상기 대상의 표시의 선택을 수신한 것에 응답하여 상기 대상의 표시를 사용하여 설정된다. 다른 실시예는 사용자 인터페이스에 저장 장치로부터의 컨텐츠를 디스플레이하는 단계, 컨텐츠의 일부분의 선택을 수신하는 단계, 상기 컨텐츠의 일부분이 대상의 적당한 표시를 포함하는지 여부를 판정하는 단계, 및 상기 대상의 적당한 표시 및 통신 인터페이스를 사용하여 데이터 네트워크를 통한 음성 연결을 설정하게 하는 단계를 포함한다.
본 명세서에 기재된 기술은 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 둘다의 조합을 사용하여 구현될 수 있다. 사용되는 소프트웨어는 하드 디스크 드라이브, CD-ROM, DVD, 광 디스크, 플로피 디스크, 테이프 드라이브, RAM, ROM, 플래쉬 메모리, 또는 기타 적당한 저장 장치를 비롯한 하나 이상의 프로세서 판독가능 저장 장치에 저장된다. 이 소프트웨어는 본 명세서에 기재된 기능들을 수행하도록 하나 이상의 프로세서를 프로그램하는 데 사용될 수 있다. 대안의 실시예에서, 이 소프트웨어의 일부 또는 그 전부가 주문형 집적 회로(custom integrated circuit), 게이트 어레이(gate array), FPGA, PLD, 및 특수 목적 컴퓨터를 비롯한 전용 하드웨어로 대체될 수 있다. 본 명세서에 기재된 기능들을 수행할 수 있는 예시적인 장치는 저장 장치 및 통신 인터페이스와 통신하는 하나 이상의 프로세서를 포함한다.
이 요약은 이하의 상세한 설명에서 더 기술되는 선택된 개념들을 간략화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 발명 내용의 주요 특징 또는 필수적인 특징을 확인하기 위한 것이 아니며 청구된 발명 내용의 범위를 정하는 데 보조 수단으로 사용되기 위한 것도 아니다.
도 1은 네트워크를 통한 음성 통신을 제공하는 시스템의 일 실시예의 블록도이다.
도 2는 클라이언트 장치 상의 컴포넌트들의 일 실시예의 블록도이다.
도 3은 클라이언트 장치 상의 컴포넌트들의 일 실시예의 블록도이다.
도 4는 컴퓨팅 시스템의 일 실시예를 설명하는 블록도이다.
도 5는 사용자가 전화 번호의 표시 상에 마우스를 올려 놓은 것에 응답하여 통신을 개시하는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 6은 전화 번호를 인식하는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 7은 VOIP 연결을 구현하는 프로세스를 설명하는 블록도이다.
도 8은 사용자가 전화 번호의 표시 상에 마우스를 올려 놓은 것에 응답하여 통신을 개시하는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 9는 사용자가 전화 번호를 포함하는 컨텐츠를 선택한 것에 응답하여 통신을 개시하는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 10은 사용자가 전화 번호를 포함하는 컨텐츠를 선택한 것에 응답하여 통신을 개시하는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 11은 사용자가 전화 번호의 표시 상에 마우스를 올려 놓은 것에 응답하여 통신을 개시하는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 12는 클라이언트 장치 상의 컴포넌트들의 일 실시예의 블록도이다.
도 13은 웹 페이지에 하이퍼링크를 추가하는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 14A 및 도 14B는 하이퍼링크가 추가되기 이전과 그 이후의 웹 페이지의 일부분을 나타낸 도면이다.
도 15는 사용자가 전화 번호의 표시 상에 마우스를 올려 놓은 것에 응답하여 통신을 개시하는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 16은 하이퍼링크에 응답하여 통신 시스템에 의해 수행되는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 17은 하이퍼링크에 응답하여 통신 시스템에 의해 수행되는 프로세스의 일 실시예를 설명하는 흐름도이다.
본 명세서에 기재된 기술은 사용자가 사용자 인터페이스의 컨텐츠 내의 전화 번호 상에서의 호버링 및/또는 그 전화 번호를 선택하는 것에 응답하여 음성 연결을 자동화함으로써 통신 시스템의 사용을 용이하게 한다.
사용자가 웹 페이지(또는 기타 인터페이스) 상의 전화 번호(또는 음성 통신의 대상의 다른 표시) 상에 마우스를 올려 놓을 때, 전화 번호가 하이라이트되고, 사용자는 하이라이트된 번호를 사용하여 통화를 할 기회를 제공받게 된다. 사용자가 하이라이트된 전화 번호를 클릭하는 경우(또는 다른 방식으로 선택하는 경우), 전화 번호를 사용하여 통화를 할 수 있는 VOIP 애플리케이션(또는 다른 통신 애플리케이션)에 그 전화 번호가 자동적으로 제공된다. 사용자가 하이라이트된 전화 번호를 클릭하지 않고 다른 데로 가버리는 경우, 하이라이트가 사라진다.
대안의 실시예에서, 사용자는 웹 페이지(또는 기타 인터페이스)에서 텍스트를 선택할 수 있고, 선택된 텍스트에 전화 번호가 있는 경우, 통화를 하는 것을 용이하게 하기 위해 그 전화 번호가 자동적으로 VOIP 애플리케이션에 제공될 수 있다. 몇몇 실시예들에서, 본 시스템은 컨텐츠에서 전화 번호를 찾아내고, 그 전화 번호를 상기한 동작을 가능하게 하는 하이퍼링크로 대체한다.
도 1은 본 명세서에 기재된 바와 같이 전화 통화의 개시를 자동화할 수 있는 네트워크를 통한 통신(예를 들어, VOIP)을 제공하는 시스템의 일 실시예를 나타낸 블록도이다. 도 1은 인터넷(12)과 통신하고 있는 클라이언트 컴퓨팅 장치(10)를 나타내고 있다. 클라이언트 컴퓨팅 장치(10)는 퍼스널 컴퓨터, 노트북 컴퓨터, 핸드헬드 장치, 이동 전화 등을 비롯한 임의의 적당한 컴퓨팅 장치일 수 있다. 클라이언트 컴퓨팅 장치는 인터넷(12)을 통한 통신을 가능하게 하는 소프트웨어 및/또는 하드웨어를 포함한다. 예를 들어, 클라이언트 컴퓨팅 장치는 네트워크 인터넷(12)을 통해 통신을 하는 VOIP 소프트웨어 애플리케이션을 포함할 수 있다.
도 1은 또한 인터넷(12)(또는 기타 수단)을 통해 인터페이스(16)와 통신하고 있는 컴퓨팅 장치(14)도 나타내고 있다. 인터페이스(16)는 또한 직접 통신 링크, 인터넷(12) 또는 다른 수단을 통해 전화 네트워크(18)와도 통신을 하고 있다. 컴퓨팅 장치(14)는 다른 컴퓨팅 장치와 통신을 할 수 있는 임의의 유형의 컴퓨팅 장치일 수 있다. 전화 네트워크(18)는 공지된 종래의 전화 네트워크 및/또는 셀룰러 전화 네트워크를 포함한다. 인터페이스(16)는 종래의 전화 네트워크(18)와 인터넷(12)의 데이터 네트워크 간의 인터페이스를 제공하는 하드웨어 및 소프트웨어를 포함한다. 예를 들어, 인터페이스(16)는 인터넷(12)을 통해 VOIP 통신을 수신하고 그 통신을 종래의 전화 네트워크(18)에 전달함은 물론 전화 네트워크(18)로부터의 음성 통신을 인터넷(12)을 통한 VOIP 통신에 전달하는 하나 이상의 컴퓨터일 수 있다. 클라이언트 컴퓨팅 장치(10)의 사용자가 VOIP 기술을 사용하여 컴퓨팅 장치(14) 상의 다른 사용자에게 또는 전화 네트워크(18) 상의 종래의 전화 또는 무선 전화의 사용자에게 전화 통화를 하는 것이 생각된다. 다른 실시예들에서, 이 전화 통화를 하는 사용자는 클라이언트 컴퓨팅 장치(10)보다는 어댑터를 갖는 전화를 사용하고 있을 수 있다.
도 2는 클라이언트 컴퓨팅 장치(10) 상에 존재하는 다양한 컴포넌트를 나타낸 블록도이다. 일 실시예에서, 클라이언트 컴퓨팅 장치(10)는 브라우저(30)(예를 들어, 마이크로소프트사의 인터넷 익스플로러, 또는 다른 브라우저) 및 소프트폰(SoftPhone)(40)를 포함한다. 일 실시예에서, 소프트폰(40)은 VOIP를 구현할 수 있는 소프트웨어 애플리케이션이다. 다른 실시예들에서, 소프트폰(40)은 음성 연결 또는 음성 통신을 포함하는 기타 유형의 연결을 설정하는 데 사용될 수 있는 기타 통신 프로토콜들을 구현한다. 소프트폰(40)은 인스턴트 메시징, 이메일, 파일 공유 및 기타 서비스를 포함하는 통신 애플리케이션의 일부일 수 있다.
브라우저(30)는 플러그인(32), URL 모니커(URL Moniker)(34), 및 라이브콜 핸들러(LiveCall Handler)(36)를 포함한다. 플러그인(32)은 브라우저에 의해 로드되어 브라우저에서 실행되는 소프트웨어 모듈이다. 웹 페이지가 로드될 때, 브라우저는 소정 기능을 수행하기 위해 브라우저 플러그인을 호출한다. 사용자가 텍스트 문자열 상에 마우스를 올려놓는 등의 호버링 시에, 브라우저(30)는 그 텍스트 문자열을 처리하기 위해 브라우저 플러그인(32)을 호출한다. URL 모니커(34)는 브라우저(30) 내에 사용자 인터페이스를 구현하는 코드로 되어 있는 URL을 수신하고 이들 URL에 대한 적절한 프로토콜 핸들러를 탐색한다. 라이브콜 핸들러(36)는 프로토콜 핸들러의 일례이다. 이하에서 논의되는 바와 같이, 본 명세서에 기재된 기술의 몇몇 실시예들의 일 양태는 새로운 하이퍼링크이다. 이 하이퍼링크는 라이브콜 하이퍼링크(LiveCall hyperlink)라고 한다. 라이브콜 핸들러(36)는 라이브콜 하이퍼링크에 대한 프로토콜 핸들러이다. 라이브콜 하이퍼링크에 대한 추가의 상세에 대해서는 이하에서 논의한다.
소프트폰(40)은 소프트폰(40)을 사용하기 전에 사용자를 인증하는 소프트웨어 모듈인 인증 관리자(Authentication Manager)(42)를 포함한다. 몇몇 실시예들에서, 인증 관리자(42)는 또한 사용자가 사용자에 의해 요청된 동작들을 수행하도록 허가되어 있는지를 검증한다. 도 2는 플러그인(32) 및 라이브콜 핸들러(36)와 통신하고 있는 인증 관리자(42)를 나타내고 있다.
사용자가 인증된 후에, 인증 관리자(42)는 제어를 파서(44) 또는 다른 모듈로 넘긴다. 파서(44)는 URL을 다양한 성분으로 파싱하는 소프트웨어 모듈이다. 파서(44)는 이들 성분을 신호 및 음성 엔진(Signal and Voice Engine)(46), 비지니스 인텔리전스(Business Intelligence)(48), 프리젠테이션 로직(Presentation Logic)(50), 및 하이퍼링크 리디렉터(Hyperlink Redirector)(52)에 전달한다.
역시 인증 관리자(42)와 통신을 하고 있는 신호 및 음성 엔진(46)은 VOIP 전화 통화를 개시 및 유지하는 엔진을 제공한다. 신호 및 음성 엔진(46)은 주소록(Address Book)(58)과 통신을 하고 있다. 일 실시예에서, 주소록(58)은 사용자와 연관된 다양한 사람들의 연락처 정보를 저장하고 있다. 주소록(58)은 소프트폰(40)에 전용되어 있는 데이터 저장소 또는 개인 정보 관리 애플리케이션의 일부일 수 있다.
비지니스 인텔리전스(48)는 비지니스 인텔리전스 애플리케이션의 소프트폰(40)의 사용에 관한 정보를 저장하는 데이터 저장소이다. 프리젠테이션 로직(50)은 소프트폰(40)의 사용자 인터페이스를 제공한다. 하이퍼링크 리디렉터(52)는 URL에 있는 명령 또는 정보에 기초하여 프리젠테이션 로직(50) 또는 브라우저(30)를 리디렉션하는 데 사용될 수 있다. 일 실시예에서, 하이퍼링크 리디렉터(52)는 브라우저(30)와 통신을 하고 있다.
도 2는 하나 이상의 전화 번호를 포함하고 있는 컨텐츠가 브라우저(30)에 디스플레이되는 웹 페이지에 대한 코드에서 사용되고 사용자가 인터넷(12) 또는 기타 네트워크를 통해 VOIP 통화를 하기 위해 소프트폰(40)을 사용하고 있는 환경을 생각하고 있다. 다른 환경에서, 전화 번호는 브라우저 이외의 애플리케이션 내에서 사용되는 컨텐츠에 있을 수 있다. 예를 들어, 전화 번호가 워드 프로세싱 문서, 스프레드쉬트, 또는 임의의 다른 애플리케이션에서 사용될 수 있다. 도 3은 애플리케이션(브라우저 및 브라우저 이외의 소프트웨어 애플리케이션을 포함함)으로부터의 전화 번호가 소프트폰(40)과의 통신을 트리거하는 데 사용되도록 소프트폰(40)과의 소프트웨어 모듈간 통신이 API를 통하는 시스템의 블록도를 제공한다. 도 3은 소프트폰(40), 브라우저(30), Windows 쉘(Windows Shell)(60), 애플리케이션(64), 및 모니터(66)를 포함하는 클라이언트 컴퓨팅 장치(10A)를 나타내고 있다. 소프트폰(40) 및 브라우저(30)는 도 2에 나타낸 컴포넌트들을 포함한다. Windows 쉘(60)은 운영 체제의 인터페이스이다. 일 실시예에서, 클라이언트 컴퓨팅 장치(10A) 상의 애플리케이션들은 액세스가능성 도구(accessibility aid)가 Microsoft Windows 상에서 실행 중인 애플리케이션들에서 동작하는 방식을 향상시키는 COM-기반 기술인 액세스가능성 API(Accessibility API)를 사용할 수 있다. 이 API는 사용자 인터페이스 요소에 관한 정보를 노출시키는 신뢰성있는 방법을 제공하는 COM-인터페이스 및 애플리케이션 프로그래밍 요소뿐만 아니라 운영 체제에 포함되어 있는 DLL(dynamic-link library, 동적 연결 라이브러리)을 제공한다. 액세스가능성 API는 공지되어 있으며 Windows 운영 체제 내에 내장되어 있다. 애플리케이션(64)은 하이퍼링크를 디스플레이할 수 있는 사용자 인터페이스를 갖는 임의의 애플리케이션일 수 있다. 모니터(66)는 본 명세서에 기재된 특징들 중 일부를 구현하기 위해 애플리케이션(64) 및 소프트폰(40)과 통신을 하는 소프트웨어 모듈이다.
도 4는 도 1 내지 도 3에 예시되어 있는 다양한 컴포넌트들을 구현하는 데 사용될 수 있는 적당한 범용 컴퓨팅 환경(100)의 일례를 나타낸 것이다. 예를 들어, 컴퓨팅 시스템(100)은 사용자 클라이언트 컴퓨팅 장치(10), 컴퓨팅 장치(14), 또는 인터페이스(16)를 구현하는 데 사용될 수 있다. 컴퓨팅 시스템(100)은 적합한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 용도 또는 기능성의 범위에 관해 어떤 제한을 암시하고자 하는 것이 아니다. 컴퓨팅 시스템(100)이 예시적인 운영 환경(100)에 도시된 컴포넌트들 중 임의의 하나 또는 그 컴포넌트들의 임의의 조합과 관련하여 어떤 의존성 또는 요구사항을 갖는 것으로 해석되어서는 안 된다.
본 명세서에 기재된 기술들은 많은 범용 또는 전용의 컴퓨팅 시스템 환경 또는 구성에서 동작할 수 있다. 사용하는 데 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예로는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩톱 장치, PDA(personal digital assistant), 전화(유선, 무선, 또는 셀룰러), 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템들이나 장치들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 기타 등등이 있지만 이에 제한되는 것은 아니다.
본 시스템은 일반적으로 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 본 시스템은 또한 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서도 구현될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 비롯한 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치할 수 있다.
도 4와 관련하여, 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터(110)의 컴포넌트들은 처리 장치(120)(다수의 프로세서를 포함할 수 있음), 시스템 메모리(130), 및 시스템 메모리를 비롯한 각종 시스템 컴포넌트들을 처리 장치(120)에 연결시키는 시스템 버스(121)를 포함할 수 있지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스, 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 비롯한 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 예로서, 이러한 아키텍처는 ISA(industry standard architecture) 버스, MCA(micro channel architecture) 버스, EISA(Enhanced ISA) 버스, VESA(video electronics standards 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)가 즉시 액세스 할 수 있고 및/또는 현재 동작시키고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예로서, 도 4는 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 단지 예로서, 도 4는 비이동식·비휘발성 자기 매체에 기록을 하거나 그로부터 판독을 하는 하드 디스크 드라이브(141), 이동식·비휘발성 자기 디스크(152)에 기록을 하거나 그로부터 판독을 하는 자기 디스크 드라이브(151), 및 CD-ROM 또는 기타 광 매체 등의 이동식·비휘발성 광 디스크(156)에 기록을 하거나 그로부터 판독을 하는 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에서 사용될 수 있는 기타 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고상(solid state) RAM, 고상 ROM 등이 있지만 이에 제한되는 것은 아니다. 하드 디스크 드라이브(141)는 통상적으로 인터페이스(140)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 설명되고 도 4에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 본 명세서에 기재된 방법을 수행하도록 프로세서(들)을 프로그램하기 위해 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 4에서, 예를 들어 하드 디스크 드라이브(141)는 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이들 컴포넌트가 운영 체제(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)와 동일하거나 그와 다를 수 있다는 것이다. 이에 관해, 운영 체제(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 부여되어 있다는 것은 적어도 이들이 다른 사본(copy)이라는 것을 나타내기 위한 것이다. 사용자는 키보드(162), 및 통상 마우스, 트랙볼(trackball) 또는 터치 패드라고 하는 포인팅 장치(161) 등의 입력 장치를 통해 명령 및 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치(도시 생략)로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 모니터(191) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속되어 있다. 모니터 외에, 컴퓨터는 스피커(197) 및 프린터(196) 등의 기타 주변 출력 장치를 포함할 수 있고, 이들은 출력 주변장치 인터페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(110)와 관련하여 상술된 구성요소들의 대부분 또는 그 전부를 포함한다. 도 4에 도시된 논리적 접속으로는 LAN(171) 및 WAN(173)이 있지만, 기타 네트워크를 포함할 수도 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer network), 인트라넷, 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172), 네트워크 인터페이스 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 예로서, 도 4는 원격 애플리케이션 프로그램(185)이 메모리 장치(181)에 있는 것으로 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속이 예시적인 것이며 이 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 이해할 것이다.
상기한 바와 같이, 본 명세서에 기재된 기술의 특징은 사용자가 사용자 인터페이스의 컨텐츠 내의 전화 번호 상에 마우스를 올려 놓거나 그 전화 번호를 선택한 것에 응답하여 통화를 자동화하는 것이다. 도 5는 이 특징을 구현하는 방법의 일 실시예를 제공한다. 도 5의 단계(400)에서, 사용자 인터페이스에 컨텐츠가 디스플레이된다. 일례에서, 이 컨텐츠는 브라우저(30)에 디스플레이되는 웹 페이지이다. 다른 실시예들에서, 다른 컨텐츠가 다른 애플리케이션에 디스플레이될 수 있다. 단계(402)에서, 이 시스템은 호버링 이벤트(hover event)를 기다린다. 일 실시예에서, 사용자가 사용자 인터페이스 내의 컨텐츠 상에 마우스를 올려 놓을 때, 클라이언트 컴퓨팅 장치(10)의 운영 체제는 호버링 이벤트를 발생할 수 있다. 예를 들어, 사용자가 브라우저 내의 텍스트 상에 마우스를 올려 놓을 때, 플러그인(32)은 호버링 이벤트가 있음을 통지받게 되고, 마우스가 올려 놓여져 있는 텍스트가 플러그인(32)에 제공되어진다. 한 예시적인 구현예에서, 브라우저(30)는 마우스 올려놓기 등의 사용자 호버링을 추적하고 적절한 OnMouseOver() 시에 플러그인(32)에 통지를 한다. 호버링 이벤트가 없는 경우, 플러그인(32)은 호버링 이벤트가 있을 때까지 기다린다. 사용자가 텍스트 상에 마우스를 올려놓을 때, 단계(404)가 수행된다. 몇몇 실시예들에서는, 호버링 이벤트를 발생하기 위해, 사용자가 컨텐츠 바로 위에 마우스를 올려놓을 필요가 있는 반면, 다른 실시예들에서는, 사용자가 컨텐츠 바로 위에 또는 컨텐츠 근방에(컨텐츠로부터 미리 정해진 짧은 거리 내에) 마우스를 올려 놓을 때 호버링 이벤트가 발생할 수 있다.
단계(404)에서, 플러그인(32)은 컨텐츠와 연관된 국가 코드를 확인한다. 예를 들어, 플러그인(32)은 웹 페이지가 국가 코드를 식별하는지 알아보기 위해 웹 페이지와 연관된 URL을 조사할 수 있다. 다른 대안으로서, 플러그인(32)은 도메인 이름의 역방향 IP 주소 탐색(reverse IP address lookup)을 할 수 있다. 서로 다른 국가는 서로 다른 IP 주소 범위를 갖는다. 다른 실시예에서는, 브라우저 언어 및 코딩 유형이 국가를 나타낼 수 있다. 인터넷 익스플로러는 페이지의 언어를 지정 및 판독하는 API를 갖는다. 어떤 웹 페이지는 원래의 언어 및 국가를 나타내는 HTML 코드를 갖는다. 몇몇 실시예들에서, 이 정보는 HTML 헤더에 있을 수 있다. 몇몇 실시예들에서, 국가 코드가 확인되지 않을 수 있다.
단계(406)에서, 플러그인(32)은 전화 번호 인식 기능을 실행한다. 전화 번호 인식 기능에의 입력은 마우스가 올려져 있는 원시 입력 문자열 및 (선택적으로) 국가 코드를 포함한다. 전화 번호 인식 기능의 출력은 (1) 원시 입력 문자열이 전화 번호를 포함하는지의 부울 결정, (2) 정규화된 패턴의 전화 번호, 및 (3) 원시 패턴의 전화 번호를 포함한다. 전화 번호 인식 기능에 대한 추가의 상세는 도 6과 관련하여 이하에서 설명한다.
단계(408)에서, 마우스가 올려져 있는 텍스트가 전화 번호를 포함하지 않는 경우, 프로세스는 단계(402)로 되돌아가서 다른 호버링 이벤트를 기다린다. 마우스가 올려져 있는 텍스트가 전화 번호를 포함하는 경우(단계 408), 단계(410)에서, 플러그인(32)은 API를 통해 브라우저(30)에 전화 번호를 하이라이트하라고 지시한다. 단계(412)에서, 플러그인(32)은 도구 팁(tool tip)이 디스플레이되게 한다. 이 도구 팁은 사용자가 하이라이트된 번호에 전화를 걸기 위해 그 번호를 클릭할 수 있음을 나타낸다.
이 때, 사용자는 적어도 2개의 동작을 할 수 있다. 즉, 사용자는 하이라이트된 번호로부터 다른 곳으로 갈 수 있거나, 하이라이트된 번호를 클릭하는 것에 의해(또는 다른 선택 수단에 의해) 이 번호를 선택할 수 있다. 사용자가 하이라이트된 번호를 선택하는 경우, 단계(416)에서, 플러그인(32)은 소프트폰(40)을 기동시키고, 하이라이트된 전화 번호를 소프트폰(40)에 전달하며, 브라우저(30)에 하이라이트를 제거하라고 지시한다. 단계(418)에서, 소프트폰(40)은 하이라이트된 전화 번호를 사용하여 통신을 설정한다. 예를 들어, 신호 및 음성 엔진(46)은 공지된 기술을 사용하여 하이라이트된 전화 번호에 적절한 프로토콜(예를 들어, VOIP)을 사용하는 음성 연결을 생성한다. 사용자가 하이라이트된 번호를 선택하지 않고 다른 데로 가버린 경우(단계 414), 단계(420)에서, 플러그인(32)은 브라우저(30)에 전화 번호의 하이라이트를 제거하라고 지시하고, 프로세스는 단계(402)로 되돌아가서 다른 호버링 이벤트가 발생했는지를 검사한다.
도 6은 전화 번호 인식 기능(도 5의 단계 406 참조)의 일 실시예를 설명하는 흐름도이다. 이 기능은 입력 패턴을 일련의 저장된 패턴 중 하나에 대응시켜본다. 각각의 국가는 그의 보편적인 전화 번호 형식을 가지고 있다. 패턴을 형식화하기 위해, 국가 코드는 "C"로 나타내고, 숫자는 "D"이며, 영숫자(숫자 및 문자)는 "A"이고, 구분 문자(delimiter)는 "?"이다. 구분 문자는 전화 번호를 사람이 판독하기 더 쉽게 만들어주기 위해 사용된다. 예를 들어, "(", ")", "-", ".", "/", 및 공백이 보편적인 구분 문자이다. 예를 들어, 전화 번호 1-800-FOR-PIZZA는 "C?D3?A3?A4"로 형식화될 수 있다. 이 패턴은 선택적인 국가 코드 및 그 뒤에 오는 3자리 숫자의 지역 코드 및 그 뒤에 오는 7자리 숫자의 전화 번호를 갖는다. 국가 코드는 통상적으로 선택적이다.
일치하는 전화 번호는 정규화될 수 있다, 즉 모든 구분 문자가 제거된다. 이는 패턴 정합(pattern match)을 단순화시킨다. 그러나, 구문 문자는 지역 코드에 관한 힌트를 제공하는데, 그 이유는 지역 코드가 문자가 아닌 숫자로만 기재되어 있기 때문이다.
2개의 전화 번호 패턴, 즉 원시 패턴(raw pattern) 및 정규화된 패턴(normalized pattern)이 있다. 원시 패턴은 원시 전화 번호에 직접 대응시키기 위해 사용될 수 있는 패턴이다. 정규화된 패턴은 정규화된 전화 번호에 대응시키기 위해 사용될 수 있는 패턴이다. 예를 들어, 미국에서, 이 형식은 이하의 것들 중 하나일 수 있다.
형식 원시 패턴 정규화된 패턴
+14257069606 +CD3A7 +CD3A7
1 (425) 7069606 C??D3??A7 CD3A7
1 (425) 706-9606 C??D3??A3?A4 CD3A7
1-425-706-9606 C?D3?A3?A4 CD3A7
1-425-7069606 C?D3?A7 CD3A7
1.425.706.9606 C?D3?A3?A4 CD3A7
1.425.7069606 C?D3?A7 CD3A7
일부 국가들의 경우, 지역 코드 및 전화 번호가 항상 동일한 길이를 갖는 것은 아니다. 이러한 경우에, 패턴이 범위로 기재된다. 예를 들어, "CD1-4A6-9"는 지역 코드가 1개 내지 4개의 숫자를 가질 수 있고 시내 전화 번호가 6개 내지 9개의 숫자/문자를 가질 수 있음을 나타낸다.
도 6의 단계(450)에서, 원시 입력 문자열이 수신된다. 몇몇 실시예들에서는, 국가 코드도 수신된다. 국가 코드가 수신된 경우(단계 452), 그 특정의 국가 코드에 대한 데이터베이스가 액세스되고 사용된다. 국가 코드가 이용가능하지 않은 경우, 단계(456)에서 미국 데이터베이스(또는 다른 기본 데이터베이스)가 사용된다. 단계(458)에서, 원시 입력 문자열이 정규화된다.
단계(460)에서, 이 기능은 정규화된 원시 입력을 선택된 데이터베이스 내의 일련의 정규화된 패턴에 대응시켜본다. 일치하는 것이 발견되는 경우(단계 462), 단계(466)에서, 원시 입력 문자열을 그 일치한 정규화된 패턴과 연관된 원시 패턴들 중 임의의 것에 대응시켜본다. 일치하는 것이 발견되지 않은 경우, 단계(464)에서 이 기능은 false를 반환하며, 이는 입력 문자열에서 전화 번호가 발견되지 않았음을 의미한다.
단계(466)에서 원시 입력 문자열에 대응시켜 본 결과 일치하는 것이 발견되는 경우(단계 468), 단계(470)에서 프로세스는 true를 반환하며, 이는 입력 문자열에서 전화 번호가 발견되었음을 나타낸다. 단계(470)에서, 정규화된 패턴 및 일치하는 원시 패턴 둘다도 반환된다. 일치하는 것이 발견되지 않은 경우(단계 468), 단계(472)에서, 프로세스는 false를 반환하며, 이는 입력 문자열에서 전화 번호가 발견되지 않았음을 나타낸다.
도 7은 도 5의 단계(418)의 일부로서 구현될 수 있는, 라이브콜 하이퍼링크(예를 들어, LiveCall:+l4257069606)에 의한 PC-전화간 통화(PC-to-Phone call)를 구현하는 일례를 나타낸 블록도이다. 도 7은 인터페이스(16)의 호 시그널링 서버(call signaling server)(480)와 통신하고 있는 클라이언트 컴퓨팅 장치(10)를 나타내고 있으며, 호 시그널링 서버(480) 자체는 (인터넷(12)을 통해) 텔코 제공업자(Telco provider)(482)의 호 시그널링 서버(483)와 통신하고 있다. 호 시그널링 서버(483)는 텔코 제공업자(482)의 PSTN(Public Switched Telephone Network) 게이트웨이(484)와 통신하고 있다. PSTN 게이트웨이(484)는 인터넷(12)을 통해 클라이언트 컴퓨팅 장치(10)와 통신하고 PSTN(485)을 통해 전화(486)와 통신하고 있다.
클라이언트 컴퓨팅 장치(10) 내의 소프트폰(40)은 호 시그널링 서버(480)에 호 시그널링 메시지(call signaling message)(전화 번호를 포함함)를 전송한다(490 참조). 호 시그널링 서버(480)는 사용자를 인증하고 호 시그널링 메시지를 적절한 텔코 제공업자(482)로 보낸다(491 참조). 텔코 제공업자(482) 내의 호 시그널링 서버(483)는, 호 시그널링 메시지를 수신할 때, 그 호를 허가하고 적절한 PSTN 게이트웨이(484)에 대한 호를 종료한다(492 참조). PSTN 게이트웨이(484)는 그 호를 목적지 전화선으로 보낸다(493 참조). 사용자가 목적지 전화선에서 전화(486)를 들 때, (클라이언트 장치(10) 내의) 소프트폰(40), PSTN 게이트웨이(484) 및 PSTN 전화(486) 간에 음성 스트림이 설정된다(494 및 495 참조).
전화(486)는 PSTN 전화 또는 이동/셀룰러 전화일 수 있다. 이동/셀룰러 전화의 경우에, PSTN 게이트웨이, PSTN 네트워크, 및 PTSN 전화는 모바일 게이트웨이(mobile gateway), 모바일 네트워크(mobile network), 및 이동 전화로 각각 대체될 수 있다. 다른 실시예에서, PSTN 전화는 모바일 게이트웨이, 모바일 네트워크, 및 이동 전화로 대체될 수 있다. 일 구현예에서, SIP(Session Initiation Protocol)가 호 시그널링을 위해 사용된다.
도 8은 브라우저 이외의 애플리케이션에 대한 프로세스를 호출하기 위해 마우스 올려놓기 등의 사용자 호버링을 수행하는 대안의 실시예를 설명한 것이다. 도 8의 프로세스는 브라우저에 대해서도 사용될 수 있다. 모니터링되는 애플리케이션은 액세스가능성 API를 사용한다. 이 실시예는 액세스가능성 API에 의해 제공되는 문자열을 처리하기 위해 모니터(66)를 포함하고 있는 도 3의 환경과 연관되어 있다. 유의할 점은, 몇몇 실시예들에서, 모니터(66)가 도 3에 나타낸 그 자신의 프로세스이거나 애플리케이션(64)의 일부일 수 있다는 것이다. 몇몇 실시예들에서, 모니터(66)는 또한 Windows 쉘(60)과 직접 통신하고 있다. 도 8의 단계(500)에서, 관련 컨텐츠가 애플리케이션(64)의 사용자 인터페이스에 디스플레이된다. 단계(502)에서, 이 시스템은 호버링 이벤트를 기다린다. 텍스트 상에서 호버링 이벤트가 있는 경우, 모니터(66)는 마우스가 올려 놓여진 텍스트를 수신하고, 단계(504)가 수행된다. 유의할 점은, 액세스가능성 API를 사용하여, 모니터(66)가 단어를 수신한다는 것이다. 단어가 발견될 수 없는 경우, 모니터(66)는 전체 문장, 전체 라인 또는 라인의 수를 요구할 수 있다. 텍스트가 브라우저로부터 온 것인 경우, 단계(504)에서, 모니터(66)는 브라우저에 국가 코드를 요청한다. 그렇지 않은 경우, 모니터(66)는 운영 체제에 국가 코드를 쿼리한다. 몇몇 실시예들에서, 국가 코드는 이용가능하지 않게 된다. 단계(506)에서, 모니터(66)는 전화 번호 인식 기능을 실행하고 애플리케이션(64)으로부터의 마우스가 올려 놓여진 텍스트를 이 기능에 전달한다. 그 텍스트에 전화 번호가 없는 경우(단계 508), 프로세스는 단계(502)로 되돌아가서, 다른 호버링 이벤트를 기다린다.
그 텍스트에 전화 번호가 있는 경우(단계 508), 단계(510)에서, 모니터(66)는 액세스가능성 API를 통해(또는 다른 API를 통해) 마우스 올려 놓기의 현재 위치를 쿼리하고 전화 번호를 하이라이트하도록 (API를 통해) 운영 체제에 지시한다. 대안의 실시예에서, 모니터(66)는 애플리케이션(64)와 직접 통신하여 애플리케이션(64)에 텍스트를 하이라이트하도록 지시할 수 있다. 단계(512)에서, 모니터(66)는 (API를 통해) 사용자가 전화 통화를 개시하기 위해 하이라이트된 번호를 클릭할 수 있음을 알려주는 도구 팁을 보여준다. 사용자가 하이라이트된 텍스트로부터 다른 데로 가버리는 경우, 모니터(66)는 전화 번호의 하이라이트를 제거하고 프로세스는 단계(502)로 되돌아간다. 사용자가 클릭하는 것에 의해 또는 기타 선택 수단에 의해 하이라이트된 텍스트를 선택하는 경우, 모니터(66)는 (아직 기동되어 있지 않은 경우) 소프트폰(40)을 기동시키고, 하이라이트된 전화 번호를 소프트폰(40)에 전달하며, 하이라이트를 제거한다. 단계(520)에서, 소프트폰(40)은 하이라이트된 전화 번호를 사용하여 음성 통신을 설정한다. 단계(520) 이후에, 프로세스는 단계(502)로 되돌아가서 다른 호버링 이벤트를 기다린다.
상기 설명은 사용자가 컨텐츠 상에 마우스를 올려 놓은 것에 응답하여 전화 통화를 자동화하는 것에 관한 것이다. 다른 대안으로서, 사용자가 컨텐츠를 선택한 것에 응답하여 전화 통화가 자동화될 수 있다. 도 9는 하나의 이러한 실시예를 설명하는 흐름도이다. 단계(600)에서, 상기한 바와 같이 컨텐츠가 사용자 인터페이스에 디스플레이된다. 단계(602)에서, 사용자가 텍스트를 선택하고, 이 텍스트가 플러그인(32)에 제공된다. 일 실시예에서, 사용자는 마우스 또는 기타 포인팅 장치를 사용하여 텍스트를 하이라이트함으로써 텍스트를 선택할 수 있다. 단계(604)에서, 플러그인(32)은 상기한 바와 같이 국가 코드를 확인한다. 단계(606)에서, 플러그인(32)은 전화 번호 인식 기능을 호출한다. 전화 번호가 발견되지 않은 경우(단계 608), 프로세스는 단계(602)로 되돌아가고, 사용자가 추가의 텍스트를 선택하기를 기다린다. 전화 번호가 발견되는 경우(단계 608), 단계(610)에서, 플러그인(32)은 API를 통해 전화 번호를 하이라이트하도록 브라우저(30)에 지시한다. 몇몇 실시예들에서, 전화 번호가 하이라이트되지 않는다. 단계(612)에서, 플러그인(32)은 도구 팁이 디스플레이되게 한다. 이 도구 팁은 사용자가 전화 번호에 전화 통화를 하기 위해 그 번호를 클릭할 수 있다는 것을 알려준다. 사용자가 전화 번호로부터 다른 데로 가버리는 경우(단계 614), 단계(616)에서, 플러그인(32)은 전화 번호의 하이라이트를 제거하도록 브라우저(30)에 지시하고, 프로세스는 단계(602)로 되돌아가서 사용자가 텍스트를 선택하기를 기다린다. 사용자가 클릭하는 것에 의해 또는 다른 방식으로 선택하는 것에 의해 전화 번호를 선택하는 경우(단계 614), 단계(618)에서, 플러그인(32)은 (필요한 경우) 소프트폰(40)을 기동시키고, 하이라이트된 전화 번호를 소프트폰(40)에 전달하며, 하이라이트를 제거하도록 브라우저(30)에 지시한다. 단계(620)에서, 소프트폰(40)은 하이라이트된 전화 번호를 사용하여 음성 통신을 설정한다. 단계(620) 이후에, 프로세스는 되돌아가서, 단계(602)에서 사용자가 다시 텍스트를 선택하기를 기다린다.
도 9와 관련한 설명은 선택된 컨텐츠가 브라우저에 있는 것으로 생각한 것이다. 도 10은 사용자가 다른 애플리케이션(브라우저 및 브라우저가 아닌 애플리케이션을 포함함)에서 텍스트를 선택한 것에 응답하여 전화 통화를 자동화하는 프로세스를 설명한 것이다(도 3의 환경을 참조). 단계(700)에서, 컨텐츠가 사용자 인터페이스에 디스플레이된다. 단계(702)에서, 사용자가 텍스트를 선택한다. 텍스트가 브라우저(30)로부터 선택되는 경우, 모니터(66)는 브라우저에 국가 코드를 요청한다. 텍스트가 브라우저 이외의 애플리케이션으로부터 온 것인 경우, 모니터(66)는 운영 체제에 국가 코드를 쿼리할 것이다. 어떤 경우에는, 국가 코드가 이용가능하지 않다. 단계(706)에서, 모니터(66)는 전화 번호 인식 기능을 호출한다. 전화 번호가 발견되지 않는 경우(단계 708), 프로세스는 되돌아가서, 단계(702)에서 그 다음 텍스트가 선택되기를 기다린다. 전화 번호가 발견된 경우(단계 708), 모니터(66)는 마우스의 현재 위치를 쿼리하고 액세스가능성 API 또는 다른 API를 통해 전화 번호를 하이라이트한다. 단계(712)에서, 모니터(66)는 도구 팁이 디스플레이되게 한다. 이 도구 팁은 사용자가 통화를 하기 위해 하이라이트된 번호를 클릭할 수 있다는 것을 사용자에게 알려 준다. 사용자가 선택하지 않고 하이라이트로부터 다른 데로 가버리는 경우(단계 714), 단계(716)에서, 모니터(66)는 전화 번호의 하이라이트를 제거하고, 프로세스가 단계(702)로 되돌아가서 그 다음 사용자 선택을 기다린다. 사용자가 하이라이트된 텍스트를 선택하는 경우(단계 714), 단계(718)에서, 모니터(66)는 소프트폰(40)을 기동시키고, 하이라이트된 전화 번호를 소프트폰(40)에 전달하며, 애플리케이션(64)의 사용자 인터페이스로부터 하이라이트를 제거한다. 단계(720)에서, 소프트폰(40)은 하이라이트된 전화 번호를 사용하여 통신을 설정한다. 단계(720) 이후에, 프로세스는 단계(702)에서 사용자가 텍스트를 선택하기를 기다린다.
유의할 점은, 상기한 통화하기 위한 호버링(hover-to-call) 및 통화하기 위한 선택(select-to-call) 기술이 둘다 웹 페이지에 대한 코드를 편집하거나 웹 페이지를 수정하지 않고 수행된다는 것이다. 어느 프로세스도 웹 페이지의 렌더링 속도를 저하시키지 않는다.
다른 일련의 프로세스가 사용자의 호버링(user hover) 이전에 컨텐츠의 외관을 변경함으로써 통화를 자동화할 수 있다. 그러면, 사용자의 호버링에 응답하여, 전화 통화가 개시될 수 있다.
도 11은 사용자가 사용자 인터페이스의 컨텐츠 내의 전화 번호 상에서의 호버링에 응답하여 통화를 자동화하는 다른 실시예를 설명하는 흐름도이다. 단계(850)에서, 플러그인(32)은 웹 페이지에 대한 전체 코드의 복사본을 판독한다. 단계(852)에서, 플러그인(32)은 코드에서 전화 번호를 찾기 위해 도 6의 전화 번호 인식 기능을 사용한다. 단계(854)에서, 플러그인(32)은 웹 페이지에서 전화 번호가 위치하는 위치의 좌표(예를 들어, x, y 좌표)를 확인하고 저장한다. 일 실시예에서, 저장된 좌표는 사용자 인터페이스에서 전화 번호가 위치하는 범위를 생성하기 위해 전화 번호의 좌상 코너 및 우하 코너를 포함한다. 단계(856)에서, 플러그인(32)은 브라우저의 API를 사용하여 전화 번호를 하이라이트하도록 브라우저(30)에 지시한다. 단계(858)에서, 시스템은 마우스 클릭을 기다린다. 마우스 클릭이 있는 경우, 시스템은 마우스 클릭이 전화 번호의 범위들 중 한 범위 내인지를 판정한다. 웹 페이지가 다수의 전화 번호를 포함할 수 있는 것이 생각된다. 단계(858)에서 식별된 마우스 클릭이 단계(860)에서 상기 범위들 중 임의의 범위 내인 경우, 플러그인(32)은 소프트폰(40)을 기동시키고, 하이라이트된 전화 번호를 소프트폰(40)에 전달하며, 브라우저(30)로부터 하이라이트를 제거한다. 단계(864)에서, 소프트폰(40)은 하이라이트된 전화 번호를 사용하여 음성 통신을 설정한다.
도 12 내지 도 17은 전화 번호 상에 마우스를 올려 놓은 것에 응답하여 전화 통화를 개시하는 기능을 사용자에게 제공하기 위해 하이퍼링크를 사용하는 일련의 실시예를 나타낸 것이다. 도 12는 소프트폰(40) 및 BHO(Browser Helper Object)(900)과 통신하고 있는 브라우저(30)를 나타낸 것이다. BHO는 프로세스내 COM(Component Object Model) 컴포넌트이며 인터넷 익스플로러 브라우저의 커스텀화가 특수한 브라우저를 생성할 수 있게 하기 위해 적용된다. BHO는 브라우저의 통상적인 이벤트를 검출하거나 후크를 설치하여 인터넷 익스플로러에서 메시지 및 동작을 모니터링하는 데 사용될 수 있다.
사용자가 새로운 페이지를 인터넷 익스플로러 등의 브라우저에 로드할 때, 그 웹 페이지에 대한 코드가 브라우저의 데이터 구조(예를 들어, IMarkupContainer 인터페이스)에 로드된다. 그 데이터 구조로부터, 웹 페이지가 렌더링된다. 도 12의 실시예는 컨텐츠에서 전화 번호를 찾고 전화 번호의 라이브콜 하이퍼링크(상기하였음)를 추가하기 위해, 컨텐츠가 데이터 구조에 로드된 후 렌더링되기 이전에, BHO(900)를 사용하여 데이터 구조에 액세스한다.
인터넷 익스플로러가 기동될 때, 인터넷 익스플로러는 BHO가 있는지를 판정하기 위해 Windows 레지스트리를 검사한다. 사용자가 소프트폰(40)을 설치할 때, BHO 개체(900)도 역시 사용자의 하드 디스크에 설치되고, BHO 개체를 등록하기 위해 레지스트리가 변경된다. 그에 부가하여, 라이브콜 하이퍼링크가 인터넷 익스플로러에 등록된다.
도 12의 BHO(900)는 적어도 3개의 서비스, 즉 IWebBrowser2(902), IMarkupServices(904), 및 RegisterForDirtyRange(906)를 포함한다. IWebBrowser2(902)는 텍스트의 다운로드가 완료되었을 때의 Dispid_DocumentComplete 및 특정의 웹 페이지에 대한 모든 것(텍스트 및 이미지)의 다운로드가 완료되었을 때의 Dispid_DownloadComplete를 비롯한 이벤트를 던진다. IMarkupServices(904)는 IWebBrowser2(902)에 의해 던져진 상기 2가지 이벤트 중 하나가 발생할 때 RegisterForDirtyRange(906)에 액세스할 수 있게 하기 위해 사용된다. RegisterForDirtyRange는 새로운 버전의 컨텐츠 및 컨텐츠에 변화가 있는지를 나타낸다. 이 시스템은 브라우저의 데이터 구조 내의 새로운 컨텐츠에 액세스하기 위해 변경된 부분을 가리키는 IMarkupContainer를 사용한다. 이 시스템은 새로운 컨텐츠에서 전화 번호를 식별하기 위해 새로운 컨텐츠를 검토한다. 전화 번호가 발견되는 경우, 각각의 전화 번호에 대한 라이브콜 하이퍼링크를 추가하기 위해 상기한 데이터 구조가 편집된다.
라이브콜 하이퍼링크에 의해 애플리케이션 개발자는 웹 페이지 또는 애플리케이션으로부터 VOIP 통화를 하기 위한 확장가능 주소를 지정할 수 있게 된다. 통화의 유형으로는 PC-전화간 통화 및 PC-PC간 통화가 있다. PC-전화간 통화는 PC로부터 발신되어 고정 회선 전화(fixed line telephone) 또는 이동 전화를 비롯한 전화에서 종단된다. PC-PC간 통화는 음성, 화상 및 선택적인 텍스트 채팅을 포함한다. 이 통화는 PC에서 발신되어 PC에서 종단된다. 라이브콜 하이퍼링크에서의 대상 주소의 유형으로는 전화 번호, 연락처(예를 들어, 주소록 내의 연락처), 컴퓨터 이름(예를 들어, JohnDoe PC) 또는 IP 주소(예를 들어, 124.38.110.25)가 있다.
라이브콜 하이퍼링크의 구문은 LiveCall:<Parameters>이다. 전화 번호에 통화를 하기 위해, 이하의 파라미터가 사용될 수 있다.
- Phone: 시내, 국내 시외, 또는 국제 전화 번호일 수 있는 전화 번호
- Local: 시내 전화 번호
- National: 국내 시외 전화 번호
- Direct: 직통 전화, 즉 단순 숫자들
- Contact: 현재 있는 또는 주소록에 있는 연락처
몇몇 예들로는 이하의 것들이 있다.
(1) LiveCall:+14257069606; 전화 번호 +14257069606를 사용하여 PC-전화간 통화를 함
(2) LiveCall:Phone=7069606; 시내 전화 번호, 국내 전화 번호, 또는 국제 전화 번호일 수 있는 전화 번호 7069606를 사용하여 PC-전화간 통화를 함. 소프트폰(40)은 그의 위치 설정에 기초하여 이 전화 번호를 파싱한다.
(3) LiveCall:Phone=PIZZAUSA; 전화 번호 74992872 (PIZZAUSA)를 사용하여 PC-전화간 통화를 함.
(4) LiveCaII:Local=7069606; 시내 전화 번호 7069606를 사용하여 PC-전화간 통화를 함.
(5) LiveCall:National=14257069606; 국내 시외 전화 번호 14257069606를 사용하여 PC-전화간 통화를 함.
(6) LiveCall:Direct=911; 숫자 그대로 사용하여 PC-전화간 통화를 함.
(7) LiveCall:Contact=JohnDoe@hotmail.com; John Doe에 대한 연락처 정보(또는 주소록)에 있는 기본 전화 번호를 사용하여 PC-전화간 통화를 함.
컴퓨터에 전화를 걸기 위해, 이하의 파라미터, 즉 (1) Online: 온라인 존재 ID, 및 (2) Host: 컴퓨터 이름 또는 IP 주소가 사용될 수 있다. 몇몇 예들로는 다음과 같은 것들이 있다.
(1) LiveCall:Online=JohnDoe@hotmail.com; 온라인 존재 ID를 사용하여 PC-PC간 통화를 함.
(2) LiveCall:Host=JohnDoePC; 목적지 기계의 컴퓨터 이름을 사용하여 PC-PC간 통화를 함.
(3) LiveCall:Host=124.38.110.25; 목적지 기계의 IP 주소를 사용하여 PC-PC간 통화를 함.
라이브콜 하이퍼링크에서의 소스 파라미터 "Src"는 이 라이브콜 하이퍼링크가 클릭 또는 실행되는 소스 컨텍스트(source context)를 나타낸다. 이 정보는 비지니스 인텔리전스(business intelligence)에 유용하다. 소스 파라미터는 기타 파라미터들과 결합될 수 있다. 라이브콜 하이퍼링크 내의 파라미터들은 '&' 부호에 의해 연접된다. 이하의 예들을 생각해보자.
(1) LiveCall:Phone=7069606&Src=Messenger/Contact/Home; 메신저의 연락처에 등록된 집 전화 번호를 사용하여 PC-전화간 통화를 함(인스턴트 메시징).
(2) LiveCall:Online=JohnDoe@hotmail.com&Src=Messenger/Buddy; 메신저의 친구 목록에 등록된 온라인 존재 ID를 사용하여 PC-PC간 통화를 함.
(3) LiveCall:?Signup&Src=Hotmail/Ads; 가입 프로세스를 시작하기 위해 가입 웹 사이트로 감. 여기서, 이 하이퍼링크는 Hotmail(웹 기반 이메일 서비스)의 광고 섹션에 열거되어 있음.
도 13은 라이브콜 하이퍼링크를 추가하는 일 실시예를 설명하는 흐름도이다. 단계(1002)에서, 새로운 컨텐츠가 다운로드된다. 이 새로운 컨텐츠는 상기한 이벤트들 중 하나를 발생하는 새로운 웹 페이지 전체 또는 웹 페이지의 일부분일 수 있다. 이 데이터가 상기한 데이터 구조에 로드된다. 단계(1004)에서, BHO(900)은 Dispid_DocumentComplete 및/또는 Dispid_DownloadComplete를 던지는 IWebBrowser2(902)로부터 새로운 컨텐츠를 통지받는다. RegisterForDirtyRange 서비스(906)는 이 새로운 컨텐츠에 대한 포인터를 제공한다. 단계(1006)에서, BHO(900)는 단어, 문장, 구두점 간의 텍스트, 공백 사이의 텍스트, 또는 기타 그룹 컨텐츠에 액세스하고, 단계(1008)에서, 전화 번호를 찾기 위해 전화 번호 인식 기능(도 6 참조)을 여러번 호출한다. 전화 번호가 발견되지 않은 경우(단계 1010), 단계(1014)에서 웹 페이지가 원래 의도된 대로 렌더링된다. 전화 번호가 발견되는 경우(단계 1010), 단계(1012)에서, 각각의 전화 번호를 제거하고 이들을 라이브콜 하이퍼링크로 대체하기 위해 데이터 구조가 변경된다. 그 다음에, 단계(1014)에서, 페이지가 렌더링된다. 유의할 점은 라이브콜 하이퍼링크가 추가된 컨텐츠를 식별하기 위해 추가된 라이브콜 하이퍼링크가 소스(Src) 파라미터를 포함할 수 있다는 것이다.
도 14A는 2개의 전화 번호를 포함하는 웹 페이지(예를 들어, 검색 결과)의 일부분을 나타낸 것이다. 도 14B는 라이브콜 하이퍼링크를 추가하기 위해 도 13의 프로세스가 수행된 후에 렌더링된 웹 페이지의 그 동일 부분을 나타낸 것이다. 도 14B에 나타난 2개의 전화 번호에 밑줄이 그어져 있는 것에 유의한다. 사용자가 밑줄이 그어진 전화 번호 상에 마우스를 올려 놓을 때, 그 전화 번호의 컬러가 변한다. 다른 실시예들에서, 하이퍼링크는 전화 번호의 외관을 변경하지 않으며, 사용자가 전화 번호 상에 마우스를 올려 놓을 때, 그 번호에 밑줄이 그어지고 및/또는 그 번호의 컬러가 변한다.
도 15는 사용자가 전화 번호 상에 마우스를 올려 놓은 것에 응답하여 전화 통화를 개시하는 프로세스의 일 실시예를 설명하는 흐름도이다. 도 13의 프로세스에 따라 웹 페이지가 브라우저에 의해 렌더링된 후에, 단계(1102)에서 시스템은 호버링 이벤트를 기다린다. 사용자가 하이퍼링크 상에 마우스를 올려 놓을 때, 단계(1104)에서, 브라우저는 하이퍼링크를 하이라이트한다. 일 실시예에서, 하이퍼링크는 컬러가 변할 수 있거나, 밑줄이 추가될 수 있거나, 둘다가 행해질 수 있다. 사용자가 하이퍼링크를 선택하면(단계 1106), 브라우저는 하이퍼링크가 브라우저에 등록되어 있는지를 알아보기 위해 검사를 한다. 하이퍼링크가 등록되어 있는 경우, 이 등록은 브라우저에게 어느 프로그램을 호출할지를 말해진다. 이어서, 브라우저는 소프트폰(40)을 호출하고(단계 1108) 소프트폰(40)에 하이퍼링크의 내용(이 경우에, 전화 번호를 포함함)을 전달한다.
도 16은 사용자가 웹 페이지, 문서, 파일 또는 기타 사용자 인터페이스에서 라이브콜 하이퍼링크를 클릭하거나 다른 방식으로 선택한 것(도 15의 단계 1108 참조)에 응답하여, 수행되는 프로세스의 일 실시예를 설명하는 흐름도이다. 하이퍼링크는 통상적으로 URL(Uniform Resource Locator)로 표현된다. 단계(1200)에서, 선택된 라이브콜 하이퍼링크의 URL이 URL 모니커(URL Moniker)(34)(도 2 참조)에 전달된다. 단계(1202)에서, URL 모니커(34)는 URL 내의 헤더 정보(예를 들어, "LiveCall:")에 기초하여 적절한 프로토콜 핸들러를 탐색한다. 단계(1204)에서, URL 모니커(34)는 적절한 프로토콜 핸들러에 URL을 전달한다. 라이브콜 하이퍼링크의 경우에, URL은 라이브콜 핸들러(36)에 전달된다. 단계(1206)에서, 라이브콜 핸들러(36)는 사용자에게 사용자가 URL을 실행하고자 하는지를 확인한다. 몇몇 실시예들에서, 단계(1206)는 선택적이고 생략될 수 있다. 단계(1208)에서, 라이브콜 핸들러(36)는 소프트폰(40)을 기동시킨다. 몇몇 실시예들에서, 소프트폰(40)이 이미 실행 중인 경우, 소프트폰(40)이 다시 기동될 필요가 없다. 소프트폰(40)은 다이얼링을 위한 키패드, 전화 번호 디스플레이 영역, 통화 이력을 디스플레이하는 영역, 서비스 제공자 정보를 디스플레이하는 영역, 전화 통화 정보를 디스플레이하는 영역, 및 (선택적으로) 웹 또는 네트워크 컨텐츠를 디스플레이하는 영역을 포함하는 그래픽 사용자 인터페이스를 포함한다.
단계(1210)에서, 라이브콜 핸들러(36)는 URL을 소프트폰(40)에 전달한다. 일 실시예에서, URL은 처음에 인증 관리자(42)에 전달된다. 사용자가 인증되지 않은 경우(단계 1212), 인증 관리자(42)는 사용자를 인증한다. 일 실시예에서, 이는 사용자가 사용자 이름 및 패스워드를 제공할 수 있는 로그인 화면을 제공하는 단계를 포함한다. 사용자가 적절히 인증되지 않은 경우, 도 16의 프로세스가 종료된다. 사용자를 인증한 후에, 인증 관리자(42)는 사용자가 하이퍼링크에서 식별된 기능을 수행하도록 허가되어 있는지 여부를 검증한다(단계 1216). 사용자가 이전에 인증된 경우(단계 1212 참조), 단계(1214)가 생략되며 프로세스가 단계(1216)로 진행하여 사용자가 허가되어 있는지를 판정한다는 것에 유의한다.
단계(1218)에서, 하이퍼링크를 나타내는 URL이 파서(44)에 전달되고, 파서(44)는 URL의 구문을 검사하고 URL을 여러가지 성분들로 분해한다. 단계(1220)에서, 파서(44)는 적절한 성분들을 신호 및 음성 엔진(46), 비지니스 프리젠테이션 로직(50), 및 하이퍼링크 리디렉터(52)로 전송한다. 일 실시예에서, 명령(예를 들어, 계정 유지) 및 피호출자가 신호 및 음성 엔진(46)에 전달되고, 명령이 프리젠테이션 로직(50)에 전달되며, 명령 및 하이퍼링크가 하이퍼링크 리디렉터(52)에 전달된다. 단계(1222)에서, 파서(44)는 비지니스 인텔리전스 데이터 저장소(48)에 데이터(예를 들어, 소스의 표시를 비롯한 모든 성분들)를 저장한다. 단계(1224)에서, 신호 및 음성 엔진(46)은 주소록(58)을 사용하여 임의의 파라미터들을 해석한다. 예를 들어, 대상이 연락처 또는 컴퓨터 이름에 의해 식별되는 경우, 주소록(58)은 그 연락처를 전화 번호로 변환하는 데 또는 컴퓨터 이름을 IP 주소로 변환하는 데 사용된다. 단계(1226)에서, 신호 및 음성 엔진(46)은 URL의 대상과 음성 연결을 설정한다.
도 17은 도 3의 실시예 내에서 동작할 때 라이브콜 하이퍼링크가 선택된 것에 응답하여 수행되는 프로세스의 일 실시예를 설명하는 흐름도이다. 즉, 하이퍼링크는 API를 사용하는 애플리케이션이다. 단계(1350)에서, 애플리케이션(64)은 API에 명령을 내린다. 예를 들어, ShellExecute() 또는 ShellExecuteEX()이 Windows 쉘(60)에 발행된다. 단계(1352)에서, Windows 쉘(60)은 적절한 프로토콜 핸들러를 탐색한다. 프로토콜 핸들러가 발견되는 경우(단계 1354), 단계(1360)에서, Windows 쉘(60)은 프로토콜 핸들러를 기동시킨다. 예를 들어, 라이브콜 핸들러(36)가 기동될 수 있다. 프로토콜 핸들러는 브라우저(30)와 분리되어 존재하거나 브라우저(30)의 일부로서 존재할 수 있다.
동작 이전에, 라이브콜 프로토콜 핸들러는 등록될 필요가 있다. 프로토콜 핸들러를 등록하는 2가지 구현이 가능하다. 일 구현은 프로토콜 핸들러를 Windows 쉘에 등록하는 것이다. 다른 구현은 프로토콜 핸들러를 브라우저에 등록하는 것이다. 프로토콜 핸들러를 브라우저에 등록하는 것의 한가지 이점은 애플리케이션이 실제로 기동되기 전에 사용자가 URL의 실행을 확인할 기회를 갖도록 보장하기 위해 프로토콜 핸들러가 온전성 검사(sanity check)를 수행할 수 있다는 것이다. 이는 사용자가 웹 사이트를 방문하고 있는 동안에 사용자가 URL의 실행에 의한 구동(drive-by execution)을 하지 않도록 하는 데 중요할 수 있다.
단계(1362)에서, URL이 프로토콜 핸들러에 전달된다. 단계(1364)에서, 프로토콜 핸들러는, 소프트폰(40)이 아직 기동되지 않은 경우, 소프트폰(40)을 기동시킨다. 단계(1366)에서, 프로토콜 핸들러가 URL을 소프트폰(40)에 전달한다. 단계(1366) 후에, 프로세스는 도 16의 단계(1212)에서 계속된다.
Windows 쉘(60)이 적절한 프로토콜 핸들러를 찾지 못한 경우(단계 1354), 단계(1370)에서, Windows 쉘(60)은 브라우저(30)에 적절한 프로토콜 핸들러를 찾도록 요구한다. 브라우저(30)가 적절한 프로토콜 핸들러를 찾아낼 수 있는 경우, 단계(1374)에서, 브라우저(30)는 URL을 URL 모니커(34)에 전달한다. 단계(1376)에서, 이 프로세스는 도 16의 단계(1202)에서 계속된다. 단계(1372)에서 적절한 프로토콜 핸들러가 발견되지 않은 경우, 단계(1380)에 에러를 반환한다.
본 발명이 구조적 특징 및/또는 방법적 동작과 관련하여 기술되어 있지만, 첨부된 청구항에 정의된 발명 대상이 반드시 상기한 특정의 특징 또는 동작으로 제한되는 것은 아님을 잘 알 것이다. 오히려, 상기한 특정의 특징 및 동작은 청구항을 구현하는 예시적인 형태로서 개시된 것이다. 본 발명의 범위가 본 명세서에 첨부된 청구항들에 의해 정의되는 것으로 보아야 한다.

Claims (21)

  1. 통신을 개시하는 방법으로서,
    컨텐츠로부터 미리 정해진 거리 이내에 포인팅 장치가 호버링(hovering)할 때 호버링 이벤트(hover event)를 생성하는 단계;
    상기 호버링 이벤트에 응답하여 상기 컨텐츠가 대상(target)의 표시인지를 판정하는 단계;
    상기 판정하는 것에 응답하여 상기 대상의 상기 표시를 식별하는 단계;
    상기 대상의 상기 표시의 선택을 수신하는 단계; 및
    상기 대상의 상기 표시의 상기 선택을 수신하는 것에 응답하여 상기 대상의 상기 표시를 사용하여 음성 연결을 설정하는 단계
    를 포함하는 통신 개시 방법.
  2. 제1항에 있어서,
    상기 대상의 상기 표시는 전화 번호이고,
    상기 식별하는 단계는 상기 전화 번호를 하이라이트하는 단계를 포함하고,
    상기 선택을 수신하는 단계는 상기 포인팅 장치를 사용한 브라우저 내의 상기 하이라이트된 전화 번호의 선택을 수신하는 단계를 포함하며,
    상기 음성 연결을 설정하는 단계는 상기 전화 번호를 VOIP 애플리케이션에 제공하는 단계 및 상기 VOIP 애플리케이션을 사용하여 상기 전화 번호에 전화 통화를 하는 단계를 포함하는 통신 개시 방법.
  3. 제1항에 있어서,
    상기 컨텐츠가 대상의 표시인지를 판정하는 단계는,
    텍스트를 수신하는 단계; 및
    상기 텍스트가 미리 정해진 패턴을 갖는 전화 번호를 포함하는지를 자동적으로 판정하는 단계
    를 포함하는 통신 개시 방법.
  4. 제1항에 있어서,
    상기 컨텐츠가 대상의 표시인지를 판정하는 단계는,
    텍스트를 수신하는 단계;
    국가 코드를 판정하는 단계;
    상기 판정된 국가 코드에 대응하는 데이터베이스를 식별하는 단계; 및
    상기 데이터베이스를 사용하여 상기 텍스트가 미리 정해진 패턴을 갖는 전화 번호를 포함하는지를 판정하는 단계
    를 포함하는 통신 개시 방법.
  5. 제1항에 있어서,
    상기 컨텐츠가 대상의 표시인지를 판정하는 단계는,
    데이터를 수신하는 단계;
    상기 데이터를 정규화하는 단계;
    상기 정규화된 데이터를 일련의 정규화된 패턴 - 각각이 하나 이상의 원시 패턴과 연관되어 있음 - 중 특정의 정규화된 패턴에 대응시키는 단계;
    상기 수신된 데이터를 상기 특정의 정규화된 패턴과 연관된 원시 패턴과 비교하는 단계; 및
    상기 수신된 데이터를 상기 특정의 정규화된 패턴과 연관된 상기 원시 패턴들 중 하나에 대응시키는 단계
    를 포함하는 통신 개시 방법.
  6. 제1항에 있어서,
    상기 컨텐츠가 대상의 표시인지를 판정하는 단계는 브라우저에 대해 호버링되는 데이터를 수신하는 단계, 국가 코드를 판정하는 단계, 상기 데이터 및 상기 국가 코드를 전화 번호 인식 기능에 제공하는 단계, 상기 브라우저 내의 상기 데이터를 하이라이트하도록 상기 브라우저에 지시하는 단계, 및 사용자가 상기 하이라이트된 데이터를 클릭할 수 있다는 것을 나타내기 위해 도구 팁을 제공하는 단계를 포함하고,
    상기 음성 연결을 설정하는 단계는 VOIP 전화 통화를 하도록 통신 애플리케이션에 지시하는 단계를 포함하는 통신 개시 방법.
  7. 제1항에 있어서,
    상기 대상의 상기 표시는 소스 코드를 편집하지 않고 브라우저 내의 웹 페이지 상에서 식별되는 통신 개시 방법.
  8. 제1항에 있어서,
    상기 컨텐츠가 대상의 표시인지를 판정하는 단계는,
    애플리케이션으로부터 텍스트를 수신하는 단계;
    운영 체제에 국가 코드를 요청하는 단계;
    상기 국가 코드에 대응하는 데이터베이스를 식별하는 단계;
    상기 데이터베이스를 사용하여 상기 텍스트가 미리 정해진 패턴을 갖는 전화 번호를 포함하는지를 판정하는 단계; 및
    상기 포인팅 장치의 현재 위치를 판정하는 단계
    를 포함하는 통신 개시 방법.
  9. 제1항에 있어서,
    상기 대상의 상기 표시는 브라우저가 아닌 애플리케이션의 인터페이스 내에서 식별되는 통신 개시 방법.
  10. 제1항에 있어서,
    상기 컨텐츠가 대상의 표시인지를 판정하는 단계는,
    데이터를 수신하는 단계;
    국가 코드를 판정하는 단계;
    상기 판정된 국가 코드에 대응하는 데이터베이스를 식별하는 단계;
    상기 데이터를 정규화하는 단계;
    상기 정규화된 데이터를 일련의 정규화된 패턴들 - 각각이 하나 이상의 원시 패턴과 연관되어 있음 - 중 특정의 정규화된 패턴에 대응시키는 단계;
    상기 수신된 데이터를 상기 특정의 정규화된 패턴과 연관된 원시 패턴과 비교하는 단계; 및
    상기 수신된 데이터를 상기 특정의 정규화된 패턴과 연관된 상기 원시 패턴들 중 하나에 대응시키는 단계
    를 포함하며,
    상기 음성 연결을 설정하는 단계는 상기 특정의 정규화된 패턴과 연관된 상기 원시 패턴들 중 상기 하나를 사용하여 전화 통화를 하도록 VOIP 통신 애플리케이션에 지시하는 단계를 포함하는 통신 개시 방법.
  11. 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 판독가능한 기록 매체로서, 상기 컴퓨터 실행가능 명령어들은 프로세서에 의해 실행되어,
    컨텐츠로부터 미리 정해진 거리 이내에 포인팅 장치가 호버링(hovering)할 때 호버링 이벤트(hover event)를 생성하는 단계;
    상기 호버링 이벤트에 응답하여 상기 컨텐츠가 대상(target)의 표시인지를 판정하는 단계 - 상기 컨텐츠가 대상의 표시인지를 판정하는 단계는 상기 컨텐츠를 정규화하는 단계, 상기 정규화된 컨텐츠를 정규화된 패턴에 대응시키는 단계, 및 상기 컨텐츠를 상기 정규화된 패턴과 연관된 원시 패턴에 대응시키는 단계를 포함함 - ;
    상기 컨텐츠가 대상의 표시인지를 판정하는 것에 응답하여 디스플레이된 컨텐츠 내에서 상기 대상의 상기 표시를 시각적으로 식별하는 단계;
    상기 대상의 상기 표시의 선택을 수신하는 단계; 및
    상기 대상의 상기 표시의 상기 선택의 수신에 응답하여 상기 대상의 상기 표시를 사용하여 음성 연결을 설정하는 단계
    를 포함하는 방법을 수행하는 컴퓨터 판독가능한 기록 매체.
  12. 제11항에 있어서,
    상기 컨텐츠가 대상의 표시인지를 판정하는 단계는,
    국가 코드가 이용가능한지를 판정하는 단계; 및
    상기 국가 코드에 대응하는 데이터베이스를 식별하는 단계
    를 더 포함하고,
    상기 정규화된 패턴 및 상기 원시 패턴은 상기 국가 코드에 대응하는 상기 데이터베이스로부터 온 것인 컴퓨터 판독가능한 기록 매체.
  13. 제11항에 있어서,
    상기 대상의 상기 표시는 전화 번호이고,
    상기 컨텐츠는 웹 사이트의 일부분을 포함하며,
    상기 음성 연결을 설정하는 단계는 VOIP 애플리케이션을 사용하여 수행되고,
    상기 컨텐츠가 대상의 표시인지를 판정하는 단계는 적어도 부분적으로 BHO(Browser Helper Object)를 사용함으로써 수행되는 컴퓨터 판독가능한 기록 매체.
  14. 제11항에 있어서,
    상기 대상의 상기 표시는 전화 번호이고,
    상기 방법은 상기 컨텐츠에 하이퍼링크를 추가하는 단계를 더 포함하며,
    상기 하이퍼링크는 상기 대상의 상기 표시의 소스의 표시를 포함하고,
    상기 음성 연결을 설정하는 단계는 상기 소스의 상기 표시를 데이터 저장소에 저장하는 단계를 포함하는 컴퓨터 판독가능한 기록 매체.
  15. 삭제
  16. 컴퓨팅 장치로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 연결되는 메모리
    를 포함하며, 상기 메모리는 상기 하나 이상의 프로세서에 의해 실행되었을 때 상기 하나 이상의 프로세서로 하여금
    컨텐츠의 일부분으로부터 미리 정해진 거리 내에 포인팅 장치가 호버링될 때 호버링 이벤트를 생성하는 단계;
    상기 호버링 이벤트에 응답하여 상기 컨텐츠의 일부분이 대상(target)의 표시를 포함하는지 여부를 판정하는 단계;
    상기 대상의 표시로 판정될 때 상기 컨텐츠의 일부분을 식별하는 단계; 및
    상기 컨텐츠의 일부분의 선택을 수신하는 것에 응답하여 상기 대상의 상기 표시 및 통신 인터페이스를 사용하여 데이터 네트워크를 통한 음성 연결을 설정하는 단계
    를 포함하는 방법을 수행하도록 하는 컴퓨팅 장치.
  17. 제16항에 있어서,
    상기 컨텐츠를 디스플레이하기 위한 사용자 인터페이스가 브라우저에 의해 제공되는 컴퓨팅 장치.
  18. 제16항에 있어서,
    상기 방법은,
    상기 컨텐츠의 일부분을 정규화하는 것에 의하여 상기 컨텐츠의 일부분이 상기 대상의 상기 표시를 포함하는지 여부를 판정하는 단계;
    상기 컨텐츠의 상기 정규화된 일부분을 일련의 정규화된 패턴들 - 각각이 하나 이상의 원시 패턴과 연관되어 있음 - 중 특정의 정규화된 패턴에 대응시키는 단계; 및
    상기 컨텐츠의 상기 일부분을 상기 특정의 정규화된 패턴과 연관된 원시 패턴과 비교하고 상기 컨텐츠의 상기 일부분을 상기 특정의 정규화된 패턴과 연관된 상기 원시 패턴들 중 하나에 대응시키는 단계
    를 더 포함하는 컴퓨팅 장치.
  19. 제18항에 있어서,
    상기 하나 이상의 프로세서는 상기 특정의 정규화된 패턴과 연관된 상기 원시 패턴들 중 상기 하나를 사용하여 VOIP 통신 프로그램을 실행함으로써 음성 연결을 설정하는 컴퓨팅 장치.
  20. 제16항에 있어서,
    상기 메모리는 VOIP 통신 프로그램 및 사용자 애플리케이션을 저장하며,
    상기 하나 이상의 프로세서는 상기 VOIP 통신 프로그램을 실행함으로써 상기 음성 연결을 설정하고,
    상기 사용자 애플리케이션에 의해 사용자 인터페이스가 제공되는 컴퓨팅 장치.
  21. 제1항에 있어서,
    상기 대상의 상기 표시는 전화 번호이고, 상기 컨텐츠가 대상(target)의 표시인지를 판정하는 것에 응답하여 상기 대상의 상기 표시를 식별하는 단계는 API를 통해 상기 대상의 상기 표시를 식별하도록 브라우저에 지시하는 단계를 포함하는 통신 개시 방법.
KR1020087026395A 2006-05-04 2007-04-17 통신을 개시하는 방법, 하나 이상의 프로세서 판독가능 저장 장치 및 컴퓨팅 장치 KR101365812B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US74636706P 2006-05-04 2006-05-04
US60/746,367 2006-05-04
US11/538,209 2006-10-03
US11/538,209 US20070274300A1 (en) 2006-05-04 2006-10-03 Hover to call
PCT/US2007/009451 WO2007130274A1 (en) 2006-05-04 2007-04-17 Hover to call

Publications (2)

Publication Number Publication Date
KR20090018888A KR20090018888A (ko) 2009-02-24
KR101365812B1 true KR101365812B1 (ko) 2014-02-20

Family

ID=38668072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087026395A KR101365812B1 (ko) 2006-05-04 2007-04-17 통신을 개시하는 방법, 하나 이상의 프로세서 판독가능 저장 장치 및 컴퓨팅 장치

Country Status (10)

Country Link
US (1) US20070274300A1 (ko)
EP (1) EP2014037B1 (ko)
JP (5) JP2009535978A (ko)
KR (1) KR101365812B1 (ko)
AT (1) ATE494712T1 (ko)
DE (1) DE602007011743D1 (ko)
DK (1) DK2014037T3 (ko)
PL (1) PL2014037T3 (ko)
PT (1) PT2014037E (ko)
WO (1) WO2007130274A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101495990B (zh) 2005-12-02 2011-09-14 思杰系统有限公司 用于提供从代理服务器到虚拟计算环境的身份验证证明以访问远程资源的方法和设备
KR100908192B1 (ko) * 2007-04-12 2009-07-16 현재봉 사용자 정의 소프트 폰을 이용한 인터넷 전화 시스템 및 인터넷 전화 서비스 방법
TW200841697A (en) * 2007-04-13 2008-10-16 Crystal Bizview Llc Web-to-phone communication
CA2687045A1 (en) * 2007-08-22 2009-02-26 Citrix Systems, Inc. Systems and methods for locating contact information and for establishing a communication session among end-points
GB2459158A (en) * 2008-04-17 2009-10-21 Skype Ltd Initiating a call via an access network wherein access number availability is indicated based on information associated with a device.
KR101024532B1 (ko) * 2009-02-06 2011-03-31 엔에이치엔(주) 웹 액션과 클라이언트 제어가 가능한 에이치티엠엘 기반 애플리케이션 제공 시스템
JP5402650B2 (ja) * 2009-06-09 2014-01-29 株式会社リコー 表示制御装置、情報処理システム、及び表示制御方法
WO2011014259A1 (en) * 2009-07-31 2011-02-03 Ribbit Corporation Telephonic communications with intelligent protocol switching
US8924893B2 (en) * 2009-10-14 2014-12-30 At&T Mobility Ii Llc Locking and unlocking of an electronic device using a sloped lock track
US9424444B2 (en) 2009-10-14 2016-08-23 At&T Mobility Ii Llc Systems, apparatus, methods and computer-readable storage media for facilitating integrated messaging, contacts and social media for a selected entity
KR101425819B1 (ko) * 2009-11-30 2014-08-01 에스케이플래닛 주식회사 문자열 기반 연동서비스 지원 사용자단말기 및 그 구동 방법
US20110209040A1 (en) * 2010-02-24 2011-08-25 Microsoft Corporation Explicit and non-explicit links in document
JP5631244B2 (ja) * 2010-03-12 2014-11-26 三菱電機インフォメーションテクノロジー株式会社 電話システム及び電話システムの電話通信方法及びデータ中継サーバ及びプログラム
WO2013080048A1 (en) * 2011-11-29 2013-06-06 Spotify Ab Content provider with multi-device secure application integration
US9218083B2 (en) 2012-01-20 2015-12-22 Htc Corporation Methods for parsing content of document, handheld electronic apparatus and computer-readable medium thereof
JP5628865B2 (ja) * 2012-05-24 2014-11-19 日本電信電話株式会社 発呼支援装置、プログラム、および方法
US9530116B2 (en) * 2013-05-28 2016-12-27 Verizon Patent And Licensing Inc. Finite state machine-based call manager for web-based call interaction
WO2015033377A1 (ja) * 2013-09-06 2015-03-12 株式会社マーズフラッグ 情報処理装置、検索サーバ、ウェブサーバ及びコンピュータプログラム
US10638194B2 (en) * 2014-05-06 2020-04-28 At&T Intellectual Property I, L.P. Embedding interactive objects into a video session
JP5923586B2 (ja) * 2014-10-24 2016-05-24 株式会社トランス・アーキテクト 情報処理システム
CN104462319B (zh) * 2014-12-01 2017-12-26 百度在线网络技术(北京)有限公司 网页中信息的处理方法和装置
JP6667335B2 (ja) * 2016-03-28 2020-03-18 株式会社ジンテック 電話番号調査履歴データベースに法人番号を結合すること
JP5976974B1 (ja) * 2016-04-11 2016-08-24 株式会社トランス・アーキテクト 情報処理装置及びプログラム
CN110147193A (zh) * 2019-05-21 2019-08-20 北京字节跳动网络技术有限公司 一种信息展示方法、装置、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010085120A (ko) * 2000-02-25 2001-09-07 황재엽 화면에서 전화번호를 클릭하면 인터넷폰서비스로연결시켜주는 방법
JP2001320683A (ja) 2000-05-11 2001-11-16 Mega Chips Corp マルチメディアシステム
US7003327B1 (en) * 1999-07-23 2006-02-21 Openwave Systems Inc. Heuristically assisted user interface for a wireless communication device

Family Cites Families (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0498082B1 (en) * 1991-02-01 1998-05-06 Koninklijke Philips Electronics N.V. Apparatus for the interactive handling of objects
JP2590707B2 (ja) * 1993-11-02 1997-03-12 日本電気株式会社 あいまい指示可能なポインティング装置
JP3166896B2 (ja) * 1995-04-21 2001-05-14 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 画面上に表示された編集対象を選択する方法及び装置
JPH1069362A (ja) * 1996-08-28 1998-03-10 Kobe Nippon Denki Software Kk 文字表示サイズ自動変更方法及び装置
US5796393A (en) * 1996-11-08 1998-08-18 Compuserve Incorporated System for intergrating an on-line service community with a foreign service
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
EP2259200A1 (en) * 1997-04-30 2010-12-08 Sony Corporation Browser apparatus, address registering method, browser system, and recording medium
JP3944949B2 (ja) * 1997-06-05 2007-07-18 ソニー株式会社 情報処理装置、情報処理方法、媒体
US6337858B1 (en) * 1997-10-10 2002-01-08 Nortel Networks Limited Method and apparatus for originating voice calls from a data network
US6195679B1 (en) * 1998-01-06 2001-02-27 Netscape Communications Corporation Browsing session recording playback and editing system for generating user defined paths and allowing users to mark the priority of items in the paths
JPH11215221A (ja) * 1998-01-28 1999-08-06 Nec Corp 電話発信を可能とする情報端末と、電話発信方法と、電話発信のためのプログラムを記録した記録媒体
DE19811829A1 (de) * 1998-03-18 1999-09-30 Siemens Ag Verfahren zum Ermitteln und Verarbeiten von für den Aufbau einer Telefonverbindung in einem CTI-System relevanten Informationen und entsprechendes CTI-System
JPH11331426A (ja) * 1998-05-13 1999-11-30 Paradise Wave:Kk 電話番号取り込み機能付き通信装置
US7277424B1 (en) * 1998-07-21 2007-10-02 Dowling Eric M Method and apparatus for co-socket telephony
GB2340008A (en) * 1998-07-24 2000-02-09 Ibm Method and tool for generating and displayin a descriptive annotation of selec ted application data
US6442169B1 (en) * 1998-11-20 2002-08-27 Level 3 Communications, Inc. System and method for bypassing data from egress facilities
US6493003B1 (en) * 1999-01-29 2002-12-10 International Business Machines Corporation Linking graphical user interfaces
US6707811B2 (en) * 1999-03-19 2004-03-16 Estara, Inc. Internet telephony for ecommerce
US6486891B1 (en) * 1999-06-03 2002-11-26 Ann M. Rice Automated bookmarking of online advertisements
JP2001051760A (ja) * 1999-08-11 2001-02-23 Fuji Xerox Co Ltd 編集対象選択可能範囲設定装置および方法ならびに編集対象選択可能範囲設定プログラムを記録した記録媒体
US20020055351A1 (en) * 1999-11-12 2002-05-09 Elsey Nicholas J. Technique for providing personalized information and communications services
JP2001160022A (ja) * 1999-12-03 2001-06-12 Tafu:Kk チャットシステム、チャット制御方法およびプログラムを記録した記録媒体
US6996072B1 (en) * 2000-01-19 2006-02-07 The Phonepages Of Sweden Ab Method and apparatus for exchange of information in a communication network
US6834372B1 (en) * 2000-02-10 2004-12-21 International Business Machines Corporation Internet web browser with proximity sensitie hyperlink history report
KR20010091580A (ko) * 2000-03-16 2001-10-23 박경양 인터넷폰을 이용한 원클릭 전화상담 및 전화주문시스템
KR20010090668A (ko) * 2000-04-10 2001-10-19 은종명 웹페이지 상에서 원클릭에 의한 컴퓨터와 전화의 접속 방법
US7155539B2 (en) * 2000-04-17 2006-12-26 Circadence Corporation Conductor gateway buffer prioritization
US20010056439A1 (en) * 2000-04-26 2001-12-27 International Business Machines Corporation Method and system for accessing interactive multimedia information or services by touching marked items on physical documents
US6459364B2 (en) * 2000-05-23 2002-10-01 Hewlett-Packard Company Internet browser facility and method for the visually impaired
US7130298B1 (en) * 2000-07-20 2006-10-31 Verizon Corporate Services Group Inc. Systems and methods implementing internet screen dialing for circuit switched telephones
AU2001283579A1 (en) * 2000-08-21 2002-03-04 Yahoo, Inc. Method and system of interpreting and presenting web content using a voice browser
US6834048B1 (en) * 2000-09-22 2004-12-21 Dialpad Acquisition Corporation Method for initiating internet telephone service from a web page
GB0027280D0 (en) * 2000-11-08 2000-12-27 Malcolm Peter An information management system
US7096009B2 (en) * 2001-03-09 2006-08-22 Research In Motion Limited Advanced voice and data operations in a mobile data communication device
JP3800984B2 (ja) * 2001-05-21 2006-07-26 ソニー株式会社 ユーザ入力装置
JP2003087429A (ja) * 2001-09-12 2003-03-20 Kaisen Baitai Kenkyusho:Kk ホームページ上から一般の電話を呼び出す為のソフトウェア
JP3898016B2 (ja) * 2001-09-28 2007-03-28 三菱電機株式会社 情報検索装置、情報検索方法及び情報検索プログラム
US20030112952A1 (en) * 2001-12-19 2003-06-19 Wendell Brown Automatically establishing a telephone connection between a subscriber and a party meeting one or more criteria
JP3921390B2 (ja) * 2002-01-23 2007-05-30 Necインフロンティア株式会社 電話帳情報抽出方式及びその方法
JP2003274047A (ja) * 2002-03-14 2003-09-26 Oas Kk 電話発信システム及び電話番号情報変換プログラム
US7106725B2 (en) * 2002-05-03 2006-09-12 Microsoft Corporation Integration of voice and data channels
US20030222901A1 (en) * 2002-05-28 2003-12-04 Todd Houck uPrime uClient environment
US20030233372A1 (en) * 2002-06-13 2003-12-18 Warner Scott Jacob Markup workflow management system
GB2391420A (en) * 2002-07-25 2004-02-04 Samsung Electronics Co Ltd Method for serving audio and image communication in web browser using session initiation protocol
US7330873B2 (en) * 2002-08-23 2008-02-12 International Buisness Machines Corporation Method and apparatus for routing call agents to website customers based on customer activities
US20040122949A1 (en) * 2002-12-23 2004-06-24 Zmudzinski Krystof C. System and method for browsing on behalf of others
US7769145B2 (en) * 2003-05-19 2010-08-03 Q Tech Systems, Inc. Telephone calling interface
JP2004348241A (ja) * 2003-05-20 2004-12-09 Hitachi Ltd 情報提供方法、サーバ及びプログラム
US7607100B2 (en) * 2003-05-29 2009-10-20 International Business Machines Corporation Method, system and program product for display management of web page phone/fax numbers by a data processing system
WO2005029460A1 (en) * 2003-08-21 2005-03-31 Microsoft Corporation Focus management using in-air points
US20050047580A1 (en) * 2003-08-30 2005-03-03 Mow John Beck Mnemonic techniques on a soft-phone and a single point of contact service
US8095882B2 (en) * 2003-10-30 2012-01-10 Avaya Technology Corp. Additional functionality for telephone numbers and utilization of context information associated with telephone numbers in computer documents
US20050110777A1 (en) * 2003-11-25 2005-05-26 Geaghan Bernard O. Light-emitting stylus and user input device using same
US7453993B2 (en) * 2003-12-16 2008-11-18 Alcatel Lucent Apparatus and method for a world wide web-based directory with automatic call capability
US7571235B2 (en) * 2003-12-19 2009-08-04 Nortel Networks Limited Computer telephone integration over a network
US7492883B2 (en) * 2004-01-08 2009-02-17 International Business Machines Corporation Method and system for visually representing telephone call tree interface
US7852997B2 (en) * 2004-01-28 2010-12-14 Managed Inventions, Llc Internet telephony communications adapter for web browsers
US20050192948A1 (en) * 2004-02-02 2005-09-01 Miller Joshua J. Data harvesting method apparatus and system
US20050177525A1 (en) * 2004-02-06 2005-08-11 Apple John R. Sales and service offer method and apparatus
JP4461830B2 (ja) * 2004-02-19 2010-05-12 富士ゼロックス株式会社 画像表示装置
US20050226398A1 (en) * 2004-04-09 2005-10-13 Bojeun Mark C Closed Captioned Telephone and Computer System
US7533144B2 (en) * 2004-05-14 2009-05-12 Hisham Kassab Method of providing a web page with additional content inserted in an intermediate network entity (INE) platform
JP3863537B2 (ja) * 2004-05-21 2006-12-27 株式会社日立インフォメーションテクノロジー ネットワーク端末
EP1773037A1 (en) * 2004-05-28 2007-04-11 Research In Motion Limited User interface method and apparatus for initiating telephone calls to a telephone number contained in a message received by a mobile station
JP2006050539A (ja) * 2004-07-07 2006-02-16 Cti Information Center Co Ltd 電話発信装置、電話発信方法、電話発信プログラムおよび電話発信プログラムが格納された記憶媒体
US20060007915A1 (en) * 2004-07-09 2006-01-12 Andrew Frame Connecting a VOIP phone call using a shared POTS line
US20060074760A1 (en) * 2004-09-21 2006-04-06 Helin Calvin D System and method for calling and communication based on search engine
US8386453B2 (en) 2004-09-30 2013-02-26 Google Inc. Providing search information relating to a document
US20060074735A1 (en) 2004-10-01 2006-04-06 Microsoft Corporation Ink-enabled workflow authoring
WO2006037166A1 (en) * 2004-10-05 2006-04-13 Skunkworks Australia Pty Ltd Web based telephony access method
US7729479B2 (en) * 2004-11-30 2010-06-01 Aspect Software, Inc. Automatic generation of mixed media messages
WO2006060744A2 (en) * 2004-12-03 2006-06-08 Convoq, Inc. System and method of initiating an on-line meeting or teleconference via a web page link or a third party application
JP2006222815A (ja) * 2005-02-10 2006-08-24 Ntt Communications Kk 電話発信要求装置、通信装置、通信システム、及びプログラム
US8655333B2 (en) * 2005-09-15 2014-02-18 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for establishing settings of communications service features
US20070077920A1 (en) * 2005-09-15 2007-04-05 Phillip Weeks Methods, systems and computer program products for aggregating communications and media data
US20070266077A1 (en) * 2006-03-31 2007-11-15 Alcatel Presence and preference-enabled push to talk telephony system
US7606598B2 (en) * 2006-03-31 2009-10-20 Research In Motion Limited Initiating a call from a mobile device to a number that is not hyperlinked

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003327B1 (en) * 1999-07-23 2006-02-21 Openwave Systems Inc. Heuristically assisted user interface for a wireless communication device
KR20010085120A (ko) * 2000-02-25 2001-09-07 황재엽 화면에서 전화번호를 클릭하면 인터넷폰서비스로연결시켜주는 방법
JP2001320683A (ja) 2000-05-11 2001-11-16 Mega Chips Corp マルチメディアシステム

Also Published As

Publication number Publication date
US20070274300A1 (en) 2007-11-29
PT2014037E (pt) 2011-04-01
JP2012213195A (ja) 2012-11-01
ATE494712T1 (de) 2011-01-15
JP2013157000A (ja) 2013-08-15
EP2014037A4 (en) 2009-11-25
JP5836889B2 (ja) 2015-12-24
PL2014037T3 (pl) 2011-08-31
EP2014037B1 (en) 2011-01-05
JP2015079537A (ja) 2015-04-23
JP6381599B2 (ja) 2018-08-29
DE602007011743D1 (de) 2011-02-17
DK2014037T3 (da) 2011-04-26
JP2017005756A (ja) 2017-01-05
KR20090018888A (ko) 2009-02-24
JP2009535978A (ja) 2009-10-01
EP2014037A1 (en) 2009-01-14
WO2007130274A1 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
KR101365812B1 (ko) 통신을 개시하는 방법, 하나 이상의 프로세서 판독가능 저장 장치 및 컴퓨팅 장치
US9021507B2 (en) Dynamic use of data across multiple programs
US20070258439A1 (en) Hyperlink-based softphone call and management
JP3736308B2 (ja) ソフトウェアコンポーネント自動生成システム
KR101922037B1 (ko) 페이지 조작 처리 방법 및 장치, 그리고 단말기
US8732156B2 (en) Online service for program lookup
KR20010103670A (ko) 쉐도우 콜백 기능을 갖는 메시지 에일리어싱 기능을이용한 네트워크상의 정보 엑세스 방법 및 시스템
KR20080081160A (ko) 컨텐츠를 목표 주소로 전송하는 방법, 컨텐츠를 목표주소로 전송하는 시스템, 기본 사용자 인터페이스프리젠테이션을 적어도 하나의 컨텐츠-전달 아이콘으로채우는 방법 및 컴퓨터 판독가능 매체
US20080301581A1 (en) Method and system for providing additional information service onto e-mail
WO2019205718A1 (zh) 一种分享寄宿应用的方法及设备
JP2021111403A (ja) ランディングページの処理方法、装置、機器及び媒体
ES2360011T3 (es) Posar el puntero para hacer una llamada.
CN110737861A (zh) 一种网页数据处理方法、装置、设备和存储介质
US20070207819A1 (en) IM mobile phone for desktop
CN105988992A (zh) 图标推送方法及装置
CN112583891A (zh) 接口文档获取方法、装置和服务器
JP2002132810A (ja) Url機能の拡張方法、及び拡張されたurl機能を用いたネットワーク内のリソースへのアクセス方法
KR100516302B1 (ko) 인터넷 주소의 오타 처리 방법 및 시스템
CN116483483B (zh) 数据查询方法、装置及电子设备
WO2016197268A1 (zh) 一种集成了网络电话功能的输入法
JP2002334038A (ja) 電子掲示板システム、管理装置及びプログラム
JP2006004296A (ja) 多言語翻訳システム、中央処理装置、コンピュータプログラム及び多言語翻訳方法
JP2003016006A (ja) メールまたは文書の作成支援システム、作成支援方法およびプログラム
CN115686444A (zh) 一种变量名称翻译方法、装置、设备、存储介质
CN115600023A (zh) 客户端页面跳转方法、装置、设备及存储介质

Legal Events

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

Payment date: 20170119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee