KR20170071480A - 푸시 사용자 인터페이스 - Google Patents
푸시 사용자 인터페이스 Download PDFInfo
- Publication number
- KR20170071480A KR20170071480A KR1020177008105A KR20177008105A KR20170071480A KR 20170071480 A KR20170071480 A KR 20170071480A KR 1020177008105 A KR1020177008105 A KR 1020177008105A KR 20177008105 A KR20177008105 A KR 20177008105A KR 20170071480 A KR20170071480 A KR 20170071480A
- Authority
- KR
- South Korea
- Prior art keywords
- mobile device
- remote
- devices
- user interface
- user
- Prior art date
Links
Images
Classifications
-
- H04W4/003—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72457—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
-
- H04M1/72525—
-
- H04M1/72572—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/30—User interface
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/90—Additional features
- G08C2201/91—Remote control based on location and proximity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
- Selective Calling Equipment (AREA)
Abstract
예시적인 실시예들은 스마트폰들 및 태블릿들, 및 개인용 컴퓨터들, 시계들 등을 포함하는 다른 유사한 디바이스들과 같은 전자 디바이스들을 위한 푸시 사용자 인터페이스(UI)로서 사용될 수 있다. 시스템은 전자 디바이스 상의 원격 디바이스에 특정한 사용자 인터페이스 경험을 생성하기 위해, 고유한 UI가 원격 디바이스로부터 전자 디바이스에 푸시되도록, 무선 통신 인터페이스를 갖는 원격 디바이스와 함께 사용될 수 있다.
Description
우선권
본 출원은, 2014년 8월 25일에 출원된 미국 출원 번호 제62/041,631호의 우선권을 주장하고, 그 출원의 전체가 본 출원에 참조로 포함된다.
배경기술
현재, 사용자는 다른 하드웨어에 대한 사용자 인터페이스(UI)로서, 스마트폰 또는 태블릿과 같은 자신의 모바일 디바이스(mobile device)를 사용할 수 있다. 모바일 디바이스의 사용자에게 사용자 인터페이스를 제공하는 종래의 방법은 Google Play, Apple App Store, 또는 다른 벤더(vendor)로부터의 애플리케이션(앱(App))을 전화 또는 태블릿으로 다운로드 하는 것이다. 앱은 주어진 모바일 디바이스(즉, Android 또는 Apple) 및 주어진 하드웨어를 위해 특별히 만들어진다. 그런 다음, 이 앱은 그 하드웨어와 무선으로 인터페이스(interface)한다.
다운로드된 애플리케이션은 특정한 유형의 하드웨어에 대해 미리 구성되며, 일반적으로 심박수 모니터, 온도 조절기, 집으로의 키리스 엔트리(keyless entry), 또는 아트 갤러리(art gallery)에서의 그림과 같은, 미리 정의된 포맷(format)으로 사용자 인터페이스 상에 정보를 제시하기 위해 모바일 디바이스에 정보를 전달하는 단일 타겟 하드웨어에의 사용 전에 등록되거나 링크된다(linked).
현재, 사용자는 특정한 모바일 디바이스, 및 모바일 디바이스와 통신하고 있는 하드웨어 유형들 각각에 대해 별도의 앱을 필요로 한다. 따라서, 사용자는 수천 개의 애플리케이션을 사용해야 할 수 있다. 종래의 시스템은 사용자가 모바일 디바이스에게 하드웨어를 식별시키고, 통신을 위해 필요한 앱의 이름을 알고, 앱 스토어(App Store)에 가서 로그인(log-in)하고, 앱을 다운로드하고, 앱을 설치하고, 앱을 구성하고, 앱을 사용하는 법을 배우고, 그런 다음, 앱을 당신이 인터페이스하기(interface) 원하는 하드웨어와 연계(associate)하도록 요구한다. 심지어 그렇게 되기까지에는, 당신이 다운로드할 필요가 있는 앱의 이름으로 안내하는 특정한 표시가 하드웨어 위치에 또한 있었어야 한다. 그것은 전부 단지 하나의 단일 디바이스를 위한 것이므로, 사용자는 모든 디바이스마다 이것을 반복해야 할 필요가 있을 것이다.
WiFi 디바이스를 사용하는 웹 서버(web-server)는 또한 별도의 하드웨어 디바이스로부터 사용자 인터페이스를 사용자에게 제시하기 위해 사용될 수 있다. 이것은 데이터가 통신될 하드웨어 또는 다른 위치에 WiFi 호스트 디바이스가 마운트됨(mounted)을 의미한다. 그런 다음, (스마트폰과 같은) 모바일 디바이스가 하드웨어 디바이스 근처에 있을 때, 사용자는 모바일 디바이스 상에서 WiFi 세팅들을 네비게이트하고(navigate), 네트워크를 검색하고, 네트워크에 접속하고, 보안 자격 증명(security credentials)을 교환하고, 접속을 설정한 다음, 브라우저(browser)를 론칭(launch)해야 하며(이 브라우저가 타겟 하드웨어에 의해 사용되는 컨트롤들 및 HTML과 호환될 것을 희망하면서), 그런 다음, HTML을 다운로드하고 모바일 디바이스 상에 사용자를 위한 UI를 렌더링(render)해야 한다. 그것은 하나의 위치 및 하나의 하드웨어를 위한 것이다. 일단 당신이 다음 하드웨어 디바이스로 이동하면, 사용자는 다음 하드웨어 연계(association)를 얻기 위해 이 프로세스를 다시 반복해야 할 것이다. 일단 사용자가 하나의 연계를 만들면, 디바이스는 한 번에 하나의 WiFi 타겟(또는 이 경우, 호스트)에만 접속할 수 있기 때문에, 모바일 디바이스는 이전 것을 드롭(drop)할 것이다. 웹 서버가 운영을 위해 큰 메모리 풋프린트(memory footprint)를 필요로 하는 것은 별문제로 하고, WiFi는 많은 전력을 소비하고, 실용적인 애플리케이션들에 필요한 배터리 급전식(battery powered) 애플리케이션들에 적합하지 않다.
따라서, 접속되지 않은 하드웨어의 모바일 디바이스 상에 사용자 인터페이스를 렌더링하기 위해 이용 가능한 접근법들은 많은 사용자 지식 및 수동적 개입을 필요로 한다. 따라서, 현재의 옵션들(options)은 주요 이해관계자들에게는 그리 실용적이지 않다.
디바이스 제조사들은 각각의 제품(임베디드, Android, iOS, Windows)에 대해 다수의 소프트웨어 개발팀들을 고용해야 하고, 일반적으로 대가 없이 주어지는 애플리케이션들은 결국 회사로 하여금 많은 개발 비용을 치르게 하고, 전체 제품의 라이프 사이클(product life cycle)에 리스크를 부가한다. 추가적으로, 최종 고객들은 어떤 애플리케이션을 다운로드할지 아는 복잡성을 관리하거나 임시 WiFi 네트워크에 접속하는 방법을 알아야 한다.
하드웨어 기반 애플리케이션들을 취급하는 것은 또한, Google, Apple, 및 Microsoft 용 앱 스토어들과 같은 애플리케이션들의 배포자에게 비용이 매우 많이 든다. 현재, 하드웨어를 기반으로 하는 애플리케이션의 개발자는 검토 및 승인을 위해 자신의 하드웨어를 그것의 소프트웨어 앱과 함께 앱 스토어에 보내야 한다. 이 프로세스는 앱이 연계된 하드웨어와 함께 제대로 기능하는지를 확인하는 유일한 효과적인 방법이므로, 관습적으로 요구된다. 포스팅(posting)하기 전에 애플리케이션들을 수신하고, 분류하고(catalog), 테스트하고, 검증하는 것은 노동 집약적(labor intensive)이기 때문에, 이 프로세스는 이 앱 스토어들의 관리자들에게 비용이 많이 든다. 더욱이, 하드웨어 기반 애플리케이션들은 하드웨어의 비용으로 고객에게 오기 때문에, 보통 무료로 제공된다. 그러므로, 앱 스토어는 보통 이 애플리케이션들에서 수익을 창출하지 않지만, 상당한 비용을 지출한다. Apple, Google, Microsoft, 및 앱 스토어들의 다른 관리자들은 수익을 창출하지 않는 애플리케이션들에 대한 이러한 간접비를 줄이거나 없앰으로써 본 발명으로부터 이점을 얻을 수 있다.
사용자가 원격 디바이스와 관련된 특정 애플리케이션 또는 원격 디바이스의 특성을 알 필요 없이, 각각의 원격 디바이스와 관련된 개별 사용자 인터페이스들(UI들)을 통해 원격 디바이스와 상호 작용할 수 있도록 허용하는 시스템 및 방법들이 설명된다. 또한, 하나의 모바일 디바이스가 복수의 원격 디바이스와 관련된 고유한 사용자 인터페이스(unique user interface)들을 동시에 또는 순차적으로 디스플레이하는 데 사용될 수 있도록 실시예들이 사용될 수 있다.
예시적인 실시예들은, UI를 정의하는 데 필요한 정보의 적어도 일부가 원격 노드 또는 전자 디바이스로부터, 사용자 인터페이스 메커니즘을 갖는 전자 또는 모바일 디바이스로 제공되는 사용자 인터페이스(UI)를 포함할 수 있다. 그러므로, 예를 들어, UI에 대한 명령어들 또는 그 일부는 원격 디바이스로부터 모바일 디바이스에 업로드될 수 있다. 예시적인 실시예에서, 사용자는 하나의 단일 앱을 모바일 디바이스에 다운로드할 수 있는데, 이는 빈 캔버스(blank canvas)처럼 동작하는 서비스 또는 호스트 앱이다. 그런 다음, 이 캔버스에 페인팅되는(painted) 콘텐츠는 저장되고, 모바일 디바이스 근처의 원격 노드들로부터 모바일 앱에 전송된다. 모바일 디바이스 상의 앱에서 실행되는 업로드된 UI는, 웹에 액세스하여 애플리케이션에 의해 요청된 더 큰 이미지들, 파일들 등을 입수하기 위해, 모바일 디바이스 상에서 셀룰러(cellular), WiFi, 또는 다른 무선 접속을 사용하여 더 큰 문서들을 가져오는 것에 책임을 질 수 있다.
전송된 UI 데이터는 그것이 배터리 동작 디바이스들에 매우 효율적이고 적합하게 되도록 인코딩될(encoded) 수 있다.
본 명세서에서 설명되는 실시예들은 스마트폰, 태블릿, 시계, 전용 전자 디바이스, 컨트롤러, 디스플레이, 텔레비전, 또는 사용자 인터페이스를 갖는 다른 디바이스와 같은 모바일 디바이스를 포함한다. 모바일 디바이스는 본 명세서에서 설명되는 특징들을 수행하기 위한 하드웨어 및 소프트웨어를 포함한다. 예를 들어, 모바일 디바이스는 프로세서, 디스플레이, 메모리, 및 무선 통신 인터페이스를 포함할 수 있다. 소프트웨어는 비일시적(non-transitory) 기계 판독 가능 명령어들로서, 메모리 내에 저장되고 원격 디바이스 상의 프로세서에 의해 실행된다. 애플리케이션은 모바일 디바이스에 다운로드되고 모바일 디바이스의 메모리 내에 저장될 수 있다. 그런 다음, 모바일 디바이스 프로세서는 애플리케이션을 실행한다.
시스템의 실시예들은 모바일 디바이스의 무선 통신 인터페이스와 통신하는 무선 통신 인터페이스들을 갖는 복수의 원격 디바이스를 포함한다. 원격 디바이스들은 통신 인터페이스를 통해 모바일 디바이스에 통신될 수 있는 정보를 저장하는 메모리를 포함한다. 모바일 디바이스 상에 저장된 애플리케이션은 모바일 디바이스의 프로세서에 의해 실행될 때, 원격 디바이스에 의해 전송된 정보를 검색(retrieve)하고 원격 디바이스와 관련된 사용자 인터페이스를 렌더링하도록 구성된다. 원격 디바이스는 애플리케이션을 통해 모바일 디바이스에 통신되고 이어서 모바일 디바이스에 의해 디코딩되거나(decoded) 판독되는 고유한 사용자 인터페이스를 모바일 디바이스 디스플레이 상에 생성하기 위한 명령어들을 포함할 수 있다. 사용자 인터페이스는, 사용자가 사용자 인터페이스를 조작함으로써 원격 디바이스에 피드백(feedback)을 제공할 수 있도록, 입력 및 출력 특징들을 포함할 수 있다.
예시적인 실시예에서, 모바일 디바이스 상의 애플리케이션은, 브로드캐스트 모드에 있는 원격 무선 디바이스로부터 범위 내에 있지 않은 디바이스들이 아니라 범위 내에 있는 모바일 디바이스에 송신된 변수들을 수신한다. 범위는 모바일 디바이스의 사용자, 및/또는 원격 디바이스 하드웨어 또는 소프트웨어에 의해 설정될 수 있다.
본 명세서에서 설명되는 실시예들은, 시스템을 사용하는 개발자로 하여금, 사용자가 상호 작용할 커스텀 버튼(custom button)들, 슬라이더(slider)들, 객체들, 컬러(color)들, 텍스트, 사진들, 및 다른 UI 객체들을 모바일 디바이스 디스플레이 상에 생성하도록 허용하는, 매우 작은 고유하게 설계된 컨트롤들의 세트(set)를 사용할 수 있다. 따라서, 원격 디바이스는 모바일 디바이스에 무선으로 소량의 데이터를 송신하여, 모바일 디바이스가 사용자에게 그래픽으로 정보를 렌더링하도록 야기할 수 있고, 이는 실용적이고 효과적인 쉬운 상호 작용을 가능하게 할 수 있다.
도 1a는 본 명세서에서 설명되는 실시예들에 따른, 예시적인 통신 모듈을 도시한다.
도 1b는 도 1a의 예시적인 통신 모듈의 예시적인 내부 구성 요소들의 블록 다이어그램을 도시한다.
도 2는 본 명세서에서 설명되는 예시적인 시스템을 사용하는 예시적인 방법을 도시한다.
도 3a는 본 명세서에서 설명되는 실시예들에 따른, 모바일 디바이스와 원격 통신 디바이스들 사이의 예시적인 통신을 도시한다.
도 3b는 본 명세서에서 설명되는 실시예들에 따른, 모바일 디바이스와 복수의 고유한 원격 통신 디바이스 사이의 예시적인 통신 네트워크를 도시한다.
도 4는 본 발명의 실시예들에 따른, UI 애플리케이션의 모바일 디바이스 측에 대한 소프트웨어 및 하드웨어 구성 요소들의 예시적인 블록 다이어그램을 도시한다.
도 5는 본 발명의 실시예들에 따른, UI 애플리케이션의 원격 하드웨어 측에 대한 소프트웨어 및 하드웨어 구성 요소들의 예시적인 블록 다이어그램을 도시한다.
도 6은 예시적인 모바일 디바이스와 예시적인 원격 하드웨어 디바이스 사이에서 발생하는 통신의 예시적인 개요를 도시한다.
도 7a는 UI가 캐싱되지(cached) 않을 때, 예시적인 모바일 디바이스와 예시적인 원격 하드웨어 디바이스 사이에서 발생하는 예시적인 통신을 도시한다.
도 7b는 UI가 캐싱될 때, 예시적인 모바일 디바이스와 예시적인 원격 하드웨어 디바이스 사이에서 발생하는 예시적인 통신을 도시한다.
도 8은 도 4a 또는 도 4b의 초기 통신 이후에, 예시적인 모바일 디바이스와 예시적인 원격 하드웨어 디바이스 사이에서 발생하는 예시적인 통신을 도시한다.
도 1b는 도 1a의 예시적인 통신 모듈의 예시적인 내부 구성 요소들의 블록 다이어그램을 도시한다.
도 2는 본 명세서에서 설명되는 예시적인 시스템을 사용하는 예시적인 방법을 도시한다.
도 3a는 본 명세서에서 설명되는 실시예들에 따른, 모바일 디바이스와 원격 통신 디바이스들 사이의 예시적인 통신을 도시한다.
도 3b는 본 명세서에서 설명되는 실시예들에 따른, 모바일 디바이스와 복수의 고유한 원격 통신 디바이스 사이의 예시적인 통신 네트워크를 도시한다.
도 4는 본 발명의 실시예들에 따른, UI 애플리케이션의 모바일 디바이스 측에 대한 소프트웨어 및 하드웨어 구성 요소들의 예시적인 블록 다이어그램을 도시한다.
도 5는 본 발명의 실시예들에 따른, UI 애플리케이션의 원격 하드웨어 측에 대한 소프트웨어 및 하드웨어 구성 요소들의 예시적인 블록 다이어그램을 도시한다.
도 6은 예시적인 모바일 디바이스와 예시적인 원격 하드웨어 디바이스 사이에서 발생하는 통신의 예시적인 개요를 도시한다.
도 7a는 UI가 캐싱되지(cached) 않을 때, 예시적인 모바일 디바이스와 예시적인 원격 하드웨어 디바이스 사이에서 발생하는 예시적인 통신을 도시한다.
도 7b는 UI가 캐싱될 때, 예시적인 모바일 디바이스와 예시적인 원격 하드웨어 디바이스 사이에서 발생하는 예시적인 통신을 도시한다.
도 8은 도 4a 또는 도 4b의 초기 통신 이후에, 예시적인 모바일 디바이스와 예시적인 원격 하드웨어 디바이스 사이에서 발생하는 예시적인 통신을 도시한다.
다음의 상세한 설명은 본 발명의 원리들을 제한으로서가 아닌, 예시로서 도시한다. 이 설명은 분명히 본 기술 분야의 통상의 기술자가 본 발명을 실시하고 사용할 수 있게 할 것이며, 현재 본 발명을 수행하는 데 최적의 모드라고 여겨지는 것을 포함하여 본 발명의 몇몇 실시예들, 조정들, 변형들, 대체들 및 사용들을 설명한다. 도면은 본 발명의 예시적인 실시예들의 도식적이고 개략적인 표현이며, 본 발명을 제한하는 것도, 반드시 축척에 맞게 그려진 것도 아님을 이해해야 한다.
사용자가 원격 디바이스와 관련된 특정 애플리케이션 또는 원격 디바이스의 특성을 알 필요 없이, 모바일 디바이스로부터 각각의 원격 디바이스와 관련된 개별 사용자 인터페이스들(UI들)을 통해 원격 디바이스와 상호 작용할 수 있도록 허용하는 시스템 및 방법들이 설명된다. 또한, 하나의 모바일 디바이스가 단일 애플리케이션을 통해서 복수의 원격 디바이스와 관련된 고유한 사용자 인터페이스들을 디스플레이하는 데 사용될 수 있도록 실시예들이 사용될 수 있다.
본 명세서에서 설명되는 예시적인 실시예들에서, 원격 디바이스는 구성 정보를 사용자의 모바일 디바이스에 전송하여, 모바일 디바이스 상에서 상이한 UI들을 온-더-플라이(on the fly) 방식으로 렌더링하도록 야기할 수 있다. 예시적인 실시예들은 스마트폰들 및 태블릿들, 및 개인용 컴퓨터들, 시계들 등을 포함하는 다른 유사한 디바이스들과 같은 전자 디바이스들을 위한 푸시 사용자 인터페이스(PUI)로서 사용될 수 있다.
예시적인 시스템은 하나 이상의 원격 디바이스들과 관련된 모바일 디바이스 상의 고유한 사용자 인터페이스와의 통신 및 이것의 디스플레이를 허용한다. 따라서, 시스템은 사용자 인터페이스 및 프로세서를 갖는 모바일 디바이스, 및 메모리를 갖는 원격 디바이스를 포함하며, 여기서 모바일 디바이스 및 원격 디바이스는 또한 통신 인터페이스들을 포함한다. 시스템은, 원격 디바이스에 고유하고 특정한 사용자 인터페이스를 그것과 관련된 명령어들에 따라 생성하기 위해서, 원격 디바이스 상에 저장된 정보로부터 수신된 명령어들을 수신 및 해석하도록, 모바일 디바이스 상에서 저장되고 실행되는 일반 애플리케이션을 사용한다. 시스템은 모바일 디바이스 상에서 실행되는 단일 다운로드된 기본 애플리케이션을 통해, 복수의 원격 디바이스 중 상이한 것들과 관련된 복수의 고유한 사용자 인터페이스들을 디스플레이하는 데 사용될 수 있다. 따라서, 시스템은, 각각의 원격 디바이스와 관련된 모바일 디바이스로부터 상이한 애플리케이션들을 개별적으로 식별하고 다운로드할 필요 없이 사용될 수 있다.
본 발명의 실시예들이 본 명세서에서 모바일 디바이스들에 관하여 설명되고 도시될 수 있지만, 본 발명의 실시예들이 이에 제한되는 것은 아니며, 추가적으로 무선 통신 능력, 메모리, 프로세서, 및 사용자 인터페이스를 갖는 임의의 디바이스에 적용 가능하다는 것을 이해해야 한다. 본 명세서에서 설명되는 모바일 디바이스들의 예시적인 실시예들은 호스트 애플리케이션을 통해 사용자에게 UI를 디스플레이하기 위한 사용자 인터페이스를 포함하는데, 예를 들어, 도 4를 참조하라.
본 명세서에서 설명되는 예시적인 실시예들은 원격 디바이스들에 관한 것이다. 원격 디바이스들은 임의의 물리적인 객체일 수 있으며, 본 명세서에서 설명되는 바와 같이, 통신 모듈들에 연결되었거나, 통신 모듈과 통합되었을 수 있다. 통신 모듈은 모바일 디바이스와 통신하기 위한 임의의 전자 구성 요소일 수 있고, 모바일 디바이스가 UI를 렌더링하기 위한 프로그램 코드를 그 안에 저장했을 수 있다.
시스템은, 원격 디바이스로부터 모바일 디바이스로의 고유한 사용자 인터페이스를 생성하기 위한 정보를 이전하고 실행하기 위해, 모바일 디바이스와 원격 디바이스 사이의 통신 인터페이스들을 사용한다. 통신 인터페이스의 예시적인 실시예는 명령어들을 실행하고 WiFi, 블루투스, 또는 다른 수단을 사용하여 다른 디바이스와 통신하기 위한, 프로세서를 갖는 무선 RF 모듈 또는 IC를 사용한다. 예시적인 RF 모듈은 플래시(비휘발성(non-volatile)) 메모리를 갖는 마이크로프로세서 및 무선 트랜시버(radio transceiver)를 포함한다. 원격 디바이스와 관련된 통신 인터페이스의 경우, RF 모바일은 무선 트랜시버 및 마이크로프로세서를 둘러싸는 하우징(housing)을 포함할 수 있고, RF 모듈의 안과 밖으로 전력 및 데이터를 제공하기 위해 하우징에 연결된 복수의 핀(pin)을 포함할 수 있다. 예시적인 프로세서는 RF 모듈의 핀들을 컨트롤하고, LED들, 도어록(door lock)들 등과 같은, RF 모듈에 로컬(local)이거나 연결되는 하드웨어와 상호 작용하기 위한 명령어들을 실행할 수 있다. RF 모듈은 RF 모듈 내부에 사용자 코드를 저장하기 위한 메모리를 포함할 수 있다. 사용자는 마이크로컨트롤러 자체에서 실행되는 것을 목적으로 하는 그들 자신의 코드(프로그램)를 로드(load)할 수 있다.
통신 인터페이스의 예시적인 실시예들은 초저전력 블루투스(Ultra Low Power Bluetooth) 스마트폰 접속을 가지며, 또한 점 대 다지점 통신(point to multi-point communication)을 가지는 마이크로 크기의 무선 RF 모듈을 포함한다. 마이크로 크기는 RF 모듈이 관련되는 물리적 객체에 기반하여, 본 기술 분야의 통상의 기술자에 의해 결정될 수 있다. 예를 들어, RF 모듈의 크기가 25 mm x 25 mm, 또는 대략 15 mm x 15 mm 미만인 경우, RF 모듈은 마이크로 크기일 수 있다. 예시적인 RF 모듈은 RF Digital Corporation에 의해 판매되는 RFD22301일 수 있으며, 이는 플래시(비휘발성) 메모리를 갖는 마이크로프로세서 및 무선 트랜시버를 포함한다. 이 모듈 내부에는 128k의 이용 가능한 사용자 코드 공간이 있으며, 사용자는 마이크로컨트롤러 자체에서 실행되는 것을 목적으로 하는 그들 자신의 코드(프로그램)를 로드할 수 있다.
통신 디바이스는 무선 통신기(wireless communicator)를 포함하며, 이는 세계에서 이용 가능한 임의의 수십 개의 무선 블루투스 저에너지 디바이스(Bluetooth Low Energy device)들 중 하나일 수 있다. 블루투스는 스마트폰들에의 통신 수단으로의 사용을 위한 것 같이 단지 예시적이며, 다른 유형의 통신이 사용될 수 있다. 본 명세서에서 설명되는 예시적인 실시예가, 모바일 디바이스와 원격 통신 디바이스 사이에서 통신하기 위해 블루투스 저에너지를 사용하지만, 통신 및 모바일 디바이스들이 블루투스 저에너지를 사용할 필요는 없기 때문에, 실시예들은 이에 제한되지 않는다. 블루투스 저에너지는 사용될 수 있는 기본 프로토콜들 중 하나일 뿐이고, 임의의 하나의 프로토콜에 제한되지 않는다. 예를 들어, 블루투스, NFC(Near Field Communication), WiFi, 셀룰러 등과 같은 임의의 무선 프로토콜이 사용될 수 있다.
도 1a는 본 명세서에서 설명되는 실시예들에 따른, 예시적인 RF 모듈(10)의 평면도를 도시한다. RF 모듈(10)은 도 1b에 도시된 것들과 같은 예시적인 구성 요소들을 둘러싸는 하우징(12)을 포함할 수 있다. 하우징(12)은 RF 모듈(10)에 또는 RF 모듈로부터, 전력 또는 데이터를 수신하거나 송신하기 위한 하나 이상의 핀들 또는 커넥터(connector)들(14)을 포함할 수 있다. 도 1b는 RF 모듈(10)의 예시적인 내부 구성 요소들의 블록 다이어그램을 도시한다. RF 모듈(10)은 프로세서(16), 메모리(20), 및 안테나(18)를 포함할 수 있다. 메모리는 예를 들어, RAM(20A) 및 플래시(20B)를 포함할 수 있다. 메모리는 사용자 애플리케이션들 및 프로그램 코드를 위해 이용 가능할 수 있다. 프로세서(16)는 메모리 내에 저장되는 명령어들을 수신하여 실행하고, 본 명세서에서 설명되는 기능들을 수행하도록 구성된다. 안테나(18)는, RF 모듈이 본 명세서에서 설명되는 모바일 디바이스와 같은 다른 디바이스들과 통신할 수 있도록, 무선 주파수 신호(radio frequency signal)들이 전송되고 수신되는 것을 허용한다.
예시적인 RF 모듈은 그것의 탑재된(on-board) 블루투스 라디오를 통해 모바일 디바이스와 통신할 수 있다. RF 모듈은 컨트롤 신호들 및 가변 데이터를 사용자에게 디스플레이하기 위해, 그 자체로부터 또는 RF 모듈에 접속되는 다른 디바이스들로부터 모바일 디바이스에 송수신할 수 있다.
본 명세서에서 설명되는 예시적인 실시예들은, 프레임워크(framework)에 대한 명령어들을 모듈 상에 저장하고, UI를 모바일 디바이스 상에 구성할 정보들을 저장하는 이중 목적을 위해 RF 모듈 내에서 예시적인 메모리(즉, 도 2의 128 kb의 코드 공간)를 사용하는데, 예를 들어, 도 5를 참조하라. 그런 다음, 일단 모바일 디바이스가 모듈과 통신하면, UI 설명(UI description)은 자동적으로 또는 선택적으로 모바일 디바이스에 업로드될 수 있다. 이것은 사용자가 인터페이스하길 원하는 상이한 유형의 원격 디바이스마다 새 애플리케이션들을 가서 다운로드(go and download)할 필요를 없앤다.
도 2는 본 명세서에서 설명되는 실시예들을 사용하는 방법의 예시적인 블록 다이어그램을 도시한다. 단계(22)에서, 통신 모듈은 자신의 프로그램 코드, 및 모바일 디바이스 상에 디스플레이될 UI 프로그램 코드로 프로그래밍된다. 예시적인 실시예에서, 모바일 디바이스 UI 및 로컬 프로그램(local program) 둘 다는 원격 디바이스에서 실행되는 동일한 프로그램에 기입된다. 단계(24)에서, 통신 모듈은 선택적으로 물리적 객체에 연결되거나 물리적 객체와 통합될 수 있다. 통신 모듈은 또한 물리적 객체와 통합될 필요가 없도록 그 자체로 사용될 수 있다. 예시적인 물리적 객체들은 사용자 인터페이스가 그에 관한 정보를 제공하도록 구성되는 수동적 객체들일 수 있다. 예를 들어, 물리적 객체는, 사용자 인터페이스가 날짜, 아티스트(artist), 가치(value), 등과 같은 정보를 사용자에게 디스플레이하도록 구성되는 아트워크(artwork)일 수 있다. 예시적인 물리적 객체들은 또한, 정보 또는 데이터가 사용자에게 송신되거나 사용자로부터 수신되고 사용자 인터페이스 상에서 사용자에게 디스플레이되도록 구성된 것들일 수 있다. 예를 들어, 물리적 객체들은 진단 모니터들(온도, 습도, 심박수, 유속들 등과 같은 생물학적 및 비생물학적 사용을 위한 것임)을 포함할 수 있다. 그러므로, 예시적인 물리적 디바이스들은 임의의 객체일 수 있다.
단계(26)에서, 사용자는 모바일 디바이스 상에 일반 애플리케이션을 다운로드한다. 일반 애플리케이션은 사용자 인터페이스를 지원하기 위한 프레임워크(frame work)를 제공하지만, 단계(22)의 물리적 객체 또는 애플리케이션과 관련되는 임의의 특정한 구성 또는 명령어들은 포함하지 않는다. 모바일 디바이스 상에서 실행되는 호스트 프로그램은, 모바일 디바이스의 특정한 유형 및 클래스(class)에 고유한 프로그래밍 언어들로 기입될 수 있다.
단계(28)에서, 사용자는 통신 모듈의 구성된 거리 내에 모바일 디바이스를 가져온다. 그런 다음, 통신 모듈은 UI 프로그램 코드를 모바일 디바이스에 송신한다. 단계(30)에서, 일반 애플리케이션은, 애플리케이션 또는 물리적 객체에 특정한 사용자 인터페이스를 사용자에게 디스플레이하기 위해 UI 프로그램 코드를 실행한다. 단계(32)에서, 모바일 디바이스가 통신 디바이스의 근접 영역(proximity)으로부터 제거될 때, 통신 디바이스와 모바일 디바이스는 접속 해제된다(disconnected).
반복되는 단계들(22, 24)에 의해 도시되는 바와 같이, 단계들(22 및 24)에서, 임의의 수의 복수의 디바이스가 프로그래밍되고 모바일 디바이스와 통신할 수 있도록, 방법의 일부들이 반복될 수 있다. 사용자는 26에서 단일 일반 애플리케이션을 다운로드한 후에, 복수의 원격 디바이스 중 임의의 하나 이상의 디바이스와 접속 및 접속 해제하기 위해 단계들(28, 30, 및 32)을 반복할 수 있다. 단계들(26, 28, 및 30)은 또한, 상이한 제거 디바이스들과 관련되는 복수의 UI가 별개의 UI 윈도우들(windows)에서 동시에 실행 또는 디스플레이되거나, 단일 UI 경험(experience)을 형성하기 위해 통합될 수 있도록, 다수의 원격 디바이스들로 반복될 수 있다.
일반 앱, 통신 모듈의 프로그램 코드, 및 이들의 조합들은 특정한 구성 파라미터들(parameters)을 포함할 수 있다. 예를 들어, 모바일 디바이스의 사용자 또는 원격 통신 디바이스의 생성자는 모바일 디바이스가 통신 모듈과 상호 작용할 임계 거리(threshold distance)를 선택할 수 있다. 이는 하드웨어, 소프트웨어, 또는 이들의 조합을 통해 컨트롤될 수 있다.
일반 앱은 또한, 특정 사용자가 통신 모듈로부터 수신되는 동일한 프로그램 코드가 주어지면 디스플레이되는 UI를 구성할 수 있도록 구성될 수 있다. 예를 들어, 모바일 디바이스의 사용자는, 모바일 디바이스 및 원격 디바이스의 특정 조합에 대한 고유한 사용자 인터페이스를 렌더링하기 위해, 통신 모듈로부터 수신되는 프로그램 코드로 해석되는 폰트(font) 크기들, 디스플레이 위치들, 언어들 등을 선택할 수 있다. 그러므로, 시스템은 복수의 원격 디바이스 중 각각의 원격 디바이스에 대해 고유한 사용자 인터페이스가 생성되도록 구성될 수 있다. 나아가, 시스템은 고유한 사용자 인터페이스가 개별 사용자 인터페이스, 또는 원격 디바이스와 통신하는 특정한 모바일 디바이스에 기반하는 사용자 인터페이스 옵션들의 미리 설정된 선택으로 변경될 수 있도록 구성될 수 있다. 그러므로, 고유한 사용자 인터페이스는 고유할 수도 있고 그렇지 않을 수도 있으며, 또는 동일한 원격 디바이스와 통신하는 모바일 디바이스들에 걸쳐 반-고유(semi-unique)할 수도 있고 그렇지 않을 수도 있다.
예시적인 실시예에서, 통신 디바이스는 또한 하나보다 많은 프로그램 코드 옵션을 모바일 디바이스에 제공할 수 있다. 그런 다음, 모바일 디바이스는 이용 가능한 것들로부터 특정한 하나의 프로그램 코드를 선택하도록 사용자에 의해 구성될 수 있다. 예를 들어, 언어에 기초하여 상이한 프로그램 코드들이 이용 가능할 수 있다. 모바일 디바이스의 사용자는, 이용 가능한 프로그램 코드들로부터 어느 프로그램 코드를 검색하고 실행할지를 자동으로 선택하도록 일반 앱을 프로그래밍할 수 있다.
통신 모듈 및/또는 일반 앱은 또한, 통신을 자동으로 수락할지 여부; 통신을 허용하기 전에 검증이 필요한지 여부 및 어떤 종류의 검증이 필요한지; 하나 이상의 이용 가능한 통신이 제시, 선택, 또는 론칭되는 방법 및 방식 등과 같은 다른 구성 파라미터들을 가질 수 있다.
본 명세서에서 설명되는 예시적인 시스템들 및 방법들은 원격 디바이스들의 모든 상이한 유형들 및 클래스들과 함께 사용될 수 있다. 단일 애플리케이션이 모바일 디바이스 상에서 실행될 때, 단일 애플리케이션은 모바일 디바이스 요건들에 따라 모바일 디바이스와 인터페이스할 수 있다. 그러나, 단일 애플리케이션은 원격 디바이스의 임의의 상이한 유형 또는 클래스로부터 명령어들을 수신하기 위한 통합 플랫폼(unified platform)을 제공할 수 있다. 그러므로, 예시적인 실시예에서, 모바일 디바이스가 무선으로 통신하는, 모바일 디바이스 외부에 있는 원격 디바이스는 사용자가 보는 실제 프로그램을 저장하고 UI 설명을 모바일 디바이스에 푸싱(Pushing)(업로딩)할 책임이 있다. 원격 디바이스는 또한 사용자 인터페이스를 창출하기 위한 프로그램의 일부들 또는 명령어들을 저장 및 업로드하거나, 다른 설명들, 코드들, 또는 사용자 인터페이스의 하나 이상의 속성들을 정의하기 위한 다른 메커니즘들을 저장 및 푸싱할 수 있다. 원격 모듈 디바이스에 의해 모바일 디바이스에 업로드되는 이 UI 설명은 애플리케이션 스토어로부터 다운로드된 모바일 디바이스에 고유한 하위 레벨 프로그램의 최상위에서 실행되는 제2 레벨 프로그램으로 고려될 수 있다.
예시적인 실시예에서, 복수의 원격 디바이스는 단일 사용자 인터페이스를 생성하기 위해 상호 작용할 수 있다. 예를 들어, 제1 원격 디바이스는 제1 고유한 사용자 인터페이스를 생성할 수 있다. 하나 이상의 다른 원격 디바이스들은 하나 이상의 다른 고유한 사용자 인터페이스들을 제공하기 위해 제1 고유한 사용자 인터페이스를 추가하거나 변경하는 데 사용될 수 있다. 예를 들어, 추가 원격 디바이스들은 추가 UI 특징들을 언록(unlock)하거나 이용 가능하게 하는 데 사용될 수 있다.
예시적인 실시예에서, 업로드된 UI 설명은 또한 사용자에 대한 사용자 인터페이스(UI)의 맞춤화(customization)로 고려될 수 있다. 이것은 타이머들, 및 특정한 거동들을 위한 트리거들 또한 포함할 수 있다. 또한, UI는 사용자에 대한 그래픽 및 사용자 입력들 및 디스플레이들을 제안하는 UI에만 제한되는 것이 아니라, 사용자에의 임의의 데이터 전송(즉, 디스플레이, 사운드(sound), 또는 다른 감각(sensory) 인터페이스)을 포함한다. 그러므로, 본 발명의 실시예들이 모바일 디바이스의 디스플레이 상에 나타내기 위한 시각적 사용자 인터페이스에 관해 본 명세서에서 설명되고 도시될 수 있지만, 본 발명의 실시예들은 또한 사운드 출력을 제공하는 스피커들과 같은 다른 사용자 인터페이스 디바이스들에 적용 가능하다는 것을 이해해야 한다. 사용자 인터페이스는 원격 디바이스로부터 수신되고, 호스트 프로그램을 통해 실행 가능하고, 호스트 프로그램에 의해 론칭되거나, 모바일 디바이스 상에 저장되거나, 모바일 디바이스 상에 직접 저장되고 론칭되는 임의의 실행 가능한 명령어들 또는 그들의 일부일 수 있다. 그러므로 UI는 모바일 디바이스와 통신 모듈 간의 정보의 수신 및 송신의 임의의 조합을 포함한다.
예시적인 실시예에서, 모든 전화들 상의 사용자 앱은 단일 앱이고, 주어진 사용자 인터페이스를 정의하는 변수들은 브로드캐스트 모드의 원격 디바이스로부터 지정된 범위 내의 임의의 모바일 디바이스에 송신된다. 범위는 모바일 디바이스 및/또는 원격 통신 디바이스의 사용자에 의해 설정될 수 있다.
예시적인 실시예에서, 푸시-UI(Push-UI)는 HTML, 또는 다른 마크 업(mark-up) 언어를 사용하지 않는다. 배터리들로 실행할 수 있는 초저전력(ultra-low power) 디바이스들에 대한 수요가 많다. 디바이스가 배터리로 실행될 때, 매우 적은 양의 데이터를 매우 빨리 송신하여야 하며, 주어진 기능을 수행하는 데 필요한 것들로 활동들을 제한해야 한다. HTML은 이것에 잘 맞지 않고, 매우 무겁고 복잡하다. 예시적인 실시예에서, 푸시-UI는 고유하게 설계된 매우 작은 컨트롤들의 세트를 사용하는데, 이는 바이너리 방식(binary fashion)으로 전송되며, 개발자가 사용자의 상호 작용을 위해 커스텀 버튼(custom button)들, 슬라이더(slider)들, 객체들, 컬러(color)들, 텍스트, 사진들, 및 다른 UI 객체들을 모바일 디바이스 디스플레이 상에 생성하도록 허용한다. 원격 디바이스는 소량의 데이터를 모바일 디바이스에 무선으로 송신하여, 모바일 디바이스가 정보를 사용자에게 그래픽으로 렌더링하도록 야기하고, 실용적이고 효과적인 쉬운 상호 작용을 가능하게 하는데, 예를 들어, 도 6 및 도 8을 참조하라. 예시적인 실시예에서, 소량의 데이터는 128 kb 또는 그 이하의 메모리 내에 저장되는 데이터의 양이다. 예시적인 실시예에서, 푸시-UI는 HTML을 사용하여 설명된다.
원격 디바이스 상에 코드로 저장하는 것이 가능한 것보다 더 큰 디스플레이 객체들이 필요한 경우, 참조 또는 플레이스홀더(placeholder)가 객체의 대표(representative)로서 사용될 수 있다. 예를 들어, 코드는 모바일 디바이스에 송신되는 참조 ID를 포함할 수 있고, 모바일 디바이스는 참조 ID와 관련되는 더 큰 파일 크기를 저장한 인터넷과 같은 네트워크에 무선 접속을 통해 접속할 것이다. 그런 다음, 모바일 디바이스는 큰 크기의 이미지 파일, 또는 다른 유형의 파일, 아마도 음악 파일을 모바일 디바이스가 접속할 수 있는 인터넷으로부터 다운로드할 것이고, 검색된 파일을 일반 애플리케이션을 통해 실행할 것이다. 시스템은 또한 사용될 수 있는 더 큰 크기의 파일들이 복수의 원격 디바이스와 함께 사용되기 전에 모바일 디바이스 상에 다운로드되고 미리 로드될(pre-loaded) 수 있도록 구성될 수 있다. 예를 들어, 사용자가 트레이드 쇼(trade show)에 참가하는 경우, 사용자는, 고유한 UI가 모바일 디바이스 상에서 렌더링될 때, 모바일 디바이스 상에서 사용될 더 큰 파일들에의 액세스를 제공하기 위해, 트레이드 쇼의 원격 디바이스들 상에 저장되는 UI 코드와 함께 사용되는 트레이드 쇼 파일을 트레이드 쇼에 앞서 다운로드할 수 있다. 그러므로, 시스템의 실시예들은 더 큰 데이터 파일들을 호스팅하는 인터넷 또는 네트워크에 대한 모바일 디바이스의 연속 접속 또는 동시 접속 없이, 더 큰 UI 렌더링에 사용될 수 있다.
예시적인 실시예에서, 푸시-UI는 그 자체의 환경이다. 그러므로 이것은 업계 표준들을 따르지 않거나, 준수하지 않을 수 있다. 이것은 단일 참조 점(point of reference)을 사용할 수 있고, 사용자는 그 참조로부터의 픽셀 단위의 X와 Y 거리들을 사용하여, 그들이 원하는 곳 어디에서든, 심지어 중첩(overlapping)하여서도, 텍스트 또는 이미지들 또는 컨트롤들을 디스플레이하도록 매우 쉽게 코드화(code)할 수 있으며, 따라서 규칙들은 자유롭고 유려하다.
본 명세서에서 설명되는 예시적인 실시예들은 사용자가 원격 디바이스에 의해 제공되는 2차 코드의 수신을 수락하거나 거절하도록 허용하기 위해 사용될 수 있다. 또한, 사용자는 어떤 패킷들을 수락할 것인지 거절할 것인지를 미리 선택함으로써, 또는 디스플레이 스타일 또는 UI와 관련되는 다른 맞춤형(customizable) 특징들을 선택함으로써, 수신된 정보를 맞춤화(customize)할 수 있다. 그러므로, 모바일 디바이스의 각각의 사용자는, 동일한 UI 2차 프로그램을 푸싱하는 동일한 원격 디바이스에 접근할 때, 상이한 UI 결과들을 수신할 수 있다.
예시적인 실시예에서, 모바일 디바이스의 사용자는, 사용자의 선택에 의해, 이러한 종류의 관계를 다수의 원격 디바이스들과 가지도록 선택할 수 있고, 또는 아마도, 모바일 디바이스 상의 특정한 세팅들에 의해, 업로드된 UI 설명을 수신할 원격 노드들의 쉬운 선택을 허용하거나 허용하지 않도록 설정할 수 있다. UI 설명을 선택하면 UI가 모바일 디바이스 상에 디스플레이되는 것이 허용될 것이고, 모바일 디바이스가 그 UI를 그들에게 푸시한 RF 모듈과 상호 작용하는 것이 허용될 수 있는데, 예를 들어, 도 6을 참조하라. 예를 들어, 도 3a에 도시되는 바와 같이, 사용자는 그들의 모바일 디바이스를 통해서, 단일 원격 하드웨어 디바이스와 상호 작용할 수 있다. 모바일 디바이스는 또한 임의의 하나의 원격 디바이스간의 통신이 도 3a의 것과 동일하도록, 복수의 원격 하드웨어 디바이스와 순차적으로 또는 개별적으로 통신할 수 있다. 대안적으로, 도 3b에 도시되는 바와 같이, 사용자는 그들의 모바일 디바이스를 통해서, 복수의 네트워크화한(networked) 원격 하드웨어 디바이스와 상호 작용할 수 있다. 도 3b에 도시되는 바와 같이, 또한, 하나 이상의 원격 하드웨어 디바이스들이, 연결된 원격 하드웨어 디바이스들의 체인을 통해 필요한 정보를 원격 모바일 디바이스에 전파하도록, 원격 하드웨어 디바이스들은 서로 상호 작용할 수 있다. 대안적으로, 정보가 단지 원격 하드웨어 디바이스들의 통신 디바이스들 사이에서 전달 및/또는 저장되도록, 모바일 디바이스는 선택적일 수 있다. 또한, 별도의 모바일 디바이스가 필요하지 않도록, 하나 이상의 원격 디바이스들은 복수의 원격 디바이스 중 다른 디바이스에 대한 사용자 인터페이스를 포함할 수 있다.
예시적인 실시예에서, 모바일 디바이스 상으로 로드되는 일반 앱은 복수의, 가능하게는 무한한 수의 원격 노드(예를 들어, 블루투스 저에너지를 사용하고 있을 수 있는 RF 모듈들)와의 통신을 허용하는 단일 프로그램이다. 일반 애플리케이션이 모바일 디바이스 상에서 실행될 때, 이것은 사용자들 또는 원격 디바이스들에게 통신의 범위 내에 있는 것에 기반하여 그것이 통신할 수 있는 모든 상이한 원격 RF 모듈 노드들의 목록(list)을 제시하기 위한 목록 특징을 가질 수 있다. 예를 들어, 사용자가 모바일 디바이스와 원격 노드 사이에서 1000 피트(feet) 이하의 거리 내에 있을 때, 원격 노드와 관련되는 UI를 보기 위한 옵션이 사용자에게 제시될 수 있다. 1000 피트 내에서, 사용자가 선택할 수 있도록 사용자의 모바일 디바이스 상의 목록에 표시되는, 수백 이상의 이러한 원격 디바이스들이 있을 수 있다.
선택할 수 있는 가능한 항목들의 그러한 양은 사용자에게 압도적일 수 있고, 실제로 복수의 이용 가능한 디바이스 중에서 하나의 특정한 원격 디바이스에 접속하는 행위가 사용자에게 어려워지게(prohibitive) 만들 수 있다. 예시적인 실시예에서, 원격 노드들은 소정 우선순위(priority) 또는 계층(hierarchy)에 기반하여 사용자의 모바일 디바이스 상에 디스플레이될 수 있다. 예를 들어, 이용 가능한 노드들은 신호 강도, 또는 모바일 디바이스와 원격 노드 사이의 물리적 거리를 결정하는 다른 방법들에 기반하여 정렬될(ordered) 수 있다. 이 특징은 이 활동을 매우 효과적이고, 따라서 유용하게 만든다. 대안적으로, 우선순위의 다른 방법들이 사용될 수 있다. 예를 들어, 우선순위는 가장 최근에 사용된 또는 가장 많이 사용된 선택들이 처음에 또는 마지막에 존재하도록, 사용자의 사용 내역에 기반할 수 있다. 우선순위들의 조합이 또한 사용될 수 있다.
예시적인 실시예에서, 특정한 범위 또는 비교 신호 강도가 달성될 때, 가장 가까운 원격 노드가 목록의 최상위에 있고 선택하기 쉽게 되도록 목록의 자동 재편성(re-organization)이 발생할 수 있다. 그러므로, 사용자는 간단히 모바일 디바이스를 원격 디바이스에 더 가깝게 이동시킴으로써 원하는 선택을 확인할 수 있고, 그것이 최상위 선택에 남아있는 것을 확인할 수 있다.
대안적으로, UI는 하나의 원격 노드의 다른 원격 노드에 대한 미리 결정된(predetermined) 근접도 또는 상대적인 신호 강도에 기반하여, 원격 디바이스와 관련되는 UI를 자동 선택하도록 구성될 수 있다. 그러므로, 사용자가 임의의 주어진 원격 디바이스에 충분히 근접한 경우, UI는 자동으로 론칭할 수 있다. 이 경우에, 근접도는 몇 인치 이내일 수 있거나 심지어 실제 접촉을 요구할 수 있다. 근접도 또는 실제 접촉은, 모바일 폰을 충분히 가깝게 가져오는 행위가 UI를 론칭하려는 갈망을 나타내도록, 신호 강도 또는 물리적 위치 검출에 의해 결정되거나 모바일 디바이스의 다른 센서들(압력, 가속도계, 등)에 의해 결정되는 것과 같은, 원격 디바이스와 모바일 디바이스 사이의 근접도에 의해 검출될 수 있다. 모바일 디바이스의 다른 동작들 또는 행동들, 또는 모바일 디바이스에 대한 다른 동작들 또는 행동들은 UI를 론칭하려는 갈망을 나타내기 위해 사용될 수 있다. 따라서, 예를 들어, 사용자는 관련된 UI를 자동으로 활성화시키기 위해, 모바일 디바이스를 범위 내에 간단히 가져가거나, 접촉하거나, 또는 그렇지 않으면 디바이스를 적절히 배향(orient)시키거나 원격 디바이스에 대해 전화 상에서 또는 전화로 필요한 행동들을 수행할 수 있다. 예를 들어, 사용자는 일반 애플리케이션을 통해 팝업(pop up)하는 수락 옵션들을 선택할 수 있다. 사용자는 또한 UI를 론칭하려는 갈망을 나타내기 위해 원격 디바이스에 관해 모바일 디바이스를 회전(turning)시키는 것과 같이, 원격 디바이스에 관해 전화를 배향시키거나 움직일 수 있다. 특정 동작들, 입력들, 접촉들, 또는 다른 행동들은 특정한 애플리케이션들을 위한 UI를 론칭하는 것에 대한 보호 수단들(safeguards)로서 사용될 수 있다. 예를 들어, 키리스 엔트리와 함께 사용하는 경우, UI가 론칭되기 전에도 전화는 하나 이상의 특정한 동작들 및/또는 하나 이상의 특정한 데이터 입력들을 요구할 수 있다.
예시적인 실시예에서, 원격 노드들 각각의 지리적 위치가 모바일 디바이스에 보고될 수 있고, 이에 의해, 모바일 디바이스 애플리케이션이 로컬 노드들의 집합적 위치들(collective locations)을 목록, 그리드(grid), 맵(map), 또는 다른 포맷으로 사용자에게 그래픽으로 디스플레이하는 것이 허용되고, 사용자가 그들로부터 식별 정보를 쉽게 보는 것이 허용되고, 사용자가 더 친숙한 통신을 수행하기 위해 어느 것에 접속하여 UI를 수신할 것인지 선택하는 것이 허용된다. 또한, 사용자가 특정한 물리적 원격 노드에 대응하는 원하는 위치를 향해 모바일 디바이스를 물리적으로 움직이도록 복수의 원격 노드를 네비게이트하기 위해 그래픽 디스플레이를 사용할 수 있도록, 그래픽 디스플레이는 모바일 디바이스의 위치를 포함할 수 있다.
예시적인 실시예에서, 원격 노드들 전부가 서로 통신하여 그들의 상대적인 위치들에 대한 지속적으로 업데이트되는 맵을 형성할 수 있는 경우, 자동 매핑(auto-mapping) 특징이 이용될 수 있으며, 이는 스마트폰들을 가진 다른 사람들이 모바일 디바이스 및/또는 하나 이상의 원격 디바이스들에 관한 정확한 로컬 맵으로 지속적으로 업데이트되는 것을 허용한다. 도 3b에 나타낸 것과 같은 통신 중계(relay)는 심지어 모바일 디바이스의 범위 밖에 있는 객체들을 식별하는 데 사용될 수 있고, 따라서 모바일 디바이스 또는 다른 원격 디바이스의 근접 영역 내의 모든 객체들을 추적한다.
예시적인 실시예들은 또한, 서로와의 단거리(short range) 매핑을 수행하고, 앞뒤로 데이터를 전달하여, 서로 가까이 있는 모바일 디바이스들(스마트폰들) 자체의 맵을 형성할 수 있는 모바일 디바이스 애플리케이션 자체로서 사용될 수 있다. 예를 들어, 사용자는 수천 명의 사람들 무리 속에 있고, 각 개인의 휴대 전화(cell phone)는 셀룰러 서비스를 전혀 필요로 하지 않고서 모두의 위치들의 맵을 서로에 대해 상대적으로 형성할 수 있고, 자신의 스마트폰을 가진 각 개인은 다른 사람들이 있는 맵 상에서 보고 그들을 찾을 수 있다.
본 명세서에서 설명되는 예시적인 실시예들은 스마트폰들, 태블릿들, 및 유사한 디바이스들에서 블루투스 저에너지(BLE) 인터페이스를 사용하지만, 이것을 사용하는 것으로 제한되지는 않는다. 블루투스 회로를 내장한 스마트폰의 전체 설계 및 목적은 슬레이브 디바이스들(slave devices)과 통신하고 원격 하드웨어로서 그들을 컨트롤하는 것이다. 본 명세서에서 설명되는 실시예들은, 개별 슬레이브 디바이스들에 대한 사용자 인터페이스를 찾고 다운로드하고 접속하는 시간 집약적인 수동 프로세스를 완화한다. 예시적인 실시예들에 따르면, 모든 모바일 디바이스들 또는 스마트 디바이스들 상에 단일 앱이 다운로드 되고, 그 앱이 임의의 원격 하드웨어의 범위에 들어갈 때, 원격 하드웨어는 자동으로 및 무선으로, 적절한 UI 정보를 근거리에 있는 사용자의 모바일 디바이스에 이용 가능하게 만든다. 따라서 사용자는 더 이상 그들 주위 세상에 있는 수백만 개의 상이한 디바이스들 중 하나와 매우 간단하고 흔히 한 번인 인터페이스를 수행하기 위해 앱을 찾고 설치할 필요가 없다.
최신의 스마트폰의 스크린 상에 UI가 렌더링되도록 하는 현재 및 종래의 방법은, 사용자가 심박수 모니터, 체육관의 장비, 그들이 코드를 사용하여 접근하기를 원하고 입장하고자 하는 문들과 같은 무선 디바이스의 사용을 시도하기 전에, 수동으로 미리 그것을 다운로드하는 것이다. 이것은 이러한 애플리케이션들의 전 세상을 실용성의 결여 때문에 사실상 불가능하게 만든다. 푸시-UI는 UI로 하여금 근처에 있는 사용자의 모바일 디바이스 상에 자동으로 간단하게 나타날 수 있게 한다. 사용자는 단순히 애플리케이션을 사용하는데, 이 애플리케이션은 사용자가 인터페이스하고 있던 디바이스로부터 떨어지면 자동으로 없어진다. 완전히 새로운 UI를 사용자의 모바일 디바이스에 업로드하는 데 불과 몇 초가 걸리는데, 예를 들어, 도 7a를 참조하라. UI들은 훨씬 더 빠른 재-렌더링(re-rendering)을 위해 사용자의 모바일 디바이스 내에 캐싱될 수 있으므로, 사용자가 동일 유형의 원격 디바이스로 되돌아갈 때에는 이 시간이 수 밀리초(milliseconds)로 감소될 수 있는데, 예를 들어, 도 7b를 참조하라. 원격 노드에서 푸시-UI 앱이 업데이트 되었다면, 시스템은 사용자의 개입 없이 업데이트들을 자동으로 다운로드할 수 있는데, 예를 들어, 도 7a를 참조하라.
예시적인 실시예들은 또한, 사용자가 전화들에 상관없이 필드 업데이트들(field updates)을 하도록 허용할 수 있다. 사용자는 이전에 론칭되었는지 여부와 관계없이, 더 이상 모든 새 디바이스에 대해 그들의 코드를 계속 업데이트할 필요가 없다. 전화들 및 태블릿들은 6개월마다 바뀌고, 새로운 것들이 론칭되고, 푸시-UI는 원격 제품 제조사가 코딩은 오늘 한 번만 하면서, 내일을 위한 지원을 갖도록 허용한다. 이것은 푸시-UI가 해결하는 최신 산업 제품들의 큰 문제이다. 이러한 기술은 새 전화들 및 디바이스들의 출시와 함께 지속적으로 업그레이드될 필요가 없다. 복수의 애플리케이션은 또한 모바일 디바이스가 교체될 때마다, 복수의 원격 디바이스와의 통신을 계속하기 위해 사용자에 의해 재-다운로드될(re-downloaded) 필요가 없다.
예시적인 애플리케이션들은 무한하다. 예시적인 애플리케이션은 시스템 구성 및 사용에 기반하여 선택될 수 있는 특징들의 조합의 대표로서 본 명세서에서 및 이하에서 제공된다.
본 명세서에서 설명되는 실시예들은 사물 인터넷(internet of things)에서의 애플리케이션을 가진다. 구체적인 예는, 사용자가 상이한 제조사들로부터 커피 메이커 및 냉장고를 구매하는 경우이다. 제1 제조사는 커피 메이커에 특정한 제1 통신 디바이스를 프로그래밍할 수 있고 제1 통신 디바이스를 커피 메이커와 통합할 수 있다. 제2 제조사는 냉장고에 특정한 제2 통신 디바이스를 프로그래밍할 수 있고 제2 통신 디바이스를 냉장고와 통합할 수 있다. 냉장고 및 커피 메이커의 사용자는 두 개의 상이한 애플리케이션을 그들의 전화에 다운로드할 필요가 없을 것이다. 대신, 사용자는 단일 일반 애플리케이션을 다운로드한다. 전화가 커피 메이커의 제1 주어진 근접 영역 내에 들어오게 되면, 커피 메이커에 특정한 사용자 인터페이스가 일반 애플리케이션을 통해 사용자에게 보여진다. 전화가 냉장고의 제2 주어진 근접 영역 내에 들어오게 되면, 냉장고에 특정한 사용자 인터페이스가 사용자에게 보여진다. 그러므로, 사용자는 하나의 푸시 UI 애플리케이션만을 필요로 하며, 모바일 디바이스가 원격 디바이스의 근접 영역 내에 있고 사용자가 그것을 사용하기로 선택할 때, 각 하드웨어 디바이스에 대한 맞춤(custom) UI 설명이 모바일 디바이스에 업로드될 것이다.
예시적인 실시예들은 박물관 또는 아트 갤러리에서와 같이 복수의 객체에 대한 정보를 제공하기 위한 프로그램으로서 사용될 수 있다. 따라서 사용자가 갤러리의 그림과 같은 하드웨어에 물리적으로 가깝다면, 사용자 인터페이스(UI)는 하드웨어 자체에 의해, 그림에 연결되거나 관련되는 통신 모듈로부터 스마트폰에 전송된다. 그러므로, 인터페이스되도록 의도된 모든 원격 하드웨어 디바이스들(즉, 갤러리의 모든 그림)에 대해 개별 앱들을 다운로드해야 하는 필요성이 제거된다. 모바일 디바이스가 그림 근처에 있다면, 그 그림에만 관련된 텍스트 및 아마도 몇 개의 버튼들(buttons) 및 사용자 컨트롤들이 사용자를 위해 렌더링 된다. 사용자가 다른 그림으로 이동하면, 디스플레이가 완전히 상이할 수 있는데, 왜냐하면 그 다음 그림이 더 복잡할 수 있고 사용자를 위해 자동으로 렌더링되는 더 많은 사용자 컨트롤들을 요구하는 더 많은 특징들을 가질 수 있기 때문이다. 그러므로, 각 객체와 관련되는 각 UI는 각 그림과 관련하여 특별히 설계될 수 있다.
예시적인 실시예들은 디스플레이를 위해, 또는 심박수 모니터들과 같은 모니터링 또는 능동 디바이스들을 위한 사용자 인터페이스로서 사용될 수 있다. 예를 들어, RF 모듈은 심박수 모니터에 접속될 수 있고, RF 모듈은 일련 번호와 같은 식별 정보, 심박수 값들, 및 다른 정보를 디스플레이를 위해 심박수 모니터로부터 모바일 디바이스에 송신하도록 구성될 수 있다. 원격 디바이스는 운동화(running shoe)에 연결된 걸음수 카운터(step counter)와 통합될 수 있으며, 여기서 통신 디바이스는 본 명세서에서 설명되는 바와 같은 푸시 UI를 포함한다. 다른 애플리케이션들은 건물(property)용 무선 온도 조절 장치 또는 문에 대한 키리스 엔트리 시스템을 포함한다. 푸시 UI를 사용하면, 사용자가 해야 할 일 전부는 그들의 전화 또는 모바일 디바이스에 단일 앱을 다운로드하는 것뿐이고, 이 세 가지 매우 상이한 유형의 제품들 각각에 필요한 맞춤 프로그램들이 앱 스토어를 거치지 않고 제품으로부터 모바일 디바이스에 푸시된다(제품 또는 하드웨어 자체로부터 로드됨).
본 명세서에서 설명되는 실시예들은 인벤토리(inventory)와 같은 객체들을 추적하거나 맵핑하는 데 사용될 수 있다. 예를 들어, 로컬 맵은 자동차 대리점에서 사용될 수 있는데, 여기서 주차장(car lot) 내에서 모바일 디바이스를 지닌 사용자 주변의 모든 차량들의 로컬 맵이 모바일 디바이스 상에 디스플레이될 수 있다. 따라서, 자동차가 항상 여기저기 돌아다니더라도, 디스플레이되는 맵, 및 사용자에 의해 선택될 근접 영역에 있는 차량들마다 디스플레이되는 관련 상대 정보는 최신으로 자동 업데이트될 것이다.
예시적인 실시예들은 스루풋 효율들(throughput efficiencies)을 개선하거나, 큐들(queues) 또는 라인들(lines)을 교체하거나, 그들이 어떤 라인 또는 큐에 있어야 하는지 등과 같은 정보를 사용자에게 제공하는 데 사용될 수 있다. 예시적인 애플리케이션에서, 사용자는 약국 안으로 걸어 들어가서, 물리적으로 줄을 서서 기다리는 대신에 그들의 처방에 관하여 그들의 스마트 디바이스를 사용하여 그들의 양식을 채울 수 있다. 그러면, 사용자들이 약국 카운터의 범위 내에 있을 때, 특수한 UI가 그들의 전화 상에 렌더링되어, 그들이 서려고 했던 라인이 어떤 라인인지 및 그것의 기능을 이해하도록 허용하기 때문에, 사용자는 자유롭게 걸어다닐 수 있다. 사용자는 또한 일반 애플리케이션을 통해 특정 언어 선택들을 미리 선택했을 수 있고, 그에 의해 사용자는 수신한 정보를 그들이 스스로 미리 선택한 언어로 읽을 수도 있게 된다. 그러므로, 예시적인 실시예들은 언어 장벽을 극복하기 위해 사용될 수 있다. 모바일 디바이스는 수신된 정보를 번역하는 데 사용될 수 있거나, 모바일 디바이스는 언어 선택들에 기반하여, 원격 디바이스로부터 송신된 어떤 UI를 사용할지 결정할 수 있다. 그러므로, 특정한 UI 옵션들은 UI 데이터와 함께 브로드캐스팅될 수 있고, 그에 의해 모바일 디바이스는 어떤 UI를 선택할지 결정할 수 있게 된다.
또 다른 큐의 예시로서, 예시적인 실시예들은 또한 드라이브 스루(drive through) 방식의 음식 주문에 사용될 수 있다. 운전자가 드라이브 스루에 멈춰 설 때, 스마트폰 또는 차량 디스플레이 상에 메뉴가 렌더링되어, 운전자가 상호 작용하면서 실시간으로 주문을 하도록 허용한다. 이것은 또한, 운전자가 다른 드라이브 스루에 들어가서 해당 드라이브 스루와 관련하여 디스플레이되는 완전히 상이한 UI를 갖도록 허용한다.
푸시-UI는 인기 있는 자산 추적기들(asset-trackers)과 함께 사용될 수 있는데, 이는 비콘(beacon)으로서 동작하고, 스마트폰에 의해 수신되는 전송 신호(transmission)를 때때로 송신하고, 당신의 개인 물품들을 찾을 수 있도록 당신을 도와주기 위해 그것이 부착된 객체까지의 거리를 나타내는 블루투스 저에너지 디바이스이다. 푸시-UI가 이 애플리케이션에서 사용되는 경우, 디바이스 자체가 자산 자체에 대한 중요한 정보를 보유할 수 있고, 전문적인 애플리케이션들을 가진 사용자에 의한 많은 확인 및 설정을 요구하지 않는다.
예시적인 실시예들은 또한 스마트 디바이스들에 광고하기 위해 사용될 수 있다. 예시적인 실시예에서, 사용자가 트레이드 쇼와 같은 특정한 영역에 들어갈 때, 시스템은 거의 확실히 사용될 것을 예상하여, 사용자의 스마트폰 상에 파일들의 사전 로딩(pre-loading)을 야기할 수 있다. 이것은 사용자가 데이터를 이용할 수 있을 때의 속도를 급격하게 향상시킨다.
또한, 사용자가 트레이드 쇼에 참석하고, 수백 개의 부스들(booths)을 지나가는 경우, 각 부스는 그곳에 위치한 무선 디바이스(radio device)를 가질 수 있고, 사용자가 그 특정한 부스의 범위 안에 들어갈 때, 본 명세서에 설명되는 실시예들은 특정한 부스의 제공물들(offerings)과 관련되는 정보를 그들의 스마트폰 또는 태블릿 상에 디스플레이할 수 있고, 사용자는 물리적인 상호 작용을 필요로 하지 않고서도 부스 관리자들과 인터페이스할 수 있다. 사용자는 사용자가 물리적 라인에 서 있을 필요가 없도록, 큐들에 자신들을 추가할 수 있다. 사용자는 부스 관리자들과 정보를 교환하도록 선택할 수도 있고 교환하지 않도록 선택할 수도 있다. 이것은 쇼에서 배지를 들고 다니면서 배지를 스캐닝(scanning)할 필요를 없앤다. 또한, 사용자가 관심있는 부스를 지나쳤다면, 시스템은 사용자가 나중에 볼 수 있도록 데이터를 캐싱하는 데 사용될 수 있고, 그래서 이것은 사용자에 대한 감사 추적(audit trail) 또한 제공할 수 있다. 트레이드 쇼 예시는 사용자가 쇼의 통로를 걸을 때, 수백 개의 원격 디바이스들이 모바일 디바이스 범위 내에 있을 수 있는 기회를 제공하는 것을 허용한다. 예시적인 실시예에서, UI는 이용 가능한 디바이스의 그래픽 인터페이스를 제시하도록 구성될 수 있다. 그래픽 인터페이스는, 그 순간에 사용자에게 가장 가까운 어느 부스든, 선택할 모든 옵션들을 정의하는 목록의 최상위에 디스플레이되도록, 이용 가능한 디바이스들을 정렬할 수 있다. 따라서, 예시적인 실시예에서, 이용 가능한 UI 옵션들은 우선순위 방식으로 선택 또는 활성화를 위해 사용자에게 디스플레이될 수 있다. 우선순위는 가장 가까운 것이 목록의 최상위에 오도록, 원격 디바이스와 모바일 디바이스 사이의 인접도(close proximity)에 기반할 수 있다.
본 명세서에서 설명되는 예시적인 실시예들은 게임 애플리케이션들에 사용될 수 있다. 예를 들어, 제1 원격 디바이스는 제1 고유한 사용자 인터페이스를 생성하는 데 사용될 수 있는 반면, 하나 이상의 다른 원격 디바이스들은 사용자에 의해 사용될 추가적인 특징들 또는 대안들을 제공하기 위해 사용자 인터페이스를 보충 또는 변경하는 데 사용될 수 있다. 그러므로, 사용자들은 추가적인 원격 디바이스들을 수용함으로써 그들의 게임 경험을 변경할 수 있다. 예시적인 실시예에서, 게임 애플리케이션은 모바일 디바이스 상에 사용자 인터페이스를 생성하는 트레이딩 카드들(trading cards) 또는 다른 기억성(memorability) 또는 장난감 개체(toy object)를 포함할 수 있다. 사용자가 더 많은 객체들을 수집하면, 사용자 인터페이스 상에 이용 가능한 기능들이 증가한다.
Google, Apple, Microsoft, 및 다른 앱 스토어들은 본 명세서에서 설명되는 실시예들로부터 이점을 얻을 수 있다. 이 예시적인 실시예들은 이 스토어들과 경쟁하려고 의도된 것이 아니라, 대신, 대부분의 접속된 디바이스들과 관련된 수익을 창출하지 않는 애플리케이션들(non-revenue generating applications)과 관련되는 검사 비용들(testing costs) 및 간접비를 줄이거나 없애기 위해 사용될 수 있다. 본 명세서에서 설명되는 예시적인 실시예들은 하드웨어 관련 애플리케이션의 검사 및 확인을 하드웨어 개발자에게 맡기는 한편, 비용 발생 소프트웨어 앱을 사용자들에게 배포하는 데 사용될 수 있다. 따라서, 앱 스토어는 하드웨어 기반 애플리케이션들을 전달하고 승인하는 데 있어서의 비용 절감 및/또는 수익 창출 구매 유도를 통해 전체 수익을 증가시킨다.
본 명세서에서 설명되는 예시적인 실시예들은 또한 디바이스 제조사들을 위한 스마트 마켓(smart market)으로의 진입을 용이하게 한다. 예시적인 실시예들은 진입 장벽(bar)을 낮추고 하드웨어 제조사들이 앱 및 디지털 시장(marketplace)에 쉽게 진입할 수 있게 만들 수 있다. 이것은 전체 시장이 커지는 결과를 야기한다. 하드웨어 제조사에 중요한 제품 차별화를 제공하지만, 고객들에 의한 수락을 용이하게 하기 위해 디지털 시장에서의 론칭 및 사용을 단순화하는 맞춤형 앱들이 허용된다.
상기 상세한 설명들의 몇몇 부분들은 알고리즘들 또는 명령어들, 및 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 기호적 표현과 관련하여 제시된다. 이 알고리즘 설명들 및 표현들은 데이터 프로세싱 분야의 통상의 기술자들이 그들의 작업 내용을 본 분야의 다른 통상의 기술자들에게 가장 효과적으로 전달하기 위해 사용하는 수단들이다. 본 명세서에서, 그리고 일반적으로, 알고리즘은 원하는 결과를 이끌어내는 자기 일관된(self-consistent) 연산들의 시퀀스로 인식된다. 연산들은 물리적 양들의 물리적 조작들을 요구하는 것들이다. 보통, 반드시 그런 것은 아니지만, 이 양들은 저장, 이전, 결합, 비교, 및 기타 조작되는 것이 가능한 전기적 또는 자기적 신호들의 형태를 취한다. 흔하게 사용된다는 것을 주된 이유로 하여, 이 신호들을 비트들, 값들, 요소들, 기호들, 문자들, 용어들, 숫자들 등으로 지칭하는 것이 때로는 편리하다고 판명되었다.
본 발명의 몇몇 특정한 실시예들이 도시되었지만, 본 발명은 이 실시예들에 제한되지 않는다. 예를 들어, 하나 이상의 구성 요소들 및 알고리즘들이 본 명세서에서 설명되는 특정한 기능들을 수행하기 위해 도시된다. 이 기능들 및 구성 요소들은 주어진 애플리케이션의 원하는 결과들을 달성하기 위해 임의의 방식으로 재결합될 수 있다. 예를 들어, 구성 요소들은 통합 또는 세분화되거나, 제거되거나, 복제되거나, 또는 동일한 구성 요소들을 대신할 수 있다. 기능들은 원하는 애플리케이션에 따라 유사하게 통합, 제거, 변경, 또는 추가될 수 있다. 본 발명은 본 명세서에 설명되는 특정한 실시예들에 의해 제한되지 않고, 첨부된 청구항들의 범위에 의해서만 제한되는 것으로서 이해되어야 한다. 그러므로, 항목들 A, B, 및(또는) C의 임의의 목록이 A, B, 또는(및) C, 및 A, B, 및/또는 C의 임의의 조합을 포함하는 것으로 의도되도록, '및', '또는', '및/또는'으로 식별되는 특징들의 임의의 목록은 다른 것들 각각을 포함하도록 의도된다.
Claims (24)
- 특정한 원격 디바이스와 관련되는 고유한 사용자 인터페이스(unique user interface)를 모바일 디바이스 상에서 사용자에게 제공하는 시스템으로서,
상기 모바일 디바이스 상에 다운로드되고 저장되도록 구성되는 호스트 애플리케이션(host application) - 상기 모바일 디바이스는 상기 호스트 애플리케이션을 실행하기 위한 프로세서, 상기 호스트 애플리케이션에 의해 해석되는 대로 상기 고유한 사용자 인터페이스를 제공하기 위한 입력 또는 출력 디바이스, 및 복수의 원격 디바이스로부터 정보를 수신하기 위한 무선 통신 인터페이스를 포함함 -; 및
하나 이상의 원격 디바이스 - 상기 하나 이상의 원격 디바이스 각각은 무선 통신 인터페이스 및 메모리를 포함하고, 각각의 원격 디바이스의 상기 메모리에는, 상기 호스트 애플리케이션에 의해 실행되도록 구성되는 상기 원격 디바이스와 관련되는 상기 고유한 사용자 인터페이스에 대응하는 비일시적인(non-transient) 기계 판독 가능 실행 가능 명령어들이 저장됨 -
를 포함하는 시스템. - 제1항에 있어서,
상기 모바일 디바이스가 상기 하나 이상의 원격 디바이스 중 하나의 지정된 범위 내에 있는 경우, 상기 모바일 디바이스는 상기 하나 이상의 원격 디바이스 중 상기 하나로부터 비일시적인 기계 판독 가능 실행 가능 명령어들을 수신하는, 시스템. - 제2항에 있어서,
상기 호스트 애플리케이션은, 상기 모바일 디바이스가 상기 하나 이상의 원격 디바이스 중 상기 하나와 관련되는 고유한 사용자 인터페이스를 디스플레이 상에 디스플레이하도록, 상기 비일시적인 기계 판독 가능 실행 가능 명령어들을 실행하는, 시스템. - 제3항에 있어서,
상기 모바일 디바이스가 상기 하나 이상의 원격 디바이스 중 하나의 상기 지정된 범위 밖에 있는 경우, 상기 모바일 디바이스의 상기 디스플레이 상에 상기 고유한 사용자 인터페이스를 더 이상 디스플레이하지 않도록 구성되는 시스템. - 제4항에 있어서,
복수의 원격 디바이스를 포함하고, 상기 복수의 원격 디바이스 중 제2 디바이스로부터 수신되는 정보에 따라 상기 복수의 원격 디바이스 중 상기 제2 디바이스와 관련되는 제2 고유한 사용자 인터페이스를 상기 모바일 디바이스의 상기 디스플레이 상에 디스플레이하도록 구성되는 시스템. - 제1항에 있어서,
상기 고유한 사용자 인터페이스는 상기 사용자가 정보를 입력하는 것을 허용하도록 구성되고, 상기 호스트 애플리케이션은 상기 정보를 상기 하나 이상의 원격 디바이스 중 하나에 송신하도록 구성되는, 시스템. - 제1항에 있어서,
상기 호스트 애플리케이션은 단일 참조 점(single point of reference)을 참조함으로써, 상기 사용자 인터페이스를 렌더링하도록 구성되는, 시스템. - 제7항에 있어서,
상기 호스트 애플리케이션은 상기 단일 참조 점과 관련하여 위치되는 사용자 인터페이스 항목들에 대응하도록 데이터 객체들 또는 명령들을 해석하는, 시스템. - 복수의 원격 디바이스 중 개별 원격 디바이스들과 관련되는 고유한 사용자 인터페이스들을 생성할 수 있는 시스템으로서,
상기 복수의 원격 디바이스 중 상기 개별 원격 디바이스들로부터 정보를 수신하고, 상기 복수의 원격 디바이스 중 상기 개별 원격 디바이스들로부터 수신되는 상기 정보를 해석하고, 상기 수신되는 정보에 따라 관련된 고유한 사용자 인터페이스들을 생성하도록 구성되는 전자 디바이스 상에서 실행되는 단일 호스트 애플리케이션을 포함하는 시스템. - 제9항에 있어서,
상기 시스템은 상기 호스트 애플리케이션에서 구성 명령어들(configuration instructions)을 수신하도록 구성되고, 상기 구성 명령어들은 상기 관련된 고유한 사용자 인터페이스들을 생성하기 위해 상기 복수의 원격 디바이스 중 상기 개별 원격 디바이스들로부터 수신되는 상기 정보와 함께 사용되는, 시스템. - 제9항에 있어서,
상기 호스트 애플리케이션은 디스플레이에 이용 가능한 상기 복수의 원격 디바이스의 선택(selection)을 디스플레이 상에 제시하도록 구성되는, 시스템. - 제9항에 있어서,
상기 고유한 사용자 인터페이스들은 스피커를 통해 들려오는 사운드(sound), 디스플레이 상에 보여지는 이미지들, 중간 디바이스를 통해 감지되는 텍스트(textual), 및 이들의 조합들을 포함하는, 시스템. - 고유한 사용자 인터페이스를 원격 디바이스와 관련되는 모바일 디바이스의 디스플레이 상에서 사용자에게 제공하는 방법으로서,
상기 모바일 디바이스 상에 호스트 애플리케이션을 다운로드하는 단계 - 상기 모바일 디바이스는 복수의 원격 디바이스로부터 정보를 수신하기 위한 무선 통신 인터페이스를 가짐 -;
상기 호스트 애플리케이션을 통해 상기 모바일 디바이스 상에서 실행될 실행 가능 코드를 저장하기 위한 메모리, 및 저장되는 상기 실행 가능 코드를 상기 모바일 디바이스에 송신하기 위한 무선 통신 인터페이스를 포함하는 원격 디바이스의 근접 영역(proximity) 내로 상기 모바일 디바이스를 이동시키는 단계;
상기 실행 가능 코드를 상기 원격 디바이스로부터 상기 모바일 디바이스에 송신하는 단계; 및
고유한 사용자 인터페이스를 상기 모바일 디바이스 상에서 상기 사용자에게 디스플레이하기 위해 상기 실행 가능 코드를 실행하는 단계
를 포함하는 방법. - 제13항에 있어서,
상기 모바일 디바이스로 하나 이상의 원격 디바이스의 존재를 검출하고, 이용 가능한 디바이스들의 목록으로부터 상기 실행 가능 코드를 액세스하는 옵션을 디스플레이하는 단계를 더 포함하는 방법. - 제14항에 있어서,
상기 이용 가능한 디바이스들의 목록을 업데이트하고, 각각의 원격 디바이스에 대한 상기 모바일 디바이스의 근접도에 기반하여 상기 이용 가능한 디바이스들의 목록을 정렬(ordering)하는 단계를 더 포함하는 방법. - 제14항에 있어서,
특정한 원격 디바이스를 선택하고, 상기 특정한 원격 디바이스와 관련되는 상기 고유한 사용자 인터페이스를 상기 모바일 디바이스 상에서 상기 사용자에게 디스플레이하기 위해 상기 특정한 원격 디바이스의 상기 실행 가능 코드를 실행하는 단계를 더 포함하는 방법. - 제16항에 있어서,
일단 상기 모바일 디바이스가 상기 특정한 원격 디바이스의 범위 밖에 있게 된 후, 상기 고유한 사용자 인터페이스를 상기 디스플레이로부터 제거하는 단계를 더 포함하는 방법. - 제17항에 있어서,
일단 상기 모바일 디바이스가 제2 원격 디바이스의 범위 내에 있게 된 후, 상기 제2 원격 디바이스와 관련되는 제2 고유한 사용자 인터페이스를 디스플레이하는 단계를 더 포함하고, 상기 제2 고유한 사용자 인터페이스는 상기 제2 원격 디바이스와 관련되고 상기 특정한 원격 디바이스의 상기 고유한 사용자 인터페이스로부터 고유한, 방법. - 제18항에 있어서,
상기 특정한 원격 디바이스 또는 상기 제2 원격 디바이스 중 임의의 디바이스와 관련되는 정보를, 나중에 보기 위해 선택하고 저장하는 단계를 더 포함하는 방법. - 제13항에 있어서,
복수의 원격 디바이스의 네트워크를 생성하는 단계 - 상기 복수의 원격 디바이스는 인접한 원격 디바이스들의 매핑된(mapped) 위치를 결정하기 위해 서로 통신함 -;
상기 복수의 원격 디바이스를 상기 모바일 디바이스 상에 그래픽으로 디스플레이하는 단계; 및
사용자가 상기 복수의 원격 디바이스의 그래픽 디스플레이로부터, 주어진 원격 디바이스를 선택하도록 허용하는 단계
를 더 포함하는 방법. - 제20항에 있어서,
상기 복수의 원격 디바이스의 상기 그래픽 디스플레이는 상기 사용자가 원하는 원격 디바이스를 선택할 수 있도록, 각각의 개별 원격 디바이스들의 요약 정보를 포함하는, 방법. - 제20항에 있어서,
상기 그래픽 디스플레이는 상기 사용자가 원하는 원격 디바이스와 관련되는 물리적 위치로 네비게이트(navigate)할 수 있도록, 상기 그래픽 디스플레이 상에서 원격 디바이스들의 맵(map)에 대해 상기 사용자의 현재 위치의 표시를 포함하는, 방법. - 제20항에 있어서,
상기 복수의 원격 디바이스의 상기 그래픽 디스플레이는 목록, 그리드(grid), 맵, 및 이들의 조합들을 포함하고, 상기 그래픽 디스플레이는 흥미있는 특정한 원격 디바이스들을 찾기 위해 검색되거나 필터링되거나(filtered) 분류되도록 구성되는, 방법. - 제23항에 있어서,
상기 사용자는 상기 모바일 디바이스를 특정한 원격 디바이스의 임계 근접 영역(threshold proximity) 내로 가져옴으로써; 상기 모바일 디바이스들이 상기 특정한 원격 디바이스의 거리 내에 있는 동안 상기 모바일 디바이스의 움직임들(movements)의 조합을 수행함으로써; 또는 상기 모바일 디바이스를 상기 특정한 원격 디바이스에 접촉함으로써, 상기 특정한 원격 디바이스와 관련하여 디스플레이할 사용자 인터페이스를 선택할 수 있는, 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462041631P | 2014-08-25 | 2014-08-25 | |
US62/041,631 | 2014-08-25 | ||
PCT/US2015/046611 WO2016032982A1 (en) | 2014-08-25 | 2015-08-24 | Push user interface |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170071480A true KR20170071480A (ko) | 2017-06-23 |
Family
ID=55349357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177008105A KR20170071480A (ko) | 2014-08-25 | 2015-08-24 | 푸시 사용자 인터페이스 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10038770B2 (ko) |
EP (1) | EP3186984A4 (ko) |
JP (1) | JP2017535001A (ko) |
KR (1) | KR20170071480A (ko) |
CN (1) | CN107005779A (ko) |
SG (1) | SG11201700691QA (ko) |
WO (1) | WO2016032982A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10068196B2 (en) * | 2014-08-25 | 2018-09-04 | Rf Digital Corporation | Wireless packing slip |
US9749795B2 (en) * | 2015-05-07 | 2017-08-29 | Art B Co, LLC | Method and apparatus for interacting with potential purchasers of art |
WO2017155532A1 (en) * | 2016-03-10 | 2017-09-14 | Ford Global Technologies, Llc | Integration of vehicle boundary alert system with external transaction equipment |
US11082476B2 (en) * | 2016-11-15 | 2021-08-03 | Verizon Media Inc. | Computerized system and method for automatically providing networked devices non-native functionality |
JP6911870B2 (ja) * | 2016-11-25 | 2021-07-28 | ソニーグループ株式会社 | 表示制御装置、表示制御方法及びコンピュータプログラム |
CN108363574B (zh) * | 2018-01-23 | 2021-07-16 | 平安普惠企业管理有限公司 | 基于sdk的前端定制方法、装置、终端设备及存储介质 |
CN111192339B (zh) * | 2018-11-15 | 2024-03-29 | 千寻位置网络有限公司 | 地理位置数据的渲染方法及装置 |
CN111221592A (zh) * | 2019-12-27 | 2020-06-02 | 杭州安恒信息技术股份有限公司 | 移动应用安全平台 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030034957A1 (en) | 2001-08-17 | 2003-02-20 | Dubil Thomas James | Method and system for displaying information related to a television program on a remote control device |
JP3800626B2 (ja) * | 2003-01-30 | 2006-07-26 | ソニー株式会社 | 制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム |
US7724716B2 (en) * | 2006-06-20 | 2010-05-25 | Apple Inc. | Wireless communication system |
US20060253570A1 (en) * | 2005-01-25 | 2006-11-09 | Pratik Biswas | Self-organizing sensor node network |
US7605714B2 (en) * | 2005-05-13 | 2009-10-20 | Microsoft Corporation | System and method for command and control of wireless devices using a wearable device |
US20070067269A1 (en) * | 2005-09-22 | 2007-03-22 | Xerox Corporation | User Interface |
US20070264991A1 (en) * | 2006-05-15 | 2007-11-15 | Microsoft Corporation | Services near me: discovering and connecting to available wireless services utilizing proximity discovery |
US8302166B2 (en) * | 2008-02-18 | 2012-10-30 | Microsoft Corporation | Associating network devices with users |
US20150205504A1 (en) * | 2008-02-28 | 2015-07-23 | Adobe Systems Incorporated | Configuring the Navigation Model in a Mobile Device |
US8970647B2 (en) * | 2008-05-13 | 2015-03-03 | Apple Inc. | Pushing a graphical user interface to a remote device with display rules provided by the remote device |
CA2689727A1 (en) | 2009-02-27 | 2010-08-27 | Research In Motion Limited | Methods and apparatus for use in selectively retrieving and displaying user interface information of a wireless peripheral device |
US20100317371A1 (en) * | 2009-06-12 | 2010-12-16 | Westerinen William J | Context-based interaction model for mobile devices |
KR20110019861A (ko) * | 2009-08-21 | 2011-03-02 | 삼성전자주식회사 | 휴대 단말기의 화면 구성 방법 및 이를 이용하는 휴대 단말기 |
KR20110020633A (ko) * | 2009-08-24 | 2011-03-03 | 삼성전자주식회사 | 컨트롤-위젯 제공방법 및 이를 적용한 디바이스 |
US8315617B2 (en) | 2009-10-31 | 2012-11-20 | Btpatent Llc | Controlling mobile device functions |
US8490139B2 (en) | 2010-05-04 | 2013-07-16 | The Directv Group, Inc. | Method and system for pushing content in a broadcast communication system |
US8839328B2 (en) * | 2010-07-15 | 2014-09-16 | Broadcom Corporation | Method and system for providing location aware tracking and services via an IP multimedia residential gateway |
US20130038800A1 (en) * | 2010-10-04 | 2013-02-14 | Ben Yoo | Universal User Interface App and Server |
US20120089425A1 (en) * | 2010-10-06 | 2012-04-12 | Ncr Corporation | Trip monitoring and inferential location based services |
US8982220B2 (en) * | 2010-12-07 | 2015-03-17 | Verizon Patent And Licensing Inc. | Broadcasting content |
US8937534B2 (en) * | 2010-12-08 | 2015-01-20 | At&T Intellectual Property I, L.P. | Remote control of electronic devices via mobile device |
CN103403685B (zh) * | 2010-12-30 | 2015-05-13 | 艾新顿公司 | 在线隐私管理 |
KR101924974B1 (ko) * | 2011-01-04 | 2018-12-04 | 삼성전자주식회사 | 이동통신 단말기에서 주변 디바이스를 원격 제어하기 위한 장치 및 방법 |
US9867025B2 (en) * | 2011-04-28 | 2018-01-09 | Lg Electronics Inc. | Mobile terminal and method for controlling same |
US20120309373A1 (en) * | 2011-06-01 | 2012-12-06 | Atlanta Trading & Eng Consulting Llc | Proximity-Based Application Activation |
US8605799B2 (en) | 2011-06-28 | 2013-12-10 | Telefonaktiebolaget L M Ericsson (Publ) | Estimation of frequency offset between a base station and mobile terminal |
US20140132411A1 (en) * | 2012-11-15 | 2014-05-15 | James Buchheim | Locator beacon and radar application for mobile device |
US20140168100A1 (en) * | 2012-12-19 | 2014-06-19 | Chris Argiro | Video-game controller assemblies designed for progressive control of actionable-objects displayed on touchscreens: expanding the method and breadth of touch-input delivery |
US9143932B1 (en) * | 2013-03-15 | 2015-09-22 | Quantcast Corporation | Privacy centric feature analysis for mobile devices |
US20140267234A1 (en) * | 2013-03-15 | 2014-09-18 | Anselm Hook | Generation and Sharing Coordinate System Between Users on Mobile |
JP6379801B2 (ja) * | 2013-08-30 | 2018-08-29 | 株式会社リコー | コンテンツ選択システム、コンテンツ選択方法及び管理装置 |
US20150074765A1 (en) * | 2013-09-06 | 2015-03-12 | Oracle International Corporation | Registration and configuration of point-of-service devices |
US9271141B1 (en) * | 2014-07-29 | 2016-02-23 | Cellco Partnership | Method and apparatus for controlling home appliances over LTE |
-
2015
- 2015-08-24 SG SG11201700691QA patent/SG11201700691QA/en unknown
- 2015-08-24 CN CN201580050548.XA patent/CN107005779A/zh active Pending
- 2015-08-24 EP EP15834844.1A patent/EP3186984A4/en not_active Withdrawn
- 2015-08-24 US US14/834,302 patent/US10038770B2/en not_active Expired - Fee Related
- 2015-08-24 WO PCT/US2015/046611 patent/WO2016032982A1/en active Application Filing
- 2015-08-24 KR KR1020177008105A patent/KR20170071480A/ko unknown
- 2015-08-24 JP JP2017530957A patent/JP2017535001A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2017535001A (ja) | 2017-11-24 |
EP3186984A1 (en) | 2017-07-05 |
CN107005779A (zh) | 2017-08-01 |
SG11201700691QA (en) | 2017-03-30 |
WO2016032982A1 (en) | 2016-03-03 |
US20160057270A1 (en) | 2016-02-25 |
EP3186984A4 (en) | 2018-05-02 |
US10038770B2 (en) | 2018-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10038770B2 (en) | Push user interface | |
US8577737B1 (en) | Method, medium, and system for application lending | |
US9812006B1 (en) | System and method for integrating infrared remote controls of home appliances | |
US9791841B2 (en) | Designer interface for control systems | |
US11991580B2 (en) | Method and system for realizing function by causing elements of hardware to perform linkage operation | |
US20130024542A1 (en) | Software, systems, and methods for mobile visualization of industrial automation environments | |
CN107005737A (zh) | 进行流式传送和游戏的通用远程控制器 | |
CN103842961A (zh) | 用于创建个人化和定制的移动设备的系统 | |
CN104618574A (zh) | 实现app统一管理智能硬件设备的方法、装置和客户端 | |
WO2014191974A1 (en) | Control of vending machines | |
JP2016504641A (ja) | 物理ユーザインタフェースを有さないデバイスとサポートデータを交換するためのシステム及び方法 | |
CN108230105A (zh) | 物品租赁控制方法、终端和计算机可读存储介质 | |
CN103477614A (zh) | 通信装置、通信方法、通信程序、服务器装置、服务器装置的信息更新方法以及通信系统 | |
CN111381845A (zh) | 软件灰度升级方法、装置、存储介质、终端和服务器 | |
US10467376B2 (en) | Unmanned aircraft systems and methods of assembly | |
CN108306768A (zh) | 网关及其协调器的协同升级方法、装置及存储介质 | |
CN104486436A (zh) | 一种基于智能终端的监控打猎相机的方法及应用系统 | |
CN106537926A (zh) | 用于配置便携式装置的远程控制功能的系统和方法 | |
CN104486439A (zh) | 一种基于智能终端的监控打猎相机的数据管理方法及后台系统 | |
KR20140042053A (ko) | 개방형 홈서비스 api 기반의 홈제어기 및 이를 이용한 홈네트워크 시스템 | |
KR101516210B1 (ko) | Nfc 태그를 이용한 콘텐츠 생성 및 상품 정보 공유 방법 및 시스템 | |
KR102341646B1 (ko) | 초 근거리 통신 안테나가 구비된 무선충전기 | |
KR20140091138A (ko) | 제품 관리시스템 및 그 운용 방법 | |
CN107274148B (zh) | 一种门店数据信息处理装置及客户端 | |
US20160241987A1 (en) | An operation and management system for e-commerce application on mobile device, method therof, and application gernerator |