KR20160132407A - 기계 판독 가능 코드를 사용한 장치 인증 및 페어링 방법 - Google Patents

기계 판독 가능 코드를 사용한 장치 인증 및 페어링 방법 Download PDF

Info

Publication number
KR20160132407A
KR20160132407A KR1020167025326A KR20167025326A KR20160132407A KR 20160132407 A KR20160132407 A KR 20160132407A KR 1020167025326 A KR1020167025326 A KR 1020167025326A KR 20167025326 A KR20167025326 A KR 20167025326A KR 20160132407 A KR20160132407 A KR 20160132407A
Authority
KR
South Korea
Prior art keywords
user
mobile device
browser
content
client device
Prior art date
Application number
KR1020167025326A
Other languages
English (en)
Other versions
KR102340569B1 (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 KR20160132407A publication Critical patent/KR20160132407A/ko
Application granted granted Critical
Publication of KR102340569B1 publication Critical patent/KR102340569B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • H04M1/7253
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W4/003
    • H04W4/008
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • H04W76/023
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/11Allocation or use of connection identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

클라이언트 장치 상의 브라우저 내에서 MR 코드가 생성되며, 이 생성된 코드는 모바일 장치 상의 모바일 애플리케이션에 의해서 판독된다. 이후에 웹 기반 통신을 통해서 브라우저와 모바일 장치 상의 모바일 애플리케이션 사이에 통신 채널이 수립된다. 모바일 애플리케이션은 모바일 장치에 사용자 인터페이스 디스플레이를 생성하여 사용자가 컨텐츠를 선택할 수 있도록 한다. 모바일 애플리케이션은 이 컨텐츠에 대한 링크(link)를 브라우저로 송신하고, 브라우저는 클라이언트 장치의 컨텐츠에 액세스하고 이를 렌더링한다. 렌더링된 컨텐츠를 제어하기 위한 사용자 입력 명령 또한 통신 채널을 통해서 모바일 장치에서 수신되고 또한 브라우저로 송신된다.

Description

기계 판독 가능 코드를 사용한 장치 인증 및 페어링 방법{AUTHENTICATION AND PAIRING OF DEVICES USING A MACHINE READABLE CODE}
사용자가 한 컴퓨팅 장치에 로그인해서 컨텐츠를 제공하고, 이 컨텐츠를 다른 컴퓨팅 장치로부터 제어하는 것을 가능하게 하는 일부 컴퓨터 시스템이 현재 존재하고 있다. 예를 들어서, 일부 시스템에서는, 사용자가 로그인한 다음 자신의 모바일 장치를 사용하여 대형 스크린 장치를 제어하는 것이 가능하다.
이와 같은 시스템은 대개 하나 이상의 다른 컴퓨팅 장치에 사용자가 로그인하도록 하고 있다. 많은 사용자들은 자신의 사용자 이름과 패스워드를 사용하는 것에 불편을 느끼고 있으며, 특히 자신이 소유하고 있지 않은 컴퓨팅 장치에 로그인할 때 불편을 느끼고 있다. 사용자들은 키 입력이 기록되고 이 정보가 비밀리에 사용되는 것에 대해서 염려할 수 있다.
또한 현재 컴퓨팅 장치를 페어링하여 서로 신뢰되는 방식으로 통신할 수 있는 일부 시스템이 존재하고 있다. 이를 행하기 위한 현재의 방법 중의 하나는 사용자가 먼저 가까이에 있는 장치를 집어드는 것이다. 이어서, 사용자는 양 장치에 동일한 코드를 입력하도록 요청받는다. 다른 방법은 두 장치의 근접성을 이용하여 자동으로 접속시키고, 의도하지 않은 접속이 행해진 것은 아니라는 것을 각 장치의 사용자가 확인하도록 한다.
다른 시스템에 있어서, 사용자가 자신의 모든 장치에 로그인한 경우라면, 두 개의 장치는 신뢰된 방식으로 통신할 수 있다. 그러나, 통상적으로는 사용자가 사전 설정 작업을 진행할 필요가 있다. 따라서, 통상적으로는 사용자가 이런 방식으로 자신의 모든 장치를 설정할 필요가 있었다.
또한 현재의 시스템은 사용자가 모바일 장치를 사용하여 대형 스크린 장치에서 컨텐츠를 볼 수 있도록 한다. 이를 수행하기 위한 현재의 시스템의 중의 하나는 사용자가 HDMI, DVI, 또는 다른 접속 케이블을 꽂아서 모바일 장치를 대형 스크린 장치에 접속하도록 하고 있다. 이 타입의 시스템은 모바일 장치로부터의 컨텐츠 화면을 대형 스크린으로 스트리밍한다. 그러나, 직접적인 배선은 일부 문제를 발생시킬 수 있다. 이 타입의 통신을 무선으로 수행하기 위한 다른 시스템이 시도되었지만, 이들은 상당한 시간을 소모하는 페어링(pairing) 메커니즘의 사용을 필요로 하고 있었다. 이 타입의 시스템은 모두 모바일 장치로부터 대형 스크린 장치로 전송되어야 하는 데이터의 양이 일반적으로 매우 많았다.
두 대의 장치를 페어링하는 상술한 시스템에 있어서, 통상적으로 사용자는 페어링된 장치 모두에서 로그인할 필요가 있다. 이후에야 장치들끼리 서로 통신할 수 있는 채널이 존재하게 된다. 이 방법에서는, 사용자가 동료의 사무실로 가서, 이 동료의 컴퓨터에서 문서를 공유하고자 하는 시나리오는 고려하지 않고 있다. 이 시나리오가 행해지는 현재의 메커니즘은, 사용자가 동료의 컴퓨터에 로그인한 다음 컨텐츠 또는 문서를 수동으로 검색하도록 하고 있다.
기계 판독 가능 라벨(또는 MR 코드)은 어떤 아이템에 대한 정보를 포함하고 있는 라벨이다. MR 코드의 일부 예에는, 다른 것도 있지만 그 중에서도, 바코드와 같은 광학 코드, 매트릭스 바코드(예컨대, QR 코드), 및 확장형 매트릭스 바코드가 포함된다. MR 코드의 다른 예로는 근거리 자기장 통신을 사용하여 전송되는 코드가 있다.
이상의 설명은 단지 일반적인 배경 지식을 제공하기 위한 것이며, 본 발명의 청구 대상의 범위를 한정하는데 도움을 주기 위해서 사용되고자 의도된 것이 아니다.
클라이언트 장치 상의 브라우저 내에서 MR 코드가 생성되며, 이 생성된 코드는 모바일 장치 상의 모바일 애플리케이션에 의해서 판독된다. 이후에 웹 기반 통신을 통해서 브라우저와 모바일 장치 상의 모바일 애플리케이션 사이에 통신 채널이 수립된다. 모바일 애플리케이션은 모바일 장치에 사용자 인터페이스 디스플레이를 생성하여 사용자가 컨텐츠를 선택할 수 있도록 한다. 모바일 애플리케이션은 이 컨텐츠에 대한 링크(link)를 브라우저로 송신하고, 브라우저는 클라이언트 장치의 컨텐츠에 액세스하고 이를 렌더링한다. 렌더링된 컨텐츠를 제어하기 위한 사용자 입력 명령 또한 통신 채널을 통해서 모바일 장치에서 수신되고 또한 브라우저로 송신된다.
본 "발명의 내용" 항목은 이하의 "발명을 실시하기 위한 구체적인 내용" 항목에서 더욱 상세하게 설명되는 몇 가지 개념을 선택하여 단순화된 형식으로 소개하기 위해 제공되었다. 본 "발명의 내용" 항목은 청구 범위에 기재된 청구 대상의 주요 특징 또는 핵심 특징을 밝히고자 의도된 것이 아니며, 청구 범위에 기재된 청구 대상의 범위를 한정하는데 도움을 주기 위한 것으로서 사용되도록 의도된 것은 더더욱 아니다. 청구 범위에 기재된 청구 대상은 "배경 기술" 항목에 언급된 임의의 또는 모든 단점을 해결하는 구현만으로 한정되지 않는다.
도 1a 및 도 1b(이들을 함께 도 1이라 함)는 인증 및 페어링 아키텍처(100)의 일 실시예 중의 하나의 블록도를 나타내고 있다.
도 1c는 모바일 장치 및 기타 클라이언트 장치가 어떻게 통신 채널을 수립하는 지를 나타내는 간략화된 흐름도이다.
도 2는 사용자가 모바일 애플리케이션에 로그인하는 도 1에 나타낸 아키텍처의 동작의 일 실시예를 나타내는 흐름도이다.
도 3a 및 도 3b(이들을 함께 도 3이라 함)는 사용자를 인증하고 또한 클라이언트 장치 상의 브라우저와 모바일 애플리케이션 사이에서의 접속을 수립하는데 있어서 도 1에 나타낸 아키텍처의 일 실시예의 동작을 도시한 흐름도를 나타내고 있다.
도 3c 및 도 3d는 예시적인 사용자 인터페이스 디스플레이이다.
도 4는 모바일 장치의 제어 하에서, 사용자가 클라이언트 장치에 컨텐츠를 표시하는데 있어서 도 1에 나타낸 아키텍처가 동작하는 일 실시예를 도시한 흐름도이다.
도 4a 내지 도 4j는 예시적인 사용자 인터페이스 디스플레이이다.
도 5는 클라우드 컴퓨팅 아키텍처에 전개된, 도 1에 나타낸 아키텍처의 일 실시예의 블록도이다.
도 6 내지 도 10은 모바일 장치의 다양한 실시예를 나타내고 있다.
도 11은 예시적인 컴퓨팅 환경 중의 하나의 블록도이다.
도 1a 및 도 1b(이들을 함께 도 1이라 함)는 인증 및 페어링 아키텍처(100) 중의 하나의 블록도를 나타내고 있다. 아키텍처(100)는 모바일 장치(102), 기타 클라이언트 장치(104), MR 코드 관리 시스템(106)을 포함하는 일련의 웹 기반 서비스, 세션 관리 시스템(108), 및 웹 기반 원격 제어 시스템(110)을 포함하고 있다. 또한 일련의 컨텐츠 서비스(112)를 예시적으로 포함하고 있다. 도 1에 나타낸 실시예에 있어서, 모바일 장치(102)는 예시적으로 프로세서(114), 사용자 인터페이스 컴포넌트(116), 스캐닝 컴포넌트(118), 및 (모바일 장치(102)에서 동작하는 모바일 애플리케이션이 될 수 있는) 클라이언트 원격 제어 시스템(120), 또한 기타 컴포넌트(122)도 포함할 수 있다.
본 명세서에서는 MR 코드가 광학 코드이고, 이것이 스캐닝 컴포넌트(118)에 의해서 스캔되는 실시예와 관련해서 아키텍처(100)를 설명한다. 하지만, 예컨대 근거리 자기장 통신을 사용하여 제공되는 MR 코드나, 또는 소리가 들릴 수 있게 제공되고 마이크와 같은 청취 컴포넌트를 사용하여 판독 및 복호화되는 코드와 같은 다른 코드일 수도 있다. 본 명세서에서는 이들 모든 구성이 고려되었다.
원격 제어 시스템(120) 자체는, 인증 컴포넌트(124), 링크 통신 컴포넌트(126), 시각화 컴포넌트(128), 및 명령 통신 컴포넌트(130)를 포함하고 있다. 모바일 장치(102)는 예시적으로 사용자(136)에 의한 상호 작용을 위해서 사용자 입력 메커니즘(134)을 이용하여 사용자 인터페이스 디스플레이(132)를 생성한다. 이하에서 더욱 상세하게 설명하는 바와 같이, 클라이언트 장치(104)는 또한 이와 같은 사용자 인터페이스 디스플레이 및 사용자 입력 메커니즘을 생성할 수 있다.
일부 예시적인 모바일 장치들에 대해서 도 6 내지 도 10을 참조해서 더욱 상세하게 이하에서 설명하겠지만, 여기서는 설명된 인증 및 페어링 단계는 모바일 장치(102)를 참고하여 설명하기로 한다.
클라이언트 장치(104)는, 예시적으로, 프로세서(138), 사용자 인터페이스 컴포넌트(140), 데이터 저장 장치(142), 및 디스플레이 장치(144)를 포함하고 있다. 또한 이는 브라우저(146)를 포함하며, 브라우저(146) 자체는 예시적으로 렌더링 컴포넌트(148), 명령 처리 컴포넌트(150), 및 기타 컴포넌트(152)를 포함하고 있다.
컨텐츠 서비스(112)는, 예시적으로 사용자(136)가 인증 컴포넌트(154)를 사용하여 자신을 인증하고, 컨텐츠(156)를 생성하고 또한 액세스하게 하는 서비스를 제공한다. 일 실시예에 있어서, 컨텐츠(156)는 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 프리젠테이션 애플리케이션, 또는 기타 애플리케이션과 같은 일련의 정보 생산자 애플리케이션을 통해서 인증되고 액세스된다. 따라서, 컨텐츠(156)는 워드 프로세싱 문서(158), 스프레드시트(160), 프리젠테이션(162), 및 기타 컨텐츠(164)를 포함할 수 있다.
도 1은 또한, 일 실시예에 있어서, 브라우저 매칭 컴포넌트(166)를 구비하고 있는 웹 기반 원격 제어 시스템(110)을 나타내고 있다. 이 시스템은 또한 기타 컴포넌트(168)도 포함할 수 있다.
아키텍처(100)의 전체 동작에 대해서 더욱 상세하게 설명하기 전에, 먼저 도 1 및 도 1c의 간략화된 흐름도에 대한 간략한 개요를 제공한다. 사용자(136)는 예시적으로 아키텍처(100)에 자신을 인증하고, 이후에 브라우저(146)를 통해서 (데스크톱 컴퓨터, 대형 스크린 디스플레이 장치 또는 기타 장치가 될 수 있는) 클라이언트 장치(104)에 컨텐츠가 렌더링되도록 하면서 모바일 장치(102)로 이 컨텐츠를 제어할 수 있다. 이를 위해, 일 실시예에 있어서, 사용자(136)는 먼저 클라이언트 장치(104)를 사용하여 웹 기반 원격 제어 시스템(110)의 로그인 페이지를 탐색한다. 클라이언트 장치(104)는 MR 코드를 수신하고 이를 디스플레이 장치(144)에 디스플레이한다. 이는 도 1c의 블록(170)에 나타내었다. 사용자(136)는 모바일 장치(102)의 스캐닝 컴포넌트(118)를 사용하여 이 MR 코드를 스캔한다. 이는 블록(172)에 나타내었다. 이에 따라서, 웹 기반 원격 제어 시스템(110)의 브라우저 매칭 컴포넌트(166)는 브라우저(146)와 클라이언트 원격 제어 시스템(120) 사이의 접속을 수립한다. 이는 블록(174)에 나타내었다. 따라서, 클라이언트 원격 제어 시스템(120)은 컨텐츠(156)에 대한 링크를 갖는 브라우저(146)를 제공할 수 있다. 브라우저(146)는 사용자(136)가 제공한 인증 정보를 사용하여 소망의 컨텐츠(156)를 획득하고 이를 디스플레이 장치(144)에 렌더링한다. 사용자(136)는 이후에 클라이언트 원격 제어 시스템(120)을 사용하여 웹 기반 원격 제어 시스템(110)을 통해서 수립된 통신 채널을 사용하여 브라우저(146)로 명령을 제공하고, 브라우저(146)에 의해서 디스플레이 장치(144)에 렌더링되는 컨텐츠를 탐색하거나, 다르게 제어할 수 있다. 이는 도 1c의 블록(176)에 나타내었다.
도 2는, 사용자(136)가 초기에 클라이언트 원격 제어 시스템(120)과 웹 기반 원격 제어 시스템(110)에 자신을 인증하는데 있어서, 아키텍처(100)의 일 실시예의 동작을 도시한 더욱 상세한 흐름도이다. 일 실시예에 있어서, 모바일 장치(102)는 예시적으로 개인용 장치이기 때문에, 사용자(136)는 단지 한번만 자신을 로그인 또는 인증하면 된다. 이는 클라이언트 원격 제어 시스템(120)의 초기 기동 중에 수행되거나 다르게 수행될 수 있다. 따라서, 모바일 장치(102)는 초기에 사용자(136)로부터, 사용자가 클라이언트 원격 제어 시스템(120)에 액세스하고자 한다는 것을 나타내는 사용자 입력을 수신한다. 이는 도 2의 블록(180)에 나타내었다.
사용자 인터페이스 컴포넌트(116)는 이후에 사용자(136)의 인증을 위한 사용자 인터페이스 디스플레이를 생성하고, 이는 클라이언트 원격 제어 시스템(120)의 제어하에서 행해지거나 스스로 행한다. 또한, 사용자로부터 인증 정보를 수신한다. 이는 블록(182)에 나타내었다. 인증 정보는 다양한 서로 다른 형태를 취할 수 있다. 일 실시예에 있어서, 여기에는 사용자명과 패스워드(184)가 포함되어 있다. 그러나, 다른 정보(186)를 포함할 수도 있다.
클라이언트 원격 제어 시스템(120) 내의 인증 컴포넌트(124)는 이후에 사용자(136)가 입력하는 크리덴셜(credential)을 검증한다. 이는 도 2의 블록(188)에 나타내었다. 이는 사용자(136)의 크리덴셜을 검증하는 컨텐츠 서비스(112)로 또는 다른 서비스로 크리덴셜을 제공하는 것에 의해서 수행될 수 있다. 이에 응답해서, 컴포넌트(124)는 사용자(136)와 대응하는 액세스 토큰을 수신한다. 인증 컴포넌트(124)는 이후에 예시적으로 일단 크리덴셜이 확인된다면 사용자(136)용 액세스 토큰(190)을 저장한다.
도 3a 및 도 3b(이들을 함께 도 3이라 함)는, 사용자(136)가 웹 기반 원격 제어 시스템(110)을 통해서, 클라이언트 원격 제어 시스템(120)과 클라이언트 장치(104)의 브라우저(146) 사이에 통신 채널을 수립하는데 있어서, 아키텍처(100)의 일 실시예의 동작을 도시한 흐름도이다. 브라우저(146)는 먼저 클라이언트 장치(104) 상의 사용자 입력을 수신하여 웹 기반 서비스(110)를 검색함으로써 클라이언트 원격 제어 시스템(120)에 접속한다. 이는 도 3의 흐름도에서 블록(200)에 나타내었다. 웹 기반 원격 제어 시스템(110)은 이후에 아키텍처(100) 내의 다양한 세션을 관리하는 세션 관리 시스템(108)에 액세스한다. 시스템(108)은 고유 세션 식별자(세션 ID)를 갖는 웹 기반 원격 제어 시스템(110)을 제공한다. 이는 블록(202)에 나타내었다. 웹 기반 원격 제어 시스템(110)은 또한 MR 코드 관리 시스템(106)에 액세스하여 시스템(106)으로부터 획득한 세션 ID를 부호화한다. 이는 도 3의 블록(204)에 나타내었다.
사용자가 모바일 장치(102)의 클라이언트 원격 제어 시스템(120)을 아직 기동하지 않았다면, 모바일 장치(102)는 사용자 입력을 수신하여 클라이언트 원격 제어 시스템(120)을 기동한다. 이는 도 3의 블록(206)에 나타내었다. 이는 사용자가 로그인 정보(208)를 제공하는 것에 의해서, 또는 기타 방식(210)에 의해서 수행될 수 있다.
어느 시점에서, 웹 기반 원격 제어 시스템(110)은 세션 ID가 부호화된 MR 코드를 브라우저(146)에 디스플레이한다. 이 디스플레이는 예시적으로 클라이언트 장치(104)의 디스플레이 장치(144)에 생성된다. 이는 도 3의 블록(212)에 나타내었다. 도 3c는 이를 나타내고 있는 예시적인 사용자 인터페이스 디스플레이의 하나를 나타내고 있다. 도 3c에서 디스플레이(214)는 예시적으로 디스플레이 장치(144)의 브라우저(146)에 디스플레이되어 있다. 여기에는 하부 애플리케이션에 따라서 다양한 디스플레이 구성 요소가 포함될 수 있다. 또한 예시적으로 MR 코드(216)(도 3c에서 나타낸 실시예에서는 QR 코드로 구현됨)의 디스플레이를 포함하고 있다.
사용자(136)는 이후에 디스플레이 장치(144)에 상대적인 위치로 모바일 장치(102)를 조정하여, 사용자(136)는 모바일 장치(102)의 스캐닝 컴포넌트(118)를 작동시켜서 디스플레이 장치(146)에 디스플레이된 QR 코드를 스캔할 수 있도록 한다. 이는 도 3의 흐름도에서 블록(218)에 나타내었다.
모바일 장치(102)는 이후에 QR 코드를 복호화하여 이 QR 코드 내에 부호화된 세션 ID를 획득한다. 이는 도 3의 블록(220)에 나타내었다. 모바일 장치(102)는 이후에 사용자의 인증 토큰과 함께 복호화된 세션 ID를 세션 관리 시스템(108)으로 송신한다. 이는 도 3의 블록(222)에 나타내었다.
(아키텍처(100) 내의 다양한 세션을 관리하는) 세션 관리 시스템(108)은 이 세션 ID 및 특정 세션 ID에 대한 사용자 토큰을 웹 기반 원격 제어 시스템(110)으로 송신한다. 이는 도 3의 블록(224)에 나타내었다. 이에 응답해서, 웹 기반 원격 제어 시스템은 세션 ID를 인증한다. 이는 도 3의 블록(226)에 나타내었다. 이렇게 함으로써, 브라우저 매칭 컴포넌트(166)는 예시적으로 브라우저(146)와 클라이언트 원격 제어 시스템(120)을 매칭하게 된다. 이는 블록(228)에 나타내었다. 또한 예시적으로 웹 기반 원격 제어 시스템(110)을 통해서 브라우저(146)와 클라이언트 원격 제어 시스템(120) 사이의 신뢰되는 데이터 전송 채널을 설정한다. 이는 블록(230)에 나타내었다. 브라우저(146)와 모바일 장치(102)의 클라이언트 원격 제어 시스템(120)은 모두 웹 기반 원격 제어 시스템(110)과의 접속이 설정된다. 일 실시예에 있어서, 이들은 소켓 접속을 구축하여 신뢰되는 데이터 전송 채널을 획득한다. 이는 도 3의 블록(232)에 나타내었다.
웹 기반 원격 제어 시스템(110)은 이후에 사용자 토큰을 브라우저(146)로 전달하고, 이에 의해서 브라우저(146)는 이를 사용하여 사용자 컨텐츠(156)에 대한 액세스를 획득한다. 이는 도 3의 흐름도에서 블록(234)에 나타내었다. 인증은 다른 방식으로도 수행될 수 있으며, 이는 블록(236)에 나타내었다.
도 3에서의 블록(222 내지 236)의 처리 중에, 모바일 장치(102)와 클라이언트 장치(104)의 사용자 인터페이스 컴포넌트(116 및 140)는 로그인 절차가 진행 중임을 나타내는 디스플레이를 생성할 수 있다. 도 3d는 이 방식의 일 실시예를 나타낸다. 사용자 인터페이스 디스플레이(238)는 예시적인 디스플레이로서, 클라이언트 장치(104)의 디스플레이 장치(144)에 생성될 수 있으며, 사용자 인터페이스 디스플레이(240)는 디스플레이의 일 예시로서, 모바일 장치(102)의 디스플레이 장치에 생성될 수 있다.
일단 브라우저(146)와 클라이언트 원격 제어 시스템(120) 사이에서 접속이 수립되면, 매칭된 브라우저를 사용하여 사용자가 원격 제어 조작을 수행할 수 있다. 이는 도 3의 블록(242)에 나타내었다. 예를 들어서, 링크 통신 컴포넌트(126)는 컨텐츠(156)에 대한 링크를 브라우저(146)의 렌더링 컴포넌트(148)로 송신할 수 있다. 이는 브라우저(146)로 하여금 원하는 컨텐츠에 액세스할 수 있도록 한다. 이는 도 3의 블록(244)에 나타내었다. 렌더링 컴포넌트(148)는 이후에 클라이언트 장치(104)의 디스플레이 장치(144)에 컨텐츠를 오픈할 수 있다. 이는 도 3의 블록(246)에 나타내었다. 명령 통신 컴포넌트(130)는 또한 (웹 기반 원격 제어 시스템(110)을 통해서 설정된 데이터 전송 채널을 재차 사용하여) 브라우저(146)의 명령 처리 컴포넌트(150)로 명령을 송신할 수 있다. 이는 도 3의 블록(248)에 나타내었다. 렌더링 컴포넌트(148)는 이후에 모바일 장치(102)의 명령 통신 컴포넌트(130)로부터 수신된 명령에 기초하여, 프리젠테이션 중인 컨텐츠에 대해 프리젠테이션 명령을 수행할 수 있다. 이는 블록(250)에 나타내었다. 시스템은 다른 방식으로도 사용될 수 있으며, 이는 블록(252)에 나타내었다.
도 4는 클라이언트 장치(104)의 디스플레이 장치(144)에 사용자(136)가 어떻게 모바일 장치(102)를 사용하여 컨텐츠를 제공할 수 있는 지를 도시한 일 실시예의 흐름도이다. 도 4a 내지 도 4j는 예시적인 사용자 인터페이스 디스플레이이다. 도 4 내지 도 4j에 대해서 서로 관련하여 설명하기로 한다.
도 4와 관련하여, 모바일 장치(102)(및 구체적으로는 모바일 장치(102)의 클라이언트 원격 제어 시스템(120))와 브라우저(146) 사이의 통신 채널은 웹 기반 원격 제어 시스템(110)을 통해서 이미 수립되어 있다고 가정한다. 이는 도 4의 블록(260)에 나타내었다. 모바일 장치(102)의 시각화 컴포넌트(128)는 이후에 사용자가 컨텐츠를 선택하도록 모바일 장치(102)에 사용자 인터페이스 디스플레이를 생성한다. 이는 도 4의 블록(262)에 나타내었다.
도 4a는 일련의 사용자 인터페이스 디스플레이를 나타내고 있다. 사용자 인터페이스 디스플레이(264)는 브라우저(146)에 의해서 클라이언트 장치(104)의 디스플레이 장치(144)에 디스플레이된다. 디스플레이(266)는 시각화 컴포넌트(128)에 의해서 모바일 장치(102)의 디스플레이 장치에 디스플레이된다. 도 4a에 나타낸 실시예에 있어서, 디스플레이(266)는 날짜 순으로 표시된 가장 최근에 사용된 아이템의 리스트(268)를 나타내고 있다. 리스트 중의 각각의 아이템은 예시적으로 대응하는 컨텐츠를 탐색하는데 사용될 수 있는 사용자 작동 링크이다.
도 4b는 도 4a와 유사한 도면이며, 같은 구성 요소에는 같은 도면 부호를 붙였다. 그러나, 도 4b는 사용자가 "2013 개요(Overview)"라고 명명된 슬라이드 프리젠테이션인 하부 컨텐츠에 대응하는 링크(270)를 작동하는 것을 나타내고 있다.
하부 컨텐츠에 대응하는 링크 중의 하나를 모바일 장치(102)에서 사용자가 작동하는 것에 응답해서, 클라이언트 원격 제어 시스템(120)의 링크 통신 컴포넌트(126)는 이 (선택된 컨텐츠에 대한) 링크를 웹 기반 원격 제어 시스템(110)을 통해서 수립된 신뢰 통신 채널을 사용하여 브라우저(146)로 송신한다. 이는 도 4의 블록(272)에 나타내었다. 링크를 수신하게 되면, 브라우저(146)는 이 링크와 사용자 토큰을 사용하여 특정 페이지로 리다이렉트하여 선택된 컨텐츠에 액세스한다.
예시로서, 도 4의 설명에서 사용자에 의해서 작동되는 "2013 개요"라고 명명된 슬라이드 프리젠테이션이 컨텐츠(156)의 프리젠테이션(162)에 위치해 있는 경우를 가정해 보기로 한다. 브라우저(146)는 사용자 토큰, 및 링크를 사용하여 컨텐츠(156)로부터의 프리젠테이션에 액세스한다. 이는 도 4의 흐름도에서 블록(274)에 나타내었다.
이 동작이 일어나는 중에, 브라우저(146)와 시각화 컴포넌트(128)는 디스플레이 장치(144)와 모바일 장치(102)의 각각에 이 동작을 나타내는 사용자 인터페이스 디스플레이를 생성할 수 있다. 도 4c는 예시적인 일련의 사용자 인터페이스 디스플레이(264 및 266) 중의 하나를 나타내고 있다.
일단 브라우저(146)가 컨텐츠에 액세스하면 브라우저(146)의 렌더링 컴포넌트(148)는 클라이언트 장치(104)의 디스플레이 장치(144)에 이 컨텐츠를 렌더링한다. 선택된 컨텐츠를 QR 코드가 디스플레이되는 장치의 브라우저에 렌더링하는 것은 도 4의 블록(276)에 나타내었다. 도 4d는 이를 나타내는 예시적인 일련의 사용자 인터페이스 중의 하나를 나타내고 있다.
클라이언트 장치(104)의 사용자 인터페이스 디스플레이(264)는, 브라우저(146)가 프리젠테이션이 존재하는 애플리케이션을 오픈했고, 프리젠테이션의 첫번째 슬라이드가 디스플레이되고 있음을 나타내고 있다. 모바일 장치(102)의 시각화 컴포넌트(128)는, 사용자 입력 메커니즘(278)을 포함하고 있고, 사용자로 하여금 프리젠테이션 모드에 들어가도록 하여 사용자가 사용자 인터페이스 디스플레이(264)의 슬라이드 프리젠테이션을 제공할 수 있도록 하는 디스플레이(266)를 생성한다. 디스플레이(266)는 또한 사용자로 하여금 어떻게 가장 최근에 사용한 아이템 리스트로 되돌아와서 사용자 인터페이스 디스플레이(264)에 디스플레이할 다른 아이템을 선택하는 방법에 대한 인스트럭션을 포함하고 있다. 따라서, 클라이언트 장치(104)의 사용자 인터페이스 디스플레이(264)가 선택된 컨텐츠를 디스플레이하는 중에, 모바일 장치(102)의 사용자 인터페이스 디스플레이(266)는 사용자 인터페이스 디스플레이(264)에 렌더링된 컨텐츠를 제어하는 명령을 입력하도록 하는 창을 디스플레이함을 알 수 있다. 모바일 장치(102)의 제어창에 디스플레이하는 것은 도 4의 흐름도에서 블록(280)에 나타내었다.
모바일 장치(102)에 디스플레이된 창은 매우 다양한 서로 다른 명령을 수행하기 위한 매우 다양한 서로 다른 사용자 입력 메커니즘을 포함할 수 있다. 예를 들어서, 사용자 입력 메커니즘은 사용자로 하여금 클라이언트 장치(104)의 사용자 인터페이스 디스플레이(264)에 디스플레이되고 있는 선택된 컨텐츠를 탐색할 수 있도록 하는 탐색용 입력 메커니즘일 수 있다. 이는 도 4의 블록(282)에 나타내었다. 또한 이 메커니즘은 선택된 컨텐츠에 대해서 사용자가 프리젠테이션 명령(예컨대, 이전, 다음, 건너뛰기, 프리젠테이션 모드로 들어가는 등과 같은)을 용이하게 제공할 수 있는 프리젠테이션 명령용 사용자 입력 메커니즘을 포함할 수 있다. 이는 블록(284)에 나타내었다. 당연히 명령창은 매우 다양한 종류의 기타 명령을 포함할 수 있으며, 또한 이는 블록(286)에 나타내었다.
또한, 본 명세서에서 명령 및 탐색 입력이 디스플레이된 창을 통해서 제공되는 예에 대해서 설명하였지만, 이들은 다른 방식으로도 제공될 수 있다. 예를 들어서, 조작자가 장치(102)를 흔들어서, 장치에 탭(tap)하여, 장치를 가상 레이저 포인터로서 사용하거나 장치(102)의 가속도계 또는 다른 센서에 의해서 감지될 수 있는 다른 입력을 제공하는 것에 의해서 명령 및 탐색 입력이 제공될 수 있다.
사용자가 모바일 장치(102)에 명령을 입력하는 것에 의해서 컨텐츠를 제어함에 따라서, 모바일 장치(102)의 시각화 컴포넌트(128)는 이들 입력을 수신하고 명령 통신 컴포넌트(130)는 이들 명령을 웹 기반 원격 제어 시스템(110)을 통해서 수립된 통신 채널을 사용하여 브라우저(146)의 명령 처리 컴포넌트(150)로 전송한다. 이는 블록(288)에 나타내었다. 이에 응답해서, 브라우저(146)는 이들 명령에 반응하여, 선택된 컨텐츠를 원하는 방식으로 렌더링한다.
도 4e 내지 도 4j는, 다수의 상이한 사용자 인터페이스 디스플레이가 이를 나타내고 있는 것을 도시하고 있다. 도 4e는 도 4d와 유사하지만, 사용자가 모바일 장치(102)의 사용자 인터페이스 디스플레이(266)의 사용자 입력 메커니즘(278)을 작동하고 있다는 점이 상이하다. 이는 사용자가 클라이언트 장치(104)의 사용자 인터페이스 디스플레이(264)에 나타낸 선택된 컨텐츠에 대해서 프리젠테이션 모드로 들어가고자 한다는 것을 나타내고 있다.
이에 응답해서, 브라우저(146)의 명령 처리 컴포넌트(150)는 이 명령을 처리하여 선택된 컨텐츠가 프리젠테이션 모드에서 렌더링될 수 있도록 한다. 도 4f는 이를 나타내고 있는 예시적인 일련의 사용자 인터페이스 디스플레이 중의 하나를 나타내고 있다. 도 4f는 클라이언트 장치(104)의 사용자 인터페이스 디스플레이(264)가 이제 프리젠테이션 모드에 들어갔음을 나타내고 있으며, 여기에서 슬라이드는 실질적으로 전체 디스플레이 창을 차지하고 있다. 또한 도 4f는 지금 모바일 장치(102)의 시각화 컴포넌트(128)가, 사용자로 하여금 브라우저(146)로 프리젠테이션 명령을 송신하여 사용자 인터페이스 디스플레이(264)의 선택된 컨텐츠의 프리젠테이션을 제어하도록 하는 제어창이 디스플레이되고 있음을 나타내고 있다. 예를 들어서, 모바일 장치(102)의 사용자 인터페이스 디스플레이(166)는 사용자로 하여금 클라이언트 장치(104)에 디스플레이되는 선택된 컨텐츠의 다양한 슬라이드에 대해서 다음으로 또는 이전으로 또는 건너뛰기를 행하도록 하는 명령 버튼을 포함하고 있다.
도 4g는, 슬라이드 프리젠테이션 대신에, 사용자가 워드 프로세싱 문서를 선택한 경우에 생성될 수 있는 다른 예시적인 일련의 사용자 인터페이스 디스플레이를 나타내고 있다. 도 4g는 도 4d와 유사하지만, 브라우저(146)에 의해서 클라이언트 장치(104)에 생성되는 사용자 인터페이스 디스플레이(264)가 이제 워드 프로세싱 문서를 오픈하고 있다는 점이 상이하다. 마찬가지로, 모바일 장치(102)의 사용자 인터페이스 디스플레이(166)는 사용자 입력 메커니즘(278)을 가지고 있지만, 슬라이드 프리젠테이션에 대한 프리젠테이션 모드에 들어간다는 것을 나타내는 것 대신에, 이제는, 작동되는 경우에, 워드 프로세싱 문서에 대한 프리젠테이션 모드에 들어갈 것임을 나타내고 있다.
도 4h는 도 4g와 유사하지만, 사용자가 이제 사용자 입력 메커니즘(278)을 작동시키고, 브라우저(146) 내에 오픈되는 워드 프로세싱 문서를 표시하고자 한다는 것을 나타낸다는 점에서 상이하다. 이에 응답해서, 모바일 장치(102)의 명령 통신 컴포넌트(130)는 이 명령을 웹 기반 원격 제어 시스템(110)을 통해서 수립된 보호된 통신 채널을 통하여 브라우저(146)의 명령 처리 컴포넌트(150)로 송신한다. 따라서 브라우저(146)는 워드 프로세싱 문서를 위한 프리젠테이션 모드에 들어가게 된다.
도 4i는 이를 나타내고 있는 예시적인 일련의 사용자 인터페이스 디스플레이 중의 하나를 나타내고 있다. 도 4i로부터 브라우저(146)의 렌더링 컴포넌트(148)가 바로 지금 프리젠테이션 모드에 있는 워드 프로세싱 문서를 렌더링하고 있음을 볼 수 있다. 도 4i로부터 또한 모바일 장치(102)의 시각화 컴포넌트(128)가 모바일 장치(102)의 사용자 인터페이스 디스플레이(266)에 명령창을 지금 렌더링한 것을 볼 수 있으며, 이에 따라서 사용자는 탐색 명령을 제공하여 클라이언트 장치(104)의 브라우저(146)에 디스플레이된 워드 프로세싱 문서를 탐색할 수 있다.
도 4j는 일련의 다른 사용자 인터페이스 디스플레이를 나타내고 있다. 도면에는, 사용자가 스프레드시트 문서를 선택하였음이 도시되어 있다. 따라서 브라우저(146)가 스프레드시트 문서에 액세스하여 클라이언트 장치(104)의 사용자 인터페이스 디스플레이(264)에 이를 오픈했다는 것을 알 수 있다. 마찬가지로, 모바일 장치(102)의 시각화 컴포넌트(128)가 제어창(266)을 생성하였으며 이는 사용자로 하여금 (사용자 입력 메커니즘(278)을 작동하는 것에 의해서) 스프레드시트로의 탐색을 제어하기 위한 제어 모드에 들어가도록 하거나 가장 최근에 사용한 리스트(또는 다른 창)로 돌아가서 다른 컨텐츠 아이템을 선택하도록 할 수 있다.
따라서 본 발명의 아키텍처는 이미 로그인된 장치(예컨대, 모바일 폰 애플리케이션)를 사용하여 다른 장치에 로그인할 때 신원 식별 소스로 사용할 수 있는 기능을 제공함을 알 수 있다. 또한 전화와 다른 컴퓨팅 장치의 다른 스크린과 페어링하여 이들이 신뢰되는 방식으로 통신할 수 있도록 하는 기능도 제공한다. 이는 통상적인 코드 매칭 기법이 요구하는 단계를 감소시키며, 또한 사용자가 개인 식별 번호를 입력하도록 하는 시스템에 대한 입력 요구량도 감소시킨다. 이들 장치 중의 하나는 단순히 MR 코드를 디스플레이하며, 다른 장치는 이를 스캔하고, 또한 제 3 자는 이들 둘 사이에서의 통신 채널을 생성한다. 또한, 예시적으로, 선택된 컨텐츠에 대한 링크를 이 선택된 컨텐츠를 다운로드하고 이를 프리젠테이션하기 시작하여, 이를 원격으로 렌더링하는 리스닝 서비스(예컨대, 브라우저 윈도)로 송신하는 기능을 제공하고 있다. 이후에 상대적으로 간단한 명령만을 렌더링하고 있는 컴퓨팅 장치로 송신하는 것에 의해서 모바일 장치에 의해서 프리젠테이션이 제어될 수 있다. 또한, 모바일 장치에서 문서를 선택할 수 있는 기능을 제공하고 또한 페어링된 스크린에 이 문서가 오픈되도록 할 수 있다. 모바일 장치로부터 페어링된 스크린을 사용하고 있는 장치로 문서를 직접 업로드하는 것이 아니라, 단지 선택된 컨텐츠에 대한 링크를 전달하며, 이후에 페어링된 스크린 장치가 이 링크를 사용하여 선택된 컨텐츠에 액세스하게 된다.
현재까지 프로세서 및 서버에 대해서 설명하였다. 일 실시예에 있어서, 프로세서 및 서버는 별도로 도시하지 않은 연관된 메모리 및 타이밍 회로를 갖춘 컴퓨터 프로세서를 포함하고 있다. 이들은 시스템 또는 장치의 기능 부품에 속하며, 또한 이들 시스템의 다른 컴포넌트 또는 아이템의 기능에 의해서 활성화되고, 또한 이들 기능을 가능하게 한다.
또한, 다수의 사용자 인터페이스 디스플레이에 대해서도 설명하였다. 이들은 매우 다양한 서로 다른 형태를 취할 수 있으며, 또한 그 표면에 배치되는 매우 다양한 서로 다른 사용자 작동 가능 입력 메커니즘을 가질 수 있다. 예를 들어서, 사용자 작동 가능 입력 메커니즘은 텍스트 박스, 체크 박스, 아이콘, 링크, 드롭 다운 메뉴, 서치 박스 등일 수 있다. 이들은 또한 다양한 서로 다른 방식으로 작동될 수 있다. 예를 들어서, 이들은 포인트 앤 클릭 장치(point and click device)(예컨대 트랙 볼 또는 마우스)를 사용하여 작동될 수 있다. 이들은 하드웨어 버튼, 스위치, 조이스틱 또는 키보드, 엄지 손가락 조작 스위치 또는 엄지 손가락 조작 패드 등을 사용하여 작동될 수도 있다. 이들은 또한 가상 키보드 또는 기타 가상 액추에이터를 사용하여 작동될 수 있다. 또한, 이들이 디스플레이되는 스크린이 터치 감지식 스크린인 경우, 이들은 터치 제스처를 사용하여 작동될 수 있다. 또한, 이들을 디스플레이하는 장치가 음성 인식 컴포넌트를 가지고 있는 경우라면, 이들은 음성 명령을 사용하여 작동될 수 있다.
또한, 다수의 데이터 저장 장치에 대해서도 설명하였다. 이들은 각각 복수의 데이터 저장 장치로 분할될 수 있음을 알아야 한다. 이들 모두는 이들에 액세스하는 시스템에 대해서 로컬(local)일 수 있고, 모두 원격(remote)일 수도 있고, 또한 일부는 로컬이고 나머지는 원격일 수도 있다. 본 명세서에서는 이들 모든 구성이 고려되었다.
또한, 도면에는 각각의 블록에 속하는 기능을 갖는 다수의 블록을 나타내었다. 더 적은 수의 블록을 사용하면 더 적은 수의 컴포넌트에 의해서 이들 기능이 수행됨을 알아야 한다. 또한, 더 많은 수의 컴포넌트 중에 분산된 기능을 사용하여 더 많은 수의 블록을 사용할 수도 있다.
도 5는 도 1에 나타낸 아키텍처(100)의 블록도로, 구성 요소가 클라우드 컴퓨팅 아키텍처(500)에 배치되어 있다는 점이 상이하다. 클라우드 컴퓨팅은 서비스를 제공하는 시스템의 물리적인 위치 또는 구성에 대해서 최종 사용자가 알 필요가 없는 컴퓨터 사용, 소프트웨어, 데이터 액세스, 및 저장 장치 서비스를 제공한다. 다양한 실시예에 있어서, 클라우드 컴퓨팅은 적절한 프로토콜을 사용하여 인터넷과 같은 광역 네트워크를 통해서 서비스를 제공한다. 예를 들어서, 클라우드 컴퓨팅 제공자는 광역 네트워크를 통해서 애플리케이션을 제공하고 또한 이들 애플리케이션은 웹 브라우저 또는 임의의 다른 컴퓨팅 컴포넌트를 통해서 액세스될 수 있다. 아키텍처(100)의 소프트웨어 또는 컴포넌트는 대응하는 데이터와 함께 원격지의 서버에 저장될 수 있다. 클라우드 컴퓨팅 환경에서의 컴퓨팅 리소스는 원격 데이터 센터 위치에 통합되어 있거나 분산되어 있을 수 있다. 클라우드 컴퓨팅의 인프라는 사용자에게는 단일 지점에서 액세스하는 것으로 보일 수 있음에도 공유 데이터 센터를 통해서 서비스를 제공할 수 있다. 따라서, 본 명세서에서 설명한 컴포넌트 및 기능은 클라우드 컴퓨팅 아키텍처를 사용하여 원격지에서 서비스 제공자로부터 제공될 수 있다. 다르게는, 통상의 서버로부터 제공되거나, 또는 클라이언트 장치에 직접 또는 다른 방식으로 설치될 수 있다.
본 발명의 설명은 공용 클라우드 컴퓨팅 및 사설 클라우드 컴퓨팅을 모두 포함하도록 의도되었다. 클라우드 컴퓨팅은 (공용 또는 사설 모두) 실질적으로 끊김없는 리소스의 통합을 제공하며, 이 뿐만 아니라 하부 하드웨어 인프라의 관리 및 설정에 대한 요구를 감소시킨다.
공용 클라우드는 벤더에 의해서 관리되며, 전형적으로 동일한 인프라를 사용하여 복수의 고객을 지원한다. 또한, 공용 클라우드는, 사설 클라우드와는 반대로, 하드웨어를 관리하는 것으로부터 최종 사용자를 해방시킬 수 있다. 사실 클라우드는 기관 자체적으로 관리될 수 있으며, 그 인프라는 전형적으로 다른 기관과 공유되지 않는다. 하지만, 기관은 하드웨어를, 예컨대 설치 및 수리 등과 같은 일정 수준까지 유지 보수하고 있다.
도 5에 나타낸 실시예에 있어서, 일부 구성 요소는 도 1에 나타낸 것들과 동일하며 동일한 도면 부호를 첨부하였다. 도 5는 구체적으로 시스템(106, 108, 및 110)이 (공용 또는 사설 또는 일부는 공용이고 나머지는 사설일 수 있는) 클라우드(502) 내에 위치할 수 있음을 나타내고 있다. 따라서, 사용자(136)는 클라이언트 장치(104)를 사용하여 클라우드(502)를 통해서 이들 시스템에 액세스하게 된다.
도 5 또한 클라우드 아키텍처의 다른 실시예를 도시하고 있다. 도 4는 아키텍처(100)의 일부 구성 요소가 클라우드(502) 내에 배치될 수 있고 일부는 그러하지 않은 것을 고려한 것을 나타내고 있다. 예시로서, 컨텐츠(156)는 클라우드(502)의 외부에 위치하고, 또한 클라우드(502)를 통해서 액세스될 수 있다. 다른 실시예에 있어서, 시스템(110) 또한 클라우드(502)의 외부에 배치될 수 있다. 어디에 위치해 있는 가와는 무관하게, 이들은 (광역 통신망 또는 근거리 통신망 중의 하나인) 네트워크를 통해서 장치(140)에 의해서 직접 액세스되거나, 서비스에 의해서 원격지에서 호스팅되거나, 또는 클라우드를 통해서 서비스로서 제공되거나 클라우드에 존재하는 접속 서비스에 의해서 액세스될 수 있다. 본 명세서에서는 이들 모든 아키텍처가 고려되었다.
또한 아키텍처(100) 또는 그 일부는 매우 다양한 서로 다른 장치에 배치될 수 있음을 알아야 한다. 이들 장치 중의 일부에는 서버, 데스크톱 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 또는 팜탑 컴퓨터, 무선 전화, 스마트 폰, 멀티미디어 플레이어, 휴대용 개인 정보 단말기(PDA) 등과 같은 기타 모바일 장치가 포함된다.
도 6은 사용자 또는 클라이언트의 휴대용 장치(16)로서 사용될 수 있는 휴대용 또는 모바일 컴퓨팅 장치의 예시적인 일 실시예의 간략화된 블록도이며, 여기에서 본 발명의 시스템(또는 그 일부)이 전개될 수 있다. 도 7 내지 도 10은 휴대용 또는 모바일 장치의 예시이다.
도 6은 아키텍처(100)의 컴포넌트를 구동하거나 아키텍처와 상호 작용하거나, 이들 모두를 행할 수 있는 클라이언트 장치(16)의 컴포넌트에 대한 범용 블록도를 제공한다. 장치(16)에 있어서, 휴대용 장치가 다른 컴퓨팅 장치와 통신할 수 있도록 하고 또한 일부 실시예에서, 예컨대 스캐닝에 의해서 정보를 자동으로 수신하기 위한 채널을 제공하는 통신 링크(13)가 제공된다. 통신 링크(13)의 예시에는 적외선 포트, 시리얼/USB 포트, 이더넷(Ethernet) 포트와 같은 케이블 네트워크 포트, 및 네트워크로 무선 전화 액세스를 제공하는 무선 서비스인 일반 패킷 무선망 서비스(GPRS, General Packet Radio Service), LTE, HSPA, HSPA+ 및 기타 3G 및 4G 무선 프로토콜, 1Xrtt, 및 단문 메시지 서비스를 포함할 뿐만 아니라 네트워크로의 근거리 무선 접속을 제공하는 802.11 및 802.11b (Wi-Fi) 프로토콜, 및 블루투스 프로토콜을 포함하는 하나 이상의 통신 프로토콜을 통해서 통신할 수 있는 무선 네트워크 포트가 포함된다.
다른 실시예에서는, 애플리케이션은 SD 카드 인터페이스(15)에 접속된 탈착 가능한 시큐어 디지털(SD) 카드에 전달된다. SD 카드 인터페이스(15)와 통신 링크(13)는 메모리(21) 및 입출력(I/O) 컴포넌트(23)에도 접속되고, 뿐만 아니라 클록(25) 및 위치 정보 시스템(27)에도 접속된 버스(19)를 따라서 프로세서(17)(도 1로부터 프로세서(124, 186, 또는 190)로 구현될 수 있음)와 통신한다.
I/O 컴포넌트(23)는, 일 실시예에 있어서, 입력 및 출력 동작을 용이하게 하도록 제공된다. 다양한 실시예의 장치(16)에 대한 I/O 컴포넌트(23)는 버튼, 터치 센서, 멀티 터치 센서, 광학 또는 비디오 센서, 음성 센서, 터치 스크린, 근접 센서, 마이크, 경사 센서, 및 중력 스위치와 같은 입력 컴포넌트와 디스플레이 장치, 스피커, 및/또는 프린터 포트와 같은 출력 컴포넌트를 포함할 수 있다. 기타 I/O 컴포넌트(23) 또한 사용될 수 있다.
클록(25)은 예시적으로 시각 및 날짜를 출력하는 실시간 클록 컴포넌트를 포함하고 있다. 이는, 예시적으로, 프로세서(17)에 대한 시간 함수를 제공할 수 있다.
위치 정보 시스템(27)은 예시적으로 현재 장치(16)의 지리적 위치를 출력하는 컴포넌트를 포함하고 있다. 여기에는, 예를 들어서, 전지구 위치 정보 시스템(GPS) 수신기, LORAN 시스템, 추측 항법 시스템, 휴대 전화 이용 삼각 측량 시스템 또는 기타 위치 정보 시스템이 포함될 수 있다. 여기에는 또한, 예를 들면, 원하는 지도(map), 탐색 경로, 및 기타 지리 관련 기능을 생성하는 지도 소프트웨어 또는 탐색 소프트웨어가 포함될 수 있다.
메모리(21)는 운영 체제(29), 네트워크 세팅(31), 애플리케이션(33), 애플리케이션 설정 세팅(35), 데이터 저장 장치(37), 통신 드라이버(39), 및 통신 설정 세팅(41)을 저장하고 있다. 메모리(21)는 모든 타입의 유형의(tangible) 휘발성 및 비휘발성의 컴퓨터 판독 가능 메모리 장치를 포함할 수 있다. 메모리는 또한 컴퓨터 저장 매체(후술함)를 포함할 수 있다. 메모리(21)는 컴퓨터 판독 가능 인스트럭션을 저장하고 있으며, 이는 프로세서(17)에 의해서 실행될 때 프로세서로 하여금 인스트럭션에 따라서 컴퓨터 구현 단계 또는 기능을 실행하도록 한다. 프로세서(17)는 기타 컴포넌트에 의해서 활성화되어 그 기능이 가능하게 될 수도 있다.
네트워크 세팅(31)의 예시에는 프록시 정보, 인터넷 접속 정소, 및 매핑(mapping)과 같은 것들이 포함된다. 애플리케이션 설정 세팅(35)은 특정 기업 또는 사용자를 위해서 애플리케이션을 맞춤 설정한 세팅을 포함하고 있다. 통신 설정 세팅(41)은 다른 컴퓨터와의 통신을 위한 파라미터를 제공하며, 또한 GPRS 파라미터, SMS 파라미터, 접속 사용자 이름과 패스워드와 같은 아이템을 포함하고 있다.
애플리케이션(33)은 운영 체제(29)의 일부이거나 장치(16) 외부에서 동작될 수도 있지만, 장치(16)에 이미 저장된 애플리케이션이거나, 사용 중에 설치되는 애플리케이션일 수 있다.
도 7은 장치(16)가 태블릿 컴퓨터(600)인 일 실시예를 나타내고 있다. 컴퓨터(600)는 이전의 도면으로부터 클라이언트 장치(104) 또는 모바일 장치(102) 중의 하나를 포함할 수 있다. 도 7에 있어서, 컴퓨터(600)는 디스플레이 스크린(602)의 사용자 인터페이스 디스플레이를 구비하고 있는 것으로 나타내어져 있다. 스크린(602)은 터치 스크린(따라서 사용자 손가락의 핑거 제스처를 사용하여 애플리케이션과 상호 작용할 수 있음) 또는 펜(pen)이나 스타일러스(stylus)로부터 입력을 수신하는 펜 사용 가능 인터페이스일 수 있다. 또한 스크린에 표시되는 가상 키보드를 사용할 수 있다. 당연하게도, 예를 들어서, 무선 링크 또는 USB 포트와 같은 적절한 부착 메커니즘을 통해서 키보드 또는 기타 사용자 입력 장치에 부착될 수도 있다. 컴퓨터(600)는 또한 예시적으로 음성 입력도 수신할 수 있다.
도 8 및 도 9는, 다른 것도 사용할 수 있지만, 사용할 수 있는 추가적인 예시적 장치(16)를 제공한다. 도 8에 있어서, 피처 폰, 스마트 폰 또는 모바일 폰(45)이 장치(16)로서 제공된다. 폰(45)은 전화 번호를 누르기 위한 일련의 키 패드(47), 애플리케이션 이미지, 아이콘, 웹 페이지, 사진, 및 비디오를 포함하는 이미지를 디스플레이할 수 있는 디스플레이(49), 및 디스플레이에 나타낸 항목을 선택하기 위한 제어 버튼(51)을 포함하고 있다. 폰은 일반 패킷 무선망 서비스(GPRS, General Packet Radio Service) 및 1Xrtt, 및 단문 메시지 서비스(SMS) 신호와 같은 무선 전화 신호를 수신하기 위한 안테나(53)를 포함하고 있다. 일부 실시예에 있어서, 폰(45)은 또한 SD 카드(57)를 수용하는 시큐어 디지털(SD, Secure Digital) 카드 슬롯(55)을 포함하고 있다.
도 9의 모바일 장치는 휴대용 개인 정보 단말기(PDA)(59) 또는 멀티미디어 플레이어 또는 태블릿 컴퓨팅 장치 등(이하에서는, PDA(59)로 지칭함)이다. PDA(59)는 스타일러스(63)가 스크린 위에 위치할 때 이 스타일러스(또는 다른 포인터, 예컨대 사용자의 손가락)의 위치를 감지하는 유도형(inductive) 스크린(61)을 포함하고 있다. 이를 통해서 사용자는, 스크린 상에서 아이템을 선택하고, 강조하고, 또한 이동시킬 수 있도록 할 뿐만 아니라 그림을 그리고 글씨를 쓸 수 있다. PDA(59)는 또한 다수의 사용자 입력용 키 또는 버튼(예컨대, 버튼(65))을 포함하고 있으며, 이들은 사용자로 하여금 디스플레이(61)에 디스플레이되는 메뉴 옵션 또는 기타 디스플레이 옵션을 스크롤하도록 하고, 또한 사용자로 하여금 디스플레이(61)에 접촉하지 않고도 애플리케이션을 변경하거나 사용자 입력 기능을 선택하도록 한다. 도시하지는 않았지만, PDA(59)는 다른 컴퓨터와 무선 통신을 가능하게 하는 내부 안테나와 적외선 송/수신기 뿐만 아니라 다른 컴퓨팅 장치로의 하드웨어 접속을 가능하게 하는 접속 포트를 포함할 수 있다. 이와 같은 하드웨어 접속은 전형적으로 시리얼(serial) 또는 USB 포트를 통해서 다른 컴퓨터에 접속되는 크레들(cradle)을 통해서 이루어진다. 그러므로, 이들 접속은 비네트워크 접속이 된다. 일 실시예에 있어서, 모바일 장치(59)는 또한 SD 카드(69)를 수용하는 SD 카드 슬롯(67)을 포함할 수 있다.
도 10은 도 8과 유사한 도면으로, 폰(phone)이 스마트 폰(71)인 점이 상이하다. 스마트 폰(71)은 아이콘 또는 타일(tile) 또는 기타 사용자 입력 메커니즘(75)을 디스플레이하는 터치 감지식 디스플레이(73)를 가지고 있다. 메커니즘(75)은 사용자에 의해서 사용되어 애플리케이션을 동작시키고, 전화를 걸고, 데이터의 전송 조작 등을 수행할 수 있다. 일반적으로, 스마트 폰(71)은 모바일 운영 체제에 구축되어 피처 폰에 비해서 더욱 뛰어난 컴퓨팅 기능 및 접속성을 제공한다.
다른 형태의 장치(16)도 가능함을 알아야 한다.
도 11은 아키텍처(100) 또는 그 일부가 (예를 들면) 전개될 수 있는 컴퓨팅 환경의 일 실시예이다. 도 11을 참조하면, 일부 실시예를 구현하기 위한 예시적인 시스템은 컴퓨터(810)의 형태로서 범용 컴퓨팅 장치를 포함하고 있다. 컴퓨터(810)의 컴포넌트에는 (프로세서(114 또는 138)를 포함할 수 있는) 처리 유닛(820), 시스템 메모리(830), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 처리 유닛(820)에 접속시키는 시스템 버스(821)를 포함할 수 있으나, 이에 제한되지는 않는다. 시스템 버스(821)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스, 및 임의의 다양한 버스 아키텍처를 사용하는 로컬 버스를 포함하는 임의의 몇 가지 타입의 버스 구조일 수 있다. 제한하지 않는 예시로서, 그와 같은 아키텍처는 산업 표준 아키텍처(ISA, Industry Standard Architecture) 버스, 마이크로 채널 아키텍처(MCA, Micro Channel Architecture) 버스, 확장 ISA(EISA, Enhanced ISA), 비디오 일렉트로닉스 표준 협회(VESA, Video Electronics Standards Association) 로컬 버스, 및 메짜닌(Mezzanine) 버스라고도 알려진 주변 장치 접속(PCI, Peripheral Component Interconnect) 버스를 포함할 수 있다. 도 1과 관련하여 설명한 메모리 및 프로그램은 도 11의 대응하는 부분에 전개될 수 있다.
컴퓨터(810)는 전형적으로 다양한 컴퓨터 판독 가능 매체를 포함하고 있다. 컴퓨터 판독 가능 매체는 컴퓨터(810)에 의해서 액세스 가능하며 또한 휘발성 및 비휘발성 매체, 탈착식 및 비탈착식 매체를 모두 포함하는 임의의 이용 가능한 매체일 수 있다. 제한하지 않는 예시로서, 컴퓨터 판독 가능 매체는 컴퓨터 스토리지 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 변조 데이터 신호 또는 반송파와 다른 것이며, 이들을 포함하지 않는다. 여기에는 컴퓨터 판독 가능 인스트럭션, 자료 구조 프로그램 모듈, 또는 기타 데이터와 같은 정보를 저장하기에 적합한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 탈착식 및 비착탈식 매체를 모두 포함하는 하드웨어 저장 매체가 포함된다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD) 또는 기타 광학적 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 소정의 정보를 저장하는데 사용될 수 있고 또한 컴퓨터(810)가 액세스 가능한 임의의 기타 매체를 포함하지만, 이에 한정되지는 않는다. 통신 매체는 전형적으로 컴퓨터 판독 가능 인스트럭션, 자료 구조, 프로그램 모듈 또는 전송 메커니즘 내의 기타 데이터로 구현되며, 또한 임의의 정보 전달 매체를 포함하고 있다. "변조된 데이터 신호"라는 용어는 어떤 신호 중의 하나 이상의 특성이 고정되거나 변경되는 방식에 의해서 이 신호 내에 정보가 부호화된 신호를 의미한다. 제한하지 않는 예시로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있다. 또한 이들 중 임의의 것을 조합한 것 역시 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(830)는 판독 전용 메모리(ROM)(831) 및 랜덤 액세스 메모리(RAM)(832)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로서의 컴퓨터 저장 매체를 포함한다. 부팅(start-up) 중과 같이 컴퓨터(810) 내의 각 구성 요소 사이에서의 정보 전달을 용이하게 하는 기본 루틴을 포함하는 기본 입/출력 시스템(833)(BIOS)은 전형적으로 ROM(831)에 저장되어 있다. RAM(832)은 전형적으로 처리 유닛(820)이 즉각적으로 액세스 가능한 및/또는 현재 동작 중인 데이터 및/또는 프로그램 모듈을 포함하고 있다. 제한하지 않는 예시로서, 도 11은 운영 체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)를 도시하고 있다.
또한 컴퓨터(810)는 기타 탈착식/비탈착식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예시적인 것으로서, 도 11은 비탈착식, 비휘발성 자기 매체를 판독하고 이에 기입하는 하드 디스크 드라이브(841), 탈착식, 비휘발성 자기 디스크(852)를 판독하고 이에 기입하는 자기 디스크 드라이브(851), 및 CD ROM이나 기타 광학 매체와 같은 탈착식, 비휘발성 광학 디스크(856)를 판독하고 이에 기입하는 광학 디스크 드라이브(855)를 도시하고 있다. 예시적인 동작 환경에서 사용될 수 있는 기타 탈착식/비탈착식 휘발성/비휘발성 컴퓨터 저장 매체에는 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다용도 디스크(DVD), 디지털 비디오 테이프, 솔리드 스테이트 RAM, 솔리드 스테이트 ROM 등이 포함되지만, 이에 한정되지는 않는다. 하드 디스크 드라이브(841)는 전형적으로 인터페이스(840)와 같은 비탈착식 메모리 인터페이스를 통해 시스템 버스(821)에 접속되고, 자기 디스크 드라이브(851) 및 광학 디스크 드라이브(855)는 전형적으로 인터페이스(850)와 같은 탈착식 메모리 인터페이스에 의해 시스템 버스(821)에 접속된다.
이에 더하여, 또는 이에 갈음하여, 본 명세서에서 설명한 기능은, 적어도 일부가, 하나 이상의 하드웨어 로직 컴포넌트에 의해서 실행될 수 있다. 제한하지 않는 예를 들면, 사용될 수 있는 예시적인 타입의 하드웨어 로직 컴포넌트는 현장 프로그래머블 게이트 어레이(FPGA, Field-programmable Gate Arrays), 주문형 집적 회로(ASIC, Program-specific Integrated Circuits), 주문형 표준 제품(ASSP, Program-specific Standard Products), 시스템 온 칩 시스템(SOC, System-on-a-chip systems), 복합 프로그램 가능 논리 소자(CPLD, Complex Programmable Logic Devices) 등을 포함하고 있다.
상술하였고 또한 도 11에 도시된 드라이브와 이들과 관련된 컴퓨터 저장 매체는 컴퓨터(810)용의 컴퓨터 판독 가능 인스트럭션, 자료 구조, 프로그램 모듈 및 기타 데이터의 저장 장치를 제공한다. 도 11에 있어서, 예를 들면, 하드 디스크 드라이브(841)는 운영 체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846), 및 프로그램 데이터(847)를 저장하는 것으로서 도시되어 있다. 이들 컴포넌트는 운영 체제(834), 애플리케이션 프로그램(835), 기타 프로그램 모듈(836), 및 프로그램 데이터(837)와 동일하거나 상이할 수 있음을 알아야 한다. 본 명세서에서는 운영 체제(844), 애플리케이션 프로그램(845), 기타 프로그램 모듈(846), 및 프로그램 데이터(847)에 대해서 다른 번호를 부여하여, 최소한, 이들이 서로 다른 구성 요소임을 나타내고 있다.
사용자는 키보드(862), 마이크(863), 및 마우스, 트랙볼 또는 터치 패드와 같은 포인팅 장치(861)를 통해서 컴퓨터(810)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(미도시)에는 조이스틱, 게임 패드, 위성 접시, 스캐너 등이 포함될 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스에 결합된 사용자 입력 인터페이스(860)를 통해 처리 유닛(820)에 접속되지만, 병렬 포트, 게임 포트, 또는 USB(universal serial bus)와 같은 기타 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 시각적 디스플레이(891) 또는 기타 타입의 디스플레이 장치 또한 비디오 인터페이스(890)와 같은 인터페이스를 통해서 시스템 버스(821)에 접속되어 있다. 모니터에 추가하여, 컴퓨터는 또한 출력 주변 장치 인터페이스(895)를 통해 접속될 수 있는 스피커(897) 및 프린터(896)와 같은 기타 주변 출력 장치도 포함할 수 있다.
컴퓨터(810)는 원격 컴퓨터(880)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하는 네트워크 환경에서 동작한다. 원격 컴퓨터(880)는 개인용 컴퓨터, 휴대용 장치, 서버, 라우터, 네트워크 PC, 피어(peer) 장치 또는 기타 공통 네트워크 노드일 수 있으며, 또한 전형적으로 컴퓨터(810)에 대해서 상술한 다수의 또는 모든 구성 요소를 포함하고 있다. 도 11에 도시된 논리적 접속은 근거리 통신망(LAN)(871) 및 광역 통신망(WAN)(873)을 포함하고 있지만, 또한 다른 네트워크를 포함할 수도 있다. 이와 같은, 네트워크 환경은 사무실, 기업 규모 컴퓨터 네트워크, 인트라넷, 및 인터넷에서는 보편적이다.
LAN 네트워크 환경 하에서 사용되는 경우, 컴퓨터(810)는 네트워크 인터페이스 또는 어댑터(870)를 통해서 LAN(871)에 접속된다. WAN 네트워킹 환경 하에서 사용되는 경우, 컴퓨터(810)는 전형적으로 인터넷과 같은 WAN(873)을 통해서 통신을 수립하기 위한 모뎀(872) 또는 기타 수단을 포함하고 있다. 내장형 또는 외장형 모뎀(872)은, 사용자 입력 인터페이스(860) 또는 기타 적절한 메커니즘을 통해서 시스템 버스(821)에 접속될 수 있다. 네트워크 환경에 있어서, 컴퓨터(810) 또는 그 일부에 대해서 묘사된 프로그램 모듈은 원격 메모리 저장 장치에 저장되어 있을 수 있다. 제한하지 않는 예시로서, 도 11은 원격 컴퓨터(880) 내에 존재하는 것으로서의 원격 애플리케이션 프로그램(885)을 도시하고 있다. 도시된 네트워크 접속은 예시적인 것이고 컴퓨터 사이의 통신 링크를 수립할 수 있는 다른 수단도 사용 가능하다는 것을 이해할 것이다.
또한 본 명세서에서 설명한 서로 다른 실시예는 서로 다른 방법으로 조합될 수도 있음을 알아야 한다. 즉, 하나 이상의 실시예의 일부는 하나 이상의 다른 실시예의 일부와 함께 조합될 수 있다. 본 명세서에서는 이와 같은 모든 것이 고려되었다.
구조적인 특징 및/또는 방법적인 동작에 특유한 표현을 이용하여 본 발명을 설명하였지만, 첨부 청구범위에서 정의된 청구 대상은 전술한 구체적인 특징이나 동작으로 한정되어야 하는 것은 아니다. 오히려, 전술한 구체적인 특징과 동작은 청구범위를 구현하는 예시적인 형태로서 기술된 것이다.

Claims (10)

  1. 모바일 장치로의 접속을 제어하는 컴퓨터 구현 방법에 있어서,
    웹 기반 시스템에서, 클라이언트 장치가 상기 웹 기반 시스템을 탐색하는 것에 기초해서 세션 식별자(세션 ID)를 획득하는 단계와,
    상기 웹 기반 시스템으로부터, 상기 세션 ID를 부호화하는 기계 판독 가능 코드(MR 코드)를 상기 클라이언트 장치로 송신하는 단계와,
    상기 웹 기반 시스템에서, 모바일 장치로부터 상기 세션 ID 및 사용자를 인증하는 사용자 토큰을 수신하는 단계와,
    상기 세션 ID 및 사용자 토큰을 수신한 것에 응답해서, 상기 웹 기반 시스템을 통해서, 상기 모바일 장치와 상기 클라이언트 장치 사이에 통신 채널을 수립하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 컴퓨터에 의해서 실행될 때, 상기 컴퓨터가 이하의 방법을 수행하도록 하는 컴퓨터 실행 가능 인스트럭션이 저장된 컴퓨터 판독 가능 저장 매체에 있어서,
    브라우저로 원격 시스템을 탐색하는 클라이언트 장치에서 사용자 탐색 입력을 검출하는 단계와,
    상기 원격 시스템으로부터, 세션 식별자(세션 ID)를 나타내는 기계 판독 가능 광학 코드(MR 코드)를 수신하는 단계와,
    상기 클라이언트 장치의 디스플레이 스크린에 상기 MR 코드를 디스플레이하는 단계와,
    상기 클라이언트 장치에서, 사용자가 액세스할 수 있는 컨텐츠에 대한 액세스를 획득하기 위해 사용자 토큰을 수신하는 단계와,
    상기 원격 시스템을 통해서 수립된 통신 채널을 통해서 모바일 장치의 모바일 애플리케이션과 통신하기 위해서 상기 브라우저를 페어링하는 페어링 입력를 검출하는 단계와,
    컨텐츠 아이템에 대한 링크, 및 제어 입력을, 상기 통신 채널을 통해서 상기 모바일 장치로부터 수신하는 단계와,
    상기 링크 및 상기 사용자 토큰을 사용하여 상기 브라우저로 상기 컨텐츠 아이템에 액세스하는 단계와,
    상기 제어 명령에 기초하여 상기 클라이언트 장치의 상기 디스플레이 스크린의 상기 컨텐츠 아이템의 렌더링을 제어하는 단계
    를 포함하는 컴퓨터 판독 가능 저장 매체.
  3. 모바일 장치의 페어링을 제어하는 컴퓨터 구현 방법에 있어서,
    모바일 장치에서, 클라이언트 장치로부터 기계 판독 가능 코드(MR 코드)를 검출하는 단계와,
    상기 모바일 장치에서, 상기 MR 코드로부터 세션 식별자(세션 ID)를 획득하는 단계와,
    상기 세션 ID를 원격 시스템으로 송신하는 단계와,
    상기 세션 ID를 상기 원격 시스템으로 송신하는 것에 응답해서, 상기 모바일 장치에서 페어링 입력을 수신하고 또한 상기 원격 시스템을 거쳐서 통신 채널을 통하여 상기 클라이언트 장치와 통신하도록 상기 모바일 장치를 페어링하는 단계
    를 포함하는 컴퓨터 구현 방법.
  4. 제 3 항에 있어서,
    상기 세션 ID를 상기 원격 시스템으로 송신하는 단계는, 상기 세션 ID를 사용자를 인증하는 사용자 토큰과 함께 상기 원격 시스템으로 송신하는 단계를 포함하는,
    컴퓨터 구현 방법.
  5. 제 3 항에 있어서,
    상기 페어링 입력을 수신하는 것은, 사용자가 액세스할 수 있는 컨텐츠에 액세스하기 위한 사용자 토큰을 가지고 있는 브라우저와 상기 모바일 장치를 매치시키기 위한 상기 페어링 입력을 수신하는 것을 포함하는,
    컴퓨터 구현 방법.
  6. 제 5 항에 있어서,
    상기 모바일 장치에서 제어 사용자 입력을 수신한 것에 기초하여, 상기 원격 시스템을 거쳐서 상기 통신 채널을 통하여 상기 클라이언트 장치의 상기 스크린을 제어하기 위해서, 상기 모바일 장치로부터 제어 출력을 송신하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  7. 제 6 항에 있어서,
    상기 제어 출력을 송신하는 단계는, 상기 브라우저에 렌더링되는 컨텐츠를 제어하는 컨텐츠 제어 출력을 송신하는 단계를 포함하는,
    컴퓨터 구현 방법.
  8. 제 6 항에 있어서,
    상기 컨텐츠 제어 출력을 송신하는 단계는,
    상기 모바일 장치에서, 상기 사용자가 액세스 가능한 컨텐츠 아이템을 나타내는 컨텐츠 식별자의 사용자 선택을 수신하는 단계와,
    상기 컨텐츠 아이템에 대한 링크를 상기 통신 채널을 통하여 상기 브라우저로 송신하는 단계
    를 포함하는 컴퓨터 구현 방법.
  9. 제 8 항에 있어서,
    상기 브라우저는 상기 사용자 토큰을 이용하여 상기 컨텐츠 아이템으로의 액세스를 획득하고 또한 상기 클라이언트 장치의 스크린에 상기 컨텐츠 아이템을 렌더링하며,
    상기 컨텐츠 제어 출력을 송신하는 단계는,
    상기 모바일 장치에서 탐색 명령 사용자 입력을 수신하는 단계와,
    상기 클라이언트 장치의 상기 스크린의 상기 컨텐츠 아이템에 대한 탐색을 제어하기 위해, 상기 통신 채널을 통하여 상기 탐색 명령 사용자 입력을 나타내는 탐색 명령을 상기 브라우저로 송신하는 단계
    를 포함하는
    컴퓨터 구현 방법.
  10. 제 8 항에 있어서,
    상기 브라우저는 상기 사용자 토큰을 이용하여 상기 컨텐츠 아이템으로의 액세스를 획득하고 또한 상기 클라이언트 장치의 스크린에 상기 컨텐츠 아이템을 렌더링하며,
    상기 컨텐츠 제어 출력을 송신하는 단계는,
    상기 모바일 장치에서 프리젠테이션 명령 사용자 입력을 수신하는 단계와,
    상기 클라이언트 장치의 상기 스크린의 상기 컨텐츠 아이템에 대한 프리젠테이션을 제어하기 위해, 상기 통신 채널을 통하여 상기 프리젠테이션 명령 사용자 입력을 나타내는 프리젠테이션 명령을 상기 브라우저로 송신하는 단계
    를 포함하는
    컴퓨터 구현 방법.
KR1020167025326A 2014-03-13 2015-03-10 기계 판독 가능 코드를 사용한 장치 인증 및 페어링 방법 KR102340569B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/209,331 2014-03-13
US14/209,331 US9265079B2 (en) 2014-03-13 2014-03-13 Authentication and pairing of devices using a machine readable code
PCT/US2015/019550 WO2015138367A1 (en) 2014-03-13 2015-03-10 Authentication and pairing of devices using a machine readable code

Publications (2)

Publication Number Publication Date
KR20160132407A true KR20160132407A (ko) 2016-11-18
KR102340569B1 KR102340569B1 (ko) 2021-12-16

Family

ID=52727433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167025326A KR102340569B1 (ko) 2014-03-13 2015-03-10 기계 판독 가능 코드를 사용한 장치 인증 및 페어링 방법

Country Status (11)

Country Link
US (5) US9265079B2 (ko)
EP (1) EP3117580B1 (ko)
JP (1) JP6527535B2 (ko)
KR (1) KR102340569B1 (ko)
CN (2) CN106134148B (ko)
AU (1) AU2015229676B2 (ko)
CA (1) CA2939967C (ko)
MX (1) MX2016011475A (ko)
RU (1) RU2682379C2 (ko)
TW (1) TW201535142A (ko)
WO (1) WO2015138367A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9265079B2 (en) 2014-03-13 2016-02-16 Microsoft Technology Licensing, Llc Authentication and pairing of devices using a machine readable code
US20150278353A1 (en) * 2014-03-31 2015-10-01 Linkedln Corporation Methods and systems for surfacing content items based on impression discounting
US10440757B2 (en) * 2015-02-17 2019-10-08 Google Llc Second-screen control automatic pairing using push notifications
CN107113701A (zh) * 2015-11-03 2017-08-29 国民技术股份有限公司 一种配对方法、配对装置以及智能终端和智能卡
KR20180005377A (ko) * 2016-07-06 2018-01-16 엘지전자 주식회사 이동단말기 및 그 제어 방법, 디스플레이 디바이스 및 그 제어 방법
JP6663110B2 (ja) * 2016-08-04 2020-03-11 富士通クライアントコンピューティング株式会社 無線通信装置、無線通信システム、接続処理方法及び接続処理プログラム
US11038870B2 (en) 2017-03-09 2021-06-15 Microsoft Technology Licensing, Llc Quick response (QR) code for secure provisioning
CN107154884B (zh) * 2017-05-11 2020-10-20 广东美的制冷设备有限公司 云平台、ivr系统、设备控制方法及系统、可读存储介质
TWI664555B (zh) * 2017-11-30 2019-07-01 大陸商北京集創北方科技股份有限公司 手持裝置的顯示屏和主機板之間的密鑰配對方法及利用其之手持裝置
US11328049B2 (en) * 2019-05-29 2022-05-10 CyberArk Software Lid. Efficient and secure provisioning and updating of identity credentials
US11343242B2 (en) * 2019-09-25 2022-05-24 Adp, Inc. Dynamic connection across systems in real-time
WO2022073117A1 (en) * 2020-10-08 2022-04-14 Intellijoint Surgical Inc. Communication of optical codes between devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009159188A (ja) * 2007-12-26 2009-07-16 Hitachi Ltd コンテンツ表示用サーバ
US8256664B1 (en) * 2010-04-09 2012-09-04 Google Inc. Out-of band authentication of browser sessions
US20130173915A1 (en) * 2011-12-28 2013-07-04 Pitney Bowes Inc. System and method for secure nework login

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215992B1 (en) * 1997-07-29 2001-04-10 Dennis S. Howell Universal dictation input apparatus and method
US8002175B2 (en) 2004-12-31 2011-08-23 Veritec, Inc. System and method for utilizing a highly secure two-dimensional matrix code on a mobile communications display
JP4513658B2 (ja) * 2005-06-14 2010-07-28 株式会社日立製作所 ホームゲートウェイ装置、及びホームネットワークへのアクセス制御システム
JP2008191929A (ja) * 2007-02-05 2008-08-21 Mitsubishi Electric Corp コンテンツ利用システム、コンテンツ表示装置、端末装置及び利用待ち状況表示方法並びにプログラム
US8072953B2 (en) * 2007-04-24 2011-12-06 Interdigital Technology Corporation Wireless communication method and apparatus for performing home Node-B identification and access restriction
CN101855861A (zh) * 2007-11-16 2010-10-06 富士通天株式会社 认证方法、认证系统、车载装置以及认证装置
US8769612B2 (en) * 2008-08-14 2014-07-01 Microsoft Corporation Portable device association
US8275984B2 (en) * 2008-12-15 2012-09-25 Microsoft Corporation TLS key and CGI session ID pairing
US8725880B2 (en) * 2010-04-07 2014-05-13 Apple, Inc. Establishing online communication sessions between client computing devices
US20120079043A1 (en) * 2010-09-27 2012-03-29 Research In Motion Limited Method, apparatus and system for accessing an application across a plurality of computers
US8786410B2 (en) 2011-01-20 2014-07-22 Echostar Technologies L.L.C. Configuring remote control devices utilizing matrix codes
US20120198531A1 (en) * 2011-01-31 2012-08-02 Microsoft Corporation Multi-device session pairing using a visual tag
US8763097B2 (en) 2011-03-11 2014-06-24 Piyush Bhatnagar System, design and process for strong authentication using bidirectional OTP and out-of-band multichannel authentication
EP2692125B1 (en) * 2011-03-31 2019-06-26 Sony Mobile Communications AB System and method for establishing a communication session
US8904289B2 (en) * 2011-04-21 2014-12-02 Touchstream Technologies, Inc. Play control of content on a display device
US8405729B2 (en) 2011-05-11 2013-03-26 Sony Corporation System and method for pairing hand-held devices utilizing a front-facing camera
US9107055B2 (en) 2011-06-14 2015-08-11 Sonifi Solutions, Inc. Method and apparatus for pairing a mobile device to an output device
US9497293B2 (en) 2011-09-16 2016-11-15 Google Inc. Mechanism for pairing user's secondary client device with a data center interacting with the users primary client device using QR codes
WO2013061150A1 (en) 2011-10-28 2013-05-02 Avatar Software Private Limited Method and system to authenticate user identity
US8943320B2 (en) 2011-10-31 2015-01-27 Novell, Inc. Techniques for authentication via a mobile device
US9450930B2 (en) * 2011-11-10 2016-09-20 Microsoft Technology Licensing, Llc Device association via video handshake
US8910309B2 (en) * 2011-12-05 2014-12-09 Microsoft Corporation Controlling public displays with private devices
US9438575B2 (en) 2011-12-22 2016-09-06 Paypal, Inc. Smart phone login using QR code
CN102592156A (zh) * 2012-01-14 2012-07-18 上海宏蝠网络有限公司 一种应用二维码的信息互动方法及其系统
US20130193201A1 (en) 2012-01-26 2013-08-01 Augme Technologies, Inc. System and method for accessing product information for an informed response
US8935777B2 (en) * 2012-02-17 2015-01-13 Ebay Inc. Login using QR code
CA2866500C (en) * 2012-04-01 2016-08-30 Authentify, Inc. Secure authentication in a multi-party system
US9251194B2 (en) * 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US8898109B2 (en) * 2012-07-27 2014-11-25 Microsoft Corporation Automatic transaction retry after session failure
CN102802155A (zh) * 2012-08-17 2012-11-28 珠海金山办公软件有限公司 一种移动终端与智能显示设备快速建立连接的方法
CN104604273B (zh) 2012-08-29 2019-04-12 银湖移动生态系统有限公司 对移动设备进行配对的方法
WO2014036568A1 (en) 2012-08-31 2014-03-06 Game Concourse, Inc. System and method for communicating and interacting with a display screen using a remote device
US20140067571A1 (en) 2012-09-04 2014-03-06 Andreas Schlosser Enhanced data exchange between mobile device and merchant system
CN102868696B (zh) * 2012-09-18 2015-10-07 广州市动景计算机科技有限公司 多设备间通讯和信息同步方法及系统
CN102946628A (zh) * 2012-10-25 2013-02-27 福州博远无线网络科技有限公司 移动设备通过二维码无线连接到pc的方法
US9015813B2 (en) 2012-11-21 2015-04-21 Jack Bicer Systems and methods for authentication, verification, and payments
WO2014114930A1 (en) 2013-01-22 2014-07-31 Mimio Llc Two-dimensional code-driven method and system for synchronizing wireless devices with a computing device
US9338156B2 (en) 2013-02-22 2016-05-10 Duo Security, Inc. System and method for integrating two-factor authentication in a device
US20140282923A1 (en) 2013-03-14 2014-09-18 Motorola Mobility Llc Device security utilizing continually changing qr codes
US9225700B1 (en) * 2013-03-15 2015-12-29 Emc Corporation Proximity-based authentication
US9497628B2 (en) 2013-04-16 2016-11-15 Xiaomi Inc. Method and terminal for obtaining information
CN104092644B (zh) 2013-05-30 2018-09-07 腾讯科技(深圳)有限公司 一种交互方法、装置、客户端及服务器
CN103338231A (zh) * 2013-06-04 2013-10-02 中国普天信息产业股份有限公司 一种智能终端对目标被控端进行控制的方法
US9397989B1 (en) 2013-07-03 2016-07-19 Amazon Technologies, Inc. Bootstrapping user authentication on devices
US8985437B2 (en) 2013-08-07 2015-03-24 International Business Machines Corporation Creation and management of dynamic quick response (QR) codes
CN103458012B (zh) * 2013-08-20 2017-06-27 小米科技有限责任公司 一种对网络电视终端进行无线控制的方法以及设备
CN103428001B (zh) * 2013-09-05 2016-08-17 中国科学院信息工程研究所 一种隐式增强便捷web身份认证方法
CN103532971B (zh) * 2013-10-24 2017-01-25 北京星网锐捷网络技术有限公司 基于二维码的认证方法、装置和系统
US10257341B2 (en) 2013-11-01 2019-04-09 Ebay Inc. Using a smartphone for remote interaction with visual user interfaces
US20150237143A1 (en) 2014-02-14 2015-08-20 Adobe Systems Incorporated Image Session Identifier Techniques
US9775101B2 (en) 2014-02-26 2017-09-26 Amazon Technologies, Inc. Management of handheld electronic device
US9265079B2 (en) 2014-03-13 2016-02-16 Microsoft Technology Licensing, Llc Authentication and pairing of devices using a machine readable code
AU2015308608B2 (en) 2014-08-29 2019-07-04 Visa International Service Association Methods for secure cryptogram generation
KR102351042B1 (ko) 2014-10-06 2022-01-13 삼성전자주식회사 전자 장치의 인증 방법 및 장치
CA2968051C (en) 2014-12-22 2020-07-14 University Of South Florida Systems and methods for authentication using multiple devices
EP3259877B1 (en) 2015-02-17 2021-06-02 Visa International Service Association Methods and apparatus for secure authentication of user and mobile device
US9807610B2 (en) 2015-03-26 2017-10-31 Intel Corporation Method and apparatus for seamless out-of-band authentication
US10419422B2 (en) 2015-07-06 2019-09-17 Apple Inc. Combined authorization process
US10169562B2 (en) 2015-08-27 2019-01-01 International Business Machines Corporation Activity recognition to confirm secure authentication of a user
US20170264608A1 (en) 2016-03-09 2017-09-14 Qualcomm Incorporated Visual biometric authentication supplemented with a time-based secondary authentication factor
US11038870B2 (en) 2017-03-09 2021-06-15 Microsoft Technology Licensing, Llc Quick response (QR) code for secure provisioning

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009159188A (ja) * 2007-12-26 2009-07-16 Hitachi Ltd コンテンツ表示用サーバ
US8256664B1 (en) * 2010-04-09 2012-09-04 Google Inc. Out-of band authentication of browser sessions
US20130173915A1 (en) * 2011-12-28 2013-07-04 Pitney Bowes Inc. System and method for secure nework login

Also Published As

Publication number Publication date
RU2016136484A3 (ko) 2018-09-20
CN111182152A (zh) 2020-05-19
US10979413B2 (en) 2021-04-13
TW201535142A (zh) 2015-09-16
US20160205084A1 (en) 2016-07-14
AU2015229676B2 (en) 2018-11-15
CN106134148B (zh) 2020-01-17
RU2682379C2 (ru) 2019-03-19
EP3117580B1 (en) 2019-05-15
US20190313470A1 (en) 2019-10-10
US10004094B2 (en) 2018-06-19
US9265079B2 (en) 2016-02-16
US20150264728A1 (en) 2015-09-17
JP2017511557A (ja) 2017-04-20
CA2939967C (en) 2022-11-15
CN106134148A (zh) 2016-11-16
US20180338340A1 (en) 2018-11-22
US20170367134A1 (en) 2017-12-21
JP6527535B2 (ja) 2019-06-05
WO2015138367A1 (en) 2015-09-17
CA2939967A1 (en) 2015-09-17
AU2015229676A1 (en) 2016-09-08
US9668289B2 (en) 2017-05-30
US10362614B2 (en) 2019-07-23
EP3117580A1 (en) 2017-01-18
RU2016136484A (ru) 2018-03-15
CN111182152B (zh) 2022-04-05
MX2016011475A (es) 2016-11-16
KR102340569B1 (ko) 2021-12-16

Similar Documents

Publication Publication Date Title
US10979413B2 (en) Authentication and pairing of devices using a machine readable code
US20210385207A1 (en) Cross-platform single sign-on accessibility of a productivity application within a software as a service platform
KR102511811B1 (ko) 봇 사용자를 안전하게 인증하는 기법
JP6064050B2 (ja) ルータアクセス制御方法、ルータアクセス制御装置、及びネットワークシステム
KR102150514B1 (ko) 디바이스 및 그를 이용한 컨텐츠 공유 방법
CN110321733B (zh) 使用近场通信与许可控制共享内容
US10476870B2 (en) Local claim-based security service with cross-browser compatibility
US11038870B2 (en) Quick response (QR) code for secure provisioning
CN106716428B (zh) 将账户信息映射到服务器认证
US9804749B2 (en) Context aware commands

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