KR20170015968A - 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션 - Google Patents

모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션 Download PDF

Info

Publication number
KR20170015968A
KR20170015968A KR1020177000090A KR20177000090A KR20170015968A KR 20170015968 A KR20170015968 A KR 20170015968A KR 1020177000090 A KR1020177000090 A KR 1020177000090A KR 20177000090 A KR20177000090 A KR 20177000090A KR 20170015968 A KR20170015968 A KR 20170015968A
Authority
KR
South Korea
Prior art keywords
configuration
menu
mobile device
user
module
Prior art date
Application number
KR1020177000090A
Other languages
English (en)
Other versions
KR102341154B1 (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 KR20170015968A publication Critical patent/KR20170015968A/ko
Application granted granted Critical
Publication of KR102341154B1 publication Critical patent/KR102341154B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • H04M1/72525
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • H04W4/001
    • H04W4/003
    • 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
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/20Transfer of user or subscriber data
    • H04W8/205Transfer to or from user equipment or user record carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

시스템 및 방법은 임의의 수의 장치들의 구성을 동시에 가능하게 하는 모바일 장치 상에 설치되는 고속 어플리케이션을 포함한다. 상기 어플리케이션은 스마트 장치를 원격으로 또는 보안 로컬 연결을 통해 구성할 수 있는 기능을 포함한다. 시스템 및 방법은 원하는 구성 상태를 생성하기 위한 메커니즘, 이들 구성을 선택 및 수정할 수 있는 대화형 포탈, 및 원하는 구성을 검색하고 확인 및 감사 목적으로 검증 보고서를 전송하기 전에 그것을 모바일 장치에 적용하는 각각의 대상 장치에 설치하기 위한 어플리케이션을 포함한다.

Description

모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션{HIGH-SPEED APPLICATION FOR INSTALLATION ON MOBILE DEVICES FOR PERMITTING REMOTE CONFIGURATION OF SUCH MOBILE DEVICES}
본 출원은 2014년 6월 3일자로 출원된 미국 가출원 62/007078호인 "High-Speed Application for Installation on Mobile Devices for Permitting Remote Configuration of Such Mobile Devices"에 대하여 35 U.S.C. § 119(e) 규정에 의한 우선권을 주장하며, 그 내용은 그 전체가 여기에 참조로서 통합된다.
본 발명은 대규모 모바일 장치 구성 및 그러한 장치들의 정보 기술 감사의 촉진에 관한 것이다.
IT(Information technology) 관리자들은 시만텍(Symantec) 사의 Ghost?와 같은 PC(personal computer) 이미징 도구를 사용하여 "골든 이미지(Golden Images)"라는 컴퓨터의 구성을 만들고 배포(deploy)해왔다. "골든 이미지"를 PC에 배포하는 것은 PC의 시스템을 어플리케이션, 설정, 및 드라이버 등의 측면에서 이 이상적인 구성과 실질적으로 동일하게 만든다. 이러한 골든 이미지들은 몇 분 만에 수천 대의 PC들로 배포될 수 있고, 각 장치를 개별적으로 수동 설정할 필요를 제거해주기 때문에 시간과 노력의 실질적인 절약을 제공한다. 또한 다수의 PC들의 수동 설정이 있으면, 이는 편차 및 오류를 발생시키고, 실수가 이루어지거나 구성 단계가 누락되거나 부적절하게 적용된 PC들의 거동에는 약간의 차이를 가져온다. 
모바일 스마트 장치(mobile smart device)에 적용 가능한 다수의 보안 기술의 발전과 변경으로 인해 스마트 폰(smart phone)과 같은 모바일 스마트 장치에 커스텀 "골든 이미지"를 배포하는 것은 PC들에 사용되던 기존의 방식으로는 수행될 수 없다. 본 발명의 목적을 위해, "스마트 장치"는 스마트 폰, 태블릿 장치, PDA(personal digital assistant) 등을 포함하지만 이에 한정되지 않으며, 이하 "스마트 장치"로 통칭한다.
스마트 장치의 배포 및 프로비저닝이 정부 및 상업 부문에서 점차 보급됨에 따라, 조직의 출시는 공장 구축과 최종 사용자 제공 사이에 수많은 표준화된 구성 단계를 필요로 할 수 있다. 이러한 맥락에서 대규모 스마트 장치 구성은 중요한 투자가 된다. 현재 안드로이드 기반 시스템의 기본 구성을 설정하기 위한 시만텍의 Ghost?와 동등한 스마트 장치가 존재하지 않고, 모바일 보안 침해의 최대 75 %가 기본적인 오구성(misconfiguration)에 기인한다.
시만텍의 Ghost?-방식의 도구를 안드로이드 기반의 소형 장치 시스템으로 변환하는 것을 어렵게 만드는 세 가지 주요 장애가 있다. 첫째, 안드로이드 OS("OS") 아키텍처는 영구 메모리 저장 장치("Flash" 메모리)에 대한 직접적인 액세스를 실질적으로 금지하고, IT 관리자가 직접적으로 어플리케이션을 기록하거나 시스템을 구성하거나 동시에 다수의 장치에 데이터를 입력하는 것을 허용하는 모드로 스마트 장치를 재부팅하는 메커니즘을 제공하지 않는다. 둘째, 안드로이드 기반 어플리케이션 저장소 메커니즘은 표준화되어 있지 않고 안드로이드 어플리케이션들 전반에 걸쳐 그러한 표준화가 존재하지 않기 때문에, IT 관리자는 이 어플리케이션을 구성하기 위해 어떻게 데이터의 삽입을 자동화할지 신뢰할 수 있게 판단할 수 없다. 이는 영구 메모리 저장소의 액세스 불능이 어플리케이션 폴더의 미리 결정된 위치에 데이터를 삽입함으로써 회피될 수 있기 때문에 적용된다. 셋째, 제조사와 통신사는 안드로이드 시스템을 구성할 수 있는 방법을 엄격하게 구조화하는 스마트 장치 OS에 대해 어떤 제어들을 가할 수 있다. 다수의 장치들에 걸쳐 공통된 구성을 생성하고자 하는 어떤 기술이라도 실행 중인 OS 및 스마트 장치를 구성/변경하기 위한 규정된 메커니즘 내에서 동작해야 한다.
현재 스마트 장치 구성은 IT 관리자, 통합자(integrators), 통신사, 또는 장비 제조업자에 의해 수동적으로 또는 부분적으로 자동적으로("사전 단계화(pre-staging)") 수행된다. 품질 보증 및 테스트와 함께, 설치 단계 및 사용자 이름, 이메일 주소, 및 패스워드와 같은 데이터를 결합하는 것은 장치 당 수 분에서 1시간 이상의 스마트 장치 처리 시간을 요구할 수 있다. 따라서, 수백 또는 수천 개의 스마트 장치를 보유한 기업이 이들을 구성하도록 강요된다면, 수주 또는 수개월의 인력이 수동 설치 및 데이터 입력에 투입될 것이 요구되는 반면, 이는 잘못된 구성, 헬프 데스크 통화, 및 재작업을 초래한다. 이와 같은 타입의 수동 작업이, 종종 기업형 장치의 기본 구성에 대한 능동적인 통찰력을 요구하는 규정 준수 검사 및 IT 감사를 수행하기 위해 요구된다. 다수의 스마트 장치가 지정된 구성을 준수하는지 보장하는 자동화되고 원격인 방법이 없으면, IT 관리자는 IT 감사 동안 각 스마트 장치를 물리적으로 검사해야 한다.
 현재, 이러한 도전에 대처하고자 하는 현존하는 기술이 있다. 이 기술은 주로 Mobile Device Management("MDM") 서비스로 알려진 서비스들을 지칭한다. 이 서비스들은 또한 "Enterprise Mobility Management" 또는 "Mobile Application Management" 서비스들로 참조된다. MDM 제품은 주로 장치들의 초기 구성보다 그것들의 능동적 관리에 중점을 둔다. 이러한 제품의 기술은 일반적으로 VPN 설치, 어플리케이션 설치, 및 알려지지 않은 출처로부터의 어플리케이션의 설치의 허용 또는 금지를 포함하는 구성 기능들을 제한한다. 이러한 서비스의 예시들은 MobileIron 사를 포함한다. 미국 특허 8,359,016 "Management of Mobile Applications", 미국 특허 8,695,058 "Selective Management of Mobile Device Data in an Enterprise Environment", 미국 특허 8,862,105 "Management of Mobile Applications"를 참조하라. 또한 이러한 제한된 서비스들을 제공하는 Good Technology 사의 서비스들이 있다. 미국 특허 6,151,606 "System and Method for Using a Workspace Data Manager to Access, Manipulate, and Synchronize Network Data", 미국 특허 7,970,386 "System and Method for Monitoring and Maintaining a Wireless Device" 및 미국 특허 7,702,322 "Method and System for Distributing and Updating Software in Wireless Devices"를 참조하라.
스마트 장치 구성 환경에서, MDM 스위트(suite)는 장치를 구성하는 배타적인 프로그램적인 방식, 예를 들어 이미 장치의 기능으로 프로그래밍된 API(application program interface) 호출의 일부 서브 세트를 실행하는 것으로 제한된다. 프로그램적인 구성과 관련된 이러한 제한은 배타적인 프로그램적인 방식, 특히 상기 API와 통합되지 않은 서드 파티 어플리케이션을 통해 모든 장치 또는 어플리케이션 설정에 액세스 할 수 있는 것은 아니라는 것이다. 따라서 작업을 수행하는 API 호출을 위한 안드로이드 기반 OS 또는 다른 OS에 내장된 특정 지원이 있고 MDM 서비스가 그 API 호출을 지원하지 않으면, MDM은 관련 설정이나 구성이 안드로이드 설정, 기본 어플리케이션 구성, 서드 파티 어플리케이션 설정, 또는 사용자 특정 데이터 필드인지 여부와 상관없이 그 작업을 수행하거나 관련 설정이나 구성에 영향을 줄 수 없다. 결과적으로, 스마트 장치 구성 단계의 상당수는 API를 사용한 프로그램 적인 상호작용 대신 장치에 대한 인간의 터치 상호작용을 통한 입력을 요구한다.
모바일 장치 구성 분야에 적용되어온 MDM 서비스에 대한 또 다른 기술은 "Rubber Ducky"라는 USB 이용 솔루션이다.  이러한 사용은 키스트로크 주입 공격 플랫폼으로 설명되는 Rubber Ducky의 의도된 사용과는 큰 차이가 있지만, Rubber Ducky는 유비쿼터스(ubiquitous) HID(human interface device) USB 표준을 통해 대리 키보드 인터페이스로 작동하여 스마트 장치에서 프로그램을 실행시키기 위해 사용될 수 있다. 이러한 방식으로는 스마트 장치의 제한적인 구성만 가능할 수 있지만, 구현은 실현 가능하거나 성공할 가능성도 없고, 스마트 장치의 조작은 키보드 상호작용을 통해 실행될 수 있는 동작으로만 제한될 것이다.
스마트 장치와 인터페이스 하기 위한 현존하는 MDM 서비스 및 도구들은 그들의 특별히 지정된 목적에는 적합할 수 있지만, 프로그램적인 상호작용 및 장치에 대한 전통적인 인간의 터치 상호작용의 시뮬레이션 모두를 통해 스마트 장치들을 대규모로 보편적으로 조작할 수 있는 시스템은 현재 존재하지 않는다. 또한 다수의 스마트 장치들을 원하는 기본 구성으로 원격으로 재-구성하여 IT 감사 또는 장치 규정 준수 검사의 준수를 보장할 수 있는 현존하는 요소가 없다. 이러한 문제를 극복하기 위한 시스템 및 방법이 필요하다. 
본 발명은 스마트 장치의 종단간(end-to-end) 대량 구성, 배포, 및 품질 보증을 자동화하는 스마트 장치 어플리케이션 및 브라우저 관리 포탈을 포함하는 시스템 및 방법에 관한 것이다. 본 발명의 시스템은 OS 및 장치에 대한 정책들에 대해서만 상호작용하는 것으로 제한되는 스마트 장치에 설치된 종래의 시스템과 달리, IT 관리자들에게 스마트 장치에 설치된 어플리케이션 및 OS를 제어하는 기능을 제공한다. 이는 오프라인 및 OTA(over-the-air) 시나리오에서 모두 기능할 수 있고, 서브 세트가 아닌 실질적으로 모든 API 호출을 지원하며, 스마트 장치에 대한 인간의 터치 상호작용을 시뮬레이션 함으로써 서드 파티 및 선 탑재(in-house) 어플리케이션뿐만 아니라 실질적으로 모든 기본 안드로이드 기반 설정의 구성을 가능하게 한다. 본 발명의 시스템의 검증 단계는 IT 규정 준수 목적을 위한 감사 추적을 유지하고, 주문형 구성(on-demand configuration)은 능률적인 ID 감사를 가능하게 한다. 본 발명의 시스템 및 방법은 바람직하게는 안드로이드 기반 시스템을 위한 것이지만, 이 분야의 통상의 기술자에게 이것이 Apple OS를 포함한 다른 스마트 장치 OS에 적용 가능하다는 것이 이해될 수 있다.
 본 발명의 시스템은, 다운로드 가능한 컴퓨터 어플리케이션의 형태일 수 있고, 스마트 장치에 대한 인간의 터치 상호작용을 시뮬레이션 함으로써 메모리로의 직접적인 액세스의 결여, 표준화되지 않은 어플리케이션 저장소, 및 스마트 장치에 대한 제조사 및 통신사의 제한사항들을 극복한다. 바람직하게, UI(user interface) 자동화기와 상호작용하는 스크립트 언어의 사용을 통해, 본 발명은 인간 사용자가 구성하는 것이 가능한 임의의 설정을 구성하는 프로그램적이면서 시뮬레이션 된 터치 이벤트를 통해 스마트 장치에 대한 제어를 행사하고, 어플리케이션 특정 통합의 필요성을 제거할 수 있다.
구성이 발생함에 따라, 본 발명의 어플리케이션은 원하는 설정이 적용되었는지를 확인하고 규정 준수 감사에 적합한 보고서를 생성한다. 구성들은 본 발명의 고속 어플리케이션이 모든 구성 설정들이 여전히 제자리에 있는지 확인하기 위한 검사를 실행하고, 오류가 있는 것들을 정정하고, 감사 목적을 위한 보고서를 제공하는 현장 감사나 규정 준수 검사의 경우에 있어서 필요한 경우 재-적용될 수 있다.
본 발명의 자동화 능력의 관점에서, IT 관리자는 기업 수준에서와 같이 다수의 스마트 장치를 구성하기 위해 요구되는 노동 시간의 수의 현저한 감소를 경험한다. 스마트 장치들은, 동시에 실행될 수 있는 구성의 수의 제한 없이 병렬적으로 구성될 수 있다. 본 발명은 또한 IT 관리자가 아닌 최종 사용자에 의한 직접 구성, 최종 사용자를 위한 프로세스의 자동화, 및 구성이 성공적이었는지 여부를 나타내는 보고서의 생성을 가능하게 한다. 본 발명의 시스템 및 방법을 다양화함으로써, 수동 품질 보증 검사가 더 이상 필요하지 않게 되고, 잘못 구성된 장치로 인한 보안 침해가 감소하고, 잘못된 구성으로 인한 IT 헬프 데스크 요청이 감소하게 된다.
본 발명의 방법은 스마트 장치가 구성될 수 있고 저장된 구성 상태로 변환하는 쉽고 신뢰성 있는 방법을 제공한다. 이는 인간 사용자가 스마트 장치와 상호작용하는 방식을 복제하는 설정 모듈의 생성을 가능하게 하는 프로그래밍 방법의 발달에 의해 달성된다. 특정 격자 좌표의 터치하거나 화면 상의 텍스트 요소를 검색하는 것과 같은 명령어들을 통해, 인간이 수행하는 상호작용은 소프트웨어를 위한 명령어들이 될 수 있다. 터치 이벤트 및 화면 상태의 질의를 직관적이고 새로운 방식으로 모방하기 위한 안트로이드 기반 OS의 능력을 활용함으로써 본 발명은 종래 시스템에 대해 이점을 제공한다.
본 발명의 시스템 및 방법의 추가적인 이점은 UI, UI 렌더링, 및 로딩 시간에서의 불일치를 극복한다는 것이다. 이는 이미지 비교, 화면에 렌더링된 XML 요소를 직접 검사하는 xpath 검색, 및 각 타입의 스마트 장치 및 OS 버전에 대한 별도의 모듈의 생성에 의해 극복된다. 본 발명의 어플리케이션에 의해 제공되는 스마트 장치에 대한 광범위한 제어가 주어지면, 구성을 개인 키로 서명하고 본 발명의 어플리케이션이 서명되지 않은 구성을 실행하는 것을 금지함으로써 보안 문제가 극복된다. 본 발명의 이러한 특징과 다른 특징들이 도면들을 참조하는 명세서를 상기시키면서 더욱 상세히 기술 될 것이다.
본 발명의 다양한 다른 목적, 특징 및 부수적인 이점은 첨부된 도면과 함께 고려될 때 더 잘 이해될 것이므로 충분히 이해될 수 있다. 동일한 도면 부호는 여러 도면을 통해 동일하거나 유사한 부분을 나타낸다.
 도 1은 본 발명의 시스템 및 방법이 설치될 수 있는 설정 모듈, 구성 및 스마트 장치 간의 상호 작용을 나타내는 본 발명의 시스템 및 방법의 대표적인 개요를 도시한다. 
도 2는 도 1에 도시된 설정 모듈 생성을 위한 시스템 요소의 대표적인 다이어그램을 도시한다.
도 3은 구성을 생성하고 이러한 구성을 특정 사용자 및 스마트 장치에 할당하기 위한 시스템 요소의 대표적인 다이어그램을 도시한다.
도 4는 도 3에 도시된 본 발명의 시스템의 구성 메뉴의 대표적인 상세도를 도시한다.
도 5는 도 3에 도시된 본 발명의 시스템의 설정 모듈 메뉴의 대표적인 상세도를 도시한다.
도 6은 도 3에 도시된 본 발명의 시스템의 개별 설정 모듈 메뉴의 대표적인 상세도를 도시한다. 
도 7은 도 3에 도시된 본 발명의 시스템의 사용자 메뉴의 대표적인 상세도를 도시한다.
도 8은 도 3에 도시된 본 발명의 시스템의 스마트 장치 메뉴의 대표적인 상세도를 도시한다.
도 9는 본 발명의 시스템 및 방법이 OTA 및 연결된 환경에서 시스템 서버로부터 구성을 검색할 수 있는 방법의 대표적인 다이어그램을 도시한다.
도 10은 본 발명의 시스템이 설치된 스마트 장치를 위한 대표 로그인 화면 디스플레이를 도시한다.
도 11은 본 발명의 시스템에 로그인하기 위한 대표 다이어그램 및 스마트 장치를 위한 구성이 존재하거나 존재하지 않을 때 수행될 작업을 도시한다.
도 12는 본 발명의 방법에 따른 스마트 장치, 서버, 및 웹 포탈의 상호 작용의 대표 다이어그램을 도시한다.
본 발명은 스마트 장치의 종단간 대량 구성, 배포, 및 품질 보증을 제공하는 스마트 장치 어플리케이션 및 브라우저 기반 관리 포탈에 관한 것이다. 브라우저 기반 포탈은 인터넷 사용이 가능한 임의의 웹 브라우저, 예를 들어 Internet Explorer, FireFox 또는 Chrome을 통해 시스템 관리자 또는 시스템 사용자가 이용할 수 있다. 브라우저 기반 포탈은 시스템 서버를 포함하는 컴퓨터 기반 시스템과 연계된다. 본 발명은 어플리케이션 및 OS가 설치된 스마트 장치에서 그 어플리케이션 및 OS를 제어하는 능력을 제공한다. 본 발명은 다수의 스마트 장치의 구성을 동시에 허용하고, 프로그램적으로 원하는 설정이 적용되는지를 확인하고 규정 준수 감사에 적합한 보고서를 생성한다.
브라우저 기반 포탈은 시스템 서버가 포함 된 컴퓨터 기반 시스템과 연결된다. 본 발명은 그것이 설치된 스마트 디바이스의 어플리케이션 및 OS를 제어하는 능력을 제공한다. 본 발명은 다수의 스마트 장치의 구성을 동시에 허용하고 프로그래밍 방식으로 원하는 설정이 적용되는지를 확인하고 규정 준수 감사에 적합한 보고서를 생성한다. 
본 발명의 목적을 위해 아래의 정의들이 적용된다.
"구성(configuration)"은 소정의 스마트 장치 또는 다수의 스마트 장치들로 제공될 바람직한 이상적인 상태를 전체로서 구성하는 특정 사용자들 또는 장치들에 할당된 설정 모듈의 그룹을 의미한다.
"장치(device)"는 스마트 장치를 의미한다.
"설정 모듈(setting module)"은 특정 설정의 상기 바람직한 상태에 도달하거나 특정 작업을 수행하기 위해 요구되는 일련의 명령어들을 기술하는 구성의 개별 컴포넌트를 의미한다.
"시스템 사용자(system user)"는 설정 모듈을 선택하고, 설정 모듈로 필요한 데이터를 입력하고, 사용자 및 장치 데이터를 입력함으로써 웹 포탈을 사용하여 구성을 작성하는 것을 책임지는 관리 사용자를 의미한다.
"사용자들(users)"은 스마트 장치에 설치된 어플리케이션의 최종 사용자, 즉 스마트 장치의 사용자를 의미한다.
도 1을 참조하면, 일반적으로 100에서, 본 발명의 시스템 및 방법의 개요가 도시된다. 도 1에 따르면, 설정 생성 모듈(102)은 안드로이드 기반 장치일 수 있는 스마트 장치(104)에 연결된다. 소프트웨어 개발자와 같은 시스템 사용자는, 스마트 장치의 설정을 변경하는 설정 모듈을 구성하기 위해 스마트 장치(104)와 함께 디버그 UI 인터페이스(후술함)와 같은 내부 도구를 사용할 수 있다. 이러한 설정 모듈은 클라우드(106)의 일부일 수 있는 서버들에 저장된다. 그러나, 이 서버들은 클라우드가 아닌 다른 원격지에 위치할 수 있고, 여전히 본 발명의 범위 내에 있다.
 본 발명의 목적을 위한 클라우드(106)는 본 발명의 시스템 및 방법에 대하여 인터넷 기반의 무선 통신을 수행할 수 있다.
도 1을 참조하면, 웹 포탈(108)은 어떤 설정 모듈들이 110에서의 구성과 같은 소정의 구성으로 묶이게 될지 판단하고, 상기 설정 모듈과 연관된 임의의 필수 데이터를 데이터 필드들에 입력하기 위해, 시스템 관리자에 의해 사용될 수 있다. 시스템 관리자가 설정 모듈들을 판단하고 110에서의 구성에 포함될 데이터가 있으면, 웹 포탈(108)은 그 정보를 클라우드(106)의 일부인 서버들로 전달한다. 이 서버들은 상기 원하는 설정 모듈들을 패키징하고, 데이터를 하나의 구성으로 개인화하고, 상기 구성을 암호로 서명하고, 그 구성을 향후 사용을 위해 저장한다. 110에서의 구성들은 하나 이상의 대표적인 모바일 장치들(112, 114, 및 116)에서 실행되는 어플리케이션들에서 사용될 특정 로그인 자격증명들과 연관된다.
모바일 장치들(112, 114 및 116)을 참조하면, 본 발명의 시스템 및 방법에 따른 어플리케이션이 실행될 때, 관리자가 웹 포탈(108)을 이용하여 선택한 설정들에 따라, 로그인 자격증명들 및 원본 장치에 기초하여 클라우드(106)의 서버들로 110에서의 특정 구성을 요청한다. 클라우드(106) 내의 서버들은 수신된 로그인 자격증명들이, 최초에 상기 자격증명들을 전송한 모바일 장치(112, 114, 또는 116)와 같은, 모바일 장치의 타입으로부터 이 자격증명들에 할당된 110에서의 임의의 이용 가능한 구성들과 일치하는지 판단한다. 110에서 자격증명 및 장치의 조합과 관련된 이용 가능한 구성이 있으면, 그 구성은 모바일 장치(112, 114, 또는 160)와 같은 적절한 보마일 장치로 보내지고, 그 모바일 장치는 그 구성이 클라우드(106)의 서버들로부터 기원되었음을 보장하는 암호 서명을 검사하고 그 무결성을 검증한다. 본 발명의 시스템 및 방법에 따른 상기 어플리케이션은 이제 110에서의 구성들로부터 적절한 구성을 상기 적절한 모바일 장치(112, 114, 116)에 적용하고, 상기 구성이 성공적으로 적용되었는지 여부를 나타내는 보고서를 상기 서버들로 전송할 것이다. 웹 포탈(108)을 사용하는 시스템 관리자는 이제 모바일 장치(112, 114 또는 116)의 구성 상태를 적절한 것으로 판단하기 위해 클라우드(106)의 서버들로 구성 보고서를 요청할 수 있다. 
 이제 본 발명의 시스템 및 방법의 개요가 설명되었으므로, 본 발명의 시스템 및 방법의 요소들에 대한 상세한 설명이 이제 기술될 것이다.
 도 2를 참조하면, 일반적으로 200에서, 설정 모듈들이 생성되는 방법이 설명 될 것이다. 본 발명에 따르면, 설정 모듈들은 도시된 것의 일부이며 일반적으로 102에서 "디버그 UI"로 참조되는 전문화된 신규 사용자 인터페이스를 사용하여 생성된다. 스마트 장치(104)는, 바람직하게는 ADB(Android debug bridge)를 사용하여, USB 커넥터에 의해 로컬 PC에 디스플레이 되는 디버그 UI(102)에 접속하고, 본 발명의 고속 어플리케이션이 스마트 장치에 설치된다.
디버그 UI(102)는 스마트 장치(104)에 설치된 본 발명에 따른 어플리케이션과 통신할 수 있을 뿐만 아니라, ADB를 사용하여 스마트 장치 자체로부터 디버깅 목적을 위해 사용된 데이터를 검색 할 수 있다. 일단 이 통신이 수립되면, 스마트 장치(104)에 설치된 본 발명에 따른 어플리케이션은 고유 장치 토큰을 디버그 UI로 전송한다. 상기 토큰은 서버들로 서명 파일을 요청하기 위해 사용된다. 서명 파일이 없으면, 본 발명의 어플리케이션으로부터 디버그 UI로 더 이상의 정보가 전송되지 않으며, 디버그 UI로부터 스마트 장치(104)에 설치된 본 발명의 어플리케이션으로 어떠한 정보도 전송되지 않는다.
 디버그 UI(102)와 스마트 장치(104) 사이에 연결이 수립되면 디버그 UI(102)는 다수의 특징들을 포함한다. 이 특징들은 소프트웨어 개발자와 같은 시스템 사용자들에게 다양한 데이터를 디스플레이 한다. 디버그 UI(102)의 202에, 스마트 장치가 마지막으로 질의되었을 때의 스마트 장치 화면의 이미지가 도시된다. 마지막으로 질의되었을 때 스마트 장치로부터 검색된 XML 노드들의 계층 구조가 204에 도시된다. 스마트 장치가 마지막으로 질의되었을 때 포어그라운드에 있었던 전체 안드로이드 액티비티 이름이 205에 도시된다. 
 특정 XML 노드에 대한 xpath 검색을 구축하기 위해, 디버그 UI(102)는 시스템 사용자가 204에 도시된 것에서 206에서와 같은 XML 노드를 선택할 수 있도록 한다. 이것이 완료되면, 디버그 UI는 206에서 선택된 노드의 XML 속성들을 검사하고, 현재 계층 구조의 다른 노드가 모든 속성들에 대해 동일한 값(즉, 고유 xapth 쿼리)을 갖지 않는 속성들의 서브 세트를 찾으려고 시도할 것이다. 만약 선택된 XML 노드에 대해 속성 값들의 고유 세트가 식별될 수 있으면, 적절한 xpath 쿼리가 생성된다. 그렇지 않은 경우, 시스템 사용자에게 XML 노드를 참조하기 위한 대체 방법을 찾도록 유도하는 팝업 대화 상자를 통해 시스템 사용자는 디버그 UI(102)에 의해 이를 통보를 받게 될 것이다. 
 시스템 사용자가 XML 노드를 204에 도시된 계층 내에 위치시킬 수 있도록, 본 발명에 따른 어플리케이션은 202에서 스마트 장치 이미지로부터 가시적인 UI 요소를 선택하는 것을 가능하게 한다. 시스템 사용자가 그와 같이 하면, 207에서의 영역은 이미지에서 선택된 좌표를 포함하는 가장 작은 XML 노드를 검색할 것이다. 이 기능은 각 XML 노드가 폭 및 높이 지표와 결합되는 좌측 코너의 (X,Y) 좌표로 정의되는 경계 상자를 갖기 때문에 지원되며, 이 좌표는 특정 XML 노드의 클릭 시 스마트 장치 이미지(202)에 도시된다.
디버그 UI(102)는 또한 디버그 UI 편집 패널("편집 패널")(208)을 포함한다. 소프트웨어 개발자와 같은 시스템 사용자는 설정 모듈들의 구성을 위한 명령들(commands)을 입력하기 위해 편집 패널(208)을 사용할 수 있다. 이 명령들은 일반적으로 210에 도시된다. 바람직하게 시스템 사용자에 의해 입력되는 명령들은 210에서 바람직한 설정 모듈 언어로 작성된 명령어들(instructions)의 형식을 갖는다. 이 명령어들은 xpath 쿼리들, 액티비티 이름, 또는 안드로이드 기반 액션 코드들(예: 클릭, 롱 클릭, 스크롤 등), 및 본 발명의 어플리케이션이 해결할 수 있는 API들에 대한 참조들을 포함하는 다른 값을 사용할 수 있다. 
 가장 중요한 설정 모듈들 중 일부는, 전자 메일에 로그인, 어플리케이션들을 설치, MDM 시스템들에 등록, 암호화, 및 패스워드 설정을 포함하지만 이에 국한되지는 않는다.
 도 3을 참조하면, 일반적으로 300에서, 구성들을 생성하고 저장하기 위한 본 발명의 시스템의 요소들이 도시된다. 이 요소들은 구성 메뉴(302), 설정 모듈 메뉴(304), 개별 설정 모듈 메뉴(306), 사용자 메뉴(308), 스마트 장치 메뉴(310), 및 전솔한 바와 같이 클라우드(106)에 배치될 수 있는 서버(312)를 포함한다.
구성 메뉴(302)는 설정 모듈 메뉴(304) 및 개별 모듈 메뉴(306)에 반영된다. 이 메뉴들이 액세스 된 후, 사용자 메뉴(308) 및 스마트 장치 메뉴(310)이 구성 생성 프로세스를 계속하고, 상기 구성들이 서버(312)에 저장되기 전에 사용자들 및 장치들을 상기 생성된 구성들에 할당한다. 이 요소들은 도 8 내지 8을 참조하여 자세하게 설명될 것이다.
도 3 및 4를 참조하여, 구성 메뉴가 자세하게 설명될 것이다. 도 4에서, 상기 구성의 자세한 뷰가 일반적으로 400에 도시된다. 구성 프로세스는 웹 포탈과 연관된 구성 메뉴(400)의 사용을 통해 관리자에 의해 개시된다. 구성 메뉴는 네비게이션 섹션(403)을 포함한다. 이 섹션은 관리자나 시스템 사용자가 구성을 생성하고 그 구성을 저장하기 위해 필요한 다른 메뉴들을 네비게이션 할 수 있게 한다. 네비게이션 섹션은 홈 페이지 링크(403), 구성 링크(404), 장치 링크(406), 사용자 링크(408), 도우미 버튼(410) 및 로그아웃 버튼(412)을 포함한다.
구성 링크(404)는 관리자 또는 시스템 사용자가 도 4에 도시된 구성 메뉴에 접속할 수 있게 한다. 장치 링크(406)는 관리자 또는 시스템 사용자가, 도 3의 310에 도시된 바와 같이, 장치 메뉴들에 접속할 수 있게 한다. 사용자 링크(408)는 관리자 또는 사용자가, 도 3의 308에 도시된 바와 같이, 사용자 메뉴들에 접속할 수 있게 한다. 홈 링크(403), 도움 버튼(410), 및 로그아웃 버튼(412)은 이 분야의 통상의 기술자에게 알려진 바와 같이 통상적으로 동작한다.
 구성 메뉴(400)는 또한 새 구성 버튼(411)을 포함한다. 이 버튼은 관리자 또는 시스템 사용자가 구성 메뉴(400)에 도시된 구성들을 초기화하기 위한 것이다. 여기에서 사용되는 "초기화(initialize)"는 구성에 이름을 제공하고 적용될 장치들을 선택함으로써 구성을 생성하는 프로세스를 시작하는 것을 의미한다. 예를 들어, 이 버튼은 414, 416, 418, 420, 또는 422에 도시된 구성들 중 임의의 구성을 그들과 연관된 목록에 도시된 특정 스마트 장치들에 대해 초기화하기 위해 사용될 수 있다. 구성을 생성하는 프로세스를 계속하기 위해, 관리자 또는 시스템 사용자는 414에 도시된 구성과 같은 소정의 구성을 선택할 것이다. 관리자 또는 시스템 사용자가 구성 414, 416, 418, 420, 또는 422와 같은 소정의 구성을 클릭하면, 이는 도 5에 자세하게 도시되는 설정 모듈 메뉴(304)를 오픈할 것이다.
 다시 도 4를 참조하면, 414, 416, 418, 420 및 422에 도시된 구성들 각각에 관하여, 특정 정보가 제공된다. 구성 414 및 416과 관련된 스마트 장치는 424에 도시된 "Samsung Galaxy Tab 4.8" Wi-Fi"이다. 418 및 420에서의 구성은 "Samsung Galaxy Tab Pro 8.4""라는 스마트 장치와 관련된다. 그리고 구성 422와 관련된 스마트 장치는 "Samsung Galaxy Tab S 8.4""이다.
 구성 414는 426에 도시된 구성의 이름을 갖는다. 만약 관리자 또는 시스템 사용자가 구성 414에 대해 클릭하면, 도 3의 설정 모듈 메뉴(304)로 연결되거나 도 5의 500의 설정 모듈 메뉴의 상세 보기로 연결될 것이다. 428에서, 구성의 설명이 제공된다. 다시, 구성의 설명이 클릭되면, 도 3의 설정 모듈 메뉴(304)로 연결되거나 도 5의 500의 설정 모듈 메뉴의 상세 보기로 연결될 것이다. 구성이 설정된 날짜가 430에 도시된다. 구성을 삭제하기 위한 버튼이 432에 도시되고, 구성을 복사하기 위한 버튼이 434에 도시된다. 관리자 또는 시스템 사용자는 원본을 초기 템플릿으로 이용하여 유사한 구성을 구성하기 위한 목적으로 상기 구성을 복사할 수 있다. 이 정보는 생성된 각 구성에 대해 제공된다.
언급한 바와 같이, 구성이 클릭되면, 도 3의 설정 모듈 메뉴(304)로 연결되거나 도 5의 500의 설정 모듈 메뉴의 상세 보기로 연결될 것이다. 도 5를 참조하면, 네비게이션 섹션(502)이 도시된다. 네비게이션 섹션(502)은 설정 메뉴(400)에 대해 도 4에 도시된 네비게이션 섹션(402)과 동일하다. 즉, 홈 링크들(403, 503), 구성 링크들(404 및 504), 스마트 장치 링크들(406 및 506), 사용자 링크들(408 및 508), 도움 버튼들(410 및 510), 및 로그아웃 버튼들(412 및 512)은 실질적으로 동일하고, 도 4와 관련한 이 네비게이션 섹션 항목들에 대한 설명은 도 5에 동일하게 적용된다.
도 5를 참조하면, 설정 모듈 메뉴(500)가 연관된 구성 이름이 514에 도시된다. 예를 들어, 도 5에서, 상기 연관된 구성은 "ATT Samsung Galaxy S6" 용 "S6 Testing"이라고 도시된다. 또한, 설정 모듈 메뉴(500)은 사용자 이름, 패스워드, 및 다른 구성 가능한 정보와 같은 설정 모듈 메뉴에 대한 정보를 편집하기 위한 편집 메뉴를 오픈하는 편집 버튼(516), 및 518에서 활성화될 때 복제 메뉴를 오픈하기 위한 복제 버튼을 제공한다. 이 복제 버튼은 유사한 구성을 구성하기 위한 템플릿을 제공하기 위한 목적으로 사용된다.
 도 5는 활성 모듈 섹션(520) 및 가용 모듈 섹션(522)을 포함한다. 활성 모듈 섹션(520)은 관리자 또는 시스템 사용자가 생성 중인 구성의 일부가 될 것으로 선택한 모듈들을 포함한다. 현재, 활성 모듈 섹션(520)은 관리자 또는 시스템 사용자가 4개의 모듈을 선택하였음을 나타낸다. 선택된 각 모듈에 대해, 활성 모듈 섹션(520)은 모듈 이름을 524에, 실제 모듈에서의 설정의 수를 526에 디스플레이 할 것이다.
 가용 모듈 섹션(522)은 예를 들어, 528에서의 모듈 이름 및 그 밑의 530에서의 모듈의 설명을 포함한다. 이 규칙은 열거된 모듈들 각각에 대해 적용된다.
 관리자 또는 시스템 사용자가 520의 활성 모듈 목록에 모듈을 추가하는 방법은 "모듈 추가(+ Add modules)" 버튼(532)를 사용하는 것이다. 모듈 추가 버튼(532)을 사용하여 모듈을 추가하기 위해, 관리자 또는 시스템 사용자는 예를 들어 체크박스(534)와 같은, 추가될 모듈과 관련된 체크박스를 체크하고 모듈 추가 버튼(532)을 클릭할 것이다. 이는 그 모듈(들)을 활성 모듈 섹션(520)에 추가되도록 할 것이다. 모듈들이 추가되면 527에 그 이름들이 추가되고 색상이 변경될 것이다. 예를 들어, 536에서 "Screen Lock PIN-General"처럼, 체크박스(예: 538에서의 체크박스)가 시각적 확인을 디스플레이할 것이다.
관리자 또는 시스템 사용자가 활성 모듈 섹션(520)에 도시된 임의의 개별 모듈을 선택하면, 이는 관리자 또는 시스템 사용자가 그 특정 모듈을 위한 설정들에 액세스 하는 것을 가능하게 한다. 이러한 선택이 이루어지면, 도 3의 개별 설정 모듈 메뉴(306) 또는 도 6의, 일반적으로 600에서 도시되는 개별 설정 모듈 메뉴의 상세 보기가 오픈될 것이다.
도 6을 참조하면, 네비게이션 섹션(602)이 도시된다. 네비게이션 섹션(602)은 설정 메뉴(400)에 대해 도 4에 도시된 네비게이션 섹션(402)과 동일하다. 즉, 홈 링크들(403, 603), 구성 링크들(404 및 604), 스마트 장치 링크들(406 및 606), 사용자 링크들(408 및 608), 도움 버튼들(410 및 610), 및 로그아웃 버튼들(412 및 612)은 실질적으로 동일하고, 도 4와 관련한 이 네비게이션 섹션 항목들에 대한 설명은 도 6에 동일하게 적용된다.
다시 도 6을 참조하면, 개별 설정 모듈 메뉴(600)가 연관된 구성 이름이 614에 도시된다. 예를 들어, 도 6에서, 상기 연관된 구성은 "ATT Samsung Galaxy S6" 용 "S6 Testing"이라고 도시된다. 또한 개별 설정 모듈 메뉴(600)은 설정 모듈 메뉴에 대한 정보를 편집하기 위한 편집 메뉴를 오픈하는 편집 버튼(616), 및 활성화될 때 복제 메뉴를 오픈하기 위한 복제 버튼을 618에 제공한다. 이 버튼들의 동작들은 동일한 이름을 갖는 것으로 전술된 것들과 동일하다. 또한, 개별 설정 모듈 메뉴(600)은 모듈 추가 버튼(+ Add modules button)(632)을 포함하고, 이는 도 5의 532에서 모듈을 추가하는 것에 대해 전술된 것처럼 사용될 수 있다. 도 5의 532에서의 설명은 모듈 추가 버튼과 관련된 도 6의 632에도 동일하게 적용된다.
도 6에서, 활성 모듈들이 620에 도시된다. 이 활성 모듈들은 도 5의 520에 도시된 것들과 동일하다. 활성 모듈들(620)은 624에서 모듈 이름들 및 626에서 임의의 활성 모듈에서의 설정의 수를 나타낸다. 620에서 활성 모듈들의 목록으로부터 하나의 활성 모듈이 선택되면, 이는 모듈 "Google Login"이 강저된 628에 도시된 것과 같이 강조될 것이다. 이는 또한 Google Login이 3개의 설정 모듈들을 포함한다는 것을 나타낸다. 관리자 또는 시스템 사용자가 Google Login(628)을 클릭하면, 634에 도시된 것처럼 3개의 설정이 오픈된다. 이 세 가지 설정은 "패스워드(Password)" 설정(640), "백업 사용(Use backup)" 설정(648), 및 "사용자 이름(Username)" 설정(652)을 포함한다.
개별 설정 모듈 메뉴(600)는 특정 설정 모듈에 대한 특정 설정들을 입력하기 위해 사용된다. 이는 원하는 설정들을 위한 전역 데이터 값들을 입력하고 특정 설정 모듈이 개인화된 데이터를 로드할 것인지 여부를 판단함으로써 달성될 수 있다. Google Login(628)과 같이, 선택된 활성 모듈에 대해 디스플레이 되는 것은 624에서의 설정 모듈 필드들이 될 것이다. 634의 설정 모듈 필드들은 모듈용 설정들을 변경/조절하는 다양한 방법을 포함한다. 설정 모듈 필드들은, 전역 데이터용 입력 필드들 및 이후 단계에서 그 데이터가 사용자 별로 개인화될 것인지 여부를 나타내는 토글 스위치들, 다른 옵션들 중에서 선택하는 라디오 버튼들, 및 여러 옵션들 중 하나를 선택하기 위한 드롭 다운 필드들을 포함하지만, 이에 제한되지는 않는다. 본 발명의 목적을 위해서 "라디오 버튼들(Radio buttons)"은 특정 설정을 위한 버튼들의 세트를 의미하며, 오직 하나만이 선택될 수 있다.
다시 도 6을 참조하면, 설정 모듈 필드들(634)은 삭제 버튼(636)을 포함하고, 이는 선택된 활성 모듈을 삭제하기 위해 사용될 수 있다. 또한 624에서의 설정 모듈 필드들은 저장 버튼(638)을 포함하고, 이는 선택된 활성 모듈에 대한 필드들의 데이터에 대해 이루어진 변경 사항들을 저장하기 위해 사용될 수 있다.
도 6에 도시된 바와 같이, 634에서는 3개의 설정이 있다. 이들은 640, 648, 및 652에 있다. 패스워드 설정(640)은 패스워드를 변경하기 위한 데이터를 입력하는 영역(642)을 제공한다. 646에서, 관리자 또는 시스템 사용자는 그 정보를 개인화할지 여부를 선택할 수 있다. 본 발명의 목적을 위해, "개인화(personalized)"는 소정의 스마트 장치 타입의 모든 사용자에 대해 전역적으로 보다는 단일 사용자에게 특정한 데이터 또는 정보를 의미한다. 또한 버튼(644)이 있는데, 이는 활성화될 때 개인화 버튼에 대한 정보를 제공할 것이다. 예를 들어, 이 정보는 "도움말(help)" 특징과 유사하게, 본 발명의 웹 포털 및 어플리케이션의 맥락에서 개인화된 정보가 어떻게 기능하는지에 대한 설명을 포함하지만, 이에 제한되지는 않는다.
사용 백업 설정(648)은 토글 선택(650)을 포함한다. 도시된 바와 같이, 백업 사용이 요구될 것임을 나타내는 설정을 위해 "참(true)"이 선택된다. 640에서의 패스워드 설정과 같이, 관리자 또는 시스템 사용자는 상기 선택을 개인화하도록 선택할 수 있고, 활성화 될 때 개인화 버튼에 관한 정보를 얻을 수 있는 버튼이 제공된다. 
 사용자 이름 설정(652)은 영역(654)을 포함하고, 이는 상기 설정에 대한 변경 정보를 입력하기 위해 사용될 수 있다. 전술한 2개의 설정과 같이, 상기 설정들의 개인화 및 개인화 버튼에 대한 정보를 획득하기 위한 기능이 있다.
저장 버튼(656)은 활성화될 때 관리자 또는 시스템 사용자에 의해 입력된 변경된 정보를 저장할 것이다. 이 버튼은 전술한 저장 버튼(638)과 동일하게 동작한다. 정보가 저장되면, 구성 생성 프로세스에서 다음 단계는 개별 설정 모듈 메뉴(600)를 닫는 것이다. 이제는 생성된 구성들과 시스템 사용자들 및 스마트 장치들을 연관시키는 시간이 될 것이다.
도 3의 308을 참조하면, 사용자 메뉴는 다른 시스템 요소들과 관련하여 도시된다. 308에 도시된 바와 같이, 사용자 메뉴의 상세 보기가 도 7에 도시된다. 도 7을 참조하면, 사용자 메뉴의 상세 보기가, 일반적으로 700에서 도시된다. 사용자 메뉴(700)는 사용자를 구성하기 위한 목적으로 시스템에 사용자들을 입력하기 위해 사용되고, 이는 사용자 메뉴(700) 또는 이 목적을 위해 도 3의 장치 메뉴(310)를 이용하여 사용자들을 장치들에 할당하는 것을 포함한다. 즉, 장치 메뉴는 장치 메뉴(310) 상의 설정들을 사용자들에게 차례대로 할당할 수 있다.
네비게이션 섹션(702)은 설정 메뉴(400)에 대해 도 4에 도시된 네비게이션 섹션(402)과 동일하다. 즉, 홈 링크들(403, 703), 구성 링크들(404 및 704), 스마트 장치 링크들(406 및 706), 사용자 링크들(408 및 708), 도움 버튼들(410 및 710), 및 로그아웃 버튼들(412 및 712)은 실질적으로 동일하고, 도 4와 관련한 이 네비게이션 섹션 항목들에 대한 설명은 도 7에 동일하게 적용된다.
다시 도 7을 참조하면, 페이지의 제목은 716에 도시되고, 이 경우에는 "사용자(Users)"이다. 사용자 메뉴(700)는 사용자 추가 버튼(718)을 통해 서버에 추가된 사용자들에 대한 정보를 포함한다. 사용자 추가 버튼(718)은 사용자들을 사용자 데이터 섹션(722)에 추가하기 위해 관리자 또는 시스템 사용자에 의해 사용될 수 있다. 관리자 또는 시스템 사용자는 단일 사용자를 위한 정보를 제공하고 나서 그 유저를 서버에 추가하기 위해 사용자 추가 버튼(714)를 클릭할 수 있다. 관리자 또는 시스템 사용자는 또한 다수의 사용자와 관련된 정보를 제공하는 옵션을 가진다. 후자의 방법에서, 관리자 또는 시스템 사용자는 바람직하게 다수의 최종 사용자들의 정보로 채워진 CSV(comma separated value) 파일로서 사용자 정보를 업로드 한다. CSV 파일의 업로드 시, 관리자 또는 시스템 사용자는 대량 가져오기 버튼(720)을 활성화할 것이고 사용자 데이터는 자동적으로 사용자 데이터 섹션(722)에 입력될 것이다.
 사용자 추가 버튼(718)은 이름, 이메일, 상태, 및 소정 태그들과 같은 사용자 정보가 초기화 시에 사용자들과 연관되도록 허용한다. 즉, 이름들은 이름 열(726), 이메일 주소들은 이메일 열(738), 상태는 상태 열(746), 및 액션들은 액션 열(754)에 입력될 것이다. 이 사용자 정보가 섹션(722)에 입력되면, 이는 관리자 및 시스템 사용자들에게 다이렉트 이메일, QR(quick response) 코드의 생성, 또는 추후에 사용될 로그인을 통해 본 발명의 어플리케이션으로의 액세스를 제공하는 기능을 제공한다.
상태 열(746)과 관련하여, 상이한 타입의 정보가 디스플레이 될 수 있다. 예를 들어, 748에서, 이는 사용자가 구성된 것보다 많은 장치들에 할당된 것을 나타낸다. 750에서는, 할당된 모든 장치들이 구성되었음을 나타낸다. 마지막으로, 752에서, 이는 현재 사용자에게 할당된 장치가 없음을 나타낸다.
이전에 개시된 바와 같이, 사용자 데이터 섹션(722)는 바람직하게, 사용자 이름 열(726), 이메일 열(738), 상태 열(746), 및 관리자 또는 시스템 사용자가 할당할 수 있는 태그에 대한 액션 열(754)을 포함하지만, 이에 한정되는 것은 아니다. 사용자 데이터 섹션(722)은 또한, 732, 734, 또는 736과 같은 사용자들의 이름 변경, 740, 742 또는 744와 같은 이메일 주소 변경, 748, 750, 또는 752와 같은 사용자들의 상태 변경, 및 756, 758, 760, 762, 764, 또는 766에서의 태그들과 같은 할당된 태그들의 변경을 포함하는 사용자들에 대한 변경을 허용하지만, 이에 한정되지는 않는다. 보다 구체적으로, 756에서의 액션 태그는 사용자 정보를 편집하기 위한 것이고; 758에서의 액션 태그는 장치들을 사용자들에게 추가하기 위한 것이고; 760에서의 액션 태그는 어플리케이션 로그인 정보를 사용자들에게 이메일로 전송하기 위한 것이고; 762에서의 액션 태그는 이미 실행된 구성들로부터 감사 보고서 정보를 검색하기 위한 것이고; 764에서 액션 태그는 어플리케이션 QR 코드 로그인 정보를 디스플레이 하기 위한 것이고; 766에서의 액션 태그는 특정 사용자 정보 라인에 대한 라인 입력을 삭제하기 위한 것이다.
도 7은 또한 검색 영역(728)을 포함한다. 이는 관리자 또는 시스템 사용자가 사용자 데이터 섹션(722)에 열거된 사용자들을 검색하는 것을 허용한다. 이 도면은 또한 필터 버튼(730)을 포함한다. 필터 버튼(730)은 다양한 기준으로 사용자 데이터(722)에 도시된 사용자들을 필터링하기 위해 사용된다. 이 기준은 전체 이름들 및 이메일 주소들을 포함하지만, 이에 제한되는 것은 아니다. 그리고, 770에서 사용자 메뉴의 페이지 번호가 도시된다.
전술한 바와 같이, 스마트 장치 메뉴(310)는 사용자들에게 장치들을 할당하기 위해서 사용될 수도 있다. 도 3에서 310에 나타난 바와 같이, 스마트 장치 메뉴의 상세 보기가 도 8에 도시된다. 따라서, 도 8을 참조하여 스마트 장치가 설명된다.
도 8을 참조하면, 일반적으로 800에서, 스마트 장치 메뉴가 도시된다. 스마트 장치 메뉴(800)는 네비게이션 섹션(802)을 포함한다. 네비게이션 섹션(802)은 설정 메뉴(400)에 대해 도 4에 도시된 네비게이션 섹션(402)과 동일하다. 즉, 홈 링크들(403, 803), 구성 링크들(404 및 804), 스마트 장치 링크들(406 및 806), 사용자 링크들(408 및 808), 도움 버튼들(410 및 810), 및 로그아웃 버튼들(412 및 812)은 실질적으로 동일하고, 도 4와 관련한 이 네비게이션 섹션 항목들에 대한 설명은 도 8에 동일하게 적용된다.
스마트 장치 메뉴(800)를 참조하면, 이 메뉴는 구성들을 장치들과 연관시키고 도 6의 634에서 설정 모듈 필드들이 인에이블 되는 경우 개인화된 정보를 설정 모듈들의 설정들로 입력하기 위해 사용될 수 있다. 스마트 장치 메뉴(800)을 이용하면, 관리자 또는 시스템 사용자는 사용자 정보 섹션(822)으로부터 개인 또는 다수 단위로 사용자들을 선택할 수 있다. 선택된 사용자들은 편집을 위해 정보 섹션(837)에서 각 사용자가 오픈되는 것을 야기할 것이다. 정보 섹션(837)은 소정의 장치에 적용될 구성을 관리자들 또는 시스템 사용자들이 선택할 수 있는 드롭 다운 메뉴뿐만 아니라, 선택된 사용자에 대한 장치들을 디스플레이하고, 이는 관리자들 및 시스템 사용자들이 다른 장치들 사이에서 전환하는 것을 허용한다. 이 드롭 다운 메뉴는 846에 도시된다. 구성 내의 설정 모듈이 개인화된 데이터를 수신하도록 설정되면, 그 정보를 정보 섹션(837)에 입력하기 위해 옵션들이 나타날 것이다. 입력될 개인화된 정보가 없는 경우, 정보 섹션(837)은 도 6의 634의 설정 모듈 필드들에서 선택된 전역 데이터 값들을 보기 위한 옵션을 디스플레이 할 것이다.
도 8을 참조하여, 스마트 장치 메뉴(800)가 자세하게 설명될 것이다. 스마트 장치 메뉴의 제목이 814에 도시된다. 사용자 데이터는 822에 도시된다. 822에서의 사용자 데이터는 사용자 이름 열(824) 및 각 사용자와 연관된 장치들을 나타내는 디바이스 열(826)을 포함한다. 예를 들어, 사용자 Newer New(830)는 그것과 연관된 Samsung Tab Active 장치(832)를 가지고 있다. 또한, 사용자 Rei Hino(834)는 그와 연관된, 836에 도시된 2개의 장치들을 가지고 있다. 이 장치들은 ATT Samsung Galaxy S6 및 Verizon Samsung Galaxy Note 4이다.
각 사용자 이름은 그 옆에 사용자 이름 Rei Hino 옆에 있는 체크박스(828)와 같은 체크박스를 갖는다. 이 체크박스는 관리자 또는 시스템 사용자가 사용자 또는 그의 할당 장치(들)에 관련된 정보에 변경 사항을 적용하고자 하는 경우에 선택될 수 있다. 따라서, 체크박스(828)에 체크 표시가 있으면, 이는 관리자 또는 시스템 사용자가 사용자 이름을 클릭할 때 정보 섹션(837)이 오픈되도록 할 것이다.
정보 섹션(837)에 도시된 바와 같이, 선택된 사용자의 사용자 이름은 838에 도시된다. 할당된 장치들을 위한 탭들은 840 및 842에 도시된다. 이 기술 분야의 통상의 기술자에게는 각 할당된 장치에 대한 탭이 존재한다는 것이 이해될 수 있다. 사용자 Rei Hino에 대하여, 선택한 장치 탭은 840의 ATT Samsung Galaxy S6의 840 탭이다.
선택한 장치 탭, ATT Samsung Galaxy S6에 대한 구성 프로파일은 844에 도시된다. 이 구성 프로파일에 대하여, 846에 선택 드롭 다운 메뉴가 제공된다. 관리자 또는 시스템 사용자는 원하는 구성을 선택할 수 있다. 적용하고자 하는 선택이 있다면, 관리자 또는 시스템 사용자는 그 구성을 저장하기 위해 저장 버튼(850)을 활성화할 것이다. 관리자 또는 시스템 사용자는 모든 정보가 정확하게 기록되었는지를 확인한 후 그 구성들을 서버(312)로 발행하기 위해 발행 버튼(848)을 활성화 할 수 있다. 보다 구체적으로, 구성 프로파일(844)에 대한 발행 옵션은 컴파일러가 유효한 xpath들 및 명령들에 대한 구성을 확인하고, 그 구성에 서명하고, 그 구성을 특정 로그인 자격증명들 및 장치들과 연관시키고, 이를 사용하기 위해 서버(312)에 저장하도록 유도한다. 또한, 관리자 또는 시스템 사용자는 설치된 어플리케이션들 및 WiFi 설정 등을 포함하지만 이에 제한되지 않는 그 설정에 대한 모든 전역 값들을 디스플레이 하는 전역 값 보기 버튼(851)을 활성화하는 옵션을 포함한다.
사용자 Rei Hino(838)와 관련하여, 개인화 정보가 852에 도시된다. 관리자 또는 시스템 사용자는 이 섹션에서 정보를 변경하는 능력을 갖는다. 예를 들어, 관련된 개인화 정보가 있는 모듈 제목이 854에 도시된다. 이 경우, 그 모듈은 "GoogleLogin-General"이다. 사용자 이름(838)과 관련된 개인화 정보는 패스워드(856) 및 사용자 이름(860)을 포함한다. 관리자 또는 시스템 사용자가 패스워드를 변경하고자 하는 경우 이 정보는 858에 추가될 수 있고, 사용자 이름을 변경하고자 할 경우 이 정보는 862에 추가 될 수 있다.
관리자가 일반적으로 시스템에서, Rei Hino와 같은 사용자로부터 ATT Samsung Galaxy S6과 같은 장치를 삭제하고자 하는 경우, 시스템 사용자는 장치 삭제 버튼(864)을 활성화 할 것이다. 
도 8은 또한 검색 영역(816)을 포함한다. 이는 관리자 또는 시스템 사용자가 사용자 데이터(822)에 열거된 사용자들을 검색하는 것을 허용한다. 이 도면은 또한 필터 버튼(818)을 포함한다. 필터 버튼(818)은 다양한 기준으로 사용자 데이터(822)에 도시된 사용자들을 필터링하기 위해 사용된다. 이 기준은 전체 사용자 이름들, 이메일 주소들, 및 스마트 장치 모델들을 포함하지만, 이에 제한되는 것은 아니다
개인화 정보의 다수의 필드들을 개별적으로 입력하는 대신, 관리자 또는 시스템 사용자는 대량 가져오기 버튼(820)을 사용할 수 있다. 이 프로세스에 따르면, 관리자 또는 시스템 사용자는 구성을 위해 필요한 모든 개인화 정보 카테고리를 포함하는 다운로드 가능한 CSV 파일을 수신 할 것이다. 관리자는 대량 가져오기 버튼(820)을 사용하여 필요한 정보를 기입하고 CSV 파일을 업로드하고 개인화 정보를 한번에 다수 장치들에 적용할 수 있다.
도 9는 서버(312)에 저장된 구성이 906, 908 및 910과 같은 스마트 장치들에 의해 검색될 수 있는 세 가지 다른 방법을 나타낸다. 첫 번째 방법은 스마트 장치(906)에 설치된 본 발명의 고속 어플리케이션을 가지는 것에 의한 것이다. 이 방법을 이용하면, 스마트 장치(906)는 클라우드(106)를 통해 인터넷을 통해 원하는 구성 정보를 검색할 수 있다. 두 번째 방법에 따르면, 구성들은, 외부 연결 없이 스마트 장치(908)로의 오프라인 전송을 위해, SD 카드(902)와 같은 SD 카드에 저장 될 수 있다. 이 SD 카드는 이 목적으로 스마트 장치의 SD 카드 슬롯에 입력될 수 있다. 세 번째 방법에 따르면, 구성들은, USB 연결(905)을 이용한 스마트 장치(910)으로의 로컬 릴레이를 위해, 컴퓨터(904)에 의해 다운로드 될 수 있다.
단지 예시된 목적으로, 스마트 장치들(906, 908 및 910)은 도 9의 스마트 장치(906) 상에 도시된 특징들을 적어도 포함한다. 편의상, 스마트 장치(906)의 확대 보기가 도 10에 도시된다. 도 10에 도시된 스마트 장치는 이 분야의 통상의 기술자에 의해 이해될 수 있는 스마트 장치들의 모든 종류를 대표하는 것으로 여겨진다.
도 10을 참조하면, 스마트 장치(906)는 어플리케이션 홈/로그인 화면(912)을 포함한다. 로그인 버튼(914)을 활성화함으로써, login/sign in 화면이 도 10에 도시된 바와 같이 디스플레이 된다. 또한 메뉴 버튼(916)이 있는데, 활성화되면 옵션들에 액세스 할 수 있는 기능을 제공한다. 이 옵션들은 인터넷을 통한 어플리케이션의 웹사이트에 대한 링크들 및 "정보(about)" 페이지를 포함하지만 이에 제한되지는 않는다. 로그인 화면은 사용자 이메일 입력 필드(918) 및 사용자 패스워드 입력 필드(920)를 포함한다. 로그인에 있어서, 시스템 사용자는 본 발명의 어플리케이션을 열기 위해 이 입력 필드들에 적절한 정보를 제공 할 것이다.
시스템 사용자가 이메일 입력 필드(918) 및 패스워드 입력 필드(920)에 적절한 정보를 입력하면, 시스템 사용자는 본 발명의 어플리케이션을 서명하는 로그인 버튼(922)을 활성화할 것이다. 시스템 사용자는 또한 본 발명의 어플리케이션에 서명하기 위해 QR 코드를 사용하기 위한 스캔 QR 코드 버튼(924)을 활성화하는 옵션을 갖는다. 스캔 QR 코드 버튼(924)이 활성화되면, 이는 본 발명의 어플리케이션에 액세스하기 위해 QR 코드를 판독하기 위한 QR 리더 화면을 열 것이다. 이 판독기 화면은 QR 코드를 판독하고 본 발명의 어플리케이션에 액세스하기 위해 필요한 자격증명들을 채울 것이다. 로그인 화면은 로그인 없이 진입할 수 있고 나중에 도시되는 데모 구성을 시작하기 위한 버튼(도시되지 않음)을 포함 할 수도 있다. 이 데모 구성은 시스템 사용자가 본 발명의 어플리케이션의 동작을 이해하는 것을 돕기 위한 것이다.
도 11은 스마트 장치 상에 구성을 적용하는 프로세스 및 이러한 구성이 적절하게 구현되었는지 보장하는 검증 프로세스를 도시한다. 도 11을 참조하면, 프로세스는 본 발명의 어플리케이션에 로그인 함으로써 시작한다. 전술한 바와 같이, 로그인하는 2가지 방법이 있는데, 첫 번째는 시스템 사용자가 918 및 920에 수동으로 사용자 자격증명들을 제공하는 방법이고, 두 번째는 1106에 도시된 것과 같은 QR 코드를 사용하는 것이다. 이 방법들이 사용되면, 로그인 정보는 검증을 위해 서버(312)로 전송된다. 또한 화면(1102)에는 전술한 데모 버튼(1104)이 도시되어 있다.
로그인 정보가 정확하고 스마트 장치의 특정 모델에 대한 구성이 존재하는 경우, 본 발명의 어플리케이션은 프로세스를 화면(1108)에 도시되는 것으로 향하게 할 것이다. 만약 로그인 정보가 부정확하다면, 바람직하게는, 에러 박스를 팝업하고, 만약 사용 중인 스마트 장치에 대한 구성이 존재하지 않으면, 본 발명의 어플리케이션은 프로세스를 화면(1120)으로 향하게 할 것이다. 프로세스가 화면(1108)으로 향하는 경우, 이는 1110에서, 예를 들어 "Tachyon"일 수 있는 어플리케이션 타이틀을 보여준다. 상기 화면은 또한 메뉴 버튼(1112)을 포함하는데, 이는 활성화되면 어플리케이션의 웹사이트 및 "정보" 페이지들로의 링크에 부가적으로 로그아웃 하는 기능을 제공할 것이다. 새로 고침 버튼(1111)은 활성화되면, 상기 구성이 저장된 서버로부터 데이터를 다시 로드할 것이다. 화면(1108)의 영역(1114)에 도시된 바와 같이, 시스템 사용자가 "Begin Configuration" 버튼(1116)을 활성화 할 때 스마트 장치에 대한 구성의 상태에 관한 설명이 있다. 장치에 대한 구성들이 발견되면, 이는 영역(1114)에 디스플레이 될 것이다.
화면 디스플레이(1120)를 참조하면, 만약 로그인 자격증명들이 부정확하거나 스마트 장치에 대한 구성들이 없으면, 영역(1122)에 정보가 디스플레이 될 것이다. 이 화면 디스플레이는 또한 1110에 디스플레이 된 어플리케이션 이름 및 전술한 메뉴 버튼(1112)을 포함한다. 화면 디스플레이는 또한 전술한 새로 고침 버튼(1111)을 포함한다. 시스템 사용자가 화면(1120)이 디스플레이 되도록 하는 잘못된 로그인 정보가 화면(1102)에 입력된 것으로 생각하면, 시스템 사용자는 본 발명의 어플리케이션에 액세스를 획득하기 위해 올바른 정보를 재 입력할 수 있다.
 도 12를 참조하면, 일반적으로 1200에서, 이용 가능한 구성들을 만드는 프로세스가 상세히 설명될 것이다. 따라서, 번들되고 암호로 서명된 구성 명령어들 및 적용될 개인 데이터로 구성될 수 있는 구성이 서버(312)(도 3)로부터 1202 단계에서 스마트 장치에 의해 수신된다. 스마트 장치가 이 구성을 수신하면, 그 구성의 유효성을 확인하기 위해 암호화 서명을 검사한다. 스마트 장치가 암호화 서명이 유효하지 않다고 판단하면 이용 가능한 구성이 없음을 표시하고 다운로드 된 구성을 삭제한다. 스마트 장치가 암호화 서명이 유효하다고 판단하면, 본 발명의 어플리케이션에 의해 구성이 실행될 수 있도록 하고, 구성이 이용 가능하다는 것을 표시하고 1204 단계로 진행한다.
1204 단계에서, 스마트 장치는 상기 구성을 개인화 데이터가 통합된 설정 모듈 컴포넌트들로 다시 분석한다. 본 발명의 고속 어플리케이션을 사용하면, 스마트 장치는 바람직하게는 특정 순서로 설정 모듈들을 실행하기 시작할 것이다. 이 순서는 설정 모듈 생성자 및 적용되는 특정 구성에 의해 결정되며, 예를 들어 암호화와 같은 설정 모듈들은 일반적으로 구성의 마지막에 실행된다. 만약 설정 모듈이 스마트 장치에 설정들을 적용하기 위해 API를 사용하면, 아티팩트 저장소에는 작업이 성공적으로 수행되었음을 나타내는 결과 아티팩트가 배치된다. 바람직하게, 아티팩트 저장소는 구성들 및 감사 데이터가 저장되는 시스템 서버들에 위치할 것이다. 만약 설정 모듈이 시뮬레이션 된 터치 이벤트들을 통해 설정들을 적용하도록 설정된 경우, 본 발명의 어플리케이션은 스마트 장치의 메뉴들을 통해 정확한 페이지로 이동하고, 설정이 실제로 적용되었는지를 확인하기 전에 시뮬레이션 된 인간의 상호작용을 이용하여 설정들을 적용한다. 이러한 방식의 변경 사항들은 스크린샷의 사용 및 아티팩트 저장소에 저장되는 결과 아티팩트의 생성을 통해 기록된다. 본 발명의 고속 어플리케이션은 모든 설정 모듈들이 실행될 때까지 이 프로세스를 지속하고, 1차 시도에서 원하는 설정들을 적용하데 실패하는 이벤트가 발생한 경우 설정들을 적용하기 위해 수 차례 시도할 수 있다.
스마트 장치가 상기 구성에 의해 지시된 모든 설정 모듈들을 실행한 후에, 본 발명의 어플리케이션은 모든 설정 모듈들이 정확하게 적용되었는지 여부를 나타내는 구성 결과를 구성하고 저장 및 향후 참조를 위해 상기 구성 결과를 서버(312)에 전송할 것이다.
1204 단계에 도시된 바와 같이, 구성 결과들은 서버로 보내지고 프로세스는 1206 단계로 진행한다. 1206 단계를 참조하면, 서버(312)(도 3)는 본 발명의 어플리케이션에 의해 전송된 구성 결과들을 수신하고, 정보가 실제로 본 발명의 어플리케이션으로부터 기원하였는지를 보장하기 위해 상기 구성 결과들의 진위를 검증할 수 있다. 만약 서버가 상기 구성 결과들이 유효하다고 판단하면, 보고를 위해 웹 API를 사용하여 상기 구성 결과들을 저장하고, 관리자 및 시스템 사용자가 브라우징 가능한 실행된 구성들의 보고서들의 목록을 통해 상기 구성 결과들을 1208 단계에 도시된 웹 포탈에서 액세스 가능하도록 할 수 있다.
1208 단계를 참조하면, 관리자 또는 시스템 사용자는 웹 포탈을 사용하여 서버(312) 상의 상기 구성 결과들에 액세스 할 수 있다. 웹 포탈은 또한 관리자들 및 시스템 사용자들에게, 과거의 구성 보고서들 및 감사 보고서들을 포함한 스마트 장치들의 구성 이력을 제공한다. 이 정보는 구성들이 적용된 시기, 구성 결과, 및 구성의 상태를 포함한다.
본 발명의 시스템 및 방법의 실시 예 또는 그 일부는 프로세서 및 프로세서에 의해 판독 가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 소자를 포함)를 포함하는 프로그램 가능 컴퓨터 또는 서버 상에서 실행되는 컴퓨터 하드웨어, 펌웨어, 및/또는 컴퓨터 프로그램으로 구현될 수 있다. 임의의 컴퓨터 프로그램은 컴퓨터 기반 시스템의 내부 및 외부와 통신하도록 높은 레벨의 절차 또는 객체 지향 프로그래밍 언어로 구현될 수 있다. 임의의 컴퓨터 프로그램은, 저장 매체 또는 장치가 실시 예의 기능을 수행하도록 컴퓨터에 의해 판독될 때, 컴퓨터를 구성하고 작동시키기 위한 범용 또는 특수 목적 프로그램 가능 컴퓨터에 의해 판독 가능한, 저장 매체(예를 들어, CD-ROM, 하드 디스크, 또는 자기 디스켓) 또는 디바이스(예, 컴퓨터 주변 디바이스)와 같은 제조물품에 저장될 수 있다. 이 실시 예 또는 그 일부는 또한, 실행 시, 컴퓨터 프로그램에서의 명령이 상기된 실시 예의 기능을 수행하도록 기계를 작동시키는 컴퓨터 프로그램으로 구성된 기계 판독 가능한 저장 매체로서 구현될 수 있다.
상기된 본 발명의 시스템 및 방법의 실시 예 또는 그 일부는 다양한 어플리케이션에서 사용될 수 있다. 비록 이 실시 예 또는 그 일부가 이러한 점에서 한정되지 않을지라도, 실시 예 또는 그 일부는 다른 전자적 구성요소 중에서 마이크로 컨트롤러, 범용 마이크로프로세서, DSPs)digital signal processors), RISC(reduced instruction-set computing), 및 CISC(complex instruction-set computing)에 있는 메모리 장치로 실행될 수 있다. 또한, 상기된 실시 예 또는 그 일부는 또한 메인 메모리, 캐시 메모리, 또는 산술 연산에서 사용될 수 있는 마이크로 프로세서 또는 저장 데이터에 의해 실행되는 전자 명령어를 저장하는 다른 종류의 메모리로서 지칭되는 집적 회로 블록을 사용하여 실행될 수 있다.
상기 설명은 임의의 컴퓨팅 또는 프로세싱 환경에서 적용 가능하다. 이 실시 예 또는 그 일부는 하드웨어, 소프트웨어, 또는 이 둘의 조합으로 구현될 수 있다. 예를 들어, 이 실시 예 또는 그 일부는 하나 이상의 프로그램 가능 로직(예를 들어, ASIC), 논리 게이트, 프로세서 및 메모리와 같은 회로를 사용하여 실시될 수 있다.
다양한 실시 예들이 위에서 설명되었지만, 이들은 제한이 아닌 단지 예시로서 제시된 것이 이해되어야 한다. 예를 들어, 광고들은 개별 객체들이 아닌 객체들의 그룹으로 배치될 수 있으며, 여전히 본 발명의 범위 내에 있다. 이와 같이, 바람직한 실시 예의 폭과 범위는 상술한 예시적인 실시 예들 중 어느 것에 의해서도 제한되어서는 안 된다. 또한, 개시된 실시 예들에 대한 다양한 변경들은 이 분야의 통상의 기술자에게 명백할 것이며, 이하에 설명되는 일반적인 원리들은 다른 실시 예들 및 어플리케이션들에 적용될 수 있다. 따라서, 본 발명은 여기에 도시되거나 설명된 실시 예들로 제한되도록 의도되지 않는다.

Claims (17)

  1. 모바일 장치 구성을 위한 컴퓨터로 구현된 시스템에 있어서,
    적어도 포탈 장치 및 시스템 서버로의 무선 또는 유선 연결을 통해 자동화된 방식으로 모바일 장치가 구성되거나 재구성되는 것을 허용하는 어플리케이션을 다운로드 한, 구성되거나 재구성되는 것이 가능한 상기 모바일 장치;
    상기 모바일 장치의 적어도 하나의 버전에 대한 구성들을 생성하기 위해 포탈 장치 상에 디스플레이 될 수 있는 컴퓨터 기반 구성 메뉴, 상기 구성 메뉴는 시스템 사용자가 상기 모바일 장치의 상기 적어도 하나의 버전을 연관시킬 수 있는 하나 이상의 구성을 포함함;
    상기 구성 메뉴에서 생성되고 있는 적어도 하나의 구성과 연관되는 모듈들을 위한 설정들을 생성하고 편집하기 위해 상기 포털 장치 상에 디스플레이 될 수 있는 상기 구성 메뉴로부터 액세스되는 컴퓨터 기반 설정 모듈 메뉴, 상기 설정 모듈 메뉴는 적어도 활성 모듈 섹션 및 가용 모듈 섹션을 포함하고, 상기 설정 모듈 메뉴는 추가되는 모듈들이 상기 구성 메뉴에서 생성되고 있는 적어도 하나의 구성의 일부로 포함되도록 상기 가용 메뉴 섹션에서 상기 활성 모듈 섹션으로 모듈들을 추가할 수 있고, 삭제되는 모듈들이 상기 구성 메뉴에서 생성되고 있는 적어도 하나의 구성의 일부로 포함되지 않도록 상기 활성 모듈 섹션에서 모듈들을 삭제할 수 있음;
    상기 포털 장치 상에 디스플레이 될 수 있는 상기 설정 모듈 메뉴로부터 액세스되고, 적어도 상기 설정 모듈의 상기 활성 모듈 섹션에 위치한 모듈들에 대한 설정들을 변경하기 위한 컴퓨터 기반 개별 설정 모듈 메뉴;
    상기 포털 장치 상에 디스플레이 될 수 있는 적어도 상기 구성 메뉴로부터 액세스되고, 적어도 각 사용자의 이름 및 각 사용자와 연관된 상기 모바일 장치들의 구성 상태를 포함하는 컴퓨터 기반 사용자 메뉴;
    상기 포털 장치 상에 디스플레이 될 수 있는 적어도 상기 구성 메뉴로부터 액세스되고, 상기 사용자 메뉴에 나타난 각 사용자와 연관된 장치들의 장치 정보를 편집하기 위한 컴퓨터 기반 모바일 장치 메뉴; 및
    적어도 상기 포탈 장치, 구성 메뉴, 설정 모듈 메뉴, 개별 설정 모듈 메뉴, 사용자 메뉴, 모바일 장치 메뉴, 및 모바일 장치로부터 접근 가능하고, 생성된 상기 적어도 하나의 구성을 저장하고, 생성된 상기 구성을 상기 모바일 장치의 구성 또는 재구성을 위해 상기 모바일 장치로 전송하는 시스템 서버를 포함하는 시스템.
  2. 청구항 1에 있어서,
    상기 모바일 장치는 스마트 모바일 장치를 포함하는, 시스템.
  3. 청구항 2에 있어서,
    상기 스마트 모바일 장치는 스마트폰, 태블릿 장치, 및 PDA(personal digital assistant)를 포함하는, 시스템.
  4. 청구항 1에 있어서,
    상기 구성 메뉴는 상기 모바일 장치 메뉴 및 상기 사용자 메뉴에 액세스 할 수 있는, 시스템.
  5. 청구항 1에 있어서,
    상기 설정 모듈 메뉴는 상기 구성 메뉴, 상기 모바일 장치 메뉴, 및 상기 사용자 메뉴에 액세스 할 수 있는, 시스템.
  6. 청구항 1에 있어서,
    상기 개별 설정 모듈 메뉴는 상기 구성 메뉴, 상기 모바일 장치 메뉴, 및 상기 사용자 메뉴에 액세스 할 수 있는, 시스템.
  7. 청구항 1에 있어서,
    사용자들을 추가 및 삭제하는 동작은, 장치 설정들을 개별적으로 추가 및 삭제하는 동작 또는 2개 이상의 장치 설정들을 동시에 추가 및 삭제하는 동작을 포함하는, 시스템.
  8. 청구항 1에 있어서,
    모바일 장치 설정들을 추가 및 삭제하는 동작은, 장치 설정들을 개별적으로 추가 및 삭제하는 동작 또는 2개 이상의 장치 설정들을 동시에 추가 및 삭제하는 동작을 포함하는, 시스템.
  9. 청구항 1에 있어서,
    상기 포탈 장치는 컴퓨터 기반 장치를 포함하는, 시스템.
  10. 청구항 9에 있어서,
    상기 포탈 장치는 컴퓨터 요소들로서 적어도 하나의 프로세서, 입력/출력 시스템, 메모리, 및 버스 시스템을 포함하는 컴퓨터를 포함하는, 시스템.
  11. 모바일 장치의 구성을 검증하는 컴퓨터 구현 방법에 있어서,
    (A) 모바일 장치가, 원격 저장 위치로부터 상기 모바일 장치의 구성들 및 재구성들을 수행하는 어플리케이션을 다운로드 하는 동작;
    (B) 상기 모바일 장치가, 시스템 서버로부터 상기 모바일 장치용으로 생성되고 상기 시스템 서버에 저장된 구성을 수신하는 동작, 상기 모바일 장치는 상기 구성의 유효성을 판단하기 위해 적어도 상기 구성의 암호 서명을 검사하고, 만약 상기 암호 서명이 유효하면 단계 (C)에서;
    (C) 상기 모바일 장치가, 단계 (A)에서 다운로드 된 상기 어플리케이션을 상기 구성과 함께 실행하는 동작, 상기 어플리케이션을 상기 구성과 함께 실행하는 동작은 다음의 하위 단계들을 포함함:
    (1) 상기 구성의 설정 모듈들 및 각 설정 모듈과 연관된 상기 개인화 데이터를 제공하기 위해 상기 구성을 분석하는 동작, 및
    (2) 각 설정 모듈을 실행하고 각 설정 모듈의 상기 실행의 결과들을 미리 지정된 저장 위치에 저장하는 동작;
    (D) 상기 어플리케이션이, 상기 미리 지정된 저장 위치에 저장된 상기 결과들로부터 구성 결과들을 구성하는 동작, 상기 구성 결과들은 각각의 상기 설정 모듈들이 상기 모바일 장치에 정확하게 적용되었는지 여부를 나타냄.
    (E) 상기 모바일 장치가, 단계 (D)에서 구성된 상기 구성 결과들을 상기 시스템 서버로 전송하는 동작;
    (F) 상기 시스템 서버가, 상기 구성 결과들의 진위를 검증하는 동작, 및 만약 유효하면, 상기 시스템 서버가 원격 컴퓨팅 시스템에 보고하기 위해 상기 구성 결과들을 저장하는 동작 및 상기 모바일 장치의 상기 구성을 검증하기 위해 상기 구성 결과들을 포탈 장치로 전송하는 동작을 포함하는, 방법.
  12. 청구항 11에 있어서,
    상기 구성은 적어도 번들되고 암호화로 서명된 구성 명령어들 및 개인화 데이터를 포함하는, 방법.
  13. 청구항 11에 있어서,
    단계 (B)에서 상기 암호 서명이 유효하지 않으면, 상기 모바일 장치가 그 디스플레이 화면에 적어도 이용 가능한 구성이 없음을 디스플레이 하는 동작 및 상기 다운로드 된 상기 구성의 설정 모듈들 및 각 설정 모듈과 연관된 상기 개인화 데이터를 삭제하는 동작을 더 포함하는, 방법.
  14. 청구항 11에 있어서,
    하위 단계 (C)(2)에서 상기 설정 모듈들을 실행하는 동작은, 상기 설정 모듈들을 미리 지정된 순서로 실행하는 동작을 포함하는, 방법.
  15. 청구항 11에 있어서,
    하위 단계 (C)(2)에서 상기 미리 지정된 저장 위치는 아티팩트 저장소를 포함하는, 방법.
  16. 청구항 15에 있어서,
    설정을 상기 모바일 장치에 적용하기 위해 API(application programming interface)를 이용하는 설정 모듈들은 상기 결과들을 상기 아티팩트 저장소에 직접 저장하는, 방법.
  17. 청구항 15에 있어서,
    적어도 터치 이벤트들을 통해 설정을 상기 모바일 장치에 적용하는 설정 모듈들은, 시뮬레이션 된 인간의 상기 모바일 장치와의 상호작용을 이용하여 상기 설정을 적용하고, 이와 같은 변경 사항들을 상기 아티팩트 저장소의 상기 결과들뿐만 아니라 시스템 서버에 저장되는 스크린샷을 통해 기록하는, 방법.
KR1020177000090A 2014-06-03 2015-06-03 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션 KR102341154B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462007078P 2014-06-03 2014-06-03
US62/007,078 2014-06-03
PCT/US2015/034044 WO2015187865A1 (en) 2014-06-03 2015-06-03 High-speed application for installation on mobile devices for permitting remote configuration of such mobile devices

Publications (2)

Publication Number Publication Date
KR20170015968A true KR20170015968A (ko) 2017-02-10
KR102341154B1 KR102341154B1 (ko) 2021-12-21

Family

ID=54703370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177000090A KR102341154B1 (ko) 2014-06-03 2015-06-03 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션

Country Status (5)

Country Link
US (1) US9848277B2 (ko)
EP (1) EP3152650B1 (ko)
KR (1) KR102341154B1 (ko)
CN (1) CN106415480B (ko)
WO (1) WO2015187865A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192857B1 (ko) * 2019-11-25 2020-12-18 주식회사 엘지유플러스 Ota를 통한 펌웨어 제공 방법 및 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160084776A (ko) * 2015-01-06 2016-07-14 삼성전자주식회사 설정 정보 전송 방법 및 전자 장치
US10320877B2 (en) * 2015-04-20 2019-06-11 Splunk Inc. Systems and methods for indicating deployment of application features
US10331321B2 (en) * 2015-06-07 2019-06-25 Apple Inc. Multiple device configuration application
JP6444932B2 (ja) * 2016-04-15 2018-12-26 ファナック株式会社 サーバベースのアプリケーションソフトウエア実行システム
CN106993043B (zh) * 2017-04-06 2019-11-05 上海木木机器人技术有限公司 基于代理的数据通信系统和方法
US10754673B2 (en) * 2017-05-08 2020-08-25 Google Llc Smart device configuration guidance via automated assistant interface of separate client device
US10803093B2 (en) * 2017-09-22 2020-10-13 Microsoft Technology Licensing, Llc Systems and methods for enabling a file management label to persist on a data file
CN109765792A (zh) * 2017-11-09 2019-05-17 北京君正集成电路股份有限公司 设备的控制显示方法和装置
US11954677B2 (en) 2018-03-27 2024-04-09 Visa International Service Association System and method for authorizing and provisioning a token to an appliance
CN108769194B (zh) * 2018-05-29 2020-11-06 北京航智信息技术有限公司 学生移动终端浏览器的远程控制系统
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
CN110166586B (zh) * 2019-04-18 2021-01-08 维沃移动通信(深圳)有限公司 一种内容显示方法及终端设备
US11810105B2 (en) * 2019-06-20 2023-11-07 Visa International Service Association System and method for authorizing and provisioning a token to an appliance
US11611548B2 (en) * 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050073982A1 (en) * 2003-10-07 2005-04-07 Accenture Global Services Gmbh. Connector gateway
US20090320110A1 (en) * 2008-06-23 2009-12-24 Nicolson Kenneth Alexander Secure boot with optional components method
US20140096024A1 (en) * 2012-09-29 2014-04-03 Oracle International Corporation Dynamic configurable menu using self-describing applications
US20140215451A1 (en) * 2013-01-28 2014-07-31 Paptap Ltd Method and apparatus for developing, distributing and executing applications

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151606A (en) 1998-01-16 2000-11-21 Visto Corporation System and method for using a workspace data manager to access, manipulate and synchronize network data
US20040002943A1 (en) * 2002-06-28 2004-01-01 Merrill John Wickens Lamb Systems and methods for application delivery and configuration management of mobile devices
US7239877B2 (en) * 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US7970386B2 (en) 2005-06-03 2011-06-28 Good Technology, Inc. System and method for monitoring and maintaining a wireless device
US20070111726A1 (en) * 2005-11-15 2007-05-17 Sony Ericsson Mobile Communications Ab User profiles for mobile terminals
US7702322B1 (en) 2006-02-27 2010-04-20 Good Technology, Llc Method and system for distributing and updating software in wireless devices
WO2008008995A2 (en) * 2006-07-13 2008-01-17 Neustar, Inc. Configuring a graphical user interface of a mobile communication device
CN101114933A (zh) * 2006-07-26 2008-01-30 华为技术有限公司 对能力管理对象维护、对能力管理的方法、系统及终端
US7809936B2 (en) * 2006-08-02 2010-10-05 Freescale Semiconductor, Inc. Method and apparatus for reconfiguring a remote device
CN101068383B (zh) * 2007-06-18 2010-06-02 中兴通讯股份有限公司 基于终端管理业务的学生终端配置方法和系统
US20090006846A1 (en) * 2007-06-27 2009-01-01 Apple Inc. Bluetooth device as security access key
GB2451505A (en) * 2007-08-01 2009-02-04 Iti Scotland Ltd Key distribution in a network using key shares in a secret sharing scheme
US9294621B2 (en) * 2008-04-21 2016-03-22 Aetherpal Inc. Virtual mobile management—remote control
US8516095B2 (en) * 2008-05-23 2013-08-20 Research In Motion Limited Remote administration of mobile wireless devices
US8695058B2 (en) 2009-05-20 2014-04-08 Mobile Iron, Inc. Selective management of mobile device data in an enterprise environment
CN101794500B (zh) * 2009-12-29 2012-10-10 刘利华 一种可远程控制电子电器设备的系统
US8359016B2 (en) * 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
EP2751970A1 (en) * 2011-08-31 2014-07-09 Thomson Licensing Method for a secured backup and restore of configuration data of an end-user device, and device using the method
EP2856279A4 (en) 2012-05-30 2016-03-02 Thomson Licensing PARENTAL MONITORING IN A HOME-GATEWAY ENVIRONMENT
CN103607456B (zh) * 2013-11-21 2018-12-18 厦门雅迅网络股份有限公司 一种集群移动终端的软件远程升级的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050073982A1 (en) * 2003-10-07 2005-04-07 Accenture Global Services Gmbh. Connector gateway
US20090320110A1 (en) * 2008-06-23 2009-12-24 Nicolson Kenneth Alexander Secure boot with optional components method
US20140096024A1 (en) * 2012-09-29 2014-04-03 Oracle International Corporation Dynamic configurable menu using self-describing applications
US20140215451A1 (en) * 2013-01-28 2014-07-31 Paptap Ltd Method and apparatus for developing, distributing and executing applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192857B1 (ko) * 2019-11-25 2020-12-18 주식회사 엘지유플러스 Ota를 통한 펌웨어 제공 방법 및 장치

Also Published As

Publication number Publication date
US9848277B2 (en) 2017-12-19
US20150350806A1 (en) 2015-12-03
EP3152650A4 (en) 2018-01-31
EP3152650B1 (en) 2019-09-11
EP3152650A1 (en) 2017-04-12
WO2015187865A1 (en) 2015-12-10
CN106415480B (zh) 2019-12-17
KR102341154B1 (ko) 2021-12-21
CN106415480A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
KR102341154B1 (ko) 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션
CN103189839B (zh) 用于多部件计算机环境的自动化部署的系统和方法
US9311486B2 (en) Network based firmware feature configuration and firmware image generation
US9753747B2 (en) Dynamic generated web UI for configuration
US10146672B2 (en) Method and system for automated user interface (UI) testing through model driven techniques
US20090307763A1 (en) Automated Test Management System and Method
JP6761441B2 (ja) ソフトウェアアプリケーションプログラミングインタフェース(api)を用いた自動テスト機能のユーザによる制御
US11138097B2 (en) Automated web testing framework for generating and maintaining test scripts
US11245601B2 (en) Automated integrated test system and method thereof
CN107395747B (zh) 一种基于stf平台的高扩展方法
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
CN111104123A (zh) 应用程序的自动部署
US11055205B1 (en) Regression testing using automation technologies
US11113357B2 (en) Method and system for onboarding a virtual network function package utilized by one or more network services
US20210271458A1 (en) Managing an app method and system
Göth Testing techniques for mobile device applications
CN113377468A (zh) 一种脚本执行方法、装置、电子设备及存储介质
EP2075691B1 (en) A Framework for building an executable scheme
Greene Getting Started with Microsoft System Center Operations Manager
US11550705B2 (en) System and method for performing end-to-end simulation and testing of an IOT application
Choi et al. Cisco Router Upgrading Playbook
US20240095029A1 (en) Catalog for managing modular code
CN118312417A (en) Debugging method, device, computer equipment, storage medium and program product
Velozo et al. Evaluation of a Mobile Software Development Company
CN112749395A (zh) 一种软件漏洞管理方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant