KR20110000693A - 멀티-모드 디바이스가 복수의 네트워크들을 통해 세션을 확립할 수 있게 하기 위한 방법 및 디바이스들 - Google Patents

멀티-모드 디바이스가 복수의 네트워크들을 통해 세션을 확립할 수 있게 하기 위한 방법 및 디바이스들 Download PDF

Info

Publication number
KR20110000693A
KR20110000693A KR1020107024817A KR20107024817A KR20110000693A KR 20110000693 A KR20110000693 A KR 20110000693A KR 1020107024817 A KR1020107024817 A KR 1020107024817A KR 20107024817 A KR20107024817 A KR 20107024817A KR 20110000693 A KR20110000693 A KR 20110000693A
Authority
KR
South Korea
Prior art keywords
sub
clients
session
application server
client
Prior art date
Application number
KR1020107024817A
Other languages
English (en)
Other versions
KR101167004B1 (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 KR20110000693A publication Critical patent/KR20110000693A/ko
Application granted granted Critical
Publication of KR101167004B1 publication Critical patent/KR101167004B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1063Application servers providing network services
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Abstract

방법, 디바이스 및 컴퓨터-판독가능 저장 요소는 멀티-모드 디바이스가 통신 시스템에서 복수의 네트워크들을 통해 세션을 확립할 수 있게 한다. 방법(300)은 단일 멀티-모드 디바이스의 복수의 서브-클라이언트들의 각각을 단일 어플리케이션 서버에 동시에 등록하는 단계(310)를 포함하고, 여기에서 각 서브-클라이언트는 상이한 개별적인 논리적 아이덴터티를 이용하여 상이한 네트워크를 통해 따로 등록된다. 방법은 단일 어플리케이션 서버를 이용하여 세션을 확립하도록 세션 파라미터들을 포함하는 초대를 검출하는 단계(320), 및 세션 파라미터들에 기초하여 초대를 처리할 서브-클라이언트들 중 적어도 하나를 선택하여 선택된 서브-클라이언트들에 대응하는 네트워크들을 통해 세션을 확립하는 단계(330)를 더 포함한다.

Description

멀티-모드 디바이스가 복수의 네트워크들을 통해 세션을 확립할 수 있게 하기 위한 방법 및 디바이스들{METHOD AND DEVICES FOR ENABLING A MULTI-MODE DEVICE TO ESTABLISH A SESSION THROUGH MULTIPLE NETWORKS}
본 개시는 일반적으로는 멀티-모드 디바이스들에 관한 것으로, 특히 멀티-모드 디바이스들이 통신 시스템에서 복수의 네트워크들을 통해 세션을 확립할 수 있게 하는 것에 관한 것이다.
최근, 상이한 타입들의 통신 관련 컨텐트, 예를 들면 음성, 데이터, 비디오를 송신하는데 다양한 타입들의 통신 네트워크들이 개발되었다. 현재, 일부 통신 시스템들은 네트워크가 특정 컨텐트 스트림에 대해 최적화될 수 없음에도 불구하고 상이한 타입들의 통신 관련 컨텐트를 스트리밍하는데 단지 하나의 단일 네트워크만을 이용한다.
다양한 다른 통신 시스템들은 하나의 단일 사용자에 의한 복수의 디바이스들의 이용을 채용하고, 여기에서 각 디바이스는 상이한 통신 네트워크에 액세스할 수 있다. 이들 디바이스들은 서비스 및/또는 통신 관련 컨텐트를 수신하는데 일부 트랜스포트 레이어 프로토콜을 통해 서로 통신하도록 구성된다. 그러나, 이러한 타입의 통신 시스템의 단점은, 사용자가 상이한 네트워크들에 액세스하기 위해 복수의 디바이스들을 구입하여 가지고 다니는 것을 요구한다는 점이고, 이는 비용이 많이 들고 귀찮을 수 있다.
또한 알려져 있는 것은, 사용자가 복수의 네트워크들을 통해 통신할 수 있는 하나의 단일 디바이스를 가지고 다니도록 허용하는 멀티-모드 디바이스의 이용이다. 그러나, 그러한 디바이스는 단일 논리적 및 물리적 실체로서 특정 어플리케이션 서버에 한번에 등록하지만, 복수의 네트워크들 각각에서 상이한 컨택트 어드레스들을 가지고 있다. 그러한 등록은 어플리케이션 서버에 액세스할 때 멀티-모드 디바이스의 유연성 및 제어를 감소시킨다. 표준 서버의 기능은 주지된 멀티-모드 디바이스들이 어플리케이션 서버와 복수의 상이한 네트워크 접속들을 가지는 것을 통해 달성할 수 있는 잇점들을 제한시키므로, 그러한 등록은 또한 어플리케이션 서버에서의 추가적인 기능을 필요로 한다. 또한, 일부 주지된 멀티-모드 디바이스들은 멀티-네트워크 스위칭을 수행하는데 특별한 멀티-네트워킹 지원 프로토콜(예를 들면, 스트림 제어 트랜스포트 프로토콜(SCTP))을 필요로 한다. 모든 참여자들(어플리케이션 서버들을 포함함)은 그들의 존재하는 프로토콜 스택의 최상부 상에서 이러한 추가적인 SCTP 프로토콜을 지원해야 한다. 이러한 추가적인 프로토콜의 이용은 멀티-모드 디바이스들 및 전체 통신 시스템의 복잡도 및 비용을 증가시키면서도 전체 성능을 감소시키는 추가적인 오버헤드를 유발한다.
그러므로, 과거 및 현재의 통신 디바이스들 및 기술들의 단점들의 적어도 일부를 어드레싱하는, 통신 시스템에서 복수의 네트워크들을 통해 세션을 확립하는 방법, 멀티-모드 디바이스 및 컴퓨터-판독가능 저장 요소에 대한 필요성이 존재한다.
이하의 상세한 설명과 함께, 동일한 참조번호들은 분리된 도면들 전체에 걸쳐 동일하거나 기능적으로 유사한 구성요소들을 지칭하는 첨부된 도면들은 명세서에 포함되고 그 일부를 형성하며, 청구된 발명을 포함하는 개념들의 실시예들을 더 예시하고 이들 실시예들의 다양한 원리들 및 장점들을 설명하도록 서브한다.
도 1은 일부 실시예들에 따른 통신 시스템의 블록도이다.
도 2는 일부 실시예들에 따른 멀티-모드 디바이스의 블록도이다.
도 3은 일부 실시예들에 따른 방법의 흐름도이다.
도 4는 일부 실시예들에 따른 신호 흐름도이다.
도 5는 일부 실시예들에 따른 신호 흐름도이다.
도 6은 일부 실시예들에 따른 신호 흐름도이다.
도 7은 일부 실시예들에 따른 신호 흐름도이다.
숙련자들이라면 도면들의 구성요소들이 단순성 및 명백성을 위해 예시되어 있고 반드시 스케일링되도록 그려질 필요가 없다는 것을 잘 알고 있을 것이다. 예를 들면, 도면들의 일부 구성요소들의 치수들은 다른 구성요소들에 비해 과장되어 본 발명의 실시예들의 이해를 개선하는데 도움을 준다. 뿐만 아니라, 상세한 설명 및 도면들은 예시된 순서를 반드시 요구하는 것은 아니다.
장치들 및 방법 컴포넌트들은 적절한 곳에 도면들에서 종래의 심볼들에 의해 표현되어 있고, 본 상세한 설명의 잇점을 가지는 본 기술분야의 통상의 기술자들에게 용이하게 명백한 세부사항들로 본 개시를 모호하게 하지 않도록 하기 위해 다양한 실시예들을 이해하는 것에 관련된 일부 특정 세부사항들만을 도시하고 있다. 그러므로, 예시의 단순성 및 명료성을 위해, 상용으로 실시가능한 실시예에 유용하거나 필요한 공통되고 주지된 구성요소들은 이들 다양한 실시예들의 덜 차단된 뷰를 용이하게 하도록 하기 위해 도시되지 않을 수 있다는 것을 이해할 것이다.
일반적으로 말하면, 다양한 실시예들에 따르면, 방법, 디바이스 및 컴퓨터 판독가능 저장 요소는 멀티-모드 디바이스가 통신 시스템에서 복수의 네트워크들을 통해 세션을 확립할 수 있게 한다. 방법은 단일 멀티-모드 디바이스의 복수의 서브-클라이언트들 각각을 단일 어플리케이션 서버에 등록하는 단계를 포함하고, 여기에서 각 서브-클라이언트는 상이한 네트워크를 통해 개별적인 논리적 아이덴터티를 이용하여 서버에 동시에 등록된다. 방법은 단일 어플리케이션 서버를 이용하여 세션을 확립하도록 세션 파라미터들을 포함한 초대(invitation)를 검출하는 단계, 및 세션 파라미터들에 기초하여 초대를 처리할 서브-클라이언트들 중 적어도 하나를 선택하여 선택된 서브-클라이언트들에 대응하는 네트워크들을 통해 세션을 확립하는 단계를 더 포함한다. 다양한 실시예들의 장점들은, 실시예들을 구현하는데 표준 세션 개시 프로토콜의 이용; 디바이스들 및 통신 시스템의 복잡도 및 비용을 감소시키는 멀티-모드 디바이스 또는 어플리케이션 서버에 추가적인 특별한 프로토콜의 이용이 전혀 요구되지 않음; 및 컨텐트 전달을 위해 복수의 네트워크들의 멀티-모드 디바이스의 활용에 있어서의 유연성의 증가를 포함한다. 본 기술분야의 숙련자들이라면, 상기 인식된 장점들 및 여기에 개시된 다른 장점들은 단지 예시적인 것에 불과하고 다양한 실시예들의 모든 장점들의 완전한 표현은 아니라는 것을 의미한다는 것을 잘 알고 있을 것이다.
이제, 도면들을 참조하면, 도 1은 일부 실시예들에 따른 통신 시스템(100)의 블록도이다. 통신 시스템(100)은 멀티-모드 디바이스(110), 복수의 네트워크들(120, 130, 140) 및 어플리케이션 서버(150)를 포함한다. 멀티-모드 디바이스(110)는 복수의 네트워크들(120, 130, 140)을 동시에 모니터링하고 접속할 수 있다. 복수의 네트워크들(120, 130, 140)은 모바일 통신을 위한 글로벌 시스템(GSM), 일반 패킷 무선 서비스(GPRS), GSM 에볼루션에 대한 인핸스드 데이터 레이트들(EDGE), 통합 디지털 인핸스드 네트워크(iDEN)와 같은 제2세대(2G) 네트워크들; 범용 모바일 통신 시스템(UMTS), 고속 데이터 액세스(HSPA), 코드 분할 다중 액세스(CDMA), 광대역 CDMA(W-CDMA)와 같은 제3세대(3G) 네트워크들; 및 마이크로파 액세스를 위한 월드와이드 상호운용성(WiMAX)과 같은 제4세대(4G) 네트워크들을 포함하지만 이들로 제한되지 않는다. 네트워크들(120, 130, 140)은 동종(homogeneous), 즉 모두 동일한 종류의 네트워크들이거나 이종(heterogeneous), 즉 네트워크들 중 적어도 2개가 상이한 종류의 네트워크들일 수 있다. 2개의 이종 네트워크들 간의 차이들은 예를 들면, 네트워크들이 상이한 무선 액세스 기술들을 이용하는 상이한 종류의 무선 액세스 네트워크들(예를 들면, GSM 대 UMTS)이고; 네트워크들이 상이한 무선 인터페이스 프로토콜들을 이용하며; 네트워크들이 상이한 네트워크 토폴리지들을 가지고 있고 예를 들면 하나의 네트워크는 인터넷 프로토콜(IP) 멀티미디어 서브시스템(IMS) 프레임워크를 가지고 있는데 반해 또 하나의 네트워크는 예를 들면 비-IMS 기반일 수 있다는 것을 포함할 수 있다.
더구나, 일부 실시예들에 따르면, 통신 시스템(100)은 2.5G 또는 3G 네트워크를 기반으로 한 푸시-투-토크(PTT)의 버전들, 및 디바이스 상에서 운용되는 어플리케이션에 서비스들을 제공하도록 개방 시스템 상호접속(OSI) 통신 모델의 어플리케이션 레이어에서 동작하는 "어플리케이션-레이어 프로토콜"을 이용하여 구현될 수 있다. PTT와 함께 이용될 수 있는 어플리케이션-레이어 프로토콜들의 예들은 하나 이상의 디바이스들과의 세션들을 생성하고, 변형하며 종료하기 위한, IETF(Internet Engineering Task Force) RFC(Request for Comments) 3261(Rosenberg 등, 2002, 이전 및 후속 리비젼들을 포함함)에 지정된 세션 개시 프로토콜(SIP), 및 IETF RFC 3550, 3551 및 3711(각각, Schulzrinne, 등 2003년 7월, Schulzrinne 등, 2003년 7월, 및 Baugher, 등, 2004년 3월, 각 RFC는 이전 및 후속 리비젼들을 포함함)에 지정된 실시간 트랜스포트 프로토콜(RTP)이다. PTT는 단순한 파일 전달들, 인터넷 전화기 호들, 멀티미디어 배포, 및 멀티미디어 컨퍼런스들을 포함하는 2-파티(party), 멀티파티(그룹), 또는 멀티캐스트 세션들을 생성하는데 이용될 수 있다. PTT의 하나의 특정 버전은 셀룰러를 통한 푸시 투 토크(Push to Talk over Cellular)로 지칭되고, 이는 PoC로 약칭된다. PoC의 하나의 그러한 예는 이전 및 후속 리비젼들을 포함하여, 오픈 미디어 얼라이언스(Open Media Alliance)에 의해 발표되고 그 제목이 "Push to talk over Celluar 2"(Candidate Version 2.0 - October 2, 2007)인 문헌에 기재되어 있다.
멀티-모드 디바이스(110)는 복수의 서브-클라이언트들(112, 114, 116) 및 슈퍼 클라이언트(118)를 포함하는 하나의 단일 물리적 하우징을 포함한다. 하나의 실시예에 따르면, 서브-클라이언트들(112, 114 및 116)의 각각은 멀티-모드 디바이스(110) 내의 상이한 하드웨어 모듈(예를 들면, 모뎀 및/또는 트랜시버)과 연관된다. 또 하나의 실시예에서, 각 서브-클라이언트들(112, 114 및 116)은 멀티-모드 디바이스(110)내에서 상이한 소프트웨어 모듈(예를 들면, 소프트웨어 정의가능한 무선에서와 같음)로서 표현된다. 서브-클라이언트들(112, 114 및 116)의 기능들은 슈퍼 클라이언트(118)에 의해 제어되고 조정된다. 예를 들면, 슈퍼 클라이언트(118)는 도 3-7을 참조하여 이하에 상세하게 설명된 바와 같이, 멀티-모드 디바이스가 복수의 네트워크들(120, 130 및 140)을 통해 통신 세션들(예를 들면, 컨텐트 전달에 대함)을 확립할 수 있게 한다. 이것을 수행하는 경우에, 슈퍼 클라이언트(118)는 멀티-모드 디바이스(110)의 사용자에게 서브-클라이언트들(112, 114 및 116)을 하나의 단일 실체로서 표현한다. 그러나, 복수의 네트워크들의 멀티-모드 디바이스의 이용에 있어서의 더 큰 유연성을 가능하게 하는 본원에 개시된 실시예들의 양태는, 이하에 상세하게 설명되는 바와 같이, 서브-클라이언트들(112, 114 및 116)의 각각이 상이한 디바이스로서 어플리케이션 서버(150)에 등록된다(따라서, 서버에게 보인다)는 점이다. 멀티-모드 디바이스(110)가 3개의 서브-클라이언트들(112, 114, 116)을 도시하고 있지만, 본 기술분야의 통상의 기술자에게는, 임의의 개수의 서브-클라이언트들이 멀티-모드 디바이스에 포함될 수도 있다는 점을 잘 알고 있을 것이다.
어플리케이션 서버(150)는 주지된 프로토콜들을 이용하고 어떠한 향상된 기능도 가지지 않는 것을 포함하여, 임의의 적합한 어플리케이션 서버일 수 있다. 어플리케이션 서버(150)는 멀티-모드 디바이스(110)에 대한 세션의 유지보수 및 관리를 제어한다. 더구나, 하나의 예시적 구현에서, 어플리케이션 서버(150)는 멀티-모드 디바이스(110)와 하나 이상의 다른 디바이스들 간의 세션의 유지보수 및 관리를 제어하고, 하나의 그러한 다른 디바이스는 도 1에서 디바이스(160)로서 예시되어 있다.
각 서브-클라이언트들(112, 114, 116)은 임의의 주어진 시간 프레임 동안에 복수의 네트워크들(120, 130 및 140) 중 상이한 하나를 통해 어플리케이션 서버(150)에 등록한다. 따라서, 서브-클라이언트들 중 임의의 하나, 임의의 조합 또는 모두는 임의의 주어진 시간 프레임 동안에 어플리케이션 서버에 동시에 등록될 수 있다. 그러나, 복수의 서브-클라이언트들이 동시에 서버에 등록되는 경우에, 이들은 상이한 네트워크를 통해 등록된다. 하나의 예에서, 도 1에 도시된 바와 같이, 서브-클라이언트(112)는 음성 스트리밍(122)을 지원할 수 있는 네트워크(120)를 통해 어플리케이션 서버(150)에 등록된다(점선으로 표시된 바와 같음). 서브-클라이언트(114)는 비디오 스트리밍(132)을 지원할 수 있는 네트워크(130)를 통해 어플리케이션 서버(150)에 등록되고, 서브-클라이언트(116)는 파일 전달들(142)을 지원할 수 있는 네트워크(140)를 통해 어플리케이션 서버(150)에 등록된다.
각 서브-클라이언트(112, 114, 116)는 네트워크들(120, 130, 140)과 같은 상이한 네트워크를 통해 개별적인 논리적 아이덴터티를 이용하여 어플리케이션 서버(150)에 동시에 등록된다. 통상적으로, 그러나 반드시는 아니지만, 상이한 개별적인 논리적 아이덴터티가 각 서브-클라이언트들에 대해 이용된다. 개별적인 논리적 아이덴터티는 예를 들면, 네트워크들(120, 130, 140) 및 어플리케이션 서버(150, 예를 들면, SIP IP 코어 네트워크에 대한 SIP URI 메시징)에 의해 인식가능한 개별적인 일정한 리소스 식별자(iURI)일 수 있다. 일부 실시예들에 따르면, 서브-클라이언트(112, 114, 또는 116)는 그 개별적인 논리적 아이덴터티를 어플리케이션 서버(150)에 등록하여, 특정 네트워크 상의 물리적 컨택트 어드레스를 이용하여 네트워크들(120, 130 및 140)의 특정 네트워크와 연관되게 된다. 그러므로, 각 서브-클라이언트들(112, 114 및 116)은 상이한 개별적인 논리적 아이덴터티들을 이용하여 등록할 수 있고, 따라서 서브-클라이언트와 개별적인 논리적 아이덴터티 간의 1:1 매핑을 제공하며, 그럼으로써 어플리케이션 서버에게 상이한 디바이스들로 보인다. 일부 실시예들에 따르면, 서브-클라이언트들(112, 114 및 116)의 개별적인 논리적 아이덴터티들은 어플리케이션 서버(150)에서 사전-구성된다. 또한, 각 서브-클라이언트(112, 114 및 116)의 개별적인 논리적 아이덴터티는 그 대응하는 네트워크로 사전-구성될 수 있다.
또 하나의 구현에서, 서브-클라이언트들의 적어도 하나는 또한(또는 대안으로) 본원에서 공유된 논리적 아이덴터티로 지칭되는 공공 아이덴터티를 이용하여 어플리케이션 서버에 등록한다. 서버가 일부 기능(예를 들면, 부분 200 OK 메시지(Partial 200 OK message)의 처리)을 지원하는 경우에, 모든 서브-클라이언트들은 복수의 서브-클라이언트들에게 공통인 동일한 공공 아이덴터티를 이용하여 어플리케이션 서버에 등록한다. 결과적으로, 멀티-모드 디바이스(110)의 공공 아이덴터티는 수 개의 서브-클라이언트들 및 그들 개별적인 논리적 아이덴터티들과 연관된다. 공공 아이덴터티는 공유된 일정한 리소스 식별자(sURI)일 수 있다.
본원에 이용된 바와 같이, "동시에" 등록하는 또는 등록되고 있는 서브-클라이언트들은, 어떤 주어진 시간 프레임 동안에, 복수의 서브-클라이언트들이 네트워크를 통해 어플리케이션 서버와 액티브 등록을 동시에 가짐으로써 어플리케이션 서버가 서브-클라이언트들과 통신 세션을 확립할 수 있게 한다는 것을 의미한다. "동시에" 등록하는 것은 등록 프로세스가 복수의 서브-클라이언트들에 대해 동시에 수행된다는 것을 반드시 의미하는 것은 아니고, 이것은 본원의 사상으로부터 제외되는 것은 아니다. 더구나, 액티브 등록은 서브-클라이언트와 서버 사이에 통신 세션이 확립되었는지 여부와 무관하다. 그러나, 액티브 등록은 서브-클라이언트들(112, 114 및 116)의 적어도 하나가 네트워크들(120, 130 및 140) 중 하나를 통해 어플리케이션 서버(150)에 등록하는 것을 요구한다. 등록 절차는 예를 들면, SIP IP 코어 네트워크에 대한 세션 개시 프로토콜(SIP) 등록 절차 또는 IMS 기반 IP 코어 네트워크에 대한 IMS 등록 프로토콜에 기초할 수 있다.
도 2는 일부 실시예들에 따른 멀티-모드 디바이스(110)의 블록도(200)이다. 멀티-모드 디바이스(110)는 프로세서(또는 처리 디바이스, 202), 슈퍼 클라이언트(204), 복수의 서브-클라이언트들(206, 208, 210), 각각이 안테나들(218, 219, 220)에 부착된 복수의 트랜시버들(212, 214, 216), 프로그램 메모리(222), 및 버퍼 메모리(224)를 포함한다. 도시되지는 않았지만, 멀티-모드 디바이스(110)는 안테나 스위치, 듀플렉서, 서큘레이터(circulator), 또는 트랜시버(212, 214, 216)의 송신기 회로로부터 안테나(218, 219, 220)까지 및 안테나(218, 219, 220)로부터 트랜시버(212, 214, 216)의 수신기 회로까지의 세션과 연관된 정보 스트림들을 제공하기 위한 다른 고도의 분리성(isolative) 수단을 포함할 수 있다. 멀티-모드 디바이스(110)는 도 2에 도시된 적어도 모든 구성요소들뿐만 아니라, 멀티-모드 디바이스(110)가 특정 전자 기능을 수행하는데 필요한 임의의 다른 구성요소들도 포함하는 집적 유닛이다. 대안으로, 멀티-모드 디바이스(110)는 동일한 물리적 유닛(110) 내에 하우징된 적절하게 상호접속된 유닛들 또는 디바이스들의 집합을 포함할 수 있고, 여기에서 그러한 유닛들 또는 디바이스들은 멀티-모드 디바이스(110)의 상기 언급된 구성요소들에 의해 수행되는 기능들에 등가인 기능들을 수행한다. 멀티-모드 디바이스(110)는 셀룰러, 모바일, 및 무선 전화기들; PC들(퍼스널 컴퓨터들), 랩탑들, 노트북들, 및 무선 모뎀을 구비하는 착용가능한 컴퓨터들, 무선 모뎀들을 가지는 PDA들(개인휴대단말기들); 및 페이저들을 포함하지만 이들로 제한되지 않는 임의의 타입의 무선 통신 디바이스일 수 있다.
프로세서(202)는 하나 이상의 마이크로프로세서들, 마이크로컨트롤러들, DSP들(디지털 신호 처리기들), 상태 머신들, 논리 회로, 또는 동작 또는 프로그래밍 명령들에 기초하여 정보를 처리하는 임의의 다른 디바이스 또는 디바이스들을 포함한다. 그러한 동작 또는 프로그래밍 명령들은 프로그램 메모리(222)에 저장된다. 프로그램 메모리(222)는 RAM(랜덤-액세스 메모리) 또는 ROM(판독-전용 메모리)의 임의의 형태를 포함하는 IC(집적 회로) 메모리 칩, 플로피 디스크, CD-ROM(컴팩트 디스크 판독-전용 메모리), 하드 디스크 드라이브, DVD(디지털 비디오 디스크), 플래시 메모리 카드, 외부 가입자 아이덴터티 모듈(SIM) 카드 또는 디지털 정보를 저장하기 위한 임의의 다른 매체일 수 있다. 본 기술분야의 통상의 기술자라면, 프로세서(202)가 상태 머신 또는 논리 회로에 의해 수행되는 그 기능들 중 하나 이상을 가지고 있는 경우, 대응하는 동작 명령들을 포함하는 프로그램 메모리(222)는 상태 머신 또는 논리 회로에 내장될 수 있다는 것을 잘 알고 있을 것이다.
슈퍼 클라이언트(204)는 멀티-모드 디바이스(110)가 통신 시스템(100)에서 복수의 네트워크들(120, 130, 140)을 통해 세션을 확립할 수 있게 한다. 특히, 슈퍼 클라이언트(204)는 서브-클라이언트들(206, 208, 210) 중 하나 이상의 어플리케이션 서버(150)로의 등록, 및 등록된 서브-클라이언트들(206, 208, 210)의 적어도 하나와 어플리케이션 서버(150) 간의 세션의 확립을 제어하고 조정한다. 슈퍼 클라이언트(204)는 또한 세션에 대한 초대를 수락하거나 전송하도록 서브-클라이언트들(206, 208, 210) 중 적어도 하나를 선택한다. 초대는 트랜시버들(212, 214, 216) 중 하나를 통해 어플리케이션 서버(150)로부터 수신되거나 이에 전송되며, 세션에 대한 세션 파라미터들을 포함한다. 세션 파라미터들의 예들은 호출하는 파티(calling party), 세션 내의 미디어 스트림들의 개수, 각 미디어 스트림에 대한 미디어 타입, 및 각 미디어 스트림에 대해 예를 들면 대역폭, 비트 레이트, 코덱 등과 같은 특정 파라미터들을 포함하지만 이들로 제한되지 않는다.
그리고나서, 선택된 서브-클라이언트들은 대응하는 복수의 네트워크들을 통해 어플리케이션 서버(150)와 세션을 확립한다. 멀티-모드 디바이스(110)가 멀티-모드 디바이스(110)의 상이한 서브-클라이언트들을 통해 액세스가능한 상이한 네트워크들을 통해 동일한 세션에 참여할 수 있으므로, 동일한 세션의 상이한 미디어 스트림들은 상이한 네트워크들(120, 130, 140)을 통해 동시에 멀티-모드 디바이스(110)에게 전달될 수 있다. 미디어 스트림들의 예들은 음성, 비디오, 이미지, 및 텍스트를 포함하지만 이들로 제한되지 않는다. 하나의 예에서, 슈퍼 클라이언트(204)의 기능들은 프로세서(202)와 같은 프로세서에서 구현되거나, 관례적으로 디자인된 하드웨어, 또는 소프트웨어 및 하드웨어의 조합으로 구현될 수 있다.
트랜시버들(212, 214, 216)은 멀티-모드 디바이스(110)가 상이한 네트워크들(120, 130, 140)을 동시에 모니터링하고 접속할 수 있게 하는 복수의 주파수 대역들에서 동작할 수 있다. 하나의 예에서, 트랜시버들(212, 214, 216)은 셀룰러 무선 인터페이스(예를 들면, GSM(모바일 통신을 위한 글로벌 시스템), CDMA(코드 분할 다중 액세스), WCDMA(와이드-대역 CDMA), UMTS(범용 모바일 통신 시스템), 등), 애드혹 네트워킹 무선 인터페이스(예를 들면, 블루투스, 802.11 WLAN(무선 로컬 영역 네트워크), 802.16 WiMax, 등), 등을 통해 동작하도록 설계된다. 하나의 예에서, 각 서브-클라이언트(206, 208, 210)는 트랜시버들(212, 214, 216) 중 적어도 하나에 결합되고, 그럼으로써 서브-클라이언트들(206, 208, 210)이 복수의 네트워크들(120, 130, 140)을 통해 어플리케이션 서버(150)에 등록할 수 있게 한다. 하나의 예에서, 서브-클라이언트들(206, 208, 210)은 트랜시버들(212, 214, 216)의 일부로서 구현될 수도 있다.
트랜시버들(212, 214, 216)의 구현들은 멀티-모드 디바이스(110)의 구현에 좌우된다. 예를 들면, 트랜시버들(212, 214, 216)은 적절한 무선 모뎀, 또는 양방향 무선 통신 디바이스들의 종래의 송신 및 수신 컴포넌트들로서 구현될 수 있다. 트랜시버들(212, 214, 216)이 무선 모뎀으로서 구현되는 경우에, 모뎀은 멀티-모드 디바이스(110) 내부에 있거나 멀티-모드 디바이스(110)내로 삽입가능할 수 있다(예를 들면, 퍼스널 컴퓨터 메모리 카드 국제 연합(PCMCIA) 카드 상에 구현되는 와이어리스(wireless) 무선 주파수(RF) 모뎀으로 실시됨). 무선 통신 디바이스에 대해, 트랜시버들은 주지된 기술들에 따라 무선 디바이스 하드웨어 및 소프트웨어 아키텍쳐의 일부로서 구현될 수 있다. 트랜시버들의 기능들의 전체는 아니더라도 대부분은 프로세서(202)와 같은 프로세서에서 구현될 수 있다. 그러나, 프로세서(202) 및 트랜시버들(212, 214, 216)은 더 나은 이해를 위해 본원에서 인위적으로 분할되었다.
더구나, 안테나들(218, 219, 220)은 무선 캐리어 주파수들을 포함하는 주파수 범위에서 전자기 에너지를 방사하고 수신하기 위한 임의의 주지되거나 개발된 구조를 포함한다. 버퍼 메모리(224)는 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리의 임의의 형태일 수 있고 일부 실시예들에 따라 수신된 정보 스트림들을 일시적으로 저장하는데 이용된다.
도 2는 멀티-모드 디바이스의 하나의 특정 실시예를 예시하고 있다. 그러나, 본 사상들의 범주 내에서 멀티-모드 디바이스들의 다른 실시예들이 예상된다. 예를 들면, 또 하나의 실시예에서, 멀티-모드 디바이스는 복수의 트랜시버들 및 안테나들에 대한 필요성을 제거한 소프트웨어 정의된 라디오를 포함한다. 소프트웨어 정의된 라디오는 서브-클라이언트들(206, 208, 210)을 복수의 네트워크들(120, 130, 140)에게 동시에 접속하는 하나의 단일 트랜시버 및 안테나를 포함할 수 있다.
특히, 복수의 통신 구성들은 멀티-모드 디바이스에 저장된다. 일반적으로는 단지 하나의 구성만이 특정 시간에 액티브한 상태이지만, 단일 하드웨어 디바이스는 핸드세이킹(handshaking), 휴면 모드들, 에러 허용한도 특성들, 또는 선택된 프로토콜들의 다른 특징들을 이용하여 복수의 접속들 또는 채널들을 동시에 유지할 수 있고, 모든 접속들을 액티브하게 유지하기에 충분한 레이트로 동시에 유지된 접속들과 연관된 구성들 사이에서 스위칭할 수 있다. 이와 같이, 단일 하드웨어 디바이스를 이용하는 어플리케이션들은 그에 대한 완전한 제어 - 현대의 오퍼레이팅 시스템들에서 전형적인 것과 같이 정보 또는 경로들에 대한 것뿐만 아니라, 디바이스의 구성된 속성들에 대해서도 - 를 가지고 있는 것처럼 작동할 수 있다. 스케줄링 알고리즘은 일반적으로 주어진 시간에 구성들 중 어느 것이 액티브한 지를 제어한다.
멀티-모드 디바이스의 이러한 실시예는 디바이스 상에 저장된 복수의 통신 구성들을 지원할 수 있는 트랜시버 및 안테나를 포함하는 하드웨어 주변장치를 포함하고, 여기에서 통신 구성은 주변장치가 주어진 통신 프로토콜을 이용하여 주어진 네트워크 상에서 통신하도록 프로그래밍하는데 요구되는 소프트웨어 어플리케이션들 및 데이터를 특징으로 한다. 구성 데이터는 예를 들면 변조, 레이트, 송신 전력, 채널, 필터 요구조건들, 등에 관련된 데이터를 포함할 수 있다. 통신 구성들은 주변장치와, 멀티-모드 디바이스 상에 저장되고 다양한 통신 구성들을 지원하는 어플리케이션들 사이에 결합되는 논리적 정보 또는 데이터 경로들을 더 포함한다(예를 들면, 주변장치 내에). 하나의 실시예에서, 예를 들면, 각 데이터 경로 및 대응하는 어플리케이션은 예를 들면 프로세서(202)를 이용하여 멀티-모드 디바이스로부터 송신되고 멀티-모드 디바이스에 수신된 정보를 처리하기 위한 공지된 오픈 시스템들 상호접속(OSI) 모델에 따라 프로토콜의 스택의 하나 이상의 레이어들로 구현된다. 다른 실시예들에서, 각 대응하는 어플리케이션 및 데이터 경로는 매체 액세스 제어(MAC) 엔진(예를 들면, 공지된 802.11 WLAN 프로토콜에 따름), 드라이버, 사용자 어플리케이션, 또는 주변장치를 활용할 수 있는 임의의 다른 개체를 포함할 수 있다.
주변장치는 임의의 시간에 어느 통신 구성이 액티브한지를 선택하고 필요에 따라 하나의 구성으로부터 다른 하나로의 하드웨어의 스위칭을 아비트레이팅(arbitrate)하는 구성 컨트롤러를 더 포함한다. 하나의 실시예에서, 구성 컨트롤러는 본원에서 "컨트롤러"로 지칭되는 하드웨어 부분, 및 본원에서 "스케줄러"로 지칭되는 소프트웨어 부분을 포함한다. 컨트롤러는 소정 또는 사전배열된 시간 프레임 동안에 멀티-모드 디바이스를 구성하기 위해 주어진 구성 블록을 물리적으로 선택하거나 이것으로 스위칭하며, 선택된 구성 블록과 연관된 대응하는 데이터 경로를 물리적으로 추가 선택하거나 이것으로 스위칭한다. 스케줄러는 컨트롤러가 미리배열된 시간들에서 일부 통신 구성들 및 데이터 경로들을 선택하도록 프로그래밍한다. 이러한 배열은 스케줄러가 각 네트워크들로의 복수의 접속들을 관리할 수 있도록 허용하고, 멀티-모드 디바이스가 단지 일부 시간 동안 각 접속 상에 존재한 상태에서 이들 접속들이 동시에 유지될 수 있게 한다. 스케줄러는 주변 장치가 실시간으로 네트워크들을 통해 정보를 송수신하도록 동작하는 동안에 어플리케이션들이 비동기적으로 그들 기능들을 수행할 수 있도록 어플리케이션들과 주변장치 사이의 인터페이스가 됨으로써 복수의 통신 구성들을 서비스하는 단일 하드웨어 추상화(abstraction) 레이어(HAL)를 포함한다고 말해질 수 있다.
그 기능을 인에이블시키는 경우, 스케줄러는 일반적으로 각 접속 상의 디바이스 존재가 요구되거나 선택적인 시간들(예를 들면, 시간 프레임들)을 배열하고 해석하기 위해 네트워크들 상에 이용되고 있는 프로토콜들을 일부 알고 있다. 그러므로, 스케줄러는 접속들과 연관된 프로토콜들의 하나 이상의 파라미터들의 지식을 이용하여, 멀티-모드 디바이스에 대한 구성 스케줄링을 가지는 컨트롤러를 결정하고 프로그래밍한다. 스케줄링은 임의의 적합한 스케줄링 알고리즘을 이용하여 결정될 수 있다.
도 3은 일부 실시예들에 따른 방법(300)의 흐름도이다. 방법(300)은 멀티-모드 디바이스(110)와 같은 멀티-모드 디바이스가 통신 시스템에서 복수의 네트워크들을 통해 세션을 확립할 수 있게 한다. 방법은 단일 멀티-모드 디바이스의 복수의 서브-클라이언트들 각각을, 어플리케이션 서버(150)와 같은 단일 어플리케이션 서버에 등록하는 단계(310)를 포함하고, 여기에서 각 서브-클라이언트는 상이한 네트워크를 통해 개별적인 논리적 아이덴터티를 이용하여 동시에 등록된다. 방법(300)은 단일 어플리케이션 서버를 이용하여 세션을 확립하도록 세션 파라미터들을 포함하는 초대를 검출하는 단계(320), 및 세션 파라미터들에 기초하여 초대를 처리할 복수의 서브-클라이언트들 중 적어도 하나를 선택하여 선택된 서브-클라이언트들에 대응하는 네트워크들을 통해 세션을 확립하는 단계(330)를 더 포함한다. 초대를 검출하는 단계는 멀티-모드 디바이스가 초대를 서버 또는 또 하나의 디바이스에게 전송하도록 서브-클라이언트들 중 일부에게 지시하기 때문이거나, 서브-클라이언트들이 서버 또는 또 하나의 디바이스로부터 초대를 수신하기 때문일 수 있다. 초대가 처리되는 방식은 초대가 멀티-모드 디바이스에 의해 전송되거나 수신되고 있는지 여부에 좌우된다. 방법(300)의 상세한 예시적 구현들은 도 4 내지 7을 참조하여 이하에 설명된다.
이제, 도 4를 참조하면, 일부 실시예들에 따라 시스템(100)의 동작을 예시하는 호 흐름도(400)가 도시되어 있다. 일반적으로 말하면, 호 플로우(400)는 세션을 확립하고, 이어서 다양한 복수의 네트워크들을 통한 미디어 스트리밍으로 결론적으로 나타나는 단계에 대한 특정 예시적 접근법이다. 더구나, 각 흐름도 내의 시그널링의 순서는 특별히 표시하지 않는 한 시그널링의 순서 및 타이밍을 반드시 지시하는 것은 아니다.
본 구현에서, 도 4에 도시되어 있는 것은 슈퍼 클라이언트(404), 서브-클라이언트(406), 및 서브-클라이언트(408)를 포함하는 멀티-모드 디바이스(402)이다. 더 예시되어 있는 것은 네트워크(410), 네트워크(412) 및 어플리케이션 서버(414)이다. 서브-클라이언트들(406, 408)은 참조번호 416 및 418에서 그들의 대응하는 네트워크들(410, 412)에 각각 등록하고, 여기에서 예를 들면 각 서브-클라이언트는 라우팅을 책임지는 네트워크의 적절한 개체에 등록한다. 동작상으로는, 서브-클라이언트(406)는 그 등록 세부사항들을 네트워크(410)에게 송신하고, 서브-클라이언트(408)는 그 등록 세부사항들을 네트워크(412)에게 송신한다. 이러한 특정 구현에서, 등록 세부사항들은 SIP 메시징, 예를 들면 서브-클라이언트(406)에 대한 "네트워크 상의 등록"(416) 및 서브-클라이언트(408)에 대한 "네트워크 상의 등록"(418)을 포함하는 SIP REGISTER 메시지를 이용하여 전송되지만, 본 개시의 범위에서 벗어나지 않고서도 다른 등록 기술들이 이용될 수도 있다. 하나의 예에서, 등록 세부사항들은 특정 서브-클라이언트에 대한 개별적인 논리적 아이덴터티를 포함하지만 이것으로 제한되지 않는다. 이러한 예시적 구현에서, 등록 세부사항들은 모든 서브-클라이언트들 사이에 공통으로 공유되는, 공유된 논리적 아이덴터티, 예를 들면 sURI를 더 포함한다.
또한, 서브-클라이언트(406) 및 서브-클라이언트(408)는 참조번호 420 및 422에서 그들의 대응하는 개별적인 논리적 아이덴터티들을 각각 이용하고 공유된 논리적 아이덴터티를 이용하여 어플리케이션 서버(414)에 개별적으로 등록한다. 어플리케이션 서버(414)로의 등록 동안에, 서브-클라이언트(406)는 그 등록 세부사항들(420)을 어플리케이션 서버(414)에 송신하고, 서브-클라이언트(408)는 그 등록 세부사항들(422)을 어플리케이션 서버(414)에 송신하며, 이들은 개별적인 논리적 아이덴터티 및 공유된 논리적 아이덴터티를 포함하지만 이들로 제한되지 않는다. 어플리케이션 서버로의 등록은 또한 멀티-모드 디바이스에게 어플리케이션 서버의 성능들의 일부 정보, 예를 들면 어플리케이션 서버가 일정 기능들을 지원하는지 여부를 멀티-모드 디바이스에게 나타낼 수 있는, 어플리케이션 서버에 의해 이용되는 관련 프로토콜들(예를 들면, 대응하는 SIP INVITE에 나타난 컨텐트 스트림들의 서브세트의 수락을 승인하는 SIP OK 메시지인 부분 200 OK(도 4에서 200 OK(부분)로 도시되어 있음))을 제공할 수 있다. 어플리케이션 서버(414)로의 서브-클라이언트(406) 및 서브-클라이언트(408)의 등록은 또한 SIP 인에이블된 메시지에 기초하여 수행될 수도 있다.
네트워크들(410 및 412) 및 어플리케이션 서버(414)에 등록하는 서브-클라이언트(406) 및 서브-클라이언트(408)에 의해 송신되는 등록 세부사항들은 다수의 형태를 취할 수 있지만, 적어도 관련 서브-클라이언트 및 어플리케이션 서비스 및 그 부분들을 식별하는 것으로 충분하다. 예를 들면, SIP 제어되는 세션에서, 등록 세부사항들은 적어도 개별적인 논리적 아이덴터티, 공유된 논리적 아이덴터티(이용되는 경우), 및 등록하는 서브-클라이언트와 통신할 수 있도록 어플리케이션 서버(414)에 의해 요구되는 라우팅 정보를 식별하는 것으로 충분하다. 유의할 점은, 이러한 예시적 구현에서, 멀티-모드 디바이스의 모든 서브-클라이언트들은 어플리케이션 서버 및 그들 각각의 네트워크들에 동시에 등록되고, 모든 서브-클라이언트들은 공유된 논리적 아이덴터티를 어플리케이션 서버에 등록한다는 점이다. 그러나, 다른 구현들에서, 전체 개수의 서브-클라이언트들 중 단지 하나의 서브세트(하나 이상)만이 주어진 시점에서 어플리케이션 서버 및 네트워크(들)에 등록될 수 있고, 단지 하나의 서브세트만이 공유된 논리적 아이덴터티를 어플리케이션 서버에 등록할 수 있다.
도 4에 도시된 호 플로우에서, 어플리케이션 서버(414)는 서브-클라이언트들(406 및 408)에게 공유된 URI로의 SIP INVITE들(424 및 431)을 각각 전송함으로써 멀티-모드 디바이스(402)와의 세션의 확립을 개시한다. INVITE들은 세션에 관련된 세션 파라미터들을 포함한다. 하나의 예에서, 세션 파라미터들은 세션 디스크립션, 시간 디스크립션, 또는 미디어 디스크립션 중 적어도 하나를 포함한다. 세션 디스크립션은 적어도 세션 식별, 프로토콜 버전, 소유자 또는 생성자, 이메일 어드레스, 전화번호, 시간 구역 조정들, 암호화 키, 또는 대역폭 정보와 관련된 정보를 포함할 수 있다. 시간 디스크립션은 적어도 세션이 액티브해야 할 시간 양과 관련된 정보를 포함할 수 있다. 미디어 디스크립션은 적어도 미디어 타입 또는 미디어 포맷과 관련된 정보를 포함할 수 있다. 하나의 예에서, 세션 파라미터들은 세션 공고, 세션 초대, 및 다른 형태들의 멀티미디어 세션 초대를 목적으로 하는 멀티미디어 세션들을 기술하는데 이용되는 프로토콜인, IETF RFC 4566(이전 및 후속 리비전들을 포함함)에 지정된 바와 같은 세션 디스크립션 프로토콜(SDP)에 기초하여 기술된다.
도 4에 의해 추가 예시된 바와 같이, 슈퍼 클라이언트(404)는 서브-클라이언트(406)를 통해 시간상 처음으로 SIP INVITE(424)를 수신하고(SIP INVITE(431) 이전), 적어도 SIP INVITE(424)에 포함된 세션 파라미터들에 기초하여 서브-클라이언트들(406, 408) 중 하나 또는 양쪽 모두가 SIP INVITE를 수락할 수 있을지 여부를 결정한다(430). 유의할 점은, 슈퍼 클라이언트와 서브-클라이언트들 사이의 통신은 예를 들면 임의의 적합한 씬(thin) 레이어 어플리케이션 프로토콜을 이용하여 구현될 수 있다는 점이다. 서브-클라이언트 선택 프로세스(430)를 추가 지원하기 위해, 슈퍼 클라이언트(404)는 서브-클라이언트(406) 및 서브-클라이언트(408) 양쪽 모두에게 그들 대응하는 네트워크들(410, 412)의 리소스 성능들을 포함하는 네트워크 리소스들을 획득하도록 명령할 수 있다(참조번호 426, 428). 이 경우에, 슈퍼 클라이언트(404)는 세션 파라미터들 및 획득된 네트워크 리소스들에 기초하여 세션에 대한 상이한 미디어 스트림들을 핸들링하도록 서브-클라이언트(406) 및 서브-클라이언트(408) 양쪽 모두를 선택한다. 서브-클라이언트들(406 및 408)에 의해 획득되는 네트워크 리소스들은 각 네트워크(410, 412)와 연관된 네트워크 가용성, 신호 강도, 대역폭 정보, 커버리지, 지원되는 미디어 타입 및 포맷, 데이터 레이트, 또는 코스트를 포함하지만 이들로 제한되지 않는다.
또 하나의 구현에서, 슈퍼 클라이언트(404)는 수신되는 제1 SIP INVITE(424)에 포함된 세션 파라미터들에 기초하여 초기 서브-클라이언트 선택(430)을 수행하기에 충분한 네트워크 파라미터들, 특성들, 및 성능들에 관한 정보를 가지고 있다(예를 들면, 서브-클라이언트들이 그들 각각의 네트워크들에 등록하는 프로세스를 통함). 슈퍼 클라이언트는 각각이 SIP INVITE에서 특정 서브세트의 미디어 스트림들을 핸들링하도록 서브-클라이언트들을 선택하고, 그리고나서 선택된 서브-클라이언트들이 대응하는 서브세트의 미디어 스트림들에 대한 네트워크 리소스들(426, 428)을 획득하도록 지시한다. 이들 획득된 네트워크 리소스들의 결과들에 기초하여, 슈퍼 클라이언트(404)는 초기 선택된 서브-클라이언트들이 SIP INVITE를 수락하도록(참조번호 422, 434) 지시하거나 그 서브-클라이언트 선택(430)을 조정할 수 있다. 예를 들면, 획득된 네트워크 리소스들에 기초하여, 슈퍼 클라이언트는 단지 서브-클라이언트(406)에게만 SIP INVITE의 미디어 스트림들의 모두 또는 서브세트를 수신하도록 지시하거나, 일부 다른 서브-클라이언트(도시되지 않음)에게 SIP INVITE에서 미디어 스트림들의 서브세트의 모두를 수락하도록 지시할 수 있다.
일단 슈퍼 클라이언트(404)가 서브-클라이언트(406) 및 서브-클라이언트(408) 사이에서 선택하면, 슈퍼 클라이언트(404)는 어플리케이션 서버(414)가 멀티-모드 디바이스(402)와 어플리케이션 서버(414)간의 단일 세션의 복수의 스트림들의 동시 스트리밍을 지원한다는 것을 알고 있다. 그러므로, 슈퍼 클라이언트(404)는 서브-클라이언트들(406, 408)에게 INVITE들(424, 431)에 응답하여 승인들을 대응하는 네트워크들(410, 412)을 통해 어플리케이션 서버(414)로 전송하도록 명령한다. 도 4에 예시된 바와 같이, 서브-클라이언트(406)는 네트워크(410)를 통해 부분 200 OK 메시지(432)를 이용하여 어플리케이션 서버(414)에게 승인을 전송하고, 서브-클라이언트(408)는 네트워크(412)를 통해 부분 200 OK 메시지(434)를 이용하여 어플리케이션 서버(414)에게 승인을 전송한다. 이 경우에, 복수의 스트리밍이 네트워크들(410, 412)을 통해 발생한다. 하나의 예에서, 서브-클라이언트들(406, 408)에 의해 전송되는 부분 200 OK(432, 434)는 대응하는 네트워크들(410, 412)에 의해 지원되는 미디어 타입과 관련된 정보를 포함한다.
또 하나의 구현에서, 도 5에 도시되어 있는 것은 슈퍼 클라이언트(504), 서브-클라이언트(506) 및 서브-클라이언트(508)를 포함하는 멀티-모드 디바이스(502)이다. 또한 예시되어 있는 것은 네트워크(510), 네트워크(512), 및 어플리케이션 서버(514)이다. 서브-클라이언트들(506, 508)은 도 4를 참조하여 상기 설명된 기술들을 이용하여 그 대응하는 네트워크들(510, 512)에 등록하고, 간략함을 위해 여기에서는 설명이 반복되지 않는다. 동작상으로는, 슈퍼 클라이언트(504)는 어플리케이션 서버(514)가 복수의 스트리밍을 지원하지 않는 것으로 결정하는 경우(예를 들면, 부분 200 OK의 이용을 통해), 서브-클라이언트들 중 단지 하나(이 경우에는 서브-클라이언트(506))만이 공유된 URI를 어플리케이션 서버(514)에 등록한다. 도 5에 예시된 바와 같이, 어플리케이션 서버(514)는 공유된 URI를 이용하여 네트워크(510)를 통해 서브-클라이언트(506)에게 INVITE(516)를 전송하고, 이는 슈퍼 클라이언트(504)에 포워딩된다.
도 4를 참조하여 상기 설명된 바와 같이, 슈퍼 클라이언트는 네트워크 리소스들 및 성능들 때문에, 서브-클라이언트들이 그들 각각의 네트워크들을 통해 세션의 상이한 미디어 스트림들을 수신하도록 하는 것이 유리한 것으로 결정할 수 있다. 따라서, 이 경우에 어플리케이션 서버는 부분 200 OK를 지원하지 않으므로, 슈퍼 클라이언트(504)는 INVITE(516)에 응답하여 그 대응하는 네트워크(510)를 통해 200 OK 메시지(518)로서 승인을 어플리케이션 서버(514)에게 전송하도록 서브-클라이언트(506)에게 명령한다. 서브-클라이언트(506)와 어플리케이션 서버(514) 사이에 세션이 확립된 후, 슈퍼 클라이언트(504)는 이 경우에 특정 미디어 스트림에 대해, 서브-클라이언트(508)를 세션에 추가하라는 요구(520)를 어플리케이션 서버(514)에게 전송하도록 서브-클라이언트(506)에게 명령한다. 요구에 응답하여, 어플리케이션 서버(514)는 INVITE 메시지(522)를 서브-클라이언트(508)에게 전송하고, 그럼으로써 서브-클라이언트(508)를 세션에 추가한다. 그리고나서, 서브-클라이언트(508)는 INVITE(522)를 슈퍼 클라이언트(504)에게 포워딩한다. INVITE(522)를 수신한 것에 응답하여, 슈퍼 클라이언트(504)는 200 OK 메시지(524)를 어플리케이션 서버(514)에게 전송하도록 서브-클라이언트(508)에게 명령한다.
하나의 예에서, 서브-클라이언트들(506, 508) 중 하나에 대한 스트리밍이 완료된 경우, 슈퍼 클라이언트(504)는 서브-클라이언트에게 세션으로부터 옵트-아웃(opt-out)하도록 명령할 수 있다. 도 5에 예시된 바와 같이, 슈퍼 클라이언트(504)는 세션으로부터 서브-클라이언트(506)를 옵트-아웃하도록 하는 메시지(526)를 전송하도록 서브-클라이언트(506)에게 명령한다.
이제 도 6을 참조하면, 일부 실시예들에 따른 시스템(100)의 동작을 예시하는 호 흐름도(600)가 도시되어 있다. 일반적으로 말하면, 호 플로우(600)는 세션을 확립한 것에 이어서 복수의 네트워크들을 통한 미디어 스트리밍으로 결론지어지는 단계들에 대한 특정 접근법이다.
본 실시예에서, 서브-클라이언트들(606, 608)은 도 4를 참조하여 상기 설명된 기술들을 이용하여 그 대응하는 네트워크들(610, 612)에 등록되고, 그 설명은 간략함을 위해 여기에 반복되지 않는다. 또한, 서브-클라이언트들(506, 508)은 도 4를 참조하여 상기 설명된 기술들을 이용하여 적어도 그 대응하는 개별적인 논리적 아이덴터티들을 이용하여 어플리케이션 서버(514)에 개별적으로 등록한다. 서브-클라이언트들(606, 608)은 존재 정보(620, 622)를 어플리케이션 서버(614)에 제공한다. 존재 정보는 몇 가지를 예로 들면 개별적인 논리적 아이덴터티, 사용자 또는 개별적인 논리적 아이덴터티 가용성, 및 대응하는 네트워크들의 리소스 성능들을 포함하지만 이들로 제한되지 않는다. 서브-클라이언트들(606, 608)로부터 존재 정보를 수신한 경우에, 어플리케이션 서버(614)는 그러한 정보를 이용할 성능들을 가지고 있는 디바이스에 의한 잠재적인 이용을 위해, 임의의 적합한 수단에 의해 통신 시스템(100)의 다른 디바이스들에게 존재 정보를 가용하게 만들 수 있다. 하나의 예에서, 디바이스(616)는 서브-클라이언트들(606, 608)의 존재 정보를 수신하고, 이 존재 정보를 이용하여 서브-클라이언트들(606, 608)과의 세션을 개시한다. 또한 종래의 기술들을 이용하여, 디바이스(616)는 서브-클라이언트들의 적어도 개별적인 논리적 아이덴터티들을 이미 알고 있을 수 있다.
하나의 예에서, 도 6에 예시된 바와 같이, 디바이스(616)는 서브-클라이언트들(606, 608)과 세션, 예를 들면 비디오 및 오디오 그룹 호(618)를 개시하고, 존재 정보에 기초하여 분리된 오디오 및 비디오 스트림들을 서브-클라이언트들(606, 608)에게 전송하는 것으로 결정한다. 따라서, 디바이스(616)는 INVITE(624, 오디오에 대함) 및 INVITE(626, 비디오에 대함)를 어플리케이션 서버에 전송한다. 어플리케이션 서버(614)는 서브-클라이언트(506)와 연관된 개별적인 논리적 아이덴터티를 이용하여 INVITE(624)를 서브-클라이언트(606)에게, 그리고 서브-클라이언트(608)와 연관된 개별적인 논리적 아이덴터티를 이용하여 INVITE(626)를 서브-클라이언트(608)에게 포워딩한다. 그리고나서, INVITE들(624, 626)은 각 서브-클라이언트들(606, 608)에 의해 슈퍼 클라이언트(604)에게 포워딩된다. INVITE들(624, 626)을 수신한 것에 응답하여, 슈퍼 클라이언트(604)는 200 OK 메시지들(628, 630)을 어플리케이션 서버(614)에게 각각 전송하도록 서브-클라이언트들(606, 608)에게 지시한다. 어플리케이션 서버(614)는 수신된 200 OK 메시지들(628, 630)을 디바이스(616)에게 포워딩한다. 200 OK 메시지들(628, 630)을 수신한 것에 응답하여, 디바이스(616)는 동일한 세션의 상이한 미디어, 예를 들면 오디오 스트림(632) 및 비디오 스트림(634)을, 어플리케이션 서버(614) 및 서브-클라이언트들(606, 608)에 대응하는 네트워크들(610, 612)을 통해 서브-클라이언트들(606, 608)에게 스트리밍한다.
슈퍼 클라이언트(604)는 서브-클라이언트(608)를 통해 오디오 스트림(632)을, 서브-클라이언트(606)를 통해 비디오 스트림(634)을 수신한다. 슈퍼 클라이언트(604)는 수신된 오디오 스트림(632) 및 비디오 스트림(634)을 조합하고, 멀티-모드 디바이스(602)의 사용자가 동기화된 오디오 및 비디오 스트림들을 볼 수 있도록 스트림들을 추가 동기화시킨다.
하나의 예에서, 슈퍼 클라이언트(604)는 네트워크들(610, 612)의 리소스 성능들을 주기적으로 모니터링한다. 이러한 모니터링 동안에, 슈퍼 클라이언트는 네트워크(610)가 가용하지 않게 되었다(636)는 것을 발견한다. 따라서, 슈퍼 클라이언트(604)는 서브-클라이언트(608)에게 UPDATE(638)를 네트워크(612)를 통해 디바이스(616)에게 전송하도록, 그리고 어플리케이션 서버(614)에게 비디오(634)를 서브-클라이언트(606)에게 스트리밍하는 것을 중지하도록 명령한다. UPDATE(638)를 수신한 것에 응답하여, 디바이스(616)는 200 OK 메시지(640)를 어플리케이션 서버(614)에게 전송한다. 어플리케이션 서버(614)는 수신된 200 OK 메시지(640)를 네트워크(612) 및 서브-클라이언트(608)를 통해 슈퍼 클라이언트(604)에게 포워딩한다. 그리고나서, 비디오 스트림은 네트워크(612)를 통해 현재의 오디오 스트림에 추가될 수 있고 서브-클라이언트(608)에 제공된다(642). 비디오 스트리밍에 대해 또 하나의 네트워크(도시되지 않음)가 네트워크들(610, 612)보다 더 나은 리소스 성능들을 제공하는 경우에, 슈퍼 클라이언트(604)는 세션이 어플리케이션 서버(614)에 분리되지 않은 상태에서 서브-클라이언트들(606, 608) 중 하나가 리소스 지원가능한 네트워크에 등록하도록 명령한다. 그리고나서, (예를 들면) 슈퍼 클라이언트는 디바이스(616)에게 새롭게 등록된 서브-클라이언트를 초대하여 비디오 스트리밍을 수신하도록 요구할 수 있다.
이제, 도 7을 참조하면, 일부 실시예들에 따른 시스템(100)의 동작을 예시하는 호 흐름도(700)가 도시되어 있다. 일반적으로 말하면, 호 플로우(700)는 세션을 확립한 후에 이어서 결과적으로 복수의 네트워크들을 통한 미디어 스트리밍으로 나타나는 특정 접근법이다.
본 실시예에서, 서브-클라이언트들(706, 708)은 도 4를 참조하여 상기 설명된 기술들을 이용하여, 그 대응하는 네트워크들(710, 712) 및 어플리케이션 서버에 등록되며, 그 설명은 간략화를 위해 여기에 반복되지 않는다. 동작상으로는, 서브-클라이언트(706)는 그 등록 세부사항들을 네트워크(710)에게 송신할 수 있고, 서브-클라이언트(708)는 그 등록 세부사항들을 네트워크(712)에게 송신할 수 있다. 또한, 서브-클라이언트들(706, 708)은 대응하는 개별적인 논리적 아이덴터티들을 이용하여 어플리케이션 서버(714)에 개별적으로 등록할 수 있다.
이러한 예시적 구현에서, 슈퍼 클라이언트(704)는 어플리케이션 서버(714)와, 미디어, 예를 들면 비디오 및 오디오를 슈퍼 클라이언트들(704, 708)을 통해 업로딩하기 위한 세션의 확립을 개시한다(716). 이 경우에, 슈퍼 클라이언트(704)는 서브-클라이언트(706)에게 비디오에 대한 INVITE(718)를 어플리케이션 서버(714)에게 전송하도록 명령한다. 서브-클라이언트(706)는 INVITE(718)를 네트워크(710)를 통해 어플리케이션 서버(714)에게 포워딩한다. 마찬가지로, 슈퍼 클라이언트(704)는 서브-클라이언트(708)에게 오디오에 대한 INVITE(720)를 어플리케이션 서버(714)에게 전송하도록 명령한다. 서브-클라이언트(708)는 INVITE(720)를 네트워크(712)를 통해 어플리케이션 서버(714)에게 포워딩한다. INVITE들(718, 720)에 응답하여, 어플리케이션 서버(714)는 200 OK(722)를 네트워크(710)를 통해 서브-클라이언트(706)에게, 그리고 200 OK(724)를 네트워크(712)를 통해 서브-클라이언트(708)에게 전송하고, 이들 양쪽 모두는 슈퍼 클라이언트에게 포워딩된다. 그리고나서, 슈퍼 클라이언트는 상이한 네트워크들을 통해 분리하여 비디오 및 오디오를 스트리밍하기 위해, 이들을 분할하고 동기화시킨다(726). 슈퍼 클라이언트(704)는 서브-클라이언트(706) 및 그 대응하는 네트워크를 통해 비디오 스트림(728)을 업로딩하고, 서브-클라이언트(708) 및 그 대응하는 네트워크를 통해 오디오 스트림(730)을 업로딩한다.
상기 명세서에서, 특정 실시예들이 설명되었다. 그러나, 본 기술분야의 통상의 기술자라면, 이하의 청구항들에 제시된 본 발명의 범주로부터 벗어나지 않고서도 다양한 변형들 및 변경들이 만들어질 수 있다는 것을 잘 알고 있을 것이다. 따라서, 명세서 및 도면들은 제한적 의미라기보다는 예시적인 것으로 간주되어야 하고, 모든 그러한 변형들은 본 교시들의 범주 내에 포함된다고 할 것이다.
이점들, 장점들, 문제들에 대한 해결책들, 및 임의의 이점, 장점, 또는 해결책이 발생하거나 더 현저하게 되도록 유발하는 임의의 구성요소(들)는 임의의 또는 모든 청구항들의 핵심적이고, 요구되거나 필수적인 특징들 또는 구성요소들로서 해석되어서는 안 된다. 본 발명은 본 출원서의 계류 동안에 만들어지는 임의의 보정을 포함하는 첨부된 청구항들, 및 발행된 이들 청구항들의 모든 등가물들에 의해서만 정의된다.
더구나, 이러한 문헌에서, 제1 및 제2, 상부 및 기저부, 등과 같은 관계 용어들은 그러한 개체들 또는 액션들 사이에 임의의 실제적인 그러한 관계 또는 순서를 반드시 요구하거나 함축하지 않고 하나의 개체 또는 액션을 또 하나의 개체 또는 액션과 구별하는데에만 이용될 수 있다. 용어들 "포함한다(comprises)", "포함하는(comprising)", "구비한다(has)", "구비하는(having)", "포함한다(includes, contains)", "포함하는(including, containing)", 또는 그 임의의 다른 변동은 비-배타적 포함을 커버하려는 것으로, 하나의 구성요소들의 리스트를 포함하거나 구비하는 프로세스, 방법, 제품, 또는 장치는 단지 이들 구성요소들만을 포함하는 것이 아니라, 그러한 프로세스, 방법, 제품 또는 장치에 명시적으로 리스트되지 않거나 이들에 내재된 다른 구성요소들을 포함할 수도 있다. "포함하는(comprise ...a)(includes ...a)(contains ...a)" 또는 "구비하는(has ...a)"에 뒤따르는 구성요소는 더 이상의 제한없이, 그 구성요소를 포함하거나 구비하는 프로세스, 방법, 제품, 또는 장치에 추가적인 동일한 구성요소들의 존재를 전제하는 것은 아니다. 용어들 하나(a 및 an)는 본원에 달리 명시적으로 언급되지 않는 한 하나 이상으로 정의된다. 용어들 "거의(substantially)", 실질적으로(essentially)", "대략적으로(approximately)", "약(about)", 또는 그 임의의 다른 버전은 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이 근접한 것으로 정의되고, 하나의 비-제한적 실시예에서 그 용어는 10% 이내, 또 하나의 실시예에서는 5% 이내, 또 하나의 실시예에서는 1% 이내, 및 또 하나의 실시예에서는 0.5% 이내인 것으로 정의된다. 본원에 이용된 용어 "결합된"은 반드시 직접적으로 그리고 반드시 기계적으로는 아니더라도, 접속된 것으로 정의된다. 특정 방식으로 "구성된" 디바이스 또는 구조는 적어도 그 방식으로 구성되지만, 리스트되지 않은 방식들로 구성될 수도 있다.
일부 실시예들은 마이크로프로세서들, 디지털 신호 처리기들, 커스터마이징된 프로세서들 및 필드 프로그램가능한 게이트 어레이들(FPGA들)과 같은 하나 이상의 일반적이거나 특별화된 프로세서들(또는 "처리 디바이스들"), 및 하나 이상의 프로세서들이 일부 비-프로세서 회로들과 조합하여, 본원에 기재된 방법 및/또는 장치의 기능들의 일부, 대부분 또는 모두를 구현하도록 제어하는 고유 저장된 프로그램 명령들(소프트웨어 및 펌웨어 양쪽 모두를 포함함)을 포함할 수도 있다는 것은 자명하다. 대안으로, 일부 또는 모든 기능들은 어떠한 저장된 프로그램 명령들도 가지지 않는 상태 머신에 의해, 또는 각 기능 또는 일부 기능들의 일부 조합들은 관례적인 로직으로 구현되는 하나 이상의 어플리케이션 특정 집적 회로(ASIC들)에서 구현될 수 있다. 물론, 2개의 접근법들의 조합도 이용될 수 있다.
더구나, 실시예는 컴퓨터(예를 들면, 프로세서를 포함함)가 본원에 기재되고 청구된 방법을 수행하도록 프로그래밍하기 위해 저장된 컴퓨터 판독가능 코드를 구비하는 컴퓨터-판독가능 저장 매체로서 구현될 수 있다. 그러한 컴퓨터-판독가능 저장 매체들의 예들은 하드 디스크, CD-ROM, 광 저장 디바이스, 자기 저장 디바이스, ROM(판독 전용 메모리), PROM(프로그램가능 판독 전용 메모리), EPROM(삭제가능한 프로그램가능 판독 전용 메모리), EEPROM(전기적으로 삭제가능한 프로그램가능 판독 전용 메모리), 및 플래시 메모리를 포함하지만 이들로 제한되지 않는다. 또한, 본 기술분야의 통상의 기술자라면, 본원에 개시된 개념들 및 원리들에 의해 가이드되는 경우에, 예를 들면 가용 시간, 현재 기술 및 경제적 고려사항들에 의해 동기가 되는 가능한 상당한 노력 및 다수의 설계 선택들에도 불구하고, 최소의 실험으로 그러한 소프트웨어 명령들 및 프로그램들 및 IC들을 용이하게 생성할 수 있을 것이라고 예상된다.
본 개시물의 요약서는 독자가 기술적 개시의 특성을 신속하게 확인할 수 있도록 제공된다. 이것은 청구항들의 범주 또는 의미를 해석하거나 제한하는데 이용되지 않을 것이라는 것을 이해한 상태에서 제출되어 있다. 뿐만 아니라, 상기 상세한 설명에서, 다양한 특징들은 본 개시를 합리화할 목적으로 다양한 실시예들에서 함께 그룹화되어 있다는 것을 알 수 있다. 이러한 개시 방법은 청구된 실시예들이 각 청구항에서 명시적으로 인용된 것보다 더 많은 특징들을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 이하의 청구항들이 반영됨에 따라, 발명상 주제는 단일 개시된 실시예의 모든 특징들보다 더 적은데 있다. 그러므로, 이하의 청구항들은 상세한 설명에 포함되고, 각 청구항은 그 자신이 하나의 분리되어 청구된 주제로서 존재한다.

Claims (16)

  1. 통신 시스템에서 멀티-모드 디바이스가 복수의 네트워크들을 통해 세션을 확립할 수 있게 하기 위한 방법으로서,
    단일 멀티-모드 디바이스의 복수의 서브-클라이언트들의 각각을 단일 어플리케이션 서버에 동시에 등록하는 단계 - 상기 각 서브-클라이언트는 상이한 개별적인 논리적 아이덴터티를 이용하여 상이한 네트워크를 통해 따로 등록됨 -;
    상기 단일 어플리케이션 서버를 이용하여 세션을 확립하도록 세션 파라미터들을 포함하는 초대(invitation)를 검출하는 단계; 및
    상기 세션 파라미터들에 기초하여 상기 초대를 처리할 상기 서브-클라이언트들 중 적어도 하나를 선택하여 상기 선택된 서브-클라이언트들에 대응하는 네트워크들을 통해 상기 세션을 확립하는 단계
    를 포함하는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  2. 제1항에 있어서, 상기 통신 시스템의 다른 디바이스들이 존재 정보를 이용할 수 있게 하기 위해, 상기 서브-클라이언트들 중 적어도 하나에 대한 존재 정보를 상기 어플리케이션 서버에 제공하는 단계를 더 포함하는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  3. 제2항에 있어서, 상기 초대는 상기 다른 디바이스들 중 하나로부터 수신되고 상기 존재 정보에 기초하여 상기 개별적인 논리적 아이덴터티들 중 적어도 하나에게 어드레싱되는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  4. 제1항에 있어서, 상기 서브-클라이언트들 중 적어도 하나는 또한 공유된 논리적 아이덴터티를 이용하여 상기 어플리케이션 서버에 등록되는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  5. 제4항에 있어서, 상기 공유된 논리적 아이덴터티는 상기 복수의 서브-클라이언트들 중 적어도 2개에 대한 상기 개별적인 논리적 아이덴터티들과 연관되는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  6. 제5항에 있어서,
    초대는 상기 공유된 논리적 아이덴터티와 연관된 상기 개별적인 논리적 아이덴터티들을 가지는 상기 서브-클라이언트들의 각각에게 전송되고,
    상기 방법은,
    상기 서브-클라이언트들 중 제1의 것에 의해 수신된 초대의 수신을 검출한 경우에, 상기 공유된 논리적 아이덴터티와 연관된 개별적인 논리적 아이덴터티들을 가지는 서브-클라이언트들 중 적어도 하나를 선택하여 그 대응하는 네트워크의 리소스 성능들을 획득하도록 지시하는 단계를 더 포함하는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  7. 제4항에 있어서, 상기 초대는 상기 공유된 논리적 아이덴터티에 어드레싱되는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  8. 제1항에 있어서, 상기 초대는 부분 200 OK 또는 200 OK를 이용하여 각 선택된 서브-클라이언트에 의해 수락되는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  9. 제8항에 있어서, 상기 리소스 성능들은 네트워크 가용성, 신호 세기, 대역폭 정보, 커버리지, 지원되는 미디어 타입 및 포맷, 데이터 레이트(rate), 또는 네트워크들 각각과 연관된 코스트(cost) 중 적어도 하나와 관련된 정보를 포함하는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  10. 제8항에 있어서,
    상기 선택된 서브-클라이언트들 각각에게 그 대응하는 네트워크에 걸쳐 상이한 미디어 스트림을 수신하도록 지시하는 단계를 더 포함하는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  11. 제10항에 있어서,
    상기 선택된 서브-클라이언트들 중 적어도 하나에게, 그 대응하는 네트워크의 리소스 성능들에 기초하여 그 미디어 스트림을 수신하는 것으로부터 옵트-아웃(opt out)하도록 지시하는 단계를 더 포함하는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  12. 제1항에 있어서, 상기 어플리케이션 서버를 미디어를 업로딩하기 위한 상기 세션에 초대하는 단계를 더 포함하는, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  13. 제1항에 있어서, 상기 복수의 네트워크들 중 적어도 2개는 이종(heterogeneous) 네트워크들인, 멀티-모드 디바이스가 세션을 확립할 수 있게 하기 위한 방법.
  14. 멀티-모드 디바이스로서,
    그 내부에 하우징되는 단일 물리적 하우징;
    적어도 하나의 트랜시버; 및
    상기 트랜시버에 결합되는 처리 디바이스
    를 포함하며,
    상기 처리 디바이스는,
    단일 멀티-모드 디바이스의 복수의 서브-클라이언트들의 각각을 단일 어플리케이션 서버에 동시에 등록하는 단계 - 상기 각 서브-클라이언트는 상이한 개별적인 논리적 아이덴터티를 이용하여 상이한 네트워크를 통해 따로 등록됨 -;
    상기 단일 어플리케이션 서버를 이용하여 세션을 확립하도록 세션 파라미터들을 포함하는 초대를 검출하는 단계; 및
    상기 세션 파라미터들에 기초하여 상기 초대를 처리할 상기 서브-클라이언트들 중 적어도 하나를 선택하여 상기 선택된 서브-클라이언트들에 대응하는 네트워크들을 통해 상기 세션을 확립하는 단계
    를 포함하는 방법을 수행하도록 프로그래밍되는, 멀티-모드 디바이스.
  15. 제14항에 있어서, 상기 적어도 하나의 트랜시버는 상기 복수의 서브-클라이언트들의 각각에 대한 분리된 물리적 트랜시버, 및 상기 분리된 트랜시버들의 각각에 결합되는 분리된 물리적 안테나를 포함하는, 멀티-모드 디바이스.
  16. 통신 시스템에서 멀티-모드 디바이스가 복수의 네트워크들을 통해 세션을 확립할 수 있게 하기 위한 방법을 컴퓨터가 수행하도록 프로그래밍하기 위한 컴퓨터 판독가능 코드가 저장된 컴퓨터-판독가능 저장 요소로서, 상기 방법은,
    단일 멀티-모드 디바이스의 복수의 서브-클라이언트들의 각각을 단일 어플리케이션 서버에 동시에 등록하는 단계 - 상기 각 서브-클라이언트는 상이한 개별적인 논리적 아이덴터티를 이용하여 상이한 네트워크를 통해 따로 등록됨 -;
    상기 단일 어플리케이션 서버를 이용하여 세션을 확립하도록 세션 파라미터들을 포함하는 초대를 검출하는 단계; 및
    상기 세션 파라미터들에 기초하여 상기 초대를 처리할 상기 서브-클라이언트들 중 적어도 하나를 선택하여 상기 선택된 서브-클라이언트들에 대응하는 네트워크들을 통해 상기 세션을 확립하는 단계
    를 포함하는, 컴퓨터-판독가능 저장 요소.
KR1020107024817A 2008-04-04 2009-03-30 멀티-모드 디바이스가 복수의 네트워크들을 통해 세션을 확립할 수 있게 하기 위한 방법 및 디바이스들 KR101167004B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/062,784 US8131858B2 (en) 2008-04-04 2008-04-04 Method and devices for enabling a multi-mode device to establish a session through multiple networks
US12/062,784 2008-04-04
PCT/US2009/038728 WO2009123944A1 (en) 2008-04-04 2009-03-30 Method and devices for enabling a multi-mode device to establish a session through multiple networks

Publications (2)

Publication Number Publication Date
KR20110000693A true KR20110000693A (ko) 2011-01-04
KR101167004B1 KR101167004B1 (ko) 2012-07-24

Family

ID=40578070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107024817A KR101167004B1 (ko) 2008-04-04 2009-03-30 멀티-모드 디바이스가 복수의 네트워크들을 통해 세션을 확립할 수 있게 하기 위한 방법 및 디바이스들

Country Status (5)

Country Link
US (1) US8131858B2 (ko)
EP (1) EP2260632B1 (ko)
KR (1) KR101167004B1 (ko)
CA (1) CA2719685C (ko)
WO (1) WO2009123944A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8023425B2 (en) 2009-01-28 2011-09-20 Headwater Partners I Verifiable service billing for intermediate networking devices
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US9124608B2 (en) * 2008-06-19 2015-09-01 Qualcomm Incorporated Conveying session continuity information in a multi-component communication session
JP5282513B2 (ja) * 2008-09-30 2013-09-04 株式会社リコー ネットワーク機器管理装置及びネットワーク機器管理システム
CN101764828B (zh) * 2008-12-23 2013-08-07 华为终端有限公司 推送会话的建立方法、推送系统和相关设备
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US9351193B2 (en) * 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US20100274874A1 (en) * 2009-04-24 2010-10-28 Nokia Corporation Service discovery protocol enhancement
US8767536B2 (en) * 2009-11-06 2014-07-01 Intel Corporation Multi-radio communication between wireless devices
US8793391B2 (en) 2010-11-30 2014-07-29 Deutsche Telekom Ag Distortion-aware multihomed scalable video streaming to multiple clients
JP5434975B2 (ja) * 2011-07-07 2014-03-05 横河電機株式会社 通信装置、通信システム、及び通信方法
US9037653B2 (en) * 2011-12-09 2015-05-19 Facebook, Inc. Mobile ad hoc networking
US8805375B2 (en) * 2012-03-09 2014-08-12 Blackberry Limited Methods to enable simultaneous use of multiple radio access technologies
US20140280989A1 (en) * 2013-03-14 2014-09-18 Thomas J. Borkowski System and method for establishing peer to peer connections through symmetric nats
WO2014159862A1 (en) 2013-03-14 2014-10-02 Headwater Partners I Llc Automated credential porting for mobile devices
JP6187241B2 (ja) * 2013-12-24 2017-08-30 ソニー株式会社 制御装置、電子機器、制御システム、および制御方法
US10448307B2 (en) * 2014-07-15 2019-10-15 Comcast Cable Communications, Llc Systems and methods for managing network devices
TWI590092B (zh) * 2015-11-30 2017-07-01 Chunghwa Telecom Co Ltd Authentication code generation system and method using virtual reality
US20170251422A1 (en) * 2016-02-29 2017-08-31 Qualcomm Innovation Center, Inc. Mobile device with multiple wifi interfaces
CN114554428B (zh) * 2020-11-25 2023-03-21 成都鼎桥通信技术有限公司 功能号码的处理方法、装置和设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951650A (en) * 1997-01-31 1999-09-14 International Business Machines Corporation Session traffic splitting using virtual internet protocol addresses associated with distinct categories of application programs irrespective of destination IP address
US20020119821A1 (en) * 2000-05-12 2002-08-29 Sanjoy Sen System and method for joining a broadband multi-user communication session
US6826198B2 (en) * 2000-12-18 2004-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Signaling transport protocol extensions for load balancing and server pool support
US6862450B2 (en) * 2001-02-07 2005-03-01 Nokia Mobile Phones Ltd. Resetting signaling link upon SRNS relocation procedure
US6768726B2 (en) * 2002-08-06 2004-07-27 Motorola, Inc. Method and apparatus for effecting a seamless handoff between IP connections
AU2002356639A1 (en) 2002-12-09 2004-06-30 Telefonaktiebolaget Lm Ericsson (Publ) Simultaneous registrations of a user in different service servers with different directory numbers
US7230930B2 (en) * 2004-03-23 2007-06-12 Motorola, Inc. Mode shifting communications system and method
US7162236B2 (en) 2004-04-26 2007-01-09 Motorola, Inc. Fast call set-up for multi-mode communication
US20060031368A1 (en) * 2004-06-16 2006-02-09 Decone Ian D Presence management in a push to talk system
WO2006055784A2 (en) * 2004-11-19 2006-05-26 The Trustees Of The Stevens Institute Of Technology Multi-access terminal wiht capability for simultaneous connectivity to multiple communication channels
KR101155224B1 (ko) 2005-03-09 2012-06-13 삼성전자주식회사 Sip/ip 코어 네트워크에서 세션 분리 방법 및 서버 및 단말
CN100488139C (zh) * 2005-08-10 2009-05-13 华为技术有限公司 建立聊天室数据传输通道实现聊天消息传送的方法
ATE556547T1 (de) * 2005-10-28 2012-05-15 Ericsson Telefon Ab L M Verfahren und vorrichtung für push-to-talk dienst
DE102005057122A1 (de) * 2005-11-30 2007-05-31 Siemens Ag Netzwerk mit Redundanzeigenschaften, Ethernet-Switch für ein derartiges Netzwerk sowie Verfahren zur Konfiguration eines derartigen Netzwerks
US7724702B2 (en) 2005-12-16 2010-05-25 Motorola, Inc. Multiple configuration communication apparatus
EP1997290B1 (en) 2006-03-21 2012-11-21 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and apparatus for registering or deregistering a user to or from an ip multimedia subsystem
US7711848B2 (en) * 2006-06-15 2010-05-04 Oracle International Corporation System using session initiation protocol for seamless network switching in a media streaming session

Also Published As

Publication number Publication date
EP2260632A1 (en) 2010-12-15
CA2719685A1 (en) 2009-10-08
US20090254666A1 (en) 2009-10-08
CA2719685C (en) 2013-02-26
KR101167004B1 (ko) 2012-07-24
WO2009123944A1 (en) 2009-10-08
US8131858B2 (en) 2012-03-06
EP2260632B1 (en) 2017-12-13

Similar Documents

Publication Publication Date Title
KR101167004B1 (ko) 멀티-모드 디바이스가 복수의 네트워크들을 통해 세션을 확립할 수 있게 하기 위한 방법 및 디바이스들
EP2380370B1 (en) Method and apparatus for enabling group communication
CN107070849B (zh) 用于使用sip协议来实现协作会话的控制转移的系统和方法
US7283489B2 (en) Multimedia half-duplex sessions with individual floor controls
CA2729014C (en) Method for distributing media in an infrastructure based communication system
KR100789853B1 (ko) 무선 통신 네트워크 내에 슬롯 메시지를 위한 슬롯 예약을제공하는 방법 및 장치
US20160149836A1 (en) Communication and Messaging Architecture for Affiliated Real-Time Rich Communications Client Devices
JP2016028509A (ja) モバイル端末における高度なリアルタイムip通信の方法及びシステム
EP1952593B1 (en) Method for transmitting data from a participant device in a session in an internet protocol (ip) system
JP2011511520A (ja) パーソナルネットワークアクセス制御システムおよび方法
WO2016148864A1 (en) Method and apparatus for presenting user personalities for interoperable ptt across separate ptt networks
CA2859596C (en) Method and apparatus for monitoring and allocation of frequency channels associated with multiple talkgroups formed by multicarrier communication units
EP1958414B1 (en) Apparatus, method,computer program and computer program product for seamless session transfer
KR100756228B1 (ko) 무선랜망과 이동통신 시스템에 접속 가능한 휴대용단말기에서 아이피 멀티미디어 서브시스템의 서비스 장치및 방법
WO2018129876A1 (zh) 多媒体数据传输的方法、服务器和终端
CA2755690C (en) Selectively rendering a communication at a communication device

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
FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180626

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190709

Year of fee payment: 8