이하에서, 본 발명의 바람직한 실시예가 예시된 첨부 도면을 참조하여 본 발명으로 보다 자세히 설명할 것이다. 그러나, 본 발명은 다른 많은 형태로 구현될 수 있으며 여기서 설명된 실시예에 한정된 것으로 해석해서는 안 될 것이다. 오히려, 이러한 실시예는 본 발명의 개시가 완전하고 완벽하며 당업자에게 본 발명의 범위가 명확하도록 제공되는 것이다. 같은 숫자는 전체를 걸쳐 같은 요소를 참조한 다.
도 1을 참조하면, 본 발명으로부터 이득을 얻는 한 종류의 시스템의 예시가 제공된다. 본 발명을 실시하는 시스템과 방법이 이동 통신 애플리케이션과 관련하여 주로 기술될 것이다. 하지만, 본 발명을 실시하는 시스템과 방법이 다양한 다른 애플리케이션과 관련하여 사용될 수 있다는 것을 이해해야 한다.
보는 바와 같이, 시스템(10)은 인터넷과 같은 공용 인터넷 프로토콜(IP) 네트워크와 같은 공중 네트워크(12)를 포함한다. 공중 네트워크는 많은 수의 네트워크 노드를 포함하는데, 각각은 서버 컴퓨터, 개인 컴퓨터, 노트북 컴퓨터 등과 같은 전형적인 프로세싱 요소로 구성된다. 보다 구체적으로는, 공중 네트워크는 고정 단말기로 구성되는 하나 이상의 네트워크 노드를 포함할 수 있는데, 이러한 고정 단말기는 공중 네트워크 내에서 혹은 가로질러 통신할 수 있다. 공중 네트워크(12)의 네트워크 노드는 또한 SIP 프록시와 같은 프록시(16)를 포함할 수 있다. 비록 도시되지는 않았으나, 공중 네트워크의 네트워크 노드는 SIP 레지스트라(registrar)를 포함할 수 있다. 이러한 측면에서, 레지스트라는 당업자에게 알려진 바와 같이 SIP 프록시에 구현될 수 있다. 이해되는 바와 같이, SIP과 같은 호출 모델은 멀티미디어 세션에 관련된 애플리케이션 계층 시그널링 프로토콜을 제공한다(예를 들어, 제목이 SIP: Session Initiation Protocol (2002년 6월)인 해설문 RFC 3261에 대한 IETF 리퀘스트, 그 내용 전체로 본원에 참조에 의해 결합된다). 그러므로 SIP 프록시는 아래에서 더욱 상세히 설명하는 바와 같이 원 노드(20)로 동작하는 고정 단말기로 구성되는 네트워크 노드로 혹은 노드로부터의 SIP 시그널 링 메시지와 같이 SIP 시그널링 메시지를 수신하고 전달할 수 있다. 공중 네트워크는 또한 하나 이상의 DNS(Domain name system) 서버(18)를 포함할 수 있다. 이러한 측면에서 각각의 네트워크 노드는 전형적으로 고유한 IP 어드레스를 가지며, IP 어드레스는 전형적으로 보다 기억하기 쉬운 관련 호스트 DNS 이름을 갖고 있다. DNS 서버는 네트워크 트래픽이 적절한 네트워크 노드로 향할 수 있게 하도록 호스트 DNS 이름을 연관된 IP 어드레스로 변환할 수 있다.
공중 네트워크(12)에 더하여, 상기 시스템(10)은 LAN(Local Area Networks)과 같은 하나 이상의 사설 네트워크(24)를 포함한다. 공중 네트워크와 마찬가지로 각각의 사설 네트워크는 여러 개의 네트워크 노드를 포함할 수 있다. 또한 공중 네트워크(12)와 같이, 개별 사설 네트워크의 네트워크 노드는 하나 이상의 DNS 서버(26)를 포함할 수 있다. 이전과 유사하게, 사설 네트워크의 DNS 서버는 네트워크 트래픽이 적절한 공중 네트워크 혹은 네트워크 노드로 향할 수 있게 하도록 호스트 DNS 이름을 연관된 IP 어드레스로 변환할 수 있다. 사설 네트워크는 또한 이동 단말기(32)로 구성되는 하나 이상의 네트워크 노드를 포함할 수 있는데, 상기 이동 단말기는 사설 네트워크 내에서 혹은 가로질러 통신할 수 있다. 단말기(32)는 예를 들면 이동 전화기, PDA(portable digital assistants), 호출기, 노트북 컴퓨터, 스마트 카드 및 여타 다른 종류의 전자 시스템으로 구성될 수 있다.
사설 네트워크를 액세스하는 단말기(32)를 구현하기 위해, 사설 네트워크(24)는 하나 이상의 무선 액세스 포인트(AP's)(도시되지 않음)를 포함할 수 있는데, 상기 무선 액세스 포인트 각각은 하나 이상의 단말기에 연결될 수 있다. 이러 한 측면에서, AP's 는 예를 들어, LAN 및/또는 WLAN 기술을 포함하는 무선(RF), 블루투스(BT), 적외선(IrDA) 혹은 다른 여러 종류의 유무선 네트워킹 기술을 따르는 단말기와 통신하도록 설정된 액세스 포인트들로 구성될 수 있다. 또한 공중 네트워크와 같이 사설 네트워크는 원 노드(20)를 포함할 수 있는데, 원 노드는 아래에서 더욱 자세히 설명한다. 아래에서 설명되는 바와 같이, 사설 네트워크는 종단 노드(36)를 포함할 수 있는데, 종단 노드는 원 노드와 통신할 수 있다. 역시 아래에서 설명되는 바와 같이, 사설 네트워크의 하나 이상의 단말기는 원 노드 혹은 종단 노드로 동작할 수 있다.
공중 네트워크의 네트워크 노드와 사설 네트워크의 네트워크 노드 간의 통신을 구현하기 위해, 각각의 사설 네트워크는 공중 네트워크와 사설 네트워크를 상호 연결하는 NAT를 더욱 포함할 수 있다. 위의 배경기술 섹션에서 설명한 바와 같이, 각각의 NAT는 공중 네트워크와 개별 사설 네트워크 간의 통신을 위해 공중 네트워크로부터의 공중 IP 어드레스를 개별 사설 네트워크의 네트워크 노드의 개인 IP 어드레스로 변환할 수 있으며, 역으로도 마찬가지이다. 인식될 바와 같이, NAT는 또한 예를 들어 애플리케이션 프로토콜 데이터 유닛(PDUs)에 탑재된 IP 어드레스를 변환할 수 있는 애플리케이션 레벨 게이트웨이(ALG)(도시되지 않음)를 포함할 수 있다. 더불어, NAT는 각각의 사설 네트워크를 위해 방화벽 및/또는 게이트웨이를 포함하거나 그들과 연관될 수 있다. 도시된 바와 같이, 방화벽/게이트웨이를 포함하는 혹은 그들과 연관된 NAT가 NAT/FW(28)로 도시되어 있다.
시스템(10)은 또한 하나 이상의 이동 혹은 셀룰러 네트워크(30)를 포함할 수 있다. 셀룰러 네트워크는 하나 이상의 여러 개의 다른 이동 네트워크로 구성될 수 있다. 이러한 측면에서, 셀룰러 네트워크는 어떠한 다수의 1세대(1G), 2세대(2G), 2.5 세대 및/또는 3세대(3G) 셀룰러 네트워크 및/또는 본 발명에 따라 동작할 수 있는 어떠한 다수의 다른 셀룰러 네트워크로 구성될 수 있다. 예를 들면, 각각의 셀룰러 네트워크는 GSM(Global System for Mobile Communication), IS-136(Time Domain Multiple Access - TDMA), IS-95(Code Division Multiple Access - CDMA), 혹은 EDGE(Enhanced Data GSM Environment) 네트워크로 구성될 수 있다. 선택적으로, 하나 이상의 셀룰러 네트워크는 GPRS(General Radio Packet Service), 혹은 GPRS-기반(예를 들면, Universal Mobile Telecommunications System - UMTS) 네트워크로 구성될 수 있다.
공중 네트워크(12) 및 사설 네트워크(24)와 같이, 셀룰러 네트워크(30)는 또한 하나 이상의 네트워크 노드를 포함한다. 이러한 측면에서, 각각의 셀룰러 네트워크의 네트워크 노드들은 각각의 셀룰러 네트워크 내에서 및/또는 가로질러 통신할 수 있는 하나 이상의 이동 단말기(32)를 포함할 수 있다. 그리고 이하에서 설명될 바와 같이, 하나 이상의 이동 단말기는 공중 및 사설 네트워크의 원 노드에서와 같은 방법에서와 같이, 원 노드(20)로서 동작할 수 있다. 더불어, 또한 아래에서 기술되는 바와 같이, 하나 이상의 이동 단말기는 이상 및 이하에서 설명하는 바와 같이, SIP에 따라 SIP 프록시(16)를 거쳐 원 노드와 통신할 수 있는 종단 노드(38)로서 동작할 수 있다.
셀룰러 네트워크(30) 내에서는, 네트워크 노드는 또한 하나 이상의 SGSN(signaling GPRS support node)과 같은 하나 이상의 네트워크 시그널링 지원 노드 및 하나 이상의 GGSN(gateway GPRS support node)(40)과 같은 하나 이상의 게이트웨이 지원 노드를 포함할 수 있다. 예를 들면, 네트워크 노드는 다수의 3G Partnership Project(3GPP) 규격에 기술되어 있는 바와 같이 하나 이상의 SGSN 및 하나 이상의 GGSN들을 포함할 수 있다. 이 분야의 당업자에게 인식될 바와 같이, SGSN은 이동 단말기(32)로 및 단말기로부터 통신 루트를 정할 수 있고, 또한 단말기가 네트워크 노드와 함께 통신 세션과 관련될 때 다른 네트워크 노드로의 접속을 제공할 수 있다. 반면에 GGSN은 셀룰러 네트워크 및 사설 네트워크(24)를 상호접속할 수 있다. 이러한 측면에서, GGSN은 잘 알려진 바와 같이 전통적인 게이트웨이 동작을 수행할 수 있다. 비록 셀룰러 네트워크가 SGSN과 GGSN을 포함할 수 있음에도 불구하고, 셀룰러 네트워크는 다른 종류의 셀룰러 네트워크를 위해 유사하게 동작하는 네트워크 노드로 구성될 수도 있음을 이해하여야 한다.
이제 도 2를 참조하면, 도 2는 본 발명의 실시예에 따라 공중 네트워크(12), 사설 네트워크(24) 혹은 셀룰러 네트워크(30) 내에서 네트워크 노드(예를 들어, SIP 프록시(16), 원 노드(20), NAT/FW(28), 종단 노드(36), SGSN(38), GGSN(40) 등)로 동작할 수 있는 독립 개체의 블럭도이다. 비록 어떤 실시예에서는 별개의 개체로 도시되고 있음에도 불구하고, 하나 이상의 개체는 논리적으로 구분된, 그러나 개체 내에 상호 공존하는 하나 이상의 네트워크 노드를 지원할 수 있다. 예를 들면, 단일 개체는 논리적으로 별개인, 그러나 상호 공존하는 원 노드와 SIP 프록시를 지원할 수 있다. 또한 예를 들면, 위에서 제시된 바와 같이, 단일 개체는 논리 적으로 별개인, 하지만 상호 공존하는 NAT 및 방화벽/게이트웨이를 지원할 수 있다.
도시된 바와 같이, 네트워크 노드로 동작할 수 있는 개체는 일반적으로 메모리(44)에 연결된 제어기(42), 프로세서(42) 혹은 그와 동일한 것을 포함한다. 제어기는 데이터, 컨텐트나 기타의 정보를 전송 및/또는 수신하기 위한 하나 이상의 인터페이스(46) 혹은 다른 수단에 연결될 수 있다. 메모리는 휘발성 및/또는 비휘발성 메모리로 구성되고 전형적으로는 컨텐트, 데이터나 기타의 것을 저장한다. 예를 들면, 메모리는 전형적으로 본 발명의 실시예에 따라 제어기가 개체의 동작과 연관된 단계를 수행하기 위한 소프트웨어 애플리케이션, 명령문 및 기타의 동종의 내용을 저장한다. 또한, 예를 들면, 메모리는 네트워크 노드로부터 전송되거나 수신되는 컨텐트를 저장한다.
도 3은 본 발명의 실시예에 따라 이동 단말기로서(32) 및 그와 같은 식으로 원 노드(20), 혹은 종단 노드(36)로 동작하는 이동국(mobile station)의 기능도를 보여준다. 명심해야 할 것은 예시되고 이후로부터 설명되는 이동국은 본 발명으로부터 이익을 얻게 되는 단지 한 종류의 이동 단말기의 예시일 뿐이라는 것이고, 그러므로 본 발명의 범위를 제한하는 것으로 여겨져서는 안된다는 것이다. 여러 개의 이동국들이 예시적 목적으로서 예시되고 이후로 설명될 것이지만, PDA, 호출기, 노트북 컴퓨터 및 다른 종류의 보이스 및 텍스트 통신 시스템과 같은 다른 종류의 이동 단말기도 본 발명을 즉각적으로 채용할 수 있다.
이동국은 전송기(48), 수신기(50) 및 전송기로 신호를 제공하고 수신기에서 신호를 받는 제어기(52)를 포함한다. 이러한 신호는 적용 가능한 셀룰러 시스템의 공중(空中) 인터페이스 기준에 의거한 신호 정보 및 사용자 스피치(speech) 및/또는 사용자 생성 데이터를 포함한다. 이러한 측면에서, 이동국은 하나 이상의 공중(空中) 인터페이스 스탠다드, 통신 프로토콜, 변조 타입(type) 및 액세스 타입과 동작할 수 있다. 좀더 특정하게는, 이동국은 어떠한 여러 1G, 2G, 2.5G, 및/또는 3G 통신 프토토콜 등에도 의거하여 동작할 수 있다. 예를 들면, 이동국은 2G 무선 통신 프로토콜 IS-136(TDMA), GSM 및 IS-95(CDMA)에 의거하여 동작할 수 있다. 또한 예를 들면, 이동국은 2.5G 무선 통신 프로토콜 GPRS, EDGE(Enhanced Data GSM Environment) 등에 의거해서 동작할 수 있다. TACS를 비롯한 몇몇 협대역 AMPS(NAMPS) 이동국은, 이중 혹은 더 높은 모드의 이동국(예를 들면, 디지털/아날로그 혹은 TDMA/CDMA/아날로그 전화기)가 이득을 얻을 수 있는 것과 같이 본 발명의 실시로부터 이득을 얻을 수 있다.
제어기(52)는 이동국의 오디오 및 논리 기능을 구현하기 위해 요구되는 회로를 포함한다는 것을 이해하여야 한다. 예를 들면, 제어기는 디지털 시그널 프로세서 장치, 마이크로 프로세서 장치, 및 다양한 아날로그-디지털 컨버터, 디지털-아날로그 컨버터 및 다른 지원 회로로 구성될 수 있다. 이동국의 제어 및 신호 처리 기능은 각각의 성능에 따라 장치들간에 할당된다. 그러므로 제어기는 변조와 전송 전에 메시지 및 데이터를 선회적(convolutionally)으로 암호화하고 인터리브(interleave)하기 위한 기능을 포함한다. 제어기는 추가적으로 내부 보이스코더(voice coder)(52A)를 포함할 수 있고 내부 데이터 모뎀(52B)도 포함할 수 있다. 더욱이, 제어기는 메모리에 저장될 수 있는 하나 이상의 소프트웨어 애플리케이션을 동작시키는 기능을 포함할 수 있다.
이동국은 또한 제어기(52)에 모두 연결된 전통적인 이어폰 또는 스피커(54), 전화벨(56), 마이크로폰(60), 디스플레이(62), 및 사용자 입력 인터페이스를 포함한 사용자 인터페이스로 구성된다. 이동국으로 하여금 데이터를 수신하도록 허용하는 사용자 입력 인터페이스는 키패드(64), 터치 디스플레이(도시되지 않음) 혹은 다른 입력 장치와 같은 다수의 장치 중 하나로 구성된다. 키패드를 포함하는 실시예에서, 키패드는 전통적인 숫자(0-9)와 연관 키(#, *) 및 단말기를 동작시키기 위해 사용되는 다른 키를 포함한다.
비록 도시되지는 않았으나, 이동국은 데이터가 다른 이동국, 자동차 안내 시스템, 개인 컴퓨터, 프린터, 바코드 등과 같은 인쇄물(printed material)과 같은 다른 장치와 공유될 수 있도록 및/또는 다른 장치로부터 얻을 수 있도록, 적외선(IrDA) 트랜스시버 혹은 다른 로컬 데이터 전송 장치를 더욱 포함할 수 있다. 데이터의 국지적 공유를 비롯하여 데이터의 공유는 수 많은 다른 기술에 따라 제공될 수 있다. 예를 들면, 이동국은 당업자에게 알려진 바와 같이 다른 무선 트랜스시버 및/또는 무선 식별 트랜스폰더 태그와 데이터를 공유할 수 있는 무선 트랜스시버를 포함할 수 있다. 추가적으로 혹은 선택적으로, 이동국은 Bluetooth Special Interest Group에 의해 개발된 BT brand 무선 기술을 사용하여 데이터를 공유할 수 있다. 또한, 이동국은 LAN 및/또는 WLAN 기술을 포함하는 여러가지 다른 유/무선 네트워크 기술에 따라 데이터를 공유할 수 있다.
이동국은 가입자 식별 모듈(SIM, 66), 착탈식 사용자 식별 모듈(R-UIM) 등과 같은 메모리를 또한 포함하는데, 이들 메모리는 전형적으로 이동 가입자와 관련된 정보 요소를 저장한다. SIM과 더불어, 이동국은 다른 메모리를 포함할 수 있다. 이러한 측면에서, 탑재될 수 있고 및/또는 착탈 가능한 다른 비휘발성 메모리(70)를 비롯하여 휘발성 메모리(68)를 포함할 수 있다. 예를 들면, 다른 비휘발성 메모리는 탑재되거나 착탈가능한 멀티미디어 메모리 카드(MMCs), 소니사에 의해 생산되는 메모리 스틱, EEPROM, 플래쉬 메모리, 하드 디스크 등으로 구성될 수 있다. 메모리는 이동국 기능을 구현하기 위해 이동국에 의해 사용되는 수많은 정보와 데이터를 저장할 수 있다. 예를 들면, 메모리는 MSC(16)에서와 같이 이동국을 고유하게 식별할 수 있는 국제 이동 단말기 식별(IMEI) 코드, 국제 이동 가입자 식별(IMSI) 코드 등과 같은 식별기를 포함할 수 있다. 메모리는 또한 원 노드(20)와 주고 받는 컨텐트를 저장할 수 있다.
배경기술 섹션에서 제시한 바와 같이, 원 노드(20)로 하여금 이동 단말기와 같은 종단 노드(36)로 컨텐트를 푸쉬하도록 하기 위한 전통적인 기술은 공중 네트워크(12)를 개별 사설 네트워크(24)에 상호 접속시키는 NAT/FW(28)를 사용하도록 이끄는 (예를 들어 인터넷 같은) 공중 네트워크(12) 같은 공중 도메인의 제한을 무시한다. 즉, 이러한 기술은 이용가능한 공중 IP 어드레스의 제한을 무시한다. 또한 이러한 기술은 NAT/FW가 개별 사설 네트워크에 방화벽 및/또는 게이트웨이 기능을 제공할 수 있는 능력도 무시한다. 그러므로, 본 발명의 실시예는 종단 노드가 사설 혹은 셀룰러(즉, 이동 네트워크)에 상주하는 경우, 종단 노드로 컨텐트를 푸쉬하기 위한 향상된 시스템과 방법을 제공한다. 보다 구체적으로는, 본 발명의 실시예는 공중 도메인의 제한된 어드레스 공간을 해결하기 위한 네트워크-개시 데이터 세션을 이용하여 원 노드로 하여금 종단 노드로 컨텐트를 푸쉬하도록 하는 시스템 및 방법을 제공한다. 더불어, 본 시스템과 방법은 꼭 그러할 필요는 없으나, 이동 네트워크에 대해 방화벽 및/또는 게이크웨이 기능을 유지하는 동안 원 노드가 종단 노드로 컨텐트를 푸쉬하도록 허용할 수 있다. 이하에서 살펴볼 바와 같이, 원 노드는 셀룰러 네트워크(30) 내에 있는 단말기로 구성되는 종단 노드와의 통신을 개시한다. 그러나, 종단 노드는 대안적으로 본 발명의 사상과 범위에서 벗어남 없이 사설 네트워크의 네트워크 노드로 구성될 수도 있음을 주지하여야 한다.
당업자에게 잘 알려진 바와 같이, SIP은 멀티미디어 세션 혹은 호출(call)을 확립, 수정, 종료할 수 있는 애플리케이션-계층 제어 프로토콜이다. SIP은 전체에 걸쳐 UTF-8 암호화에서 ISO 10646을 사용하는 텍스트-기반이다. 메시지 구성은 SIP이 UDP(User Datagram Protocol) 혹은 TCP(Transmission Control Protocol) 중 하나를 사용하여 트랜잭션을 수행할 수 있다는 것을 제외하고는 HTTP와 유사하다. SIP 메시지는 전형적으로 요청 혹은 응답 중 하나로 특정화될 수 있고, 내용 전체가 본원 참조에 의해 결합되어 있는 Standard for the Format of ARPA Internet Text Message 제호, 1982년 8월 발간된 해설문 RFC 822에 대한 IETF 리퀘스트의 포맷을 따라 생성될 수 있다.
일반적으로, SIP 세션에 관련된 개체들은 사용자 에이전트(예를 들면, 원 노드(20), 종단 노드(36) 등), SIP 프록시(16), 레지스트라와 위치 서비스(location 서비스)를 포함한다. 사용자 에이전트는 SIP 요청(request)을 개시하는 클라이언트(UAC)로 기능할 수 있다. 사용자 에이전트는 또한 SIP 요청이 수신되고 SIP 요청이 사용자를 대신하여 응답을 되돌려 보내는 때에 사용자와 교신하는 서버(UAS)로서 동작할 수 있다. SIP 프록시는 앞에서 제시된 바와 같이, 동시에 클라이언트와 서버같이 기능할 수 있는 중간 개체로 구성된다. 이러한 측면에서, SIP 프록시는 SIP 요청을 다른 서버에 전달하기 전에 해석하고 수정할 수 있다. 보는 바와 같이 SIP 프록시에 구현 가능한 레지스트라는 사용자 등록(예로써 REGISTER 메시지)을 받고 이 정보를 위치 서비스(location service)를 통해 사용가능하도록 할 수 있으며 SIP 프록시에 구현되게 할 수 있다. 위치 서비스는 종단 노드의 있을 수 있는 위치에 대한 정보를 얻기 위해 SIP 프록시에 의해 사용된 요소로 구성된다.
SIP 메시지는 일반적으로 시작 라인(start line), 하나 이상의 헤더 필드(header field), 빈 라인(carriage-return line-feed - CRLF) 및 선택적 본체(optional body)로 구성된다. 일반적으로 SIP 메시지의 시작 라인은 메시지가 요청(예를 들어, INVITE, ACK, OPTIONS, BYE, CANCEL, REGISTER, REFER 등)인지 혹은 응답(예를 들면, 100 Informational, 200 Success, 300 Redirection, 400 Client Error, 500 Server Error, 600 Global Failure 등)인지를 나타낸다. 메시지 헤더는 예를 들면, 발신처("From:"), 수신처("To:"), 호출 ID("Call-ID:"), 메시지 시퀀스("Cseq:"), 컨택트("Contact:"), 트랜잭션 경로("Via:"), 길이("Content-Length:") 및 만일 메시지가 있다면 본체의 컨텐트("Content-Type:")를 나타내는 다중 헤더를 포함할 수 있다. 반면에 메시지 본체는 다수의 다른 종류의 데이터 중 어떤 것도 포함할 수 있는데, 데이터의 해석은 메시지의 종류에 달려있다. 일반적으로, 본체부 내용(content of the body)은 SDP(Session Description Protocol), 텍스트 혹은 XML(Extensible Markup Language) 스크립트와 같은 특정 형식을 따르는 세션 기술(記述)을 포함할 수 있다. 이러한 측면에서, "Content-Type" 헤더 필드는 메시지 본체의 미디어 타입(type)을 제시한다. 만일 본체가 암호화된다면, 이러한 암호는 전형적으로 "Content-Encoding" 헤더 필드에 제시되고, 본체 길이는 전형적으로 "Content-Length" 헤더 필드에서 주어진다.
SIP에 의해 지정되는 개체는 사용자들이 SIP URL(uniform resource locator)에 의해 식별될 수 있는 경우 그러한 사용자를 지원하는 SIP 프록시(16)를 통해 액세스될 수 있는 사용자를 포함한다. 일반적으로, SIP URLs는 SIP 메시지 내에서 예를 들면, 발신처(From), 시작 라인에서 현재의 목적지(request URL), 및 SIP 요청의 최종 수신처(To)를 나타내는 것으로 사용된다. 인식될 바와 같이, "사용자"는 사용자(예를 들어 사용자 이름, 전화 번호 등)를 식별하고, "host"는 사용자를 지원하는 SIP 프록시(예를 들면 도메인 명, IP 어드레스 등)를 식별하는 경우에서와 같이 URL은 "사용자@host"와 같은 형태를 취할 수 있다. 이러한 측면에서, SIP URLs는 특별히 URL이 각각의 SIP 프록시의 도메인 명을 포함할 때 DNS 서버에 의해 도메인 명-IP 어드레스 변경에 기초하여 사용자의 위치를 파악하기 위해 사용될 수 있다. 이러한 측면에서, 발신처(originator)는 SIP 프록시의 도메인 명을 포함하는 목적지 어드레스를 포함하는 DNS 서버에 요청(query)할 수 있다.
앞에서 지적된 바와 같이, 시스템(10)은 원 노드(20) 및 종단 노드(36)를 포 함할 수 있다. 일반적으로, 종단 노드는 종단 노드를 지원하는 SIP 프록시(16)를 통해 원 노드가 종단 노드로 컨텐트를 푸쉬할 수 있도록 SIP 푸쉬 서비스와 같은, 원 노드의 푸쉬 서비스에 가입할 수 있다. 당업자에게 잘 알려진 바와 같이, SIP 프록시는 SIP 시그널 메시지를 원 노드로부터 종단 노드로 전달할 수 있고 역으로도 가능하다. 그러나, 전통적인 SIP 통신 기술에 대비하여, 종단 노드가 원 노드로부터 NAT/FW(28) 뒤에 위치할 때, SIP 프록시는 원 노드가 종단 노드와 SIP 통신 세션을 개시하기 원할 때에 NAT/FW를 거쳐서 종단 노드를 식별할 수 없을 것이다. 보다 구체적으로는, 예를 들면, SIP 프록시는 NAT/FW이 종단 노드를 위해 변경 테이블 엔트리를 더 이상 유지하지 않을 때, 혹은 SIP 프록시가 종단 노드로, NAT/FW에 의해 할당된 공중 IP 어드레스 및 포트를 위한 등록을 더 이상 유지하지 않을 때 SIP 프록시는 종단 노드를 식별할 수 없을 것이다.
본 발명의 실시예에 따라, 종단 노드(36)는 SIP 프록시(16)가 종단 노드를 대신하여 원 노드(20)의 푸쉬 서비스에 가입하도록 명령할 수 있다. 그런 다음 원 노드는 종단 노드를 대신하여 SIP 프록시로 푸쉬 서비스를 제공할 수 있다. 바꾸어서, SIP 프록시는 종단 노드로 푸쉬 컨텐트를 배달하도록 NAT/FW(28)를 거쳐 종단 노드와 통신하기 위한 네트워크-개시 데이터 세션 기술을 사용할 수 있다. SIP 프록시는 SIP 프록시가 종단 노드로 푸쉬 컨텐트를 배달하기 위해 종단 노드와 통신을 개시할 수 있도록 종단 노드와 여러가지 다른 네트워크-개시 데이터 세션을 사용할 수 있다. 예를 들면, SIP 프록시는 본원에 내용이 전체로서 참조된, Third Generation Partnership Project 2 (3GPP2) specification 3GPP2 S.P0090, Network-initiated Data Session ( NIDS ) 에 의거한 네트워크-개시 데이터 세션 기술을 사용할 수 있다.
다른 예에서는, SIP 프록시(16)는 NAT/FW(28)을 거쳐서와 같이, 종단 노드가 SIP 프록시로 재등록하도록 명령하기 위해 공중 및 사설 네트워크(12, 24)와 독립된 종단 노드(36)로 비 IP 기반 트리거를 보낼 수 있다. 이러한 측면에서, SIP 프록시는 SMS(단문 메시지 서비스), EMS(강화된 메시지 서비스 - enhanced messaging service), MMS(멀티미디어 메시지 서비스) 혹은 WAP(Wireless Application Protocol) 푸쉬 트리거를 종단 노드로 송신할 수 있다. 트리거에 응답하여, 종단 노드는 SIP 프록시가 NAT/FW를 통해 종단 노드와 통신할 수 있도록 SIP 프록시와 재등록할 수 있다. 좀더 특정하게는, 트리거에 응답하여, 종단 노드는 NAT/FW가 종단 노드로 공중 IP 어드레스를 할당하도록 그리고 SIP 프록시가 할당된 공중 IP 어드레스를 포함하는 종단 노드를 등록할 수 있도록 NAT/FW를 통해 SIP 프록시와 등록할 수 있다. 위에서 제시된 바와 같이, SIP 프록시는 종단 노드를 등록하기 위해서와 같이, 레지스트라의 기능을 수행하기 위해 SIP에 의거하여 레지스트라를 구현할 수 있다. 이하에서 설명되는 바와 같이, SIP 프록시는 종단 노드를 등록 및/또는 재등록하기 위해서와 같이 해당 레지스트라를 구현하는 SIP 프록시로 구성될 수 있다는 것을 이해하여야 한다.
SIP 프록시(16)가 비(非)IP 기반 트리거를 종단 노드(36)로 보내도록 허용하기 위해, SIP 프록시는 공중 및 사설 네트워크(12, 24) IP 통신 채널과 독립된, 그리고 NAT/FW(28)와 독립된 통신 채널을 통해 종단 노드를 식별할 수 있다. 예를 들 면, SIP 프록시는 종단 노드와 연관된 MSISDN 혹은 다른 글로벌 식별자를 식별할 수 있다. MSISDN에 기초하여, SIP 프록시는 SMS, EMS, MMS 혹은 WAP-푸쉬 트리거를 종단 노드로 보낼 수 있다. 이러한 측면에서, SIP 프록시는 다른 여러가지 방법 중의 하나로 종단 노드의 비(非)IP 기반 식별자를 식별할 수 있다. 한 유익한 실시예에서, 종단 노드는 SIP 프록시가 종단 노드를 위해 원 노드(20)로부터 푸쉬 컨텐트를 수신하기 전에 SIP 프록시에 등록한다. 종단 노드가 SIP 프록시에 등록할 때, 종단 노드는 IP 통신 채널 외부의 종단 노드의 SIP 프록시 식별자(예를 들어, MSISDN)를 보낼 수 있다. 이러한 네트워크-개시 데이터 세션 기술에 관한 좀더 많은 정보를 위해서는, 전체 내용이 본원에 참조에 의해 결합되는 2004년 3월 10일에 출원된 US 특허 출원 번호 10/797,765 "System and Method for Establishing a Session Initiation Protocol Communication Session with a Mobile Terminal"를 참조하라. 또한 또 다른 네트워크-개시 데이터 세션 기술의 예를 위해서는 역시나 전체 내용이 본원에 참조에 의해 결합되는 2004년 3월 10일 출원된 US 특허 출원 번호 10/797,529 "System and Method for Establishing an Internet Protocol Connection with a Terminating Network Node"를 보라.
이제 도 4a와 4b를 참조하면, 상기 도면은 본 발명의 실시예에 따라 종단 노드(36)로 컨텐트를 푸쉬하는 방법의 예를 보여준다. 도 4a와 4b에 나타난 예의 목적상, 개인 IP 어드레스를 가지고 사용자 및 호스트 도메인 명에 의해 식별될 수 있는 종단 노드를 생각해 본다. 또한, MSISDN을 가진 종단 노드를 고려해 본다. 더불어, 예를 들면, 각각이 공중 IP 어드레스를 가지는 원 노드(20) 및 SIP 프록 시(16)를 고려해 본다. 더불어, IP 어드레스 풀(pool) 내에서 하나 이상의 IP 어드레스를 할당할 수 있는 NAT/FW(28)를 생각해 본다.
도 4a에서 볼 수 있는 바와 같이, 종단 노드(36)는 각각의 NAT/FW(28)를 통해 SIP REFER 메시지를 SIP 프록시에 보냄으로써 SIP 프록시(16)로 하여금 종단 노드를 대신하여 원 노드(20)의 푸쉬 서비스에 가입하도록 명령할 수 있다. 당업자에게 인실될 바와 같이, SIP REFER 메시지는 SIP 프록시가 REFER 메시지에서 식별된 리소스(즉, 원 노드의 푸쉬 서비스)를 참조하는 것을 요청하고, 종단 노드로 하여금 참조된 요청의 결과를 통지받도록 허가하기 위해 종단 노드에 의해 사용될 수 있다. SIP REFER 메시지에 관한 좀더 많은 정보를 위해서, 내용 전체가 본원에 참조로 결합되는 제목: SIP: Session Initiation Protocol(SIP)Refer Method, 2003년 4월, 해설문 RFC 3515에 대한 IETF 리퀘스트를 보라.
앞에서 설명한 바와 같이, SIP REFER 메시지는 많은 수의 정보를 포함할 수 있다. 예를 들면, SIP REFER 메시지의 헤더 필드는 종단 노드(36)의 사설 IP 어드레스를 식별하는 발신처(source)를 포함할 수 있다. 예를 들면, 헤더 필드는 또한 SIP 프록시(16)의 공중 IP 어드레스를 식별하는 목적지(destination), 종단 노드의 사용자 및 도메인 명을 식별하는 컨택트(contact)를 포함할 수 있다. 더불어, 헤더 필드는 원 노드의 푸쉬 서비스를 식별하고 SIP 프록시로 하여금 그 푸쉬 서비스로 가입(method = SUBSCRIBE)하도록 명령하는 참조 헤더 필드(refer header field : "Refer-To:")에서 원 노드(20)를 식별할 수 있다.
SIP REFER 메시지에 응답하여, NAT/FW(28)는 종단 노드의 사설 IP 어드레스 를 공중 IP 어드레스와 연관시키는, 종단 노드(36)를 위한 새로운 변환 테이블 엔트리를 생성할 수 있다. 만일 NAT/FW가 현재 할당된 공중 IP 어드레스와 함께 종단 노드를 위한 변환 테이블 엔트리를 가진다면, NAT/FW는 종단 노드를 위해 변환 테이블 엔트리를 찾게 된다. 새로운 변환 테이블 엔트리를 생성하는 것에 더하여, 만일 중간 노드와 NAT/FW 간에 통신을 허용하기 위해, 원한다면 NAT/FW는 NAT/FW로부터 그리고 SIP 프록시(16)로 통신을 허락하는 새로운 방화벽(FW) 필터를 추가할 수 있다. 여기에 설명되지는 않았지만, 본 발명의 실시예에 따라 송신 및/또는 수신된 메시지는 또한 개방 통신 포트(open communication port)를 포함할 수 있다. 그러한 경우에, NAT/FW는 동일한 혹은 다른 통신 포트를 더욱 포함하는 변환 테이블 엔트리를 생성할 수 있고, 또한 그러한 통신 포트(들)를 이용하는 방법으로 동작할 수 있다.
새로운 변환 테이블 엔트리를 생성하거나 이미 존재하는 변환 테이블을 조회한 후에, NAT/FW(28)는 SIP REFER 헤더 필드에 있는 종단 노드(36)의 사설 IP 어드레스를 NAT/FW에 의해 종단 노드에 할당된 공중 IP 어드레스로 변환할 수 있다. 또한, NAT/FW의 ALG의 동작에 따라, 종단 노드의 사용자 및 도메인 명을 식별하는 컨택트는 종단 노드에 할당된 공중 IP 어드레스를 식별하도록 변환될 수 있다. SIP REFER 메시지의 어드레스를 변환하고 난 후, NAT/FW는 변환된 SIP REFER 메시지를 SIP 프록시(16)로 넘겨줄 수 있다.
변환된 SIP REFER 메시지를 수신하면, SIP 프록시(16)는 NAT/FW(28)에 의해 종단 노드(36)로 202(ACCEPTED) 메시지와 같은 수신 메시지를 되돌려줌으로써 SIP REFER 메시지를 받아들일 수 있다. 이러한 측면에서, 202(ACCEPTED) 메시지는 NAT/FW에 의해 종단 노드에 할당된 공중 IP 어드레스에 의해 종단 노드를 식별할 수 있다. 202(ACCEPTED) 메시지를 받으면, NAT/FW는 할당된 공중 IP 어드레스를 종단 노드의 사설 IP 어드레스로 변환할 수 있다. NAT/FW는 202(ACCEPTED) 메시지를 종단 노드로 전달할 수 있다.
또한, SIP REFER 메시지가 SIP 프록시(16)로 하여금 종단 노드(36)를 대신하여 가입을 시작하도록 요청하기 때문에, SIP 프록시는 종단 노드의 문의 요청에 대한 SIP 가입(subscription)을 생성할 수 있다. 가입(subscription)을 생성한 후, SIP 프록시는 종단 노드의 문의 요청에 대한 가입(subscription)을 생성했다는 것을 통지하기 위해 종단 노드에게 SIP NOTIFY 메시지(즉, NOTIFY(REFER))를 되돌려줄 수 있다. 그리고 이전에서처럼, SIP 프록시는 SIP NOTIFY 메시지를 종단 노드의 할당된 공중 IP 어드레스로 지정함에 의해 NAT/FW(28)를 거쳐 SIP NOTIFY 메시지를 종단 노드로 보낼 수 있다. 바꾸어서, NAT/FW는 종단 노드에 할당된 공중 IP 어드레스를 종단 노드의 사설 IP 어드레스로 변환할 수 있고, SIP NOTIFY 메시지를 종단 노드로 전달할 수 있다. 그리고서 SIP NOTIFY 메시지에 응답하여, 종단 노드는 200(OK) 메시지와 같은 SIP NOTIFY 메시지의 승인을 NAT/FW를 거쳐 SIP 프록시로 되돌려 보낼 수 있는데, NAT/FW는 종단 노드의 사설 IP 어드레스를 NAT/FW에 의해 종단 노드에 할당된 공중 IP 어드레스로 변환시킨다.
또한 SIP REFER 메시지를 수신하면, SIP 프록시(16)는 SIP REFER 메시지에 의거하여 종단 노드(36)를 대신해 원 노드(20)의 푸쉬 서비스에 가입함으로써 SIP REFER 메시지를 처리할 수 있다. 이러한 측면에서, SIP 프록시는 원 노드의 푸쉬 서비스에 가입하기 위해 원 노드로 SIP SUBSCRIBE 메시지를 보낼 수 있다. SIP SUBSCRIBE 메시지는 여러 다른 정보를 포함할 수 있으나, SIP REFER 메시지에 따라 SIP REFER 메시지에서 구별된 푸쉬 서비스를 식별한다. 더불어, SIP 프록시가 종단 노드를 대신하여 푸쉬 서비스에 가입하고 있으므로, SIP SUBSCRIBE 메시지는 전형적으로는, 종단 노드와 반대로, SIP 프록시를 식별한다.
SIP SUBSCRIBE 메시지를 받으면, 원 노드(20)는 SIP 프록시(16)로 200(OK) 메시지를 되돌려 줌에 의해서와 같이 SIP SUBSCRIBE 메시지의 수신을 승인할 수 있다. 더불어, 원 노드는 SIP 프록시를 위해 푸쉬 서비스로의 가입을 생성할 수 있다. 가입을 생성한 후, 원 노드는 SIP 프록시에게 원 노드가 SIP 프록시를 위해 원 노드의 푸쉬 서비스에 가입을 생성했음을 통지하기 위해 SIP NOTIFY 메시지(즉, NOTIFY (SUBSCRIBE))를 되돌려 보낸다. SIP NOTIFY 메시지를 수신하면, 가입 문의에 의거하여 SIP 프록시는 종단 노드(36)에 성공적인 가입을 통지할 수 있다. 이러한 측면에서, SIP 프록시는 이전에서와 같이, SIP NOTIFY 메시지를 종단 노드의 할당된 공중 IP 어드레스로 지정함에 의해서 NAT/FW(28)를 거쳐 종단 노드로 SIP NOTIFY 메시지(즉, NOTIFY(REFER))를 보낼 수 있다. 또한 이전에서와 같이, NAT/FW는 종단 노드에 할당된 공중 IP 어드레스를 종단 노드의 사설 IP 어드레스로 변환할 수 있다. 더욱이, 종단 노드는 NAT/FW를 통해 200(OK) 메시지를 SIP 프록시로 되돌려 줄 수 있다.
종단 노드(36)에 대신하여 SIP 프록시(16)가 원 노드(20)의 푸쉬 서비스에 성공적으로 가입한 후 하나 이상의 시점에서, 종단 노드는 SIP 프록시를 통해 그리고 푸쉬 서비스에 의거하여 원 노드로부터 푸쉬 컨텐트를 수신할 수 있다. 이러한 측면에서 푸쉬 서비스에로의 가입에 의거하여, 원 노드는 SIP NOTIFY 메시지(즉, NOTIFY(INC. CONTENT))를 푸쉬 컨텐트를 포함하여 SIP 프록시로 송신할 수 있다. 이전에서와 같이, SIP NOTIFY 메시지를 받았을 때, SIP 프록시는 200(OK) 메시지를 원 노드로 되돌려 줄 수 있다. 또한, 푸쉬 컨텐트를 수신했을 때, SIP 프록시는 종단 노드를 위해 SIP 프록시에 의해 시작된 가입 조회에 따라 NAT/FW(28)를 통해 푸쉬 컨텐트를 종단 노드(36)로 전달할 수 있다.
다양한 경우에, "time-to-live" 기간 후에서와 같이, NAT/FW(28)는 종단 노드(36)를 위해 변환 테이블 엔트리를 제거할 수 있다. 예를 들어, 추가적으로 혹은 선택적으로 SIP 프록시(16)는 NAT/FW에 의해 종단 노드에 할당된 공중 IP 어드레스를 포함하여 종단 노드를 위한 등록 엔트리를 유지를 종료할 수 있다. 더욱이, 종단 노드는 SIP 프록시로부터 등록을 취소할 수 있고, 그 후에 "휴지(IDLE)" 동작 모드로 들어갈 수 있다. 그러한 경우 중 어느 때에서도, 인식될 바와 같이 SIP 프록시는 NAT/FW를 통해 푸쉬 컨텐트를 종단 노드로 전달하기 위해 NAT/FW를 통해 종단 노드를 식별할 수 있을 것이다.
본 발명의 실시예에 따라, 푸쉬 컨텐트를 수신하자마자, SIP 프록시(16)는 SIP 프록시의 메모리(예로써 메모리 44)로 저장하는 것처럼 원 노드(20)로부터 푸쉬 컨텐트를 버퍼링할 수 있다. 이후에, SIP 프록시는 종단 노드(36)와 네트워크-개시 데이터 세션을 확립할 수 있다. 예를 들면, SIP 프록시(16)는 MSISDN에서와 같은 종단 노드의 비(非)-IP 기반 식별자에 기초하여 종단 노드로 비(非)-IP 기반 트리거를 보낼 수 있다. 바꾸어 비(非)-IP 기반 트리거는 종단 노드로 하여금 SIP 프록시와 재등록하도록 명령할 수 있다. 예를 들면, SIP 프록시는 SMS 메시지, EMS 메시지, MMS 메시지 혹은 WAP-푸쉬 트리거를 공중 및 사설 네트워크(12,24), 그리고 NAT/FW와 별개의 셀룰러 네트워크(30)를 거쳐 종단 노드로 보낼 수 있다.
종단 노드(36)와 네트워크-개시 데이터 세션을 확립하는 SIP 프록시(16)에 대한 응답으로, 종단 노드는 SIP 프록시에 재등록할 수 있어, NAT/FW는 다시금 공중 IP 어드레스와 통신 포트를 종단 노드에 할당할 수 있고 SIP 프록시는 종단 노드를 위한 등록 엔트리를 갱신할 수 있게 된다. 예를 들어, 보다 구체적으로는 일단 종단 노드가 트리거를 수신하면, 종단 노드는 각각의 NAT/FW를 거쳐 SIP REGISTER 메시지를 SIP 프록시로 보낼 수 있다. SIP REGISTER 메시지에 응답하여, NAT/FW는 종단 노드의 사설 IP 어드레스와 공중 어드레스를 연관시키는 종단 노드를 위해 새로운 변환 테이블 엔트리를 다시금 생성할 수 있다.
새로운 변환 테이블 엔트리를 생성한 후, NAT/FW(28)는 SIP REGISTER 메시지 내 종단 노드(36)의 사설 IP 어드레스를 NAT/FW에 의해 종단 노드에 할당된 공중 IP 어드레스로 변환할 수 있다. 그리고 난 후, NAT/FW는 변환된 SIP REGISTER 메시지를 등록을 위해 SIP 프록시(16)로 넘겨줄 수 있다. 변환된 등록 메시지를 수신하면, SIP 프록시는 종단 노드를 위해 이전 등록 엔트리를 갱신할 수 있다. 그 후에, SIP 프록시는 등록 엔트리의 등록, 생성 및 갱신을 승인할 수 있다. 예를 들면, 이전에서와 같이, SIP 프록시는 NAT/FW(28)를 통해 200(OK) 메시지를 종단 노드로 보 낼 수 있다.
종단 노드(36)를 재등록한 후에, SIP 프록시(16)는 SIP MESSAGE 내에서와 같이, NAT/FW(28)를 통해 푸쉬 컨텐트를 종단 노드로 전달할 수 있다. 이러한 메시지를 보내기 위한 좀더 많은 정보를 위해서, 내용 전체가 본원에 참조에 의해 결합되는 제목이 SIP: Session Initiation Protocol(SIP)Extension for Instant Messaging, 2002년 12월, 해설문 RFC 3428에 대한 IETF 리퀘스트를 보라. 이러한 측면에서, SIP 프록시로부터, NAT/FW는 (푸쉬 컨텐트의 수신처로 구별된) 종단 노드의 할당된 공중 IP 어드레스에 기초하여 푸쉬 컨텐트를 수신할 수 있고 종단 노드를 위한 변환 테이블 엔트리를 조회할 수 있다. 그러고 난 후, NAT/FW는 푸쉬 컨텐트의 목적지를 할당된 공중 IP 어드레스로부터 종단 노드의 사설 IP 어드레스로 변환할 수 있다. 푸쉬 컨텐트의 목적지를 변환하고 난 후, NAT/FW는 종단 노드의 사설 IP 어드레스에 기초하여 종단 노드로 전달할 수 있다. 그리고 난 후, 비록 도시되지는 않았으나, 종단 노드는 200(OK) 메시지를 NAT/FW를 거쳐 SIP 프록시로 전송함에 의해서와 같이 푸쉬 컨텐트의 수신을 승인할 수 있다.
푸쉬 컨텐트를 버퍼에 저장하고 종단 노드(36)로 전달하는 SIP 프록시(16)를 대신하여, 종단 노드는 SIP 프록시에 재등록한 후에 푸쉬 컨텐트를 수신하기 위해 종단 노드가 푸쉬 서비스에 가입하도록 설정된다. 이러한 측면에서, 본 발명의 또 다른 실시예에 의거하여 종단 노드로 컨텐트를 푸쉬하는 방법의 일부를 예시하는 도 4b를 참조한다. 도 4b에서 나타나는 바와 같이, 이전처럼 SIP 프록시가 종단 노드를 대신하여 원 노드의 푸쉬 서비스에 성공적으로 가입한 후, 원 노드는 SIP 프 록시로 푸쉬 서비스에 의거한 푸쉬 컨텐트를 포함하는 SIP NOTIFY 메시지(즉, NOTIFY(INC. CONTENT))를 보낼 수 있다. 또한 이전에서와 같이, SIP NOTIFY 메시지에 응답하여, SIP 프록시는 200(OK) 메시지를 원 노드로 되돌려 줄 수 있다. 그 다음, SIP 프록시는 종단 노드에 비(非)-IP 기반 트리거를 보냄으로써와 같이 종단 노드와 네트워크-개시 데이터 서비스를 확립할 수 있다. 그러고 나면 앞에서와 같이, 종단 노드는 NAT/FW(28)가 다시금 종단 노드로 공중 IP 어드레스와 통신 포트를 할당할 수 있도록 NAT/FW를 통해 SIP 프록시와 재등록할 수 있고, SIP 프록시는 종단 노드를 위해 등록 엔트리를 갱신할 수 있다.
SIP 프록시(16)와의 재등록 후, 종단 노드(36)는 도 4a에서 본 바와 같은 SIP 프록시의 버퍼 간에 이루어지는 것과는 반대로, 종단 노드가 원 노드(20)로부터 푸쉬 컨텐트를 수신할 수 있도록 하기 위해 원 노드의 푸쉬 서비스에 가입할 수 있다. 이러한 측면에서, 종단 노드가 종단 노드에 대신하여 SIP 프록시로 하여금 푸쉬 서비스에 가입하도록 명령하고 그 다음 SIP 프록시가 푸쉬 컨텐트를 수신한 후 종단 노드가 푸쉬 서비스에 가입하도록 설정함으로써, 종단 노드는 원 노드가 푸쉬 서비스에 의거하여 푸쉬 컨텐트를 보내는 기간 중 단지 네트워크 리소스를 점거하고 있기만 하면 된다.
도 4b에서 보는 바와 같이, 종단 노드(36)는 NAT/FW(28) 및 SIP 프록시(16)를 통해 SIP SUBSCRIBE 메시지를 원 노드(20)로 보내는 것에 의해 푸쉬 서비스에 가입할 수 있다. 보다 구체적으로는, 종단 노드는 앞에서와 같이 원 노드의 푸쉬 서비스를 식별하고, 종단 노드를, 전형적으로는 종단 노드의 사설 IP 어드레스를 식별하는 SIP SUBSCRIBE 메시지를 보낼 수 있다. NAT/FW는 SIP SUBSCRIBE 메시지를 수신하고, 종단 노드를 위해 변환 테이블 엔트리를 조회하고, 그 후에 SIP SUBSCRIBE 메시지 내 종단 노드의 사설 IP 어드레스를 NAY/FW에 의해 종단 노드에 할당된 공중 IP 어드레스로 변환한다. 종단 노드의 사설 IP 어드레스를 할당된 공중 IP 어드레스로 변환한 후, NAT/FW(28)는 SIP SUBSCRIBE 메시지를 SIP 프록시로 전달할 수 있다. 다음으로 SIP 프록시는 SIB SUBSCRIBE 메시지를 원 노드로 전달할 수 있다. 앞에서처럼 SIP SUBSCRIBE 메시지를 받은 때에, 원 노드(20)는 종단 노드(36)의 사설 IP 어드레스를 종단 노드에 할당된 공중 IP 어드레스로 변환하는 NAT/FW(28)와 SIP 프록시(16)를 통해 200(OK) 메시지를 종단 노드로 되돌려 줌에 의해서와 같이, SIB SUBSCRIBE 메시지의 수신을 승인할 수 있다. 더불어, 원 노드는 종단 노드를 위해 푸쉬 서비스로의 가입을 생성할 수 있다. 종단 노드를 위해 푸쉬 서비스로의 가입을 생성한 후, 원 노드는 SIP 프록시 및 NAT/FW를 통해 종단 노드로 SIP NOTIFY 메시지를 보낼 수 있다. 앞에서와 같이, SIP NOTIFY 메시지는 푸쉬 서비스에의 가입에 따라 푸쉬 컨텐트를 포함할 수 있다. 이러한 측면에서, 비록 현재 SIP 프록시와 NAT/FW를 통해 종단 노드에 의해 수신된 SIP NOTIFY 메시지가 메시지의 목적지로서 종단 노드를 식별함에도 불구하고, SIP NOTIFY 메시지는 SIP 프록시가 종단 노드와 네트워크-개시 데이터 서비스를 확립하기에 앞서 SIP 프록시에 의해 수신된 동일한 SIP NOTIFY 메시지로 구성될 수 있다. 푸쉬 컨텐트를 포함하는 SIP NOTIFY 메시지를 수신하면 종단 노드는 NAT/FW와 SIP 프록시를 거쳐 원 노드로 200(OK) 메시지를 되돌려 줄 수 있다.
여기에서 설명되는 바와 같이, 종단 노드(36)는 원 노드(20)로부터 NAT/FW(28) 뒤에 위치한다. 그러나, 종단 노드가 종단 노드와 원 노드 사이에서 NAT 없이 방화벽/게이트웨이(FW) 뒤로 위치할 수 있다는 것이 인식되어야만 한다. 그러한 경우에, 본 발명의 실시예는 원 노드가 FW에 의해 통신이 제한될 수 있는 경우 종단 노드와 통신을 개시하도록 허용될 수 있고, 그럼으로써 단말기를 포함하는 네트워크로의 방화벽 및/또는 게이트웨이 기능을 유지할 수 있다.
예를 들면, 당업자에게 인식될 수 있는 바와 같이, 사설/공중 어드레스 변환을 위한 NAT를 포함하는 시스템(10)은 IP Version 4(IPv4)에 따라 통신하는 네트워크의 전형이다. 그러나, 상기 시스템 혹은 그 일부는 IPv4보다 더 긴 IP 어드레스를 지원하는 IP Version 6(IPv6)에 의거하여 통신하도록 선택적으로 설정될 수 있음이 인식되어야 한다. 이러한 측면에서, IPv6가 IPv4보다 더 긴 어드레스를 지원하기 때문에 하나 이상의 사설 네트워크는 NAT가 어드레스/포트 변환을 수행하는 것을 요구하지 않을 수 있다. 그러한 경우에, 상기 시스템은 NAT 혹은 NAT/FW를 포함하지 않을 수 있지만, 대신 위에서 설명한 바와 같은 동일한 방법으로 연관된 사설 네트워크에로의 보안 메커니즘으로서 동작할 수 있는 방화벽/게이트웨이(FW)를 포함할 수 있다. 상기 시스템은 비록 종단 노드가 연관된 공중 IPv6 어드레스를 가질 수 있음에도 불구하고, 위와 같이 동작할 수 있다. 그와 같이, NAT에 의해 사설 IPv4 어드레스로 변환된 종단 노드의 할당된 공중 IPv4 어드레스를 식별하는 원 노드 및 종단 노드 간 통신의 발신처 혹은 수신처는 종단 노드의 공중 IPv6 어드레스를 식별할 수 있고 공중 IPv4 어드레스로부터 사설 IPv4 어드레스로의 변환없이 넘 겨줄 수 있으며 그 반대도 가능하다.
본 발명의 많은 변형과 다른 실시예가 앞선 설명과 연관된 도면에서 제시된 가르침의 이익을 가지면서 본 발명에 관련된 당업자에게 떠오를 것이다. 그러므로, 본 발명이 개시된 특정 실시예에 제한되어서는 안될 것이며 변형과 다른 실시예들이 첨부된 청구범위의 범위 내에 포함되는 것으로 의도되었다는 것이 인식되어야 한다. 비록 여기서 특정 용어들이 채용되었으나, 단지 일반적이고 서술적인 측면에서 사용되었을 뿐, 제한의 목적으로 채용된 것은 아니다.