KR101247027B1 - 장치를 위한 웹 서비스를 이용하는 트랜스 네트워크 로밍및 찾기 - Google Patents
장치를 위한 웹 서비스를 이용하는 트랜스 네트워크 로밍및 찾기 Download PDFInfo
- Publication number
- KR101247027B1 KR101247027B1 KR1020077022811A KR20077022811A KR101247027B1 KR 101247027 B1 KR101247027 B1 KR 101247027B1 KR 1020077022811 A KR1020077022811 A KR 1020077022811A KR 20077022811 A KR20077022811 A KR 20077022811A KR 101247027 B1 KR101247027 B1 KR 101247027B1
- Authority
- KR
- South Korea
- Prior art keywords
- network
- address
- component
- client
- service
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Treatments For Attaching Organic Compounds To Fibrous Goods (AREA)
Abstract
Description
네트워크 어드레스 번역기(NAT)는 데이터 패킷이 포워딩될 때 인터넷 프로토콜(IP) 어드레스 및 데이터 패킷의 TCP/UDP 포트 번호를 번역할 수 있는 장치이다. 예를 들어, 인터넷에 접속되는 여러 컴퓨터들을 갖는 소기업 네트워크는 이러한 접속을 위해 NAT를 채용할 수 있다. 이러한 유형의 기업에서는 일반적으로 인터넷 서비스 제공자(ISP)로부터 네트워크 상의 각 컴퓨터에 대한 공중 IP 어드레스를 얻어야 한다. 그러나, NAT를 이용함으로써, 소기업은 사설 어드레싱을 이용할 수 있고 NAT로 하여금 자신의 어드레스를 하나 또는 여러 개의 공중 IP 어드레스에 매핑하게 한다. NAT는 다음에 따르는 요구 사항들의 조합에 대한 일반적인 해결책이다. 즉, 여러 컴퓨터들에 접속하기 보다는 단일 접속 사용을 인터넷에 대하여 레버리징(leveraging)하는 것, 사설 어드레싱을 이용하는 것, 프록시 서버를 배치할 필요 없이 인터넷 리소스에 대한 액세스를 제공하는 것이다. 또한, 이 번역기는, 내부 IP 어드레스를 숨김으로써 한 유형의 방화벽 보호를 제공하고, 회사들의 사설 도메인 외부의 어드레스들과의 충돌 가능성이 없기 때문에 이 회사들이 더욱 많은 내부 IP 어드레스들을 채용할 수 있게 한다.
NAT 기술에서의 한 가지 큰 장애는 네트워크 트래픽을 번역하기 위해 채용될 수 있는 서로 다른 여러 개의 프로토콜들이 존재한다는 것이다. 예를 들어, 많은 소비자 또는 홈 시스템은 콘(Cone), 풀콘(Full Cone), 또는 제한 콘(Restricted Cone) NAT 기술들을 활용하고 이에 따라 일부 라우터들은 UDP 트래픽에 대한 콘 NAT로서 기능하고 TCP 트래픽에 대한 대칭 NAT로서 기능할 수 있다. 기업에 있어서는, 하드웨어나 소프트웨어 방화벽과 함께 대칭 NAT가 채용될 가능성이 높다. 현재로는, 서로 다른 유형들의 프로토콜로 통신하기 위해, 언급한 프로토콜들 중 하나로 통신하도록 NAT를 적절히 구성하는 데 집중적인 수동 구성이 필요하다. 그러나, 많은 네트워크 상황에서는 원격 애플리케이션들 간의 통신 발생을 위해 하나의 프로토콜보다 많은 프로토콜의 채용을 필요로 할 수 있다.
다른 문제점들은 호스트들이 하나의 네트워크로부터 다른 네트워크로 이동할 때 발생하고, 여기서 이 호스트들은 자신들의 네트워크 어드레스를 지정하는 데 있어서 로컬 네트워크에 의존할 수 있다. 이 어드레스는, 인터넷 상에서 완전한 라우팅가능 어드레스일 수 있고, 또는 네트워크 어드레스 번역(NAT) 시스템 뒤의 라우팅불가능한(unroutable) 어드레스일 수 있다. 이 호스트들은 일반적으로 동적 IP 어드레스 또는 NAT된 IP 어드레스로 알려져 있는 것을 갖고 있다. NAT된 IP 어드레스를 갖는 장치는 일반적으로 특정 호스트 서비스를 위해 NAT 시스템에 의해 리매핑될 포트를 등록하는 어떤 방법을 갖지 않는 한 서비스를 위해 입력되는 TCP 접속을 허용하는 기능을 갖지 않는다. 도메인 네임 시스템(DNS) 또는 서비스와 같은 정상적인 어드레스 탐색(discovery) 수단을 이용하여 그 서비스를 위해 이렇게 지정된 어드레스 또는 매핑된 포트를 인터넷 상의 다른 호스트가 탐색하는 것은 일 반적으로 가능하지 않다. 일부 서비스들은 동적 IP 문제점(동적 DNS)을 해결하고자 존재하지만, 이들은 일반적으로 DNS 서버를 캐싱하는 것으로 기능하지 않으며 또한 일반적으로 동적 포트 번호를 찾을 수 없다.
다음에 따르는 것은 본 명세서에서 설명하는 일부 양태들의 기본적인 이해를 제공하고자 간략화한 요약이다. 이 요약은 광범위한 개요가 아니며 핵심/주요 소자들을 식별 또는 본 명세서에서 설명하는 다양한 양태들의 범위를 정하려는 것도 아니다. 이것의 단 하나의 목적은 후술하는 보다 상세한 설명에 대한 서문으로서 일부 개념을 간략화된 형태로 제시하는 것이다.
로밍 또는 모바일 네트워크 장치들 간의 통신 기능을 자동 판정하고 구성하는 시스템 및 방법이 제공된다. 대형 서버 시스템을 수동 구성 및 선등록해야 하는 종래의 시스템에서의 문제점들은, 인터넷 프로토콜(IP) 어드레스 및 추가 서비스 정보와 함께 관련된 로밍 서비스의 포트 번호를 탐색하는 데 있어서 호스트들이 채용할 수 있는 찾기(resolution) 서비스를 생성함으로써 줄어든다. 예를 들어, 장치 또는 컴포넌트가 네트워크 어드레스 번역기(NAT) 시스템을 통해 IP 어드레스를 얻고 포트를 매핑한 후에, 이 장치는 각 찾기 서비스에 컨택트할 수 있고 이에 따라 자신의 대응 IP/포트 쌍을 자동으로 등록할 수 있다. 이 찾기 서비스 또는 다른 찾기 서비스를 채용하여 관심 대상인 다른 네트워크 컴포넌트들의 위치를 자동/동적 알아낼 수 있다. 찾기 서비스는 정적 IP 어드레스 및 필요시 잘 알려져 있는 포트 번호에 존재할 수 있지만, 예를 들어 잘 알려져 있거나 소정의 포트 아이덴티티를 통해 DYN-DNS(동적 도메인 네임 서비스)를 이용하는 동적 컴포넌트를 포함할 수도 있다. 다른 찾기 방법들을 채용하여 찾기 서비스 자체를 찾을 수 있다(예를 들어, PNRP를 이용하여 찾기 서비스를 찾을 수 있다).
찾기 서비스는 표준 DNS 또는 동적 DNS를 이용하여 찾을 수 있으며 선택 사항으로 피어 네트워크 찾기 프로토콜을 이용하여 찾을 수 있다. 로밍 호스트 상의 서비스에 컨택트하는 데 관심이 있는 호스트는 일반적으로 찾기 제공자 또는 서비스에 컨택트하여 로밍 서비스용으로 마지막으로 알려진 IP 어드레스 및 포트를 판정한다. 이에 따라, 이러한 모바일 호스트는 그 IP/포트 쌍에서 서비스에 컨택트할 수 있다. 다른 가능성있는 해결책들에 비하여 이 해결책의 한 가지 이점은, 일반적으로 중앙 서버나 인터넷 인프라스트럭처 수정을 필요로 하지 않는다는 점이다. 해결되는 문제점의 구체적인 예로는, 하나의 랩탑 상에 웹 서비스 호스트가 존재하고 다른 하나의 랩탑 상에 웹 서비스 클라이언트가 존재하는 상태로, 2개 이상의 랩탑이 전 세계에 걸쳐 이동할 때가 포함된다. 이러한 랩탑들은 하나의 구체적인 예에서 호텔 및 핫스팟과 같은 공중 네트워크 상의 로밍 게스트들이다. 따라서, 하나의 랩탑이 원료 가격 정보를 갖고 있고, 다른 하나의 랩탑이 원료를 이용하여 판매부를 위한 판매 가격 안내를 동적으로 발생한다. 인식할 수 있듯이, 예를 들어, 골동품이나 와인 선물거래와 같이 다양한 응용들이 지원될 수 있다. 시스템의 다른 양태들로는, 일례로 다양한 자동화 어드레스 판정 및 구성을 지원하도록 캐스케이드된 NAT 컴포넌트들이 횡단될 수 있는 NAT 횡단 시스템 및 방법이 있다.
상술한 목적 및 관련 목적을 달성하고자, 본 명세서에서 다음에 따르는 설명 및 첨부 도면과 함께 소정의 예시적인 양태들을 설명한다. 이 양태들은 본 명세서에서 포함되며 실시될 수 있는 다양한 방식을 가리킨다. 다른 이점 및 신규 특성은 첨부 도면과 함께 고려할 때 다음에 따르는 상세한 설명으로부터 명백해질 수 있다.
도 1은 네트워크 로밍 및 찾기 시스템을 예시하는 개략적인 블록도이다.
도 2는 찾기 제공자 프로세스를 예시하는 흐름도이다.
도 3은 NAT 찾기 프로세스를 예시하는 흐름도이다.
도 4 내지 도 7은 자동화 어드레스 찾기 판정을 위한 시스템을 예시하는 도면들이다.
도 8은 클라이언트 시스템 및 서비스를 위한 복구 시스템의 일예이다.
도 9는 적절한 운영 환경을 예시하는 개략적인 블록도이다.
도 10은 샘플 컴퓨팅 환경의 개략적인 블록도이다.
자동화 네트워크 어드레스 판정 및 로밍 피어들 간의 통신을 용이하게 하는 시스템 및 방법을 제공한다. 일 양태에 따르면, 네트워크 통신 시스템을 제공한다. 이 시스템은 현재의 호스트 어드레스로 찾기 제공자를 갱신하고 로밍 호스트 서비스 어드레스 및 포트 정보를 판정하는 방법들을 포함한다. 다른 프로세스는, 네트워크 어드레스 번역기를 통해 포트를 개방하고 캐스케이딩된 네트워크 어드레 스 번역기와 함께 포트를 개방하는 것을 포함한다.
본 명세서에서 이용될 때, "컴포넌트", "번역기", "시스템", "오브젝트" 등의 용어들은, 컴퓨터 관련 엔티티, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어를 가리키는 것이다. 예를 들어, 컴포넌트는 프로세서 상에서 동작 중인 프로세스, 프로세서, 오브젝트, 실행가능 파일, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이에 한정되지 않는다. 예를 들어, 서버 상에서 동작 중인 애플리케이션 및 서버 둘 다가 하나의 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 스레드 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터 상에 로컬라이제이션되고 그리고/또는 2개 이상의 컴퓨터 간에 분산될 수 있다. 또한, 이러한 컴포넌트들은 다양한 데이터 구조를 내부에 저장하고 있는 다양한 컴퓨터 판독가능 매체로부터 실행될 수 있다. 컴포넌트들은, 예를 들어 하나 이상의 데이터 패킷(예를 들어, 하나의 컴포넌트로부터의 데이터가 로컬 시스템, 분산 시스템, 및/또는 신호를 통해 다른 시스템들과 인터넷과 같은 네트워크에 걸쳐 다른 하나의 컴포넌트와 상호 작용하는 것)을 갖는 신호에 따르는 것처럼 로컬 및/또는 원격 프로세스를 통해 통신할 수 있다.
먼저 도 1을 참조하면, 자동화 로밍 및 찾기 시스템(100)이 예시되어 있다. 이 시스템(100)은 네트워크(110)(예를 들어, 인터넷)를 포함하는데, 하나 이상의 로밍 장치(120)는 그 네트워크를 통해 통신을 확립할 수 있다. 시스템(100)은 장치(120)에 대한 네트워크 어드레스를 판정하는 찾기 제공자(130)와, 자동화 어드레스 판정을 용이하게 하는 탐색 컴포넌트(140)를 포함한다. 이벤트 컴포넌트(150) 를 제공하여 장치들이 한 위치로부터 다른 위치로 이동할 때 찾기 제공자(130)나 탐색 컴포넌트(140)를 장치(120)의 라우팅 변경으로 갱신할 수 있다. 횡단(traversal) 컴포넌트(160)를 제공하여 장치(120)를 분리하거나 네트워크(110)로부터 장치로 어드레스를 라우팅하고 또는 다른 방법으로 방화벽 지원을 제공할 수 있다. 횡단 컴포넌트(160)는, 복수의 NAT 프로토콜에 따라 동작하는 하나 이상의 네트워크 어드레스 번역기(NAT)를 포함할 수 있다. 이러한 프로토콜은 하나 이상의 최종 사용자 애플리케이션들 간의 통신을 가능하게 한다.
일 양태에 따르면, 시스템(100)은, 일반적으로 집중된 서버들이나 인터넷 인프라스트럭처 변경들을 요구하지 않고서 관련된 장치(120)들의 위치가 찾아질 수 있는 시스템을 제공한다. 찾기 제공자(130)는, 예를 들어, 장치 애칭, GUID, 공중 IP/포트 쌍, 사설 IP/포트 쌍, NAT 터널 만료 시간, 및 장치에 대한 라우팅을 위한 포트를 저장할 수 있다. 장치 찾기 제공자는, 예를 들어 DNS 룩업을 통해 도달할 수 있는 정적 또는 동적 IP에서 잘 알려져 있는 포트 상에서 실행될 수 있다. 장치(120)는 필요하다면 자신의 현재 위치를 하나 이상의 장치 찾기 제공자에 등록할 수 있다. 찾기 제공자(130)는 일반적으로 도메인 네임 서비스(DNS)로부터의 애칭을 이용하여 액세스가능하다. 찾기 제공자(130)는 장치의 애칭이나 GUID의 어드레스 전달 요구에 응답한다. 또한, 찾기 제공자(130)는 문의에 대한 액세스 제어 리스트(ACL)를 가질 수 있고 안전한 소켓을 통해, 예를 들어, 클라이언트 및 서버 증명서를 이용하는 SSL/TLS을 통해, 공유된 비밀이나 다른 유형의 보안 메카니즘을 통해 위치 갱신을 인증할 수 있다.
시스템(100)에 의해 로밍 또는 모바일 네트워크 장치(120)들 간의 통신 기능을 자동으로 판정하고 구성할 수 있다. 대형 서버 시스템을 수동으로 구성하고 선등록하는 종래 시스템에서의 문제점들은, 추가 서비스 정보와 함께 관련된 로밍 서비스의 인터넷 프로토콜(IP) 어드레스 및 포트번호를 탐색하는 데 호스트가 이용할 수 있는 찾기 서비스를 생성함으로써 줄어든다. 예를 들어, 장치(120) 또는 컴포넌트가 IP 어드레스를 얻고 네트워크 어드레스 번역기(NAT) 컴포넌트(160)를 통해 포트를 매핑한 후에, 이 장치는 각 찾기 서비스(130)에 컨택트할 수 있고 이에 따라 자신의 대응 IP/포트 쌍을 자동으로 등록할 수 있다. 유사하게, 이 장치는 동일하거나 다른 찾기 서비스(130)에 컨택트하여 관심 대상인 다른 네트워크 컴포넌트들의 위치를 자동으로/동적으로 알아낼 수 있다. 찾기 서비스는 필요시 정적 IP 어드레스 및 잘 알려져 있는 포트 번호에서 존재할 수 있지만, 예를 들어 잘 알려져 있거나 소정의 포트 아이덴티티를 통해 DYN-DNS(동적 도메인 네임 서비스)를 이용하여 동적 컴포넌트들을 포함할 수도 있다. 또한, 찾기 서비스는 DNS 게이트웨이 PNRP에 대한 PNRP(피어 네임 찾기 프로토콜)를 직접적으로 이용하여 또는 어드레스 찾기 서비스에 대한 다른 이름을 이용하여 위치가 찾아질 수 있다.
찾기 서비스 제공자(130)는 전달 어드레스에 대한 자신의 내부 데이터베이스를 이용하여 어드레스를 찾을 수 있다. 로밍 호스트 상의 서비스에 컨택트하는 것에 관심을 두는 호스트는 일반적으로 찾기 제공자(130) 또는 서비스에 컨택트하여 로밍 장치(120)에 대하여 최종적으로 알려진 IP 어드레스 및 포트를 판정한다. 이에 따라, 이러한 모바일 호스트는 그 IP/포트 쌍에서 서비스에 직접적으로 컨택트 할 수 있다. 다른 가능한 해결책들에 비하여 이러한 해결책의 한 가지 이점은, 일반적으로 중심 서버 또는 인터넷 인프라스트럭처 수정을 필요로 하지 않는다는 점이다. 시스템(100)에 의해 해결되는 문제의 구체적인 예는, 서로 다른 위치들에 걸쳐 이동하며 하나의 랩탑에서 웹 서비스를 갖고 다른 하나의 랩탑에서 웹 서비스 클라이언트를 갖는 2개 이상의 랩탑에 관한 것이다. 인식할 수 있듯이, 다양한 통신 애플리케이션들이 지원될 수 있다. 다른 양태로는, 캐스케이딩된 NAT 컴포넌트(160)들이 일례로 장치(120)를 위해 자동화 어드레스 판정 포트 매핑을 지원하도록 횡단할 수 있는 NAT 횡단 시스템 및 방법이 있다.
도 2 및 도 3은 로밍 장치를 위한 자동화 어드레스 찾기 프로세스를 예시한다. 설명의 편의상, 방법들이 일련의 액트 또는 다수의 액트로 도시되고 설명되고 있지만, 일부 액트들이 서로 다른 순서로 발생하고 그리고/또는 본 명세서에서 설명하고 도시하는 다른 액트들과 동시에 발생할 수 있기 때문에 주요 방법이 액트의 순서에 의해 한정되지 않는다는 것을 이해 및 인식할 것이다. 예를 들어, 당업자는 하나의 방법이 상태도에서와 같이 일련의 상호관계 상태나 이벤트로 표현될 수 있다는 것을 이해 및 인식할 것이다. 게다가, 예시한 모든 액트들이 본 명세서에서 설명하는 바와 같은 방법을 구현할 필요는 없다.
이제 도 2를 참조하면, 예시적인 찾기 제공자 프로세스(200)가 도시되어 있다. 이 양태에 따르면, 단계(210)에서, 방법은 찾기 제공자를 현재의 호스트 전달 어드레스로 갱신하는 것으로 예시되어 있다. 이것은, 단계(220)에서 찾기 제공자를 갱신하도록 메시지를 송신하고 단계(230)에서 파라미터를 찾기 제공자에게 송신 하는 것을 포함한다. 예를 들어, 로밍 호스트 서비스는, 예를 들어, WS-이벤팅 메시지를 이용하여 SOAP 메시지를 위치 이벤트의 변경과 함께 찾기 제공자에게 송신한다. 단계(230)에서, 이 이벤트는, 예를 들어, 서비스의 애칭, GUID, 라우팅가능 공중 IP/포트 쌍, 사설 IP/포트 쌍, IP 어드레스 임대 시간, NAT 터널 임대 시간을 포함한다.
단계(240)에서, 로밍 호스트의 서비스 어드레스 및 IP 포트를 판정하는 방법을 제공한다. 이것은, 단계(250)에서 지정 WS-탐색(directed WS-discovery)을 통해 호스트의 어드레스를 찾고 단계(260)에서 전달 어드레스 매치로 탐색 요구에 응답하는 것을 포함한다. 이 예에서, 호스트의 서비스 어드레스 및 포트를 찾으려면, 클라이언트 호스트는 전역 고유 식별자(GUID)를 이용하고 찾기 제공자에게 향하는 탐색을 이용하여 찾기를 수행한다. 단계(260)에서, 찾기 제공자는 호스트의 서비스 어드레스를 위한 어드레스 및 포트 정보를 포함하는 찾기-매치로 응답한다.
도 3은 네트워크 어드레스 번역기를 횡단하는 프로세스(300)의 일례를 도시한다. 이 방법(300)은 찾기 제공자를 현재의 호스트 어드레스로 갱신하고 캐스케이딩된 네트워크 어드레스 번역기(NAT)를 개방하는 것이다. 프로세스(300)는 단계(310)에서 NAT 또는 방화벽 파라미터를 자동적으로 탐색하고 단계(320)에서 네트워크 어드레스를 요구하는 것을 포함한다. 이에 따라, 단계(330)에서 장치 풀로부터 로밍 장치를 위한 어드레스가 선택된다. 단계(340)에서는, 찾기 제공자가 통신을 위한 외부 어드레스로 장치에 응답하는 한편, 단계(350)에서는, 복수의 캐스케이딩된 NAT가 자동적으로 개방된다. 프로세스(300)를 예시하고자, 다음에 따르는 예를 적용할 수 있다.
NAT이나 방화벽 뒤에 숨겨진 호스트는 먼저 자신이 인터넷으로부터 차폐되어 있는며 외부 개시 접속을 수신할 수 없다는 것을 알아야 한다. 외부 액세스를 얻고자 하는 호스트는 예를 들어 WS-탐색(Discovery)을 이용하여 WSD 인에이블된 NAT 또는 방화벽을 탐색해야 한다. 이후, 호스트는 WSD 인에이블된 NAT/방화벽으로부터 외부 IP 어드레스 및 포트 쌍을 요구한다. 호스트는 자신이 외부 개시 접속의 수신에 대하여 인가되어 있음을 나타내고자 NAT/방화벽에게 보안 자격 증명서를 제시할 수 있다. NAT/방화벽은, 자신의 장치 IP 풀로부터 인터넷 프로토콜(IP) 어드레스 및 그 IP 어드레스를 위한 풀로부터 포트를 선택할 수 있고 이후 포트와 IP를 호스트의 내부 IP/포트 쌍에 매핑할 수 있다. 이에 따라, NAT/방화벽은 예를 들어 임대 시간과 함께 외부 매핑된 IP 어드레스 및 포트 번호로 호스트 장치에 응답할 수 있다. 단계(350)에서, 캐스케이딩된 NAT를 개방하는 프로세스가 제공된다. 예를 들어, 호스트가 캐스케이딩된 2개 이상의 NAT 뒤에 위치할 때, 예를 들어 업스트림 NAT/FW를 위해 WS-탐색을 수행하고 하위 NAT의 외부 포트들 중 하나에 호스트를 위한 포트 및 IP 어드레스를 매핑하는 것은 하위 NAT가 담당한다. 이에 따라, 업스트림 NAT/FW는 라우팅가능 IP/포트 쌍을 매핑할 수 있고 그 값을 하위 NAT에 리턴할 수 있다. 호스트 장치 또는 하위 NAT를 위한 자격 증명서를 이용하여, 각 NAT가 포트를 개방하는 것을 인가할 수 있다.
도 4는 어드레스 찾기를 위한 시스템(400)의 일례를 도시한다. 이 예에서, 내부 네트워크에서 WS 저장 서비스를 위한 디지털 카메라 클라이언트(410)가 제공 된다. 카메라(410)는 다음에 따르는 시퀀스로 퍼스널 컴퓨터(420)에 이미지를 저장한다. 즉, 저장 서비스(WSSS)는 예를 들어 웹 서비스 기반 인터넷 게이트웨이 장치(IGD) wsdl을 이용하여 외부 IP/포트 쌍을 요구한다. 이후, WSSS는 등록 갱신을 IGD에 존재할 수 있는 자신의 찾기 서비스에 송신한다. IGD는 WSSS를 위한 외부 IP/포트 및 내부 IP/포트 쌍을 저장하고 IGD 탐색 서비스는 WSSS를 위한 찾기 요구에 주의를 기울인다. 카메라(410)는 IGD의 외부 어드레스 상의 탐색 서비스에 접속하고 IGD는 국부적으로 매핑된 장치로부터 발생한 찾기 메시지를 검출한다. IGD는 저장 서비스의 내부 IP 및 포트 쌍을 찾고, 카메라(410)는 랩탑(420)의 저장 서비스에 직접 접속한다. 카메라(410)(또는 임의의 네트워크 장치)는 이것을 프린터 서비스(430)를 위해 또는 실질적으로 다른 임의의 서비스를 위해 반복할 수도 있다.
도 5를 참조하면, 외부 네트워크 위치 찾기 시스템(500)이 도시되어 있다. 이 예에서, 시스템(500)은 다음과 같이 동작할 수 있다. 카메라(510)(또는 다른 로밍 장치)는 IGD의 외부 어드레스 상의 탐색 서비스에 접속하고 자신의 전달 어드레스 정보를 갱신한다. 저장 서비스(520)는 새로운 네트워크로 이동하고 IGD 상의 전달 어드레스 정보를 갱신한다. 카메라(510)는 저장 서비스(520)와 통신하여 찾기 요구를 IGD에 송신한다. IGD는 예를 들어 인터넷을 통해 저장 서비스의 공중 IP 및 포트 쌍을 찾는다. 이후, 카메라(510)는 자신의 공중 어드레스 및 역 NAT를 통해 랩탑의 저장 서비스에 직접 접속한다. 저장 서비스는 카메라를 찾을 필요가 있을 수 있으며 이를 찾기 메시지를 IGD에 송신함으로써 행할 수 있다.
도 6을 참조하면, 다른 외부 네트워크 위치 찾기 시스템(600)이 도시되어 있다. 이 예에서, 시스템(600)은 다음과 같이 동작한다. 즉, 카메라(610)(또는 다른 장치)가 IGD의 외부 어드레스 상의 탐색 서비스에 접속한다. IGD는 저장 장치의 공중 IP 및 포트 쌍을 찾는다. 카메라(610)는 공중 어드레스 및 역 NAT를 통해 랩탑(620)의 저장 서비스에 직접 접속된다. 카메라(620)는 프린터(630)(또는 다른 장치)의 웹 서비스에 대한 문의를 반복하고 IDG의 공중 어드레스 및 역 NAT를 통해 프린터 또는 다른 장치에 접속된다.
도 7을 참조하면, 네트워크 어드레스 번역기 횡단 시스템(700)의 일례가 도시되어 있다. 이 예에서, 시스템은 WSD 장치에 인터넷 라우팅가능 IP 어드레스 및 포트를 제공하고, 하나 이상의 NAT 뒤에 있을 수 있는 WSD 장치에 그 라우팅가능 IP/포트 쌍 상의 TCP 터널을 제공한다. 예를 들어, 이것은 IGD2(710) 및 IGD1(720)을 WSD 클라이언트 및 서버로서 포함할 수 있고, 여기서 IGD0(730)은 WSD 서버 및 탐색 프록시이다. 랩탑(740)은 로컬 IGD(IGD2; 710)로부터 외부 IP 및 포트 쌍을 요구한다. IGD2는 포트를 매핑하고 업스트립 IGD1(720)로부터 매핑되는 외부 포트 쌍을 요구한다. IDG1은 포트를 매핑하고 업스트림 IDG0(730)으로부터 매핑되는 외부 포트 쌍을 요구한다. IGD0은 포트를 매핑하고, 외부 IP 어드레스, 포트 쌍, 임대 시간으로 IGD1(720)에 응답한다. IGD1은 외부 IP/포트를 IGD2(710)에 전달하고 이 IGD2는 그 IP/포트 쌍을 랩탑(740)(또는 다른 컴퓨팅 장치)에게 전달한다. 랩탑(740)은 이제 외부 IP/포트 쌍을 이용하여 자신의 위치를 찾기 제공자에 등록할 수 있다.
도 8은 클라이언트 시스템 및 서비스를 위한 탐색 시스템(800)의 일례이다. 이 시스템(800)은, 탐색 프로토콜(830)을 통해 하나 이상의 목표 서비스(820)와 통신하려는 하나 이상의 클라이언트(810)를 포함한다. 도시한 바와 같이, 하나 이상의 프로브(840)는 접속을 확립하기 위해 클라이언트(810)와 서비스(830) 간에 위치할 수 있고, 여기서 각 메시지는 프로브에 응답하여 서비스로부터 온 것일 수 있다.
일반적으로, 멀티캐스트 탐색 프로토콜은 서비스(820)의 위치를 알아내기 위하여 제공될 수 있다. 탐색의 주요 모드는 클라이언트(810)가 하나 이상의 목표 서비스(820)를 탐색하는 것이다. 목표 서비스의 유형에 의해 목표 서비스(820), 목표 서비스에 해당하는 스코프, 또는 둘 다를 찾기 위해, 클라이언트는 멀티캐스트 그룹에 프로브 메시지(840)를 송신하고, 프로브에 매칭되는 목표 서비스는 응답을 클라이언트(810)에게 직접 송신한다. 이름으로 목표 서비스의 전달 어드레스를 위치 지정하기 위해, 클라이언트(810)는 동일한 멀티캐스트 그룹에 찾기 요구 메시지를 송신하고, 다시, 매칭되는 목표 서비스는 응답을 클라이언트에게 직접 송신한다. 폴링의 필요성을 최소화하기 위해, 목표 서비스가 네트워크에 조인할 때, 목표 서비스는 동일한 멀티캐스트 그룹에 안내 메시지를 송시한다. 이 멀티캐스트 그룹에 주의함으로써, 클라이언트(810)는 반복되는 프로빙 없이 새롭게 이용가능한 목표 서비스를 검출할 수 있다.
대량의 엔드포인트에 맞추고자, 네트워크 상에서 탐색 프록시가 이용가능하면 멀티캐스트 삭제 동작을 제공할 수 있다. 특히, 탐색 프록시가 멀티캐스트에 의해 송신된 찾기 요구 또는 프로브를 검출하면, 탐색 프록시는 자신을 위한 안내를 송신한다. 이러한 안내를 청취함으로써, 클라이언트는 탐색 프록시를 검출하고 탐색 프록시에 특정한 프로토콜을 이용하려 스위칭한다. 그러나, 탐색 프록시가 응답이 늦으면, 클라이언트는 여기서 설명하는 프로토콜을 다시 사용하려 한다.
DHCP, DNS, 도메인 컨트롤러, 디렉토리 등과 같은 명시적 네트워크 관리 서비스로 네트워크를 지원하려면, 클라이언트 및/또는 목표 서비스는 본 명세서에서 정의한 바와 다르게 동작하도록 구성될 수 있다. 예를 들어, 다른 명세는, 탐색 프록시의 어드레스를 포함하는 잘 알려져 있는 DHCP 레코드를 정의할 수 있고, 그 명세를 따르기 위해서는, 엔드포인트가 멀티캐스트 그룹이 아닌 이 탐색 프록시에 메시지를 송신할 필요가 있다. 이러한 구성의 특정 수단을 다양하고도 서로 다른 프로세스들로 제공할 수 있지만, 이러한 임의의 구성에 의해 클라이언트 및/또는 목표 서비스가 주의깊게 관리되는 애드혹(ad-hoc) 네트워크들 간에 부드럽게 이동할 수 있다. 다중 탐색 프록시를 이용할 수도 있다. 예를 들어, 셀폰은 작업 탐색 프록시 및 홈 탐색 프록시 상의 자신의 전달 어드레스를 갱신할 수 있다. 그 셀폰 상의 위치를 찾는 클라이언트는 이러한 작업 탐색 프록시나 및 홈 탐색 프록시를 이용하여 그 위치를 찾을 수 있다.
다음에 따르는 것은 프로브 메시지를 위한 XML를 예시한다.
위 예에서의 라인 07-09는 메시지가 프로브임을 가리키며, 라인 13은 메시지가 잘 알려져 있는 어드레스로 송신되고 있음을 가리킨다[RFC 2141]. 명시적 ReplyTo SOAP 헤더 블록([WS-Addressing])이 존재하지 않기 때문에, 이 프로브에 대한 어떠한 응답이라도 프로브 전달 헤더의 포트 및 소스 IP 어드레스에게 UDP 패킷으로서 전송될 것이다. 라인 17-21은 프로브 상에 2개의 제약을 특정하는데, 여기서 라인 17은 기본 인쇄 유형을 구현하는 목표 서비스에 대한 응답을 제약하고, 라인 18-21은 예를 들어 엔지니어링부를 위한 스코프에서 목표 서비스에 대한 응답 을 제약한다. 일반적으로, 이러한 제약 둘 다를 만족하는 목표 서비스만이 응답한다. 2개의 제약이 이 예에 포함되어 있지만, 프로브가 이 둘을 반드시 포함해야 하는 것은 아니다.
다음에 따르는 XML은 상술한 예에서의 프로브 메시지에 응답하는 프로브 매치의 일례를 예시한다.
프로브 응답 메시지에서 라인 07-09는, 이 메시지가 프로브 매치(Probe Match)임을 가리키고, 라인 13-15는 메시지가 이 응답에 선행하는 프로브 메시지에 대한 응답임을 가리킨다. 프로브가 명시적 ReplyTo SOAP 헤더 블록을 갖지 않았기 때문에, 라인 16-18은 응답이 프로브의 전달 헤더의 포트 및 소스 IP 어드레스에 송신되었음을 가리킨다. 라인 22-35는 단일 목표 서비스를 설명한다. 라인 23-27은, 네트워크 인터페이스에 걸쳐 일정한 목표 서비스를 위한 안정되고 고유한 식별자, 전달 어드레스, 및 IPv4/v6를 포함한다. 이 경우, 그 값은, UUID 스킵 URI이지만, 안정성 및 고유성 요구 사항을 충족하면 (라인 33에서의 URI처럼) 전달 URI일 수 있다. 라인 28은 목표 서비스에 의해 구현되는 유형(예를 들어, [WSDL Ll] 참조)을 열거하며, 이 예에서, 어드밴스(advanced) 인쇄 유형뿐만 아니라 프로브에 매칭된 기본 인쇄 유형을 열거한다.
라인 29-32는 2개의 관리 스코프를 열거하는데, 하나는 프로브에 매칭된 것이며 나머지 하나는 특정한 물리적 위치에 특정된 것이다. 라인 33은 목표 서비스에 도달할 수 있는 전달 어드레스를 가리키며, 이 경우, 단일 HTTP 전달 어드레스이다. 라인 34는 목표 서비스를 위한 메타데이터의 버전을 포함하고, 이 버전은 (라인 28-33을 비롯하여) 목표 서비스를 위한 메타데이터에 변경이 있는 경우 증분된다.
본 발명의 청구 대상의 다양한 양태들의 문맥을 제공하기 위해, 다음에 따르는 설명뿐만 아니라 도 9 및 도 10은 본 발명의 청구 대상의 다양한 양태들이 구현될 수 있는 적절한 환경의 간략하고도 일반적인 설명을 제공하고자 한다. 청구 대 상을 컴퓨터 및/또는 컴퓨터들 상에서 실행되는 컴퓨터 프로그램의 컴퓨터 실행가능 명령어의 문맥으로 설명하였지만, 당업자라면 본 발명이 다른 프로그램 모듈들과 조합하여 구현될 수도 있다는 점을 인식할 것이다. 일반적으로, 특정한 태스크를 구현하고 그리고/또는 특정한 추상 데이터 유형을 구현하는 프로그램 모듈에는, 루틴, 프로그램, 컴포넌트, 데이터 구조 등이 있다. 게다가, 당업자라면 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치(예를 들어, PDA, 전화, 시계 등), 마이크로프로세서 기반 또는 프로그래밍가능 가전 제품이나 산업 제품 등뿐만 아니라 단일 프로세서나 멀티프로세서 컴퓨터 시스템, 미니 컴퓨팅 장치, 메인프레임 컴퓨터를 비롯하여 다른 컴퓨터 시스템 구성으로 방법들을 실시할 수 있다는 것을 인식할 것이다. 예시한 양태들은, 통신 네트워클르 통해 링크된 원격 처리 장치들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경에서 실시될 수도 있다. 그러나, 모든 양태는 아니지만 일부 양태는 독립형 컴퓨터에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
도 9를 참조하면, 다양한 양태들을 구현하기 위한 예시적 환경(910)이 컴퓨터(912)를 포함하고 있다. 컴퓨터(912)는 처리 유닛(914), 시스템 메모리(916), 시스템 버스(918)를 포함한다. 시스템 버스(918)는 시스템 메모리(916)를 비롯한 시스템 컴포넌트들을 처리 유닛(914)에 결합하지만, 이러한 예로 한정되지 않는다. 처리 유닛(914)은 다양한 이용가능 프로세서들 중 임의의 것일 수 있다. 듀얼 마이크로프로세서 및 다른 멀티프로세서 아키텍쳐를 처리 유닛(914)으로서 이용할 수도 있다.
시스템 버스(918)는, 메모리 버스나 메모리 컨트롤러, 주변 버스나 외부 버스, 및/또는 11비트 버스, ISA(Industrial Standard Architecture), MSA(Micro-Channel Architecture), EISA(Extended ISA), IDE(Intelligent Drive Electronics), VLB(VESA Local Bus), PCI(Peripheral Component Interconnect), USB(Universal Serial Bus), AGP(Advanced Graphics Port), PCMCIA(Personal Computer Memory Card International Association bus), CardBUS, 블루투스, Firewire 1394, 및 SCSI(Small Computer Systems Interface)를 비롯한 임의의 다양한 이용가능 버스 아키텍쳐를 이용하는 로컬 버스를 포함하는 버스 구조의 여러 유형들 중 임의의 것일 수 있다.
시스템 메모리(916)는 휘발성 메모리(920) 및 비휘발성 메모리(922)를 포함한다. 컴퓨터(912) 내의 소자들 간에 정보를 전달하는 기본 루틴을 포함하는 기본 입력/출력 시스템(BIOS)은 비휘발성 메모리(922)에 저장된다. 예를 들어, 비휘발성 메모리(922)는 판독 전용 메모리(ROM), 프로그래밍가능 ROM(PROM), 전기적 프로그래밍가능 ROM(EPROM), 전기적 소거가능 ROM(EEPROM), 또는 플래시 메모리를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리(920)는 외부 캐시 메모리로서 기능하는 랜덤 액세스 메모리(RAM)를 포함한다. 예를 들어, RAM은 동기 RAM(SRAM), 동적 RAM(DRAM), 동기 DRAM(SDRAM), 더블 데이터 레이트 SDRAM(DDR SDRAM), 향상된 SDRAM(ESDRAM), 싱크링크 DRAM(SLDRAM), 및 직접 램버스 RAM(RDRAM)과 같은 많은 형태로 이용가능하지만, 이에 한정되지 않는다.
컴퓨터(912)는 분리식/비분리식, 휘발성/비휘발성 컴퓨터 저장 매체도 포함 한다. 도 9는, 예를 들어, 디스크 저장 장치(924)를 예시하고 있다. 디스크 저장 장치(924)는, 자기 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈(Jaz) 드라이브, 집(Zip) 드라이브. LS-100 드라이브, 플래시 메모리 카드, 또는 메모리 스틱과 같은 장치를 포함하지만, 이에 한정되지 않는다. 또한, 디스크 저장 장치(924)는 저장 매체를 별도로 포함하거나, 컴팩트 디스크 ROM 장치(CD-ROM), CD 기록가능 드라이브(CD-R 드라이브), CD 재기입가능 드라이브(CD-RW 드라이브), 또는 DVD ROM 드라이브(DVD-ROM)와 같은 광 디스크 드라이브를 비롯한 다른 저장 매체와 함께 포함할 수 있지만, 이러한 예로 한정되지 않는다. 디스크 저장 장치(924)와 시스템 버스(918)의 접속을 용이하게 하고자, 인터페이스(926)와 같은 분리식 또는 비분리식 인터페이스가 전형적으로 사용된다.
도 9는 적절한 운영 환경(910)에서 설명되는 기본 컴퓨터 리소스와 사용자 간의 매개로서 기능하는 소프트웨어를 설명하고 있음을 인식할 것이다. 이러한 소프트웨어는 운영 체제(928)를 포함한다. 운영 체제(928)는, 디스크 저장 장치(924)에 저장될 수 있으며, 컴퓨터 시스템(912)의 리소스들을 제어 및 할당하도록 기능한다. 시스템 애플리케이션(930)은 시스템 메모리(916)나 디스크 저장 장치(924)에 저장된 프로그램 데이터(934) 및 프로그램 모듈(932)을 통해 운영 체제(928)에 의해 리소스들의 관리를 활용한다. 본 명세서에서 설명하는 청구 대상은 다양한 운영 체제들 또는 운영 체제들의 조합으로 구현될 수 있음을 인식할 것이다.
사용자는 입력 장치(936)를 통해 컴퓨터(912)에 커맨드 또는 정보를 입력한 다. 입력 장치(936)는, 마우스, 트랙볼, 스타일러스, 터치 패드와 같은 포인팅 장치, 키보드, 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 등을 포함하지만, 이에 한정되지 않는다. 이러한 입력 장치 및 다른 입력 장치는 인터페이스 포트(938)를 거쳐 시스템 버스(918)를 통해 처리 유닛(914)에 접속된다. 인터페이스 포트(938)는, 예를 들어, 직렬 포트, 병렬 포트, 게임 포트, 유니버설 직렬 버스(USB)를 포함한다. 출력 장치(940)는 입력 장치(936)와 동일한 유형의 포트들 중 일부를 이용한다. 따라서, 예를 들어, USB 포트를 이용하여 컴퓨터(912)에 입력을 제공하고 컴퓨터(912)로부터 출력 장치(940)로 정보를 출력할 수 있다. 출력 아답터(942)는, 특정 아답터들을 요구하는 다른 출력 장치(940)들 중에서 모니터, 스피커, 프린터와 같은 일부 출력 장치(940)들이 존재한다는 것을 예시하도록 제공된다. 출력 아답터(942)는, 예를 들어, 출력 장치(940)과 시스템 버스(918) 간의 접속 수단을 제공하는 비디오 및 사운드 카드를 포함하지만, 이에 한정되지 않는다. 다른 장치 및/또는 장치의 시스템이 원격 컴퓨터(944)와 같이 입력 및 출력 기능 둘 다를 제공한다는 점에 주목하길 바란다.
컴퓨터(912)는 원격 컴퓨터(944)와 같은 하나 이상의 원격 컴퓨터에 대하여 논리적 접속을 이용하여 네트워크화 환경에서 동작할 수 있다. 원격 컴퓨터(944)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 어플라이언스, 피어 장치 또는 다른 공통 네트워크 노드 등일 수 있으며, 전형적으로 컴퓨터(912)에 대하여 설명한 소자들의 상당 부분 또는 전부를 포함한다. 편의상, 메모리 저장 장치(946)가 원격 컴퓨터(944)와 함께 예시되어 있다. 원격 컴퓨터(944)는 네트워크 인터페이스(948)를 통해 컴퓨터(912)에 논리적으로 접속되고 이후 통신 접속부(950)를 통해 물리적으로 접속된다. 네트워크 인터페이스(948)는 로컬 에리어 네트워크(LAN) 및 와이드 에리어 네트워크(WAN)와 같은 통신 네트워크를 포함한다. LAN 기술은 광섬유 분산 데이터 인터페이스(FDDI), 동선 분산 데이터 인터페이스(CDDI), 이더넷/IEEE 802.3, 토큰 링/IEEE 802.5 등을 포함한다. WAN 기술은, 포인트 투 포인트 링크, 종합 정보 통신망(IDSN) 및 그 변형과 같은 회로 스위칭 네트워크, 패킷 스위칭 네트워크, 디지털 가입자 라인(DSL), 802.1 IG, 802.1 IAJB, 802.UN, 지그비, 울트라 와이드밴드, 블루투스, IRDA, IP/USB를 포함하지만, 이에 한정되지 않는다.
통신 접속부(950)는 네트워크 인터페이스(948)를 버스(918)에 접속하는 데 이용되는 하드웨어/소프트웨어를 가리킨다. 통신 접속부(950)가 예시의 편의상 컴퓨터(912) 내부에 있는 것으로 도시되어 있지만, 컴퓨터(912) 외부에 있을 수도 있다. 네트워크 인터페이스(948)와의 접속에 필요한 하드웨어/소프트웨어는, 예를 들어, 정규 전화급 모뎀, 케이블 모뎀, DSL 모뎀을 비롯한 모뎀, IDSN 아답터, 이더넷 카드와 같은 내부 및 외부 기술들을 포함한다.
도 10은 샘플 컴퓨팅 환경(1000)의 개략적인 블록도이다. 시스템(1000)은 하나 이상의 클라이언트(1010)를 포함한다. 클라이언트(1010)는 하드웨어 및/또는 소프트웨어일 수 있다(예를 들어, 스레드, 프로세스, 컴퓨팅 장치). 또한, 시스템(1000)은 하나 이상의 서버(1030)를 포함한다. 서버(1030)도 하드웨어 및/또는 소프트웨어일 수 있다(예를 들어, 스레드, 프로세스, 컴퓨팅 장치). 서버(1030)는 예를 들어 스레드를 수용하여 변환을 수행할 수 있다. 클라이언트(1010)와 서버(1030)간의 한 가지 가능한 통신은 2개 이상의 컴퓨터 프로세스 간에 송신되도록 구성된 데이터 패킷의 형태일 수 있다. 시스템(1000)은 클라이언트(1010)와 서버(130)간의 통신을 용이하게 하는 데 이용될 수 있는 통신 프레임워크(1050)를 포함한다. 클라이언트(1010)는 클라이언트(1010)에 대하여 국부적으로 정보를 저장하는 데 이용될 수 있는 하나 이상의 클라이언트 데이터 저장소(1060)에 동작가능하게 접속된다. 유사하게, 서버(1030)는 서버(1030)에 대하여 국부적인 정보를 저장하는 데 이용될 수 있는 하나 이상의 서버 데이터 저장소(1040)에 동작가능하게 접속된다.
상술한 것은 다양한 예시적 양태들을 포함한다. 물론, 이러한 양태들을 설명하기 위해 컴포넌트들 또는 방방들의 상상할 수 있는 모든 조합을 설명하지 못할 수 있지만, 당업자라면 많은 추가 조합 및 치환이 가능하다는 것을 인식할 것이다. 이에 따라, 본 명세서에서 설명하는 양태들은 청구범위의 사상 및 범위에 속하는 이러한 모든 변경, 수정, 변동을 포함하는 것이다. 게다가, 상세한 설명 및 청구범위에서 사용되는 "구비"라는 용어는, "포함"이 이용시 청구항에서 과도적 용어로 해석되기 때문에 "포함"이라는 용어와 유사한 방식으로 포괄적인 것이다.
Claims (22)
- 컴퓨터 실행가능 명령어들을 실행하는 적어도 하나의 프로세서를 포함하는 네트워크 통신 시스템으로서, 상기 명령어들은 실행되어,찾기 제공자(resolution provider); 및탐색 컴포넌트(discovery component)를 제공하고,상기 찾기 제공자는,심플 오브젝트 액세스(Simple Object Access) 프로토콜 메시지를 수신하고 상기 심플 오브젝트 액세스 프로토콜 메시지에 의해 제공되는 서비스 애칭(service friendly name), GUID, 라우팅가능 공중 어드레스 및 포트 쌍, 어드레스 임대 시간(address lease time), 터널 임대 시간 중 하나 이상을 포함하는 적어도 하나의 네트워크 장치에 대한 어드레스 정보를 저장하는 단계;클라이언트 장치로부터 찾기 요청(resolution request)을 수신하는 것에 응답하여 목표 서비스(target service)를 제공하는 적어도 하나의 네트워크 장치에 대한 네트워크 어드레스 및 포트 정보를 자동으로 판정하는 단계;케스케이딩된 네트워크 어드레스 변환기들(cascade of Network Address Translators) 중에 배치된 네트워크 어드레스 변환기(NAT) 뒤의 포트들이 개방(opening)되도록 하는 단계 - 상기 포트들이 개방되도록 하는 단계는, 상기 네트워크 어드레스 변환기들에 액세스하기 위해 상기 클라이언트 장치의 보안 자격 증명서(security credentials)를 처리하고 상기 클라이언트 장치가 인증된 경우 상기 네트워크 어드레스 변환기들과 통신하기 위한 외부 어드레스 및 포트 정보를 리턴함으로써 실행됨 -를 수행하고,상기 탐색 컴포넌트는,상기 클라이언트 장치의 상기 외부 어드레스 및 포트 정보를 상기 네트워크 어드레스 변환기의 외부 포트로 매핑하는 단계;적어도 하나의 네트워크 장치에 대한 상기 네트워크 어드레스를 판정하는 단계;상기 클라이언트 장치로부터 제1 프로브 메시지(probe message)를 수신하는 단계 - 상기 제1 프로브 메시지는 상기 목표 서비스와 관련된 적어도 하나의 요구 특징(desired characteristic)을 포함함 - ;상기 적어도 하나의 요구 특징을 포함하는 상기 목표 서비스를 제공하는 적어도 하나의 네트워크 장치에 제2 프로브 메시지를 전송하는 단계 - 상기 제2 프로브 메시지는, 상기 적어도 하나의 네트워크 장치가 어드레스를 사용하여 상기 클라이언트 장치에 응답 메시지를 직접 전송함으로써 상기 제1 프로브 메시지에 응답 가능하게 하기 위해, 상기 적어도 하나의 요구 특징과 상기 클라이언트 장치의 상기 어드레스를 포함하는 정보를 포함함 -를 수행하는, 네트워크 통신 시스템.
- 제1항에 있어서,적어도 하나의 네트워크 어드레스 변환기 컴포넌트(Network Address Translator; NAT)를 더 포함하는, 네트워크 통신 시스템.
- 제2항에 있어서,하나 이상의 NAT 유형을 판정 및 선택하는 데 채용되는 클라이언트와 관련된 문의 컴포넌트(query component)를 더 포함하는, 네트워크 통신 시스템.
- 제1항에 있어서,상기 찾기 제공자를 로밍 어드레스 정보로 갱신하는 이벤트 컴포넌트를 더 포함하는, 네트워크 통신 시스템.
- 제1항에 있어서,상기 클라이언트 장치와 상기 목표 서비스를 포함하는 상기 적어도 하나의 네트워크 장치 간의 접속을 판정하는 적어도 하나의 프로토콜 탐색 컴포넌트를 더 포함하는, 네트워크 통신 시스템.
- 제1항에 있어서,상기 찾기 제공자를 현재의 호스트 어드레스로 갱신하는 컴포넌트를 더 포함하는, 네트워크 통신 시스템.
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,로밍 호스트 서비스 어드레스 및 포트를 판정하는 컴포넌트를 더 포함하는 네트워크 통신 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,상기 찾기 제공자 또는 상기 탐색 컴포넌트를 실행하기 위한 컴퓨터 판독가능 명령어들을 내부에 저장하고 있는 컴퓨터 판독가능 저장 매체를 더 포함하는, 네트워크 통신 시스템.
- 적어도 하나의 프로세서에 의해 실행되는 네트워크 탐색 방법으로서, 상기 방법은,심플 오브젝트 액세스(Simple Object Access) 프로토콜 메시지를 처리하여 서비스 애칭(service friendly name), GUID, 라우팅가능 공중 어드레스 및 포트 쌍, 어드레스 임대 시간(address lease time), 터널 임대 시간 중 하나 이상을 포함하는 적어도 하나의 네트워크 장치에 대한 어드레스 정보를 저장하는 단계;중개 디스커버리 서비스(intermediary discovery service)를 통해 적어도 하나의 로밍 클라이언트 컴포넌트로부터 적어도 하나의 목표 서비스에게 프로브 메시지를 전송하는 단계 - 상기 프로브 메시지는 상기 적어도 하나의 목표 서비스와 관련된 적어도 하나의 응답 제약(response constraint)을 포함함 - ;상기 적어도 하나의 목표 서비스로부터 상기 적어도 하나의 로밍 클라이언트 컴포넌트와 연관된 소스 IP 어드레스에 직접 통신되는 프로브 응답 메시지를 수신하는 단계 - 상기 프로브 응답 메시지는 상기 적어도 하나의 목표 서비스가 상기 적어도 하나의 응답 제약을 충족함을 나타내는 정보를 포함함 - ;상기 프로브 응답 메시지에 기초하여 상기 적어도 하나의 목표 서비스에 대한 네트워크 어드레스 및 포트 정보를 자동으로 판정하는 단계; 및케스케이딩된 두 개 이상의 네트워크 어드레스 변환기들(cascaded Network Address Translators)의 포트들이 개방(opening)되도록 하는 단계 - 상기 포트들이 개방되도록 하는 단계는, 상기 네트워크 어드레스 변환기들에 액세스하기 위해 상기 적어도 하나의 로밍 클라이언트 컴포넌트의 보안 자격 증명서를 처리하고, 상기 적어도 하나의 로밍 클라이언트 컴포넌트가 인증된 경우 상기 네트워크 어드레스 변환기들과의 통신을 위해 외부 어드레스 및 포트 정보를 리턴하고, 상기 적어도 하나의 로밍 클라이언트 컴포넌트의 외부 IP 어드레스와 포트 정보를 상기 네트워크 어드레스 변환기들의 외부 포트에 매핑시킴으로써 수행됨 -를 포함하는, 네트워크 탐색 방법.
- 제17항에 있어서,상기 적어도 하나의 로밍 클라이언트 컴포넌트로부터 상기 적어도 하나의 목표 서비스에 직접 통신하는 단계를 더 포함하는, 네트워크 탐색 방법.
- 삭제
- 적어도 하나의 프로세서를 포함하는 네트워크 탐색 시스템으로서, 상기 프로세서는 실행되어,심플 오브젝트 액세스(Simple Object Access) 프로토콜 메시지를 처리하여 상기 심플 오브젝트 액세스 프로토콜 메시지에 의해 제공되는 서비스 애칭(service friendly name), GUID, 라우팅가능 공중 어드레스 및 포트 쌍, 어드레스 임대 시간(address lease time), 터널 임대 시간 중 하나 이상을 포함하는 적어도 하나의 네트워크 장치에 대한 어드레스 정보를 저장하는 수단;클라이언트와 적어도 하나의 목표 네트워크 컴포넌트 사이에서 통신하는 수단;중개 디스커버리 서비스(intermediary discovery service)를 통해 상기 클라이언트로부터 상기 적어도 하나의 목표 네트워크 컴포넌트에게 프로브 메시지를 전송하는 수단 - 상기 프로브 메시지는 상기 적어도 하나의 목표 네트워크 컴포넌트와 관련된 적어도 하나의 응답 제약(response constraint)을 포함함 - ;상기 적어도 하나의 목표 네트워크 컴포넌트로부터 프로브 응답 메시지를 수신하는 수단 - 상기 프로브 응답 메시지는 상기 적어도 하나의 목표 네트워크 컴포넌트가 상기 적어도 하나의 응답 제약을 충족함을 나타내는 정보를 포함함 - ;상기 클라이언트와 상기 적어도 하나의 목표 네트워크 컴포넌트 사이의 통신에 기초하여 상기 적어도 하나의 목표 네트워크 컴포넌트에 대한 네트워크 어드레스 및 포트 정보를 판정하는 수단; 및케스케이딩된 두 개 이상의 네트워크 어드레스 변환기들(cascaded Network Address Translators)의 포트들이 개방(opening)되도록 하는 수단 - 상기 포트들의 개방은 적어도, 상기 네트워크 어드레스 변환기들에 액세스하기 위해 상기 클라이언트의 보안 자격 증명서를 처리하고, 상기 클라이언트가 인증된 경우 상기 네트워크 어드레스 변환기들과의 통신을 위해 외부 어드레스 및 포트 정보를 리턴하고, 상기 클라이언트 컴포넌트 외부 IP 어드레스와 포트 정보를 상기 네트워크 어드레스 변환기들의 외부 포트에 매핑시킴으로써 수행됨 -을 구현하는, 네트워크 탐색 시스템.
- 컴퓨터 실행가능 명령어들을 실행하는 적어도 하나의 프로세서를 포함하는 네트워크 탐색 시스템으로서, 상기 명령어들은 실행되어,인터넷 게이트웨이 장치에서 구현되는 찾기 제공자(resolution provider);상기 인터넷 게이트웨이 장치에서 구현되는 탐색 컴포넌트(discovery component);클라이언트 장치 또는 적어도 하나의 네트워크 장치 중 적어도 하나의 라우팅 변경들(routing changes)을 사용하여 상기 찾기 제공자 또는 상기 탐색 컴포넌트를 갱신하기 위한 이벤트 컴포넌트; 및상기 클라이언트 장치와 공용 네트워크(public network) 사이의 통신을 중개하도록 구성된 횡단 컴포넌트(traversal component)를 제공하고,상기 찾기 제공자는,심플 오브젝트 액세스(Simple Object Access) 프로토콜 메시지를 수신하고 서비스 애칭(service friendly name), GUID, 라우팅가능 공중 어드레스 및 포트 쌍, 어드레스 임대 시간(address lease time), 터널 임대 시간 중 하나 이상을 포함하는 상기 적어도 하나의 네트워크 장치에 대한 어드레스 정보를 저장하는 단계;상기 클라이언트 장치로부터 찾기 요청(resolution request)을 수신하는 것에 응답하여 목표 서비스(target service)를 제공하는 적어도 하나의 네트워크 장치에 대한 네트워크 어드레스 및 포트 정보를 자동으로 판정하는 단계;케스케이딩된 두 개 이상의 네트워크 어드레스 변환기들(cascade of Network Address Translators)의 포트들이 개방(opening)되도록 하는 단계 - 상기 포트들이 개방되도록 하는 단계는 적어도, 상기 네트워크 어드레스 변환기에 액세스하기 위해 상기 클라이언트 장치의 보안 자격 증명서를 처리하고, 상기 클라이언트 장치가 인증된 경우 상기 네트워크 어드레스 변환기들과 통신하기 위한 외부 어드레스 및 포트 정보를 리턴함으로써 실행됨 -를 수행하고,상기 탐색 컴포넌트는,상기 클라이언트 장치의 상기 외부 어드레스 및 포트 정보를 상기 네트워크 어드레스 변환기들의 외부 포트로 매핑하는 단계;적어도 하나의 네트워크 장치에 대한 상기 네트워크 어드레스를 판정하는 단계 - 상기 판정하는 단계는, 상기 클라이언트 장치로부터 상기 목표 서비스와 관련된 적어도 하나의 요구 특징(desired characteristic)을 포함하는 제1 프로브 메시지(probe message)를 수신하고, 상기 목표 서비스를 제공하는 상기 적어도 하나의 네트워크 장치에 제2 프로브 메시지를 전송함으로써 수행되며,상기 제2 프로브 메시지는, 상기 적어도 하나의 네트워크 장치로 하여금 지정된 소스 IP 어드레스 및 포트로의 UDP(User Datagram Protocol) 패킷으로서 응답을 상기 클라이언트 장치에게 직접 전송하는 것에 의해 상기 제1 프로브 메시지에 응답 가능하게 하기 위해, 상기 적어도 하나의 요구 특징과 상기 클라이언트 장치의 상기 소스 IP 어드레스와 포트를 지정하는 전송 헤더(transport header)를 포함하는 정보를 포함함 - ;를 수행하는, 네트워크 탐색 시스템.
- 제21항에 있어서,상기 클라이언트 장치는 카메라를 포함하고 상기 적어도 하나의 네트워크 장치는 저장 장치 또는 프린터를 포함하는, 네트워크 탐색 시스템.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US67461905P | 2005-04-25 | 2005-04-25 | |
US60/674,619 | 2005-04-25 | ||
US11/291,062 US8117340B2 (en) | 2005-04-25 | 2005-11-30 | Trans-network roaming and resolution with web services for devices |
US11/291,062 | 2005-11-30 | ||
PCT/US2006/015722 WO2006116449A2 (en) | 2005-04-25 | 2006-04-24 | Trans-network roaming and resolution with web services for devices |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080010391A KR20080010391A (ko) | 2008-01-30 |
KR101247027B1 true KR101247027B1 (ko) | 2013-03-25 |
Family
ID=37188396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077022811A KR101247027B1 (ko) | 2005-04-25 | 2006-04-24 | 장치를 위한 웹 서비스를 이용하는 트랜스 네트워크 로밍및 찾기 |
Country Status (13)
Country | Link |
---|---|
US (1) | US8117340B2 (ko) |
JP (1) | JP5036704B2 (ko) |
KR (1) | KR101247027B1 (ko) |
CN (1) | CN101501665B (ko) |
AU (1) | AU2006241233B2 (ko) |
BR (1) | BRPI0609638B1 (ko) |
CA (1) | CA2601893C (ko) |
EG (1) | EG26499A (ko) |
MX (1) | MX2007011867A (ko) |
NO (1) | NO338965B1 (ko) |
RU (1) | RU2417418C2 (ko) |
TW (1) | TWI413389B (ko) |
WO (1) | WO2006116449A2 (ko) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266677B2 (en) * | 2000-12-20 | 2012-09-11 | Intellisync Corporation | UDP communication with a programmer interface over wireless networks |
US8117340B2 (en) | 2005-04-25 | 2012-02-14 | Microsoft Corporation | Trans-network roaming and resolution with web services for devices |
US20070112962A1 (en) * | 2005-11-14 | 2007-05-17 | Steve Lewontin | Network connection establishment using out of band connection request |
US8626925B2 (en) * | 2005-12-16 | 2014-01-07 | Panasonic Corporation | Systems and methods for providing a selective multicast proxy on a computer network |
US20070153812A1 (en) * | 2005-12-29 | 2007-07-05 | John Kemp | Dynamic discovery of a network service on a mobile device |
US8107469B2 (en) | 2007-03-15 | 2012-01-31 | Microsoft Corporation | Enabling routing of data on a network based on a portion of data accessed from a non-network enabled device |
US20080225869A1 (en) * | 2007-03-15 | 2008-09-18 | Microsoft Corporation | Enabling sharing of devices on a network |
US20080244723A1 (en) * | 2007-03-27 | 2008-10-02 | Microsoft Corporation | Firewall Restriction Using Manifest |
US8279869B1 (en) * | 2007-03-30 | 2012-10-02 | Symantec Operating Corporation | Reliable communication channel over existing TCP connection |
FR2916114B1 (fr) * | 2007-05-11 | 2009-06-12 | Sagem Comm | Procede d'etablissement d'une communication point a point entre un terminal appelant et un terminal appele d'un reseau sans fils de communication par paquets de type ad-hoc |
US9143493B2 (en) * | 2007-12-20 | 2015-09-22 | The Directv Group, Inc. | Method and apparatus for communicating between a user device and a gateway device to form a system to allow a partner service to be provided to the user device |
US8200968B2 (en) * | 2007-12-20 | 2012-06-12 | The Directv Group, Inc. | Method and apparatus for communicating between a requestor and a user receiving device using a user device locating module |
US8789149B2 (en) * | 2007-12-20 | 2014-07-22 | The Directv Group, Inc. | Method and apparatus for communicating between a user device and a user device locating module to allow a partner service to be provided to a user device |
JP5264161B2 (ja) * | 2007-12-21 | 2013-08-14 | キヤノン株式会社 | 情報処理装置、デバイス、情報処理装置の制御方法、及びコンピュータプログラム |
WO2009093308A1 (ja) * | 2008-01-22 | 2009-07-30 | Ntt Pc Communications, Inc. | 接続制御方法、接続制御サーバ装置、接続制御クライアント装置、及びプログラム |
US8635341B2 (en) | 2008-02-14 | 2014-01-21 | Microsoft Corporation | Termination criteria in service discovery request |
US8631134B2 (en) * | 2008-07-30 | 2014-01-14 | Visa U.S.A. Inc. | Network architecture for secure data communications |
US20100157848A1 (en) * | 2008-12-22 | 2010-06-24 | Qualcomm Incorporated | Method and apparatus for providing and utilizing local maps and annotations in location determination |
US8938211B2 (en) | 2008-12-22 | 2015-01-20 | Qualcomm Incorporated | Providing and utilizing maps in location determination based on RSSI and RTT data |
US8938355B2 (en) | 2009-03-13 | 2015-01-20 | Qualcomm Incorporated | Human assisted techniques for providing local maps and location-specific annotated data |
KR101496649B1 (ko) * | 2009-08-21 | 2015-03-02 | 삼성전자주식회사 | 복합 네트워크 망을 통한 외부 디바이스의 기능 공유 방법 및 그 장치 |
JP5528124B2 (ja) * | 2010-01-06 | 2014-06-25 | キヤノン株式会社 | デバイス検索装置、デバイス検索方法並びにプログラム |
US8438288B2 (en) | 2010-02-17 | 2013-05-07 | Microsoft Corporation | Device-pairing by reading an address provided in device-readable form |
US9142965B2 (en) | 2011-07-28 | 2015-09-22 | Tigo Energy, Inc. | Systems and methods to combine strings of solar panels |
US8792883B2 (en) * | 2011-10-18 | 2014-07-29 | Alcatel Lucent | Integration of roaming and non-roaming message processing |
US9158559B2 (en) | 2012-01-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Roaming of note-taking application features |
US8745654B1 (en) | 2012-02-09 | 2014-06-03 | The Directv Group, Inc. | Method and system for managing digital rights for content |
US9080882B2 (en) | 2012-03-02 | 2015-07-14 | Qualcomm Incorporated | Visual OCR for positioning |
US8924546B1 (en) | 2012-03-21 | 2014-12-30 | Trend Micro Incorporated | Roaming bandwidth guidance for mobile computing devices |
US10360565B2 (en) | 2012-05-18 | 2019-07-23 | Kofax, Inc. | System and method for providing a universal endpoint address schema to route documents and manage document workflows |
US9479489B2 (en) * | 2013-03-05 | 2016-10-25 | Comcast Cable Communications, Llc | Systems and methods for providing services |
US9088541B2 (en) | 2013-05-31 | 2015-07-21 | Catbird Networks, Inc. | Systems and methods for dynamic network security control and configuration |
US11196636B2 (en) | 2013-06-14 | 2021-12-07 | Catbird Networks, Inc. | Systems and methods for network data flow aggregation |
US9912549B2 (en) | 2013-06-14 | 2018-03-06 | Catbird Networks, Inc. | Systems and methods for network analysis and reporting |
WO2015012863A1 (en) * | 2013-07-26 | 2015-01-29 | Hewlett Packard Development Company, L.P. | Network configuration using service identifier |
US20150067144A1 (en) * | 2013-09-03 | 2015-03-05 | Stephen Kent Scovill | Method and System for Detecting Network Printers without Prior Knowledge of Network Topology |
US9794218B2 (en) | 2014-04-29 | 2017-10-17 | Trustiosity, Llc | Persistent network addressing system and method |
TWI514833B (zh) * | 2014-05-06 | 2015-12-21 | D Link Corp | We can dynamically adjust the method of setting information in gateway device |
WO2016036752A2 (en) | 2014-09-05 | 2016-03-10 | Catbird Networks, Inc. | Systems and methods for creating and modifying access control lists |
US9467726B1 (en) | 2015-09-30 | 2016-10-11 | The Directv Group, Inc. | Systems and methods for provisioning multi-dimensional rule based entitlement offers |
CN109379277B (zh) * | 2018-12-10 | 2021-04-09 | 贝尔合控(深圳)科技有限责任公司 | 一种基于路由寻址的分布式im通信方法及其装置 |
CN109462606A (zh) * | 2018-12-19 | 2019-03-12 | 安徽典典科技发展有限责任公司 | 点对点远程访问方法 |
CN111385260B (zh) * | 2018-12-28 | 2022-01-25 | 广州市百果园信息技术有限公司 | 一种端口探测方法、系统、服务器和存储介质 |
CN111431956B (zh) * | 2019-01-10 | 2022-07-05 | 阿里巴巴集团控股有限公司 | 跨网络的服务访问方法、设备、系统及存储介质 |
DE102022115026A1 (de) | 2021-06-22 | 2022-12-22 | Drägerwerk AG & Co. KGaA | Verfahren und Rechner zum Einrichten einer Datenübermittlung |
CN115150809A (zh) * | 2022-06-29 | 2022-10-04 | 中国电信股份有限公司 | 异网漫游处理方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010044305A1 (en) * | 2000-05-22 | 2001-11-22 | Reddy Joseph Soma | Mobility management in wireless internet protocol networks |
KR20040053992A (ko) * | 2002-12-16 | 2004-06-25 | 삼성전자주식회사 | 무선랜 단말기에 대한 이동성 지원 방법 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745699A (en) * | 1993-09-24 | 1998-04-28 | Apple Computer, Inc. | Dynamic address assignment in an arbitrarily connected network |
US6201962B1 (en) * | 1997-05-14 | 2001-03-13 | Telxon Corporation | Seamless roaming among multiple networks including seamless transitioning between multiple devices |
JP3954689B2 (ja) * | 1997-06-12 | 2007-08-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メッセージ処理方法、メッセージ処理装置及びメッセージ処理を制御するプログラムを格納する記憶媒体 |
US6243581B1 (en) * | 1998-12-11 | 2001-06-05 | Nortel Networks Limited | Method and system for seamless roaming between wireless communication networks with a mobile terminal |
US6466571B1 (en) | 1999-01-19 | 2002-10-15 | 3Com Corporation | Radius-based mobile internet protocol (IP) address-to-mobile identification number mapping for wireless communication |
TW428404B (en) * | 1999-03-08 | 2001-04-01 | Jiang Yan Yuan | Method for solving moving calculation problems by enhanced NAT gateways |
WO2000054475A1 (en) | 1999-03-09 | 2000-09-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Multicast handover for mobile internet protocol |
DE60024237T2 (de) | 1999-03-17 | 2006-06-29 | 3Com Corp., Rolling Meadows | Verfahren und system zur netzwerkadressübersetzung mit sicherheitseigenschaften |
WO2001031472A1 (en) | 1999-10-22 | 2001-05-03 | Telcordia Technologies, Inc. | Method and system for host mobility management protocol |
IL149356A0 (en) * | 1999-11-03 | 2002-11-10 | Wayport Inc | Distributed network communication system which enables multiple network providers to use a common distributed network infrastructure |
US20010034831A1 (en) * | 2000-04-19 | 2001-10-25 | Brustoloni Jose C. | Method and apparatus for providing internet access to client computers over a lan |
US7000015B2 (en) * | 2000-04-24 | 2006-02-14 | Microsoft Corporation | System and methods for providing physical location information and a location method used in discovering the physical location information to an application on a computing device |
US7260638B2 (en) * | 2000-07-24 | 2007-08-21 | Bluesocket, Inc. | Method and system for enabling seamless roaming in a wireless network |
US6633761B1 (en) * | 2000-08-11 | 2003-10-14 | Reefedge, Inc. | Enabling seamless user mobility in a short-range wireless networking environment |
US6691227B1 (en) * | 2000-09-08 | 2004-02-10 | Reefedge, Inc. | Location-independent packet routing and secure access in a short-range wireless networking environment |
GB2367980B (en) | 2000-10-09 | 2004-03-17 | Ericsson Telefon Ab L M | Mobile hosts |
US20020138622A1 (en) | 2001-03-21 | 2002-09-26 | Motorola, Inc. | Apparatus and method of using long lived addresses in a private network for push messaging to mobile devices |
US20040019664A1 (en) | 2002-02-15 | 2004-01-29 | Franck Le | Method and system for discovering a network element in a network such as an agent in an IP network |
AU2003234506A1 (en) | 2002-05-06 | 2003-11-17 | Qualcomm Incorporated | System and method for registering ip address of wireless communication device |
JP2004029939A (ja) * | 2002-06-21 | 2004-01-29 | Hitachi Ltd | 通信プロキシ装置、および、通信プロキシ装置を用いたサービス提供方法 |
US7133669B2 (en) | 2002-08-02 | 2006-11-07 | Pctel, Inc. | Systems and methods for seamless roaming between wireless networks |
US7702357B2 (en) * | 2002-11-26 | 2010-04-20 | Sony Corporation | Wireless intelligent switch engine |
US7453850B2 (en) * | 2002-12-20 | 2008-11-18 | Alcatel Lucent | Apparatus, and associated method, for facilitating bi-directional routing of data in a packet radio communication system |
GB2400269B (en) | 2003-03-29 | 2005-12-21 | King S College London | Method,network node, messages and computer program for use in mobility support in a packet-switched data communication network |
US7949785B2 (en) * | 2003-03-31 | 2011-05-24 | Inpro Network Facility, Llc | Secure virtual community network system |
US7822416B2 (en) * | 2003-05-12 | 2010-10-26 | Alcatel-Lucent Usa Inc. | Methods and systems for allowing global roaming between devices supported by different protocols |
US7649866B2 (en) * | 2003-06-24 | 2010-01-19 | Tropos Networks, Inc. | Method of subnet roaming within a network |
US7016328B2 (en) * | 2003-06-24 | 2006-03-21 | Tropos Networks, Inc. | Method for allowing a client to access a wireless system |
US7167705B2 (en) * | 2003-06-27 | 2007-01-23 | Oracle International Corporation | Roaming across different access mechanisms and network technologies |
JP4300965B2 (ja) * | 2003-10-09 | 2009-07-22 | 沖電気工業株式会社 | サービスシステムおよびサービス提供方法 |
US20050108417A1 (en) * | 2003-11-19 | 2005-05-19 | Serge Haumont | System and method for reducing subscriber database loads |
US20070223420A1 (en) * | 2004-02-06 | 2007-09-27 | Matsushita Electric Industrial Co., Ltd. | Communication Handover Method, Communication Message Processing Method and Program for Executing These Methods by use of a Computer |
WO2006029131A2 (en) * | 2004-09-07 | 2006-03-16 | Meshnetworks, Inc. | System and method for routing data between different types of nodes in a wireless network |
US8117340B2 (en) | 2005-04-25 | 2012-02-14 | Microsoft Corporation | Trans-network roaming and resolution with web services for devices |
-
2005
- 2005-11-30 US US11/291,062 patent/US8117340B2/en active Active
-
2006
- 2006-04-24 WO PCT/US2006/015722 patent/WO2006116449A2/en active Application Filing
- 2006-04-24 MX MX2007011867A patent/MX2007011867A/es active IP Right Grant
- 2006-04-24 CA CA2601893A patent/CA2601893C/en active Active
- 2006-04-24 RU RU2007139515/08A patent/RU2417418C2/ru not_active IP Right Cessation
- 2006-04-24 KR KR1020077022811A patent/KR101247027B1/ko active IP Right Grant
- 2006-04-24 JP JP2008509063A patent/JP5036704B2/ja active Active
- 2006-04-24 AU AU2006241233A patent/AU2006241233B2/en active Active
- 2006-04-24 CN CN2006800103035A patent/CN101501665B/zh active Active
- 2006-04-24 BR BRPI0609638-7A patent/BRPI0609638B1/pt not_active IP Right Cessation
- 2006-04-25 TW TW095114776A patent/TWI413389B/zh not_active IP Right Cessation
-
2007
- 2007-09-12 NO NO20074612A patent/NO338965B1/no unknown
- 2007-10-25 EG EGPCTNA2007001158A patent/EG26499A/en active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010044305A1 (en) * | 2000-05-22 | 2001-11-22 | Reddy Joseph Soma | Mobility management in wireless internet protocol networks |
KR20040053992A (ko) * | 2002-12-16 | 2004-06-25 | 삼성전자주식회사 | 무선랜 단말기에 대한 이동성 지원 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2006116449A2 (en) | 2006-11-02 |
US8117340B2 (en) | 2012-02-14 |
TWI413389B (zh) | 2013-10-21 |
JP2008539672A (ja) | 2008-11-13 |
WO2006116449A3 (en) | 2009-04-16 |
RU2007139515A (ru) | 2009-04-27 |
AU2006241233B2 (en) | 2011-06-09 |
BRPI0609638A2 (pt) | 2010-04-20 |
CN102176727A (zh) | 2011-09-07 |
BRPI0609638B1 (pt) | 2018-06-05 |
NO20074612L (no) | 2007-11-20 |
NO338965B1 (no) | 2016-11-07 |
CN101501665B (zh) | 2013-06-05 |
CN101501665A (zh) | 2009-08-05 |
TW200701713A (en) | 2007-01-01 |
EG26499A (en) | 2013-12-24 |
CA2601893C (en) | 2013-12-31 |
RU2417418C2 (ru) | 2011-04-27 |
JP5036704B2 (ja) | 2012-09-26 |
US20060242322A1 (en) | 2006-10-26 |
AU2006241233A1 (en) | 2006-11-02 |
CA2601893A1 (en) | 2006-11-02 |
KR20080010391A (ko) | 2008-01-30 |
MX2007011867A (es) | 2007-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101247027B1 (ko) | 장치를 위한 웹 서비스를 이용하는 트랜스 네트워크 로밍및 찾기 | |
JP2008539672A5 (ko) | ||
US7924832B2 (en) | Facilitating transition of network operations from IP version 4 to IP version 6 | |
JP5480265B2 (ja) | セキュアなリソース名前解決 | |
US8457014B2 (en) | Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system | |
US20070214232A1 (en) | System for Uniform Addressing of Home Resources Regardless of Remote Clients Network Location | |
US20070153812A1 (en) | Dynamic discovery of a network service on a mobile device | |
US7478169B2 (en) | Accessing data processing systems behind a NAT enabled network | |
EP2239890B1 (en) | Remote access method in a network comprising a nat device | |
US20070078996A1 (en) | Method for managing a network appliance and transparent configurable network appliance | |
JP2011530867A (ja) | キャッシュを使用したセキュアなリソース名前解決 | |
US9032092B1 (en) | Client traffic redirection service | |
US20100131582A1 (en) | Unified Proxy Location Selection Mechanism | |
US7440466B2 (en) | Method, apparatus and system for accessing multiple nodes on a private network | |
Pöhlsen et al. | Robust web service discovery in large networks | |
Zhou et al. | Service discovery protocol in wireless sensor networks | |
JP2010130604A (ja) | 動的ゲートウェイ探索システム、動的ゲートウェイ探索方法、及びプログラム | |
Son et al. | Towards an efficient discovery services in OPC unified architecture | |
CN102176727B (zh) | 使用针对设备的web服务进行的跨网络漫游及解析 | |
Bormann et al. | CoRE Z. Shelby Internet-Draft ARM Intended status: Standards Track M. Koster Expires: January 3, 2019 SmartThings | |
JP5041381B2 (ja) | 名前解決システム、名前解決サーバ、名前解決方法及び名前解決プログラム |
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: 20160218 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170220 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180219 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20200218 Year of fee payment: 8 |