KR20070099019A - 실시간 오디오를 라우팅하기 위한 네트워크 선택 장치 및 방법 - Google Patents

실시간 오디오를 라우팅하기 위한 네트워크 선택 장치 및 방법 Download PDF

Info

Publication number
KR20070099019A
KR20070099019A KR1020077018804A KR20077018804A KR20070099019A KR 20070099019 A KR20070099019 A KR 20070099019A KR 1020077018804 A KR1020077018804 A KR 1020077018804A KR 20077018804 A KR20077018804 A KR 20077018804A KR 20070099019 A KR20070099019 A KR 20070099019A
Authority
KR
South Korea
Prior art keywords
network
network connection
voip
network connections
peer
Prior art date
Application number
KR1020077018804A
Other languages
English (en)
Other versions
KR100915748B1 (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 KR20070099019A publication Critical patent/KR20070099019A/ko
Application granted granted Critical
Publication of KR100915748B1 publication Critical patent/KR100915748B1/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0075Details of addressing, directories or routing tables

Abstract

네트워크를 통해 VOIP(Voice over IP) 메시지를 처리하는 것에 관한 시스템, 방법 및 장치가 개시된다. 다양한 인자들에 기초하여 목적지로 메시지를 보낼 네트워크 접속을 선택하도록 컴퓨팅 장치가 구성될 수 있다. 복수의 네트워크 접속을 통하여 목적지 장치로 복제된 메시지 패킷이 전달될 수 있다. 복수의 네트워크 접속은 피어-투-피어 네트워크(peer-to-peer network) 접속, 피어 네트워크 접속, 애드혹 네트워크(ad-hoc network) 접속 또는 기타의 것을 포함한다. 복수의 네트워크 접속에 대하여 메트릭(metric)들이 수집될 수 있다. 한 네트워크 접속이 다른 네트워크 접속에 비하여 최적인 것인지의 메트릭에 부분적으로 기초하여 결정이 이루어질 수 있다. 만일 그러하다면, 그 네트워크 접속이 계속 메시지 패킷을 제공하도록 채택될 수 있으며, 복제된 패킷의 전달은 중단된다.
VOIP, 네트워크, 네트워크 테스트, 실시간 통신.

Description

실시간 오디오를 라우팅하기 위한 네트워크의 선택{SELECTING A NETWORK FOR ROUTING REAL-TIME AUDIO}
본 출원은 2005년 5월 12일 출원된 U.S. 출원번호 11/128,646에 대한 우선권을 주장하며, 이는 전체로서 본 명세서에 통합된다.
본 발명은 포괄적으로 네트워크 통신에 관한 것이며, 보다 상세하게는 실시간 오디오 메시지와 같은 오디오 메시지를 라우팅하기 위해 이종의 네트워크들로부터 하나의 네트워크를 선택하는 시스템 및 방법에 관한 것이나, 이에 한정되는 것은 아니다.
VOIP라고도 알려진 인터넷 프로토콜(IP) 텔레포니(telephony)는, 전용 음성 송신 라인 대신, 인터넷과 같은 IP 네트워크를 통하여 음성 대화를 가능케 하는 기술이다.
서비스에 따라, VOIP 콜을 행하는 한 가지 방법은, 흔히 IP 폰 또는 VOIP 폰이라고 지칭되는, 일반 전화와 유사한 특수 전화를 사용하는 것이다. 그러한 VOIP 폰은 RJ-45 커넥터를 통해 네트워크에 접속하거나, 무선 접속을 통해 동작할 수 있다. 예시적인 VOIP 폰 콜 시나리오에 있어서, 양측이 모두 IP 텔레포니 시스템을 사용하는 경우를 가정한다. 호출자(caller)의 음성 패킷은 미디어 게이트웨이를 통해 전송되어 일반적인 PSTN을 사용하는 회선 교환 음성 접속(circuit-switched voice connection)으로 변환된다. PSTN은 상기 콜을 적절한 목적지로 전달할 수 있으며, 그곳에서 상기 콜은 또 다른 미디어 게이트웨이를 통하여 IP 패킷으로 다시 변환될 수 있다.
많은 캐리어 백본이 내부적으로 VOIP를 이용할 수 있기 때문에, 이러한 프로세스에 추가적인 변환이 더해질 수 있다. 따라서, PSTN을 통과하는 콜 부분은 또한, 회선 교환 음성을 캐리어의 IP 백본 상의 패킷 음성으로 변환하고 다시 반대로 변환하는 또 다른 한 쌍의 미디어 게이트웨이를 통과할 수 있다. 선택된 경로, 네트워크 유형, 변환 횟수, 하루 중 시간대, 선택된 경로의 혼잡도 등에 따라, 음성 콜은 예측 불가능한 패킷 지연 및 지터에 영향을 받을 수 있다. 이와 같이, 네트워크 인프라구조를 통하여 VOIP 메시지가 처리되는 방법을 개선시키기 위한 업계의 필요성이 존재한다. 따라서, 이러한 점과 본 발명이 이룩한 점에 관하여 기술한다.
이하의 도면을 참조하여 본 발명의 실시예들이 기술되며, 상기 실시예는 한정적이거나 배타적인 것이 아니다. 도면에서, 다른 방식으로 특정되지 않는 한, 여러 도면에 걸쳐 유사한 참조부호는 유사한 구성 요소를 지칭한다.
본 발명을 보다 자세히 이해하기 위하여, 이하의 발명의 상세한 설명을 참조할 것이며, 이는 첨부된 도면과 연계하여 고찰되어야 한다.
도 1은 본 발명을 실시하기 위한 환경의 일 실시예를 도시하는 기능 블록도.
도 2는 본 발명을 구현하는 시스템에서 사용될 수 있는 다양한 네트워크 접속의 일 실시예를 도시하는 도.
도 3은 본 발명을 구현하는 시스템에 포함될 수 있는 클라이언트 장치의 일 실시예를 도시하는 도.
도 4는 본 발명에 따른, 클라이언트에서 VOIP 메시지를 처리하는 프로세스의 일 실시예를 일반적으로 도시하는 논리 흐름도.
이하 본 명세서의 일부를 형성하며, 발명이 실시될 수 있는 특정한 예시 실시예를 예시의 방법으로 도시하는 첨부된 도면을 참조하여, 본 발명을 보다 상세하게 기술할 것이다. 그러나, 본 발명은 많은 상이한 형태로 실시될 수 있으며 본 명세서에 나열된 실시예에 한정되는 것으로 해석하여서는 아니된다. 오히려, 이러한 실시예들은 본 개시 내용을 상세하고 완벽한 것이 되도록 하며 또한 당업자에게 본 발명의 범주가 충분히 전달되도록 제공되는 것이다. 특히, 본 발명은 방법 또는 장치로 구현될 수 있다. 따라서, 본 발명은 완전히 하드웨어 구현의 형태를 취할 수도 있고, 완전히 소프트웨어 구현의 형태를 취할 수도 있으며, 소프트웨어와 하드웨어 측면을 조합한 구현의 형태를 취할 수도 있다. 따라서, 이하의 상세한 설명은, 한정적인 의미로 해석되어서는 아니된다.
간략히 기술하면, 본 발명은 네트워크를 통하여 VOIP 메시지를 처리하기 위한 시스템, 방법 및 장치에 관한 것이다. 다양한 인자들에 기초하여 목적지로 메시지를 보낼 네트워크 접속을 선택하도록 컴퓨팅 장치가 구성될 수 있다. 그러한 인자들은, 예를 들면 소스 장치, 목적지 장치 등으로부터의 접속의 특성을 포함할 수 있다. 일 실시예에서, 복수의 네트워크 접속을 통하여 목적지 장치로 복제된 메시지 패킷이 전달될 수 있다. 사전 정의된 시간 동안, 또는 사전 정의된 전송 패킷 수에 대하여, 또는 사실상 모든 임의의 다른 기준에 대하여, 복수의 네트워크 접속에 대하여 메트릭(metric)이 수집될 수 있다. 그러한 메트릭은 홉(hop)의 수, 패킷 지연, 하루 중 시간, 종료 비용(termination cost), 사용료 협의 등을 포함할 수 있다. 그 후 상기 수집된 측정에 관하여 한 네트워크 접속이 다른 네트워크 접속에 비하여 이점을 제공하는지에 대한 결정이 이루어질 수 있다. 만일 그러하다면, 그 네트워크 접속이 계속 메시지 패킷을 공급하도록 채택될 수 있으며, 복제 패킷의 전달은 중단된다. 일 실시예에서, 상기 복수의 네트워크 접속은 피어-투-피어 네트워크(peer-to-peer network) 접속, 피어 네트워크 접속, 애드혹 네트워크(ad-hoc network) 접속을 포함한다.
본 발명이 VOIP 메시지를 위한 네트워크 접속을 선택하는 것에 대해 기술하고 있으나, 본 발명은 그에 한정되지 않는다는 것은 명백하다. 즉, 본 발명이 기술하는 바와 같이 네트워크 접속을 선택하는 것은 사실상 모든 임의의 유형의 네트워크 메시지에 대하여 수행될 수 있으며, 여기에는 FTP 메시지, 오디오 메시지, 비디오 메시지, 이메일 메시지, IM 메시지, HTTP 메시지 등이 포함된다.
예시 동작 환경
도 1은 본 발명이 동작할 수 있는 환경의 일 실시예를 도시한다. 그러나, 본 발명을 실시하기 위해 이러한 구성 요소들이 모두 필요한 것은 아니며, 발명의 사상 또는 범주를 벗어나지 않고도 구성 요소들의 배치 및 유형에 있어서 변경이 이루어질 수 있다.
도면에 도시된 바와 같이, 시스템(100)은 클라이언트 장치(102), 클라이언트 장치(VOIP 장치)(103), 네트워크(105), IM 시스템(110) 및 VOIP 시스템(112)을 포함한다. IM 시스템(110)은 IM 접속 서버(120), IM 이벤트 서버(122) 및 IM 사용자 매니저(124)를 포함할 수 있다. VOIP 시스템(112)은 SIP 접속 서버(130), 실시간 이벤트 서버(132) 및 사용자 매니저(134)를 포함할 수 있다.
클라이언트 장치(102)는 네트워크(105)를 통하여 IM 접속 서버(120)와 통신한다. 클라이언트 장치(102)는 또한 네트워크(105)를 통하여 VOIP 장치(103)와 통신한다. IM 이벤트 서버(122)는 IM 접속 서버(120) 및 IM 사용자 매니저(124)와 통신한다. 실시간 이벤트 서버(132)는 SIP 접속 서버(130) 및 사용자 매니저(134)와 통신한다.
클라이언트 장치(102)는, 다이얼, DSL, Wi-Fi(Wireless Fidelity), LAN, WAN, Wi-Max(World Interoperability for Microwave Access) 등을 포함하는 하나 이상의 네트워크 접속을 사용할 수 있는 퍼스널 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 가전기기, 네트워크 PC 등을 포함하여, 사실상 모든 장치를 포함할 수 있다.
VOIP 장치(103)는 클라이언트 장치의 또 다른 실시예이다. VOIP 장치(103)는 하나 이상의 유선 및/또는 무선 통신 인터페이스를 통하여 음성 통신 및 VOIP 메시지와 같은 메시지를 송수신하도록 구성된 사실상 모든 장치를 포함할 수 있다. 일반적으로 VOIP 장치(103)는 다양한 프로토콜 중 임의의 것을 이용하여 통신하도록 구성될 수 있다. 예를 들면, VOIP 장치(103)는 오디오 및 비디오와 같은 미디어 데이터를 다른 장치로 전달하기 위해 실시간 전송 프로토콜(RTP)을 사용하도록 구성될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, IAX 등을 포함하는 또 다른 미디어 데이터 메커니즘이 사용될 수 있다. VOIP 장치(103)는 또한 SIP(Session Initiation Protocol) 프로토콜을 사용하여, 세션 설정을 가능케 하고, 링, 링백톤, 통화중 신호 등을 가능케 하는 다이얼링과 같은 동작을 가능케 한다. 그러나, H.323, SCCP(Skinny Client Control Protocol), IAX, MiNET 등을 포함하여, 기타의 시그널링 프로토콜도 사용될 수 있다. 그러나, 일반적으로 VOIP 장치(103)는 UDP 또는 TCP에 대하여 SIP를, UDP에 대하여는 RTP를 사용할 수 있다.
VOIP 장치(103)는 또한, 통신 중 흔히 OLI(originating line identifier)로 알려진 식별자(identifier)를 제공하도록 구성될 수 있다. 식별자는 다양한 메커니즘 중 임의의 것을 사용할 수 있으며, 장치 모델 번호, 캐리어 식별자, 모바일 식별 번호(MIN) 등이 이에 포함된다. MIN은 전화번호, MS-ISDN(Mobile Subscriber Integrated Services Digital Network), ESN(electronic serial number) 또는 기타 장치 식별자가 될 수 있다. OLI는 또한 VOIP 장치(103)와 연관된 IP 주소가 될 수 있다. 일 실시예에서, VOIP 장치(103)는 또한 전화 번호로부터 IP 주소를 얻기 위해 ENUM(Electronic NUMbering) 메커니즘을 사용할 수 있다. 일 실시예에서, 식별자는 각 통신과 함께 제공된다. 다른 실시예에서, 식별자는 말단 사용자에 의해 제공된다.
VOIP 장치(103)로서 동작할 수 있는 장치로는 퍼스널 컴퓨터, 데스크탑 컴퓨터, 스마트폰, PDA, 휴대용 컴퓨터, 프로그램 가능한 가전기기, 아날로그 전화 어댑터(ATA)로 구성된 표준 전화, IP 폰, 모바일 장치 등이 포함된다.
클라이언트 장치(102)의 일 실시예가 도 2와 연계하여 이하에서 보다 상세히 기술된다. 그러나, 약술하면, 클라이언트 장치(102)는 네트워크를 통해 또 다른 컴퓨팅 장치와 상호 메시지를 송수신할 수 있는, 사실상 모든 컴퓨팅 장치를 포함할 수 있다. 그러한 장치들의 집합에는 일반적으로, 퍼스널 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 가전기기, 네트워크 PC 등과 같은 유선 통신 매체를 이용하여 접속하는 장치들이 포함될 수 있다. 그러한 장치들의 집합에는 또한 일반적으로, 휴대 전화, 스마트폰, 페이저, 워키토키, 무선 주파수(RF) 장치, 적외선(IR) 장치, CB, 상기 장치들 중 하나 이상을 결합한 통합 장치, 또는 사실상 모든 모바일 장치 등과 같은 무선 통신 매체를 이용하여 접속하는 장치들이 포함될 수 있다. 이와 유사하게, 클라이언트 장치(102)는, PDA, POCKET PC, 착용식 컴퓨터 및 유선 및/또는 무선 통신 매체를 통해 통신하도록 설비된 기타 임의의 장치와 같이 유선 또는 무선 통신 매체를 이용하여 접속할 수 있는 임의의 장치가 될 수 있다.
클라이언트 장치(102)는 또한 VOIP 프로토콜을 이용하여 VOIP 장치(103)와 통신하도록 구성될 수 있다. 따라서, 클라이언트 장치(102)는 VOIP가 가능한 장치의 또 다른 실시예를 나타낸다. 클라이언트 장치(102)는 다른 장치(이를테면 VOIP 장치(103))와 VOIP 메시지를 주고받기 위한 네트워크 접속을 선택하도록 구성된 접속 에이전트(도시되지 않음)를 사용할 수 있다. 이하 기술되는 바와 같이, 접속 에이전트는 초기에 다른 장치로 복제된 VOIP 패킷을 전송하기 위한 복수의 네트워크 접속을 선택하도록 구성될 수 있다. VOIP는 복수의 네트워크 접속에 관한 메트릭(metric)들을 모아, 상기 메트릭에 부분적으로 기초하여 다른 장치와 VOIP 통신을 계속하기 위한 하나의 네트워크 접속을 선택할 수 있다. 일 실시예에서, 클라이언트 장치(102)는 상기 취합된 메트릭들을 저장을 위해, 또한 다른 컴퓨팅 장치가 이용할 수 있도록 하기 위해 서버 장치에 제공할 수 있다. 일 실시예에서, 서버 장치는 SIP 접속 서버(130)이다. 그러나, 본 발명은 이에 한정되지 않으며, 도 1에 도시되지 않은 것을 포함하여 사실상 모든 서버가 사용될 수 있다.
도 2와 연계하여 이하에서 네트워크(105)에 대하여 더 기술한다. 그러나, 약술하면, 네트워크(105)는 하나의 컴퓨팅 장치를 다른 컴퓨팅 장치에 연결하여 이들이 통신할 수 있도록 구성된다. 네트워크(105)는 하나의 전자 장치로부터 다른 장치로 정보를 전달하기 위한 임의의 형태의 컴퓨터 판독 가능한 매체를 사용할 ㅅ수 있다. 또한, 네트워크(105)는 무선 인터페이스 및/또는 유선 인터페이스, 이를테면 인터넷, LAN, WAN, USB 포트를 통하는 것과 같은 직접 접속, 기타 형태의 컴퓨터 판독 가능한 매체, 또는 이들의 임의의 조합을 포함할 수 있다. 상이한 아키텍처 및 프로토콜을 기초로 하는 것을 포함하는 상호접속된 LAN의 집합 상에서는, 라우터가 LAN 사이의 링크로서 동작하여, 상호간에 메시지가 전송될 수 있도록 한다. 또한 LAN 내의 통신 링크들은 일반적으로 연선(twisted wire pair) 또는 동축 케이블을 포함하는 반면 네트워크 간의 통신 링크들은 아날로그 전화선, T1, T2, T3 및 T4를 포함하는 전체 또는 일부 전용 디지털 라인, ISDN, DSL, 위성 링크 등의 무선 링크 또는 당업자에게 공지된 기타 통신 링크를 이용할 수 있다. 또한, 원격 컴퓨터 및 기타 관련 전자 장치들이 모뎀 및 임시 전화 링크를 통하여 LAN 또는 WAN에 원격으로 접속될 수 있다. 본질적으로, 네트워크(105)는 컴퓨팅 장치들 간에 정보가 이동할 수 있도록 하는 임의의 통신 방법을 포함할 수 있다.
상기 기술된 바와 같이 통신 링크 내에서 정보를 송신하는데 이용되는 매체는 일종의 컴퓨터 판독 가능한 매체, 즉 통신 매체를 그 예로 한다. 일반적으로, 컴퓨터 판독 가능한 매체는 컴퓨팅 장치에 의해 액세스 가능한 임의의 매체를 포함한다. 컴퓨터 판독 가능한 매체는 컴퓨터 저장 매체, 통신 매체 또는 이들의 임의의 조합을 포함한다.
또한, 통신 매체는 일반적으로 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 반송파, 데이터 신호 또는 기타 전달 메커니즘과 같은 변조된 데이터 신호 내의 기타 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호" 및 "반송파 신호"라는 용어는 그 특성들 중 하나 이상이 신호 내에 정보, 명령어, 데이터 등을 인코딩하는 방식으로 설정되거나 변경된 신호를 포함한다. 예를 들면, 통신 매체는 연선, 동축 케이블, 광섬유, 도파관 및 가청, RF, 적외선 및 기타 무선 매체와 같은 기타 유선 및 무선 매체를 포함한다.
IM 시스템(110)은 IM 클라이언트를 사용하는 클라이언트 장치들 간의 IM 세션을 관리하도록 구성된다. IM 시스템(110)은 하나 이상의 IM 세션을 관리하기 위해 IM 접속 서버(120), IM 이벤트 서버(122) 및 IM 사용자 매니저(124)를 사용할 수 있다. 일 실시예에서, IM 접속 서버(120), IM 이벤트 서버(122) 및 IM 사용자 매니저(124)는 단일 컴퓨팅 장치를 이용하여 동작하는 분리된 서버 프로세스로 나타낼 수 있다. 다른 실시예에서, IM 접속 서버(120), IM 이벤트 서버(122) 및 IM 사용자 매니저(124)는 복수의 컴퓨팅 장치들에 걸쳐 동작하는 별개의 프로세스들로 나타날 수 있다. 이와 같이, IM 시스템(110)은, 퍼스널 컴퓨터, 데스크탑 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 장치, 네트워크 PC, 서버, 네트워크 설비 등을 포함하는 다양한 컴퓨팅 장치 상에서 구현될 수 있다.
IM 접속 서버(120)는, 예를 들면 클라이언트 장치(102) 등에 포함될 수 있는 IM 클라이언트로부터 IM 세션을 수립하기 위한 요청을 수신하도록 구성된다. IM 접속 서버(120)는 또한 IM 클라이언트로부터 IM 클라이언트의 말단 사용자를 인증하는데 사용될 수 있는 인증 정보를 수신할 수 있다. 말단 사용자가 인증되면, IM 접속 서버(120)는 IM 클라이언트가 IM 세션으로 로그인할 수 있도록 할 수 있다. IM 접속 서버(120)는 또한 수립된 세션에 대한 정보를 IM 이벤트 서버(122)에 제공하도록 구성될 수 있다.
IM 접속 서버(120)는 또한 IM 클라이언트로부터의 다양한 요청 정보를 IM 이벤트 서버(122)로 전달할 수 있다. 그러한 요청 정보는, 예를 들면 다른 IM 말단 사용자의 위치를 잡고 그와 통신하기 위한 요청을 포함할 수 있다.
IM 이벤트 서버(122)는 말단 사용자의 로그인 및 IM 접속 서버(120)로부터의 기타 요청 정보를 수신하도록 구성된다. IM 이벤트 서버(122)는 IM 사용자 매니저(124)에게 IM 클라이언트 및 말단 사용자에 대한 정보를 저장하도록 요청할 수 있다. IM 사용자 매니저(124)는 테이블, 스프레드시트, 파일, 데이터베이스 등을 사용하여, IM 클라이언트와, IM 접속 서버(120) 내에서 IM 클라이언트가 로그인되는 IM 접속 서버를 등록할 수 있다. 따라서, IM 사용자 매니저(124)는, IM 대화와 연관된 말단 사용자에 대한 식별자, 시간 정보, 말단 사용자에 대한 계정 식별자, IM 대화와 연관된 IM 접속 서버 등과 같은 정보를 포함할 수 있는 다양한 IM 대화에 대한 정보를 저장할 수 있다. 이와 같이, IM 이벤트 서버(122)는 또한 IM 사용자 매니저(124)를 사용하여, IM 접속 서버(120) 내에서 다른 말단 사용자가 로그인되는 IM 접속 서버를 결정할 수 있으며, 그러한 정보를 IM 접속 서버(120)에 제공하여 둘 이상의 IM 말단 사용자 간에 IM 세션이 수립될 수 있도록 할 수 있다.
VOIP 시스템(112)은 다양한 IP 텔레포니 프로토콜 중 임의의 것을 이용하여 클라이언트 장치들 간의 VOIP 세션을 관리하도록 구성된다. VOIP 시스템(112)은 또한 다양한 클라이언트 장치들 및 클라이언트 애플리케이션이 음성 메일 메시지를 액세스할 수 있게끔 하도록 구성된다.
도시된 바와 같이, VOIP 시스템(112)은, 도시된 각각의 구성 요소들이 하나의 컴퓨팅 장치를 갖는 하나 이상의 프로세스로서 동작하는, 단일 컴퓨팅 장치로 구현될 수 있다. VOIP 시스템(112)은 또한, 도시된 하나 이상의 구성요소들이 복수의 컴퓨팅 장치에 걸쳐 분산되는 복수의 컴퓨팅 장치로 구현될 수 있다. 이와 같이 VOIP 시스템(112)은, 퍼스널 컴퓨터, 데스크탑 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 장치, 네트워크 PC, 서버, 네트워크 설비 등을 포함하는 다양한 컴퓨팅 장치 상에서 구현될 수 있다.
SIP 접속 서버(130)는 클라이언트 장치(102), VOIP 장치(103) 등으로부터 SIP 접속을 수립하기 위한 요청을 수신하도록 구성된다. 요청 장치는, 적어도 일부에 있어서, SIP 접속을 수립하기 위한 요청을 인증하는데 사용될 수 있는 식별 정보(identification information)를 SIP 접속 서버(130)로 제공할 수 있다. 요청 장치가 인증되면, SIP 접속 서버(130)는 요청 장치가 접속에 로그인하도록 할 수 있다. SIP 접속 서버(130)는 또한 요청 장치에 대한 정보를 실시간 이벤트 서버(132)에 제공할 수 있다. 실시간 이벤트 서버(132)는 상기 정보를 수신하여, 저장을 위해 이를 사용자 매니저(134)로 제공하도록 구성될 수 있다.
사용자 매니저(134)는 상기 정보를 데이터베이스, 스프레드시트, 테이블, 파일 등에 저장할 수 있다. 그러한 정보는, 예를 들면, 요청 장치와 연관된 식별자, 요청 장치와 연관된 말단 사용자, SIP 접속 서버(130)와 연관된 주소 등을 포함할 수 있다. 사용자 매니저(134)는 복수의 요청 장치에 대하여 그러한 정보를 수신하여 관리할 수 있다. 사용자 매니저(134)는 또한 적어도 하나의 다른 요청 장치에 대한 정보를 실시간 이벤트 서버(132)로 제공하여, SIP 접속 서버(130)가 하나 이상의 말단 사용자 간의 VOIP 통신을 가능케할 수 있다.
예시 네트워크 접속
도 2는 본 발명을 구현하는 시스템에 포함될 수 있는 네트워크 구조(200)의 일 실시예를 도시한다. 네트워크 구조(200)는 도 2에 도시된 것들보다 다소 많은 구성 요소들을 포함할 수 있다. 그러나, 도시된 구성요소들로 본 발명을 실시하기 위한 예시 실시예를 개시하기에 충분하다. 약술하면, 본 발명은, 클라이언트 장치(이를테면 클라이언트 장치(102))가 다른 컴퓨팅 장치(이를테면 클라이언트 장치(103))와 통신하기 위한 네트워크 접속을 선택할 수 있도록 한다.
도면에 도시된 바와 같이, 네트워크 구조(200)는 네트워크(105) 및 클라이언트 장치들(102-103)을 포함한다. 네트워크(105)는 가능한 네트워크 접속의 두 가지 예, 즉 피어-투-피어(P2P) 네트워크 접속 및 피어 네트워크 접속을 포함한다. 그러나, 네트워크(105)는 그러한 두 가지 네트워크 접속 구조에 제한되지 않으며, 클라이언트 장치(102 및 103) 간에 메시지를 전달하는데 이용하기 위해 사실상 모든 네트워크 접속 구조가 네트워크(105)에서 사용될 수 있다. 예를 들면, 네트워크(105)는 애드-혹 네트워크 접속 구조, 계층망 접속 구조, 클라이언트/서버 네트워크 접속 구조 등을 포함할 수 있다.
P2P 네트워크 접속은 노드들(221-225)을 포함한다. 노드(221)는 노드들(222-224)과 통신한다. 노드(223)는 또한 노드들(221, 222, 224 및 225)와 통신한다. 노드(225)는 또한 노드(222 및 224)와 통신한다. 노드들(221-222)은 또한 클라이언트 장치(102)와 통신하고, 노드들(224-225)은 클라이언트 장치(103)와 통신한다.
약술하면, P2P 네트워크 접속은 네트워크 접속 구조의 일 실시예를 나타내며, 노드들(221-225) 각각은 실질적으로 동등한 기능(실질적으로 동등한 네트워크 능력을 포함함)을 갖추고 동작하도록 구성된다. 따라서, 노드들(221-225)은, 퍼스널 컴퓨터, 데스크탑 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 장치, 네트워크 PC, 서버, 네트워크 설비 등을 포함하는 다양한 컴퓨팅 장치들 중 임의의 장치상에 구현될 수 있다. 또한, 일 실시예에서, 노드들(221-225)은 또한 인터넷 서비스 제공자(ISP)의 네트워크 인프라구조 또는 그와 유사한 네트워크 서비스 제공자를 나타낼 수 있다. 그러한 실시예에서, ISP를 나타내는 노드(들)는 다양한 네트워킹 구성 요소들(도시되지 않음) 중 임의의 것을 포함할 수 있다.
피어 네트워크 접속은 피어 매니저 네트워크(204) 및 피어 네트워크(201-203)를 포함한다. 피어 매니저 네트워크(204)는 네트워크(201-203)와 통신한다. 피어 매니저 네트워크(204)는 클라이언트 장치(102)와 통신하며, 피어 네트워크(201-203)는 클라이언트 장치(103)와 통신한다. 클라이언트 장치(102)는 또한 피어 네트워크(201)와 통신한다. 도시되지는 않았으나, 클라이언트 장치(102)가 피어 네트워크(202) 및/또는 피어 네트워크(203)와도 통신할 수 있음은 명백하다.
약술하면, 피어 네트워크 접속은 피어 매니저 네트워크(204) 및 각 피어 네트워크(201-203) 간의 네트워킹 배치를 나타낸다. 예를 들면, 피어 매니저 네트워크(204)와 피어 네트워크(201) 사이에 전용 네트워크 접속 또는 그와 유사한 통신 인프라구조를 제공하도록 하기 위해, 피어 네트워크(201)는 피어 매니저 네트워크(204)와 라이센싱 계약을 체결할 수 있다. 이와 유사하게, 피어 네트워크(202-203)도 네트워크 접속을 제공하기 위해 피어 매니저 네트워크(204)와 계약할 수 있다. 일 실시예에서, 네트워크 접속은 가상 사설망(VPN), 암호화 터널(encrypted tunnel), 사설 임대 라인, 다양한 통신을 이용한 전용 고속 접속, 프레임-릴레이(Frame-Relay) 접속, ATM 접속, T-1, T-2, T-3 접속 등을 포함할 수 있다. 또한, 피어 네트워크(201-203) 중 하나 이상은 클라이언트 장치(103)에 특정 서비스를 제공하기 위한 계약을 할 수 있다. 따라서, 일 실시예에서, 피어 매니저 네트워크(204) 및/또는 피어 네트워크(201-203) 중 하나 이상은 ISP의 네트워크 인프라구조, 전화 회사의 전용 네트워킹 인프라구조 또는 이와 유사한 네트워크 서비스 제공자의 네트워킹 인프라구조를 나타낸다. 또한, 피어 매니저 네트워크(204)의 한 예는 Yahoo!, Inc. 네트워킹 인프라구조가 될 수 있다.
또한, 피어 매니저 네트워크(204) 및 피어 네트워크(201-203) 각각은 네트워크(105)에 대하여 상기 기술된 구성 요소들 중 많은 부분을 포함할 수 있다. 따라서, 피어 매니저 네트워크(204) 및 피어 네트워크(201-203) 각각은 하나의 전자 장치로부터 다른 장치로 정보를 전달하는 임의의 형태의 컴퓨터 판독 가능한 매체를 사용하도록 할 수 있다.
또한, 피어 매니저 네트워크(204)는, 컴퓨팅 장치 및/또는 또 다른 컴퓨팅 장치에 의한 사용을 위해 클라이언트 장치(102)와 같은 하나의 컴퓨팅 장치로부터 네트워크 메트릭을 수신하도록 구성된 하나 이상의 구성 요소(도시되지 않음)를 포함할 수 있다. 따라서, 상기 하나 이상의 구성 요소는 퍼스널 컴퓨터, 데스크탑 컴퓨터, 멀티프로세서 시스템, 마이크로프로세서 기반 장치, 네트워크 PC, 서버, 네트워크 설비 등을 포함할 수 있다.
예시 클라이언트 장치
도 3은 본 발명을 구현하는 시스템에 포함될 수 있는 클라이언트 장치(300)의 일 실시예를 도시한다. 클라이언트 장치(300)는 도 3에 도시된 것들보다 다소 많은 구성 요소들을 포함할 수 있다. 그러나, 도시된 구성요소로 본 발명을 실시하기 위한 예시 실시예를 개시하는데 충분하다. 일 실시예에서, 클라이언트 장치(300)는 도 1-2의 클라이언트 장치(102) 및/또는 클라이언트 장치(103)를 나타낼 수 있다.
도면에 도시된 바와 같이, 클라이언트 장치(300)는 버스(324)를 통해 대용량 메모리(330)과 통신하는 프로세싱 유닛(322)을 포함한다. 클라이언트 장치(300)는 또한 전원 공급장치(326), 하나 이상의 네트워크 인터페이스(350), 오디오 인터페이스(352), 디스플레이(354), 키패드(356), 조명기(358), 입/출력 인터페이스(360), 감각 인터페이스(362) 및 선택적으로 GPS 수신기(364)를 포함한다. 전원 공급장치(326)는 클라이언트 장치(300)에 전력을 공급한다. 충전식 배터리 또는 비충전식 배터리가 전력을 공급하는데 이용될 수 있다. AC 어댑터 또는 배터리를 보충 및/또는 충전하는 충전 거치대(powered docking cradle)와 같은 외부 전원 공급원에 의해 전력이 공급될 수 있다.
클라이언트 장치(300)는 선택적으로 기지국(도시되지 않음)과 통신하거나, 다른 컴퓨팅 장치와 직접 통신할 수 있다. 네트워크 인터페이스(350)는 클라이언트 장치(300)를 하나 이상의 네트워크에 연결하기 위한 회로를 포함하며, 하나 이상의 통신 프로토콜 및 기술을 이용하도록 구성된다. GSM, CDMA, TDMA, UDP, TCP/IP, SMS, GPRS, WAP, UWB, IEEE 802.16 WiMax, SIP/RTP 등이 이에 포함되나, 본 예에 한정되는 것은 아니다.
오디오 인터페이스(352)는 인간 음성과 같은 오디오 신호를 생성 및 수신하도록 구성한다. 예를 들면, 오디오 인터페이스(352)는 스피커 및 마이크로폰(도시되지 않음)에 연결되어 다른 이들과의 원격통신 및/또는 어떤 동작에 대한 오디오 응답 생성을 가능케 할 수 있다. 디스플레이(354)는 LCD, 가스 플라즈마, LED 또는 컴퓨팅 장치와 함께 사용되는 기타 임의의 유형의 디스플레이가 될 수 있다. 디스플레이(54)는 또한 첨필(stylus) 또는 사람의 손가락과 같은 물체로부터의 입력을 수신하도록 구성된 접촉 감응식 스크린(touch sensitive screen)을 포함할 수 있다.
키패드(356)는 사용자로부터의 입력을 수신하도록 구성된 임의의 입력 장치를 포함할 수 있다. 예를 들면, 키패드(356)는 버튼식 숫자 다이얼 또는 키보드를 포함할 수 있다. 키패드(356)는 또한 이미지를 선택하고 전송하는 것과 관련된 커맨드 버튼(command button)을 포함할 수 있다. 조명기(358)는 상태 표시(status indication)를 제공하며 또한/또는 조명(light)을 공급할 수 있다. 조명기(358)는 특정 기간의 시간 동안 또는 이벤트에 대응하여 활성 상태를 유지할 수 있다. 예를 들면, 조명기(358)가 활성인 경우, 조명기(358)는 키패드(356) 상의 버튼들에 백라이트를 비출 수 있으며 클라이언트 장치가 전원이 들어와 있는 동안 그 상태를 유지할 수 있다. 또한, 조명기(358)는 특정한 동작, 이를테면 다른 클라이언트 장치에 전화를 거는 것과 같은 동작이 수행될 때, 다양한 패턴으로 이들 버튼에 백라이트를 비출 수 있다. 조명기(358)는 또한 동작들에 대응하여 클라이언트 장치의 투명 케이스 또는 반투명 케이스 내에 위치한 광원들을 자극하여 조명을 비출 수 있다.
클라이언트 장치(300)는 또한, 도 3에 도시되지 않은 헤드셋 또는 기타 입출력 장치들과 같은 외부 장치들과 통신하기 위한 입/출력 인터페이스(360)를 포함한다. 입/출력 인터페이스(360)는, USB, 적외선, 블루투스(BluetoothTM) 등과 같은 하나 이상의 통신 기술을 이용할 수 있다. 감각 인터페이스(362)는 모바일 단말기의 사용자에게 촉각 피드백(tactile feedback)을 제공하도록 구성된다. 예를 들면, 감각 인터페이스는 다른 모바일 장치 사용자가 전화를 걸어 오고 있는 경우 특정한 방식으로 클라이언트 장치(300)를 진동시키는데 이용될 수 있다.
선택적인 GPS 트랜시버(364)는 지구상에서의 클라이언트 장치(300)의 물리적 좌표를 결정할 수 있으며, 일반적으로 위도 값과 경도 값으로 위치를 출력한다. GPS 트랜시버(364)는 또한 지구상에서의 클라이언트 장치(300)의 물리적 위치를 결정하기 위해 기타의 위치 결정 메커니즘(geo-positioning mechanism)들을 이용할 수 있으며, 이러한 메커니즘으로 삼각 측량, AGPS(assisted GPS), E-OTD, CI, SAI, ETA, BSS 등이 포함되나, 본 예에 한정되는 것은 아니다. 상이한 조건들에 따라, GPS 트랜시버(364)는 클라이언트 장치(300)에 대한 물리적 위치를 수 밀리미터 내로 결정할 수 있으며, 다른 경우에는, 결정된 물리적 위치는 1 미터 또는 그보다 훨씬 큰 거리 내와 같이 보다 덜 정확할 수도 있다.
대용량 메모리(330)는 RAM(332), ROM(334) 및 기타 저장 수단을 포함한다. 대용량 메모리(330)는 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타의 데이터와 같은 정보를 저장하기 위한 컴퓨터 저장 매체의 또 다른 예를 도시한다. 대용량 메모리(330)에는 클라이언트 장치(300)의 로우-레벨 동작을 제어하기 위한 기본 입/출력 시스템("BIOS")(340)이 저장된다. 대용량 메모리에는 또한 클라이언트 장치(300)의 동작을 제어하기 위한 운영 체제(341)가 저장된다. 본 구성요소는, UNIX, 또는 LINUXTM 버전 등과 같은 범용 운영 체제 또는 Windows MobileTM 또는 Symbian® 운영 체제와 같은 특화된 모바일 통신 운영 체제를 포함할 수 있음을 인지할 것이다. 운영 체제는 하드웨어 구성요소의 제어 및 자바 애플리케이션 프로그램을 통한 시스템 동작의 운영을 가능케 하는 자바 가상 머신 모듈을 포함하거나 또는 이와 인터페이스한다.
메모리(330)는 또한 하나 이상의 데이터 저장소(342)를 포함하며, 이는 클라이언트 장치(300)에 의해 특히 프로그램(344) 및/또는 기타 데이터를 저장하는데 이용될 수 있다. 예를 들면, 데이터 저장소(342)는 또한 클라이언트 장치(300)의 다양한 기능들을 기술하는 정보를 저장하는데 이용될 수 있다. 그 후 상기 정보는 임의의 다양한 이벤트, 이를테면 통신 중 헤더의 일부로 전송되는 것, 요청에 따라 전송되는 것 등의 이벤트에 따라 다른 장치에 제공될 수 있다.
프로그램(344)은 컴퓨터 실행 가능한 명령어들을 포함하며, 이는 클라이언트 장치(300)에 의해 실행되는 경우, 메시지(예를 들면 SMS, MMS, IM, 이메일, 및/또는 기타 메시지), 오디오, 비디오를 송신, 수신 및/또는 다른 방식으로 처리하며, 다른 모바일 장치의 다른 사용자와의 원격통신을 가능케 한다. 애플리케이션 프로그램의 다른 예로, 달력, 연락처 매니저, 업무 매니저, 트랜스코더, 데이터베이스 프로그램, 워드 프로세서 프로그램, 스프레드시트 프로그램, 게임 등이 포함된다. 또한, 대용량 메모리(330)에는 브라우저 클라이언트(346), IM 클라이언트(370), VOIP 클라이언트(372) 및 접속 매니저(374)가 저장된다.
브라우저(346)는 웹 페이지, 웹 기반 메시지 등을 송수신하도록 구성될 수 있다. 브라우저(346)는, 예를 들면, HTML, WAP, HDML(WML, WMLScript, JavaScript 등)과 같은 SMGL 등을 포함하는 사실상 모든 웹 기반 언어를 사용하여 그래픽, 텍스트, 멀티미디어 등을 수신하여 디스플레이할 수 있으나, 본 예에 한정되는 것은 아니다.
IM 클라이언트(370)는, AOL 인스턴트 메신저, Yahoo! 메신저, .NET 메신저 서버, ICQ 등을 포함하는 인스턴트 메시징 세션을 개시 및 관리하도록 구성될 수 있으며, 본 예에 한정되는 것은 아니다. 일 실시예에서, IM 클라이언트(370)는 VOIP 클라이언트(372)와 같은 VOIP 클라이언트로부터 VOIP 메시지를 수신하고, IM/VOIP 특징을 포함하도록 구성된다. 일 실시예에서, IM 클라이언트(370)는 SIP를 사용하여 IM/VOIP 기능이 있는 클라이언트를 사용하는 다른 컴퓨팅 장치와 미디어 세션을 수립할 수 있으며, RTP를 사용하여 미디어 트래픽을 전달할 수 있다. 그러나 IM 클라이언트(370)는 이에 한정되지 않는다. 예를 들면, IM 클라이언트(370)는 또한 SIMPLE(SIP for Instant Messaging and Presence Leverage), APEX(Application Exchange), Prim(Presence and Instant Messaging Protocol), 모바일 장치를 위해 특별히 만들어진 재버(Jabber) 및 OMA(Open Mobile Alliance)로 더 잘 알려진 오픈 XML 기반 XMPP(Extensible Messaging and Presence Protocol) 등 중 임의의 것을 사용할 수 있다.
VOIP 클라이언트(372)는 클라이언트 장치(300)가 다른 클라이언트 장치와의 VOIP 세션을 개시하고 관리할 수 있게 하도록 구성된다. VOIP 클라이언트(372)는 시그널링의 관리를 위해 SIP 프로토콜을 사용할 수 있으며, VOIP 트래픽("미디어")을 송신하기 위해 RTP를 사용할 수 있다. 그러나, 발명이 이에 한정되는 것은 아니며, 시그널링 및 음성 데이터 모두를 운반하는 IAX, H.323, SCCP, Megaco, MGCP, MiNET, SCCP(Skinny Client Control Protocol) 등을 포함하는 기타 다양한 VOIP 프로토콜 중 임의의 것이 사용될 수 있다. VOIP 클라이언트(372)는 또한 미디어 스트림을 네트워크를 통하여 전달하기 위해 압축하는 다양한 음성 코덱을 사용하도록 구성되며, G.711, G.729, G.729a, iSAC, Speex 등이 이에 포함된다. 일 실시예에서, SDP(Session Description Protocol)를 인에이블시키기 위해 SIP가 사용될 수 있다.
도시되지는 않았으나, 클라이언트 장치(300)는 또한 이메일, SMS, MMS, IRC mIRC 등을 포함하는 기타 메커니즘을 사용하여 다른 컴퓨팅 장치로부터 메시지를 수신하도록 구성될 수 있으나, 본 예에 한정되는 것은 아니다.
접속 에이전트(374)는 목적지 장치(destination device)로의 통신 접속을 관리하도록 구성될 수 있다. 접속 에이전트(374)는, 부분적으로, 브라우저 클라이언트(364), IM 클라이언트(370), VOIP 클라이언트(372) 또는 다른 프로그램(344)으로부터 이메일 메시지 등과 같은 메시지를 수신함으로써 이를 수행할 수 있다. 접속 에이전트(374)는 그 후 목적지 장치로 상기 메시지의 복제 패킷을 전송할 것인지를 결정할 수 있다. 접속 에이전트(374)가 목적지 장치로 메시지의 복제 패킷을 전송하기로 결정하는 경우, 접속 에이전트(374)는 복수의 네트워크 접속을 사용함으로써 이를 수행할 수 있다. 예를 들면, 접속 에이전트(374)는 하나의 패킷을 P2P 네트워크 접속을 이용하여 목적지 장치로 전송하고, 상기 패킷의 복제 패킷을 피어 네트워크 접속을 이용하여 전송할 수 있다. 접속 에이전트(374)가 계속 복제 패킷을 전송하는 동안, 복수의 네트워크 접속과 연관된 다양한 메트릭을 수집하도록 구성될 수 있다. 사실상 모든 메트릭이 수집될 수 있으나, 일 실시예에서, 접속 에이전트(374)는 홉 수, 지연 시간, 패킷 손실, 종료 비용, 기타 비용 등과 같은 메트릭을 수집할 수 있다. 사전 정의된 시간 이후 또는 사전 정의된 수의 패킷이 전송된 이후, 또는 사실상 어떤 임의의 기준 이후, 접속 에이전트(374)는 상기 수집된 메트릭에 적어도 일부 기초하여 클라이언트 장치(300)와 목적지 장치 간의 통신을 지속하기 위한 하나의 네트워크 접속을 선택할 수 있다.
접속 에이전트(374)는 또한, 클라이언트 장치(300)의 대역폭, 목적지 장치의 대역폭 등과 같은 다양한 원인을 기초로 복제 패킷을 전송하지 않을 것을 결정하도록 구성될 수 있다. 접속 에이전트(374)가 복제 패킷을 전송하지 않기로 결정하는 경우, 접속 에이전트(374)는 자신과 목적지 장치 간의 다양한 네트워크 접속에 대한 그동안의 메트릭(historical metrics)을 기초로 네트워크를 선택할 수 있다. 일 실시예에서, 접속 에이전트(374)는 원격 서버와 같은 다른 컴퓨팅 장치로부터 그동안의 메트릭을 수신할 수 있다. 그러나, 발명이 이에 한정되는 것은 아니며, 접속 에이전트(374)는 이전 통신에 기초하여 그러한 그동안의 메트릭을 수집하여 저장해놓을 수 있다. 접속 에이전트(374)는 또한 그 동작의 적어도 일부를 수행하기 위해 도 4의 프로세스(400)와 같은 프로세스를 사용할 수 있다.
일반적인 동작
본 발명의 특정 양태의 동작이 도 4에 관하여 이하 기술될 것이다. 도 4는 본 발명에 따른, 클라이언트에서 VOIP 메시지를 관리하기 위한 일 실시예 또는 프로세스를 일반적으로 도시하는 논리 흐름도를 도시한다. 도 4의 프로세스(400)는, 예를 들면, 도 1의 클라이언트 장치들(102-103) 중 하나 이상의 장치에 구현될 수 있다. 또한, 프로세스(400)가 VOIP 메시지 패킷에 관하여 기술되어 있으나, 본 발명이 그에 한정되는 것은 아니며, 사실상 모든 메시지 패킷 유형이 사용될 수 있다. 따라서, 예를 들면, 프로세스(400)는 또한 오디오 메시지, 비디오 메시지, IM 메시지 등을 위한 네트워크 접속을 선택하기 위해 사용될 수 있다. 또한, 프로세스(400)는 두 개의 네트워크 접속, 즉 피어 네트워크 접속과 P2P 네트워크 접속 간의 평가를 나타내기 위해 단순화되어 있다. 그러나, 본 발명이 그에 한정되는 것은 아니며, 프로세스(400)를 확장함으로써 임의의 수의 네트워크 접속이 사용될 수 있다.
프로세스(400)는 시작 블록 아래의 판단 블록(402)에서 개시되며, 여기에서 소스 장치는 목적지 장치로 메시지를 전송하고자 한다. 이 지점에서, 소스 장치는 초기에 SIP, H.323 등을 사용하여 목적지 장치와 VOIP 접속을 수립했을 수 있다. 따라서, 판단 블록(402)에서, 도 1의 네트워크(105)와 같은 네트워크에 대한 소스 장치의 네트워크 접속이 네트워크 접속 테스트를 수행하기에 충분한 대역폭을 가지고 있는가에 대한 판단이 이루어진다. 그러한 네트워크 접속은, 예를 들면, 소스 장치로부터 소스 장치의 인터넷 서비스 제공자(ISP)에 대한 것일 수 있다. 또한, 소스 장치는 사용 가능한 복수의 로컬 네트워크 접속을 갖고 있을 수 있음을 인지하여야 한다. 예를 들면, 소스 장치는 무선 접속, 광대역 접속, 협대역 접속 등을 이용하도록 구성될 수 있다. 따라서, 일 실시예에서, 각각의 이러한 로컬 네트워크 접속을, 그에 대응되는 대역폭 성능을 결정하기 위해 검사할 수 있다. 충분한 대역폭이란, 복수의 네트워크 접속 및 전송되는 패킷 또는 기타의 것에 대한 서비스 품질, 패킷 손실, 대역폭 크기를 포함하는 다양한 기준에 기초할 수 있으나, 본 예에 한정되는 것은 아니다. 여하간, 대역폭이 불충분하다고 판단되는 경우, 프로세스는 블록(416)으로 진행하고, 그렇지 않은 경우 프로세스는 판단 블록(404)으로 진행한다.
판단 블록(404)에서, 네트워크에 대한 목적지 장치의 접속이 접속 테스트를 수행하기에 충분한 대역폭을 가지고 있는지에 대한 판단이 이루어진다. 그러한 목적지의 네트워크 대역폭에 대한 정보는, 목적지 장치 또는 매개 장치(intermediate device)에게 그러한 정보에 대한 요청을 전송하는 것과 같은 다양한 메커니즘을 이용하여 얻을 수 있다. 여하간, 네트워크에 대한 목적지 장치의 접속이 접속 테스트를 수행하기에 불충분하다고 판단되는 경우, 프로세스는 블록(416)으로 진행하고, 그렇지 않은 경우 프로세스는 블록(406)으로 진행한다.
블록(406)에서, 소스 장치는 목적지 장치로 복제된 VOIP 패킷이 전송될 복수의 네트워크 접속을 선택한다. 일 실시예에서, 도시된 바와 같이, 복수의 네트워크 접속은 P2P 및 피어 네트워크 접속을 포함한다. 그러나, 본 발명은 이들 두 네트워크 접속 유형만을 비교하는데 한정되는 것은 아니며, 기타(및/또는 그 이상)의 것이 본 발명에서 사용될 수 있다. 여하간, 복수의 네트워크 접속을 선택하면, 소스 장치는 다른 복수의 네트워크 접속을 통하여 복제된 VOIP 패킷을 전송한다. 목적지 장치는 중복된 VOIP 패킷을 제외시키거나 다른 방식으로 무시하도록 구성될 수 있기 때문에, 이러한 테스트가 가능할 수 있다.
프로세스(400)는 블록(408)으로 진행하며, 여기에서 메트릭이 수집된다. 메트릭은 복제 패킷이 복수의 네트워크 접속을 통하여 전송되는 사전 정의된 시간에 걸쳐 수집되거나, 사전 정의된 수의 패킷을 전송한 후에 수집되거나, 또는 기타 사실상 모든 기준에 기초하여 수집될 수 있다. 그러한 메트릭은, 홉의 수, 지연 시간, 패킷 손실, 비용, 서비스 품질, 사용 계약 등을 포함할 수 있으나, 본 예에 한정되는 것은 아니다. 프로세스는 다음으로 판단 블록(410)으로 진행하며, 여기에서 복수의 네트워크 접속 중 하나가 다른 것들에 비해 최적인지를 결정하기 위해 복수의 네트워크 접속에 대하여 수집된 메트릭으로부터 비교가 이루어진다. 그러한 비교는 메트릭마다의 비교에 있어서 가중치가 부여된 메트릭의 비교 또는 기타의 것을 포함할 수 있다. 여하간, 수집된 메트릭에 적어도 일부 기초하여, 복수의 네트워크 접속 중 하나가 다른 것들에 비하여 최적인 것으로 판단되는 경우, 그 네트워크 접속이 두 장치 사이의 통신을 속행하도록 선택된다. 따라서, 도시된 바와 같이, P2P 네트워크 접속에 연관된 메트릭이 피어 네트워크 접속과 실질적으로 동등하거나 또는 그에 비해 최적인 경우, P2P 네트워크 접속이 선택되고 프로세스는 블록(412)으로 진행하며, 그렇지 않은 경우 블록(418)으로 진행한다. 명백히 최적인 네트워크 접속이 없는 경우를 처리하기 위해 실질적으로 동등한 것에 대한 테스트가 제공될 수 있음을 유의하여야 한다. 그러한 경우, 디폴트 네트워크 접속이 선택될 수 있다. 본 예에서, 단순히 P2P 및 피어 네트워크 접속 간의 비교를 예로 들 때, 디폴트 네트워크 접속은 P2P 네트워크 접속이다. 그러나, 본 발명이 이에 한정되는 것은 명백히 아니며, 두 접속 중 하나 또는 또 다른 네트워크 접속이 디폴트 네트워크 접속으로 선택될 수 있다.
블록(412)에서, 목적지 장치와의 다른 복수 네트워크 접속은 더 이상 복제 패킷을 전송하는데 사용되지 않으며, 두 장치들 간의 통신은 P2P 네트워크 통신을 이용하여 계속된다. 프로세스는 블록(414)으로 진행된다.
이와 유사하게, 블록(418)에서, 목적지 장치와의 다른 복수 네트워크 접속은 더 이상 복제 패킷을 전송하는데 사용되지 않으며, 두 장치들 간의 통신은 피어 네트워크 접속을 이용하여 계속된다. 프로세스는 블록(414)으로 진행된다.
블록(414)에서, 복수의 네트워크 접속에 대하여 수집된 메트릭은 또 다른 네트워크 접속을 선택하는데 이용하기 위하여 저장될 수 있다. 일 실시예에서, 소스 장치가 메트릭을 저장할 수 있다. 다른 실시예에서, 소스 장치는 메트릭을 저장을 위해 목적지 장치, 원격 서버 등과 같은 다른 장치로 제공할 수 있다. 블록(414)의 동작이 완료되면, 프로세스(400)는 다른 동작들을 수행하기 위해 호출 프로세스로 돌아간다.
블록(416)으로 돌아가, 소스 장치 또는 목적지 장치가 네트워크 접속 테스트를 수행하기에 불충분한 대역폭을 갖는 경우, 그동안의 메트릭이 네트워크 접속을 선택하는데 사용될 수 있다. 그동안의 메트릭은 소스 장치에 의해 행해진 이전의 통신들로부터 얻을 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니다. 예를 들면, 그동안의 메트릭은 복수의 컴퓨팅 장치로부터의 메트릭을 나타낼 수 있다. 이와 같이, 일 실시예에서, 그동안의 메트릭은 원격 장치로부터 수신될 수 있다. 다른 실시예에서, 소스 장치는 그동안의 메트릭을 자체적으로 저장할 수 있다. 여하간, 프로세스는 블록(420)으로 진행하며, 여기에서 소스 장치는 선택된 네트워크 접속을 이용하여 VOIP 패킷을 목적지 장치로 제공할 수 있다. 블록(420)이 완료되면, 프로세스(400)는 다른 동작들을 수행하기 위해 호출 프로세스로 돌아간다.
도시된 흐름도의 각 블록 및 도시된 흐름도의 블록들의 조합은, 컴퓨터 프로그램 명령어로 구현될 수 있다. 이러한 프로그램 명령어들은 프로세서에 제공되어 장치를 제작할 수 있으며, 프로세서 상에서 실행되는 상기 명령어들은 흐름도 블록 또는 블록들에 특정된 동작들을 구현하기 위한 수단을 생성하게 된다. 컴퓨터 프로그램 명령어들은 프로세서에 의해 실행되어 일련의 동작 단계가 프로세서에 의해 실행되도록 함으로써 컴퓨터 구현된 프로세스를 생성하여, 프로세서에 의해 실행되는 상기 명령어들이 흐름도 블록 또는 블록도에 특정된 동작들을 구현하기 위한 단계들을 제공하도록 한다.
따라서, 도시된 흐름도의 블록들은 상기 특정된 동작들을 수행하기 위한 수단의 조합들, 상기 특정된 동작들을 수행하기 위한 단계들의 조합들 및 상기 특정된 동작들을 수행하기 위한 프로그램 명령어 수단을 지원한다. 또한 도시된 흐름도의 각 블록 및 도시된 흐름도의 블록들의 조합은 상기 특정된 동작들 또는 단계들을 수행하는 특화된 목적의 하드웨어 기반 시스템 또는 특화된 목적의 하드웨어 및 컴퓨터 명령어의 조합으로 구현될 수 있다. 또한, 본 발명의 범주 또는 사상을 벗어나지 않고, 도시된 흐름도의 블록들 중 적어도 일부 및 도시된 흐름도의 블록들 중 일부의 조합들은 수동 메커니즘을 이용하여 구성될 수도 있다.
상기의 명세, 예시 및 자료는 본 발명의 구성의 제조 및 이용에 대한 완전한 설명을 제공한다. 본 발명의 사상과 범주를 벗어나지 않고 발명의 많은 실시예들이 만들어질 수 있으므로, 본 발명은 첨부된 청구의 범위에 존재한다.

Claims (26)

  1. 네트워크를 통하여 메시지를 처리하는데 이용되는 방법으로,
    복수의 패킷 내의 각 패킷을 복제하는 단계;
    복수의 네크워크 접속을 통하여 상기 복제된 패킷들을 목적지 장치로 전송하는 단계;
    상기 복수의 네트워크 접속 각각에 연관된 메트릭(metric)들을 수집하는 단계; 및
    상기 메트릭들이, 상기 복수의 네트워크 접속 내에서 하나의 네트워크 접속이 최적(optimal)임을 나타내는 경우, 다른 복수의 패킷을 전송하기 위해 상기 최적의 네트워크 접속을 선택하고, 상기 복수의 네트워크 접속을 통하여 상기 복제된 패킷들을 전송하는 것을 중지하는 단계
    를 포함하는 메시지 처리 방법.
  2. 제1항에 있어서,
    상기 메시지는 VOIP(Voice over Internet Protocol) 메시지인 메시지 처리 방법.
  3. 제1항에 있어서,
    상기 메시지는 오디오 메시지 또는 비디오 메시지 중 적어도 하나인 메시지 처리 방법.
  4. 제1항에 있어서,
    상기 메트릭들이, 상기 복수의 네트워크 접속 내에서 최적인 하나의 네트워크 접속이 존재하지 않음을 나타내는 경우, 다른 복수의 패킷을 전송하기 위해 디폴트 네트워크 접속을 선택하고, 상기 복수의 네트워크 접속을 통하여 상기 복제된 패킷들을 전송하는 것을 중지하는 단계
    를 더 포함하는 메시지 처리 방법.
  5. 제4항에 있어서,
    상기 복수의 네트워크 접속은 피어 네트워크 접속 및 피어-투-피어 네트워크 접속을 포함하고, 상기 디폴트 네트워크 접속은 피어-투-피어 네트워크 접속인 메시지 처리 방법.
  6. 제1항에 있어서,
    소스 장치 및 상기 소스 장치와 연관된 인터넷 서비스 제공자(ISP) 간의 네트워크 접속 또는 상기 목적지 장치 및 상기 목적지 장치에 대응되는 ISP 간의 네트워크 접속이 복제된 패킷 전달을 처리하기에 불충분한 대역폭을 갖는 것으로 판단되는 경우, 그동안의 메트릭들(historical metrics)을 기초로 상기 복수의 네트워크 접속으로부터 하나의 네트워크 접속을 선택하고, 상기 선택된 네트워크 접속 을 사용하여 상기 목적지 장치로 상기 복수의 패킷을 전송하는 단계
    를 더 포함하는 메시지 처리 방법.
  7. 제1항에 있어서,
    상기 복수의 네트워크 접속은 피어 네트워크 접속 및 피어-투-피어 네트워크 접속 중 적어도 하나를 더 포함하는 메시지 처리 방법.
  8. 제1항에 있어서,
    상기 메트릭들을 저장하는 단계
    를 더 포함하는 메시지 처리 방법.
  9. 제1항에 있어서,
    상기 방법은 모바일 장치 내에 구현되는 메시지 처리 방법.
  10. 제1항에 있어서,
    상기 방법은 IM 클라이언트 애플리케이션 내의 컴퓨터 판독 가능한 명령어(computer-readable instruction)들로 구현되는 메시지 처리 방법.
  11. 네트워크를 통하여 VOIP 메시지를 처리하는데 이용되는 방법으로,
    사전 결정된 시간 동안 복수의 네트워크 접속을 통하여 목적지 장치로 복제 된 VOIP 패킷들을 전송하는 단계;
    상기 사전 결정된 시간 동안 상기 복수의 네트워크 접속 각각에 연관된 메트릭들을 수집하는 단계; 및
    상기 메트릭들이, 상기 복수의 네트워크 연결 내에서 하나의 네트워크 연결이 최적임을 나타내는 경우, 추가적인 VOIP 패킷들을 전송하기 위해 상기 최적의 네트워크 접속을 선택하고, 상기 복수의 네트워크 접속을 통하여 복제된 VOIP 패킷들을 전송하는 것을 중지하는 단계
    를 포함하는 VOIP 메시지 처리 방법.
  12. 제11항에 있어서,
    상기 복수의 네트워크 접속은 피어 네트워크 접속 및 피어-투-피어 네트워크 접속 중 적어도 하나를 더 포함하는 VOIP 메시지 처리 방법.
  13. 네트워크를 통하여 VOIP 메시지를 처리하는데 이용되는 클라이언트 장치로서,
    다른 컴퓨팅 장치로 정보를 송수신하기 위한 송수신기(transceive);
    상기 송수신기와 통신하는 프로세서; 및
    상기 프로세서와 통신하며 상기 프로세서로 하여금
    복수의 VOIP 패킷 내의 각 VOIP 패킷을 복제하는 동작;
    복수의 네트워크 접속을 통하여 목적지 장치로 상기 복제된 VOIP 패킷 들을 공급하는 동작;
    상기 복수의 네트워크 접속 각각에 연관된 메트릭들을 수집하는 동작; 및
    상기 메트릭들이, 상기 복수의 네트워크 연결 내에서 하나의 네트워크 연결이 최적임을 나타내는 경우, 다른 복수의 VOIP 패킷을 전송하기 위해 상기 최적의 네트워크 접속을 선택하고 상기 복수의 네트워크 접속을 통하여 복제된 VOIP 패킷들을 전송하는 것을 중지하는 동작
    을 포함하는 복수의 동작을 수행하도록 하는 데이터 및 기계 명령어(machine instruction)을 저장하는데 이용되는 메모리
    를 포함하는 클라이언트 장치.
  14. 제13항에 있어서,
    상기 VOIP 메시지는 SIP(Session Initiation Protocol) 패킷, RTP(Real-time Transport Protocol) 패킷 또는 RTCP(Real-time Transport Control Protocol) 패킷 중 적어도 하나를 더 포함하는 클라이언트 장치.
  15. 제13항에 있어서,
    상기 프로세서는,
    상기 메트릭들이, 최적인 하나의 네트워크 접속이 존재하지 않음을 나타내는 경우, 다른 복수의 VOIP 패킷들을 전송하기 위해 디폴트 네트워크 접속을 선택하고, 상기 복수의 네트워크 접속을 통하여 복제된 VOIP 패킷들을 전송하는 것을 중지하는 동작
    을 더 포함하는 복수의 동작을 수행하는 클라이언트 장치.
  16. 제13항에 있어서,
    상기 프로세서는,
    소스 장치 및 상기 소스 장치와 연관된 인터넷 서비스 제공자(ISP) 간의 네트워크 접속 또는 상기 목적지 장치 및 상기 목적지 장치에 대응되는 ISP 간의 네트워크 접속이 복제된 VOIP 패킷 전달을 처리하기에 불충분한 대역폭을 갖는 것으로 판단되는 경우, 그동안의 메트릭들(historical metrics)을 기초로 상기 복수의 네트워크 접속으로부터 하나의 네트워크 접속을 선택하고, 상기 선택된 네트워크 접속을 통하여 상기 목적지 장치로 상기 복수의 패킷을 전송하는 동작
    을 더 포함하는 복수의 동작을 수행하는 클라이언트 장치.
  17. 제13항에 있어서,
    상기 복수의 네트워크 접속은 피어 네트워크 접속 및 피어-투-피어 네트워크 접속 중 적어도 하나를 더 포함하는 클라이언트 장치.
  18. 제13항에 있어서,
    상기 클라이언트 장치는 모바일 장치인 클라이언트 장치.
  19. 제13항에 있어서,
    상기 메트릭들은 서버 또는 상기 클라이언트 장치 중 적어도 하나에 그동안의 메트릭들(historical metrics)로서 저장되는 클라이언트 장치.
  20. 네트워크를 통하여 VOIP 메시지를 처리하는데 이용되는 변조된 데이터 신호로서,
    상기 변조된 데이터 신호는, 컴퓨팅 장치로 하여금
    복수의 네트워크 접속을 통하여 소스 장치로부터 목적지 장치로 복제된 VOIP 패킷들을 공급하는 동작;
    상기 소스 장치에서, 상기 복수의 네트워크 접속 각각에 연관된 메트릭들을 수집하는 동작; 및
    상기 메트릭들이, 상기 복수의 네트워크 연결 내에서 하나의 네트워크 연결이 최적임을 나타내는 경우, 상기 최적의 네트워크 접속을 통하여 상기 소스 장치로부터 추가적인 VOIP 패킷들을 전송하고, 복수의 네트워크 접속을 통하여 복제된 VOIP 패킷들을 전송하는 것을 중지하는 동작
    의 동작들을 수행할 수 있도록 하는 명령어들을 포함하는 변조된 데이터 신호.
  21. 제20항에 있어서,
    상기 메트릭들이, 상기 다른 복수의 네트워크 접속에 비하여 최적인 하나의 네트워크 접속이 존재하지 않음을 나타내는 경우, 상기 소스 장치로부터 상기 목적지 장치로 상기 다른 복수의 VOIP 패킷들을 전송하고, 복수의 네트워크 접속을 통하여 복제된 VOIP 패킷을 전송하는 것을 중지하는 동작
    을 더 포함하는 변조된 데이터 신호.
  22. 제20항에 있어서,
    상기 소스 장치 및 상기 소스 장치와 연관된 인터넷 서비스 제공자(ISP) 간의 네트워크 접속 또는 상기 목적지 장치 및 상기 목적지 장치에 대응되는 ISP 간의 네트워크 접속이 복제된 패킷 전달을 처리하기에 불충분한 대역폭을 갖는 것으로 판단되는 경우, 그동안의 메트릭들(historical metrics)을 기초로 상기 복수의 네트워크 접속으로부터 하나의 네트워크 접속을 선택하고, 상기 선택된 네트워크 접속을 통하여 상기 목적지 장치로 상기 복수의 패킷을 전송하는 동작
    를 더 포함하는 변조된 데이터 신호.
  23. 제20항에 있어서,
    상기 복수의 네트워크 접속은 피어 네트워크 접속 및 피어-투-피어 네트워크 접속 중 적어도 하나를 더 포함하는 변조된 데이터 신호.
  24. 제20항에 있어서,
    그동안의 메트릭들로 이용하기 위해 상기 메트릭들을 저장하는 동작
    을 더 포함하는 변조된 데이터 신호.
  25. 제20항에 있어서,
    상기 소스 장치 또는 상기 목적지 장치 중 적어도 하나는 모바일 장치인 변조된 데이터 신호.
  26. 네트워크를 통하여 VOIP 메시지를 처리하는 장치로서,
    상기 네트워크를 통하여 컴퓨팅 장치와 정보를 송수신하는 송수신기;
    복수의 네트워크 접속을 통하여 목적지 장치로 복제된 VOIP 패킷을 공급하기 위한 수단;
    상기 복수의 네트워크 접속 각각에 연관된 메트릭들을 수집하기 위한 수단; 및
    상기 메트릭들이, 상기 복수의 네트워크 접속 내에서 하나의 네트워크 접속이 최적임을 나타내는 경우, 상기 최적의 네트워크 접속을 통하여 추가적인 VOIP 패킷들을 전송하고, 상기 복수의 네트워크 접속을 통하여 복제된 VOIP 패킷들을 전송하는 것을 중지하는 수단
    을 포함하는 VOIP 메시지 처리 장치.
KR1020077018804A 2005-05-12 2006-05-04 실시간 오디오를 라우팅하기 위한 네트워크 선택 장치 및 방법 KR100915748B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/128,646 US20060256772A1 (en) 2005-05-12 2005-05-12 Selecting a network for routing real-time audio
US11/128,646 2005-05-12

Publications (2)

Publication Number Publication Date
KR20070099019A true KR20070099019A (ko) 2007-10-08
KR100915748B1 KR100915748B1 (ko) 2009-09-04

Family

ID=37419033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077018804A KR100915748B1 (ko) 2005-05-12 2006-05-04 실시간 오디오를 라우팅하기 위한 네트워크 선택 장치 및 방법

Country Status (4)

Country Link
US (1) US20060256772A1 (ko)
EP (1) EP1880523A4 (ko)
KR (1) KR100915748B1 (ko)
WO (1) WO2006124272A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020262927A1 (ko) * 2019-06-24 2020-12-30 인텔렉추얼디스커버리 주식회사 무선 통신 시스템에서 오디오 라우팅 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8351468B2 (en) 2004-04-05 2013-01-08 Broadcom Corporation Method and apparatus for downloading content using channel bonding
US7792034B2 (en) * 2004-10-29 2010-09-07 Broadcom Corporation Hierarchical flow-level multi-channel communication
US7760109B2 (en) 2005-03-30 2010-07-20 Memsic, Inc. Interactive surveillance network and method
US8115593B2 (en) * 2005-03-30 2012-02-14 Memsic Transducer Systems Co., Ltd. Adaptive network and method
US7313134B2 (en) * 2005-05-12 2007-12-25 Yahoo! Inc. Proxy server for relaying VOIP messages
WO2007026320A2 (en) * 2005-08-30 2007-03-08 Yoomba Ltd. Immediate communication system
US8676899B2 (en) * 2006-01-26 2014-03-18 International Business Machines Corporation Offline IM chat to avoid server connections
JP4671422B2 (ja) * 2006-01-31 2011-04-20 キヤノン株式会社 通信システム、通信装置及びそれらの表示方法
CN101079643A (zh) * 2006-05-26 2007-11-28 摩托罗拉公司 减小无线发射机中的功耗的方法和系统
WO2008005274A2 (en) * 2006-06-30 2008-01-10 Vonage Holdings Corp. Method and system for network path discrimination
US20080166994A1 (en) * 2007-01-04 2008-07-10 Bernard Ku Methods and apparatus to implement an internet multimedia sub-system (IMS) terminal
US9530117B2 (en) * 2007-02-13 2016-12-27 International Business Machines Corporation Method and apparatus for transforming user requests and responses based on a persona
US8281369B2 (en) * 2008-03-12 2012-10-02 Avaya Inc. Method and apparatus for creating secure write-enabled web pages that are associated with active telephone calls
WO2010018157A2 (en) * 2008-08-11 2010-02-18 Nokia Siemens Networks Oy System, method, program element and computer-accessible medium for forwarding media control messages
KR20100040671A (ko) * 2008-10-10 2010-04-20 톰슨 라이센싱 적어도 하나의 기준에 따라 네트워크를 선택함으로써 피어들 사이에서 데이터를 송신하는 방법, 연관된 관리 디바이스, 및 통신 장비
US20100094938A1 (en) * 2008-10-10 2010-04-15 Nicolas Le Scouarnec Method of transmitting data between peerss by selecting a network according to at least one criterion and associated management device and communication equipment
US8879464B2 (en) 2009-01-29 2014-11-04 Avaya Inc. System and method for providing a replacement packet
US9525710B2 (en) * 2009-01-29 2016-12-20 Avaya Gmbh & Co., Kg Seamless switch over from centralized to decentralized media streaming
US8238335B2 (en) * 2009-02-13 2012-08-07 Avaya Inc. Multi-route transmission of packets within a network
US7936746B2 (en) * 2009-03-18 2011-05-03 Avaya Inc. Multimedia communication session coordination across heterogeneous transport networks
US20100265834A1 (en) * 2009-04-17 2010-10-21 Avaya Inc. Variable latency jitter buffer based upon conversational dynamics
US8094556B2 (en) * 2009-04-27 2012-01-10 Avaya Inc. Dynamic buffering and synchronization of related media streams in packet networks
US8553849B2 (en) 2009-06-17 2013-10-08 Avaya Inc. Personal identification and interactive device for internet-based text and video communication services
US8800049B2 (en) * 2009-08-26 2014-08-05 Avaya Inc. Licensing and certificate distribution via secondary or divided signaling communication pathway
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US8723913B2 (en) 2010-10-07 2014-05-13 T-Mobile Usa, Inc. Rate adaptation for video calling
US9159065B2 (en) 2011-08-15 2015-10-13 Bank Of America Corporation Method and apparatus for object security session validation
US8601541B2 (en) 2011-08-15 2013-12-03 Bank Of America Corporation Method and apparatus for session validation to access mainframe resources
US8850515B2 (en) 2011-08-15 2014-09-30 Bank Of America Corporation Method and apparatus for subject recognition session validation
US8584201B2 (en) 2011-08-15 2013-11-12 Bank Of America Corporation Method and apparatus for session validation to access from uncontrolled devices
US8752157B2 (en) 2011-08-15 2014-06-10 Bank Of America Corporation Method and apparatus for third party session validation
US8726339B2 (en) * 2011-08-15 2014-05-13 Bank Of America Corporation Method and apparatus for emergency session validation
CN104067255B (zh) 2011-09-01 2016-12-28 谷歌公司 建立网络连接
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
EP3270561A1 (en) * 2016-07-14 2018-01-17 Telefonica Digital España, S.L.U. Method and system for providing lawful interception in a peer to peer communication
EP4020940A1 (en) 2017-08-28 2022-06-29 Bright Data Ltd. Content fetching by selecting tunnel devices
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
WO2020202135A2 (en) 2019-04-02 2020-10-08 Luminati Networks Ltd. System and method for managing non-direct url fetching service

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6690651B1 (en) * 1999-07-22 2004-02-10 Nortel Networks Limited Method and apparatus for automatic transfer of a call in a communications system in response to changes in quality of service
US6665291B1 (en) * 1999-09-17 2003-12-16 Ericsson Inc. Method and system for carrying data, voice and video across an internet protocol based wireless telecommunications network
EP1089517B1 (en) * 1999-10-01 2005-12-14 Nortel Networks Limited Establishing connections accross a communications network
US6958977B1 (en) * 2000-06-06 2005-10-25 Viola Networks Ltd Network packet tracking
US6567419B1 (en) * 2000-09-11 2003-05-20 Yahoo! Inc. Intelligent voice converter
US7336613B2 (en) * 2000-10-17 2008-02-26 Avaya Technology Corp. Method and apparatus for the assessment and optimization of network traffic
US6965575B2 (en) * 2000-12-29 2005-11-15 Tropos Networks Selection of routing paths based upon path quality of a wireless mesh network
US20030172160A9 (en) * 2001-01-10 2003-09-11 Widegren Ina B. Method and apparatus for coordinating end-to-end quality of service requirements for media flows in a multimedia session
US6937594B2 (en) * 2001-04-27 2005-08-30 Lucent Technologies Inc. Loop back testing for multi-protocol hybrid networks
US20020165957A1 (en) * 2001-05-02 2002-11-07 Devoe Jiva Gandhara Intelligent dynamic route selection based on active probing of network operational characteristics
US7369535B2 (en) * 2001-06-11 2008-05-06 Level 3 Communications, Llc Voice over Internet Protocol real time protocol routing
DE60210574T2 (de) * 2002-01-08 2007-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Netzwerkauswahl für eine Verbindung
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
JP2003273913A (ja) * 2002-03-18 2003-09-26 Hitachi Building Systems Co Ltd インターネットの最適経路設定方法
US7047315B1 (en) * 2002-03-19 2006-05-16 Cisco Technology, Inc. Method providing server affinity and client stickiness in a server load balancing device without TCP termination and without keeping flow states
US20030210770A1 (en) * 2002-05-10 2003-11-13 Brian Krejcarek Method and apparatus for peer-to-peer voice communication using voice recognition and proper noun identification
US7245711B2 (en) * 2002-06-24 2007-07-17 Avaya Technology Corp. Virtual interaction queuing using internet protocols
US20040032860A1 (en) * 2002-08-19 2004-02-19 Satish Mundra Quality of voice calls through voice over IP gateways
US7257105B2 (en) * 2002-10-03 2007-08-14 Cisco Technology, Inc. L2 method for a wireless station to locate and associate with a wireless network in communication with a Mobile IP agent
WO2004064373A2 (en) * 2003-01-09 2004-07-29 The Regents Of The University Of California Video encoding methods and devices
US7295549B2 (en) * 2003-02-14 2007-11-13 Ntt Docomo, Inc. Source and channel rate adaptation for VoIP
CN1535036A (zh) * 2003-04-01 2004-10-06 �ʼҷ����ֵ��ӹɷ����޹�˾ 在无线通信网络中用于点到点通信管理的方法及系统
ATE491318T1 (de) * 2003-09-16 2010-12-15 Research In Motion Ltd Verfahren und vorrichtung für die auswahl eines drahtlosen netzes basierend auf mit einer anwendung verbundenen dienstgüte-kriterien
US7447153B2 (en) * 2004-02-19 2008-11-04 Internap Network Services Corporation System and method for end to end route control
US7796520B2 (en) * 2004-09-30 2010-09-14 Avaya Canada Corp. System and methods for announcing and locating services in a distributed peer-to-peer network
US7313134B2 (en) * 2005-05-12 2007-12-25 Yahoo! Inc. Proxy server for relaying VOIP messages
US7313133B2 (en) * 2005-05-12 2007-12-25 Yahoo! Inc. Selecting a network based on metrics for real time communication
US7751316B2 (en) * 2005-05-13 2010-07-06 Yahoo! Inc. Relay Server for SIP/RTP messages with buffer management
US8107495B2 (en) * 2005-05-13 2012-01-31 Yahoo! Inc. Integrating access to audio messages and instant messaging with VOIP
US7778407B2 (en) * 2005-05-16 2010-08-17 Yahoo! Inc. Statistical approach to automatic gain control for managing audio messages over a network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020262927A1 (ko) * 2019-06-24 2020-12-30 인텔렉추얼디스커버리 주식회사 무선 통신 시스템에서 오디오 라우팅 방법, 장치, 컴퓨터 프로그램 및 그 기록 매체
US11907613B2 (en) 2019-06-24 2024-02-20 Intellectual Discovery Co., Ltd. Method, device, and computer program for audio routing in wireless communication system, and recording medium therefor

Also Published As

Publication number Publication date
EP1880523A4 (en) 2009-08-05
US20060256772A1 (en) 2006-11-16
WO2006124272A2 (en) 2006-11-23
WO2006124272A3 (en) 2007-10-04
KR100915748B1 (ko) 2009-09-04
EP1880523A2 (en) 2008-01-23

Similar Documents

Publication Publication Date Title
KR100915748B1 (ko) 실시간 오디오를 라우팅하기 위한 네트워크 선택 장치 및 방법
US7313133B2 (en) Selecting a network based on metrics for real time communication
US7751316B2 (en) Relay Server for SIP/RTP messages with buffer management
US7821953B2 (en) Dynamically selecting CODECS for managing an audio message
US7313134B2 (en) Proxy server for relaying VOIP messages
CN102859962B (zh) 在客户计算设备之间建立在线通信会话
US8705381B2 (en) Communication embodiments and low latency path selection in a multi-topology network
US20070112954A1 (en) Efficiently detecting abnormal client termination
US8155014B2 (en) Method and system using quality of service information for influencing a user's presence state
CN105122879B (zh) 用于观测辅助带宽管理的方法、系统和装置
US20050059402A1 (en) System and method for delivering private network features to a public network
KR20110030404A (ko) 통신 네트워크 통합 방법 및 통신 시스템
CN102984784B (zh) 通过多个网络发送数据
JP5241705B2 (ja) 制限された帯域上での通話管理
JP2006165879A (ja) 呼制御システム、呼制御方法および呼制御プログラム
Subramanian et al. Comparative study of M/M/1 and M/D/1 models of a SIP proxy server
JP2011055332A (ja) 通信中継システム
US20090052458A1 (en) Flow state attributes for producing media flow statistics at a network node
Kaushal et al. Modelling and simulation of an analytical approach to handle real-time traffic in VoIP network
Wardi et al. Portable and Reliable Telecommunication System on IP PBX in Wireless Mesh Network
Zulu Packet aggregation for voice over internet protocol on wireless mesh networks
CN108075941A (zh) 检测业务流量性能的方法、发送装置及系统
Kim et al. Bandwidth broker architecture for VoIP QoS
JP2005317001A (ja) プレゼンスサーバ、セッション制御サーバ、パケット中継システム
Armar et al. Performance Evaluation of VoIP Networks: Simulation-Based Study and Analysis of Key Metrics

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee