KR20130047764A - 복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템 - Google Patents

복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20130047764A
KR20130047764A KR1020137007787A KR20137007787A KR20130047764A KR 20130047764 A KR20130047764 A KR 20130047764A KR 1020137007787 A KR1020137007787 A KR 1020137007787A KR 20137007787 A KR20137007787 A KR 20137007787A KR 20130047764 A KR20130047764 A KR 20130047764A
Authority
KR
South Korea
Prior art keywords
content
application
link
client machine
server
Prior art date
Application number
KR1020137007787A
Other languages
English (en)
Other versions
KR101502438B1 (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 KR20130047764A publication Critical patent/KR20130047764A/ko
Application granted granted Critical
Publication of KR101502438B1 publication Critical patent/KR101502438B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Abstract

복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템이 제공된다. 한가지 양태에 있어서, 클라이언트 머신 및 모바일 컴퓨팅 장치가 제공된다. 클라이언트 머신은 브라우저 애플리케이션을 실행하도록 구성된다. 모바일 컴퓨팅 장치는 웹 서버 애플리케이션을 호스트하도록 구성된다. 클라이언트 머신 및 모바일 컴퓨팅 장치가 접속된 때, 모바일 컴퓨팅 장치에서의 기능들은 웹 서버와 브라우저 간의 상호작용을 통해 클라이언트 머신에서 이용가능하다. 클라이언트 머신이 인용 콘텐트를 구비한 이메일 또는 다른 메시지에 액세스할 때, 시스템의 다른 부분은 콘텐트를 실제로 인출하기 위한 특정 경로를 선택하도록 구성될 수 있다.

Description

복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템{METHOD, APPARATUS AND SYSTEM FOR ACCESSING APPLICATIONS AND CONTENT ACROSS A PLURALITY OF COMPUTERS}
관련 출원의 교차 참조
본 출원은 2010년 9월 27일자 출원한 미국 가출원 제61/386,635호 및 2011년 8월 8일자 출원한 미국 특허 출원 제13/205,266호를 우선권 주장하며, 상기 미국 출원들은 여기에서의 인용에 의해 그 전체 내용이 본원에 명백히 통합된다.
발명의 분야
본 발명은 일반적으로 컴퓨팅 장치에 관한 것이고, 특히 복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템에 관한 것이다.
컴퓨터의 진화는 현재 모바일 장치 환경에서 매우 왕성하다. 현재 모바일 장치에 캘린더, 교신(contact) 및 메시징 기능을 포함시키는 것이 잘 알려져 있다. 더 최근에는 모바일 장치의 독특한 폼팩터 및 컴퓨팅 환경에 대하여 구성되는 애플리케이션의 수 및 유형이 폭발적으로 증가하고 있다.
복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템이 제공된다. 한가지 양태에 있어서, 클라이언트 머신 및 모바일 컴퓨팅 장치가 제공된다. 클라이언트 머신은 브라우저 애플리케이션을 실행하도록 구성된다. 모바일 컴퓨팅 장치는 웹 서버 애플리케이션을 호스트하도록 구성된다. 클라이언트 머신 및 모바일 컴퓨팅 장치가 접속된 때, 모바일 컴퓨팅 장치에서의 기능들은 웹 서버와 브라우저 간의 상호작용을 통해 클라이언트 머신에서 이용가능하다. 클라이언트 머신이 인용 콘텐트를 구비한 이메일 또는 다른 메시지에 액세스할 때, 시스템의 다른 부분은 콘텐트를 실제로 인출하기 위한 특정 경로를 선택하도록 구성될 수 있다.
여기에서 설명하는 각종 실시형태의 더 용이한 이해를 위해서 및 각종 실시형태들이 어떻게 실시될 수 있는지를 더욱 명확히 보이기 위해, 이제, 단지 예로서, 첨부 도면을 참조하기로 한다.
도 1은 복수의 컴퓨터에 걸쳐서 애플리케이션에 액세스하는 시스템의 개략도이다.
도 2는 도 1의 시스템의 모바일 컴퓨팅 장치의 개략적인 정면도이다.
도 3은 도 1에 도시한 장치의 블록도이다.
도 4는 도 1의 모바일 컴퓨팅 장치의 변형예를 보인 도이다.
도 5는 도 3의 호스트 애플리케이션의 비제한적인 예를 보인 블록도이다.
도 6은 프록시 애플리케이션을 설치하는 방법을 보인 흐름도이다.
도 7은 도 5의 블록도의 변형예를 이용하여 도 6의 방법에 따라 프록시 애플리케이션을 설치한 후의 시스템(50)의 예를 보인 도이다.
도 8은 복수의 컴퓨터에 걸쳐서 애플리케이션에 액세스하는 방법을 보인 도이다.
도 9는 도 8의 방법으로부터 특정 블록의 수행의 예를 별도로 및 더 자세히 설명하기 위해 도 1의 장치 및 클라이언트 머신을 보인 도이다.
도 10은 도 8의 방법으로부터 특정 블록의 수행의 다른 예를 설명하기 위해 도 9의 장치 및 클라이언트 머신을 보인 도이다.
도 11은 도 8의 방법으로부터 특정 블록의 수행의 다른 예를 설명하기 위해 도 9의 장치 및 클라이언트 머신을 보인 도이다.
도 12는 복수의 컴퓨터에 걸쳐서 하나 이상의 애플리케이션 및 콘텐트에 액세스하는 시스템의 개략도이다.
도 13은 복수의 컴퓨터에 걸쳐서 하나 이상의 애플리케이션 및 콘텐트에 액세스하는 방법을 보인 도이다.
도 14는 도 13의 방법으로부터 특정 블록의 수행의 예를 설명하기 위해 도 12의 시스템을 보인 도이다.
도 15는 도 13의 방법으로부터 특정 블록의 수행의 예를 설명하기 위해 도 12의 시스템을 보인 도이다.
도 16은 도 13의 방법으로부터 특정 블록의 수행의 예를 설명하기 위해 도 12의 시스템을 보인 도이다.
도 17은 도 13의 방법으로부터 특정 블록의 수행의 예를 설명하기 위해 도 12의 시스템을 보인 도이다.
도 18은 복수의 컴퓨터에 걸쳐서 하나 이상의 애플리케이션 및 콘텐트에 액세스하는 다른 방법을 보인 도이다.
도 19는 도 13의 방법으로부터 특정 블록의 수행의 예를 설명하기 위해 도 18의 시스템을 보인 도이다.
도 20은 도 12의 시스템의 변형예를 보인 도이다.
도 21은 도 12의 시스템의 다른 변형예를 보인 도이다.
도 22는 도 12의 시스템의 다른 변형예를 보인 도이다.
이제, 도 1을 참조하면, 복수의 컴퓨터에 걸쳐서 애플리케이션에 액세스하는 시스템이 참조 번호 50으로 개략적으로 표시되어 있다. 이 실시형태에 있어서, 시스템(50)은 모바일 컴퓨팅 장치(54) 형태의 적어도 하나의 컴퓨팅 장치와 적어도 하나의 서버(58-1, 58-2, ..., 58-n)(일반적으로, 서버(58) 또는 집합적으로 서버들(58)이라고 부른다. 이 용어는 본 명세서의 다른 곳에서도 사용된다)를 포함한다.
무선 링크(70)는 모바일 컴퓨팅 장치(54)를 복수의 무선 기지국(66) 중의 하나와 접속한다. 도 1에서, 모바일 컴퓨팅 장치(54)는 무선 링크(70)를 통하여 제1 기지국(66-1)에 접속되는 것으로 도시되어 있지만, 모바일 컴퓨팅 장치(54)는 시스템(50)의 다른 기지국(66)에도 접속할 수 있다. 백홀 링크(78)는 각 기지국(66)을 네트워크(74)에 접속한다. 추가의 백홀 링크(82)는 네트워크(74)를 각 서버(58)에 접속한다.
모바일 컴퓨팅 장치(54)는 자급자족(self-contained) 방식으로 네트워크(74)에서 이용가능한 콘텐트와 상호작용하도록 사용될 수 있는 임의 유형의 전자 장치일 수 있다. 상호작용은 모바일 컴퓨팅 장치(54)에서 정보를 디스플레이하는 것뿐만 아니라 모바일 컴퓨팅 장치(54)에서 입력을 수신하고 그 다음에 입력을 네트워크(74)를 통해 다시 보내는 것을 포함한다. 모바일 컴퓨팅 장치(54)에 대해서는 뒤에서 더 자세히 설명된다.
네트워크(74) 및 이 네트워크와 관련된 링크(70, 78, 82)의 속성은 특별히 제한되는 것이 아니고, 일반적으로 모바일 컴퓨팅 장치(54)와 서버(58) 간의 상호작용을 지원하는 임의의 아키텍쳐 조합에 기초를 둔다는 점을 이해하여야 한다. 이 실시형태에 있어서, 네트워크(74)는 인터넷뿐만 아니라 링크(78, 82)에 대한 적당한 게이트웨이 및 백홀을 포함한다. 예를 들면, 백홀 링크(78) 및 백홀 링크(82)는 T1, T3, O3, 또는 임의의 다른 적당한 유선 또는 무선 접속에 기초를 둘 수 있다. 따라서, 네트워크(74)와 상호접속 컴포넌트들 간의 링크(78, 82)는 그 컴포넌트들의 기능적 필요조건에 대하여 상보적이다.
링크(70)는, 비제한적인 예를 들자면, 글로벌 이동통신 시스템("GSM"); 코드 분할 다중 접속("CDMA"); CDMA 2000; 3G; 또는 에볼루션 데이터 최적화 또는 에볼루션 데이터("EVDO"); 또는 이들의 후계자 또는 이들의 혼성물(hybrid) 또는 조합 중의 하나 이상과 같은 코어 모바일 네트워크 하부구조에 기초를 둘 수 있고; 또는 비제한적인 예를 들자면, 전기 전자 기술자 학회("IEEE") 802.11 표준(및 그 변형체) 또는 블루투스 등 또는 이들의 혼성물 또는 조합과 같은 무선 근거리 통신망("WLAN") 하부구조에 기초를 둘 수 있다. 시스템(50)의 예시적인 변형예로서 링크(70)는 유선 접속일 수 있다는 점에 주목한다.
클라이언트 머신(86)은 암호화된 링크일 수 있는 링크(90)를 통하여 모바일 컴퓨팅 장치(54)에 또한 접속한다. 이 예시적인 구현예에 있어서, 클라이언트 머신(86)은 데스크톱, 태블릿, 노트북 또는 랩톱 컴퓨터이고, 링크(90)는 무선 또는 유선으로 실행되는 직접 접속이다. 링크(90)가 무선인 경우, 링크(90)는 예를 들면 블루투스™ 또는 클라이언트 머신(86)과 모바일 컴퓨팅 장치(54) 간의 피어 투 피어 Wi-Fi 접속일 수 있다. 링크(90)가 유선인 경우, 링크(90)는 예를 들면 범용 직렬 버스(USB) 또는 파이어와이어(FireWire™) 접속일 수 있다. 이 기술에 숙련된 사람이라면 링크(90)를 위한 직접 접속을 실행하기 위해 사용될 수 있는 다른 유형의 유선 또는 무선 접속을 알 수 있을 것이다. 변형예로서, 링크(90)는 예를 들면 근거리 통신망 또는 Wi-Fi 네트워크를 통해서, 또는 네트워크(74)와 같은 광역 통신망을 통해서 간접적으로 실행될 수 있다.
클라이언트 머신(86)은 초기에 적어도 웹 브라우저 애플리케이션(88)을 유지 또는 실행하도록 구성되고 네트워크(74)에 직접 액세스할 필요가 없다. 그러나, 일부 경우에, 네트워크(74)에 대한 상기와 같은 직접 접속은 링크(94)를 통하여 가능할 것이다. 이 기술에 숙련된 사람이라면, "웹 브라우저 애플리케이션"을 구성하는 것은 파어어폭스(Firefox™), 인터넷 익스플로러™, 크롬(Chrome™), 오페라(Opera™) 또는 사파리(Safari™)와 같은 잘 알려져 있는 브라우저, 또는 휴대용 전자 장치에서 사용되는 미니 브라우저로 특별히 제한되는 것이 아님을 이해할 것이다. 상기와 같은 잘 알려져 있는 브라우저 애플리케이션의 사용이 예상되지만, 마찬가지로 HTTP 요청을 하고 HTTP 콘텐트를 수신할 수 있는 임의의 애플리케이션, 또는 운영체제, 또는 다른 소프트웨어 모듈을 사용할 수도 있다. 따라서, 일부 특수한 실시예가 뒤에서 설명됨에도 불구하고, 웹 브라우저 애플리케이션(88)은 잘 알려져 있는 웹 브라우저 애플리케이션의 전통적 그래픽 인터페이스를 실제로 갖지 않을 수 있다고 예상된다. 따라서, 클라이언트 머신(86)은 웹 브라우징 기능성을 제공하는 임의의 컴퓨팅 환경에 기초를 둘 수 있다. 예를 들면, 이러한 컴퓨팅 환경은 인텔™ 또는 AMD™ 또는 다른 마이크로프로세서에 기초를 둘 수 있고, 휘발성 기억장치(예를 들면, 랜덤 액세스 메모리) 및 비휘발성 기억장치(예를 들면, 플래시, 하드 디스크 드라이브), 읽기 전용 메모리(ROM), 네트워크 인터페이스 카드, 및 하나 이상의 디스플레이에 접속되는 비디오 카드, 키보드, 마우스(또는 다른 포인팅 장치)를 수반할 수 있다. 예를 들면, 마이크로소프트™에서 제공하는 운영체제, 리눅스™ 운영체제, 또는 애플 컴퓨터에서 제공하는 운영체제를 포함한 임의의 운영체제가 사용될 수 있다. 브라우저 애플리케이션(88)은 파어어폭스™, 인터넷 익스플로러™, 크롬™, 오페라™ 또는 사파리™를 포함한 각각의 운영체제에서 실행될 수 있는 임의의 브라우저 애플리케이션일 수 있다. 클라이언트 머신(86)은 모바일 컴퓨팅 장치(54)에 제공된 것보다 더 큰 디스플레이 또는 키보드 또는 둘 다를 구비할 수 있다. 클라이언트 머신(86)은 태블릿 컴퓨팅 장치와 같은 다른 구성을 또한 구비할 수 있다. 태블릿 구성의 한가지 비제한적인 예를 들자면, 터치 스크린 형태의 포인팅 장치, 자체가 와이파이(WiFi) 링크인 링크(94)를 통해 통신하는 와이파이 네트워크 인터페이스가 있다. 이 구성에서, 링크(90)는 USB 접속 또는 블루투스 접속 또는 와이파이일 수 있고, 컴퓨팅 머신(86) 및 장치(54)는 동일한 용도의 적당한 네트워크 인터페이스를 구비한다. 전술한 구성의 변형예로서, 링크(94)는 링크(70)처럼 코어 모바일 네트워크 링크로서 구현될 수 있다. 전술한 구성의 다른 변형예로서, 컴퓨팅 머신(86)은 와이파이 링크 및 코어 모바일 네트워크 링크를 비롯해서 네트워크(74)에 대한 복수의 링크를 직접 수용하는 네트워크 인터페이스를 포함할 수 있다. 이 기술에 숙련된 사람이라면 다른 변형예도 생각할 수 있을 것이다.
서버(58)는 하나 이상의 중앙 처리 장치, 휘발성 메모리(예를 들면, 랜덤 액세스 메모리), 영속적 메모리(예를 들면, 하드 디스크 장치), 및 서버(58)가 네트워크(74)를 통해 통신할 수 있게 하는 네트워크 인터페이스를 구비한 모듈을 포함한 임의의 잘 알려진 서버 환경에 기초를 둘 수 있다. 예를 들면, 각 서버(58)는 복수의 중앙 처리 장치를 구비하고 수 기가바이트의 랜덤 액세스 메모리를 구비하는, 미국 캘리포니아주 94304-1185 팔로알토 한오버 스트리트 3000에 소재하는 휴렛패커드사로부터의 프로리안트(ProLiant™) 서버일 수 있다. 그러나, 이 특수한 서버는 단지 비제한적인 예일 뿐이고, 각 서버(58)에 대한 다른 유형의 컴퓨팅 환경의 거대한 어레이가 예상된다. 또한, 각 서버(58)는 소위 서버 농장(server farm)에서 로드 밸런싱 또는 장애 극복(failover) 또는 높은 이용가능성 또는 이들의 일부 또는 전부를 위해 반영되거나 다른 방식으로 구성되는 복수의 상호접속된 서버로서 구현될 수 있는 것으로 예상된다.
뒤에서 더 설명되는 것처럼, 각 서버(58)는 상이한 네트워크 애플리케이션(60)을 유지한다. 네트워크 애플리케이션(60)은 대응하는 클라이언트 측 애플리케이션이 소정의 서버(58)에 있는 데이터 또는 임의의 다른 서버 기능에 액세스하는 모바일 컴퓨팅 장치(54)에서 실행하게 하는 임의의 애플리케이션일 수 있다. 네트워크 애플리케이션은, 비제한적인 예를 들자면, 개인 정보 관리 애플리케이션, 소셜 네트워크 애플리케이션, 또는 메시징 애플리케이션일 수 있다. 개인 정보 관리 애플리케이션의 비제한적인 예를 들자면 캘린더링 및 교신 관리 애플리케이션이 있다. 소셜 네트워크 애플리케이션(60)의 비제한적인 예를 들자면 페이스북™, 트위터™, 링키드인(LinkedIn™), 및 마이스페이스™가 있다. 네트워크 애플리케이션(60)은 또한 이메일, 블랙베리 메신저, AOL 순간 메신저(AIM), 야후 메신저(YM), 구글 토크(Gtalk), 로터스 접속, 윈도즈 라이브 메신저와 같은 메시지 애플리케이션을 포함할 수 있다. 다른 것들도 많이 있다.
도 2 및 도 3은 뒤에서 더 자세히 설명하는 것처럼 하나 이상의 애플리케이션을 실행할 수 있는 모바일 컴퓨팅 장치(54)의 비제한적인 예의 다른 모습 및 표시를 보인 것이다. 모바일 컴퓨팅 장치(54)는 일 예이고, 이 기술에 숙련된 사람이라면 다양한 다른 휴대용 전자 장치 구조를 생각할 수 있을 것으로 이해된다. 사실, 모바일 컴퓨팅 장치(54)의 다른 예로는, 비제한적인 예를 들자면, 셀 방식 전화기, 휴대용 이메일 페이징 장치, 네트워크 기능이 있는 디지털 카메라, 휴대용 음악 재생기, 휴대용 영상 재생기, 휴대용 영상 게임 재생기 등이 있을 수 있다.
도 2를 참조하면, 현재의 비제한적인 예에서, 장치(54)는 디스플레이(158)를 지지하는 샤시(154)를 포함한다. 디스플레이(158)는 발광 다이오드(LED), 액정, 플라즈마 셀 또는 유기 발광 다이오드(OLED)의 어레이와 같은 하나 이상의 발광 소자를 포함할 수 있다. 다른 유형의 발광 소자도 예상할 수 있다. 샤시(154)는 키보드(162)를 또한 지지한다. 본 발명은 키보드(162)의 임의의 특수한 구조, 스페이스, 피치 또는 형상으로 제한되지 않고, 도 2의 모습은 일 예임을 이해하여야 한다. 예를 들면, 풀(full)형 또는 축소형 "QWERTY" 키보드를 생각할 수 있다. 다른 유형의 키보드도 예상된다. (변형예로서, 장치(54)는 또한 물리적인 키보드가 없는 터치 스크린 장치일 수 있다.) 장치(54)는 또한 터치 패드, 조이스틱, 트랙볼, 트랙휠로서, 또는 디스플레이(158)상의 터치 감응성 막으로서 구현될 수 있는 포인팅 장치(164)를 포함한다. 장치(54)는 또한 오디오 출력을 발생하는 스피커(166) 및 오디오 입력을 수신하는 마이크로폰(68)을 포함할 수 있다.
도 3은 장치(54)의 전자 컴포넌트의 개략적인 블록도를 보인 것이다. 도 3의 구조는 일 예임을 이해하여야 한다. 장치(54)는 현재의 실시형태에서 키보드(162), 포인팅 장치(164), 마이크로폰(168) 및 광 포착 장치(176)를 포함하는 복수의 입력 장치를 포함한다. 더 적은, 추가의 또는 대안적인 입력 장치들도 생각할 수 있다. 키보드(162), 포인팅 장치(164), 마이크로폰(168) 및 광 포착 장치(176)로부터의 입력은 프로세서(100)에서 수신된다. 프로세서(100)는 입력 장치를 통해 수신된 입력에 응답할 수 있는 상이한 프로그램 명령어들을 실행하도록 구성될 수 있다. 그 프로그래밍 기능을 이행하기 위해, 프로세서(100)는 비휘발성 기억장치(104)(예를 들면, 소거형 전자 프로그래머블 읽기 전용 메모리("EEPROM"), 플래시 메모리) 및 휘발성 기억장치(108)(예를 들면, 랜덤 액세스 메모리("RAM"))와 통신하도록 또한 구성된다. 여기에서 설명하는 바와 같이 장치(54)의 기능적 교시(functional teaching)를 구현하는 프로그램 명령어는 전형적으로 비휘발성 기억장치(104)에 영속적으로 유지되고, 그러한 프로그램 명령어의 실행 중에 휘발성 기억장치(108)를 적절히 활용하는 프로세서(100)에 의해 사용된다.
프로세서(100)는 또한 다른 프로그램 명령어에 따라서 및 선택적으로 입력 장치로부터 수신한 다른 입력에 응답하여 디스플레이(158), 스피커(166) 및 플래시(172)를 제어하도록 구성된다. 더 적은, 추가의 또는 대안적인 출력 장치들도 생각할 수 있다.
프로세서(100)는 이 실시형태에서 링크(70) 및 링크(90)를 통해 통신하도록 구성된 하나 이상의 라디오로서 구현될 수 있는 네트워크 인터페이스(112)에 또한 접속된다. 네트워크 인터페이스(112)는 각종의 프로그램 명령어를 이행하기 위해 프로세서(100)에 의해 활용될 수 있는 추가의 입력/출력 장치로서 일반화될 수 있다. 인터페이스(112)는 각 링크(70) 및 링크(90)를 규정하는 네트워크 아키텍쳐와 대응하도록 구성되는 것으로 이해된다. 각 네트워크 인터페이스(112)는 각 링크(70)에 대한 네트워크 아키텍쳐가 기지국(66)들 간에 상이한 경우, 또는 링크(90)가 다른 아키텍쳐에 기반을 둔 것인 경우에 다른 유형의 링크를 구현하기 위해 사용될 수 있는 다른 프로토콜을 수용하도록 복수의 라디오를 포함할 수 있는 것으로 또한 예상된다. 예를 들면, 링크(90)는 유선 링크(예를 들면, USB)일 수 있고, 그 경우 링크(90)는 라디오를 전혀 구비하지 않을 수 있다.
이 실시형태에 있어서, 장치(54)는 호스트 애플리케이션(124), 및 이메일 애플리케이션(128-1), 교신 관리자 애플리케이션(128-2), 캘린더 애플리케이션(128-3), 순간 메신저 애플리케이션(128-4) 또는 하나 이상의 복수의 추가 애플리케이션(128-n)과 같은 하나 이상의 클라이언트 애플리케이션(128)을 비휘발성 기억장치(104)에 유지하도록 또한 구성된다. 추가 애플리케이션(132)의 비제한적인 예를 들자면, 예컨대, 트위터, 페이스북, 마이스페이스, 링키드인과 같은 소셜 네트워크 클라이언트 애플리케이션; Flickr, Gtalk 등과 같은 온라인 커뮤니티와 관련된 다른 애플리케이션; 구글 도크(Google Docs)와 같은 문서 도구 중의 하나 이상을 포함할 수 있다. 호스트 애플리케이션(124) 및 클라이언트 애플리케이션(128) 중의 임의의 하나 이상은 장치(54)의 제조시에 비휘발성 기억장치(104)에 미리 저장될 수 있고, 또는 장치(54)를 제조한 후의 임의 시간에 네트워크 인터페이스(112)를 통해 다운로드되어 비휘발성 기억장치(104)에 저장될 수 있다. 각 애플리케이션(128)은 필요할 때 그 대응하는 네트워크 애플리케이션(60)과 상호작용하도록 또한 구성된다.
프로세서(100)는 각 애플리케이션(128)을 실행하여 입력 장치로부터의 입력을 이용하고, 그 입력에 기초해서 및 각 애플리케이션(128)의 프로그램 명령어에 따라서 출력을 발생하게끔 디스플레이(158)를 제어하도록 구성된다. 일반적으로, 각 애플리케이션(128)은 링크(90)가 활성이 아니고 장치(54)가 클라이언트 머신(86)으로부터 분리된 경우에도 장치(54)와 같은 장치에서 전적으로 실행될 수 있는 임의의 기존 또는 추가 애플리케이션(128)에 기초를 둘 수 있다. 예를 들면, 이메일 애플리케이션(128-1)은 클라이언트 머신(86)과의 어떠한 접속도 없이, 및 필요에 따라 서버(58)에 액세스하는 동안에, 장치(54)와 같은 각종 장치에서 이미 통상적으로 전개되고 있고 장치(54)에서 전적으로 사용가능한 표준형의 전자 메일 애플리케이션일 수 있다. 마찬가지로, 교신 관리자 애플리케이션(128-2), 캘린더 애플리케이션(128-3), 순간 메신저 애플리케이션(128-4) 및 임의의 추가 애플리케이션(128-n)은 클라이언트 머신(86)과의 어떠한 접속도 없이, 및 필요에 따라 서버(58)에 액세스하는 동안에, 이미 통상적으로 전개되고 있거나 미래에 전개될 수 있고 장치(54)에서 전적으로 사용가능한 그러한 애플리케이션에 기초를 둘 수 있다.
프로세서(100)는, 뒤에서 더 자세히 설명되는 것처럼, 링크(90)가 활성일 때 클라이언트 머신(86)을 통해 클라이언트 애플리케이션(128)에 대한 액세스를 허용하게끔 호스트 애플리케이션(124)을 실행하도록 또한 구성된다.
도 4를 참조하면, 장치(54)의 변형예가 장치(54a)로서 개략적으로 표시되어 있다. 장치(54a)는 장치(54)와 동일한 컴포넌트를 많이 포함하고 있고, 따라서 동일한 컴포넌트는 접미사 "a"를 뒤에 붙인 동일한 참조 번호로 표시하였다. 주목할 점은 장치(54a)에 키보드(162)와 포인팅 장치(164)가 없다는 점이다. 그 대신에, 장치(54a)는 키보드(162)와 포인팅 장치(164)의 결합된 기능을 제공하는 터치 스크린(164a)을 포함한다. 이 기술에 숙련된 사람이라면 장치(54)의 다른 변형예도 생각할 수 있겠지만, 편의상, 본 발명의 추가의 설명은 전술한 것처럼 장치(54)에 초점을 맞춰서 행할 것이다. 여기에서의 추가 설명으로부터 명백해지는 바와 같이, 장치(54a)에 풀 키보드가 없는 것은 장치(54a)에 입력을 제공함에 있어서 소정의 제한이 있을 수 있지만, 그러한 제한은 본 발명에 의해 완화될 수 있다.
도 5는 호스트 애플리케이션(124), 및 브라우저(88)와 애플리케이션(128)에 대한 그 가상 접속의 구현예를 블록도로 보인 것이다. 애플리케이션(128)들 간의 가상 접속은 애플리케이션(60)에 대하여 또한 도시되어 있다. 이 기술에 숙련된 사람이라면 도 5에 도시된 컴포넌트 및 접속들이 도 1에 도시된 하드웨어 구조 또는 그 변형예를 이용하여 구현될 수 있다는 것을 이해할 것이다. 따라서, 호스트 애플리케이션(124)은 웹 서비스(300) 및 복수의 애플리케이션 플러그-인(304)를 포함한다. 웹 서비스(300)는 각각의 애플리케이션 플로그-인(304)을 통하여 각 애플리케이션(128)에 대하여 행하는 것 대신에, 브라우저(88)에 대해 콘텐트를 발생하여 제공하도록 구성된다. 애플리케이션 플러그-인(304)은 웹 서비스(300)와 애플리케이션(128) 사이에서 프로그래밍 인터페이스로서 작용하도록 구성된다. 따라서, 각 애플리케이션 플러그-인(304)은 그 대응하는 애플리케이션(128)용으로 독특하게 구성되고, 그에 따라서 웹 서비스(300)는 필요에 따라 하이퍼텍스트 마크업 언어(HTML) 및 브라우저(88)에서 사용가능한 임의의 다른 코드(예를 들면, 자바스크립트 파일, 캐스케이딩 스타일 시트)를 발생할 수 있고, 그래서 그래픽 인터페이스가 각 애플리케이션(128)용으로 클라이언트 머신(86)에서 발생될 수 있다. 이 구현예에 따르면, 브라우저(88)를 통한 애플리케이션(128)에의 액세스를 제공하기 위해 각 애플리케이션(128)을 수정할 필요가 없다. 그 대신에, 특정 애플리케이션(128)에 대한 액세스는 그 특정 애플리케이션(128)용의 플러그-인(304)을 생성함으로써 브라우저(88)에서 제공될 수 있다. 대안적으로, 플러그-인(304)은 특정 애플리케이션(128)의 컴포넌트로서 구현될 수 있다.
이제, 도 6을 참조하면, 모바일 전자 장치와 상호작용하기 위해 클라이언트 머신을 제공하는 방법을 나타내는 흐름도가 참조 번호 500으로 개략적으로 도시되어 있다. 방법(500)은 시스템(50)을 이용하여 구현될 수 있고, 방법(500)을 설명하기 위해, 방법(500)은 시스템(50)을 이용하여 수행되는 것으로 가정한다. 그러나, 변형예가 방법(500) 및 시스템(50) 모두에서 있을 수 있고, 그러한 변형예는 본 발명의 범위 내에 있는 것으로 이해하여야 한다. 방법(500)은 엄격하게 요구되는 것이 아니고, 이 실시형태에 있어서, 방법(500)은 웹 서비스(300)가 브라우저(88)의 주소 막대(address bar)로부터 어드레싱 및 구해질 수 있도록 클라이언트 머신(86)에서 프록시를 제공한다. 방법(500)은 또한 링크(90)가 클라이언트 머신(86)과 모바일 전자 장치(54) 간의 직접 링크인 것으로 가정한다. 다시, 링크(90)의 이러한 직접 접속은 피어 투 피어 블루투스™ 접속일 수 있고, 이로써 클라이언트 머신(86)과 장치(54)는 공지의 블루투스™ 하드웨어 및 네트워크 프로토콜을 이용하여 "쌍"을 이룬다. 링크(90)의 이러한 직접 접속은 또한 USB 케이블 접속일 수 있다. 이 기술에 숙련된 사람이라면 링크(90)를 구현하는 다른 수단도 생각할 수 있을 것이다. 이 구현예에 있어서, 링크(90)는 블루투스™ 접속이라고 가정한다.
블록 505는 프록시 애플리케이션을 설치하기 위한 명령어를 수신하는 단계를 포함한다. 블록 505는 다른 방법으로 구현될 수 있다. 블록 505가 구현되는 방식에 영향을 주는 한가지 요소는 프록시 애플리케이션의 설치 파일이 저장되어 있는 위치이다. 일 구현예에 있어서, 프록시 애플리케이션은 네트워크(74)에 접속된 서버(반드시 필요한 것은 아니지만 하나 이상의 서버(58)일 수 있음)에 저장되고, 그 경우 설치 개시는 프록시 애플리케이션을 저장하는 서버의 네트워크(74) 주소를 지시하는 브라우저(88)에 자원 위치 지정자(uniform resource locator; URL)를 입력함으로써 실행될 수 있다. 다른 구현예에 있어서, 프록시 애플리케이션은 장치(54)의 영속적 기억장치(104)에 데이터 파일로서 저장된다. 이 구현예에서, 장치(54)의 비휘발성 기억장치(104)는 링크(90)가 활성일 때 외부 하드 디스크로서 나타나도록 구성된다. 이러한 유형의 구성은 링크(90)가 USB 접속인 경우에 장치(54)와 같은 장치 및 많은 운영체제에서 고유적이다. 따라서, 장치(54)가 하드 디스크로서 나타나면, 프록시 애플리케이션을 내포하는 데이터 파일은 링크(90)를 통하여 클라이언트 머신(86)에 다운로드될 수 있다. 변형예로서, 프록시는 CD 또는 다른 분리형 매체로 제공될 수 있다.
블록 510은 블록 505에서 설치가 개시된 프록시 애플리케이션을 수신하는 단계를 포함한다. 프록시 애플리케이션이 네트워크(74)에 저장되어 있으면, 블록 510은 네트워크(74) 및 링크(94)를 통하여 프록시 애플리케이션을 다운로드하는 단계를 포함한다. 프록시 애플리케이션이 장치(54)에 저장되어 있으면, 프록시 애플리케이션은 링크(90)를 통해 클라이언트 머신(86)으로 전송된다.
이 기술에 숙련된 사람이라면 블록 505 및 블록 510을 실행하는 다른 수단을 생각할 수 있을 것이다.
블록 515는 블록 510에서 수신한 프록시 애플리케이션을 설치하는 단계를 포함한다. 이 시점에서, 프록시 애플리케이션이 최초에 저장되고 수신되는 형태는 프록시 애플리케이션의 실제 설치에서 사용되는 복잡도 레벨에 따라서 달라질 수 있다는 것을 이해할 것이다. 현재로서, 프록시 애플리케이션은 설치 마법사 등을 불러내는 실행가능 애플리케이션이라고 예상되고, 따라서 클라이언트 머신(86)에서 간단한 일련의 키 스트로크가 프록시 애플리케이션을 실제로 설치하는 데 필요한 전부이다. 그러나, 프록시 애플리케이션은 블록 510에서 다른 형태로 수신될 수 있다.
블록 520은 블록 515에서 설치된 프록시 애플리케이션을 등록하는 단계를 포함한다. 이러한 등록은 클라이언트 머신에 대하여 국부적이고 URL 또는 인터넷 프로토콜(IP) 주소 재지향(redirect)을 식별하는데 소용되어 URL 또는 IP 주소의 입력에 의해 브라우저(88)가 웹 서비스(300)에 액세스하게 한다. 시스템(50)의 일부의 표시는 도 5의 변형예인 도 7에 도시되어 있다. 따라서, 도 7은 실질적으로 도 5와 동일하고, 프록시 애플리케이션(308)이 클라이언트 머신(86)에 설치되고 장치(54)의 웹 서비스(300)와 브라우저(88) 사이에 배치된 것으로 도시된 점이 다르다. 도시된 다른 방법에서, 프록시 애플리케이션(308)은 소정의 URL 또는 다른 주소를 브라우저(88)의 주소 막대에 입력함으로써 브라우저(88)가 웹 서비스(300)에 접속되게 하고 웹 서비스(300)에서 제공한 웹 페이지에 대응하는 웹 페이지를 클라이언트 머신(86)의 디스플레이에서 발생하도록 클라이언트 머신(86)을 구성한다. 그러한 URL의 일 예는, 만일 그러한 URL이 클라이언트 머신(86)의 다른 프록시 애플리케이션용으로 아직 예약되지 않았으면, http://localhost일 수 있다. 따라서, http://localhost를 입력한 때, 브라우저(88)는 프록시(308)로 지향될 것이고, 그 다음에 브라우저(88)는 웹 서비스(300)에 접속될 것이다. 링크(90)가 블루투스™에 기초를 둔 경우의 예로 돌아가서, 프록시 애플리케이션(308)은 클라이언트 머신(86)에서 실행하는 블루투스 서비스 및 드라이버와 브라우저(88) 사이에 배치되고, 장치(54)의 블루투스 서비스에 등록된 블루투스 페어링(pairing)에 따라서 장치(54)와 가상 접속을 형성한다. 그 다음에, 웹 서비스(300)는 장치(54)에 있는 블루투스 서비스를 통하여 수신된 HTTP 요청에 응답하도록 구성된다.
이 시점에서, 방법(500) 및 프록시 애플리케이션(308)의 사용은 본 발명에 의해 예상되는 모든 구현예에서 필요한 것은 아니고, 따라서 아래의 설명 중의 일부는 프록시 애플리케이션(308) 및 도 7과 관련하여 행하여지지 않을 수 있다는 점에 주목한다. 그러나, 아래의 설명은 프록시 애플리케이션(308)을 이용하는 구성에도 적용할 수 있다는 점을 또한 이해하여야 한다. 또한, 일부 구성에서, 프록시 애플리케이션(308)은 클라이언트 머신(86)에 사전 설치될 수 있고, 따라서 방법(500)은 선택적일 수 있다.
이제, 도 8을 참조하면, 복수의 컴퓨터에 걸쳐서 애플리케이션에 액세스하는 방법을 나타내는 흐름도가 참조 번호 600으로 개략적으로 도시되어 있다. 방법(600)은 시스템(50)을 이용하여 구현될 수 있고, 방법(600)을 설명하기 위해, 방법(600)은 시스템(50)을 이용하여 수행되는 것으로 가정한다. 그러나, 변형예가 방법(600) 및 시스템(50) 모두에서 있을 수 있고 그러한 변형예는 본 발명의 범위 내에 있는 것으로 이해하여야 한다. 방법(600)의 수행은 링크(90)가 장치(54)와 클라이언트 머신(86) 사이에서 활성인 것으로 추정한다.
블록 605는 웹 브라우저를 여는 단계를 포함한다. 시스템(50)에서, 블록 605는 클라이언트 머신(86)에서 실행되고, 이것에 의해 브라우저(88)가 통상의 방법으로 열린다. 블록 610은 웹 서비스 주소를 수신하는 단계를 포함한다. 블록 610은 브라우저(88)의 주소 막대에 주소(예를 들면, http://localhost)를 타이핑함으로써 실행된다. 시스템(50)에서, 블록 610에서 수신한 주소는 호스트 애플리케이션(124)의 웹 서비스(300)의 주소에 대응한다. 변형예로서, 시스템(50)은 브라우저(88)가 자동으로 진수(launch)되고 단일 단계로, 예를 들면 클라이언트 머신(86)에서 데스크톱 숏커트(shortcut)를 통해 적당한 주소로 지향되도록 구성될 수 있는 것으로 예상된다. 변형예로서, 브라우저(88)의 주소 막대는 사용자에게 보이지 않는 것으로 예상된다.
블록 615는 웹 서비스로부터 웹 페이지를 로드하는 단계를 포함한다. 시스템(50)에서, 및 블록 615의 초기 수행 중에, 블록 615는 임의의 하나의 애플리케이션(128)의 호출을 선택하기 위해 사용될 수 있는 메뉴의 형태로 웹 페이지를 로드하는 단계를 포함할 수 있다. 블록 615의 이러한 초기 수행의 수행 예는 도 9에 도시되어 있고, 여기에서 브라우저(88)는 클라이언트 머신(86)의 디스플레이에서 열리고, 호스트 애플리케이션(124)의 웹 서비스(300)를 지시하는 URL이 열린다. 블록 620은 블록 615에서 로드된 웹 페이지를 발생하는 단계를 포함한다. 도 9에서 알 수 있는 바와 같이, 호스트 애플리케이션(124)은 장치(54)에서 이용가능한 애플리케이션(128)에 대한 웹 기반 액세스를 제공하는 메뉴 웹 페이지를 제공한다. 따라서, 도 9의 클라이언트 머신(86)의 디스플레이에 나타나는 것처럼, 메뉴 아이템 1은 이메일 애플리케이션(128-1)에 대한 액세스를 제공하는 "이메일"(Email)을 표시하고; 메뉴 아이템 2는 교신 관리자 애플리케이션(128-2)에 대한 액세스를 제공하는 "교신 관리자"(Contact Manager)를 표시하며; 메뉴 아이템 3은 교신 관리자 애플리케이션(128-3)에 대한 액세스를 제공하는 "캘린더"(Calendar)를 표시하고; 메뉴 아이템 4는 순간 메시지 애플리케이션(128-4)에 대한 액세스를 제공하는 "순간 메진저"(Instant Messenger)를 표시한다. 간단히 하기 위해, 애플리케이션(128-n)은 도 9에 도시하지 않았다.
블록 625는 웹 서비스에 대한 임의의 로컬 입력을 보내는 단계를 포함한다. 블록 625는 클라이언트 머신(86)에 접속된 키보드 또는 마우스로부터의 로컬 입력을 수신하는 브라우저(88)를 통해 영향을 받는다. 상기 국부적으로 수신된 입력의 일부로서, 블록 620에서 발생된 페이지에 입력될 수 있는 형태 또는 링크 또는 다른 입력에 응답하는 임의의 입력은 블록 620에서 발생된 페이지를 최초로 제공한 웹 서비스로 보내진다.
도 9의 예에 따르면, 클라이언트 머신(86)의 디스플레이에서 발생되는 4개의 메뉴 아이템 중의 하나를 선택하는 입력이 수신될 수 있다. 특유의 예를 제공하기 위해, 이메일 애플리케이션(128-1)에 액세스하게 하는 명령어를 표시하는 메뉴 아이템 1이 선택되는 것으로 가정한다. 다시, 그러한 선택은 키보드 입력을 통해서, 또는 마우스를 이용하여 원하는 선택 위의 포커스에 커서를 이동시키고 선택을 실행하도록 마우스를 클릭함으로써, 또는 원하는 선택을 터치하는 터치 스크린 입력을 통해 실행될 수 있다.
블록 630은 웹 서비스를 닫게 하는 명령어가 수신되었는지 결정하는 단계를 포함한다. 그러한 결정은 브라우저(88)를 닫는 것에 기초를 둘 수 있고, 또는 브라우저(88)의 주소 막대에 다른 URL을 입력하는 것에 기초를 둘 수 있으며, 또는 웹 서비스의 닫기를 지시하는 임의의 다른 명령어 또는 이벤트에 기초를 둘 수 있다. '예' 결정은 방법(600)을 종료시킨다.
'아니오' 결정은 처리를 블록 615로 복귀시키고, 이 단계에서 웹 페이지에 대한 임의의 갱신이 로드된다. 그 후, 방법(600)은 위에서 설명한 것처럼 수행을 계속한다. 추가의 설명을 위해, 및 이메일에 대한 메뉴 선택이 이루어진 상기의 예로 계속해서, 블록 615 및 블록 620의 수행 중에, 이메일 애플리케이션(128-1)에 대한 웹 액세스를 제공하는 웹 페이지가 로드 및 발생될 것이다. 이 비제한적인 예는 도 10에 도시되어 있고, 이 예에서 브라우저 애플리케이션(88)은 이메일 애플리케이션(128-1)에 대한 액세스를 제공하기 위해 호스트 애플리케이션(124)에 의해 호스트되는 주소 http://localhost/email에 액세스하는 것으로 도시되어 있다. 시스템(50)이 플러그-인(304)을 이용하여 구성될 때, 블록 615와 블록 620은 도 5로부터의 플러그-인(304-1)을 유사한 방식으로 적절히 이용하여 도 10에 도시된 디스플레이를 발생할 수 있다.
도 10에 도시된 디스플레이가 활성인 때, 블록 625는 이메일 애플리케이션(128-1)에 관련된 임의의 입력을 수신하는 단계를 포함할 수 있다. 예를 들면, 이러한 입력은 새로운 이메일 메시지를 구성하기 위해 사용될 수 있는 대화 상자를 클라이언트 머신(86)의 디스플레이에서 발생하게 하는 "새로운 메시지"(New Message)의 선택을 포함할 수 있다. 이 예에서, 블록 615 및 블록 620을 통하는 후속 사이클은 새로운 이메일 메시지를 구성하기 위한 그러한 대화 상자를 발생시킬 것이다. 그러한 발생은 이메일 애플리케이션(128-1)과 상호작용하는 호스트 애플리케이션(124)에 기초하여 상기 대화 상자를 가진 웹 페이지를 생성하고, 플러그-인이 사용될 때 도 5로부터의 플러그-인(304-1)을 이용하여 호스트 애플리케이션(124)에 의해 실행된다는 점에 주목한다. 변형예로서, 대화 상자를 발생 및 디스플레이하는 코드는 최초의 웹 페이지에 포함되거나 최초의 웹 페이지에 의해 인용될 수 있고, 따라서, 새로운 웹 페이지는 대화 상자를 디스플레이에 나타내기 위해 로드될 필요가 없다.
일반적으로, 이 기술에 숙련된 사람이라면, 클라이언트 머신(86)의 디스플레이에서 발생된 데이터는 장치(54)의 제어하에 있다는 점 및 클라이언트 머신(86)은 장치(54)가 웹 서버로서 작용하는 동안 실질적으로 웹 클라이언트가 된다는 점을 이해할 것이다. 또한, 장치(54)는 어떤 데이터를 클라이언트 머신(86)의 디스플레이에서 디스플레이할 것인지에 관한 결정의 일부로서, 링크(70)를 이용하여 적당한 서버(58) 및 애플리케이션(60)에 액세스한다. 다시, 이메일의 예에서, 이메일 애플리케이션(128-1)은 클라이언트 머신(86)을 이용해하여 발생된 새로운 이메일을 보내기 위해 서버(59-1)의 애플리케이션(60-1)에 액세스하고, 게다가 이메일 애플리케이션(128-1)은 클라이언트 머신(86)의 디스플레이에서 그 다음에 발생되는 새로운 이메일을 수신하기 위해 애플리케이션(60-1)에 액세스한다. 이메일 애플리케이션(128-1)과 통상적으로 관련된 임의의 다른 기능은 유사한 방식으로 클라이언트 머신(86)의 디스플레이에 반영되고, 서버(58-1)에 대한 적당한 액세스는 그에 따라서 실행된다. 정적인 웹 페이지에 추가하여, 브라우저(88)는 호스트 애플리케이션(124)으로부터 코드(예를 들면, 자바스크립트 코드)를 수신하도록 구성될 수 있다. 이 코드를 실행하는 동안, 브라우저(88)는 때때로 (예를 들면 사용자 입력 또는 어떤 다른 조건에 응답해서) 새로운 페이지 전체를 로드하지 않고 현재 디스플레이상의 페이지를 갱신하기 위해 호스트 애플리케이션(124)으로부터 추가의 자원을 요청할 수 있다.
장치(54) 또는 서버(60)에서 발생하는 변화에 응답하도록 브라우저(88)를 구성하기 위해, 브라우저(88)가 그러한 변화를 자동으로 수신하고 그러한 변화에 응답하도록 "오픈겟"(open-get) 또는 등가의 프로그래밍 기능이 사용된다. 예를 들면, 새로운 이메일 메시지가 서버(58-1)에 도달하고 동일한 새로운 이메일 메시지가 장치(54)에 자동으로 도달한다고 가정한다. 브라우저(88)에서 동작하는 "오픈겟" 기능은 브라우저(88)가 새로운 이메일 메시지의 도달을 또한 확인하게 하고, 클라이언트 머신(86)의 디스플레이가 그에 따라서 갱신되어 새로운 이메일 메시지의 도달을 반영하게 할 것이다.
본 발명의 추가적인 설명을 돕기 위해, 도 11은 교신 관리자 애플리케이션(128-2)을 선택한 결과의 비제한적인 예를 도시하고 있다. 도 11에서는 URL http://localhost/contacts가 활성이고, 그에 따라서 호스트 애플리케이션(124)의 웹 서비스(300)가 교신 관리자(128-2)에 액세스하여 교신 관리자 애플리케이션(128-2)에 대한 입력이 클라이언트 머신(86)을 통하여 수신될 수 있으며, 유사하게, 클라이언트 머신(86)의 디스플레이가 교신 관리자 애플리케이션(128-2)에 관한 콘텐트를 디스플레이하도록 제어될 수 있다. 다시, 교신 데이터베이스에 대한 변화가 클라이언트 머신(86)에서 이루어질 수 있고, 또는 그러한 변화가 장치(54)에서 이루어질 수 있다. 그러한 변화는 그 다음에 통상의 방식으로 서버(60-2)에 전파될 수 있다.
이 기술에 숙련된 사람이라면, 전술한 개념이 캘린더 애플리케이션(128-3), 순간 메신저 애플리케이션(128-4) 및 기타 애플리케이션(128-n)에까지 어떻게 확장될 수 있는지를 이해할 것이다.
각종의 장점이 이제 명확할 것이다. 예를 들면, 장치(54)와 서버(58) 간의 통신이 암호화된 링크를 통하여 실행될 수 있는 것이 일반적이다. 따라서, 링크(90)가 활성일 때, 풀 사이즈 디스플레이 및 풀 사이즈 키보드로 완성되는 풀 브라우징 경험이 장치(54)에서 각종 애플리케이션과 상호작용하기 위해 사용될 수 있지만, 그러한 상호작용은 암호화되고 보안적으로 될 것이다. 더 나아가, 특정 상황에서, 링크(94)는 보안상의 제약, 사용 비용 또는 낮은 대역폭 때문에 이용되지 않거나 이용이 제한될 수 있고, 따라서 링크(94)를 통해 클라이언트 머신(86)으로부터 서버(58)의 데이터에 액세스하는 것은 가능하지 않거나 실용적이지 않을 수 있다. 그럼에도 불구하고, 클라이언트 머신(86)에서 이용가능한 풀 키보드, 마우스 및 표준 디스플레이의 이용가능성 때문에, 그러한 상호작용을 위하여 장치(54)보다는 클라이언트 머신(86)을 이용하는 것이 바람직하다. 따라서, 본 발명은 링크(90)를 확립하기 위해 장치(54)가 소정의 클라이언트 머신(86)에 충분히 근접한 때 가장 유용할 수 있다. 그러한 클라이언트 머신(86)은 공항 로비, 호텔 룸, 인터넷 까페 및 기타의 위치에서 제공될 수 있다. 따라서, 적어도 이러한 이유 때문에, 본 발명은 신규의 창조적이고 유용한 방식으로 클라이언트 머신(86)으로부터의 각종 애플리케이션에 대한 액세스를 제공하기 위해 사용될 수 있다. 클라이언트 머신(86)은 다른 구성을 가질 수 있고, 예를 들면 태블릿 컴퓨터를 포함할 수 있다는 점에 주목하여야 한다.
전술한 개념의 변형예, 부분집합, 증진 및 조합이 예상된다. 예를 들면, 도 9, 도 10 또는 도 11에 도시된 스크린 샷의 어느 것도 데이터가 클라이언트 머신(86)의 디스플레이에서 발생되는 정확한 방법에 대하여 제한하는 것으로 해석되어서는 안된다.
더 나아가, 도 7의 프록시 애플리케이션(308)과 관련하여, 공개적으로 이용가능한 클라이언트 머신(86)은 프록시 애플리케이션(308)이 미리 설치되어 있을 것 같지 않고, 따라서 주지되다시피, 프록시 애플리케이션(308)은 클라이언트 장치(54)의 비휘발성 기억장치(104)에 저장될 수 있다. 또한, 비휘발성 기억장치(104) 자체는 SD 카드와 같은 분리형 기억 매체로서 구현될 수 있다. USB 접속을 이용하여, 프록시 애플리케이션(308)이 SD 카드로부터 클라이언트 머신(86)으로 다운로드될 수 있다. 장치(54)는 또한 클라이언트 머신(86)에 접속될 때 클라이언트 머신(86)에서 즉시 실행하고 프록시 애플리케이션(308)을 클라이언트 머신(86)에 자동으로 복사하는 자동 실행가능 파일을 포함하도록 구성될 수 있다. (대안적으로, 장치(54)는 이러한 설치가 수동으로 수행되도록 구성될 수 있다.) 프록시 애플리케이션(308)이 시작된 후에, 링크(90)는 USB 접속 또는 블루투스 페어링을 통하여 또는 다른 수단에 의해 구현될 수 있다. 블루투스 페어링의 경우에, 클라이언트 머신(86)과의 페어링 단계는 여러 가지 방법으로 발생할 수 있다. 예를 들면, 블루투스 장치의 스캔이 장치(54)로부터 또는 클라이언트 머신(86)으로부터 또는 둘 다로부터 통상의 방법에 따라 개시될 수 있다. 대안적으로, 프록시 애플리케이션(308)의 일부로서, 클라이언트 머신(86)은 광 포착 장치(176)를 이용하여 스캔될 수 있는 바코드를 디스플레이하도록 구성될 수 있다. 바코드 데이터는 클라이언트 머신(86)과의 페어링을 확립하기 위해 장치(54)에 의해 사용가능한 구성 정보를 포함할 수 있다.
"예" 결정이 블록 630에서 발생한 때, 클라이언트 머신(86)은 개인 데이터가 클라이언트 머신(86)의 메모리로부터 소거된 것을 보장하도록 그 브라우저 캐시를 소거하게끔 구성될 수 있다. 블록 630에서의 "예" 결정은 여러 가지 방법으로 발생될 수 있다. 즉, 장치(54)는 클라이언트 머신(86)으로부터 수동으로 로그오프될 수 있다; 링크(90)는 링크(90)를 확립하기 위해 사용된 USB 케이블을 분리함으로써 종결될 수 있다; 링크(90)는 블루투스 접속일 수 있다. 비활동성 타이머가 블록 630에서 "예" 결정을 발생하기 위해 사용될 수 있다.
대안적으로, 클라이언트 머신(86)은 장치(54)에 접속될 때 비-캐시 모드로 동작할 수 있다. 이 모드에서는 브라우저(86)가 콘텐트를 더 자주 다운로드할 수 있으므로 수행이 다소 감퇴될 수 있다.
전술한 것처럼, 장치(54)는 순간 메시지 애플리케이션(128-4)을 통한 순간 메시징 대화와 같이 실시간 통신 채널을 청취하도록 구성될 수 있는 호스트 애플리케이션(124)을 구동시킨다. 자바스크립트는 브라우저(88)에서 실행할 수 있고, 그러한 자바스크립트는 호스트 애플리케이션(124)에 의해 제공된다. 이 자바스크립트는 호스트 애플리케이션(124)과 개방 접속을 유지한다. 이벤트가 애플리케이션(128-4)에서 발생한 때, 대응하는 변화가 브라우저(88)를 통한 제어하에 클라이언트 머신(86)의 디스플레이에서 발생하도록 이벤트가 자바스크립트로 복귀된다. 만일 순간 메시지 응답이 브라우저(88)로부터 보내지면, 별도의 병렬 접속이 개방되고 커맨드가 호스트 애플리케이션(124)에 보내지며, 호스트 애플리케이션(124)은 그 다음에 커맨드를 순간 메시지 애플리케이션(128-4) 내의 진행중인 대화에 주입한다.
일반적으로, 비제한적인 예로서 이메일, 교신, 캘린더 등을 포함한 많은 애플리케이션(128)(대응하는 데이터 소스 및 네트워킹 애플리케이션(60)과 함께)이 장치(54) 등의 장치에 존재한다. 본 발명을 이용해서, 각 애플리케이션(60) 및 그 데이터는 주문제작 방식으로 브라우저(88)를 이용하여 렌더링될 수 있다. 또한, 새로 설치되고 새로 생성된 애플리케이션(128)은 각각의 새로운 애플리케이션(128)용의 새로운 애플리케이션 플러그-인(304)을 생성함으로써 브라우저(88)를 통하여 이용가능한 것으로서 쉽게 추가될 수 있다. 호스트 애플리케이션(124)은 새로운 플러그-인(304)의 실시간 등록이 가능하도록 구성된다. 사실상, 장치(54)는 장치(54)에서 동작하는 임의의 애플리케이션(128)이 데이터 소스로서 등록하게 하는 호스트 애플리케이션(124)과 관련된 애플리케이션 프로그래밍 인터페이스(API)를 제공한다. 각 애플리케이션(128)은 특수한 인터페이스를 구현하는 그 자신의 URL 프리픽스 및 핸들러 클래스가 지정될 수 있다. 그 프리픽스를 가진 URL에 대하여 클라이언트 머신(86)으로부터의 모든 하이퍼텍스트 전송 프로토콜(HTTP) 요청은 처리를 위해 핸들러 클래스에 제공될 수 있다. HTTP 핸들러는 피트(fit)를 보는 임의의 방법으로 각 요청에 응답할 수 있고, 따라서, HTTP 핸들러는 데이터 렌더링의 제어를 받는다. 호스트 애플리케이션에 의한 애플리케이션(128)의 등록은 동적일 수 있기 때문에, 호스트 애플리케이션(124)이 설치되는 것과 동시에 설치된 그러한 애플리케이션(128)만으로 제한되도록 호스트 애플리케이션(124)을 컴파일할 필요는 없다. 새로 설치된 애플리케이션은 애플리케이션이 브라우저(88)를 통해 이용가능한 것으로 동적으로 나타나는 어떤 시점에 등록할 수 있다. 호스트 애플리케이션(124)은 또한 도 9에 도시된 메뉴 화면과 같은 메뉴 화면을 생성할 때에 모든 등록된 애플리케이션(128)을 동적으로 열거할 수 있다.
이제, 도 12를 참조하면, 복수의 컴퓨터에 걸쳐서 하나 이상의 애플리케이션 및 콘텐트에 액세스하는 시스템이 참조 번호 50b로 개략적으로 도시되어 있다. 시스템(50b)은 시스템(50)의 변형예이고, 따라서 동일한 요소는 접미사 "b"를 첨부한 동일한 참조 번호로 표시된다.
시스템(50b)에서 주목할 점은 시스템(50)의 링크(70), 기지국(66-1) 및 링크(78-1)가 링크(71b)로 교체되었다는 점이다. 링크(71b)는, 여기에서 설명하는 각종 유형의 링크에 대한 설명 및 기술 상태에 관심이 있는 이 기술에 숙련된 사람에게 명백한 바와 같이, 링크(70), 기지국(66-1) 및 링크(78-1)로서 또는 다른 방법으로 구현될 수 있다. (게다가, 링크(71b)를 구현하는 그러한 다른 방법은 시스템(50)의 링크(70), 기지국(66-1) 및 링크(78-1)를 또한 교체할 수 있다.)
또한, 시스템(50b)에서 주목할 점은 이메일 애플리케이션(128b-1)에 의해 처리되는 이메일 메시지에 매립된 원격 자원을 인출(fetch)하기 위해 특정 환경에서 사용될 수 있는 브라우저 서비스(128b-5)가 장치(54b)에 제공되어 있다는 점이다. 브라우저 서비스(128b-5)에 대한 추가의 세부는 뒤에서 설명된다.
또한, 시스템(50b)에서 주목할 점은 클라이언트 머신(86b)이 설명의 목적으로 태블릿 컴퓨터로서 구현되고, 이것에 의해 별도의 키보드 및 마우스의 사용이 선택적인 것으로 묘사되고, 그 대신에 키보드 및 포인팅 기능을 위해 클라이언트 머신(86b)의 디스플레이에 있는 터치 스크린 인터페이스에 의존하는 옵션을 제공한다는 점이다. 그러나, 클라이언트 머신(86b)은 데스크톱 컴퓨터 또는 랩톱 컴퓨터 등으로 구현될 수 있다는 점을 이해하여야 한다.
역시, 도 12에서 주목할 점은 이메일 받은 메일함(inbox)이 시스템(50) 및 도 10과 관련하여 위에서 설명한 일반적인 방법론을 이용하여 호스트 애플리케이션(124b) 및 이메일 애플리케이션(128b-1)에 의해 클라이언트 머신(86b)의 디스플레이에서 발생된다는 점이다. 도 12에서, 받은 메일함 내의 각 이메일에는 예컨대 이메일 200, 이메일 204, 및 이메일 208과 같은 참조 문자가 제공된다. 시스템(50b)에서는 받은 메일함 내의 주어진 이메일이 "작업"(work) 이메일 계정으로부터 발원된 것인지 또는 "개인"(personal) 이메일 계정으로부터 발원된 것인지를 나타내는 "메일박스" 컬럼이 또한 제공된다. 이러한 메일박스 컬럼은 다른 이름을 가진 복수의 다른 이메일 계정이 이메일 애플리케이션(128b-1)을 통해 액세스될 수 있는 것을 예상한다. 다수의 이메일 박스 계정에 대해서는 뒤에서 더 설명된다.
시스템(50b)은 시스템(50)과 상이한 네트워크 접속 집합을 또한 포함하고, 시스템(50b)에 도시된 네트워크 접속은 시스템(50)에도 또한 적용할 수 있다.
시스템(50b)에서, 네트워크(74)는 제1 네트워크(74b-1) 및 제2 네트워크(74b-2)로서 구현된다. 실제로, 제1 네트워크(74b)와 제2 네트워크(74b)의 분리는 장치(54b)가 서버(58b)와 통신하는 것만을 허용하는 보안 정책 또는 다른 보안 하부구조로 장치(54b)가 구성되고 클라이언트 머신(86b)이 서버(59b-1-1)와만 통신하도록 구성된다는 점에서 가상적이고 실체적인 것이 아닐 수 있다. 시스템(50b)을 구현하는 한가지 가능한 특유하지만 비제한적인 예에 있어서, 링크(94b)는 홈 또는 공중 IEEE 802.11 네트워크(와이파이 핫스팟이라고도 알려짐)일 수 있고, 따라서 네트워크(74b-1)는 공중 인터넷을 나타내고, 서버(59b-1-1)는 일반적으로 공중 인터넷을 통하여 이용가능한 콘텐트(61b-1)를 호스트하는 공중 인터넷상의 서버를 나타낸다. 콘텐트(61b-1)의 속성은 특별히 제한되지 않고, 예를 들면, 웹 페이지 또는 이미지를 포함할 수 있다. 또한, 이러한 특유의 비제한적인 예에서, 네트워크(74b-2)는 인터넷을 통하여 동작하는 사설 네트워크(예를 들면, 가상 사설 네트워크)를 나타내고, 서버(58b-1-1)는 "작업" 이메일 계정에 대한 액세스를 제공하는 상기 사설 네트워크상의 단체 서버(때로는 기업 서버라고도 부른다)를 나타내며, 서버(58b-1-2)는 그럼에도 불구하고 장치(54b)를 통해서만 액세스가능한 개인 이메일 계정을 호스트하는 개인 이메일 서버를 나타낸다. 시스템(50b)은 사설 링크(83a-1)를 통해 기업 서버(58b-1-1)에 접속하는 기업 콘텐트 서버(59b-1-2)를 또한 포함한다. 따라서, 기업 콘텐트 서버(59b-1-2)는 단체 서버(58b-1-1)를 통해서만 액세스가능하고 단체 서버(58b-1-1)를 통해서만 이용가능한 콘텐트(61b-2)를 호스트하는 서버를 나타낸다. 그러나, 콘텐트(61b-2)의 속성은 특별히 제한되는 것이 아니고, 예를 들면 웹 페이지 또는 이미지를 포함할 수 있으며, 일반적으로 콘텐트(61b-1)와 동일 유형의 콘텐트와 유사하다.
이 기술에 숙련된 사람이라면, 도 12에서 "Work"로서 표시된 이메일 아이템(즉, 이메일(208))은 서버(58b-1-1)로부터 발원된 이메일을 나타내고 도 12에서 "Personal"로서 표시된 이메일 아이템(즉, 이메일(200) 및 이메일(204))은 서버(58b-1-2)로부터 발원된 이메일을 나타낸다는 것을 이해할 것이다. 따라서, 서버 측 애플리케이션(60b-1-1)은 이메일 애플리케이션(128b-1)을 통하여 장치(54b)의 "작업" 이메일 메시지를 관리하는 단체 이메일 계정을 나타내고, 서버 측 애플리케이션(60b-1-2)은 이메일 애플리케이션(128b-1)을 통하여 장치(54b)의 "개인" 이메일 메시지를 관리하는 개인 이메일 계정을 나타낸다.
단체 서버(58b-1-1)는 특정 상황에서 브라우저 서비스(128b-5)를 통해 액세스되는 서버 측 브라우저 서비스(60b-1-5)를 또한 호스트하며, 이것에 대해서는 뒤에서 더 설명된다.
일반적으로, 시스템(50b)은, 콘텐트가 이메일 서버와는 다른 콘텐트 서버에서 유지되어 있는 경우 및 복수의 이메일 서버 및 콘텐트 서버가 제공되어 있는 경우에도, 이메일에서 참조될 수 있는 콘텐트의 인출 및 디스플레이를 비롯해서 장치(54b)를 통해 클라이언트 머신(86b)에서 이메일을 디스플레이하기 위해 사용될 수 있다. 도 13에서 흐름도 형태로 도시된 방법(700)은 이것이 어떻게 실행될 수 있는지를 보이는 비제한적인 예를 제공한다. 방법(700)은 방법(600)의 각종 블록의 수행의 일부로서 실행될 수 있다.
블록 705는 이메일에 액세스하는 단계를 포함한다. 용어 "액세스"는 제한된 의미로 해석되어서는 안된다. 예를 들면, "액세스"는 브라우저(88b)를 통해 클라이언트 머신(86b)에서 이메일을 여는 것, 호스트 애플리케이션(124b)과 함께 작업하는 것, 및 이메일 애플리케이션(128b-1)과 함께 작업하는 것을 포함할 수 있다.
블록 705의 예시적인 수행은 도 14에 도시되어 있다. 도 14에서는 이메일(200)이 클라이언트 머신(86b)의 디스플레이에서 열리는 것으로 도시되어 있다. 도 14에 도시된 것처럼, 이메일(200)의 본문(body)은 텍스트 및 http://"59-b-1-1"/"61b-1"을 지시하는 자원 위치 식별자(URL)(212)를 포함한다. URL(212)은 콘텐트 인용을 URL이 아닌 다른 방법으로 구현할 수 있기 때문에 여기에서 콘텐트 인용이라고 보다 포괄적으로 인용된다. 따라서, 블록 705에서 액세스되는 이메일은 뒤에서 더 자세히 설명하는 것처럼 콘텐트 인용을 포함하는 것으로 예상된다.
도 14에 도시된 URL(212)의 정확한 형태는 단지 설명을 위한 것이고, 실제의 구현예에서 특수한 이메일 메시지 내에 나타나는 실제의 형태를 반드시 반영하는 것은 아니다. 사실, URL(212)의 실제 형태는 도 7에 도시된 프록시(308)와 같은 프록시에 대한 인용(도시 생략됨)을 포함할 수 있고, 그래서 프록시(308)는 실제 인출 처리의 일부로서 사용된다. 사실, 특정 실시형태에 있어서, 프록시(308) 또는 그 변형예는 시스템(50b)에서 적어도 방법(700)의 일부를 구현하도록 구성된 시스템(50b)에 통합될 수 있는 것으로 예상된다. 대안적으로, URL(212)의 실제 형태는, 시스템(50b)에서 적어도 방법(700)의 일부를 구현하도록 구성된, 장치(54b)의 호스트 애플리케이션(124b) 또는 다른 애플리케이션과 관련된 프록시 서버(도시 생략됨)에 대한 인용(도시 생략됨)을 포함할 수 있다. 이 실시형태에 있어서, 그러한 프록시 서버의 기능성은 호스트 애플리케이션(124b)에 직접 통합되는 것으로 추정된다.
또한, URL(212)은 네트워크(74b-1)를 통해 이용가능한 콘텐트를 지시하는 주소(도시되어 있음)를 또한 포함한다. 이 예에서, URL(212)은 이 특유의 예에서 야구의 사진인 콘텐트(61b-1)를 지시한다. 다시, URL의 이 부분의 정확한 형태는 공지의 인터넷 프로토콜(IP) 어드레싱 방식에 일반적으로 대응하고, 따라서 도 14에 도시된 형태는 단순히 예시한 것이다.
이 시점에서, 이메일(200)이 서버(58b-1-2)로부터 발원되고 네트워크(74b-2)를 통해 수신되었다는 사실, 및 이메일(200)이 궁극적으로 네트워크(74b-1)를 통해 액세스가능한 콘텐트를 지시하는 콘텐트 인용을 포함한다는 사실이 반복된다. 많은 구현예에서 장치(54b)에서 수신된 이메일(200)의 최초 버전은 프록시 서버 인용을 URL(212)에 포함시키지 않은 것을 또한 알 수 있고, 따라서 URL(212)은 프록시 서버 인용을 포함하도록 그 최초 형태로부터 수정된 것으로 예상된다. 프록시 서버 인용을 포함하게 하는 이러한 URL(212)의 수정은 장치(54b)에 의해, 또는 서버(58b-1-2)에 의해, 중간 서버(도시 생략됨)에 의해, 또는 클라이언트 머신(86b) 자체에 의해 실행될 수 있다.
블록 710은 블록 705에서 액세스된 이메일에서 인용된 콘텐트를 인출해야 하는지에 대해 결정하는 단계를 포함한다. "아니오"의 결정은 방법(700)을 종료시킨다. "예"의 결정은 처리를 블록 715로 유도한다. "예"의 결정이 이루어지게 하는 수단은 특별히 제한되지 않고, 이메일 메시지에 매립된 콘텐트의 자동 인출을 규정하는 장치(54b) 또는 브라우저(88b) 내의 설정을 포함할 수 있다. "예"의 결정은 블록 710에서 수동으로 또한 이루어질 수 있고, 이것에 의해 클라이언트 머신(86b)의 포인팅 장치가 URL(200)과 관련된 콘텐트를 인출하기 위한 수동 명령을 반영하도록 URL(200)에서 "지시 및 클릭"을 하기 위해 사용된다. 블록 710에서 "아니오"의 결정은 예를 들면 이메일(200)을 스팸 또는 피싱 공격을 잠재적으로 포함하는 것으로서 표시(flag)하는, 또는 URL(200)이 악성 코드를 포함한다고 다른 방식으로 표시하는 자동 분류 동작에 의해 이루어질 수 있다.
블록 710에서 "예" 결정이 이루어진 때, 처리는 블록 715로 진행한다. 블록 715는 인용된 콘텐트를 인출하기 위한 콘텐트 경로를 선택하는 단계를 포함한다. 블록 715를 실행시키는 수단은 역시 특별히 제한되지 않고, 시스템(50b)에서 각종 네트워크 접속의 실제 토폴로지를 포함한 복수의 요소에 기초를 둘 수 있다. 따라서, 시스템(50b) 내의 네트워크 접속이 변화하면 실제 선택된 콘텐트 경로가 변할 수 있다. 하나의 예시적인 구현예에서, 시스템(50b)에 도시된 것과 유사한 네트워크 토폴로지에 대하여, 선택된 콘텐트 경로는 블록 705에서 액세스되는 이메일을 발원한 서버(58b-1)에 기초를 두는 것으로 현재 예상된다. 따라서, 시스템(50b)이 이메일을 발원하는 2개의 서버(즉, 서버(58b-1-1) 및 서버(58b-1-2))를 포함하기 때문에, 2개의 콘텐트 경로가 예상된다. 제1 콘텐트 경로는 서버(58b-1-1)로부터 수신된 작업 이메일(예를 들면, 이메일(208))에 대응하고, 상기 제1 경로는 링크(90b), 링크(71a), 네트워크(74b-2), 링크(82b-1) 및 링크(83a-1)를 포함한다. 제2 콘텐트 경로는 서버(58b-1-2)로부터 수신된 개인 이메일(예를 들면, 이메일(200) 및 이메일(204))에 대응하고, 상기 제2 경로는 링크(94b) 및 링크(82b-3)를 포함한다. 전술한 예에 따라서, 블록 715에서 선택된 콘텐트 경로는 링크(94b)를 포함한 제2 콘텐트 경로일 것이다.
블록 720은 블록 715에서 선택된 경로를 통하여 콘텐트를 인출하는 단계를 포함한다. 블록 720의 수행은 위에서 설명한 예와 일치하고 도 15에 도시되어 있다. 도 15에서는 야구의 이미지가 경로(216)를 통해 인출되고 궁극적으로 클라이언트 머신(86b)의 디스플레이에서 발생되며 URL(200)의 디스플레이를 교체하는 것으로 도시되어 있다. 이 시점에서 방법(700)은 종료한다.
이메일(208)과 관련한 방법의 제2의 예시적인 수행은 도 16 및 도 17에 도시되어 있다. 도 16은 블록 705에서 이메일(208)의 액세싱을 보인 것이다. 이메일(208)은 서버(59b-1-2)에 저장된 콘텐트(61b-2)를 지시하는 URL(220)을 포함한다. 콘텐트(61b-2)가 서버(82b-1) 뒤에 있기 때문에, 그러한 콘텐트는 링크(94b)를 통해 액세스될 수 없다. 블록 715에서 경로의 선택은 이메일(208)이 서버(58b-1-1)로부터 발원되었다는 사실에 기초를 두고, 따라서 선택된 경로는 링크(90b), 링크(71a), 네트워크(74b-2), 링크(82b-1) 및 링크(83a-1)를 포함한다. 블록 720의 예시적인 수행은 콘텐트(61b-2)로서 저장된 달의 이미지가 경로(224)를 통하여 인출되고 클라이언트 머신(86b)의 디스플레이에서 URL(220)의 위치에 발생되는 것으로서 도 17에 도시되어 있다.
도 14, 도 15, 도 16 및 도 17에서의 전술한 예는 경로의 선택이 이메일의 소스에 기초를 두는 경우의 제1 구현예를 예상한다. 그러나, 다른 구현예도 또한 예상된다. 도 18은 방법(700)의 변형예인 방법(700a)을 보인 것이다. 주목할 점은 방법(700a)이 블록 720a를 포함하고, 그에 따라서 실제 인출이 방법(700)의 블록 720에서 행하여진 것과 같은 방법으로, 선택된 링크를 통해 콘텐트를 인출하는 시도가 이루어진다. 그러나, 블록 725a에 의해, 방법(700a)은 인출을 완료하는데 실패할 가능성을 예상한다. 블록 730a는 추가의 경로가 이용가능한지를 결정하고 그러한 다른 경로를 시도하도록 처리를 블록 715a로 복귀시키거나, 만일 인출이 가능하지 않으면 블록 735a에서 예외를 발생시킨다.
초기의 실패는 도 19에 도시된 비제한적인 예에 따라서 블록 725a에서 발생할 수 있다. 도 19는 개인 이메일(204) 내의 URL(220)을 보인 것이다. 그러나, URL(220)은 비록 이메일(204)이 개인용 이메일 서버(58b-1-2)로부터 발원된 것이라 해도 서버(59b-1-2)의 콘텐트를 지시한다. 블록 715a와 블록 720a를 최초로 통과하는 동안에, 링크(94b)를 통한 인출은 서버(59b-1-2)가 링크(94b)를 통하여 액세스될 수 없다는 사실 때문에 실패할 것이다. 따라서, 블록 730a 및 블록 715a를 통한 후속 사이클 중에, 링크(90b), 링크(71a), 네트워크(74b-2), 링크(82b-1) 및 링크(83a-1)를 포함한 경로가 선택되고 달의 이미지가 궁극적으로 인출될 수 있다.
블록 715에서 또는 블록 715a에서의 선택 기준이 특별히 제한되지 않는다는 것은 반복된다. 또한, 그러한 선택 기준은 네트워크 구성 또는 장치(54b)의 보안 정책 또는 이들의 조합에 따라서 바뀔 수 있다. 예를 들면, 도 20은 시스템(50b)의 변형예인 시스템(50c)을 보인 것이다. 시스템(50c)은 동일한 요소에 대하여 접미사 "b" 대신에 접미사 "c"를 첨부한 동일한 참조 번호가 사용된다. 시스템(50c)은 서버(58c-1-1)를 네트워크(74c-1)에 접속하는 링크(79c)를 또한 포함한다. (시스템(50c)에서, 비록 전형적으로 적절한 가상의 사설 네트워크가 링크(94c) 및 링크(79c)를 통해 먼저 확립되어야 하지만, 클라이언트 머신(86c)은 선택적으로 링크(94c)를 통해 서버(58c-1-1)에의 직접 접속이 또한 제공될 수 있다는 점에 주목한다.)
링크(79c) 때문에, 궁극적으로 콘텐트(61c-1)에 도달하기 위해, 클라이언트 머신(86c)으로부터 네트워크(74c-1)까지 적어도 2개의 다른 경로가 이용될 수 있다. 상기 2개의 경로는 1) 링크(94c)를 통한 직접 경로와 2) 링크(90b), 링크(71a), 링크(82b-1) 및 링크(79c)를 통한 간접 경로이다. 따라서, 블록 715에서의 선택 기준은 예를 들면 각종 경로의 이용가능한 암호화의 레벨, 대역폭, 가격, 처리 부담 또는 속도에 기초하여 특수한 경로를 선호할 수 있다. 블록 715a에서의 선택 기준은 하나의 경로에 대하여 초기에 디폴트되고, 그 다음에 제1 경로에서의 실패가 있는 경우에 제2 경로를 시도할 수 있다.
서버(58c-1-1)를 포함한 경로가 선택된 때, 시스템(50c)은 다른 콘텐트(61c)에 액세스하기 위해 브라우저 서비스(60c-1-5)와 함께 브라우저 서비스(128c-5)를 이용하도록 구성될 수 있다. 그러나, 보안상의 제약이 없는 경우에, 링크(94c)를 포함한 경로는 장치(54c)와 서버(58c-1-1)에서의 처리 부담이 줄어들 수 있기 때문에 선호될 수 있다. 보안상의 제약이 있는 경우에, 서버(58c-1-1)를 포함한 경로가 요구될 수 있다.
블록 715 또는 블록 715a에서의 다른 가능한 선택 기준은 특정 이메일의 전송자에 기초하여 경로를 선택하는 단계를 포함한다. 예를 들면, "S. Claus"로부터의 이메일은 하나의 경로에 대하여 디폴트하도록 구성되고 "J. Smith"로부터의 이메일은 다른 경로에 대하여 디폴트하도록 구성될 수 있다. 블록 715a에서의 다른 가능한 선택 기준은, 과거의 성공한 경로와 같이, 특정 이메일의 다른 특성에 기초하여 경로를 선택하는 단계를 포함한다. 이 선택 기준에 따르면, 블록 725a에서의 인출 실패는 블록 715a에서의 디폴트 경로 선택을 변경하기 위해 사용되고, 그래서 방법(700a)의 후속 수행 중에 올바른 경로가 초기에 선택된다.
다른 경로 선택은 보안 정책 및 토폴리지에 따라서 발생된다. 예를 들면, 도 21은 시스템(50d)으로서 인용된 추가의 예시적인 토폴로지를 보인 것이다. 시스템(50d)은 시스템(50c)의 변형예이고, 따라서 동일한 컴포넌트는 접미사 "d"를 뒤에 첨부한 동일한 참조 번호로 표시된다. 시스템(50d)에서는 링크(79c)가 생략되고 링크(81d)가 제공된다. 시스템(50d)에서 브라우저 서비스(128d-5)는, 네트워크(74d-1)에서의 콘텐트가 네트워크(74d) 및 브라우저 서비스(128d-5)를 통하여 클라이언트 머신(86c)에서 브라우징 되도록 공중 브라우징 서비스를 제공하게끔 구성된다. 따라서, 그러한 경로는 링크(90d), 장치(54d), 링크(71d), 네트워크(74d-2), 링크(81d), 서버(59d-1-1)를 포함한다.
복수의 경로가 예상된다는 점을 더욱 강조하기 위해, 추가의 예시적인 토폴로지가 도 22에 도시되어 있다. 도 22는 시스템(50d)의 다른 변형예인 시스템(50e)을 보인 것이고, 따라서 동일한 요소는 접미사 "e"를 뒤에 첨부한 동일한 참조 번호로 표시된다. 시스템(50e)은 시스템(50d)과 소정의 차이점을 갖는다. 주목할 점은, 시스템(50e)에서, 이메일 서버(58e-1-1)와 단체 웹 서버(59e-1-2)는 단체 사설 네트워크(74e-2)에 접속되고, 이들은 모두 단체 방화벽(91e) 뒤에 위치된다. 장치(54e)는 링크(71e)를 통해 단체 네트워크(74e)에 대한 보안 액세스가 제공된다. 또한, 시스템(50e)에서, 네트워크(74e-1)는 공중 인터넷을 포함하고, 공중 인터넷은 링크(73e)를 통해 장치(54e)에 직접 접속되며, 또한 비록 방화벽(91e) 뒤에 있지만 단체 사설 네트워크(74e-2)에 링크(75e)를 통해 접속된다. 또한, 시스템(50e)에서 공중 이메일 서버(58e-1-2)는 공중 인터넷 네트워크(74e-1)에 접속된다. 따라서, 적어도 하기의 경로가 시스템(50e)에서 이용가능하다.
A) 링크(94e), 네트워크(74e-1) 및 링크(82e-3)를 포함하는 클라이언트 머신(86e)과 서버(59e-1-1) 사이의 공중 콘텐트 직접 경로.
B) 링크(90e), 링크(71e), 링크(75e) 및 링크(82e-3)를 포함하는 클라이언트 머신(86e)과 서버(59e-1-1) 사이의 공중 콘텐트 단체 간접 경로.
C) 링크(90e), 링크(73e) 및 링크(82e-3)를 포함하는 클라이언트 머신(86e)과 서버(59e-1-1) 사이의 공중 콘텐트 간접 경로.
D) 링크(90e), 링크(71e) 및 링크(83e-1)를 포함하는 클라이언트 머신(86e)과 서버(59e-1-2) 사이의 사설 콘텐트 단체 경로.
E) 링크(94e), 링크(75e) 및 링크(83e-1)를 포함하는 클라이언트 머신(86e)과 서버(59e-1-2) 사이의 사설 콘텐트 직접 경로.
도시를 생략한 추가의 변형예에 있어서, 링크(94e)는 링크(70)와 같은 코어 모바일 네트워크 링크로서 구현될 수 있다. 대안적으로, 클라이언트 머신(86e)과 네트워크(74e-1) 사이에 추가의 링크가 제공될 수 있다. 그러한 코어 모바일 네트워크 링크가 클라이언트 머신(86e)과 네트워크(74e) 사이에 제공된 경우, 콘텐트 경로의 선택은 어떤 링크가 유리한 대역폭, 속도, 보안성 등을 제공하는지에 기초를 둘 수 있다.
추가의 링크가 시스템(50e)에 추가될 수 있고, 또는 토폴로지 및 경로의 추가적인 변형예를 제공하기 위해 각종 링크가 제거될 수 있다는 점에 주목한다.
이 기술에 숙련된 사람이라면, 전술한 실시형태의 다른 변형예, 조합 및 부분집합을 생각할 수 있을 것이다. 예를 들면, 시스템(50)에서 클라이언트 머신(86)으로서 태블릿 컴퓨터가 또한 사용될 수 있다. 다른 실시예로서, 비록 시스템(50b)(또는 그 변형예)이 이메일 애플리케이션과 관련하여 설명되었지만, 시스템(50b)(또는 그 변형예)은 메시징 애플리케이션을 포함한 다른 유형의 애플리케이션을 수용하도록 변경될 수 있다. 다른 유형의 메시징 애플리케이션의 예는 풍부한 콘텐트를 내장한 순간 메시지, 또는 풍부한 콘텐트를 내장한 단문 메시지 서비스(SMS) 메시지, 또는 페이스북™ 및 트위터™와 같이 소셜 네트워킹 애플리케이션에 내장된 메시징 애플리케이션을 포함한다.

Claims (18)

  1. 콘텐트 소스에 대한 액세스를 제공하는 원격 컴퓨터에 있어서,
    사설 네트워크에 액세스하기 위한 것이고, 모바일 장치를 통해 사설 네트워크에 대한 보안 통신을 제공하도록 구성된 제1 접속과;
    공중 네트워크에 액세스하기 위한 제2 접속과;
    상기 제1 접속을 통해 메시지에 액세스하고, 상기 메시지에서 인용된 콘텐트에 액세스하기 위한 콘텐트 경로 - 상기 콘텐트 경로는 상기 제1 접속이나 상기 제2 접속을 포함한 것임 - 를 선택하며, 선택된 콘텐트 경로를 통해 콘텐트를 인출(fetch)하도록 구성된 처리 회로를 포함한 원격 컴퓨터.
  2. 제1항에 있어서, 상기 메시지는 전자 메일 메시지를 포함한 것인 원격 컴퓨터.
  3. 제2항에 있어서, 상기 콘텐트 경로는 상기 전자 메일 메시지를 발원한 서버에 기초하여 선택된 것인 원격 컴퓨터.
  4. 제2항에 있어서, 상기 콘텐트 경로는 상기 전자 메일 메시지의 전송자에 기초하여 선택된 것인 원격 컴퓨터.
  5. 제2항에 있어서, 상기 전자 메일 메시지는 상기 메시지에서 인용된 콘텐트의 콘텐트 소스를 특정하는 링크를 포함한 것인 원격 컴퓨터.
  6. 제5항에 있어서, 상기 콘텐트 소스를 특정하는 링크는 프록시 서버 인용을 포함한 것인 원격 컴퓨터.
  7. 제1항에 있어서, 상기 콘텐트 경로의 선택은 디폴트 접속의 선택을 포함한 것인 원격 컴퓨터.
  8. 제7항에 있어서, 상기 콘텐트 경로의 선택은 디폴트 접속이 실패일 경우 대안적인 접속의 선택을 포함한 것인 원격 컴퓨터.
  9. 제1항에 있어서, 상기 처리 회로는 상기 메시지가 기업 메일 계정과 관련된 경우 상기 제1 접속을 콘텐트 경로로서 선택하고, 상기 메시지가 개인 메일 계정과 관련된 경우 상기 제2 접속을 콘텐트 경로로서 선택하도록 구성된 것인 원격 컴퓨터.
  10. 제1항에 있어서, 상기 콘텐트 경로는 암호화를 포함한 것인 원격 컴퓨터.
  11. 클라이언트 머신에서 콘텐트에 액세스하는 방법에 있어서,
    메시징 애플리케이션을 호스트하도록 구성된 컴퓨팅 장치에 대한 접속을 통해 메시지에 액세스하는 단계와;
    메시지에서 인용된 콘텐트를 인출하게 하는 명령어를 수신하는 단계와;
    서버로부터의 콘텐트에 액세스하기 위한 콘텐트 경로 - 상기 콘텐트 경로는 상기 컴퓨팅 장치에의 접속을 생략한 제1 콘텐트 경로나 상기 컴퓨팅 장치에의 접속을 포함한 제2 콘텐트 경로를 포함한 것임 - 를 선택하는 단계와;
    선택된 콘텐트 경로를 통해 클라이언트 머신에서 콘텐트를 인출하는 단계를 포함한 콘텐트 액세스 방법.
  12. 제11항에 있어서, 상기 메시지는 전자 메일 메시지를 포함한 것인 콘텐트 액세스 방법.
  13. 제12항에 있어서, 상기 콘텐트 경로를 선택하는 단계는 상기 전자 메일 메시지를 발원한 서버를 식별하는 단계를 포함한 것인 콘텐트 액세스 방법.
  14. 제12항에 있어서, 상기 콘텐트 경로를 선택하는 단계는 상기 전자 메일 메시지의 전송자를 식별하는 단계를 포함한 것인 콘텐트 액세스 방법.
  15. 제12항에 있어서, 상기 전자 메일 메시지는 콘텐트에 대한 액세스를 제공하는 서버의 식별을 포함하는 콘텐트 인용을 포함한 것인 콘텐트 액세스 방법.
  16. 제15항에 있어서, 상기 콘텐트 인용은 프록시 서버 인용을 포함한 것인 콘텐트 액세스 방법.
  17. 제11항에 있어서, 상기 콘텐트 경로를 선택하는 단계는 디폴트 콘텐트 경로를 선택하는 단계를 포함한 것인 콘텐트 액세스 방법.
  18. 제17항에 있어서, 상기 콘텐트 경로를 선택하는 단계는 디폴트 콘텐트 경로가 실패일 경우 대안적인 콘텐트 경로를 선택하는 단계를 포함한 것인 콘텐트 액세스 방법.
KR1020137007787A 2010-09-27 2011-09-12 복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템 KR101502438B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US38663510P 2010-09-27 2010-09-27
US61/386,635 2010-09-27
US13/205,266 US9160693B2 (en) 2010-09-27 2011-08-08 Method, apparatus and system for accessing applications and content across a plurality of computers
US13/205,266 2011-08-08
PCT/CA2011/050547 WO2012040839A1 (en) 2010-09-27 2011-09-12 Method, apparatus and system for accessing applications and content across a plurality of computers

Publications (2)

Publication Number Publication Date
KR20130047764A true KR20130047764A (ko) 2013-05-08
KR101502438B1 KR101502438B1 (ko) 2015-03-13

Family

ID=45871755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137007787A KR101502438B1 (ko) 2010-09-27 2011-09-12 복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템

Country Status (6)

Country Link
US (1) US9160693B2 (ko)
EP (1) EP2454859B1 (ko)
KR (1) KR101502438B1 (ko)
CN (1) CN103229461B (ko)
CA (1) CA2812659C (ko)
WO (1) WO2012040839A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4294912B2 (ja) 2001-08-13 2009-07-15 ブラザー工業株式会社 端末情報通知システム、端末情報通知方法及びネットワーク端末装置
US9015809B2 (en) 2012-02-20 2015-04-21 Blackberry Limited Establishing connectivity between an enterprise security perimeter of a device and an enterprise
US9887872B2 (en) * 2012-07-13 2018-02-06 Microsoft Technology Licensing, Llc Hybrid application environments including hosted applications and application servers for interacting with data in enterprise environments
TWI648968B (zh) * 2017-08-15 2019-01-21 智易科技股份有限公司 遠端網路連線系統及其接取設備及其連線方法
US11677783B2 (en) * 2019-10-25 2023-06-13 Target Brands, Inc. Analysis of potentially malicious emails
CN111709012A (zh) * 2020-05-22 2020-09-25 平安国际智慧城市科技股份有限公司 基于私有链的用户验证方法、装置及计算机设备

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6553410B2 (en) * 1996-02-27 2003-04-22 Inpro Licensing Sarl Tailoring data and transmission protocol for efficient interactive data transactions over wide-area networks
US6587928B1 (en) 2000-02-28 2003-07-01 Blue Coat Systems, Inc. Scheme for segregating cacheable and non-cacheable by port designation
WO2001082096A1 (en) * 2000-04-27 2001-11-01 America Online, Inc. Multi-windowed online application environment
US6766373B1 (en) 2000-05-31 2004-07-20 International Business Machines Corporation Dynamic, seamless switching of a network session from one connection route to another
WO2002009395A2 (en) * 2000-07-07 2002-01-31 Science Applications International Corporation A system or method for calling a vanity number using speech recognition
WO2002052798A2 (en) * 2000-12-22 2002-07-04 Research In Motion Limited Wireless router system and method
US7526572B2 (en) 2001-07-12 2009-04-28 Research In Motion Limited System and method for providing remote data access for a mobile communication device
AU2002313583A1 (en) 2001-08-01 2003-02-17 Actona Technologies Ltd. Virtual file-sharing network
US7185363B1 (en) 2002-10-04 2007-02-27 Microsoft Corporation Using a first device to engage in a digital rights management transaction on behalf of a second device
EP1408391A1 (en) 2002-10-11 2004-04-14 Telefonaktiebolaget LM Ericsson (publ) Method of associating authentication information of a trusted device to an identifier of a non-trusted device
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US20080037486A1 (en) 2004-05-17 2008-02-14 Olivier Gerling Methods And Apparatus Managing Access To Virtual Private Network For Portable Devices Without Vpn Client
US7526810B2 (en) * 2004-06-21 2009-04-28 Ebay Inc. Method and system to verify data received, at a server system, for access and/or publication via the server system
US7360237B2 (en) 2004-07-30 2008-04-15 Lehman Brothers Inc. System and method for secure network connectivity
US7634572B2 (en) 2004-12-22 2009-12-15 Slipstream Data Inc. Browser-plugin based method for advanced HTTPS data processing
US20060168259A1 (en) 2005-01-27 2006-07-27 Iknowware, Lp System and method for accessing data via Internet, wireless PDA, smartphone, text to voice and voice to text
US7941784B2 (en) 2005-03-14 2011-05-10 Research In Motion Limited System and method for generating component based applications
CA2928051C (en) 2005-07-15 2018-07-24 Indxit Systems, Inc. Systems and methods for data indexing and processing
US7715825B2 (en) * 2005-09-28 2010-05-11 Research In Motion Limited Pushback methods and apparatus for use in communicating messages to mobile communication devices
EP1791315A1 (en) 2005-11-23 2007-05-30 Research In Motion Limited System and method to provide mobile VPN connectivity
US7882557B2 (en) 2005-11-23 2011-02-01 Research In Motion Limited System and method to provide built-in and mobile VPN connectivity
US20070130279A1 (en) 2005-12-01 2007-06-07 Discrete Wireless Geo-fence location-specific equipment status based trigger directed content delivery
US8775974B2 (en) * 2005-12-21 2014-07-08 International Business Machines Corporation Multi-contextual delta navigation in a compare view
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20100191624A1 (en) 2006-09-05 2010-07-29 Bmc Software, Inc. System and method for classifying requests
US9860274B2 (en) 2006-09-13 2018-01-02 Sophos Limited Policy management
US8521832B1 (en) 2006-10-04 2013-08-27 Yahoo! Inc. Mobile monetization
US8259568B2 (en) 2006-10-23 2012-09-04 Mcafee, Inc. System and method for controlling mobile device access to a network
US8116223B2 (en) 2006-11-09 2012-02-14 Ivt Technology Inc. System and method for supporting automatic establishing and disconnecting several wireless connections
US8301179B2 (en) * 2006-12-06 2012-10-30 Research In Motion Limited Method and system for communicating a message attachment
US7953862B2 (en) 2007-01-16 2011-05-31 Sony Ericsson Mobile Communications Ab Methods for accessing a phone-based web server with a private IP address and related electronic devices and computer program products
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
CA2621744C (en) 2007-09-13 2016-10-04 Research In Motion Limited System and method for interfacing between a mobile device and a personal computer
US20090150665A1 (en) 2007-12-07 2009-06-11 Futurewei Technologies, Inc. Interworking 802.1 AF Devices with 802.1X Authenticator
US8661524B2 (en) 2007-12-14 2014-02-25 Novell, Inc. Selective desktop control of virtual private networks (VPN's) in a multiuser environment
US7664862B2 (en) 2008-01-14 2010-02-16 International Business Machines Corporation Browser-based proxy server for customization and distribution of existing applications
EP2238777B1 (en) 2008-01-16 2023-10-25 BlackBerry Limited Secured presentation layer virtualization for wireless handheld communication device
US8195656B2 (en) 2008-02-13 2012-06-05 Yahoo, Inc. Social network search
US8161521B1 (en) 2008-03-05 2012-04-17 Juniper Networks, Inc. Controlling network access by applying super security policies
US20090282423A1 (en) 2008-05-12 2009-11-12 Christopher Smith System and method for dynamic plug-in activation in a web browser
CN102216731B (zh) 2008-08-11 2014-10-01 Tti发明D有限公司 在车辆中使用联网移动设备的系统和方法
US8352575B2 (en) 2008-10-14 2013-01-08 Samaha Tareq A System and method for a server-based files and tasks brokerage
US20100121928A1 (en) 2008-11-07 2010-05-13 Penango, Inc. Methods and systems for allocating and indicating trustworthiness of secure communications
US20100153568A1 (en) 2008-12-16 2010-06-17 Nokia Corporation Methods, apparatuses, and computer program products for providing a local proxy for accessing web services
US8893260B2 (en) 2008-12-17 2014-11-18 Rockstar Consortium Us Lp Secure remote access public communication environment
US8910270B2 (en) 2009-01-20 2014-12-09 Microsoft Corporation Remote access to private network resources from outside the network
US8121638B2 (en) * 2009-02-27 2012-02-21 Research In Motion Limited System and method for security on a mobile device using multiple communication domains
US8660254B2 (en) 2009-02-27 2014-02-25 Blackberry Limited System and method for call management
US8503459B2 (en) 2009-05-05 2013-08-06 Citrix Systems, Inc Systems and methods for providing a multi-core architecture for an acceleration appliance
US8732451B2 (en) 2009-05-20 2014-05-20 Microsoft Corporation Portable secure computing network
US9654505B2 (en) 2009-06-22 2017-05-16 Citrix Systems, Inc. Systems and methods for encoding the core identifier in the session identifier
US8655842B2 (en) 2009-08-17 2014-02-18 Yahoo! Inc. Push pull caching for social network information
US8782148B2 (en) * 2009-12-16 2014-07-15 International Business Machines Corporation Managing redundancy in electronic mail messages
US20110203491A1 (en) 2010-02-25 2011-08-25 Gaven Poe System and method for an improved pallet
JP5730914B2 (ja) 2010-03-05 2015-06-10 ブラス・モンキー・インコーポレイテッドBrass Monkey,Inc. Webブラウザにおける双方向通信および内容制御のシステムおよび方法
US20110265151A1 (en) 2010-04-22 2011-10-27 John Furlan Method of adding a client device or service to a wireless network
US8856300B2 (en) 2010-05-18 2014-10-07 At&T Intellectual Property I, L.P. End-to-end secure cloud computing
US9749176B2 (en) 2010-06-29 2017-08-29 Nokia Technologies Oy Systems, methods, and apparatuses for providing adaptive user notifications
US8127350B2 (en) 2010-06-30 2012-02-28 Juniper Networks, Inc. Multi-service VPN network client for mobile device
US20120079122A1 (en) 2010-09-24 2012-03-29 Research In Motion Limited Dynamic switching of a network connection based on security restrictions
EP2638465A2 (en) 2010-11-09 2013-09-18 Openpeak Inc. Communication devices, networks, services and accompanying methods
US8806030B2 (en) 2010-12-06 2014-08-12 Microsoft Corporation Multichannel connections in file system sessions
US8966292B2 (en) 2011-01-03 2015-02-24 Qualcomm Incorporated Performance improvements in a wireless client terminal using assistance from a proxy device
US8812868B2 (en) 2011-03-21 2014-08-19 Mocana Corporation Secure execution of unsecured apps on a device
US9015809B2 (en) 2012-02-20 2015-04-21 Blackberry Limited Establishing connectivity between an enterprise security perimeter of a device and an enterprise
US9237446B2 (en) 2012-05-24 2016-01-12 Blackberry Limited System and method for controlling access to media content

Also Published As

Publication number Publication date
EP2454859A4 (en) 2013-12-04
CA2812659A1 (en) 2012-04-05
CA2812659C (en) 2017-03-14
EP2454859B1 (en) 2019-01-30
KR101502438B1 (ko) 2015-03-13
CN103229461A (zh) 2013-07-31
WO2012040839A1 (en) 2012-04-05
EP2454859A1 (en) 2012-05-23
US9160693B2 (en) 2015-10-13
US20120079007A1 (en) 2012-03-29
CN103229461B (zh) 2016-02-24

Similar Documents

Publication Publication Date Title
KR20130069775A (ko) 복수의 컴퓨터에 걸쳐서 애플리케이션에 액세스하는 방법, 장치 및 시스템
CA2735515C (en) Method, apparatus and system for controlling transmission of an attachment to an email using a plurality of computers
US7877461B1 (en) System and method for adding dynamic information to digitally signed mobile applications
US9716689B2 (en) Secured presentation layer virtualization for wireless handheld communication device
KR101502438B1 (ko) 복수의 컴퓨터에 걸쳐서 애플리케이션 및 콘텐트에 액세스하는 방법, 장치 및 시스템
US11523260B2 (en) Delivery of configuration information for cross-platform application integration
US10673971B1 (en) Cross-partition messaging using distributed queues
US20120079063A1 (en) Method, apparatus and system for providing event notifications across a plurality of computers
CA2812425C (en) Method, apparatus and system for transmitting an application using a plurality of computers
US20120079008A1 (en) Method, apparatus and system for providing event notifications across a plurality of computers
US9021016B2 (en) Method, apparatus and system for managing communications between a computing device and a client machine

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 6