KR101521547B1 - 할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위한 클라이언트-로컬 프록시-서버를 이용하는 시스템 및 방법 - Google Patents

할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위한 클라이언트-로컬 프록시-서버를 이용하는 시스템 및 방법 Download PDF

Info

Publication number
KR101521547B1
KR101521547B1 KR1020137026941A KR20137026941A KR101521547B1 KR 101521547 B1 KR101521547 B1 KR 101521547B1 KR 1020137026941 A KR1020137026941 A KR 1020137026941A KR 20137026941 A KR20137026941 A KR 20137026941A KR 101521547 B1 KR101521547 B1 KR 101521547B1
Authority
KR
South Korea
Prior art keywords
client
server
web
address
local proxy
Prior art date
Application number
KR1020137026941A
Other languages
English (en)
Other versions
KR20130133290A (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 KR20130133290A publication Critical patent/KR20130133290A/ko
Application granted granted Critical
Publication of KR101521547B1 publication Critical patent/KR101521547B1/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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4557Directories for hybrid networks, e.g. including telephone numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5076Update or notification mechanisms, e.g. DynDNS
    • 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/1045Proxies, e.g. for session initiation protocol [SIP]
    • 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/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

통신 시스템은 동적인 어드레스 및 모바일 웹 서버 소프트웨어를 갖는 모바일 컴퓨팅 디바이스를 포함한다. 클라이언트-로컬 프록시-서버는 엡 클라이언트가 인터넷 접속을 신뢰할 수 있고 일관되게 설정할 수 있는 IP 어드레스를 갖는다. 모바일 컴퓨팅 디바이스에 액세스하기 위한 웹 클라이언트로부터의 요청의 수신에 응답하여, 클라이언트-로컬 프록시-서버는 모바일 컴퓨팅 디바이스의 할당된 어드레스와 웹 클라이언트 간의 통신 경로를 개방하는 매개자로서 작동한다. 모바일 컴퓨팅 디바이스는 클라이언트-로컬 프록시-서버에 그의 어드레스의 현재 버전을 반복적으로 등록한다. 모바일 컴퓨팅 디바이스 및 프록시-서버 소프트웨어는 기재된 매개자 라우팅 동작들을 수행하기 위해 단지 타겟팅된 구성 변경들만을 요구한다.

Description

할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위한 클라이언트-로컬 프록시-서버를 이용하는 시스템 및 방법{SYSTEM AND METHOD USING A CLIENT-LOCAL PROXY-SERVER TO ACCESS A DEVICE HAVING AN ASSIGNED NETWORK ADDRESS}
35 U.S.C.§119 하의 우선권 주장
특허에 대한 현재의 특허 협약 조약 출원은 다음의 우선권을 주장한다:
본원의 양수인에게 양도되고 그에 의해 인용에 의해 본원에 명시적으로 포함되는, 2011년 3월 11일 출원되고 발명의 명칭이 "REMOTE MOBILE ADMINISTRATION AND LOGGING USING HTTP PROTOCOL"인 가출원 번호 제61/452,031호;
본원의 양수인에게 양도되고 인용에 의해 본원에 명시적으로 포함되는, 2012년 1월 18일 출원되고 발명의 명칭이 "REMOTE ACCESS AND ADMINISTRATION OF DEVICE CONTENT AND CONFIGURATION USING HTTP PROTOCOL"인 가출원 번호 제61/588,007호;
본원의 양수인에게 양도되고 인용에 의해 본원에 명시적으로 포함되는, 2012년 1월 18일 출원되고 발명의 명칭이 "SYSTEM AND METHOD USING A CLIENT-LOCAL PROXY-SERVER TO ACCESS A DEVICE HAVING AN ASSIGNED ADDRESS"인 가출원 번호 제61/588,030호;
본원의 양수인에게 양도되고 그에 의해 인용에 의해 본원에 명시적으로 포함되는, 2012년 3월 8일 출원되고 발명의 명칭이 "SYSTEM AND METHOD USING A CLIENT-LOCAL PROXY-SERVER TO ACCESS A DEVICE HAVING AN ASSIGNED NETWORK ADDRESS"인 공동-계류중인 비-가출원 번호 제13/415,604호;
특허에 대한 공동-계류중인 출원들에 대한 참조
본 특허 출원은 다음의 공동-계류중인 미국 특허 출원들에 관련된다:
본원의 양수인에게 양도되고 인용에 의해 본원에 명시적으로 포함되는, 본원과 동시에 출원되고, 대리인 문서 번호 103234를 가지며 Yuval Corey Hershko 및 Nir Strauss에 의한 "REMOTE ACCESS AND ADMINISTRATION OF DEVICE CONTENT AND CONFIGURATION USING HTTP PROTOCOL";
본원의 양수인에게 양도되고 인용에 의해 본원에 명시적으로 포함되는, 본원과 동시에 출원되고, 대리인 문서 번호 110525를 가지며 Yuval Corey Hershko 및 Nir Strauss에 의한 "SYSTEM AND METHOD USING A WEB PROXY-SERVER TO ACCESS A DEVICE HAVING AN ASSIGNED NETWORK ADDRESS";
본원의 양수인에게 양도되고 인용에 의해 본원에 명시적으로 포함되는, 본원과 동시에 출원되고, 대리인 문서 번호 110526를 가지며 Yuval Corey Hershko 및 Nir Strauss에 의한 "SYSTEM AND METHOD USING FOR ACCESSING A DEVICE HAVING AN ASSIGNED NETWORK ADDRESS".
발명의 분야
기재된 실시예들은 일반적으로 통신 네트워크에서 동작하는 액세스 디바이스들에 액세스하는 것에 관한 것이다. 보다 구체적으로, 개시된 실시예들은 디바이스 어드레스가 변경될 수 있는 인터넷 프로토콜(IP) 네트워크 상에서 디바이스를 발견(locate)하고 디바이스로 라우팅하고, 디바이스에 액세스하기 위한 시스템들 및 방법들에 관한 것이다.
통신 네트워크에서, 어드레스는 네트워크 상에서 각각의 디바이스에 할당된 식별자이다. 인터넷에 적용되는 바와 같이, 디바이스의 어드레스는 일반적으로 그의 "인터넷 프로토콜 어드레스"(IP 어드레스)로서 알려지며, 이는 인터넷 상에서 디바이스의 가상 위치의 숫자적 표현이다. 디바이스가 웹사이트를 호스팅하는 경우, 호스트 디바이스의 IP 어드레스는 호스트 디바이스를 발견하고 웹사이트로부터의 콘텐츠에 대한 액세스를 제공하는데 이용된다. 예를 들어, 웹 도메인 google.com은 예를 들어, 73.14.213.99일 수 있는 숫자 IP 어드레스를 사실상 표현한다. 웹 클라이언트가 그의 웹 브라우저에서 도메인 명칭에 타이핑할 때, 다운스트림 DNS 시스템은 입력된 도메인 명칭을 IP 어드레스에 매치시키거나 라우팅하고, 이어서 숫자 IP 어드레스와 연관된 호스트 서버 디바이스를 발견하고 그에 대한 액세스를 제공하기 위해 그 숫자 IP 어드레스를 이용한다.
디바이스의 IP 어드레스는 통상적으로 네트워크 내의 엔티티에 의해 그에 할당된다. 예를 들어, CDMA 네트워크에서, 어드레스 할당 엔티티는 패킷 데이터 서빙 노드(PDSN)이다. IP 어드레스들은 정적으로 또는 동적으로 할당될 수 있다. 정적인 IP 어드레싱 방식은 하나의 고객/디바이스에 대해 하나의 IP 어드레스를 할당하고, 동적인 IP 어드레싱 방식은 선택된 또는 랜덤 간격으로 정해진 고객/디바이스에 상이한 IP 어드레스들을 할당한다. 예를 들어, 몇몇 인터넷 서비스 제공자(ISP)는 정해진 고객이 그의 컴퓨터에 로그 온할 때마다 그 정해진 고객에 상이한 IP 어드레스를 할당한다. 정적이고 고유한 IP 어드레스를 갖는 호스트 디바이스 상의 웹사이트는 신뢰할 수 있게 액세스되고 안정적인 클라이언트-서버 세션들을 유지한다. 대조적으로, 동적으로 할당된 IP 어드레싱 방식 하에서, 컴퓨터들은 그 네트워크 상에서 다른 컴퓨터들과 IP 어드레스를 공유해야 할 가능성이 높은 것이다. 따라서 동적으로 할당된 IP 어드레스로 웹사이트를 호스팅하는 것은 웹 클라이언트와 동적으로 할당된 어드레스 간에 설정된 클라이언트-서버 세션들의 안정성은 물론 웹 클라이언트가 동적으로 할당된 어드레스를 얼마나 신뢰할 수 있게 액세스할 수 있는지를 타협(compromise)하도록 하는 경향이 있다.
웹 클라이언트를 훨씬 더 다양한 웹 인에이블 컴퓨팅 디바이스들에 라우팅하는 방식을 제공하여 매우 다수의 디바이스들로부터의 콘텐츠 및 특징들에 대한 원격 웹-기반 액세스를 허용하는 것이 바람직하다. 보다 구체적으로, 정적으로 어드레싱된 웹 서버에서 웹사이트 콘텐츠를 액세스하고 이에 라우팅할 수 있는 동일한 단순성, 안정성 및 신뢰도를 갖고 IP 네트워크를 통해 웹 클라이언트에 액세스 가능한 웹 서버들로서 동적으로 어드레싱된 모바일 컴퓨팅 디바이스들(예를 들어, 모바일 전화들, PDA들, 태블릿들 등)을 활용하는 것이 유리할 수 것이다. 예를 들어, PDA들 및 스마트 폰의 기술이 개선됨에 따라, 사용자는 이들 디바이스 상에 더욱 더 많은 정보를 저장한다. 이 증가는 정보의 양 및 그의 타입들의 범위 양자에 관한 것이다. 예를 들어, 타입들은 이력적 및 현재 물리적 위치, 비디오, 음악 및 다른 멀티미디어 파일들, 워드 프로세싱 문서들 및 전화번호 목록들은 물론 다양한 상호작용식 게임들을 포함(그러나 이들로 제한되지 않음)할 수 있다.
그러나 모바일 디바이스 애플리케이션 분야들의 당업자들 및 사용자들에게 알려져 있는 바와 같이, 그의 모바일 디바이스들 상의 정보를 공유하고자 하는 사용자들은 제한된 세트의 옵션들을 갖는다. 사용자는 예를 들어, 의도된 수신자들에게 선택된 파일들을 이메일로 보낼 수 있다. 그의 첨부물(들)을 갖는 e-메일은 이어서 모바일 디바이스의 링크들 중 하나 이상을 통해 인터넷으로, 예를 들어, 셀룰러 무선 업링크를 통해 셀룰러 무선 네트워크로, 이어서 그의 인터페이스를 통해 인터넷으로 또는 로컬 액세스 포인트에 대한 Wi-Fi 링크를 통해 인터넷으로 송신될 수 있다. 파일들을 공유하는 e-메일 첨부 수단은 그러나 실질적인 제한들을 가질 수 있다. 하나의 이러한 제한은, 이것이 사용자가 모바일 디바이스를 물리적으로 소유할 것을 요구한다는 것이고, 추가로 이것은 일반적으로 사용자에 의한 직접 동작, 예를 들어, 파일의 선택 및 첨부는 물론 e-메일 메시지들의 수취인 목록에 써넣는 것을 요구한다는 것이다.
대안적으로, 사용자는 사용자의 모바일 디바이스로부터 사용자의 소셜 네트워크 페이지, 예를 들어, Facebook® 또는 MySpace®로 선택된 파일들을 포스팅(posting)할 수 있다. 그러나 사용자의 모바일 디바이스 상의 파일들을 공유하기 위한 수단으로서 이들 소셜 네트워크들을 이용하는 것은 e-메일 공유 수단과 동일한 요건 및 제한들 대부분을 갖는다. 예를 들어, 사용자가 단지 자신의 모바일 디바이스 상에 있는 파일을 공유하도록 판단할 때마다, 사용자는 그 디바이스를 물리적으로 소유해야 한다. 또한, 사용자는 파일들의 업로딩 및 포스팅을 수동으로 수행하도록 요구한다. 또한, 소셜 네트워크들은 인간 인터페이스 매커니즘은 물론 액세스될 수 있는 파일들의 종류에 관한 제약들을 부과할 수 있다. 디바이스 상에 저장된 파일들을 공유하기 위한 모바일 디바이스 사용자에 대한 하나의 종래의 방법은 예를 들어, 소셜 네트워크 포스팅에 대해 기술된 동일한 링크들을 이용하여 Apple® Mobile Me 또는 Apple iCloud®와 같은 "클라우드" 디스크에 선택된 파일들을 업로드하는 것이다. 그러나 이 방법 또한 사용자가 파일을 공유하고자 할 때마다 사용자가 모바일 디바이스를 물리적으로 소유할 것을 요구한다.
동적인 어드레싱 방식의 존재는 모바일 전화들 및 무선 PDA들과 같은 모바일 컴퓨팅 디바이스들로부터 IP 네트워크를 통해 콘텐츠를 액세스하는데 있어서 상당한 방해물이다. 앞서 기술된 바와 같이, CDMA, UMTS, GPRS, Wi-Fi 등과 같은 네트워크들에서, 모바일 전화들 및 무선 PDA들에는 정적인 라우팅 가능한 IP 어드레스들이 할당되지 않는다. 대신, 그들의 어드레스들은 동적으로 할당되고, 주로 네트워크의 요건들 및 디바이스의 이동 및 무선 접속에 관련된 임의의 수의 이유들로 정기적으로 또는 랜덤 시간들에 변경될 수 있다. IP 및 사설 네트워크들에서 다수의 복잡하고 사유의(proprietary) 시스템들로 인해, 동적으로 어드레싱된 디바이스에서 발견된 콘텐츠를 액세스 및 리트리브(retrieve)하기 위해 이러한 네트워크 내에서 또는 이를 통한 시도들은 상당한 비용, 엔지니어링 인시들(engineering man-hours) 및 설계 복잡도는 물론 DSN 서버들, 커스텀 게이트웨이들 및 복잡한 터널링 구성들과 같이 사유의 시스템들의 수정 및 그에 대한 액세스를 요구할 것으로 예상된다.
이 개시는 다른 특징들 및 이익들 중에서도, 웹 클라이언트들을 변경될 수 있는 할당된 어드레스를 갖는 디바이스에 라우팅하기 위한 시스템들 및 방법들을 제공하는 다양한 예시적인 실시예들을 기술한다. 기재된 실시예들은 또한 다른 부가적인 특징들 및 이익들 중에서도, 비용, 엔지니어링 인시들, 설계 복잡도 및 상업적으로 이용 가능한 기성품의 시스템들을 활용하고 이들 상업적으로 이용 가능한 기성품의 시스템들 내에서 타겟팅된 그리고 비교적 쉽게 구현된 구성들을 형성함으로써 사유의 시스템들에 대한 액세스의 필요성을 최소화하는데 도움을 줄 수 있다.
본 발명의 예시적인 실시예들은 할당된 어드레스를 갖는 디바이스에 액세스하기 위한 시스템들 및 방법들에 관한 것이며, 이는 메모리 위치에 할당된 어드레스를 저장하고 클라이언트-로컬 프록시-서버에서 디바이스에 액세스하기 위한 요청을 수신하는 것을 포함한다. 요청은 디바이스를 고유하게 식별하는 디바이스 식별자를 포함한다. 디바이스에 액세스하기 위한 요청의 수신에 응답하여, 디바이스의 저장된 어드레스는 디바이스 식별자에 기초하여 식별되며, 클라이언트-로컬 프록시-서버는 요청의 송신자와 저장된 어드레스 간의 데이터 경로를 설정하기 위한 매개자로서 작동한다.
기재된 시스템은 모바일 컴퓨팅 디바이스에서 모바일 웹 서버 소프트웨어의 이용을 용이하게 하며, 그에 의해 송신자는 모바일 컴퓨팅 디바이스 어드레스가 동적이고 변경될 수 있는 경우 조차도 모바일 웹 서버 소프트웨어에 신뢰할 수 있게 액세스할 수 있다. 기재된 실시예들은 상업적으로 이용 가능한 컴포넌트들(예를 들어, 모바일 웹, 서버 소프트웨어 및 웹 클라이언트)을 이용하고 특정한 컴포넌트들에 대해 타겟팅 구성-타입 변경들(예를 들어, 스크립트, 확장들 등의 부가)을 형성하는 기재된 시스템을 구현한다.
첨부 도면들은 기재된 실시예들의 설명에 도움을 주도록 제시되며 실시예들의 제한이 아닌 실시예들의 예시를 위해서만 제공된다.
도 1은 기재된 실시예들의 다이어그램.
도 2는 도 1에서 도시된 클라이언트-로컬 프록시-서버(32, 34)와 모바일 컴퓨팅 디바이스(28, 30)에서 제공되는 방법들을 예시하는 흐름도.
도 3은 도 1에서 도시된 실시예에 의해 수행되는 동작 단계들의 특정한 예를 도시하는 도면.
본 발명의 양상들은 본 발명의 특정한 실시예들에 관한 이하의 설명 및 관련 도면들에서 기재된다. 대안의 실시예들은 본 발명의 범위로부터 벗어남 없이 안출될 수 있다. 부가적으로, 본 발명의 잘-알려진 엘리먼트들은 본 발명의 관련 양상들을 모호하게 하지 않도록 상세히 기술되지 않을 것이거나, 또는 생략될 것이다.
단어 "예시적인"은 "예, 보기 또는 예시로서 작용하는 것"을 의미하도록 여기서 이용된다. "예시적인" 것으로서 여기서 기술되는 임의의 실시예는 반드시 다른 실시예들보다 선호되거나 유리한 것으로서 해석되는 것은 아니다. 마찬가지로, 용어들 "본 발명의 실시예들"은 본 발명의 모든 실시예들이 논의된 특징, 이익 또는 동작 모드를 포함할 것을 요구하는 것은 아니다.
여기서 이용되는 용어는 특정한 실시예들만을 기술할 목적을 위한 것이며, 본 발명의 실시예들의 제한으로 의도되는 것은 아니다. 여기서 이용되는 바와 같이, 단수 형태 "a", "an", "the"는 맥락이 달리 명확히 표시하지 않으면 복수 형태들을 또한 포함하는 것으로 의도된다. 용어들 "포함하다", "포함하는", "갖는다" 및/또는 "갖는"은 여기서 이용될 때 진술된 특징들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 이것들의 그룹들의 존재 또는 부가를 배제하지 않는다는 것이 추가로 이해될 것이다.
또한, 다수의 실시예들은 예를 들어, 컴퓨팅 디바이스의 엘리먼트에 의해 수행될 동작들의 시퀀스의 견지에서 기술된다. 여기서 기술된 다양한 동작들은 특정한 회로들(예를 들어, 주문형 집적 회로들(ASIC들))에 의해, 하나 이상의 프로세서에 의해 실행되는 프로그램 명령들에 의해, 또는 이들 둘의 조합에 의해 수행될 수 있다는 것이 인지될 것이다. 부가적으로, 여기서 기술되는 동작들의 시퀀스는 실행 시에 연관된 프로세서가 여기서 기술되는 기능을 수행하게 할 컴퓨터 명령들의 대응하는 세트를 그 내부에 저장한 임의의 형태의 컴퓨터 판독 가능한 저장 매체 내에 그 전체가 실현되는 것으로 간주될 수 있다. 따라서 본 발명의 다양한 양상들은 다수의 상이한 형태들로 실현될 수 있고, 이들 모두는 청구 대상의 범위 내에 있는 것으로 예견된다. 또한, 여기서 기술되는 실시예들 각각에 대해, 임의의 이러한 실시예들의 대응하는 형태는 예를 들어, 기술된 동작을 수행"하도록 구성된 로직"으로서 여기서 기술될 수 있다.
이제 관련된 동작 환경의 개관으로 넘어가면, 기재된 실시예들은 공개 인터넷 및 사설 네트워크들 양자 내에서 그리고 이들을 통한 메시지/정보 전달을 포함하는 종래의 통신 시스템에서 기능한다. 집합적으로 TCP(Transmission Control Protocol)/IP(Internet Protocol)로서 알려진 TCP 및 IP는 인터넷의 기본 통신 프로토콜들이다. TCP/IP는 종종 "하위 층" 프로토콜로서 지칭되는데, 그 이유는 다른 이른바 "상위 층" 애플리케이션 프로토콜들이 통상적으로 인터넷에 접근하기 위해 TCP/IP를 이용하기 때문이다. 이러한 상위층 애플리케이션 프로토콜들은 월드 와이드 웹의 HTTP(Hypertext Transfer Protocol) http://whatis.techtarget.com/definition/0,289893,sid9_gci214004,00.html, FTP(File Transfer Protocol), 사용자가 원격 컴퓨터들에 로그 온하게 하는 텔넷(Telnet), 및 SMTP(Simple Mail Transfer Protocol)을 포함한다. 이들 및 다른 프로토콜들은 종종 "수트(suite)"로서 TCP/IP와 함께 패키징된다. TCP/IP가 공개 인터넷 및 사설 네트워크들 양자에서 통신 프로토콜들로서 이용될 수 있기 때문에, 사실상 모든 컴퓨터들 및 공개 인터넷에 대한 직접 액세스를 갖는 다른 유사한 디바이스들은 TCP/IP 프로그램을 이용하여 메시지들/정보를 통신 및 교환한다.
TCP/IP는 2-층 프로토콜로서 동작한다. 최상위 층인 TCP는 인터넷을 통해 전송되고 패킷들을 원래의 메시지로 재어셈블리하는 TCP 층에 의해 수신되는 더 작은 패킷들로의 메시지 또는 파일의 어셈블리를 관리한다. 하위 층인 IP는 각각의 패킷의 어드레스 부분을 핸들링하여 그것이 정확한 가상 목적지에 도달하게 한다. 네트워크 상의 각각의 게이트웨이 컴퓨터는 메시지를 어디에 포워딩할지 결정하기 위해 이 어드레스를 검사한다. 동일한 메시지로부터의 몇몇 패킷들이 다른 것들과 상이하게 라우팅될 수 있지만, 패킷들 모두는 가상의 목적지에서 재어셈블리된다.
상위층 애플리케이션들(예를 들어, HTTP, FTP 등)은 컴퓨터 사용자(즉, 클라이언트)가 요청한 통신의 클라이언트/서버 모델에서 TCP/IP를 활용하고 네트워크에서 다른 컴퓨터(예를 들어, 서버)에 의해 서비스(예를 들어, 웹 페이지 송신)를 제공받는다. TCP/IP 통신은 주로 점대점이며, 이는 각각의 통신이 네트워크의 한 지점(또는 호스트 컴퓨터)으로부터 네트워크의 다른 지점(또는 호스트 컴퓨터)로 이루어지는 것을 의미한다. TCP/IP 및 그것을 이용하는 상위 층 애플리케이션들(예를 들어, HTTP, FTP 등)은 집합적으로 "무상태(stateless")로 말해지는데, 그 이유는 (호 지속기간 동안 전용 접속을 요구하는 보통의 전화 대화와 달리) 각각의 클라이언트 요청이 임의의 이전의 요청과 관련되지 않는 새로운 요청으로 간주되기 때문이다. 무상태가 되는 것은 네트워크 경로들을 자유롭게 하여, 클라이언트 및 서버들이 이들을 연속적으로 이용할 수 있게 한다. TCP 층 자체는, 수신될 메시지의 모든 패킷들에 대해 접속이 적어도 충분히 길게 적소에 남아있어야 하기 때문에 개별 메시지들에 대해 무상태가 아니다.
상술한 동작 환경에서, PDA들 및 모바일 스마트 폰들과 같은 모바일 컴퓨팅 디바이스들은 통상적으로 웹 서버들로부터 콘텐츠를 액세스, 요청 및 수신하는 웹 클라이언트로서 공개 인터넷과 인터페이스한다. 그러나 모바일 컴퓨팅 디바이스의 기술이 개선됨에 따라, 사용자는 이러한 디바이스들 상에 더욱 더 많은 정보를 저장하고, IP 네트워크를 통해 모바일 컴퓨팅 디바이스들에 웹 클라이언트들을 라우팅하는 방식을 제공하는 것이 바람직하게 되었다. 모바일 스마트 폰들, PDA들, 랩톱들 및 테블릿들 외에, 통상적으로 인간 사용자에 의해 물리적으로 액세스되지 않는 다른 모바일 컴퓨팅 디바이스들이 존재한다. 이러한 모바일 컴퓨팅 디바이스들의 예들은 트래킹 디바이스들, 자동화된 미터 판독기들 및 집에서 히터들 등을 자동으로 턴 온 또는 오프하는 제어 유닛들을 포함한다. 이들 모바일/원격 컴퓨팅 디바이스들과의 통신은 통상적으로 데이터를 리트리브(retrieve)하기 위한 인터페이스가 통상적으로 다른 원격 기계이기 때문에 M2M(Machine-to-Machine)으로서 지칭된다. IP 네트워크에서 동작하는 모바일/원격 컴퓨팅 디바이스들이 통상적으로 임의의 수의 이유로 정기적인 또는 랜덤 시간으로 변경되는 동적으로 할당된 어드레스들을 가질 것이기 때문에, 공개 인터넷을 통해 이러한 컴퓨팅 디바이스들로부터의 콘텐츠를 액세스하고 이에 라우팅하기 위한 임의의 시도는 동적으로 할당된 어드레스로의 클라이언트-서버 인터넷 접속이 안정되지 않고 신뢰할 수 없을 수 있다는 제한을 극복해야 한다.
기재된 실시예들은 다른 특징들 중에서도, 변경될 수 있는 동적으로 할당된 어드레스들을 갖는 모바일 컴퓨팅 디바이스(예를 들어, 모바일 스마트 폰, PDA, 랩톱, 테블릿, 트래킹 디바이스 등)에 웹 클라이언트를 신뢰할 수 있게 라우팅하는 매개 라우팅 시스템들 및 방법들을 제공함으로써 단순하고 비용 효율적인 방식으로 위에서 기술된 제한을 해결한다. 기재된 실시예들은 상업적으로 이용 가능한 시스템들을 이용함으로써 그리고 기존의 소프트웨어 프로세스들에 대한 타겟팅된 그리고 비교적 쉽게 구현되는 구성-타입 변경들을 형성함으로써 비용, 엔지니어링 인시들 및 설계 복잡도를 최소화하는데 도움을 줄 수 있다. 이에 따라, 기재된 매개 라우팅 시스템들 및 방법들은 동적으로 어드레싱된 디바이스의 콘텐츠 및 기능 둘 다의 활용 및 이에 대한 액세스를 허용하는 다양한 유용한 시스템들의 구현을 용이하게 한다. 예를 들어, 기재된 매개 라우팅 시스템의 구현은 사용자에게 사용자의 동적으로 어드레싱된 디바이스에 대한 사용자-구성 가능한 제약들을 받는 신뢰할 수 있는 원격 액세스를 제공한다. 이러한 원격 액세스는 다른 것들이 임의의 특별한 하드웨어 또는 소프트웨어를 갖도록 요구하지 않고, 대신 기껏해야 Internet Explorer®, Safari®, Firefox® 또는 Chrome®와 같은 종래의 웹 브라우저를 요구하면서 달성될 수 있다.
일 예시적인 실시예에 따라, 기재된 매개 라우팅 시스템 및 방법은 사설 IP 네트워크 내의 모바일 컴퓨팅 디바이스들이 방화벽 네트워크 서버를 통해 공개 인터넷에 무선으로 접속되는 통신 시스템에서 구현된다. 방화벽 네트워크 서버는 사설 IP 네트워크에 대한 종래의 보안 기능을 수행한다. 기재된 실시예에 대해, 방화벽 네트워크 서버는 공개 인터넷 내의 컴포넌트들과 사설 IP 네트워크내의 컴포넌트들 간에 여기서 기술되는 통신들이 발생하게 허용하도록 하는 종래 방식으로 구성된다. 바람직하게는, 방화벽 네트워크 서버는 모바일 컴퓨팅 디바이스에 액세스하고자 하는 웹 클라이언트에 의해 액세스 가능한 안정적이고 신뢰할 수 있는 정적으로 어드레싱된 URL을 포함한다. 통상적으로 종래의 컴퓨터(예를 들어, PC, Mac 또는 다른 플랫폼)인 웹 클라이언트는 공개 인터넷에 접속되고 클라이언트-서버 세션에서 클라이언트로서 HTTP 프로토콜을 통해 참가하기 위해 웹 브라우저를 갖는다. 웹 클라이언트는 추가로 웹 클라이언트로부터 별개인 또는 이와 함께 하우징될 수 있는 클라이언트-로컬 프록시-서버를 포함한다. 클라이언트-로컬 프록시-서버가 웹 클라이언트와 함께 하우징되는 경우, 단일의 디바이스(예를 들어, PC, Mac 또는 다른 플랫폼)는 상술된 클라이언트-로컬 프록시-서버 기능 및 상술된 웹 클라이언트 기능 둘 다를 하우징한다. 어느 하나의 시나리오 하에서, 클라이언트-로컬 프록시-서버는 프록시-서버 소프트웨어를 포함하고 공개 인터넷에 접속된다. 클라이언트-로컬 프록시-서버 소프트웨어는 바람직하게는 인터넷의 기본 통신 프로토콜을 활용하는 TCP/IP 프록시-서버 소프트웨어이다. 바람직하게는, 프록시-서버 소프트웨어의 기능은 확장들, 스크립트들 등을 프록시-서버 소프트웨어에 부가함으로써 쉽고 비교적 저렴하게 구성될 수 있다. 모바일 컴퓨팅 디바이스는 예를 들어, 프로세서, 일반적인 동작 소프트웨어, 명령 메모리 및 데이터 메모리를 갖는 iPhone® 또는 Blackberry®일 수 있다. 모바일 컴퓨팅 디바이스는 변경될 수 있는 동적으로 할당된 어드레스를 갖는다. 앞서 기술된 일반적인 동작 소프트웨어 외에, 모바일 컴퓨팅 디바이스는 추가로 모바일 컴퓨팅 디바이스가 HTML 웹사이트를 호스팅하고 일단 설정되면 클라이언트-로컬 프록시-서버를 통해 클라이언트 웹 브라우저와의 클라이언트-서버 세션에서 서버로서 참가하도록 허용하는 모바일 웹 서버 소프트웨어(예를 들어, Apache®) 및 종래의 하드웨어를 포함한다. 바람직하게는, 모바일 서버 소프트웨어는 실질적으로 비-사유이다. 용어 실질적으로 비-사유는 모바일 웹 서버 소프트웨어의 기능이 모바일 웹 서버의 소프트웨어에 확장들, 스크립트들 등을 부가함으로써 쉽고 비교적 저렴하게 구성될 수 있다는 것을 기술하기 위해 여기서 이용된다. 바람직하게는, 모바일 웹 서버 소프트웨어는 추가로 웹 클라이언트가 모바일 컴퓨팅 디바이스 콘텐츠에 액세스하도록 허용하는 충분한 기능을 포함한다. 모바일 컴퓨팅 디바이스의 모바일 웹 서버 소프트웨어와 모바일 컴퓨팅 디바이스의 일반적인 동작 소프트웨어 간의 인터페이스의 부가적인 상세들은 이전에 참조된 가출원 및 공동-계류중인 미국 특허 출원, 즉 본원의 양수인에게 양도되고 그에 의해 여기서 인용에 의해 명시적으로 포함되며 2011년 3월 11일 출원되고 발명의 명칭이 "REMOTE MOBILE ADMINISTRATION AND LOGGING USING HTTP PROTOCOL"인 가출원 번호 제61/452,031호; 본원의 양수인에게 양도되고 여기서 인용에 의해 명시적으로 포함되며 2012년 1월 18일 출원되고 발명의 명칭이 "REMOTE ACCESS AND ADMINISTRATION OF DEVICE CONTENT AND CONFIGURATION USING HTTP PROTOCOL"인 가출원 번호 제61/588,007호; 및 본원의 양수인에게 양도되고 여기서 인용에 의해 명시적으로 포함되며 대리인 문서 번호 103234를 갖고 본원과 동시에 출원되고 발명의 명칭이 "REMOTE ACCESS AND ADMINISTRATION OF DEVICE CONTENT AND CONFIGURATION USING HTTP PROTOCOL"인 공동-계류중인 미국 특허 출원에서 기재된다.
기재된 매개 라우팅 시스템 및 방법에 따라, 다음의 구성들이 상술된 통신 시스템의 클라이언트-로컬 프록시-서버 소프트웨어 및 모바일 웹 서버 소프트웨어에서 구현된다. 기재된 실시예의 특징은 여기서 기술되는 구성들이 새로운 모바일 웹 서버 소프트웨어 또는 새로운 프록시-서버 소프트웨어의 생성을 요구하지 않는다는 것이다. 대신 구성들은 기존의 모바일 웹 서버 소프트웨어 및 기존의 프록시-서버소프트웨어에 적용되는 종래의 확장들, 스크립트들 등에 의해 구현된다. 모바일 웹 서버 소프트웨어는 공개 인터넷 상의 모바일 컴퓨팅 디바이스의 가상 위치를 고유하게 식별하는 디바이스 식별 데이터(DID)를 생성, 저장 및 클라이언트-로컬 프록시-서버에 전송하도록 구성된다. 동작에서, DID는 하나의 식별자("검색 키")가 다른 식별자("검색 결과")를 찾아내기 위해 이용되는 한 쌍의 식별자들이다. 따라서, 최소한도로, DID는 스마트 폰인 모바일 컴퓨팅 디바이스에 대해 10개의 숫자 전화 번호일 수 있는 디바이스 식별자(즉, 검색 키)와 함께 디바이스의 IP 어드레스와 같은 어드레스 데이터(즉, 검색 결과)를 포함한다. 따라서 모바일 컴퓨팅 디바이스가 모바일 스마트 폰인 경우, 모바일 디바이스 DID는 모바일 디바이스의 동적인 어드레스의 현재 버전과 함께 스마트 폰의 10개의 숫자 전화 번호일 수 있다. 디바이스 식별자들의 다른 예들은 "MIN(Mobile ID Number)", "MDN(International Mobile Subscriber Identity)", "IMEI(International Mobile Equipment Identity)", 또는 모바일 네트워크를 공유하는 각각의 모바일 컴퓨팅 디바이스에게 고유한 임의의 다른 ID를 포함한다. 기재된 매개 라우팅 시스템 및 방법 하에서, 모바일 컴퓨팅 디바이스는 클라이언트-로컬 프록시-서버에 그의 DID를 등록하고 그의 DID의 동적인 어드레스 컴포넌트가 변경될 때 또는 미리 결정된 간격들로 그의 DID의 업데이트들을 클라이언트-로컬 프록시-서버에 송신하도록 구성된다.
또한, 기재된 매개 라우팅 시스템 및 방법에 따라, 클라이언트-로컬 프록시-서버 기능은 특별히 모바일 컴퓨팅 디바이스 DID에 대한 임의의 업데이트를 포함해서, 모바일 컴퓨팅 디바이스로부터 수신된 DID를 수신하고 저장하도록 구성된다. 클라이언트-로컬 프록시-서버는 추가로 매개 기능을 수행하도록 구성되고, 그에 의해 모바일 컴퓨팅 디바이스에 액세스하기 위한 클라이언트-로컬 프록시-서버에서 수신된 요청들은 클라이언트-로컬 프록시-서버를 통해 클라이언트-로컬 프록시-서버에 저장된 DID를 이용하여 현재 모바일 컴퓨팅 디바이스 어드레스로 라우팅된다. 클라이언트-로컬 프록시-서버는 통상적으로 바람직하게는 종래의 웹 브라우저(도시되지 않음) 또는 통신 시스템을 통해 클라이언트-서버 세션의 클라이언트 측으로서 작용할 수 있는 임의의 하드웨어/소프트웨어 컴포넌트인 웹 클라이언트로부터 상술된 요청을 수신한다. 웹 클라이언트는 바람직하게는 웹 클라이언트로부터의 요청들을 전송하기 위해 프록시-서버를 이용하도록 그의 웹 브라우저를 구성함으로써 클라이언트-로컬 프록시-서버에 도달한다. 대안적으로, 프록시-서버는 모바일 컴퓨팅 디바이스에 액세스하고자 하는 웹 클라이언트들에 의해 액세스 가능한 정적으로 어드레싱된 URL을 포함하도록 구성될 수 있다. 프록시-서버 URL은 임의의 요청을 행하고 이를 클라이언트-로컬 프록시-서버(바람직하게는 사용자 인증 등 후에)에 자동으로 포워딩할 것이고 클라이언트-로컬 프록시-서버는 요청을 모바일 컴퓨팅 디바이스에 추가로 포워딩하기 위해 기재된 실시예들의 매커니즘들을 이용한다. 클라이언트-로컬 프록시-서버는 심지어 HTML 통신을 위해 웹 클라이언트가 이용하는 병렬 또는 직렬 버스 접속을 통해 자신의 URL을 리스닝(listen)하도록 추가로 구성된다.
일반적으로, 통신 네트워크들은 웹 클라이언트들이 다른 네트워크 서비스들로의 간접적인 네트워크 접속을 하도록 허용하고자 할 때 프록시-서버를 이용한다. 프록시-서버에 접속한 웹 클라이언트는 이어서 접속, 파일 또는 기재된 실시예에서 모바일 컴퓨팅 디바이스인 상이한 서버 상에서 이용 가능한 다른 자원을 요청한다. 여기서 기재된 클라이언트-로컬 프록시-서버는 바람직하게는 광대한 엔지니어링 인시들을 요구함 없이 구성될 수 있다(예를 들어, 스크립트들, 확장들 등을 기존의 프록시-서버 소프트웨어에 부가하는 것을 통해). 기재된 클라이언트-로컬 프록시-서버는 저장된 DID를 이용함으로써 그의 매개 접속 기능을 수행하도록 구성되고, 그에 의해 모바일 컴퓨팅 디바이스에 액세스하도록 클라이언트-로컬 프록시-서버에서 수신된 요청들은 클라이언트-로컬 프록시-서버에 저장된 현재 DID를 이용하여 현재 모바일 컴퓨팅 디바이스 어드레스에 릴레이된다. 클라이언트-로컬 프록시-서버는 모바일 컴퓨팅 디바이스 웹 서버를 접속함으로써 또는 캐시로부터 요청된 자원을 서빙함으로써 요청된 자원을 제공한다. 몇몇 경우들에서, 클라이언트-로컬 프록시-서버는 다양한 목적들을 위해 웹 클라이언트의 요청 또는 서버의 응답을 변경할 수 있다.
따라서, 기재된 실시예의 클라이언트-로컬 프록시-서버는 웹 클라이언트로부터 모바일 컴퓨팅 디바이스로의 요청들에 대한 매개자로서 작동한다. 클라이언트-로컬 프록시-서버는 본래 변경되지 않는 적어도 하나의 정적인 어드레스를 포함한다. 따라서 클라이언트-로컬 프록시-서버 하드웨어는 또한 공개 인터넷에 접속된 다른 디바이스(예를 들어, 웹 클라이언트)에 의해 신뢰할 수 있게 액세스될 수 있는 종래의 웹 서버 호스트 디바이스의 기능을 포함한다. 이전에 기술된 바와 같이, 클라이언트-로컬 프록시-서버는 프록시-서버 하드웨어와 함께 하우징되거나 개별 디바이스일 수 있는 데이터베이스와 함께 프록시-서버 소프트웨어를 포함한다. 이전에 기술된 바와 같이, 웹 클라이언트는 바람직하게는 종래의 웹 브라우저(도시되지 않음) 또는 통신 시스템을 통해 클라이언트-서버 세션의 클라이언트 측으로서 역할할 수 있는 임의의 하드웨어/소프트웨어 컴포넌트이다. 웹 클라이언트는 인간 사용자에 의해 동작될 수 있거나, 또는 이는 HTTP(또는 다른) 서버들에 자동으로 액세스하도록 HTTP 프로토콜들(또는 다른 것들)을 이용하는 자동화된 툴/스크립트/기계에 의해 동작될 수 있다. 이러한 자동화된 툴들은 보통 "HTTP 에이전트들"로서 지칭된다. 다양한 데이터 흐름 경로들은 모바일 컴퓨팅 디바이스, 네트워크 방화벽 서버, 클라이언트-로컬 프록시-서버, 데이터베이스 및 웹 클라이언트 사이에 그리고 이들 간의 통신을 표현하는 방향 화살표들(44 및 46)에 의해 도 1에서 예시된다.
기재된 실시예에 따른 매개 라우팅 시스템 및 방법의 전체 동작이 이제 기술될 것이다. 매개 라우팅 시스템 및 방법의 동작을 더 잘 이해시키기 위해, 3개의 IP 어드레스들을 계속 추적하는 것이 유용하다. 하나는 DIP 어드레스가 동적으로 할당되고 변경될 수 있는 모바일 컴퓨팅 디바이스의 IP 어드레스이다. 두번째는 사설 IP 네트워크 및 모바일 컴퓨팅 디바이스에 액세스를 제공하는 방화벽 서버 기능의 IP 어드레스이다. 바람직하게는, 사설 네트워크의 방화벽 서버의 IP 어드레스는 모바일 디바이스에 액세스하고자 하는 웹 클라이언트들에 의해 신뢰할 수 있게 액세스 가능한 정적으로 할당된 IP 어드레스이다. 세번째는 웹 클라이언트에의 클라이언트-로컬 프록시-서버 기능의 IP 어드레스이다. 클라이언트-로컬 프록시-서버 IP 어드레스는 바람직하게는, 모바일 컴퓨팅 디바이스에 액세스하고자 하는 웹 클라이언트에 의해 신뢰할 수 있게 액세스 가능한 정적으로 할당된 IP 어드레스이다.
기재된 매개 라우팅 시스템 및 방법의 전체 동작을 계속하면, 모바일 컴퓨팅 디바이스에 액세스하고자 하는 웹 클라이언트는 모바일 컴퓨팅 디바이스와의 클라이언트-서버 세션에서 클라이언트로서 참가하기 위한 요청을 (바람직하게는, HTTP 프로토콜을 통해) 클라이언트-로컬 프록시-서버를 통해 통신한다. 클라이언트-로컬 프록시-서버 기능은 바람직하게는, 웹 클라이언트에 대해 국부적(local)이다. 또한 원격 웹 클라이언트는 원격 웹 클라이언트의 웹 브라우저 및 로컬 클라이언트-로컬 프록시-서버 IP 어드레스를 이용하여 원격으로 클라이언트-로컬 프록시-서버 기능에 액세스할 수 있다. 웹 클라이언트의 요청은 이전에 기술된 "디바이스 식별자"를 포함하며, 이는 클라이언트-로컬 프록시-서버가 특정한 모바일 컴퓨팅 디바이스를 고유하게 식별하도록 허용한다. 예를 들어, 모바일 컴퓨팅 디바이스가 모바일 전화인 경우, 디바이스 식별자는 적어도 모바일 컴퓨팅 디바이스의 고유한 10-숫자 전화 번호를 포함할 수 있다. 이 요청을 이행하기 위해, 클라이언트-로컬 프록시-서버는 모바일 컴퓨팅 디바이스의 가상 위치를 이제 식별해야 한다. 모바일 컴퓨팅 디바이스의 가상 위치의 식별은, 모바일 컴퓨팅 디바이스 IP 어드레스가 동적이어서, 주로 모바일 컴퓨팅 디바이스의 이동, 무선 접속 및 그의 통신 네트워크의 요건들에 관련된 다양한 이유들로 임의의 시간에 변경된다는 사실에 의해 보다 복잡하게 이루어진다. 따라서, 기재된 매개 라우팅 시스템들 및 방법들에 따라, 모바일 컴퓨팅 디바이스는, 모바일 컴퓨팅 디바이스 IP 어드레스가 변경될 때, 사설 네트워크방화벽 서버를 통해 또는 몇몇 다른 통신 경로를 통해 그의 검색 키(즉, 이전에 기술된 디바이스 식별자)와 함께 그의 현재 IP 어드레스(즉, 이전에 기술된 디바이스 어드레스)의 업데이트를 클라이언트-로컬 프록시-서버 기능에 송신하도록 구성된다. 대안적으로, 모바일 컴퓨팅 디바이스는 DID의 IP 어드레스 컴포넌트가 실제로 변경되었는지 간에 하여간 선택된 간격들로 그의 현재의 DID를 송신할 수 있다. 어느 하나의 접근법 하에서, 클라이언트-로컬 프록시-서버는 모바일 컴퓨팅 디바이스의 현재의 IP 어드레스를 DID로서 수신, 저장 및 유지한다.
클라이언트-서버 세션에 참가하기 위한 요청의 수신 시에, 클라이언트-로컬 프록시-서버는 클라이언트-로컬 프록시-서버에 저장된 DID에 대해 요청을 종래의 방식으로 비교한다. 요청과 저장된 DID 간에 매칭이 존재하는 경우(즉, 요청의 "검색 키"가 저장된 DID의 "키" 부분에 매칭함), 클라이언트-로컬 프록시-서버는 저장된 DID로부터 현재 모바일 컴퓨팅 디바이스 어드레스를 추출하고 클라이언트-서버 세션에 대한 요청 및 현재의 모바일 컴퓨팅 디바이스 IP 어드레스를 사설 네트워크 방화벽 서버 IP 어드레스에 포워딩한다. 사설 네트워크 방화벽 서버는 모바일 컴퓨팅 디바이스를 발견하고 클라이언트-로컬 프록시-서버 및 웹 클라이언트(원격이거나 국부적임)를 모바일 컴퓨팅 디바이스 어드레스에 접속하기 위해 현재의 모바일 컴퓨팅 디바이스 IP 어드레스를 이용하고, 그에 의해 클라이언트-서버 세션을 개방한다. 일단 클라이언트-서버 세션이 설정되면, 클라이언트-로컬 프록시-서버는 클라이언트-로컬 프록시-서버 및 사설 네트워크 방화벽 서버를 통해 웹 클라이언트와 모바일 컴퓨팅 디바이스 간의 간접적인 클라이언트-서버 세션을 실행하기 위해 종래의 프록시 매개 라우팅 기법들을 이용한다.
종래의 네트워크동작 하에서, 네트워크는 보통 위에서 기술된 클라이언트-서버 세션이 활성인 한 모바일 컴퓨팅 디바이스의 동적인 어드레스를 변경하지 않아야 한다. 몇몇 이유들로, 네트워크가 모바일 컴퓨팅 디바이스 동적인 어드레스를 클라이언트-서버 세션 동안 변경하는 경우, 클라이언트-서버 세션의 재접속이 새로운 요청을 송신하는 웹 클라이언트를 통해 개시되어야 한다. 그러나 이러한 재접속을 용이하게 하기 위해, 현재의 모바일 컴퓨팅 디바이스 DID는 클라이언트-로컬 프록시-서버에서 이용 가능하고, 클라이언트-로컬 프록시-서버는 이에 따라 후속의 재접속 요청에 빠르게 반응할 수 있다.
따라서, 기재된 실시예의 매개 라우팅 시스템들 및 방법들은 동적으로 어드레싱된 디바이스의 콘텐츠 및 기능 둘 다의 활용 및 이에 대한 액세스를 제공하기 위해 다양한 유용한 시스템들의 구현을 용이하게 한다. 예를 들어, 기재된 매개 라우팅 시스템의 구현 시에, 사용자가 사용자의 동적으로 어드레싱된 모바일 컴퓨팅 디바이스(예를 들어, 모바일 스마트폰, PDA, 랩톱, 테블릿 등)에 대한 신뢰 가능한 원격 액세스를 사용자-구성 가능한 제약들을 받는 잠재적으로 무한한 수의 다른 것들을 제공할 수 있는 더 넓은 시스템이 구현된다. 이러한 원격 액세스는 다른 것들이 임의의 특별한 하드웨어 또는 소프트웨어를 갖도록 요구하지 않고, 대신 기껏해야 Internet Explorer®, Safari®, Firefox® 또는 Chrome®와 같은 종래의 웹 브라우저를 요구하면서 달성될 수 있다. 예시적인 실시예에 따른 일 예시적인 프로세스에서, 모바일 컴퓨팅 디바이스 상에 호스팅되는 모바일 웹 페이지는 모바일 웹 페이지를 보여주는 브라우저에 액세스 가능한 특정한 콘텐츠, 예를 들어, 휴가 중에 찍은 사진들의 세트를 형성하도록 종래의 방식으로 구성될 수 있다. 예를 들어, 모바일 웹 페이지는 "Rob’s Beach Vacation, 2010"로서 나타나는 종래의 HTML 코딩에 따른 텍스트 또는 그래픽을 갖는 클릭 필드를 포함할 수 있다. 모바일 컴퓨팅 디바이스의 이 "Rob’s Beach Vacation, 2010" 콘텐츠에 액세스하고자 하는, 공개 인터넷에 접속된 PC 또는 모바일 컴퓨팅 디바이스의 웹 클라이언트 또는 사용자는 클라이언트-로컬 프록시-서버 URL을 자신의 웹 브라우저 필드에 타이핑하고 "입력" 또는 "보내기"를 누른다. 클라이언트-로컬 프록시-서버는 웹 클라이언트가 사용자에 의해 요구되는 임의의 인가(authorization) 데이터를 입력하고 인가 시에, 예를 들어, 모바일 컴퓨팅 디바이스와 연관된 10-숫자 전화 번호를 제공함으로써 모바일 컴퓨팅 디바이스에 대한 액세스를 요청하는 특정한 웹 페이지를 띄우게 한다. 클라이언트-로컬 프록시-서버는 위에서 기술된 매개 라우팅 시스템 및 방법들에 따라 10-숫자 전화 번호를 이용하여 클라이언트-로컬 웹 프록시-서버에 현재 저장된 모바일 컴퓨팅 디바이스 IP 어드레스를 검색 및 페치(fetch)하고, 이어서 모바일 컴퓨팅 디바이스와 간접 또는 가상 통신하는 클라이언트-로컬 URL을 통해 웹 클라이언트를 라우팅한다. 웹 클라이언트는 모바일 웹 페이지 "Rob’s Beach Vacation, 2010"를 통해 모바일 컴퓨팅 디바이스 상에 저장된 사진에 이제 액세스할 수 있다.
위의 개요 및 예로부터, 매개 라우팅 시스템들 및 방법들의 기재된 실시예들은 다른 특징들 및 이익들 중에서도, 상업적으로 이용 가능하고 실질적으로 비-사유의 컴포넌트(예를 들어, 모바일 컴퓨팅 디바이스, 웹 클라이언트, 웹 브라우저들 등)로 매개 라우팅 시스템 및 방법들을 구현함으로써 그리고 이들 컴포넌트들(예를 들어, 위에서 기술된 바와 같은 모바일 컴퓨팅 디바이스 및 프록시-서버 기능들)에 대해 타겟팅된 및 비교적 쉽게 구현된 구성들을 형성함으로써 비용, 엔지니어링 인시들, 설계 복잡도 및 사유의 시스템들로의 액세스할 필요성을 최소화하는데 도움을 준다는 것을 알 수 있다.
삭제
이제 기재된 실시예의 매개 라우팅 시스템 및 방법들의 보다 상세한 설명으로 넘어가면, 도 1은 방화벽 서버(31)를 통해 공개 인터넷(24)과 통신하는 사설 IP 네트워크(22)를 포함하는 통신 시스템(20)을 예시한다. 방화벽 서버(31)는 사설 IP 네트워크(22)에 대한 종래의 보안 기능을 서빙한다. 기재된 실시예들에 대해, 방화벽 서버(31)는 공개 인터넷(24) 내의 컴포넌트들과 사설 IP 네트워크(22) 내의 컴포넌트들 간에 여기서 기술된 통신들이 발생하도록 허용하기 위해 종래의 방식으로 구성된다. 방화벽 서버(31)는 바람직하게는, 변경되지 않는 정적인 IP 어드레스를 갖는다.
모바일 컴퓨팅 디바이스(28)는 시스템(20)에 접속하여 이와 통신한다. 모바일 컴퓨팅 디바이스(28)는 셀룰러 전화, 핸드헬드 PDA, 테블릿, 랩톱 컴퓨터, 트래킹 디바이스 등일 수 있고, 하드와이어들 또는 케이블들을 통해 및/또는 무선으로 시스템(20)과 통신할 수 있다. 모바일 컴퓨팅 디바이스(28)는 클라이언트-서버 세션이 모바일 컴퓨팅 디바이스(28)와 웹 클라이언트(40) 간에 설정되면 웹 클라이언트(40)가 모바일 컴퓨팅 디바이스의 콘텐츠 및 특징들을 원격으로 액세스(예를 들어,영상들, 그래픽들 및 모바일 컴퓨팅 디바이스(28)로부터의 다른 정보의 리트리브)하도록 허용하기 위한 충분한 기능을 포함한다. 이러한 디바이스 기능의 일 예는 종래의 호스트 디바이스 및 인터넷 웹사이트의 기능을 모바일 컴퓨팅 디바이스(28)에 제공하는 모바일 컴퓨팅 디바이스 웹 서버 소프트웨어(30)를 포함한다. 일반적으로, 웹사이트들은 웹 서버 하드웨어 상에 호스팅되고 웹 서버 소프트웨어는 웹 서버 하드웨어 상에 상주한다. 웹 서버 소프트웨어는 외부의 클라이언트 웹 서버 브라우저가 영상들, 그래픽들 및 웹 서버 하드웨어로부터의 다른 정보를 리트리브하도록 하는 매커니즘을 제공한다. 모바일 컴퓨팅 디바이스(28)의 어드레스는 동적으로 할당될 수 있다.
도 1이 단일의 사설 IP 네트워크(22)를 도시하지만, 기재된 실시예들은 공개 인터넷(24)과 인터페이스하는 몇개의 사설 IP 네트워크들(예를 들어, Verizon® AT&T 등)을 갖는 통신 시스템에서 구현될 수 있다. 또한, 단일의 모바일 컴퓨팅 디바이스(28)가 도시되지만, 각각의 사설 IP 네트워크(22)는 다수의 모바일 컴퓨팅 디바이스들을 포함한다고 이해된다. 모바일 컴퓨팅 디바이스(28)의 디바이스 식별자(즉, DID의 "검색 키" 컴포넌트)는 글로벌하게 고유하고, 모바일 컴퓨팅 디바이스(28)의 IP 어드레스(즉, DID의 "검색 결과" 컴포넌트)는 사설 IP 네트워크(22) 내에서 글로벌하게 고유하다. 기재된 실시예들은 또한 모든 컴포넌트들(모바일 컴퓨칭 디바이스들, 클라이언트-로컬 프록시-서버들, 웹 클라이언트들 등)이 공개 인터넷(24)에 있는 통신 시스템에서 구현될 수 있다.
통신 시스템(20)은 추가로 웹 클라이언트 서버(40)에서 국부적으로 구현될 수 있는 클라이언트-로컬 프록시-서버 기능(32)을 포함한다. 클라이언트-로컬 프록시-서버(32)는 프록시-서버 소프트웨어(34) 및 데이터베이스(36)를 포함한다. 클라이언트-로컬 프록시-서버(32) 및 클라이언트-로컬 프록시-서버 소프트웨어(34)는 웹 클라이언트(40)와 함께 하우징될 수 있거나, 또는 웹 클라이언트(40)와 클라이언트-로컬 프록시-서버(32, 34) 간의 로컬 통신 경로(42)를 갖는 자립형 디바이스로서 구현될 수 있다. 데이터베이스(36)는 클라이언트-로컬 프록시-서버(32)와 함게 하우징될 수 있거나, 클라이언트-로컬 프록시-서버(32)로부터 별개일 수 있다. 바람직하게는, 클라이언트-로컬 프록시-서버(32)는 본래 변경되지 않는 정적인 어드레스를 갖는다. 원격 웹 클라이언트(41)는 통신 경로(42a)에 의해 도식적으로 도시되는, 그의 정적인 어드레스에서 클라이언트-로컬 프록시-서버(32)에 액세스하기 위해 그의 웹 브라우저를 이용할 수 있다. 따라서, 클라이언트-로컬 프록시-서버(32)는 공개 인터넷(24)에 접속되는 다른 디바이스(예를 들어, 웹 클라이언트(40) 또는 원격 웹 클라이언트(41))에 의해 신뢰할 수 있게 액세스될 수 있는 종래의 서버 호스트 디바이스의 기능을 갖는다. 또한, 클라이언트-로컬 프록시-서버(32)는 종래의 프록시-서버의 기능을 제공한다. 일반적으로 프록시-서버는 클라이언트가 다른 네트워크 서비스들로의 간접적인 네트워크 접속들을 행하도록 허용한다. 프록시-서버에 접속한 클라이언트는 이어서 상이한 서버 상에서 이용 가능한 접속 파일, 또는 다른 자원을 요청한다. 프록시-서버는 특정된 서버에 접속함으로써 또는 캐시로부터 이를 서빙함으로써 요청된 자원을 제공한다. 몇몇 경우들에서, 프록시-서버는 다양한 목적들을 위해 클라이언트의 요청 또는 서버의 응답을 변경할 수 있다.
웹 클라이언트(40)는 바람직하게는, 종래의 웹 브라우저(도시되지 않음) 또는 통신 시스템(20)을 통한 클라이언트-서버 세션의 클라이언트 측으로서 역할할 수 있는 임의의 하드웨어/소프트웨어 컴포넌트이다. 웹 클라이언트(40)는 인간 사용자에 의해 동작될 수 있거나, 또는 HTTP(또는 다른) 서버들에 자동으로 액세스하기 위해 HTTP 프로토콜들(또는 다른 것들)을 이용하는 자동화된 툴/스크립트/기계에 의해 동작될 수 있다. 이러한 자동화된 툴들은 보통 "HTTP 에이전트들"로서 지칭된다. 다양한 데이터 흐름 경로들은 모바일 컴퓨팅 디바이스(28), 방화벽 서버(31), 클라이언트-로컬 프록시-서버(32), 데이터베이스(36), 웹 클라이언트(40) 및 원격 웹 클라이언트(41) 간의 또는 그 사이의 통신을 표현하는 방향 화살표들(42, 44 및 46)에 의해 도 1에서 예시된다.
기재된 실시예들의 시스템들 및 방법들은 동적으로 할당되는 어드레스를 갖는 모바일 컴퓨팅 디바이스(예를 들어, 모바일 컴퓨팅 디바이스(28))와 웹 클라이언트(40)(또는 원격 웹 클라이언트(41)) 간의 데이터 경로를 신뢰할 수 있게 개방한다. 기재된 시스템들 및 방법들의 중요한 양상은 컴포넌트들(예를 들어, 모바일 컴퓨팅 디바이스, 모바일 웹 서버 소프트웨어, 데이터베이스, 웹 클라이언트 브라우저들 등) 대부분이 상업적으로 이용 가능하며 실질적으로 비-사유의 아이템들이라는 것이다. 기재된 실시예들은 컴포넌트들을 선택하기 위해 특정한 구성-타입 변경들을 요구하며, 이러한 구성들의 예들(예를 들어, 방법들(50, 70))은 도 2 및 도 3에서 도시된다. 그러나 기재된 구성 변경들에 의해 제공된 부가된 기능은 타겟팅되고 관련 분야의 당업자들 능력 내에 있는 알려진 설계 기법들(예를 들어, 기존 소프트웨어에 대한 확장들, 스크립트들 등의 부가)을 통해 구현될 수 있다.
기재된 실시예들에 따라, 모바일 컴퓨팅 디바이스 웹 서버 소프트웨어(30)는 도 2에서의 모바일 컴퓨팅 디바이스 방법(50)에 의해 예시되는 기능을 포함하도록 구성되고, 그에 의해 모바일 컴퓨팅 디바이스(28)는 모바일 컴퓨팅 디바이스의 현재 IP 어드레스 및 디바이스 식별자를 포함하는 DID(앞서 기술된 "디바이스 식별 데이터")를 클라이언트-로컬 프록시-서버 하드웨어(32)에 통신한다. 클라이언트-로컬 프록시-서버 하드웨어(32)는 클라이언트-로컬 웹 프록시-서버 방법(70)(도 2에서 또한 도시됨)에 의해 예시되는 기능을 제공하도록 구성된 클라이언트-로컬 프록시-서버 소프트웨어(34)를 포함하며, 그에 의해 클라이언트-로컬 웹 프록시-서버 하드웨어(32)는 모바일 컴퓨팅 디바이스의 IP 어드레스를 포함하는 업데이트된 DID를 모바일 컴퓨팅 디바이스(28)로부터 주기적으로 수신한다. 클라이언트-로컬 프록시-서버 하드웨어(32)는 데이터베이스(36)에 모바일 컴퓨팅 디바이스(28)의 현재의 DID를 저장한다. 이전에 기술된 바와 같이, DID는 또한 쉽게 기억되고 타이핑되는 편리한 식별자(예를 들어, "johndoephone", 또는 "555-123-4567")일 수 있는 디바이스 식별자(또는 "검색 키")를 포함하고 웹사이트의 도메인 명칭과 유사하게 기능한다. 클라이언트-로컬 프록시-서버(32)는 사설 IP 네트워크(22) 내의 모바일 컴퓨팅 디바이스(28)(또한, 도시되지 않은 다른 사설 IP 네트워크들 내의 다른 모바일 컴퓨팅 디바이스들)와 공개 인터넷(24) 내의 웹 클라이언트(40) 간에 인터페이스하고, 디바이스 식별자는 글로벌하게 고유하다. 클라이언트-로컬 프록시-서버(32)는 웹 클라이언트(40) 또는 원격의 웹 클라이언트(41)로부터 디바이스(28)에 액세스하기 위한 요청을 수신(통상적으로 웹 클라이언트 브라우저를 통해)할 수 있는 URL(도시되지 않음)을 포함한다. 클라이언트-로컬 프록시-서버(32)는 웹 클라이언트(40)와 함께 하우징될 수 있거나, 또는 그것이 로컬 데이터 통신 경로(42)(유선 또는 무선일 수 있음)를 통해 웹 클라이언트(40)와 통신하도록 웹 클라이언트(40)와 국부적으로 안착될 수 있다. 또한, 클라이언트-로컬 프록시-서버(32)는 원격 웹 클라이언트(41)가 클라이언트-로컬 프록시-서버로의 신뢰할 수 있는 인터넷 접속을 설정하도록 허용하는 정적인 어드레스를 갖는다.
이제 도 2으로 넘어가서, 모바일 컴퓨팅 디바이스 방법(50) 및 클라이언트-로컬 프록시-서버 방법(70)의 상호작용 및 동작을 도시하는 흐름도들이 예시된다. 방법들(50, 70)들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로(예를 들어, 스크립트 해석기 또는 가상 기계에서 실행중인 스크립트), 또는 그의 임의의 조합들로 구현될 수 있다. 방법(50)은 모바일 컴퓨팅 디바이스(28)에서 모바일 컴퓨팅 디바이스 웹 서버 소프트웨어(30)에 의해 구현되고, 방법(70)은 클라이언트-로컬 프록시-서버(32)에서 클라이언트-로컬 프록시-서버 소프트웨어(34)에 의해 구현된다. 도 2에서 도시된 바와 같이, 방법(50)의 블록(52)에서, 모바일 컴퓨팅 디바이스(28)는 도 1에서 도시된 통신 시스템(20) 내의 네트워크 엔티티로부터 종래의 방식으로 디바이스 어드레스(DA)를 수신한다. 예를 들어, 시스템(20)이 CDMA 네트워크를 포함하는 경우, DA는 패킷 데이터 서빙 노드(PDSN)(도시되지 않음)에 의해 할당된 디바이스 IP 어드레스일 것이다. 블록(54)에서 방법(50)은 그 디바이스에 대한 고유한 디바이스 식별자(DI) 및 디바이스 어드레스(DA)를 포함하는 DID를 생성한다. 고유한 디바이스 식별자("검색 키"로서 앞서 기술됨)는 쉽게 기억되고 타이핑되는 편리한 식별자(예를 들어, "johndoephone", 또는 "555-123-4567")일 수 있고, 웹사이트 도메인 명칭과 유사하게 기능할 수 있다. 블록(56)은 통신 경로(58)를 통해 DID를 클라이언트-로컬 프록시-서버(32)에 전송한다. 도 2의 통신 경로(58)는 모바일 컴퓨팅 디바이스(28, 30)로부터 클라이언트-로컬 프록시-서버(32, 34)로 DID를 패싱하기 위한 다양한 방식들의 가상 표현이다. 예를 들어, 통신 경로(58)는 도 1에서 도시된 데이터 흐름 경로(44)에 의해 설정된 통신 링크를 통해 구현될 수 있다. 대안적으로, 통신 경로(58)는 모바일 컴퓨팅 디바이스가 작은 "자동화된" 웹 클라이언트를 실행하게 함으로써 그리고 클라이언트-로컬 프록시-서버에 DID를 통신하기 위해 그 자동화된 웹 클라이언트를 이용함으로써 달성될 수 있다. 자동화된 웹 클라이언트는 클라이언트-로컬 프록시-서버에서 지정된 페이지를 브라우징할 수 있으며, 이 페이지는 모바일 컴퓨팅 디바이스에 "당신의 DID를 제출하고 SUBMIT 버튼을 눌러주세요"를 요청하는 형식을 포함한다. 자동화된 웹 클라이언트는 형식을 "채우고" 제출을 누른다. 클라이언트-로컬 프록시-서버는 이어서 DID를 수신하고 이를 저장한다. 방법(50)은 모바일 컴퓨팅 디바이스(28, 30)가 업데이트된 디바이스 어드레스를 수신했는지 여부를 판단 블록(60)에서 질의한다. 새로운 디바이스 어드레스가 수신되지 않았다고 판단 블록(60)에서 방법(50)이 결정하는 경우, 방법은 입력을 블록(60)에 리턴하고 질의를 반복한다. 새로운 디바이스 어드레스가 수신되었다고 판단 블록(60)에서 방법(50)이 결정할 때, 방법은 입력을 블록(54)에 리턴하고, 업데이트된 디바이스 어드레스를 포함하는 새로운 DID를 생성하고 통신 경로(58)를 통해 클라이언트-로컬 프록시-서버(32, 34)에 업데이트된 DID를 전송한다. 판단 블록(60)은 DA가 실제로 변경되었는지를 검출하거나 DID의 DA 컴포넌트가 실제로 변경되지 않은 경우 조차도 DID를 주기적으로 업데이트하고 클라이언트-로컬 프록시-서버(32, 34)에 이를 전송하는 타이머 기능에 기초하는 것과 같은 다양한 방식들로 트리거될 수 있다.
이제 클라이언트-로컬 프록시-서버 방법(70)으로 넘어가면, 방법(70)은 표제 "DID 저장" 및 "발견 및 포워딩(Locate and Forward)" 하에서 도 2에서 식별되는 2개의 주요한 컴포넌트들을 포함한다. 방법(70)의 DID 저장 컴포넌트에서 블록(72)은 통신 경로(58)를 통해 모바일 컴퓨팅 디바이스(28)로부터의 DID를 포함하는 다양한 모바일 컴퓨팅 디바이스로부터 현재 그리고 업데이트된 DID를 수신한다. 블록(72)에서 수신된 DID는 클라이언트-로컬 프록시-서버(32, 34)와 통신하는 다양한 모바일 통신 디바이스 각각에 대한 고유한 디바이스 식별자(DI) 및 현재의 그리고 업데이트된 어드레스(DA)를 포함한다. 블록(74)은 데이터베이스(36)에 수신된 DID를 저장하고, 이어서 임의의 DID 업데이트들을 수신하도록 블록(76)에서 대기한다. 판단 블록(78)은 업데이트된 DID가 수신되었는지를 결정하도록 검사한다. 어떠한 업데이트된 DID도 수신되지 않은 경우, 방법(70)은 입력을 블록(76)에 리턴하고 DID 업데이트들을 대기한다. 판단 블록(78)에서 업데이트된 DID가 수신된 경우, 방법(70)은 입력을 블록(74)에 리턴하고 데이터베이스(36)에 수신된 업데이트된 DID를 저장한다.
방법(70)의 "발견 및 포워딩" 부분으로 이제 넘어가서, 클라이언트-로컬 프록시-서버(32, 34)는 모바일 컴퓨팅 디바이스에 액세스하기 위해 웹 클라이언트들로부터(통상적으로 웹 클라이언트의 브라우저를 통해) 요청들을 수신하기 위한 가상 위치 또는 URL로서 기능하는 "시작" 또는 "홈" 웹 페이지(도시되지 않음)을 포함한다. 클라이언트-로컬 프록시-서버 시작 페이지는 웹 클라이언트(40)가 페이지에 대한 인터넷 접속을 신뢰할 수 있게 그리고 일관되게 설정하도록 허용하는 정적인 어드레스를 갖는다. 방법(70)은 모바일 컴퓨팅 디바이스에 액세스하기 위한 요청이 클라이언트-로컬 프록시-서버 시작 페이지에서 수신되었는지를 판단 블록(80)에서 평가한다. 요청이 수신되지 않은 경우, 판단 블록(80)은 그의 입력을 리턴하고 질의를 반복한다. 모바일 컴퓨팅 디바이스에 액세스하기 위한 요청이 판단 블록(80)에서 수신된 경우, 기재된 실시예에 따라, 블록(82)은 (데이터베이스(36)를 통해) 클라이언트-로컬 프록시-서버(32)에 저장된 DID에 추출된 디바이스 식별자를 비교하기 위해 요청으로부터 디바이스 식별자를 추출하고 데이터베이스(36)를 검색한다. 방법(70)은 추출된 디바이스 식별자가 저장된 DID 엔트리와 매칭하는지를 판단 블록(84)에서 평가한다. 어떠한 매칭도 발견되지 않는 경우, 블록(86)은 실패 리포트를 생성하고 입력을 판단 블록(80)에 리턴한다. 판단 블록(84)에서, 추출된 디바이스 식별자가 저장된 DID 엔트리와 매칭하는 경우, 블록(88)은 방화벽 서버(31)를 통해 요청자(예를 들어, 웹 클라이언트(40) 또는 원격 웹 클라이언트(41))로부터 모바일 컴퓨팅 디바이스 웹 서버(28, 30)로의 통신 경로를 개방하도록 매칭된 DID의 디바이스 어드레스 컴포넌트를 이용한다. 매개자로서 작동하여, 클라이언트-로컬 프록시-서버(32)는 클라이언트-로컬 프록시-서버 URL "시작" 또는 "홈" 페이지의 정적인 어드레스로부터 모바일 컴퓨팅 디바이스(28)의 현재 저장된 어드레스로 요청들을 릴레이한다. 이에 따라 방법들(50 및 70)은 사설 IP 네트워크(22) 내의 모바일 컴퓨팅 디바이스들(예를 들어, 모바일 컴퓨팅 디바이스(28))의 각각의 할당된 어드레스의 현재 버전이 데이터베이스(36)에서 이용 가능하다는 것을 보장하기 위해 함께 작동한다.
삭제
블록(88)에서 매개 동작은 기재된 실시예 하에서 신규한 방식으로 적용되고 다음을 포함하는(그러나 이것으로 제한되지 않음) 다양한 방식들로 구현될 수 있다:
a. 클라이언트-로컬 프록시-서버는 요청을 "현상대로(as-is)"를 패싱(이에 따라 "투명" 프록시임)할 수 있음.
b. 클라이언트-로컬 프록시-서버는 그의 콘텐츠에 의존하여 요청을, 예를 들어, "my_long_url_name.html" 로부터 "p12.htm"로 번역할 수 있음. 이러한 번역은 대답 콘텐츠의 추가의 편집을 요구할 수 있음
c. 클라이언트-로컬 프록시-서버는 그의 콘텐츠에 의존하여 요청들을 필터링할 수 있는데, 예를 들어, "index.html"에 대한 요청을 허용하지만, "data.txt"에 대한 요청을 거부함.
d. 클라이언트-로컬 프록시-서버는 그의 콘텐츠에 의존하여 요청들을 라우팅하는데, 예를 들어, 반드시 모바일 웹-서버가 아니라 상이한 종단 웹-서버들에 요청들을 송신할 수 있다. 이는 요청이 모바일 웹-서버로부터만 대답되는 것으로 보이게 하지만, 실질적으로 이는 몇개의 소스들로부터 대답된다. 이러한 접근법을 이용하는 이익들은 다음을 포함한다:
(i) 하위 네트워크 이용 : 예를 들어, 화상들 및 클라이언트 측 스크립트들과 같은 모바일-특정이 아닌 데이터, 또는 드물게 변경되는 데이터는 임의의 웹 서버에 저장되고 모바일 대역폭을 이용함 없이 리트리브될 수 있다.
(ii) 이력적 또는 오프라인 데이터를 저장: 몇몇 데이터는 모바일 메모리로부터 웹 서버로 이동될 수 있다(예를 들어, 구 레코드들). 요청되면, 이 데이터는 모바일 웹 서버가 아니라 오프라인 서버로부터 리트리브될 수 있다. 또한, 이러한 레코드들은 모바일 컴퓨팅 디바이스가 턴 오프되거나 네트워크 커버리지 내에 있지 않은 경우 조차 이용 가능할 것이다.
도 3은 도 1에서 도시된 실시예에 의해 수행되는 동작 단계들의 보다 상세한 예이다. 이 예에서, 클라이언트-로컬 프록시-서버는 TCP/IP 프록시-서버이다. 도 3에서 도시된 동작 단계들은 1 내지 15로 넘버링되며 아래에서 기술된다.
단계 1 ― 모바일 디바이스에는 IP 어드레스가 할당된다. 이는 모바일 디바이스가 전력공급된 이후 및 특정한 네트워크의 요구들에 의해 결정된 바와 같은 다양한 시간들에 행해진다. 따라서, IP 어드레스는 때때로 변경될 수 있다. 도 3에서, IP 어드레스는 "1.2.3.4"로서 표현된다. 이는 실제 IP 어드레스가 아니고 단지 예시 목적을 위해 이 예에서 이용된다. 여기서 기재된 예들이 IPv4 어드레스 포맷들을 활용하지만, 기재된 실시예들은 또한 IPv6와 같은 다른 어드레싱 방식들에 적용된다.
단계 2 ― 모바일 디바이스는 모바일 디바이스의 DID(앞서 기술된 "디바이스 식별 데이터")의 업데이트를 클라이언트-로컬 TCP/IP 프록시-서버에 송신하기 위해 도 2에서 도시된 방법(50)을 구현한다. 이 예에서, 모바일 디바이스 DID는 모바일-ID(앞서 기술된 "디바이스 식별자") 및 새로운 IP 어드레스를 포함한다. 단계 2는 몇 개의 방식들로 달성될 수 있다. 예를 들어, 모바일 디바이스는 HTTP 프로토콜들을 이용하여 클라이언트-로컬 TCP/IP 프록시-서버와 통신할 수 있고, 이에 따라 정보를 제출하도록 HTTP "POST" 또는 "GET" 매서드(method)들을 이용할 수 있다. 웹 서버-측-스트립팅(web server-side-scripting)을 이용하는 클라이언트-로컬 TCP/IP 프록시-서버는 데이터베이스(DB)에 이 정보를 저장할 것이다. 대안적으로, 모바일 디바이스는 IP 통신에 기초한 사유의 프로토콜을 이용하여 DB와 통신할 수 있다.
단계 3 ― 공개 인터넷 사용자는 웹 브라우저를 작동시키고 모바일-ID, 예를 들어, "5551231234"와 함께 클라이언트-로컬 TCP/IP 프록시-서버의 "프록시 포트"의 포트 어드레스(예를 들어, "http://www.service.com")를 타이핑하고 "enter"를 클릭한다.
단계 4 ― 클라이언트-로컬 TCP/IP 프록시-서버(웹 브라우저에서, 그 하에서, 또는 그와 연관하여 실행하고 프록시 포트를 리스닝함)는 사용자의 엔트리를 검출한다. 클라이언트-로컬 TCP/IP 프록시-서버가 웹 클라이언트와 함께 하우징되는 경우, 프록시-서버의 기능은 웹 브라우저 그 자체가 어떠한 수정도 필요하지 않고 TCP/IP 프록시-서버가 국부적임을 인지할 필요가 없도록 설치될 수 있다는 것이 주의되어야 한다.
단계 5 ― 웹 브라우저와 TCP/IP 프록시-서버 간의 "접속"이 설정된다.
단계 6 ― 웹 브라우저는 HTTP GET 요청을 TCP/IP 프록시-서버에 "송신"한다. 클라이언트-로컬 TCP/IP 프록시-서버는 HTTP GET 요청으로부터 모바일 ID를 추출하고, 이를 이용하여 DB에 질의하고 모바일 ID를 모바일 IP 어드레스로 변환한다.
단계 7, 8, 9 및 10 ― 클라이언트-로컬 프록시-서버는 HTTP GET 요청을 모바일 웹 서버에 송신하고 요청된 콘텐츠는 모바일 웹 서버로부터 클라이언트-로컬 TCP/IP 프록시-서버에 송신된다. 이는 몇 개의 종래의 방식들로 달성된다:
a. 클라이언트-로컬 프록시-서버는 요청을 "현상대로(as-is)" 패싱할 수 있고, 그에 의해 "투명한" 프록시로서 동작함.
b. 클라이언트-로컬 프록시-서버는 그의 콘텐츠에 의존하여 요청을, 예를 들어, "my_long_url_name.html" 로부터 "p12.htm"로 번역할 수 있음. 이러한 번역은 대답 콘텐츠의 추가의 편집을 요구할 수 있음.
c. 클라이언트-로컬 프록시-서버는 그의 콘텐츠에 의존하여 요청들을 필터링할 수 있는데, 예를 들어, "index.html"에 대한 요청을 허용하지만, "data.txt"에 대한 요청을 거부함.
d. 클라이언트-로컬 프록시-서버는 그의 콘텐츠에 의존하여 요청들을 라우팅할 수 있는데, 예를 들어, 반드시 모바일 웹-서버가 아니라 상이한 종단 웹-서버들에 요청을 송신한다. 이는 요청이 모바일 웹-서버로부터만 대답되는 것으로 보이게 하지만, 실제로 이들은 몇개의 소스들로부터 대답되고 있다. 이러한 접근법을 이용하는 이익들은 다음을 포함한다:
(i) 하위 네트워크 이용 : 모바일-특정이 아닌 데이터, 또는 가끔 변경되는 데이터는 임의의 웹 서버에 저장되고 모바일 대역폭을 이용함 없이 리트리브될 수 있으며, 예를 들어, 화상들 및 클라이언트 측 스크립트들임.
(ii) 이력적 또는 오프라인 데이터를 저장: 몇몇 데이터는 모바일 메모리로부터 웹 서버로 이동될 수 있다(예를 들어, 구 레코드들). 요청되면, 이 데이터는 모바일 웹 서버가 아니라 오프라인 서버로부터 리트리브될 수 있다. 또한, 이러한 레코드들은 모바일 디바이스가 턴 오프되거나 네트워크 커버리지 내에 있지 않은 경우 조차 이용 가능할 것이다.
단계 11 ― TCP/IP 프록시-서버는 요청된 콘텐츠("현상대로" 또는 변경된)를 웹 클라이언트에 역으로 송신한다. 웹 클라이언트의 사용자에게, 경험은 끊임없다(seamless).
단계들 12, 13, 14 및 15 ― 웹 클라이언트는 TCP/IP 프록시-서버가 모바일 웹 서버에 전달하는 다른 HTTP 요청을 발행한다. 모바일 웹 서버로부터의 대답은 이어서 웹 클라이언트에 전달된다.
위에 기술된 단계들, 특히 단계들(2 및 7 내지 10)은 사용자가 동적으로 변경될 수 있는 IP 어드레스를 갖는 모바일 웹 서버에 끊임없는 방식으로 접촉하도록 허용한다는 것에 주의한다. 웹 클라이언트는 어떠한 특별한 고객맞춤(프록시-서버 기능 이외에)도 필요하지 않고, 사용자 경험은 "자연스러운" 데, 그 이유는 모바일 웹 서버와의 사용자의 상호작용이 정적인 웹사이트에서의 통상적인 경험과 다르지 않게 보이기 때문이다.
위의 개시는 본 발명의 예시적인 실시예들을 도시하지만, 다양한 변경들 및 수정들은 첨부된 청구항들에 의해 정의된 바와 같은 본 발명의 범위로부터 벗어남 없이 여기서 이루어질 수 있다는 것이 주의되어야 한다. 예를 들어, 여기서 기술된 본 발명의 실시예들에 따라 방법 청구항들의 기능들, 단계들 및/또는 동작들은 임의의 특정한 순서로 수행될 필요가 없다. 또한, 본 발명의 엘리먼트들이 단수로 기술되거나 청구될지라도, 단수에 대한 제한이 명시적으로 언급되지 않으면 복수가 예견된다.
부가적으로, 여기서 기술된 "사용자"는 HTTP(또는 다른) 서버들에 자동으로 액세스하기 위해 HTTP 프로토콜(또는 다른 것)을 이용하는 자동화된 툴/스크립트/기계 및 인간 운용자 둘 다를 포함한다. 이러한 자동화된 툴들은 "HTTP 에이전트들"로서 보통 지칭된다.
용어 "IP 어드레스"는 공개 인터넷이 호스트 디바이스를 어떻게 식별하는지를 기술하도록 그 최광의의 의미로 이용된다. 이에 따라 용어 IP 어드레스는 인터넷 상에서 디바이스를 식별하는 현재 알려진 방법들을 물론 미래에 개발되고 및/또는 이용될 수 있는 디바이스 식별 방법들을 포함한다. 또한, DID와 함께 기억하기 쉬운 디바이스 식별자를 포함하는 것이 유리하지만, 디바이스 어드레스가 디바이스 식별자에 결합된다는 것을 요구하는 것은 아니다.
모바일 컴퓨팅 디바이스(28)는 이어서 모바일 컴퓨팅 디바이스의 IP 어드레스가 할당되거나 변경될 때 클라이언트-로컬 프록시-서버(32)를 업데이트한다. 대안적으로 디바이스 어드레스가 할당되거나 변경될 때, 어드레스를 할당하는 네트워크 엔티티가 클라이언트-로컬 프록시-서버(32)를 업데이트할 수 있다.
도 3의 특정한 예가 디바이스 식별자로서 모바일-id-숫자(예를 들어, "555-123-1234")를 이용한다. 2개(또는 그 이상) 계층들을 갖는 디바이스 ID들의 보다 복잡한 방식이 이용될 수 있다. 시스템 내의 데이터베이스(예를 들어,데이터베이스(36))를 이용하면, 다음의 방식들이 구현될 수 있다.
1. 모바일 컴퓨팅 디바이스는 "MIN"(Mobile ID Number); "MDN"(International Mobile Subscriber Identity); "IMEI"(International Mobile Equipment Identity); 모바일 네트워크를 공유하는 모바일-디바이스들에 고유한 임의의 다른 ID 일 수 있는 디바이스 식별자 및 그의 어드레스를 통해 데이터베이스를 업데이트할 수 있음; 또는
2. 사용자가 임의의 종류의 ID(예를 들어, "사용자이름" "패스워드")를 이용하여 클라이언트-로컬 프록시-서버 URL에 접속할 때, 그 ID는 모바일 컴퓨팅 디바이스의 IP 어드레스로 번역될 수 있다.
또한 당업자들은 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 이용하여 표현될 수 있다는 것을 인지할 것이다. 예를 들어, 위의 설명 전체에 걸쳐서 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장 또는 자기 미립자들, 광학 필드들 또는 광학 미립자들 또는 그들의 임의의 조합에 의해 표현될 수 있다.
당업자들은 또한 여기서 기재된 실시예들과 관련하여 기술된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 방법들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합들로서 구현될 수 있다는 것을 인지할 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들은 그들의 기능의 견지들에서 일반적으로 위에서 기술되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과되는 설계 제약들 및 특정한 애플리케이션에 의존한다. 당업자들은 각각의 특정한 애플리케이션에 대해 다양한 방식들로 기술된 기능을 구현할 수 있지만, 이러한 구현 판단들은 본 발명의 범위를 벗어나게 하는 것으로서 해석되어선 안 된다.
여기서 기재된 실시예들과 함께 기술되는 방법들, 시퀀스들 및/또는 알고리즘들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들의 조합으로 실현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 제거 가능한 디스크, CD-ROM, 또는 당 분야에 알려진 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서에 결합되어서 프로세서는 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수 있다. 이에 따라, 본 발명의 실시예는 기재되고 청구된 실시예들을 수행하기 위한 방법을 실현하는 컴퓨터 판독 가능한 매체들을 포함할 수 있다. 이에 따라, 본 발명은 예시되는 예들로 제한되지 않고 여기서 기술된 기능을 수행하기 위한 임의의 수단은 본 발명의 실시예들에 포함된다.

Claims (18)

  1. 할당된 어드레스를 갖는 디바이스에 액세스하는 방법으로서,
    메모리 위치에 할당된 어드레스를 저장하는 단계;
    상기 디바이스에 액세스하기 위한 요청을 클라이언트-로컬 프록시-서버에서 수신하는 단계 ― 상기 요청은 상기 디바이스를 고유하게 식별하는 디바이스 식별자를 포함함 ― ; 및
    상기 디바이스에 액세스하기 위한 상기 요청에 응답하여, 상기 디바이스 식별자에 기초하여 상기 디바이스의 저장된 어드레스를 식별하는 단계
    를 포함하고,
    상기 프록시-서버는, 상기 저장된 어드레스에 기초하여, 상기 요청의 송신자와 상기 디바이스 간의 데이터 경로를 설정하기 위한 매개자(intermediary)로서 작동하는,
    할당된 어드레스를 갖는 디바이스에 액세스하는 방법.
  2. 제 1 항에 있어서,
    상기 할당된 어드레스는 동적으로 할당된 어드레스를 포함하고,
    업데이트된 동적으로 할당된 어드레스를 상기 메모리 위치에서 수신 및 저장하는 단계
    를 더 포함하는,
    할당된 어드레스를 갖는 디바이스에 액세스하는 방법.
  3. 제 2 항에 있어서,
    상기 디바이스 식별자는,
    전화 번호, 모바일 ID 번호, 국제 모바일 가입자 아이덴티티 또는 국제 모바일 장비 아이덴티티를 포함하는,
    할당된 어드레스를 갖는 디바이스에 액세스하는 방법.
  4. 제 1 항에 있어서,
    상기 클라이언트-로컬 프록시-서버는,
    TCP/IP 프록시-서버를 포함하는,
    할당된 어드레스를 갖는 디바이스에 액세스하는 방법.
  5. 제 1 항에 있어서,
    상기 클라이언트-로컬 프록시-서버는,
    정적인 어드레스를 갖는 URL을 포함하고,
    상기 요청은 상기 URL에서 수신되는,
    할당된 어드레스를 갖는 디바이스에 액세스하는 방법.
  6. 제 1 항에 있어서,
    상기 디바이스는,
    웹 서버 소프트웨어를 갖는 모바일 디바이스
    를 포함하고,
    상기 데이터 경로는 클라이언트-서버 세션을 포함하는,
    할당된 어드레스를 갖는 디바이스에 액세스하는 방법.
  7. 방법으로서,
    네트워크 상에서 디바이스의 가상 위치를 식별하는 할당된 어드레스를 상기 디바이스에서 수신하는 단계 ― 상기 디바이스는 웹 클라이언트로부터 상기 디바이스에 액세스하기 위한 요청을 수신하는 클라이언트-로컬 프록시-서버에 상기 수신된 할당된 어드레스를 전송하도록 구성되고, 상기 요청은 상기 디바이스를 고유하게 식별하는 디바이스 식별자를 포함함 ― ; 및
    상기 웹 클라이언트와 상기 디바이스 간의 매개자로서 작동하도록 상기 할당된 어드레스를 이용하여 상기 클라이언트-로컬 프록시-서버에 의해 설정된 통신 경로를 통해 상기 디바이스로부터 상기 웹 클라이언트로 데이터를 전달하는 단계
    를 포함하는,
    방법.
  8. 제 7 항에 있어서,
    상기 할당된 어드레스는,
    동적으로 할당된 어드레스를 포함하고,
    할당된 어드레스 변경에 응답하여 업데이트된 할당된 어드레스를 상기 클라이언트-로컬 프록시-서버에 전송하는 단계
    를 포함하는,
    방법.
  9. 제 7 항에 있어서,
    상기 디바이스 식별자는,
    전화 번호, 모바일 ID 번호, 국제 모바일 가입자 아이덴티티 또는 국제 모바일 장비 아이덴티티를 포함하는,
    방법.
  10. 제 7 항에 있어서,
    상기 디바이스는,
    웹 서버 소프트웨어를 갖는 모바일 디바이스
    를 더 포함하고,
    상기 통신 경로는 클라이언트-서버 세션을 포함하는,
    방법.
  11. 디바이스로의 통신 경로를 개방하기 위한 장치로서,
    상기 디바이스에 할당된 어드레스를 수신하고 메모리 위치에 상기 할당된 어드레스를 저장하는 클라이언트-로컬 프록시-서버
    를 포함하고,
    상기 클라이언트-로컬 프록시-서버는 상기 디바이스에 액세스하기 위한 요청을 수신하는 URL를 포함하며,
    상기 요청은 상기 디바이스를 고유하게 식별하는 디바이스 식별자를 포함하고,
    상기 디바이스에 액세스하기 위한 상기 요청에 응답하여, 상기 클라이언트-로컬 프록시-서버가, 상기 디바이스 식별자에 기초하여 상기 디바이스의 저장된 어드레스를 식별하고, 상기 저장된 할당된 어드레스에 기초하여 상기 요청의 송신자와 상기 디바이스 간의 통신 경로를 개방하기 위한 매개자로서 작동하는,
    디바이스로의 통신 경로를 개방하기 위한 장치.
  12. 제 11 항에 있어서,
    상기 디바이스는,
    웹 서버 소프트웨어를 갖는 모바일 디바이스를 포함하고,
    상기 통신 경로는 클라이언트-서버 세션을 포함하는,
    디바이스로의 통신 경로를 개방하기 위한 장치.
  13. 제 11 항에 있어서,
    상기 클라이언트-로컬 프록시-서버는,
    웹 프록시-서버 소프트웨어를 포함하고,
    상기 웹 프록시-서버 소프트웨어는, 상기 디바이스 식별자에 기초하여 상기 디바이스의 저장된 할당된 어드레스를 식별하고 상기 요청의 송신자 및 상기 저장된 할당된 어드레스 간의 상기 통신 경로를 개방하도록 구성되는,
    디바이스로의 통신 경로를 개방하기 위한 장치.
  14. 시스템으로서,
    네트워크 상에서 디바이스의 가상 위치를 식별하는 할당된 어드레스를 수신하는 상기 디바이스
    를 포함하고,
    상기 디바이스는 웹 클라이언트로부터 상기 디바이스에 액세스하기 위한 요청들을 수신하는 클라이언트-로컬 프록시-서버로 상기 할당된 어드레스를 전송하도록 구성된, 상업적으로 이용 가능하고 실질적으로 비-사유의 모바일 웹 서버 소프트웨어를 포함하고,
    상기 요청들은 상기 디바이스를 고유하게 식별하는 디바이스 식별자를 포함하고,
    상기 모바일 웹 서버 소프트웨어는 추가로 상기 할당된 어드레스에 기초하여 상기 웹 클라이언트와 상기 디바이스 간의 매개자로서 작동하는 상기 클라이언트-로컬 프록시-서버에 의해 설정된 통신 링크를 통해 상기 디바이스로부터 상기 웹 클라이언트로 데이터를 전달하도록 구성되는,
    시스템.
  15. 제 14 항에 있어서,
    상기 모바일 웹 서버 소프트웨어는 추가로,
    할당된 어드레스 변경에 응답하여 상기 할당된 어드레스의 업데이트를 상기 클라이언트-로컬 프록시-서버에 전송하도록 구성되는,
    시스템.
  16. 제 15 항에 있어서,
    상기 모바일 웹 서버 소프트웨어는 추가로,
    상기 디바이스 식별자를 상기 할당된 어드레스에 연관시키고; 그리고
    상기 디바이스 식별자 및 상기 할당된 어드레스를 상기 클라이언트-로컬 프록시-서버에 전송하도록
    구성되는,
    시스템.
  17. 제 16 항에 있어서,
    상기 통신 링크는,
    클라이언트-서버 세션을 포함하는,
    시스템.
  18. 제 16 항에 있어서,
    상기 웹 클라이언트는,
    상기 클라이언트-로컬 프록시-서버로부터 원격으로 위치되는 원격 웹 클라이언트를 포함하는,
    시스템.

KR1020137026941A 2011-03-11 2012-03-09 할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위한 클라이언트-로컬 프록시-서버를 이용하는 시스템 및 방법 KR101521547B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161452031P 2011-03-11 2011-03-11
US61/452,031 2011-03-11
US201261588030P 2012-01-18 2012-01-18
US201261588007P 2012-01-18 2012-01-18
US61/588,030 2012-01-18
US61/588,007 2012-01-18
US13/415,604 2012-03-08
US13/415,604 US8799470B2 (en) 2011-03-11 2012-03-08 System and method using a client-local proxy-server to access a device having an assigned network address
PCT/US2012/028536 WO2012125474A1 (en) 2011-03-11 2012-03-09 System and method using a client-local proxy-server to access a device having an assigned network address

Publications (2)

Publication Number Publication Date
KR20130133290A KR20130133290A (ko) 2013-12-06
KR101521547B1 true KR101521547B1 (ko) 2015-05-19

Family

ID=45876914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137026941A KR101521547B1 (ko) 2011-03-11 2012-03-09 할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위한 클라이언트-로컬 프록시-서버를 이용하는 시스템 및 방법

Country Status (6)

Country Link
US (1) US8799470B2 (ko)
EP (1) EP2684338A1 (ko)
JP (2) JP2014510486A (ko)
KR (1) KR101521547B1 (ko)
CN (1) CN103535012B (ko)
WO (1) WO2012125474A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9052898B2 (en) 2011-03-11 2015-06-09 Qualcomm Incorporated Remote access and administration of device content, with device power optimization, using HTTP protocol
US8924556B2 (en) 2011-03-11 2014-12-30 Qualcomm Incorporated System and method for accessing a device having an assigned network address
US8862693B2 (en) 2011-03-11 2014-10-14 Qualcomm Incorporated Remote access and administration of device content and configuration using HTTP protocol
US8819233B2 (en) 2011-03-11 2014-08-26 Qualcomm Incorporated System and method using a web proxy-server to access a device having an assigned network address
US9258380B2 (en) 2012-03-02 2016-02-09 Realtek Semiconductor Corp. Cross-platform multimedia interaction system with multiple displays and dynamically-configured hierarchical servers and related method, electronic device and computer program product
US9021558B2 (en) * 2013-01-22 2015-04-28 Sap Se User authentication based on network context
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9560158B2 (en) 2013-12-12 2017-01-31 Hassen Damon Alhandy Social networking using local area networks
US10171577B2 (en) 2013-12-12 2019-01-01 Wififace Llc Local area networking system
US9914220B2 (en) 2014-02-07 2018-03-13 Abb Schweiz Ag Web browser access to robot cell devices
US10098174B2 (en) * 2014-02-25 2018-10-09 Chetan Ahuja Maintaining continuous sessions in cellular data networks
US10382981B2 (en) 2014-02-25 2019-08-13 Roblox Corporation Cellular network protocol optimizations
US10645597B2 (en) 2014-02-25 2020-05-05 Roblox Corporation Message by message tunability of message reliability in a cellular network
US20150295886A1 (en) * 2014-04-14 2015-10-15 Gangming Luo System for identifying current internet protocol address for a remote computing device
US9692909B2 (en) * 2015-03-02 2017-06-27 Facebook, Inc. Techniques for zero rating through web reconstruction
US20160352823A1 (en) * 2015-05-26 2016-12-01 iDevices, LLC Systems and methods for server failover and load balancing
CN108139920A (zh) * 2015-10-02 2018-06-08 Idac控股公司 在动态条件及变约束下用于基于信息中心联网(icn)的代理服务器管理的方法、设备及系统
US9900301B2 (en) * 2015-12-14 2018-02-20 Amazon Technologies, Inc. Device management with tunneling
US10666606B2 (en) * 2017-06-28 2020-05-26 Amazon Technologies, Inc. Virtual private network service endpoints
US11025724B2 (en) * 2017-07-24 2021-06-01 Facebook, Inc. Transport of control data in proxy-based network communications
EP4191981A1 (en) 2017-08-28 2023-06-07 Bright Data Ltd. Improving content fetching by selecting tunnel devices grouped according to geographic location
KR102361099B1 (ko) * 2018-06-07 2022-02-09 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 인터미턴트 네트워크 관리를 위한 로컬 서버
CN113168444A (zh) * 2018-12-03 2021-07-23 惠普发展公司,有限责任合伙企业 逻辑电路系统
DE102018132384A1 (de) * 2018-12-17 2020-06-18 Endress+Hauser Conducta Gmbh+Co. Kg Hardware-Software-Kommunikationssystem für eine Sensorsignalüberwachung der Prozessautomatisierungstechnik
CN111355693B (zh) * 2018-12-24 2023-10-31 北京奇虎科技有限公司 代理服务的实现方法、装置、电子设备和存储介质
CN111083196B (zh) * 2019-11-14 2022-07-12 北京无限光场科技有限公司 信息转发方法、装置和电子设备
CN111193717A (zh) * 2019-12-06 2020-05-22 上海上讯信息技术股份有限公司 Ftp黑白名单控制方法、装置及电子设备
CN111901163A (zh) * 2020-07-16 2020-11-06 江苏神彩科技股份有限公司 不同网段访问系统的方法
US11522826B2 (en) * 2021-02-04 2022-12-06 Webshare Software Company Automatic IPV6/IPV4 fallback approach in proxy networks
CN114244602B (zh) * 2021-12-15 2023-04-25 腾讯科技(深圳)有限公司 多用户在线的网络服务系统、方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179537A1 (en) * 2003-03-11 2004-09-16 Motorola, Inc. Method and apparatus providing a mobile server function in a wireless communications device
KR20080004502A (ko) * 2005-04-25 2008-01-09 톰슨 라이센싱 자원 주소 요청을 관리하는 방법과 연관된 게이트웨이디바이스
KR20100057839A (ko) * 2007-08-08 2010-06-01 심톤 코퍼레이션 중개 디바이스 로밍을 위한 방법 및 장치
KR20100118946A (ko) * 2009-04-29 2010-11-08 알까뗄 루슨트 프록시 모바일 ip 네트워크들에서의 사설 어드레싱 방법

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594254B1 (en) 1996-08-16 2003-07-15 Netspeak Corporation Domain name server architecture for translating telephone number domain names into network protocol addresses
JPH1065737A (ja) 1996-08-23 1998-03-06 Matsushita Electric Ind Co Ltd 代理サーバ装置およびサーバ装置
US6587882B1 (en) 1997-08-01 2003-07-01 Kabushiki Kaisha Toshiba Mobile IP communication scheme using visited site or nearby network as temporal home network
US6493551B1 (en) 1999-09-17 2002-12-10 Lucent Technologies Inc. GSM MoU bypass for delivering calls to GSM subscribers roaming to CDMA networks
US6603761B1 (en) 1999-09-17 2003-08-05 Lucent Technologies Inc. Using internet and internet protocols to bypass PSTN, GSM map, and ANSI-41 networks for wireless telephone call delivery
US6526033B1 (en) 1999-09-17 2003-02-25 Lucent Technologies Inc. Delivering calls to GSM subscribers roaming to CDMA networks via IP tunnels
US6456854B1 (en) 2000-05-08 2002-09-24 Leap Wireless International System and method for locating and tracking mobile telephone devices via the internet
US20020138596A1 (en) 2001-03-09 2002-09-26 Matthew Darwin Method to proxy IP services
KR100757466B1 (ko) 2001-04-17 2007-09-11 삼성전자주식회사 홈네트워크내의 기기에 서비스를 제공하는 시스템과 그방법 및 홈네트워크에서 서비스를 제공받는 시스템과 그방법
US7143419B2 (en) 2001-06-06 2006-11-28 Sap Ag Device for running offline applications and synchronizing with a central computer system
NO316006B1 (no) 2001-10-08 2003-11-24 Ericsson Telefon Ab L M Plassbesparende fil-håndtering i servere
US7155521B2 (en) 2001-10-09 2006-12-26 Nokia Corporation Starting a session in a synchronization system
JP3674570B2 (ja) 2001-10-15 2005-07-20 株式会社デンソー サーバおよびインターネット・プロトコル(ip)アドレスの通知方法
FI113569B (fi) 2001-11-02 2004-05-14 Nokia Corp Menetelmä tiedon käsittelemiseksi, tietojenkäsittelyjärjestelmä ja kannettava päätelaite
US20060080404A1 (en) 2002-06-19 2006-04-13 Knut Haber-Land-Schlosser Method and device for generating a mobile homepage in accordance with context related information
JP3445986B1 (ja) 2002-09-27 2003-09-16 松下電器産業株式会社 インターネットに接続するサーバ、機器および通信システム
KR100498930B1 (ko) 2002-10-21 2005-07-04 삼성전자주식회사 휴대용 전화기의 정보데이터 관리장치 및 방법
US20040203752A1 (en) 2002-11-18 2004-10-14 Toshiba America Information Systems, Inc. Mobility communications system
US7899932B2 (en) 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
US7016328B2 (en) 2003-06-24 2006-03-21 Tropos Networks, Inc. Method for allowing a client to access a wireless system
US7551948B2 (en) 2003-07-24 2009-06-23 Cisco Technology, Inc. Uniform power save method for 802.11e stations
FR2861934B1 (fr) 2003-10-30 2006-01-27 Wavecom Procede et dispositif d'acces a un terminal serveur mobile d'un premier reseau de communication au moyen d'un terminal client d'un autre reseau de communication.
US7673066B2 (en) 2003-11-07 2010-03-02 Sony Corporation File transfer protocol for mobile computer
US20050165909A1 (en) 2003-12-19 2005-07-28 Cromer Daryl C. Data processing system and method for permitting a server to remotely access asset information of a mobile client
US8200748B2 (en) 2004-04-29 2012-06-12 Sap Ag System and method for directing data retrieval requests to a data retrieval device
GB2418321A (en) 2004-09-17 2006-03-22 Compal Communications Inc Method for establishing a socket connection between a client and a mobile station through a wireless network
US7620001B2 (en) 2004-10-13 2009-11-17 Good Technology, Inc. Communication system and method with mobile devices
US7523491B2 (en) 2005-01-03 2009-04-21 Nokia Corporation System, apparatus, and method for accessing mobile servers
KR100603578B1 (ko) 2005-01-07 2006-07-24 삼성전자주식회사 무선 단말의 동적 전화번호 등록 방법 및 그 시스템
US8316152B2 (en) 2005-02-15 2012-11-20 Qualcomm Incorporated Methods and apparatus for machine-to-machine communications
US20060195506A1 (en) 2005-02-26 2006-08-31 Li Deng Simplified scheme of mobile to mobile rich content messaging
US20060200503A1 (en) 2005-03-03 2006-09-07 Nokia Corporation Modifying back-end web server documents at an intermediary server using directives
US8069219B2 (en) 2005-03-03 2011-11-29 Nokia Corporation Method and apparatus for implementing a mobile web server based system
CA2612017A1 (en) 2005-06-23 2007-01-04 Xds, Inc. Methods and apparatus for network address change for mobile devices
WO2007082016A2 (en) 2006-01-11 2007-07-19 Fisher-Rosemount Systems, Inc. Control system with wireless address domain to field device address domain translation
US7975058B2 (en) 2006-01-31 2011-07-05 Cisco Technology, Inc. Systems and methods for remote access of network devices having private addresses
US20070197260A1 (en) 2006-02-22 2007-08-23 Joshua Randall Interface for mobile devices and methods
US20070214209A1 (en) 2006-03-10 2007-09-13 Motorola, Inc. Platform and method for mobile servers
US20070271453A1 (en) 2006-05-19 2007-11-22 Nikia Corporation Identity based flow control of IP traffic
US8085891B2 (en) 2006-05-29 2011-12-27 Research In Motion Limited System and method for management of mobile device communication
JP4281763B2 (ja) * 2006-06-28 2009-06-17 カシオ計算機株式会社 無線通信システム
US20080123624A1 (en) 2006-06-30 2008-05-29 Nokia Corporation Controlling mobile voice calls remotely via a web interface
US8014755B2 (en) 2007-01-05 2011-09-06 Macronix International Co., Ltd. System and method of managing contactless payment transactions using a mobile communication device as a stored value device
JP5319072B2 (ja) * 2007-03-16 2013-10-16 ソフトバンクBb株式会社 データ転送システム及びデータ転送方法
US20080248834A1 (en) 2007-04-03 2008-10-09 Palm, Inc. System and methods for providing access to a desktop and applications of a mobile device
ES2310123B1 (es) 2007-05-07 2009-11-05 Vodafone España, S.A. Acceso remoto desde una extension de un navegador web a la informacion de un terminal movil.
US8311042B2 (en) 2007-06-15 2012-11-13 Mformation System and method for automatic detection and reporting of the mapping between device identity and network address in wireless networks
GB2450160A (en) 2007-06-15 2008-12-17 Symbian Software Ltd Collaborative data sharing
US8060074B2 (en) 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
US7729366B2 (en) 2007-10-03 2010-06-01 General Instrument Corporation Method, apparatus and system for network mobility of a mobile communication device
US20090106366A1 (en) 2007-10-17 2009-04-23 Nokia Corporation System and method for visualizing threaded communication across multiple communication channels using a mobile web server
US8171494B2 (en) 2007-12-05 2012-05-01 Cisco Technology, Inc. Providing identity to a portal with a redirect
US7966306B2 (en) 2008-02-29 2011-06-21 Nokia Corporation Method, system, and apparatus for location-aware search
US20090228545A1 (en) 2008-03-07 2009-09-10 Mendez Jose A Online mobile applications capable of dealing with occasional disconnects
CA2632510C (en) 2008-05-29 2012-09-11 Research In Motion Limited A method, system and devices for communicating between an internet browser and an electronic device
US9185654B2 (en) 2008-07-16 2015-11-10 Qualcomm Incorporated Network server having an information and scheduling controller to support one or more low duty cycle wireless devices
US8554946B2 (en) * 2008-10-13 2013-10-08 Telefonaktiebolaget L M Ericsson (Publ) NAT traversal method and apparatus
KR101232110B1 (ko) * 2008-10-31 2013-02-12 에스케이플래닛 주식회사 Cpns 환경에서 단말기의 히스토리 정보 관리 및 활용 시스템 및 방법과 이를 위한 cpns 서버, 이동통신 단말기 및 종단 단말기
US8352580B2 (en) 2008-11-21 2013-01-08 Samsung Electronics Co., Ltd. Server and method for providing mobile web service
EP2221734B1 (en) 2009-02-16 2017-11-29 Accenture Global Services Limited Cross community invitation and multiple provider product information processing system
US20100211637A1 (en) 2009-02-17 2010-08-19 Nokia Corporation Method and apparatus for providing shared services
TW201032556A (en) 2009-02-20 2010-09-01 Leadtek Research Inc Embedded communication apparatus, method and system for using the same
US8219675B2 (en) 2009-12-11 2012-07-10 Tektronix, Inc. System and method for correlating IP flows across network address translation firewalls
US8438285B2 (en) 2010-09-15 2013-05-07 At&T Intellectual Property I, L.P. System for managing resources accessible to a mobile device server
US8443420B2 (en) 2010-10-01 2013-05-14 At&T Intellectual Property I, L.P. System for communicating with a mobile device server
WO2012109568A1 (en) * 2011-02-11 2012-08-16 Packetvideo Corporation System and method for using an application on a mobile device to transfer internet media content
US9052898B2 (en) 2011-03-11 2015-06-09 Qualcomm Incorporated Remote access and administration of device content, with device power optimization, using HTTP protocol
US8819233B2 (en) 2011-03-11 2014-08-26 Qualcomm Incorporated System and method using a web proxy-server to access a device having an assigned network address
US8862693B2 (en) 2011-03-11 2014-10-14 Qualcomm Incorporated Remote access and administration of device content and configuration using HTTP protocol
US8924556B2 (en) 2011-03-11 2014-12-30 Qualcomm Incorporated System and method for accessing a device having an assigned network address
US20130074108A1 (en) * 2011-09-15 2013-03-21 Douglas Cline Seatback Video Display Unit Wireless Access Points for Inflight Entertainment System

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040179537A1 (en) * 2003-03-11 2004-09-16 Motorola, Inc. Method and apparatus providing a mobile server function in a wireless communications device
KR20080004502A (ko) * 2005-04-25 2008-01-09 톰슨 라이센싱 자원 주소 요청을 관리하는 방법과 연관된 게이트웨이디바이스
KR20100057839A (ko) * 2007-08-08 2010-06-01 심톤 코퍼레이션 중개 디바이스 로밍을 위한 방법 및 장치
KR20100118946A (ko) * 2009-04-29 2010-11-08 알까뗄 루슨트 프록시 모바일 ip 네트워크들에서의 사설 어드레싱 방법

Also Published As

Publication number Publication date
JP2014510486A (ja) 2014-04-24
JP2016006982A (ja) 2016-01-14
KR20130133290A (ko) 2013-12-06
EP2684338A1 (en) 2014-01-15
US20130067085A1 (en) 2013-03-14
JP6054484B2 (ja) 2016-12-27
US8799470B2 (en) 2014-08-05
CN103535012B (zh) 2017-06-30
WO2012125474A1 (en) 2012-09-20
CN103535012A (zh) 2014-01-22

Similar Documents

Publication Publication Date Title
KR101521547B1 (ko) 할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위한 클라이언트-로컬 프록시-서버를 이용하는 시스템 및 방법
KR101579892B1 (ko) 할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위해 웹 프록시-서버를 이용하는 시스템 및 방법
KR101464585B1 (ko) 할당된 네트워크 어드레스를 갖는 디바이스에 액세스하기 위한 시스템 및 방법
US10498702B2 (en) DNS-based captive portal with integrated transparent proxy to protect against user device caching incorrect IP address
US10715482B2 (en) Wide area service discovery for internet of things
EP2684342B1 (en) Remote access and administration of device content and configuration using http protocol
US9401962B2 (en) Traffic steering system
US10637831B2 (en) Method and apparatus for transmitting network traffic via a proxy device
US8861503B2 (en) Method and system for synchronizing data between mobile terminal and internet phone
KR101710033B1 (ko) 유동 ip기기 간 상시 연결성 유지 방법 및 이를 위한 장치
US20190052599A1 (en) Method for transmitting at least one ip data packet, related system and computer program product
US20240121222A1 (en) Anonymous proxying
Pittner CUSTOMIZING APPLICATION HEADERS FOR IMPROVED WARFIGHTING COMMUNICATIONS
US20160198022A1 (en) System, method and device for providing device data to a server in a network

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: 20180329

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee