KR102313789B1 - 이종 전자 디바이스들에 대한 애플리케이션 배포물의 구분 - Google Patents
이종 전자 디바이스들에 대한 애플리케이션 배포물의 구분 Download PDFInfo
- Publication number
- KR102313789B1 KR102313789B1 KR1020177011021A KR20177011021A KR102313789B1 KR 102313789 B1 KR102313789 B1 KR 102313789B1 KR 1020177011021 A KR1020177011021 A KR 1020177011021A KR 20177011021 A KR20177011021 A KR 20177011021A KR 102313789 B1 KR102313789 B1 KR 102313789B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- entries
- version
- operating system
- logical
- Prior art date
Links
- 238000009826 distribution Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000009434 installation Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 description 38
- 238000012545 processing Methods 0.000 description 29
- 238000007726 management method Methods 0.000 description 22
- 230000015654 memory Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- YWXYYJSYQOXTPL-SLPGGIOYSA-N isosorbide mononitrate Chemical compound [O-][N+](=O)O[C@@H]1CO[C@@H]2[C@@H](O)CO[C@@H]21 YWXYYJSYQOXTPL-SLPGGIOYSA-N 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000238558 Eucarida Species 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000002591 computed tomography Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 230000000193 eyeblink Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000002600 positron emission tomography Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/508—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
- H04L41/5096—Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
- H04L63/205—Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/33—Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/71—Hardware identity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/02—Resource partitioning among network components, e.g. reuse partitioning
- H04W16/06—Hybrid resource partitioning, e.g. channel borrowing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
Abstract
복수의 전자 디바이스들을 프로그래밍하기 위한 애플리케이션의 복수의 물리적인 배포물들을 그룹화함으로써 논리적인 애플리케이션을 생성하기 위한 기술들이 제공된다. 논리적인 애플리케이션은 단일 인터페이스를 통해 별개의 명령들을 실행할 수 있으며, 이는 상이한 사용자의 전자 디바이스들(예를 들어, 스마트 폰들, 태블릿들, 워크스테이션들, 웨어러블 컴퓨터들)과 회사의 다양한 서버들 사이에서 요구되는 연결들의 수를 감소시킨다. 특정 실시예들에 있어서, 애플리케이션의 복수의 물리적인 배포물들은 애플리케이션의 상이한 운영 시스템 버전들에 대응할 수 있다. 이러한 운영 시스템들 및 디바이스 유형들의 각각에 대하여 컴파일링된 코드는 상당히 상이한 배포 아키텍처들로부터 사용자들의 디바이스들을 선택하도록 제어되고 할당된다. 디바이스 상의 사용자와 연관된 정책이 식별되며, 정책에 기초하여 논리적인 애플리케이션의 적절한 버전이 사용자의 디바이스의 애플리케이션 카탈로그에 부가된다. 디바이스의 사용자는 논리적인 애플리케이션의 적절한 버전을 디바이스 상에 설치할 수 있다.
Description
관련 출원들에 대한 상호 참조들
본 출원은, "Mobile Security Manager(MSM)"라는 명칭으로 2014년 09월 24일자로 출원된 미국 가특허 출원번호 제62/054,544호의 이익 및 우선권을 주장하는, "COMPARTMENTALIZING APPLICATION DISTRIBUTION FOR DISPARATE ELECTRONIC DEVICES"라는 명칭으로 2015년 04월 17일자로 출원된 미국 정규 특허 출원번호 제14/689,722호의 이익 및 우선권을 주장한다. 이상에서 식별된 특허 출원들의 전체 내용들은 모든 목적들을 위하여 본원에 참조로서 통합된다.
기술분야
본 개시는 전반적으로 다양한 유형들의 전자 디바이스들에 대한 애플리케이션들을 관리하는 것에 관한 것이다. 더 구체적으로, 이종 전자 디바이스들에 대한 애플리케이션의 배포물(distribution)을 구분하기 위한 기술들이 개시된다.
애플리케이션은 일반적으로, 개인용 컴퓨터, 데스크탑, 모바일 또는 핸드헬드 디바이스 예컨대 랩탑, 스마트폰, 태블릿 및 유사한 것과 같은 전자 디바이스들의 사용자를 위해 특정 기능을 수행하도록 설계된 프로그램을 지칭한다. 애플리케이션들의 예들은, 워드 프로세서들, 데이터베이스 프로그램들, 웹 브라우저들, 개발 툴들, 통신 프로그램들 및 유사한 것을 포함할 수 있다. 애플리케이션은 전형적으로 그것의 의도된 기능을 수행하기 위하여 디바이스의 운영 시스템의 서비스들을 사용한다. 애플리케이션은 디바이스 상에 미리 로딩되거나, 또는 사용자가 애플리케이션을 둘러보고(browse) 다운로드하는 것을 가능하게 하는 온라인 스토어(online store) 또는 인터넷으로부터 디바이스의 사용자에 의해 다운로드될 수 있다.
애플리케이션들은 전형적으로 애플리케이션들에 대한 서비스들을 제공하는 다양한 애플리케이션 플랫폼들을 통해 이용가능할 수 있다. 애플리케이션 플랫폼에 의해 제공되는 서비스들은, 예를 들어, 애플리케이션을 실행하기 위한 운영 시스템 서비스들, 애플리케이션이 데이터를 프로세싱하고 저장하는 것을 가능하게 하는 데이터 서비스들, 애플리케이션을 생성하고 유지하는데 도움을 주는 개발 툴들, 등을 포함할 수 있다. 이와 같이, 전자 디바이스 상에서 애플리케이션을 관리하는 개선된 방식들을 찾는 것이 희망된다.
전반적으로, 상이한 유형들의 전자 디바이스들의 애플리케이션 배포를 용이하게 하기 위한 기술들이 개시된다. 이러한 기술들은 논리적인 애플리케이션을 생성하기 위한 (예를 들어, 방법, 시스템, 하나 이상의 프로세서들에 의해 실행가능한 코드 또는 명령어들을 저장하는 비-일시적인 컴퓨터 판독가능 매체)를 제공한다. 논리적인 애플리케이션은 단일 인터페이스를 통해 별개의 명령들을 실행할 수 있으며, 이는 상이한 사용자의 전자 디바이스들(예를 들어, 스마트 폰들, 태블릿들, 워크스테이션들, 웨어러블(wearable) 컴퓨터들)과 회사의 다양한 서버들 사이에서 요구되는 연결들의 수를 감소시킨다. 특정 실시예들에 있어서, 논리적인 애플리케이션은 디바이스들을 프로그래밍하기 위한 애플리케이션의 복수의 물리적인 배포물들의 그룹화를 지칭할 수 있다. 애플리케이션들은, 비제한적으로, 웹 브라우저들, 워드 프로세서들, 이메일 프로그램들, 데이터베이스 소프트웨어, 프리젠테이션 소프트웨어, 게임 애플리케이션들, 메시징 애플리케이션들, 및 유사한 것을 포함할 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션의 복수의 물리적인 배포물들은 애플리케이션의 상이한 운영 시스템(operating system; OS) 버전들에 대응할 수 있다. 예를 들어, 애플리케이션의 상이한 OS 버전들은 애플리케이션의 Android® 버전, 애플리케이션의 iOS® 버전, 애플리케이션의 Windows® 버전, 및 유사한 것을 포함할 수 있다. 이러한 운영 시스템들 및 디바이스 유형들의 각각에 대하여 컴파일링(compile)된 코드는 상당히 상이한 배포 아키텍처들로부터 사용자들의 디바이스들을 선택하도록 제어되고 할당된다.
일부 실시예들에 따르면, 논리적인 애플리케이션을 생성하기 위한 방법이 개시된다. 방법은 애플리케이션의 제 1 이진 파일에 대한 제 1 자원 로케이터(locator)를 수신하는 단계를 포함한다. 일부 예들에 있어서, 제 1 자원 로케이터는 애플리케이션의 제 1 이진 파일의 제 1 배포 위치(예를 들어, URL(uniform resource locator))를 가리킬 수 있다. 애플리케이션의 제 1 이진 파일은 애플리케이션의 특정한 물리적인 배포물(예를 들어, OS 버전)에 대응할 수 있다. 예를 들어, 제 1 이진 파일은 애플리케이션의 Android® OS 버전에 대응할 수 있다.
일부 실시예들에 있어서, 그 다음, 방법은, 제 1 자원 로케이터에 대하여 제 1 데이터베이스 레코드(record) 내에 엔트리(entry)들의 제 1 세트를 생성하고, 제 1 디바이스의 제 1 운영 시스템 버전을 엔트리들의 제 1 세트에 할당하는 단계를 포함한다. 예를 들어, 엔트리들의 제 1 세트는 애플리케이션의 Android® 버전의 URL 배포 위치에 대응할 수 있다.
일부 실시예들에 있어서, 방법은, 애플리케이션에 대한 제 2 이진 파일에 대한 속성-리스트(p-리스트) 메타데이터 파일을 수신하는 단계를 포함할 수 있다. 일부 예들에 있어서, 속성-리스트 메타데이터 파일은 애플리케이션의 제 2 이진 파일의 속성-리스트 위치(예를 들어, p-리스트 파일)를 가리킬 수 있다. 애플리케이션의 제 2 이진 파일은 애플리케이션의 특정한 물리적인 배포물(예를 들어, OS 버전)에 대응할 수 있다. 예를 들어, 제 2 이진 파일은 애플리케이션의 iOS® 버전에 대응할 수 있다.
일부 실시예들에 있어서, 방법은, 속성-리스트 메타데이터 파일에 대하여 제 2 데이터베이스 레코드 내에 엔트리들의 제 2 세트를 생성하고, 제 2 디바이스의 제 2 운영 시스템 버전을 엔트리들의 제 2 세트에 할당하는 단계를 포함할 수 있다. 예를 들어, 엔트리들의 제 2 세트는 애플리케이션의 iOS® 버전의 '.plist' 배포 위치에 대응할 수 있다.
일부 실시예들에 있어서, 방법은, 엔트리들의 제 1 세트에 링크(link)된 제 1 사용자 인터페이스 엘리먼트 및 엔트리들의 제 2 세트에 링크된 제 2 사용자 인터페이스 엘리먼트를 갖는 사용자 인터페이스를 표시하는 단계를 포함할 수 있다. 제 1 사용자 인터페이스 엘리먼트는 다중 탭(tab) 인터페이스의 제 1 탭 내에 표시될 수 있으며, 제 2 사용자 인터페이스 엘리먼트는 다중 탭 인터페이스의 제 2 탭 상에 표시될 수 있다. 일부 실시예들에 있어서, 방법은, 엔트리들의 제 1 세트 및 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성하는 단계를 포함할 수 있다.
일부 실시예들에 있어서, 엔트리들의 제 1 세트는 제 1 디바이스의 제 1 운영 시스템 플랫폼의 최소 운영 시스템 버전 및 최대 운영 시스템 버전을 포함하며, 엔트리들의 제 2 세트는 제 2 디바이스의 제 2 운영 시스템 플랫폼의 최소 운영 시스템 버전 및 최대 운영 시스템 버전을 포함한다.
일부 실시예들에 있어서, 제 1 운영 시스템 버전의 유형 또는 제 2 운영 시스템 버전의 유형은, iOS® 버전, Android® 운영 시스템 버전 및 Windows® 운영 시스템 버전으로 구성된 그룹으로부터 선택된다. 일부 실시예들에 있어서, 제 1 디바이스 또는 제 2 디바이스의 유형은, 워크스테이션, 개인용 컴퓨터, 태블릿 컴퓨터, 모바일 디바이스 및 웨어러블 디바이스로 구성된 그룹으로부터 선택된다.
일부 실시예들에 있어서, 방법은, 제 1 디바이스의 제 1 사용자와 연관된 제 1 정책을 식별하는 단계, 정책에 기초하여 제 1 디바이스 상에 설치하기 위한 논리적인 애플리케이션의 제 1 버전을 결정하는 단계, 및 제 1 디바이스 상에 논리적인 애플리케이션의 제 1 버전이 설치되게끔 하는 단계를 포함한다. 일부 실시예들에 있어서, 방법은, 제 2 디바이스의 제 2 사용자와 연관된 제 2 정책을 식별하는 단계, 정책에 기초하여 제 2 디바이스 상에 설치하기 위한 논리적인 애플리케이션의 제 2 버전을 결정하는 단계, 및 제 2 디바이스 상에 논리적인 애플리케이션의 제 2 버전이 설치되게끔 하는 단계를 포함한다. 일부 실시예들에 있어서, 방법은, 논리적인 애플리케이션의 제 1 버전이 제 1 디바이스로 다운로드되게끔 하는 단계, 및 논리적인 애플리케이션의 제 2 버전이 제 2 디바이스로 다운로드되게끔 하는 단계를 포함한다.
일부 실시예들에 따르면, 이종 전자 디바이스들에 대한 애플리케이션 배포물을 구분하기 위한 시스템이 개시된다. 시스템은, 애플리케이션의 제 1 이진 파일에 대한 제 1 자원 로케이터를 수신하고 애플리케이션의 제 2 이진 파일에 대한 속성-리스트 메타데이터 파일을 수신하기 위한 수신 유닛을 포함한다.
일부 실시예들에 있어서, 시스템은, 제 1 자원 로케이터에 대하여 제 1 데이터베이스 레코드 내에 엔트리들의 제 1 세트를 생성하고, 속성-리스트 메타데이터 파일에 대하여 제 2 데이터베이스 레코드 내에 엔트리들의 제 2 세트를 생성하기 위한 생성 유닛을 더 포함한다.
일부 실시예들에 있어서, 시스템은, 제 1 디바이스의 제 1 운영 시스템 버전을 엔트리들의 제 1 세트에 할당하고, 제 2 디바이스의 제 2 운영 시스템 버전을 엔트리들의 제 2 세트에 할당하기 위한 할당 유닛을 더 포함한다.
일부 실시예들에 있어서, 시스템은, 엔트리들의 제 1 세트에 링크된 제 1 사용자 인터페이스 유닛 및 엔트리들의 제 2 세트에 링크된 제 2 사용자 인터페이스 유닛을 갖는 사용자 인터페이스를 제공하기 위한 표시 유닛을 더 포함한다.
일부 실시예들에 있어서, 생성 유닛은, 적어도 부분적으로 엔트리들의 제 1 세트 및 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성한다.
일부 실시예들에 있어서, 시스템은, 제 1 디바이스의 제 1 사용자와 연관된 제 1 정책을 식별하고, 제 2 디바이스의 제 2 사용자와 연관된 제 2 정책을 식별하기 위한 식별 유닛을 더 포함한다.
일부 실시예들에 있어서, 시스템은, 정책에 기초하여 제 1 디바이스 상에 설치하기 위한 논리적인 애플리케이션의 제 1 버전을 결정하고, 정책에 기초하여 제 2 디바이스 상에 설치하기 위한 논리적인 애플리케이션의 제 2 버전을 결정하기 위한 결정 유닛을 더 포함한다.
일부 실시예들에 있어서, 시스템은, 결정에 기초하여 제 1 디바이스 상에 논리적인 애플리케이션의 제 1 버전이 설치되게끔 하고, 결정에 기초하여 제 2 디바이스 상에 논리적인 애플리케이션의 제 2 버전이 설치되게끔 하기 위한 설치 유닛을 더 포함한다.
일부 실시예들에 있어서, 시스템은, 논리적인 애플리케이션의 제 2 버전을 디바이스 상으로 다운로드하기 위한 푸시(push) 통지 이벤트를 제 2 디바이스로 송신하기 위한 송신 유닛을 더 포함한다.
일부 실시예들에 있어서, 이종 전자 디바이스들에 대한 애플리케이션 배포물을 구분하기 위한 추가적인 시스템이 개시된다. 시스템은 논리적인 애플리케이션 생성 엔진 및 논리적인 애플리케이션 설치 엔진을 포함한다. 논리적인 애플리케이션 생성 엔진은, 애플리케이션의 제 1 이진 파일에 대하여 제 1 데이터 베이스 레코드 내에 엔트리들의 제 1 세트를 생성하고, 애플리케이션의 제 2 이진 파일에 대한 속성-리스트 메타데이터 파일에 대하여 제 2 데이터 베이스 레코드 내에 엔트리들의 제 2 세트를 생성하며, 제 1 디바이스의 제 1 운영 시스템 버전을 엔트리들의 제 1 세트에 할당하고, 제 2 디바이스의 제 2 운영 시스템 버전을 엔트리들의 제 2 세트에 할당하며, 적어도 부분적으로 엔트리들의 제 1 세트 및 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성한다. 논리적인 애플리케이션 설치 엔진은 논리적인 애플리케이션이 제 1 디바이스 또는 제 2 디바이스 상에 설치되게끔 한다.
본 발명의 실시예들에 의해 제공되는 기술적 이점들이 다수이다. 엔트리들의 제 1 세트 및 엔트리들의 제 2 세트를 이용함으로써 단일의 논리적인 애플리케이션이 2개의 상이한 운영 시스템들을 실행하는 2개의 상이한 디바이스들 상에서 상이하게 실행될 수 있다. 따라서, 디바이스는 애플리케이션의 별개의 버전들을 유지하고 저장해야 할 필요가 없다. 이상에서 언급된 바와 같이, 논리적인 애플리케이션은 단일 인터페이스를 통해 별개의 명령들을 실행할 수 있으며, 이는 상이한 사용자의 전자 디바이스들(예를 들어, 스마트 폰들, 태블릿들, 워크스테이션들, 웨어러블 컴퓨터들)과 회사의 다양한 서버들 사이에서 요구되는 연결들의 수를 감소시킨다.
다른 특징들 및 실시예들과 함께 전술한 내용이 다음의 명세서, 청구항들, 및 첨부된 도면들을 참조할 때 더 명백해질 것이다.
도 1은 본 발명의 특정 실시예들에 따른 컴퓨팅 환경(100)의 간략화된 고-레벨 도면을 도시한다.
도 2는 본 발명의 일 실시예에 따른 논리적인 애플리케이션의 예시적인 예시이다.
도 3은 본원에서 설명되는 논리적인 애플리케이션을 생성하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다.
도 4는 본원에서 설명되는 논리적인 애플리케이션의 제 1 물리적인 배포물에 대한 엔트리들의 제 1 세트를 제공하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다.
도 5는 본원에서 설명되는 논리적인 애플리케이션의 제 2 물리적인 배포물에 대한 엔트리들의 제 2 세트를 제공하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다.
도 6은 본원에서 설명되는 논리적인 애플리케이션을 생성하기 위한 예시적인 프로세스(600)의 순서도를 예시한다.
도 7은 본원에서 설명되는 논리적인 애플리케이션을 설치하기 위한 예시적인 프로세스(700)의 순서도를 예시한다.
도 8은 일 실시예를 구현하기 위한 분산형 시스템(800)의 간략화된 도면을 도시한다.
도 9는, 본 개시의 일 실시예에 따른, 그 내부에서 서비스들이 클라우드 서비스들로서 제공될 수 있는 시스템 환경(900)의 하나 이상의 컴포넌트들의 간략화된 블록도이다.
도 10은 본 발명의 일 실시예를 구현하기 위하여 사용될 수 있는 예시적인 컴퓨터 시스템(1000)을 예시한다.
도 11은 본 발명의 특정 실시예들에 따른 이종 전자 디바이스들에 대한 애플리케이션 배포물을 구분하기 위한 시스템(1100)을 도시한다.
도 2는 본 발명의 일 실시예에 따른 논리적인 애플리케이션의 예시적인 예시이다.
도 3은 본원에서 설명되는 논리적인 애플리케이션을 생성하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다.
도 4는 본원에서 설명되는 논리적인 애플리케이션의 제 1 물리적인 배포물에 대한 엔트리들의 제 1 세트를 제공하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다.
도 5는 본원에서 설명되는 논리적인 애플리케이션의 제 2 물리적인 배포물에 대한 엔트리들의 제 2 세트를 제공하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다.
도 6은 본원에서 설명되는 논리적인 애플리케이션을 생성하기 위한 예시적인 프로세스(600)의 순서도를 예시한다.
도 7은 본원에서 설명되는 논리적인 애플리케이션을 설치하기 위한 예시적인 프로세스(700)의 순서도를 예시한다.
도 8은 일 실시예를 구현하기 위한 분산형 시스템(800)의 간략화된 도면을 도시한다.
도 9는, 본 개시의 일 실시예에 따른, 그 내부에서 서비스들이 클라우드 서비스들로서 제공될 수 있는 시스템 환경(900)의 하나 이상의 컴포넌트들의 간략화된 블록도이다.
도 10은 본 발명의 일 실시예를 구현하기 위하여 사용될 수 있는 예시적인 컴퓨터 시스템(1000)을 예시한다.
도 11은 본 발명의 특정 실시예들에 따른 이종 전자 디바이스들에 대한 애플리케이션 배포물을 구분하기 위한 시스템(1100)을 도시한다.
다음의 설명에 있어서, 예시의 목적들을 위하여, 특정 세부사항들이 본 발명의 실시예들의 완전한 이해를 제공하기 위하여 기술된다. 그러나, 다양한 실시예들이 이러한 특정 세부사항들 없이 실시될 수 있다는 것이 자명할 것이다. 도면들 및 상세한 설명은 제한적인 것으로 의도되지 않는다.
일부 측면들에 따르면, 논리적인 애플리케이션 생성 시스템이 개시된다. 일부 실시예들에 있어서, 논리적인 애플리케이션 생성 시스템은 논리적인 애플리케이션을 생성하도록 구성된다. 논리적인 애플리케이션은 단일 인터페이스를 통해 별개의 명령들을 실행할 수 있으며, 이는 상이한 사용자의 전자 디바이스들(예를 들어, 스마트 폰들, 태블릿들, 워크스테이션들, 웨어러블 컴퓨터들)과 회사의 다양한 서버들 사이에서 요구되는 연결들의 수를 감소시킨다. 이상에서 언급된 바와 같이, 논리적인 애플리케이션은 디바이스들을 프로그래밍하기 위한 애플리케이션의 복수의 물리적인 배포물들의 그룹화를 지칭할 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션의 복수의 물리적인 배포물들은 애플리케이션의 상이한 OS 버전들에 대응할 수 있다. 예를 들어, 논리적인 애플리케이션은 애플리케이션의 Android® 버전, 애플리케이션의 iOS® 버전, 애플리케이션의 Windows® 버전, 등을 포함할 수 있다. 이러한 운영 시스템들 및 디바이스 유형들의 각각에 대하여 컴파일링된 코드는 상당히 상이한 배포 아키텍처들로부터 사용자들의 디바이스들을 선택하도록 제어되고 할당된다. 일부 실시예들에 있어서, 논리적인 애플리케이션은 논리적인 애플리케이션 생성 시스템의 브라우저 애플리케이션 내에 디스플레이되는 사용자 인터페이스를 통해 생성될 수 있다.
특정 실시예들에 있어서, 논리적인 애플리케이션 생성 시스템은 디바이스 상에 논리적인 애플리케이션을 설치하도록 구성될 수 있다. 예를 들어, 디바이스는, 개인용 컴퓨터, 데스크탑, 모바일 또는 핸드헬드 디바이스 예컨대 랩탑, 스마트 폰, 태블릿, 및 유사한 것을 포함할 수 있다. 특정 실시예들에 있어서, 논리적인 애플리케이션 생성 시스템은, 디바이스에 설치될 논리적인 애플리케이션의 특정 버전을 결정하기 위하여 디바이스의 사용자와 연관된 정책을 식별하도록 구성될 수 있다. 그런 다음, 논리적인 애플리케이션 생성 시스템은, 디바이스 상의 설치를 위하여 논리적인 애플리케이션의 적절한 버전을 푸시하도록 구성될 수 있다.
본 발명의 실시예들에 따른 논리적인 애플리케이션의 생성은, 애플리케이션의 상이한 물리적인 배포물들(예를 들어, 상이한 OS 버전들)에 대하여 별개의 애플리케이션 정의들 및 /또는 인스턴스(instance)들을 생성해야 할 필요성을 제거하는 것과 같은 기술적인 이점들을 포함한다. 애플리케이션의 상이한 OS 버전들에 대응하는 개별적인 보안 명칭들을 부가하는 대신에, 단일의 논리적인 애플리케이션이 디바이스의 애플리케이션 카탈로그에 부가될 수 있다. 사용자는, 이용가능한 애플리케이션 배포물들의 리스트로부터 다운로드할 애플리케이션의 특정 버전을 선택해야만 하는 대신에 애플리케이션 카탈로그로부터 직접적으로 논리적인 애플리케이션의 적절한 버전을 설치할 수 있다. 추가로, 애플리케이션의 각각의 물리적인 배포물은 논리적인 애플리케이션 내에서 서로 독립적으로 업데이트될 수 있다. 예를 들어, 기업 내의 정보통신(Information technology; IT) 부서는, 기업 내의 계약자들의 세트에 할당된 애플리케이션의 iOS® 버전 업데이트와는 독립적으로 기업 내의 직원들의 세트에 할당된 애플리케이션의 Android® 버전에 대한 업데이트를 제공하기를 희망할 수 있다. 애플리케이션의 특정 OS 버전에 대한 업데이트가 시스템에 의해 수신될 때, 그들의 디바이스들 상에 설치된 논리적인 애플리케이션의 특정 버전을 갖는 특정 사용자 및/또는 사용자들의 그룹이 통지를 받을 수 있으며, 업데이트가 식별된 디바이스들로 푸시될 수 있다.
도 1은 본 발명의 특정 실시예들에 따른 컴퓨팅 환경(100)의 간략화된 고-레벨 도면을 도시한다. 도시된 바와 같이, 컴퓨팅 환경(100)은 통신 네트워크(106)를 통해 논리적인 애플리케이션 생성 시스템(104)에 통신 가능하게 결합된 하나 이상의 원격 디바이스들(102(1)-102(N))(집합적으로, 디바이스들(102))을 포함한다. 일부 실시예들에 있어서, 논리적인 애플리케이션 생성 시스템(104)은, 애플리케이션의 복수의 물리적인 배포물들을 단일의 논리적인 애플리케이션으로 그룹화함으로써 애플리케이션의 상이한 물리적인 배포물들을 구분하도록 구성될 수 있다. 본원에서 사용되는 '애플리케이션'은 디바이스(102)에 의해 실행되는 임의의 소프트웨어 프로그램을 지칭할 수 있다. 애플리케이션들은, 비제한적으로, 웹 브라우저들, 워드 프로세서들, 이메일 프로그램들, 데이터베이스 소프트웨어, 프리젠테이션 소프트웨어, 게임 애플리케이션들, 메시징 애플리케이션들, 및 유사한 것을 포함할 수 있다. 이상에서 언급된 바와 같이, 애플리케이션의 복수의 물리적인 배포물들은 애플리케이션의 상이한 OS 버전들에 대응할 수 있다. 예를 들어, 애플리케이션의 OS 버전들은 애플리케이션의 Android® 버전, 애플리케이션의 iOS® 버전, 및 애플리케이션의 Windows® 버전을 포함할 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 생성 시스템(104)은 기업 내의 서브시스템으로서 구현될 수 있다. 다른 예들에 있어서, 논리적인 애플리케이션 생성 시스템(104)은 또한, 기업에 대하여 애플리케이션의 배포물을 논리적인 애플리케이션으로 구분하기 위한 서비스들을 제공하는 자체적인 독립형 서비스로서 구현될 수 있다.
일부 예들에 있어서, 디바이스들(102)은 사용자들(예를 들어, 사용자_1...사용자_M)과 연관된 디바이스들을 포함할 수 있다. 예를 들어, 디바이스(102)는, 비제한적으로 개인용 컴퓨터, 데스크탑, 모바일 또는 핸드헬드 디바이스 예컨대 랩탑, 스마트 폰, 태블릿, 및 유사한 것을 포함하는 다양한 유형들일 수 있다. 디바이스들은 또한 다른 디바이스 상에서 실행되는 작업공간과 같은 엔드포인트(endpoint) 디바이스들을 포함할 수 있다. 작업공간은, 작업공간을 실행하는 디바이스 상에서 기업 데이터 및 애플리케이션들에 대한 액세스를 제공하기 위한 제어형 환경일 수 있다. 예를 들어, 보안 컨테이너(container) 애플리케이션이 디바이스(102) 상에서 실행될 수 있다. 디바이스들(102)은 또한, 비제한적으로, 기업에 의해 배급(issue)되는 디바이스들(예를 들어, 회사 디바이스) 또는 사용자의 개인용 디바이스(예를 들어, BYOD("bring your own device"))를 포함할 수 있다.
통신 네트워크(106)는 디바이스들(102)과 논리적인 애플리케이션 생성 시스템(104) 사이의 통신을 가능하게 한다. 통신 네트워크(106)는 다양한 유형들일 수 있으며, 하나 이상의 통신 네트워크들을 포함할 수 있다. 예를 들어, 통신 네트워크(106)는, 비제한적으로, 인터넷, 광역 네트워크(wide area network; WAN), ), 근거리 네트워크(local area network; LAN), 이더넷 네트워크, 공중 또는 사설 네트워크, 유선 네트워크, 무선 네트워크, 및 유사한 것, 및 이들의 조합들을 포함할 수 있다. 단일 TCP 연결을 통해 전 이중 통신을 제공하는 웹소켓(WebSocket)들, IEEE 802.XX 프로토콜 묶음(suite), TCP/IP, IPX, SAN, 애플토크(AppleTalk), 블루투스, 및 다른 프로토콜들과 같은 유선 및 무선 프로토콜들 모두를 포함하는 상이한 통신 프로토콜들이 통신을 가능하게 하기 위하여 사용될 수 있다. 일반적으로, 통신 네트워크(106)는, 디바이스들(102)과 논리적인 애플리케이션 생성 시스템(104) 사이의 통신을 가능하게 하는 임의의 통신 네트워크 또는 인프라스트럭처를 포함할 수 있다.
도 1에 도시된 실시예에 있어서, 논리적인 애플리케이션 생성 시스템(104)은, 논리적인 애플리케이션 생성 엔진(108), 정책 엔진(110), 논리적인 애플리케이션 설치 엔진(112) 및 논리적인 애플리케이션 사용자 인터페이스(User Interface; UI)(114)를 포함한다. 논리적인 애플리케이션 생성 엔진(108), 정책 엔진(110), 논리적인 애플리케이션 설치 엔진(112) 및 논리적인 애플리케이션 UI(114)는, 범용 컴퓨터들, 특수 서버 컴퓨터들, 서버 팜들, 서버 클러스터들, 하나 이상의 프로세서들에 의해 실행되는 소프트웨어 컴포넌트들 또는 임의의 다른 적절한 배열 및/또는 조합으로서 구현될 수 있다. 논리적인 애플리케이션 생성 시스템(104)의 다양한 컴포넌트들은 오로지 예시적인 목적들만을 위한 것으로서 여겨져야 하며, 본 발명의 실시예들의 범위를 제한하도록 의도되지 않는다. 대안적인 실시예들은 도 1에 도시된 것들보다 더 많거나 또는 더 적은 컴포넌트들 및/또는 더 많거나 또는 더 적은 디바이스들을 포함할 수 있다.
일부 실시예들에 있어서, 논리적인 애플리케이션 생성 엔진(108)은 디바이스(102) 상에서 실행되는 애플리케이션에 대한 논리적인 애플리케이션을 생성하도록 구성될 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션은 하나 이상의 엔트리들의 세트를 포함하는 데이터 구조로서 구현될 수 있다. 데이터 구조는, 비제한적으로, 어레이, 레코드, 관계형 데이터베이스 테이블, 해시(hash) 테이블, 링크드 리스트, 또는 다른 유형들의 데이터 구조들을 포함하는 상이한 유형들의 데이터 구조들의 하나 이상의 조합들로서 구현될 수 있다. 논리적인 애플리케이션에 대한 예시적인 데이터 구조가 도 2에 도시된다.
일부 예들에 있어서, 논리적 애플리케이션 내의 하나 이상의 엔트리들의 세트는 애플리케이션의 상이한 OS 버전들과 연관된 정보를 포함할 수 있다. 예를 들어, 논리적인 애플리케이션 내의 엔트리들의 제 1 세트는 애플리케이션의 Android® 버전에 관한 정보를 포함할 수 있으며, 논리적인 애플리케이션 내의 엔트리들의 제 2 세트는 애플리케이션의 iOS® 버전에 관한 정보를 포함할 수 있고, 논리적인 애플리케이션 내의 엔트리들의 제 3 세트는 애플리케이션의 Windows® 버전에 관한 정보를 포함할 수 있는 등이다. 일부 예들에 있어서, 논리적인 애플리케이션은 데이터베이스 레코드들의 세트를 갖는 데이터베이스 테이블로서 구현될 수 있으며, 여기에서 엔트리들의 제 1 세트는 데이터베이스 테이블 내의 제 1 데이터베이스 레코드에 대응하고, 엔트리들의 제 2 세트는 데이터베이스 테이블 내의 제 2 데이터베이스 레코드에 대응하며, 엔트리들의 제 3 세트는 데이터베이스 테이블 내의 제 3 데이터베이스 레코드에 대응한다.
일부 실시예들에 있어서, 논리적인 애플리케이션은 논리적인 애플리케이션 사용자 인터페이스(UI)(114)를 통해 생성될 수 있다. 예를 들어, 논리적인 애플리케이션 생성 시스템(104)의 사용자(예를 들어, 관리자)는 논리적인 애플리케이션을 생성하기 위하여 논리적인 애플리케이션 UI(114)와 상호작용할 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 UI(114)는 논리적인 애플리케이션 생성 시스템 내의 브라우저 애플리케이션 내에 디스플레이될 수 있으며, 관리자는 논리적인 애플리케이션을 생성하기 위하여 논리적인 애플리케이션 UI와 상호작용할 수 있다. 도 3 및 도 4는 논리적인 애플리케이션 UI(114)를 통한 논리적인 애플리케이션의 생성을 예시한다.
일부 실시예들에 따르면, 논리적인 애플리케이션 UI(114)는 애플리케이션의 제 1 이진 파일에 대한 제 1 자원 로케이터를 수신할 수 있다. 예를 들어, 제 1 자원 로케이터는 애플리케이션의 Android® 버전의 URL 위치일 수 있다. 논리적인 애플리케이션 생성 엔진(108)은 제 1 자원 로케이터에 대한 엔트리들의 제 1 세트를 논리적인 애플리케이션 내에 생성하도록 구성될 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 생성 엔진(108)은 제 1 디바이스의 제 1 OS 버전을 엔트리들의 제 1 세트에 할당할 수 있다. 예를 들어, 엔트리들의 제 1 세트는 애플리케이션의 Android® OS 버전에 관한 정보를 포함할 수 있다.
일부 실시예들에 있어서, 논리적인 애플리케이션 UI(114)는, 논리적인 애플리케이션 UI(114)를 통해 애플리케이션에 대한 제 2 이진 파일에 대한 속성-리스트 메타데이터 파일을 수신할 수 있다. 예를 들어, 속성-리스트(p-리스트) 메타데이터 파일은 애플리케이션의 iOS® 버전의 URL 위치를 포함할 수 있다. 속성-리스트 메타데이터 파일은, 애플리케이션에 관한 데이터를 저장하는 XML 파일 또는 이진 파일일 수 있다. 논리적인 애플리케이션 생성 엔진(108)은, 속성-리스트 메타데이터 파일에 기초하여 엔트리들의 제 2 세트를 논리적인 애플리케이션 내에 생성하도록 구성될 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 생성 엔진(108)은 제 2 디바이스의 제 2 OS 플랫폼을 엔트리들의 제 2 세트에 할당할 수 있다. 예를 들어, 엔트리들의 제 2 세트는 애플리케이션의 iOS® 플랫폼 버전에 관한 정보를 포함할 수 있다.
일부 실시예들에 있어서, 논리적인 애플리케이션 UI(114)는 애플리케이션에 대한 제 3 이진 파일에 대한 Windows Store® 위치를 수신할 수 있다. 예를 들어, Windows Store® 위치는 애플리케이션의 Windows® 버전의 URL 위치를 포함할 수 있다. 논리적인 애플리케이션 정의 엔진(108)은 Windows Store® 위치에 대한 엔트리들의 제 3 세트를 논리적인 애플리케이션 내에 생성하도록 구성될 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 생성 엔진(108)은 제 3 디바이스의 제 3 OS 플랫폼을 엔트리들의 제 2 세트에 할당할 수 있다. 예를 들어, 엔트리들의 제 3 세트는 애플리케이션의 Windows® 플랫폼 버전에 관한 정보를 포함할 수 있다. 이상의 설명이 엔트리들의 제 1, 제 2 및 제 3 세트를 갖는 논리적인 애플리케이션에 관한 것이지만, 다른 실시예들에 있어서, 논리적인 애플리케이션은 더 많거나 또는 더 적은 엔트리들의 세트들을 가지고 생성될 수 있다.
일부 실시예들에 있어서, 논리적인 애플리케이션 UI(114)는 애플리케이션의 특정한 물리적인 배포물에 관한 추가적인 정보를 수신할 수 있다. 추가적인 정보는, 예를 들어, 애플리케이션의 특정한 물리적인 배포물의 최소 및 최대 OS 버전, 애플리케이션의 명칭, 애플리케이션의 카테고리, 애플리케이션의 설명, 애플리케이션과 연관된 판매자의 명칭, 애플리케이션의 버전, 애플리케이션을 나타내는 아이콘, 애플리케이션의 URL, 애플리케이션 유형, 애플리케이션의 생성 시간 및 유사한 것을 포함할 수 있다. 일부 실시예들에 있어서, 논리적인 애플리케이션 생성 엔진(108)은 이러한 추가적인 정보를 사용하여 논리적인 애플리케이션을 생성하도록 구성될 수 있다. 일부 예들에 있어서, 따라서 생성되는 논리적인 애플리케이션은 애플리케이션 카탈로그(116) 내에 저장될 수 있다.
일부 예들에 있어서, 논리적인 애플리케이션 생성 시스템(104)은 사용자/디바이스 정보 데이터베이스(120)를 포함할 수 있다. 일부 예들에 있어서, 사용자/디바이스 정보 데이터베이스(120)는, 예를 들어, 원격 디바이스 상의 운영 시스템의 유형, 운영 시스템의 버전, 원격 디바이스가 다른 디바이스 상에서 호스팅(host)되는 경우 호스트 식별자, 디바이스 유형, 국제 모바일 기기 식별코드(International Mobile Equipment Identity; IMEI) 번호, 원격 디바이스의 모델, 원격 디바이스의 서비스 제공자(예를 들어, 캐리어(carrier)), 디바이스 명칭, 디바이스 상태, 또는 원격 디바이스에 관한 다른 정보를 포함하는, 사용자들 및 사용자들과 연관된 디바이스들에 관한 정보를 저장할 수 있다.
일부 실시예들에 있어서, 논리적인 애플리케이션 설치 엔진(112)은 디바이스(102) 상에 논리적인 애플리케이션을 설치하도록 구성될 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 설치 엔진(112)은, 특정한 논리적인 애플리케이션(예를 들어, 'Smart Birds' 게임 애플리케이션)이 디바이스 상에 설치될 수 있는지 여부를 결정하기 위하여 디바이스(102)의 사용자와 연관된 정책을 식별하도록 구성될 수 있다. 일부 예들에 있어서, 사용자 정책들은 정책 규칙 데이터베이스(118) 내에 저장될 수 있다. 예를 들어, 사용자 정책들은 디바이스와 연관된 사용자의 역할 또는 책임에 관련될 수 있다. 예를 들어, 사용자의 역할 또는 책임은 기업에 의해 정의되는 것일 수 있다. 예를 들어, 사용자는 기업 내에서 '관리자' 역할, '매니저' 역할, '영업 애널리스트(Sales Analyst)' 역할 등을 가질 수 있다. 역할은, 예를 들어, 사용자가 사용하도록 허용된 디바이스의 특정 유형, 사용자의 디바이스 상에 사용자에 의해 설치될 수 있는 애플리케이션의 특정 유형 및/또는 버전 등을 포함하는 사용자에 대한 액세스 정책들 정의할 수 있다.
일부 실시예들에 있어서, 그런 다음 논리적인 애플리케이션 설치 엔진(112)은 디바이스(102) 상에 설치될 논리적인 애플리케이션의 특정 버전을 결정할 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 설치 엔진(112)은 디바이스(102) 상에 설치될 논리적인 애플리케이션의 특정 버전을 결정하기 위하여 추가적인 기준을 적용할 수 있다. 추가적인 기준은, 예를 들어, 디바이스(102)에 의해 지원되는 OS의 특정 버전이 논리적인 애플리케이션의 특정 버전(Android®, iOS®, Windows® 및 유사한 것)의 최소 및 최대 범위 내에 있는지를 결정하는 것을 포함할 수 있다. 예를 들어, 디바이스(102)가 iOS® 8.1.2 모바일 OS를 지원하는 경우, 논리적인 애플리케이션 설치 엔진(112)은, 논리적인 애플리케이션의 iOS® 버전이 디바이스(102) 상에 설치되어야만 하는 디바이스의 OS의 최소 및 최대 범위 내에 있다는 것을 결정할 수 있다. 추가적인 기준은 또한, 이로부터 디바이스가 애플리케이션을 설치할 수 있는 배포 위치의 상이한 유형들(예를 들어, 이진수, URL, App Store®)을 결정하는 것 등을 포함할 수 있다.
일부 실시예들에 있어서, 디바이스가 추가적인 기준을 충족시키는 경우, 논리적인 애플리케이션 설치 엔진(112)은 디바이스(102) 상에 논리적인 애플리케이션의 특정 버전을 설치하도록 구성될 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 설치 엔진(112)은, 디바이스(102)로 푸시 통지 이벤트를 송신함으로써 디바이스(102) 상의 논리적인 애플리케이션의 특정 버전의 설치를 개시하도록 구성될 수 있다. 일부 예들에 있어서, 푸시 통지는, 디바이스(102)의 사용자가 디바이스(102) 상에 논리적인 애플리케이션의 특정 버전을 설치할 수 있게 하는 링크를 가지고 디바이스(102)로 전송되는 메시지일 수 있다. 디바이스(102)의 사용자는 디바이스(102) 상에 논리적인 애플리케이션을 설치하기 위하여 메시지와 상호작용할 수 있다. 일부 예들에 있어서, 논리적인 애플리케이션 설치 엔진(112)은 디바이스(102) 내의 애플리케이션 카탈로그에 논리적인 애플리케이션의 특정 버전이 부가되었다는 것을 나타내기 위하여 푸시 통지 이벤트를 디바이스(102)로 송신하도록 구성될 수 있으며, 디바이스(102)는 애플리케이션 카탈로그로부터 논리적인 애플리케이션의 특정 버전을 설치할 수 있다.
도 2는 본 발명의 일 실시예에 따른 논리적인 애플리케이션의 예시적인 예시이다. 도 2에 도시된 실시예는 "SmartBirds" 게임 애플리케이션에 대하여 생성된 논리적인 애플리케이션을 예시한다. 일 예에 있어서, 논리적인 애플리케이션은, 애플리케이션의 상이한 물리적인 배포물들과 연관된 하나 이상의 엔트리들의 세트를 포함하는 데이터 구조(200)로서 구현될 수 있다. 도 2에 도시된 예에 있어서, 데이터 구조(200)는 하나 이상의 데이터베이스 레코드들의 세트를 갖는 데이터베이스 테이블이다. 데이터베이스 테이블 내의 제 1 데이터베이스 레코드는 논리적인 애플리케이션과 연관된 엔트리들의 제 1 세트와 관련된 정보를 포함할 수 있다. 예를 들어, 엔트리들의 제 1 세트는 "SmartBirds" 게임 애플리케이션의 Android® 버전에 대응할 수 있다. 제 2 데이터베이스 레코드는 논리적인 애플리케이션과 연관된 엔트리들의 제 2 세트와 관련된 정보를 포함할 수 있다. 예를 들어, 논리적인 애플리케이션 내의 엔트리들의 제 2 세트는 애플리케이션의 iOS® 버전에 관한 정보를 포함할 수 있다. 제 3 데이터베이스 레코드는 논리적인 애플리케이션과 연관된 엔트리들의 제 3 세트와 관련된 정보를 포함할 수 있다. 예를 들어, 논리적인 애플리케이션 내의 엔트리들의 제 3 세트는 애플리케이션의 Windows® OS 버전에 관한 정보를 포함할 수 있는 등이다. 예시된 예가 3개의 데이터베이스 레코드들 또는 로우(row)들을 갖는 데이터베이스 테이블로서의 논리적인 애플리케이션의 구현을 도시하지만, 다른 실시예들에 있어서, 논리적인 애플리케이션은 더 적거나 또는 더 많은 데이터베이스 레코드들을 갖는 데이터베이스 테이블로서 구현될 수 있다.
추가적으로 예시되는 바와 같이, 엔트리들의 상이한 세트들(제 1, 제 2, 제 3 세트들)은 애플리케이션의 각각의 버전과 관련된 추가적인 정보를 포함할 수 있다. 추가적인 정보는, 예를 들어, 애플리케이션 식별자, 애플리케이션 명칭, 애플리케이션 유형, 애플리케이션 설명, 애플리케이션 카테고리, 애플리케이션 OS 플랫폼(예를 들어, Android®, iOS®, Window® 및 유사한 것), 애플리케이션 배포 위치(예를 들어, URL, 이진수, App Store®, Windows Store® 및 유사한 것), 애플리케이션 버전, 최소 애플리케이션 OS 플랫폼 버전, 최대 애플리케이션 OS 플랫폼 버전, 및 애플리케이션 패키지 명칭, 및 유사한 것을 포함할 수 있다.
이상에서 언급된 바와 같이, 그리고 도 3 및 도 4에서 추가적으로 예시되는 바와 같이, 일부 실시예들에 있어서, 논리적인 애플리케이션은, 논리적인 애플리케이션 생성 시스템 내의 논리적인 애플리케이션 사용자 인터페이스(UI)(114)와 사용자의 상호작용의 결과로서 생성될 수 있다.
도 3은 본원에서 설명되는 논리적인 애플리케이션을 생성하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다. 도 3에서, 예시적인 환경(300)은 논리적인 애플리케이션 생성 시스템 내의 브라우저 애플리케이션을 통해 볼 수 있는 논리적인 애플리케이션 UI(114)에 의해 제공되는 그래픽 사용자 인터페이스일 수 있다. 도 3에 예시된 예에 있어서, 사용자는 애플리케이션과 관련된 정보, 예컨대 애플리케이션의 특정 유형, 애플리케이션의 명칭, 애플리케이션의 설명 및 유사한 것을 제공할 수 있다. 이에 더하여, 사용자는 애플리케이션의 특정 OS 플랫폼(예를 들어, Android®, iOS®, Window® 및 유사한 것), 애플리케이션 판매자 및 애플리케이션을 디스플레이하기 위한 아이콘을 선택할 수 있다.
특정 실시예들에 있어서, 그래픽 사용자 인터페이스(300)는 사용자 인터페이스의 제 1 탭 내의 제 1 사용자 인터페이스 엘리먼트(302) 및 사용자 인터페이스의 제 2 탭 내의 제 2 사용자 인터페이스 엘리먼트(304)를 포함할 수 있다. 일 예에 있어서, 사용자 인터페이스 엘리먼트들(302, 304)은 애플리케이션의 상이한 배포 위치들(예를 들어, URL, 이진수, App Store®, Windows Store® 및 유사한 것)을 나타낼 수 있다. 예를 들어, 사용자는, (도 4에 도시된 바와 같이) 애플리케이션의 제 1 배포 위치(예를 들어, App Store®) 위치에 대한 엔트리들의 제 1 세트를 제공하기 위하여 제 1 사용자 인터페이스 엘리먼트(302)를 선택할 수 있으며, (도 5에 도시된 바와 같이) 애플리케이션의 제 2 배포(예를 들어, 이진 파일) 위치에 대한 엔트리들의 제 2 세트를 제공하기 위하여 제 2 사용자 인터페이스 엘리먼트(304)를 선택할 수 있다.
도 4는 본원에서 설명되는 논리적인 애플리케이션의 제 1 물리적인 배포물에 대한 엔트리들의 제 1 세트를 제공하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다. 도 4에서, 예시적인 환경(400)은 논리적인 애플리케이션 생성 시스템 내의 브라우저 애플리케이션을 통해 볼 수 있는 논리적인 애플리케이션 UI(114)에 의해 제공되는 그래픽 사용자 인터페이스일 수 있다. 도 4에 예시된 예에 있어서, 사용자는 애플리케이션의 App Store® 위치에 대한 엔트리들의 제 1 세트와 관련된 정보를 제공할 수 있다. 이러한 정보는, 예를 들어, 애플리케이션을 입수할 수 있는 특정 배포 위치, 애플리케이션 식별자, 애플리케이션의 URL, 애플리케이션과 연관된 패키지 명칭, 애플리케이션의 버전 및 애플리케이션의 최소 OS 버전을 포함할 수 있다.
도 5는 본원에서 설명되는 논리적인 애플리케이션의 제 2 물리적인 배포물에 대한 엔트리들의 제 2 세트를 제공하기 위한 예시적인 그래픽 사용자 인터페이스를 예시한다. 도 5에서, 예시적인 환경(500)은 논리적인 애플리케이션 생성 시스템 내의 브라우저 애플리케이션을 통해 볼 수 있는 논리적인 애플리케이션 UI(114)에 의해 제공되는 그래픽 사용자 인터페이스일 수 있다. 도 5에 예시된 예에 있어서, 사용자는 애플리케이션의 Android® 위치에 대한 엔트리들의 제 2 세트와 관련된 정보를 제공할 수 있다. 이러한 정보는, 예를 들어, 애플리케이션의 특정 배포 위치(예를 들어, 이진 파일), 애플리케이션 명칭, 애플리케이션 유형, 애플리케이션 아이콘, 애플리케이션과 연관된 패키지 명칭, 애플리케이션의 버전, 및 애플리케이션의 최소 및 최대 OS 버전을 포함할 수 있다.
도 6 내지 도 7은 본 발명의 특정 실시예들에 따른 논리적인 애플리케이션을 생성하기 위한 개별적인 프로세스들(600 및 700)을 도시하는 예시적인 순서도들을 예시한다. 이러한 프로세스들은 논리적인 순서도들로서 예시되며, 이들의 각각의 동작은 하드웨어, 컴퓨터 명령어들, 또는 이들의 조합으로 구현될 수 있다. 컴퓨터 명령어들의 맥락에 있어서, 동작들은, 하나 이상의 프로세서들에 의해 실행될 때 기술된 동작들을 수행하는 하나 이상의 컴퓨터-판독가능 저장 매체들 상에 저장된 컴퓨터-실행가능 명령어들을 나타낼 수 있다. 일반적으로, 컴퓨터-실행가능 명령어들은, 특정 기능들을 수행하거나 또는 특정 데이터 유형들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 및 유사한 것을 포함한다. 동작들이 설명되는 순서는 제한적인 것으로서 해석되도록 의도되지 않으며, 설명되는 동작들 중 임의의 수의 동작들이 프로세스를 구현하기 위하여 임의의 순서로 및/또는 병렬적으로 결합될 수 있다.
추가적으로, 프로세스들 중 일부의 프로세스, 또는 임의의 프로세스, 또는 전부는 실행가능 명령어들로 구성된 하나 이상의 컴퓨터 시스템들의 제어 하에서 수행될 수 있으며, 하나 이상의 프로세서들 상에서 하드웨어에 의해 또는 이들의 조합에 의해 집합적으로 실행되는 코드(예를 들어, 실행가능 명령어들, 하나 이상의 컴퓨터 프로그램들, 또는 하나 이상의 애플리케이션들)로서 구현될 수 있다. 이상에서 언급된 바와 같이, 코드는, 예를 들어, 하나 이상의 프로세서들에 의해 실행가능한 복수의 명령어들을 포함하는 컴퓨터 프로그램의 형태로 컴퓨터-판독가능 저장 매체 상에 저장될 수 있다. 컴퓨터-판독가능 저장 매체는 비-일시적일 수 있다. 일부 예들에 있어서, 적어도 도 1에 도시된 (예를 들어, 적어도 정책 엔진, 논리적인 애플리케이션 UI, 논리적인 애플리케이션 생성 엔진 및 논리적인 애플리케이션 설치 엔진을 사용하는) 논리적인 애플리케이션 생성 시스템(104)은 도 6-7의 프로세스들(600 및 700)을 각각 수행할 수 있다.
도 6은 본원에서 설명되는 논리적인 애플리케이션을 생성하기 위한 예시적인 프로세스(600)의 순서도를 예시한다. 600에서의 프로세스는 논리적인 애플리케이션 생성 엔진(예를 들어, 108)이 논리적인 애플리케이션 UI(예를 들어, 114)를 통해 애플리케이션의 제 1 이진 파일에 대한 제 1 자원 로케이터를 수신할 때 단계(602)에서 시작할 수 있다. 이상에서 언급된 바와 같이, 제 1 자원 로케이터는 애플리케이션의 제 1 이진 파일의 제 1 배포 위치(예를 들어, URL(uniform resource locator))를 가리킬 수 있다. 애플리케이션의 제 1 이진 파일은 애플리케이션의 특정한 물리적인 배포물(예를 들어, OS 플랫폼 버전)에 대응할 수 있다. 예를 들어, 제 1 이진 파일은 애플리케이션의 Android® OS 버전에 대응할 수 있다.
단계(604)에서, 논리적인 애플리케이션 생성 엔진은 제 1 자원 로케이터에 대한 엔트리들의 제 1 세트를 제 1 데이터베이스 레코드 내에 생성한다. 단계(606)에서, 논리적인 애플리케이션 생성 엔진은 제 1 디바이스의 제 1 OS 버전을 엔트리들의 제 1 세트에 할당한다. 예를 들어, 엔트리들의 제 1 세트는 애플리케이션의 Android® 버전의 URL 배포 위치에 대응할 수 있다.
일부 실시예들에 있어서, 단계(608)에서, 논리적인 애플리케이션 생성 엔진은 애플리케이션에 대한 제 2 이진 파일에 대한 속성-리스트(p-리스트) 메타데이터 파일을 수신할 수 있다. 이상에서 언급된 바와 같이, 속성-리스트 메타데이터 파일은 애플리케이션의 제 2 이진 파일의 속성-리스트 위치(예를 들어, p-리스트 파일)를 가리킬 수 있다. 애플리케이션의 제 2 이진 파일은 애플리케이션의 특정한 물리적인 배포물(예를 들어, OS 플랫폼 버전)에 대응할 수 있다. 예를 들어, 제 2 이진 파일은 애플리케이션의 iOS® 버전에 대응할 수 있다.
단계(610)에서, 논리적인 애플리케이션 생성 엔진은 속성-리스트 메타데이터 파일에 대한 엔트리들의 제 2 세트를 제 2 데이터베이스 레코드 내에 생성할 수 있다. 단계(612)에서, 논리적인 애플리케이션 생성 엔진은 제 2 디바이스의 제 2 운영 시스템 버전을 엔트리들의 제 2 세트에 할당할 수 있다. 예를 들어, 엔트리들의 제 2 세트는 애플리케이션의 iOS® 버전의 '.plist' 배포 위치에 대응할 수 있다. 단계(614)에서, 논리적인 애플리케이션 생성 엔진은 엔트리들의 제 1 세트 및 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성할 수 있다. 이상에서 언급된 바와 같이, 논리적인 애플리케이션은 데이터베이스 레코드들의 세트를 갖는 데이터베이스 테이블로서 구현될 수 있으며, 여기에서 엔트리들의 제 1 세트는 데이터베이스 테이블 내의 제 1 데이터베이스 레코드에 대응하고, 엔트리들의 제 2 세트는 데이터베이스 테이블 내의 제 2 데이터베이스 레코드에 대응하며, 엔트리들의 제 3 세트는 데이터베이스 테이블 내의 제 3 데이터베이스 레코드에 대응한다.
도 7은 본원에서 설명되는 논리적인 애플리케이션을 설치하기 위한 예시적인 프로세스(700)의 순서도를 예시한다. 700에서의 프로세스는, 논리적인 애플리케이션 생성 시스템이 통신 네트워크 내에 디바이스(예를 들어, 102)를 등록할 때 단계(702)에서 시작할 수 있다. 예를 들어, 디바이스는 사용자/디바이스 정보 데이터베이스(120) 내에 저장된 디바이스에 관한 정보에 기초하여 등록될 수 있다. 단계(704)에서, 논리적인 애플리케이션 설치 엔진은 디바이스의 사용자와 연관된 정책을 식별할 수 있다. 이상에서 언급된 바와 같이, 사용자 정책은 디바이스와 연관된 사용자의 역할 또는 책임에 관련될 수 있다. 단계(706)에서, 논리적인 애플리케이션 설치 엔진은, 추가적인 기준을 적용함으로써 디바이스 내에 설치될 논리적인 애플리케이션의 특정 버전을 결정할 수 있다. 이상에서 언급된 바와 같이, 추가적인 기준은, 예를 들어, 디바이스에 의해 지원되는 OS의 특정 버전이 논리적인 애플리케이션의 특정 버전(Android®, iOS®, Windows® 및 유사한 것)의 최소 및 최대 범위 내에 있는지를 결정하는 것, 디바이스들이 애플리케이션을 설치할 수 있는 상이한 유형들의 배포 위치들(예를 들어, 이진수, URL, App Store®)을 결정하는 것, 등을 포함할 수 있다.
단계(708)에서, 논리적인 애플리케이션 설치 엔진은 추가적인 기준이 충족되는지 여부를 결정한다. 추가적인 기준이 충족되지 않는 경우, 단계(710)에서 논리적인 애플리케이션의 특정 버전이 디바이스 상에 설치되지 않는다. 일부 실시예들에 있어서, 추가적인 기준이 충족되는 경우, 논리적인 애플리케이션 설치 엔진은 디바이스 상의 논리적인 애플리케이션의 특정 버전의 설치를 개시하도록 구성될 수 있다.
도 8은 일 실시예를 구현하기 위한 분산형 시스템(800)의 간략화된 도면을 도시한다. 예시된 실시예에 있어서, 분산형 시스템(800)은, 하나 이상의 네트워크(들)(810)를 통해 웹 브라우저, 사유 클라이언트(proprietary client)(예를 들어, 오라클 폼스(Oracle Forms)), 또는 유사한 것과 같은, 클라이언트 애플리케이션을 실행하고 동작시키도록 구성된 하나 이상의 클라이언트 컴퓨팅 디바이스들(802, 804, 806, 및 808)을 포함한다. 서버(812)는 네트워크(810)를 통해 원격 클라이언트 컴퓨팅 디바이스들(802, 804, 806, 및 808)과 통신가능하게 결합될 수 있다.
다양한 실시예들에 있어서, 서버(812)는, 애플리케이션의 배포물의 구분을 제공하는 이러한 서비스들 및 애플리케이션들과 같은 하나 이상의 서비스들 또는 소프트웨어 애플리케이션들을 실행하도록 맞춰질 수 있다. 특정 실시예들에 있어서, 서버(812)는 또한 비-가상 및 가상 환경들을 포함할 수 있는 다른 서비스들 또는 소프트웨어 애플리케이션들을 제공할 수 있다. 일부 실시예들에 있어서, 이러한 서비스들은 웹-기반으로 또는 클라우드 서비스들로서 또는 서비스형 소프트웨어(Software as a Service; SaaS) 모델 하에서 클라이언트 컴퓨팅 디바이스들(802, 804, 806, 및/또는 808)의 사용자들에게 제공될 수 있다. 클라이언트 컴퓨팅 디바이스들(802, 804, 806, 및/또는 808)을 조작하는 사용자들은 결과적으로 이러한 컴포넌트들에 의해 제공되는 서비스들을 사용하기 위하여 서버(812)와 상호작용하는 하나 이상의 클라이언트 애플리케이션들을 사용할 수 있다.
도 8에 도시된 구성에 있어서, 시스템(800)의 소프트웨어 컴포넌트들(818, 820 및 822)은 서버(812) 상에서 구현되는 것으로 도시된다. 다른 실시예들에 있어서, 시스템(800)의 컴포넌트들 및/또는 이러한 컴포넌트들에 의해 제공되는 서비스들 중 하나 이상이 또한 클라이언트 컴퓨팅 디바이스들(802, 804, 806, 및/또는 808) 중 하나 이상에 의해 구현될 수 있다. 그러면, 클라이언트 컴퓨팅 디바이스들을 조작하는 사용자들은 이러한 컴포넌트들에 의해 제공되는 서비스들을 사용하기 위하여 하나 이상의 클라이언트 애플리케이션들을 사용할 수 있다. 이러한 컴포넌트들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합들로 구현될 수 있다. 분산형 시스템(800)과 상이할 수 있는 다양하고 상이한 시스템 구성들이 가능하다는 것이 이해되어야만 한다. 따라서, 도 8에 도시된 실시예는 일 실시예의 시스템을 구현하기 위한 분산형 시스템의 일 예이며, 제한하는 것으로 의도되지 않는다.
클라이언트 컴퓨팅 디바이스들(802, 804, 806, 및/또는 808)은 다양한 유형들의 컴퓨팅 시스템들을 포함할 수 있다. 예를 들어, 클라이언트 컴퓨팅 디바이스는, Microsoft Windows Mobile® 및/또는 iOS, Windows Phone, Android, BlackBerry 10, Palm OS, 및 유사한 것과 같은 다양한 모바일 운영 시스템들과 같은 소프트웨어를 실행하는, 휴대용 핸드헬드 디바이스들(예를 들어, iPhone®, 셀룰러 전화기, iPad®, 컴퓨팅 태블릿, 개인용 정보 단말기(personal digital assistant; PDA)) 또는 웨어러블 디바이스들(예를 들어, Google Glass® 머리 착용형 디스플레이(head mounted display))을 포함할 수 있다. 디바이스들은, 다양한 인터넷-관련 앱들, 이-메일, 단문 메시지 서비스(short message service; SMS) 애플리케이션들과 같은 다양한 애플리케이션들을 지원할 수 있으며, 다양한 다른 통신 프로토콜들을 사용할 수 있다. 클라이언트 컴퓨팅 디바이스들은 또한, 예로서, 다양한 버전들의 Microsoft Windows®, Apple Macintosh®, 및/또는 리눅스 운영 시스템들을 실행하는 개인용 컴퓨터들 및/또는 랩탑 컴퓨터들을 포함하는 범용 개인용 컴퓨터들을 포함할 수 있다. 클라이언트 컴퓨팅 디바이스들은, 비제한적으로, 예를 들어, 구글 크롬 OS와 같은 다양한 GNU/리눅스 운영 시스템들을 포함하는, 다양한 상용-이용가능 UNIX® 또는 UNIX-유사 운영 시스템들 중 임의의 것을 실행하는 워크스테이션 컴퓨터들일 수 있다. 클라이언트 컴퓨팅 디바이스들은 또한, 네트워크(들)(810)를 통해 통신할 수 있는 씬-클라이언트(thin-client) 컴퓨터, 인터넷-가능형 게이밍 시스템(예를 들어, Kinect® 제스처 입력 디바이스를 갖는 또는 이를 갖지 않는 마이크로소프트 Xbox 게이밍 콘솔), 및/또는 개인용 메시징 디바이스와 같은 전자 디바이스들을 포함할 수 있다.
도 8에서 분산형 시스템(800)이 4개의 클라이언트 컴퓨팅 디바이스들과 함께 도시되지만, 임의의 수의 클라이언트 컴퓨팅 디바이스들이 지원될 수 있다. 센서들 등을 갖는 디바이스들과 같은 다른 디바이스들이 서버(812)와 상호작용할 수 있다.
분산형 시스템(800) 내의 네트워크(들)(810)는, 비제한적으로, TCP/IP(transmission control protocol/Internet protocol), SNA(systems network architecture), IPX(Internet packet exchange), 애플 토크(AppleTalk), 및 유사한 것을 포함하는 다양한 이용가능한 프로토콜들 중 임의의 것을 사용하여 데이터 통신을 지원할 수 있는 당업자들에게 익숙한 임의의 유형의 네트워크일 수 있다. 단지 예로서, 네트워크(들)(810)는, 근거리 네트워크(LAN), 이더넷 기반 네트워크들, 토큰-링(Token-Ring), 광역 네트워크, 인터넷, 가상 네트워크, 가상 사설 네트워크(virtual private network; VPN), 인트라넷, 엑스트라넷, 공중 교환 전화 네트워크(public switched telephone network; PSTN), 적외선 네트워크, 무선 네트워크(예를 들어, 전기 전자 기술자 협회(Institute of Electrical and Electronics; IEEE) 1002.11 프로토콜들의 묶음, Bluetooth®, 및/또는 임의의 다른 무선 프로토콜 중 임의의 것 하에서 동작하는 네트워크), 및/또는 이들 및/또는 다른 네트워크들의 임의의 조합일 수 있다.
서버(812)는, 하나 이상의 범용 컴퓨터들, 특수 서버 컴퓨터들(예로서, PC(personal computer) 서버들, UNIX® 서버들, 중급 서버(mid-range server)들, 메인프레임 컴퓨터들, 랙-장착형 서버들, 등을 포함함), 서버 팜(server farm)들, 서버 클러스터(server cluster)들, 또는 임의의 다른 적절한 배열 및/또는 조합으로 구성될 수 있다. 서버(812)는 가상 운영 시스템들을 실행하는 하나 이상의 가상 머신들, 또는 가상화를 수반하는 다른 컴퓨팅 아키텍처들을 포함할 수 있다. 논리적인 저장 디바이스들의 하나 이상의 유연한 풀(pool)들이 서버에 대한 가상 저장 디바이스들을 유지하기 위하여 가상화될 수 있다. 가상 네트워크들은 소프트웨어 정의형 네트워킹을 사용하여 서버(812)에 의해 제어될 수 있다. 다양한 실시예들에 있어서, 서버(812)는 이상의 개시에서 설명된 하나 이상의 서비스들 또는 소프트웨어 애플리케이션들을 실행하도록 맞춰질 수 있다. 예를 들어, 서버(812)는 본 개시의 일 실시예에 따른 이상에서 설명된 바와 같은 프로세싱을 수행하기 위한 서버에 대응할 수 있다.
서버(812)는, 임의의 상용 이용가능 서버 운영 시스템뿐만 아니라 이상에서 논의된 것들 중 임의의 것을 포함하는 운영 시스템을 실행할 수 있다. 서버(812)는 또한, HTTP(hypertext transport protocol) 서버들, FTP(file transfer protocol) 서버들, CGI(common gateway interface) 서버들, JAVA® 서버들, 데이터베이스 서버들, 및 유사한 것을 포함하는 다양한 추가적인 서버 애플리케이션들 및/또는 중간-계층(mid-tier) 애플리케이션들 중 임의의 것을 실행할 수 있다. 예시적인 데이터베이스 서버들은 비제한적으로, 오라클, 마이크로소프트, 사이베이스, IBM(International Business Machines), 및 유사한 것으로부터 상용적으로 이용가능한 것들을 포함한다.
일부 구현예들에 있어서, 서버(812)는, 클라이언트 컴퓨팅 디바이스들(802, 804, 806, 및 808)의 사용자들로부터 수신되는 데이터 피드(data feed)들 및/또는 이벤트 업데이트들을 분석하고 통합하기 위한 하나 이상의 애플리케이션들을 포함할 수 있다. 일 예로서, 데이터 피드들 및/또는 이벤트 업데이트들은 비제한적으로, Twitter® 피드들, Facebook® 업데이트들 또는 하나 이상의 제 3 자 정보 소스들 및 연속적인 데이터 스트림들로부터 수신되는 실-시간 업데이트들을 포함할 수 있으며, 이들은 센서 데이터 애플리케이션들, 금융 시세표시기들, 네트워크 성능 측정 툴들(예를 들어, 네트워크 모니터링 및 트래픽 관리 애플리케이션들), 클릭스트림(clickstream) 분석 툴들, 자동차 트래픽 모니터링, 및 유사한 것과 연관된 실-시간 이벤트들을 포함할 수 있다. 서버(812)는 또한 클라이언트 컴퓨팅 디바이스들(802, 804, 806, 및 808)의 하나 이상의 디스플레이 디바이스들을 통해 데이터 피드들 및/또는 실-시간 이벤트들을 디스플레이하기 위한 하나 이상의 애플리케이션을 포함할 수 있다.
분산형 시스템(800)은 또한 하나 이상의 데이터베이스들(814 및 816)을 포함할 수 있다. 이러한 데이터베이스들은 본 발명의 실시예들에 의해 사용되는 애플리케이션 정보 및 다른 정보와 같은 정보를 저장하기 위한 메커니즘을 제공할 수 있다. 데이터베이스들(814 및 816)은 다양한 위치들에 존재할 수 있다. 예로서, 데이터베이스들(814 및 816) 중 하나 이상은 서버(812)에 대하여 로컬적인 (및/또는 그 내부에 존재하는) 비-일시적인 저장 매체 상에 존재할 수 있다. 대안적으로, 데이터베이스들(814 및 816)은 서버(812)로부터 원격에 존재할 수 있으며, 네트워크-기반 또는 전용 연결을 통해 서버(812)와 통신할 수 있다. 실시예들의 하나의 세트에 있어서, 데이터베이스들(814 및 816)은 저장-영역 네트워크(storage-area network; SAN) 내에 존재할 수 있다. 유사하게, 서버(812)에 기인하는 기능들을 수행하기 위하여 필요한 임의의 파일들이 적절하게 서버(812) 상에 로컬적으로 및/또는 원격적으로 저장될 수 있다. 실시예들의 하나의 세트에 있어서, 데이터베이스들(814 및 816)은, SQL-포맷형 명령들에 응답하여 데이터를 저장, 업데이트, 및 검색하도록 맞춰진 오라클에 의해 제공되는 데이터베이스들과 같은 관계형 데이터베이스를 포함할 수 있다.
일부 실시예들에 있어서, 이상에서 설명된 디바이스 가입 서비스들은 클라우드 환경을 통한 서비스로서 제공될 수 있다. 도 9는, 본 개시의 일 실시예에 따른, 그 내부에서 서비스들이 클라우드 서비스들로서 제공될 수 있는 시스템 환경(900)의 하나 이상의 컴포넌트들의 간략화된 블록도이다. 도 9에 예시된 실시예에 있어서, 시스템 환경(900)은, 애플리케이션의 배포물의 구분을 위한 서비스들을 포함하는 클라우드 서비스들을 제공하는 클라우드 인프라스트럭처 시스템(902)과 상호작용하기 위해 사용자들에 의해 사용될 수 있는 하나 이상의 클라이언트 컴퓨팅 디바이스들(904, 906, 및 908)을 포함한다. 클라우드 인프라스트럭처 시스템(902)은 서버(812)에 대하여 이상에서 설명된 것들을 포함할 수 있는 하나 이상의 서버들 및/또는 컴퓨터들을 포함할 수 있다.
도 9에 도시된 클라우드 인프라스트럭처 시스템(902)이 도시된 것들과는 다른 컴포넌트들을 가질 수 있다는 것이 이해되어야만 한다. 추가로, 도 9에 도시된 실시예는 본 발명의 일 실시예를 통합할 수 있는 클라우드 인프라스트럭처 시스템의 단지 하나의 예이다. 일부 다른 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)은 도면에 도시된 것보다 더 많거나 또는 더 적은 컴포넌트들을 가질 수 있거나, 2개 이상의 컴포넌트들을 결합할 수 있거나, 또는 컴포넌트들의 상이한 구성 또는 배열을 가질 수 있다.
클라이언트 컴퓨팅 디바이스들(904, 906, 및 908)은 802, 804, 806, 및 808에 대하여 이상에서 설명된 것들과 유사한 디바이스들일 수 있다. 클라이언트 컴퓨팅 디바이스들(904, 906, 및 908)은, 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 서비스들을 사용하기 위하여 클라이언트 컴퓨팅 디바이스의 사용자에 의해 클라우드 인프라스트럭처 시스템(902)과 상호작용하기 위해 사용될 수 있는 웹 브라우저, 사유 클라이언트 애플리케이션(예를 들어, 오라클 폼스), 또는 어떤 다른 애플리케이션과 같은 클라이언트 애플리케이션을 동작시키도록 구성될 수 있다. 예시적인 시스템 환경(900)이 3개의 클라이언트 컴퓨팅 디바이스들과 함께 도시되지만, 임의의 수의 클라이언트 컴퓨팅 디바이스들이 지원될 수 있다. 센서들 등을 갖는 디바이스들과 같은 다른 디바이스들이 클라우드 인프라스트럭처 시스템(902)과 상호작용할 수 있다.
네트워크(들)(910)는 클라이언트들(904, 906, 및 908)과 클라우드 인프라스트럭처 시스템(902) 사이의 데이터의 교환 및 통신을 가능하게 할 수 있다. 각각의 네트워크는, 네트워크(들)(1210)에 대하여 이상에서 설명된 것들을 포함하여, 다양한 상용-이용가능 프로토콜들 중 임의의 프로토콜을 사용하여 데이터 통신을 지원할 수 있는 당업자들에게 익숙한 임의의 유형의 네트워크일 수 있다.
특정 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 서비스들은, 온 디맨드(on demand) 식으로 클라우드 인프라스트럭처 시스템의 사용자들이 이용할 수 있게 되는 서비스들의 호스트를 포함할 수 있다. 애플리케이션 관리와 관련된 서비스들에 더하여, 비제한적으로 온라인 데이터 저장 및 백업(backup) 솔루션들, 웹-기반-이메일 서비스들, 호스팅형(hosted) 오피스 제품군(suite)들 및 문서 협업 서비스들, 데이터베이스 프로세싱, 관리형 기술 지원 서비스들, 및 유사한 것을 포함하는 다양한 다른 서비스들이 또한 제공될 수 있다. 클라우드 인프라스트럭처 시스템에 의해 제공되는 서비스들은 그 사용자들의 요구들을 충족시키기 위하여 동적으로 스케일링(scale)할 수 있다.
특정 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 서비스의 특정 인스턴스 생성(instantiation)은 본원에서 "서비스 인스턴스"로서 지칭된다. 일반적으로, 클라우드 서비스 제공자의 시스템으로부터 인터넷과 같은 통신 네트워크를 통해 사용자가 이용할 수 있게 된 임의의 서비스는 "클라우드 서비스"로서 지칭된다. 전형적으로, 공중 클라우드 환경에 있어서, 클라우드 서비스 제공자의 시스템을 구성하는 서버들 및 시스템들은 고객의 자체적인 사내(on-premise) 서버들 및 시스템들과는 상이하다. 예를 들어, 클라우드 서비스 제공자의 시스템은 애플리케이션을 호스팅할 수 있으며, 사용자는, 인터넷과 같은 통신 네트워크를 통해 애플리케이션을 온 디맨드식으로, 주문 및 사용할 수 있다.
일부 예들에 있어서, 컴퓨터 네트워크 클라우드 인프라스트럭처 내의 서비스는, 클라우드 판매사에 의해 사용자에게 제공되는 저장소, 호스팅형 데이터베이스, 호스팅형 웹 서버, 소프트웨어 애플리케이션, 또는 다른 서비스, 또는 달리 당업계에 알려진 바와 같은 서비스에 대한 보호형(protected) 컴퓨터 네트워크 액세스를 포함할 수 있다. 예를 들어, 서비스는 인터넷을 통한 클라우드 상의 원격 저장소에 대한 패스워드-보호형 액세스를 포함할 수 있다. 다른 예로서, 서비스는, 네트워크화된 개발자들에 의한 사적인 사용(private use)을 위한 웹 서비스-기반 호스팅형 관계형 데이터베이스 및 스크립트-언어 미들웨어 엔진을 포함할 수 있다. 또 다른 예로서, 서비스는 클라우드 판매사의 웹 사이트 상에서 호스팅되는 이메일 소프트웨어 애플리케이션에 대한 액세스를 포함할 수 있다.
특정 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)은, 셀프-서비스(self-service)의, 가입-기반(subscription-based)의, 탄력적 스케일러블(scalable)의, 신뢰할 수 있는, 고도로 이용가능하며, 안전한 방식으로 고객에게 전달되는 애플리케이션들, 미들웨어, 및 데이터베이스 서비스 제공(offering)들의 묶음을 포함할 수 있다. 이러한 클라우드 인프라스트럭처 시스템의 일 예는 본 양수인에 의해 제공되는 오라클 퍼블릭 클라우드(Oracle Public Cloud)이다.
클라우드 인프라스트럭처 시스템(902)은 또한 "빅 데이터" 일레이티드(elated) 계산 및 분석 서비스들을 제공할 수 있다. 용어 "빅 데이터"는 일반적으로, 많은 양의 데이터를 시각화하고, 경향을 검출하며, 및/또는 달리 데이터와 상호작용하기 위하여 애널리스트들 및 연구자들에 의해 저장되고 조작될 수 있는 극도로 큰 데이터 세트들을 지칭하기 위해 사용된다. 이러한 빅데이터 및 관련된 애플리케이션들은 상이한 스케일로 다수의 레벨들 상에서 인프라스트럭처 시스템에 의해 호스팅되거나 및/또는 조작될 수 있다. 병렬로 링크된 수십 개, 수백 개, 또는 수천 개의 프로세서들이 데이터를 나타내기 위하여 또는 데이터에 대하여 외부적인 효과들을 시뮬레이션 하기 위하여 또는 데이터가 무엇을 나타내는 것인지를 알기 위하여 이러한 데이터 상에 작용할 수 있다. 이러한 데이터 세트들은, 데이터베이스로 조직되거나 또는 달리 구조화 모델에 따라 조직되는 것과 같은 구조화된 데이터, 및/또는 구조화되지 않은 데이터(예를 들어, 이메일들, 이미지들, 데이터 블랍(data blob)들(이진 대형 객체들), 웹 페이지들, 복합 이벤트 프로세싱)를 수반할 수 있다. 객체 상에 더 많은(또는 더 적은) 컴퓨팅 자원들을 상대적으로 빠르게 포커싱(focus)하기 위한 일 실시예의 능력을 레버리징(leverage)함으로써, 클라우드 인프라스트럭처 시스템은, 사업체, 정부 기관, 연구 조직, 개인, 비슷한 생각을 가진 개인들 또는 조직들의 그룹, 또는 다른 엔티티(entity)로부터의 주문에 기초하여 큰 데이터 세트들에 대한 태스크들을 수행하기 위해 더 양호하게 이용가능할 수 있다.
다양한 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)은, 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 서비스들에 대한 고객의 가입(subscription)을 자동으로 프로비저닝(provision)하고, 관리하며, 추적하도록 맞춰질 수 있다. 클라우드 인프라스트럭처 시스템(902)은 상이한 배포(deployment) 모델들을 통해 클라우드 서비스들을 제공할 수 있다. 예를 들어, 서비스들은, 클라우드 인프라스트럭처 시스템(902)이 클라우드 서비스 판매 조직에 의해 소유되며(예를 들어, 오라클 사에 의해 소유되며) 서비스들이 일반적인 공중 또는 상이한 산업 기업들에게 이용가능하게 되는 공중 클라우드 모델 하에서 제공될 수 있다. 다른 예로서, 서비스들은, 클라우드 인프라스트럭처 시스템(902)이 오로지 단일 조직을 위해서만 운용되며, 조직 내의 하나 이상의 엔티티들에 대하여 서비스들을 제공할 수 있는 사설 클라우드 모델 하에서 제공될 수 있다. 클라우드 서비스들은 또한, 클라우드 인프라스트럭처 시스템(902) 및 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 서비스들이 연관된 커뮤니티(community) 내의 몇몇 조직들에 의해 공유되는 커뮤니티 클라우드 모델 하에서 제공될 수 있다. 클라우드 서비스들은 또한 2개 이상의 상이한 모델들의 조합인 하이브리드(hybrid) 클라우드 모델 하에서 제공될 수 있다.
일부 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 서비스들은, 서비스형 소프트웨어(SaaS) 카테고리, 서비스형 플랫폼(Platform as a Service; PaaS) 카테고리, 서비스형 인프라스트럭처(Infrastructure as a Service; IaaS) 카테고리, 또는 하이브리드 서비스들을 포함하는 서비스들의 다른 카테고리들 하에서 제공되는 하나 이상의 서비스들을 포함할 수 있다. 가입 주문을 통해, 고객은 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 하나 이상의 서비스들을 주문할 수 있다. 그러면, 클라우드 인프라스트럭처 시스템(902)은 고객의 가입 주문의 서비스들을 제공하기 위하여 프로세싱을 수행한다.
일부 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 서비스들은, 비제한적으로, 애플리케이션 서비스들, 플랫폼 서비스들 및 인프라스트럭처 서비스들을 포함할 수 있다. 일부 예들에 있어서, 애플리케이션 서비스들은 클라우드 인프라스트럭처 시스템에 의해 SaaS 플랫폼을 통해 제공될 수 있다. SaaS 플랫폼은 SaaS 카테고리에 속하는 클라우드 서비스들을 제공하도록 구성될 수 있다. 예를 들어, SaaS 플랫폼은 통합형 개발 및 배포 플랫폼 상에 온-디맨드 애플리케이션들의 묶음을 구축하고 전달하기 위한 능력들을 제공할 수 있다. SaaS 플랫폼은 SaaS 서비스들을 제공하기 위한 기초 소프트웨어 및 인프라스트럭처를 관리 및 제어할 수 있다. SaaS 플랫폼에 의해 제공되는 서비스들을 이용함으로써, 고객들은 클라우드 인프라스트럭처 시스템 상에서 실행되는 애플리케이션들을 이용할 수 있다. 고객들이 별개의 라이센스들 및 지원을 구매할 필요 없이, 고객들이 애플리케이션 서비스들을 획득할 수 있다. 다양하고 상이한 SaaS 서비스들이 제공될 수 있다. 예들은, 비제한적으로, 판매 실적 관리, 기업 통합, 더 큰 조직들을 위한 비지니스 유연성을 위한 솔루션들을 제공하는 서비스들을 포함한다.
일부 실시예들에 있어서, 플랫폼 서비스들은 클라우드 인프라스트럭처 시스템(902)에 의해 PaaS 플랫폼을 통해 제공될 수 있다. PaaS 플랫폼은 PaaS 카테고리에 속하는 클라우드 서비스들을 제공하도록 구성될 수 있다. 플랫폼 서비스들의 예들은, 비제한적으로, 조직들(예컨대 오라클)이 기존의 애플리케이션들을 공유되는 공통 아키텍처 상에 통합하는 것을 가능하게 하는 서비스들뿐만 아니라, 플랫폼에 의해 제공되는 공유되는 서비스들을 레버리징하는 새로운 애플리케이션들을 구축하기 위한 능력을 포함할 수 있다. PaaS 플랫폼은 PaaS 서비스들을 제공하기 위한 기초 소프트웨어 및 인프라스트럭처를 관리 및 제어할 수 있다. 고객들이 별개의 라이센스들 및 지원을 구매할 필요 없이, 고객들이 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 PaaS 서비스들을 획득할 수 있다. 플랫폼 서비스들의 예들은, 비제한적으로, 오라클 자바 클라우드 서비스(Java Cloud Service; JCS), 오라클 데이터베이스 클라우드 서비스(Database Cloud Service; DBCS), 및 다른 것들을 포함한다.
PaaS 플랫폼에 의해 제공되는 서비스들을 이용함으로써, 고객들은 클라우드 인프라스트럭처 시스템에 의해 지원되는 프로그래밍 언어들 및 툴들을 이용할 수 있으며, 또한 배포된 서비스들을 제어할 수 있다. 일부 실시예들에 있어서, 클라우드 인프라스트럭처 시스템에 의해 제공되는 플랫폼 서비스들은, 데이터베이스 클라우드 서비스들, 미들웨어 클라우드 서비스들(예를 들어, 오라클 퓨전 미들웨어(Fusion Middleware) 서비스들), 및 자바 클라우드 서비스들을 포함할 수 있다. 일 실시예에 있어서, 데이터베이스 클라우드 서비스들은, 조직들이 데이터베이스 자원들을 풀링(pool)하고 고객들에게 데이터베이스 클라우드의 형태로 서비스형 데이터베이스를 제공하는 것을 가능하게 하는 공유형 서비스 배포 모델들을 지원할 수 있다. 클라우드 인프라스트럭처 시스템 내에서, 미들웨어 클라우드 서비스들은 고객들이 다양한 비지니스 애플리케이션들을 개발 및 배포하기 위한 플랫폼을 제공할 수 있으며, 자바 클라우드 서비스들은 고객들이 자바 애플리케이션들을 배포하기 위한 플랫폼을 제공할 수 있다.
다양하고 상이한 인프라스트럭처 서비스들이 클라우드 인프라스트럭처 시스템 내에서 IaaS 플랫폼에 의해 제공될 수 있다. 인프라스트럭처 서비스들은, SaaS 플랫폼 및 PaaS 플랫폼에 의해 제공되는 서비스들을 사용하는 고객들을 위한 저장소, 네트워크들, 및 다른 기본 컴퓨팅 자원들과 같은 기초 컴퓨팅 자원들의 관리 및 제어를 가능하게 한다.
특정 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)은 또한, 클라우드 인프라스트럭처 시스템의 고객들에게 다양한 서비스들을 제공하기 위하여 사용되는 자원들을 제공하기 위한 인프라스트럭처 자원들(930)을 포함할 수 있다. 일 실시예에 있어서, 인프라스트럭처 자원들(930)은, 서버들, 저장소와 같은 하드웨어, 및 PaaS 플랫폼 및 SaaS 플랫폼에 의해 제공되는 서비스들을 실행하기 위한 네트워킹 자원들, 및 다른 자원들의 사전-통합되고 최적화된 조합들을 포함할 수 있다.
일부 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902) 내의 자원들은 다수의 사용자들에 의해 공유될 수 있으며, 요구마다 동적으로 재-할당될 수 있다. 추가적으로, 자원들은 상이한 시간 구간(time zone)들에서 사용자들에게 할당될 수 있다. 예를 들어, 클라우드 인프라스트럭처 시스템(902)은, 제 1 시간 구간에서의 제 1 세트의 사용자들이 지정된 시간 동안 클라우드 인프라스트럭처 시스템의 자원들을 사용하는 것을 가능하게 하고, 그런 다음 상이한 시간 구간에 위치된 다른 세트의 사용자들에게 동일한 자원들의 재-할당을 가능하게 할 수 있으며, 그럼으로써 자원들의 사용을 최대화한다.
특정 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)에 의한 서비스들의 프로비저닝을 가능하게 하기 위하여 클라우드 인프라스트럭처 시스템(902)의 상이한 컴포넌트들 또는 모듈들에 의해 공유되는 복수의 내부 공유형 서비스들(932)이 제공될 수 있다. 이러한 내부 공유형 서비스들은, 비제한적으로, 보안 및 신원(identity) 서비스, 통합 서비스, 기업 저장소 서비스, 기업 관리자 서비스, 바이러스 스캐닝 및 화이트 리스트(white list) 서비스, 고 이용가능성, 백업 및 복원 서비스, 클라우드 지원을 가능하게 하기 위한 서비스, 이메일 서비스, 통지 서비스, 파일 전송 서비스, 및 유사한 것을 포함할 수 있다.
특정 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(902)은 클라우드 인프라스트럭처 시스템 내에서 클라우드 서비스들(예를 들어, SaaS, PaaS, 및 IaaS 서비스들)의 광범위한 관리를 제공할 수 있다. 일 실시예에 있어서, 클라우드 관리 기능은, 클라우드 인프라스트럭처 시스템(902)에 의해 수신되는 고객의 가입을 프로비저닝, 관리 및 추적, 및 유사한 것을 하기 위한 성능들을 포함할 수 있다.
일 실시예에 있어서, 도 9에 도시된 바와 같이, 클라우드 관리 기능은, 주문 관리 모듈(920), 주문 편성(order orchestration) 모듈(922), 주문 프로비저닝 모듈(924), 주문 관리 및 모니터링 모듈(926), 및 신원 관리 모듈(928)과 같은 하나 이상의 모듈들에 의해 제공될 수 있다. 이러한 모듈들은, 범용 컴퓨터들, 특수 서버 컴퓨터들, 서버 팜들, 서버 클러스터들, 또는 임의의 다른 적절한 배열 및/또는 조합일 수 있는 하나 이상의 컴퓨터들 및/또는 서버들을 포함하거나 또는 이들을 사용하여 제공될 수 있다.
예시적인 동작에 있어서, 단계(934)에서, 클라이언트 디바이스(904, 906 또는 908)와 같은 클라이언트 디바이스를 사용하는 고객은, 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 하나 이상의 서비스들을 요청하고 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 하나 이상의 서비스들에 대한 가입을 주문함으로써 클라우드 인프라스트럭처 시스템(902)과 상호작용할 수 있다. 특정 실시예들에 있어서, 고객은 클라우드 사용자 인터페이스(UI), 예컨대 클라우드 UI(912), 클라우드 UI(914) 및/또는 클라우드 UI(916)를 액세스할 수 있으며, 이러한 UI들을 통해 가입을 주문할 수 있다. 고객이 주문하는 것에 응답하여 클라우드 인프라스트럭처 시스템(902)에 의해 수신되는 주문 정보는, 고객이 가입을 의도하는 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 하나 이상의 서비스들 및 고객을 식별하는 정보를 포함할 수 있다.
단계(936)에서, 고객으로부터 수신된 주문 정보가 주문 데이터베이스(918) 내에 저장될 수 있다. 이러한 주문이 새로운 주문인 경우, 그 주문에 대한 새로운 레코드가 생성될 수 있다. 일 실시예에 있어서, 주문 데이터베이스(918)는 클라우드 인프라스트럭처 시스템(918)에 의해 동작되는 그리고 다른 시스템 엘리먼트들과 관련되어 동작되는 몇몇 데이터베이스들 중 하나일 수 있다.
단계(938)에서, 주문 정보는, 주문을 검증하는 것, 및 검증 시에 주문을 예약(book)하는 것과 같은 주문과 관련된 과금 및 회계 기능들을 수행하도록 구성될 수 있는 주문 관리 모듈(920)로 포워딩될 수 있다.
단계(940)에서, 주문에 관한 정보는, 고객에 의해 이루어진 주문에 대한 자원들 및 서비스들의 프로비저닝을 편성하도록 구성된 주문 편성 모듈(922)로 통신될 수 있다. 일부 경우들에 있어서, 주문 편성 모듈(922)은 프로비저닝을 위해 주문 프로비저닝 모듈(924)의 서비스들을 사용할 수 있다. 특정 실시예들에 있어서, 주문 편성 모듈(922)은 각각의 주문과 연관된 비지니스 프로세스들의 관리를 가능하게 하며, 주문이 프로비저닝으로 진행되어야만 하는지 여부를 결정하기 위하여 비지니스 로직을 적용한다.
도 9에 도시된 실시예에 도시된 바와 같이, 단계(942)에서, 새로운 가입에 대한 주문의 수신 시에, 주문 편성 모듈(922)은 자원들을 할당하고 가입 주문을 이행하기 위해 요구되는 자원들을 구성하기 위한 요청을 주문 프로비저닝 모듈(924)로 전송한다. 주문 프로비저닝 모듈(924)은 고객에 의해 주문된 서비스들에 대한 자원들의 할당을 가능하게 한다. 주문 프로비저닝 모듈(924)은, 요청된 서비스들을 제공하기 위한 자원들을 프로비저닝하기 위해 사용되는 물리적인 구현 계층과 클라우드 인프라스트럭처 시스템(900)에 의해 제공되는 클라우드 서비스들 사이에 소정의 레벨의 추상화를 제공한다. 이는, 주문 편성 모듈(924)이 예컨대 서비스들 및 자원들이 실제로 즉각적으로(on the fly) 프로비저닝되는지 또는 사전-프로비저닝되고 요청 시에 할당(allocate)되고/배정(assign)되는지 여부와 같은 구현 세부사항들로부터 분리되는 것을 가능하게 한다.
단계(944)에서, 일단 서비스들 및 자원들이 프로비저닝되면, 요청된 서비스가 이제 사용할 준비가 되었다는 것을 나타내는 통지가 가입 고객들에게 전송될 수 있다. 일부 경우들에 있어서, 고객이 요청된 서비스들의 사용을 시작하는 것을 가능하게 하는 정보(예를 들어, 링크)가 고객에게 전송될 수 있다.
단계(946)에서, 고객의 가입 주문은 주문 관리 및 모니터링 모듈(926)에 의해 관리되고 추적될 수 있다. 일부 경우들에 있어서, 주문 관리 및 모니터링 모듈(926)은 가입된 서비스들의 고객의 사용에 관한 사용 통계자료를 수집하도록 구성될 수 있다. 예를 들어, 통계자료는, 사용되는 저장소의 양, 전송되는 데이터의 양, 사용자들의 수, 및 시스템 사용 시간(system up time)과 시스템 정지 시간(system down time)의 양, 및 유사한 것에 대하여 수집될 수 있다.
특정 실시예들에 있어서, 클라우드 인프라스트럭처 시스템(900)은, 클라우드 인프라스트럭처 시스템(900) 내에서 액세스 관리 및 인가 서비스들과 같은 신원 서비스들을 제공하도록 구성되는 신원 관리 모듈(928)을 포함할 수 있다. 일부 실시예들에 있어서, 신원 관리 모듈(928)은 클라우드 인프라스트럭처 시스템(902)에 의해 제공되는 서비스들을 사용하기를 원하는 고객들에 관한 정보를 제어할 수 있다. 이러한 정보는, 이러한 고객들의 신원들을 인증하는 정보 및 이러한 고객들이 다양한 시스템 자원들(예를 들어, 파일들, 디렉토리들, 애플리케이션들, 통신 포트들, 메모리 세그먼트들, 등)과 관련하여 수행하도록 인가되는 액션들을 설명하는 정보를 포함할 수 있다. 신원 관리 모듈(928)은 또한 각각의 고객에 대한 설명 정보(descriptive information) 및 설명 정보가 어떻게 그리고 누구에 의해 액세스되고 수정될 수 있는지에 대한 관리를 포함할 수 있다.
도 10은 본 발명의 일 실시예를 구현하기 위하여 사용될 수 있는 예시적인 컴퓨터 시스템(1000)을 예시한다. 일부 실시예들에 있어서, 컴퓨터 시스템(1000)은 이상에서 설명된 다양한 서버들 및 컴퓨터 시스템들 중 임의의 것을 구현하기 위하여 사용될 수 있다. 도 10에 도시된 바와 같이, 컴퓨터 시스템(1000)은, 버스 서브시스템(1002)을 통해 복수의 주변 서브시스템들과 통신하는 프로세싱 서브시스템(1004)을 포함하는 다양한 서브시스템들을 포함한다. 이러한 주변 서브시스템들은 프로세싱 가속 유닛(1006), I/O 서브시스템(1008), 저장 서브시스템(1018) 및 통신 서브시스템(1024)을 포함할 수 있다. 저장 서브시스템(1018)은 유형적인 컴퓨터-판독가능 저장 매체(1022) 및 시스템 메모리(1010)를 포함한다.
버스 서브시스템(1002)은 컴퓨터 시스템(1000)의 다양한 컴포넌트들 및 서브시스템들이 의도된 바와 같이 서로 통신하는 것을 가능하게 하기 위한 메커니즘을 제공한다. 버스 서브시스템(1002)이 단일 버스로서 개략적으로 도시되었지만, 버스 서브시스템의 대안적인 실시예들은 복수의 버스들을 사용할 수 있다. 버스 서브시스템(1002)은, 다양한 버스 아키텍처들 중 임의의 것을 사용하는 메모리 버스 또는 메모리 제어기, 주변기기 버스, 및 로컬 버스를 포함하는 몇몇 유형들의 버스 구조들 중 임의의 버스 구조일 수 있다. 예를 들어, 이러한 아키텍처들은, 산업 표준 아키텍처(Industry Standard Architecture; ISA) 버스, 마이크로 채널 아키텍처(Micro Channel Architecture; MCA) 버스, 개량 ISA(Enhanced ISA; EISA) 버스, 비디오 전자공학 표준 위원회(Video Electronics Standards Association; VESA) 로컬 버스, 및 주변 컴포넌트 상호연결(Peripheral Component Interconnect; PCI) 버스를 포함할 수 있으며, 이들은 IEEE P1386.1 표준에 대하여 제조되는 메자닌 버스(Mezzanine bus) 및 유사한 것으로서 구현될 수 있다.
프로세싱 서브시스템(1004)은 컴퓨터 시스템(1000)의 동작을 제어하며, 하나 이상의 프로세싱 유닛들(1032, 1034, 등)을 포함할 수 있다. 프로세싱 유닛은, 단일 코어 또는 다중 코어 프로세서들, 프로세서들의 하나 이상의 코어들, 또는 이들의 조합들을 포함하는 하나 이상의 프로세서들을 포함할 수 있다. 일부 실시예들에 있어서, 프로세싱 서브시스템(1004)은 하나 이상의 특수 목적 코-프로세서들, 예컨대 그래픽 프로세서들, 디지털 신호 프로세서(digital signal processor; DSP)들, 또는 유사한 것을 포함할 수 있다. 일부 실시예들에 있어서, 프로세싱 서브시스템(1004)의 프로세싱 유닛들 중 일부 또는 전부는, 애플리케이션 특정 집적 회로(application specific integrated circuit; ASIC)들, 또는 필드 프로그램가능 게이트 어레이(field programmable gate array; FPGA)들과 같은 맞춤형 회로들을 사용하여 구현될 수 있다.
일부 실시예들에 있어서, 프로세싱 서브시스템(1004) 내의 프로세싱 유닛들은 시스템 메모리(1010) 내에 또는 컴퓨터 판독가능 저장 매체들(1022) 상에 저장된 명령어들을 실행할 수 있다. 다양한 실시예들에 있어서, 프로세싱 유닛들은 다양한 프로그램 프로그램들 또는 코들 명령어들을 실행할 수 있으며, 프로그램들 또는 프로세스들의 동시 다중 실행을 유지할 수 있다. 임의의 주어진 시점에, 실행될 프로그램 코드의 전부 또는 일부가 잠재적으로 하나 이상의 저장 디바이스들 상에서를 포함하여 시스템 메모리(1010) 및/또는 컴퓨터-판독가능 저장 매체(1010) 내에 상주할 수 있다. 적절한 프로그래밍을 통하여, 프로세싱 서브시스템(1004)은 논리적인 애플리케이션을 생성하기 위한 이상에서 설명된 다양한 기능들을 제공할 수 있다.
특정 실시예들에 있어서, 프로세싱 가속 유닛(1006)은, 컴퓨터 시스템(1000)에 의해 수행되는 전체 프로세싱을 가속하기 위하여 프로세싱 서브시스템(1004)에 의해 수행되는 프로세싱 중 일부를 오프-로딩(off-load)하기 위해서 또는 맞춤화된 프로세싱을 수행하기 위하여 제공될 수 있다.
I/O 서브시스템(1008)은 컴퓨터 시스템(1000)으로 정보를 입력하기 위한 및/또는 컴퓨터 시스템(1000)으로부터 또는 이를 통해 정보를 출력하기 위한 디바이스들 및 메커니즘들을 포함할 수 있다. 일반적으로, 용어 "입력 디바이스"의 사용은 컴퓨터 시스템(1000)으로 정보를 입력하기 위한 모든 가능한 유형들의 디바이스들 및 메커니즘들을 포함하도록 의도된다. 사용자 인터페이스 입력 디바이스들은, 예를 들어, 키보드, 포인팅 디바이스들 예컨대 마우스 또는 트랙볼, 터치패드 또는 디스플레이 내에 통합된 터치 스크린, 스크롤 휠, 클릭 휠, 다이얼, 버튼, 스위치, 키패드, 음성 명령 인식 시스템들을 가진 오디오 입력 디바이스들, 마이크들, 및 다른 유형들의 입력 디바이스들을 포함할 수 있다. 사용자 인터페이스 입력 디바이스들은 또한, 사용자들이 제스처들 및 구두(spoken) 명령들을 사용하는 입력을 수신하기 위한 인터페이스를 제공하는, 입력 디바이스, Microsoft Xbox® 360 게임 제어기, 디바이스들을 제어하고 이와 상호작용하는 것을 가능하게 하는 Microsoft Kinect® 모션 센서와 같은 모션 센싱 및/또는 제스처 인식 디바이스들을 포함할 수 있다. 사용자 인터페이스 입력 디바이스들은 또한, 사용자들로부터 눈 움직임(eye activity)(예를 들어, 사진을 찍는 동안의 및/또는 메뉴를 선택하는 동안의 "깜박임")을 검출하고 눈 제스처들을 입력 디바이스(예를 들어, Google Glass®) 내로의 입력으로서 변환하는 Google Glass® 눈 깜박임 검출기와 같은 눈 제스처 인식 디바이스들을 포함할 수 있다. 추가적으로, 사용자 인터페이스 입력 디바이스들은, 사용자들이 음성 명령들을 통하여 음성 인식 시스템(예를 들어, Siri® 네비게이터(navigator))과 상호작용하는 것을 가능하게 하는 음성 인식 센싱 디바이스들을 포함할 수 있다.
사용자 인터페이스 입력 디바이스들의 다른 예들은, 비제한적으로, 3차원(3D) 마우스들, 조이스틱들 또는 포인팅 스틱들, 게임패드들 및 그래픽 태블릿들, 및 음향/시각 디바이스들 예컨대 스피커들, 디지털 카메라들, 디지털 캠코더들, 휴대용 매체 플레이어들, 웹캠들, 이미지 스캐너들, 핑거프린트 스캐너들, 바코드 리더 3D 스캐너들, 3D 프린터들, 레이저 거리계들, 및 시선 추적 디바이스들을 포함할 수 있다. 추가적으로, 사용자 인터페이스 입력 디바이스들은, 예를 들어, 의료 이미징 입력 디바이스들 예컨대 컴퓨터 단층촬영, 자기 공명 이미징, 양전자 방출 단층촬영, 의료 초음파 검사 디바이스들을 포함할 수 있다. 사용자 인터페이스 입력 디바이스들은 또한, 예를 들어, 오디오 입력 디바이스들 예컨대 MIDI 키보드들, 디지털 악기들, 및 유사한 것을 포함할 수 있다.
사용자 인터페이스 출력 디바이스들은 디스플레이 서브시스템, 표시등들, 또는 비-시각적 디스플레이들 예컨대 오디오 출력 디바이스들, 등을 포함할 수 있다. 디스플레이 서브시스템은 음극선관(cathode ray tube; CRT), 액정 디스플레이(liquid crystal display; LCD) 또는 플라즈마 디스플레이를 사용하는 것과 같은 평면-패널 디바이스, 프로젝션 디바이스, 터치 스크린, 및 유사한 것일 수 있다. 일반적으로, 용어 "출력 디바이스"의 사용은 컴퓨터 시스템(1000)으로부터 사용자 또는 다른 컴퓨터로 정보를 출력하기 위한 모든 가능한 유형들의 디바이스들 및 메커니즘들을 포함하도록 의도된다. 예를 들어, 사용자 인터페이스 출력 디바이스들은, 비제한적으로, 시각적으로 텍스트, 그래픽들 및 오디오/비디오 정보를 전달하는 다양한 디스플레이 디바이스들, 예컨대 모니터들, 프린터들, 스피커들, 헤드폰들, 자동차 네비게이션 시스템들, 플로터(plotter)들, 음성 출력 디바이스들, 및 모뎀들을 포함할 수 있다.
저장 서브시스템(1018)은 컴퓨터 시스템(1000)에 의해 사용되는 정보를 저장하기 위한 데이터 저장부 또는 저장소를 제공한다. 저장 서브시스템(1018)은 일부 실시예들의 기능을 제공하는 기본 프로그래밍 및 데이터 구성물들을 저장하기 위한 유형적이고 비-일시적인 컴퓨터-판독가능 저장 매체를 제공한다. 프로세싱 서브시스템(1004)에 의해 실행될 때 이상에서 설명된 기능을 제공하는 소프트웨어(프로그램들, 코드 모듈들, 명령어들)가 저장 서브시스템(1018) 내에 저장될 수 있다. 소프트웨어는 프로세싱 서브시스템(1004)의 하나 이상의 프로세싱 유닛들에 의해 실행될 수 있다. 저장 서브시스템(1018)은 또한 본 발명에 따라 사용되는 데이터를 저장하기 위한 저장소를 제공할 수 있다.
저장 서브시스템(1018)은 휘발성 및 비-휘발성 메모리 디바이스들을 포함하는 하나 이상의 비-일시적인 메모리 디바이스들을 포함할 수 있다. 도 10에 도시된 바와 같이, 저장 서브시스템(1018)은 시스템 메모리(1010) 및 컴퓨터-판독가능 저장 매체(1022)를 포함한다. 시스템 메모리(1010)는, 프로그램 실행 동안 명령어들 및 데이터의 저장을 위한 휘발성 메인 랜덤 액세스 메모리(random access memory; RAM) 및 그 내부에 고정된 명령어들이 저장되는 비-휘발성 판독 전용 메모리(read only memory; ROM) 또는 플래시 메모리를 포함하는 복수의 메모리들을 포함할 수 있다. 일부 구현예들에 있어서, 예컨대 기동 동안에 컴퓨터 시스템(1000) 내의 엘리먼트들 사이에서 정보를 전송하는 것을 돕는 기본 루틴들을 포함하는 기본 입력/출력 시스템(basic input/output system; BIOS)은 전형적으로 ROM 내에 저장될 수 있다. RAM은 전형적으로 프로세싱 서브시스템(1004)에 의해 현재 실행되며 동작되고 있는 데이터 및/또는 프로그램 모듈들을 포함한다. 일부 구현예들에 있어서, 시스템 메모리(1010)는 복수의 상이한 유형들의 메모리들, 예컨대 정적 랜덤 액세스 메모리(static random access memory; SRAM) 또는 동적 랜덤 액세스 메모리(dynamic random access memory; DRAM)를 포함할 수 있다.
예로서 그리고 비제한적으로, 도 10에 도시된 바와 같이, 시스템 메모리(1010)는, 클라이언트 애플리케이션들, 웹 브라우저들, 중간-계층 애플리케이션들, 관계형 데이터 베이스 관리 시스템(relational database management system; RDBMS)들, 등을 포함할 수 있는 애플리케이션 프로그램들(1012), 프로그램 데이터(1014), 및 운영 시스템(1016)을 저장할 수 있다. 예로서, 운영 시스템(1016)은, 다양한 버전들의 Microsoft Windows®, Apple Macintosh®, 및/또는 리눅스 운영 시스템들, (비제한적으로 다양한 GNU/리눅스 운영 시스템들, Google Chrome® OS, 및 유사한 것을 포함하는) 다양한 상용-이용가능 UNIX® 또는 UNIX-유사 운영 시스템들 및/또는 모바일 운영 시스템들 예컨대 iOS, Windows® Phone, Android® OS, BlackBerry® 10 OS, 및 Palm® OS 운영 시스템들을 포함할 수 있다.
컴퓨터-판독가능 저장 매체(1022)는 일부 실시예들의 기능을 제공하는 프로그래밍 및 데이터 구성물들을 저장할 수 있다. 프로세싱 서브시스템(1004) 프로세서에 의해 실행될 때 이상에서 설명된 기능을 제공하는 소프트웨어(프로그램들, 코드 모듈들, 명령어들)가 저장 서브시스템(1018) 내에 저장될 수 있다. 예로서, 컴퓨터-판독가능 저장 매체(1022)는 비-휘발성 메모리 예컨대 하드 디스크 드라이브, 자기 디스크 드라이브, 광 디스크 드라이브 예컨대 CD ROM, DVD, Blu-Ray® 디스크, 또는 다른 광 매체를 포함할 수 있다. 컴퓨터-판독가능 저장 매체(1022)는, 비제한적으로, Zip® 드라이브들, 플래시 메모리 카드들, 범용 직렬 버스(universal serial bus; USB) 플래시 드라이브들, 보안 디지털(secure digital; SD) 카드들, DVD 디스크들, 디지털 비디오 테이프, 및 유사한 것을 포함할 수 있다. 컴퓨터-판독가능 저장 매체(1022)는 또한, 비-휘발성 메모리 기반 고체-상태 드라이브(solid-state drive; SSD)들 예컨대 플래시-메모리 기반 SSD들, 기업 플래시 드라이브들, 고체 상태 ROM, 및 유사한 것, 휘발성 메모리 기반 SSD들 예컨대 고체 상태 RAM, 동적 RAM, 정적 RAM, DRAM-기반 SSD들, 자기저항성 RAM(magnetoresistive RAM; MRAM) SSD들, 및 DRAM 및 플래시 메모리 기반 SSD들의 조합을 사용하는 하이브리드 SSD들을 포함할 수 있다. 컴퓨터-판독가능 매체(1022)는 컴퓨터-판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 및 컴퓨터 시스템(1000)에 대한 다른 데이터의 저장을 제공할 수 있다.
특정 실시예들에 있어서, 저장 서브시스템(1000)은 또한, 추가적으로 컴퓨터-판독가능 저장 매체(1022)에 연결될 수 있는 컴퓨터-판독가능 저장 매체 리더(1020)를 포함할 수 있다. 시스템 메모리(1010)와 함께 그리고 선택적으로 이와 조합되어, 컴퓨터-판독가능 저장 매체(1022)는, 컴퓨터-판독가능 정보를 저장하기 위한 저장 매체들에 더하여 원격, 로컬, 고정, 및/또는 착탈가능 저장 디바이스들을 포괄적으로 나타낼 수 있다.
특정 실시예들에 있어서, 컴퓨터 시스템(1000)은 하나 이상의 가상 머신들을 실행하기 위한 지원을 제공할 수 있다. 컴퓨터 시스템(1000)은 가상 머신들의 구성 및 관리를 가능하게 하기 위한 하이퍼바이저(hypervisor)로서 프로그램을 실행할 수 있다. 각각의 가상 머신은 할당된 메모리, 연산부(예를 들어, 프로세서들, 코어들), I/O, 및 네트워킹 자원들일 수 있다. 각각의 가상 머신은 전형적으로 자체적인 운영 시스템을 실행하며, 이는 컴퓨터 시스템(1000)에 의해 실행되는 다른 가상 머신들에 의해 실행되는 운영 시스템들과 동일하거나 또는 상이할 수 있다. 따라서, 복수의 운영 시스템들이 잠재적으로 컴퓨터 시스템(1000)에 의해 동시에 실행될 수 있다. 각각의 가상 머신은 일반적으로 다른 가상 머신들과 독립적으로 실행된다.
통신 서브시스템(1024)은 다른 컴퓨터 시스템들 및 네트워크들에 대한 인터페이스를 제공한다. 통신 서브시스템(1024)은 컴퓨터 시스템(1000)으로부터 다른 시스템들로 데이터를 송신하고 이로부터 데이터를 수신하기 위한 인터페이스로서 역할한다. 예를 들어, 통신 서브시스템(1024)은, 컴퓨터 시스템(1000)이 인터넷을 통해 클라이언트 디바이스들로부터 정보를 수신하고 클라이언트 디바이스들로 정보를 전송하기 위한 하나 이상의 클라이언트 디바이스들로의 통신 채널을 수립하는 것을 가능하게 한다.
통신 서브시스템(1024)은 유선 및/또는 무선 통신 프로토콜들 둘 모두를 지원할 수 있다. 예를 들어, 특정 실시예들에 있어서, 통신 서브시스템(1024)은 (예를 들어, 셀룰러 전화기 기술, 진보된 데이터 네트워크 기술, 예컨대 3G, 4G 또는 EDGE(enhanced data rates for global evolution), WiFi(IEEE 802.11 패밀리 표준들, 또는 다른 모바일 통신 기술들, 또는 이들의 임의의 조합)을 사용하여) 무선 음성 및/또는 데이터 네트워크들에 액세스하기 위한 라디오 주파수(radio frequency; RF) 트랜시버 컴포넌트들, 위성 위치확인 시스템(global positioning system; GPS) 수신기 컴포넌트들, 및/또는 다른 컴포넌트들을 포함할 수 있다. 일부 실시예들에 있어서, 통신 서브시스템(1024)은 무선 인터페이스에 더하여 또는 그 대신에 유선 네트워크 연결(예를 들어, 이더넷)을 제공할 수 있다.
통신 서브시스템(1024)는 다양한 형식들의 데이터를 수신하고 송신할 수 있다. 예를 들어, 일부 실시예들에 있어서, 통신 서브시스템(1024)은 구조화된 및/또는 구조화되지 않은 데이터 피드들(1026), 이벤트 스트림들(1028), 이벤트 업데이트들(1030), 및 그와 유사한 것의 형태의 입력 통신을 수신할 수 있다. 예를 들어, 통신 서브시스템(1024)은 소셜 네트워크들 및/또는 다른 통신 서비스들의 사용자들로부터의 실-시간 데이터 피드들(1026) 예컨대 Twitter® 피드들, Facebook® 업데이트들, 웹 피드들 예컨대 리치 사이트 서머리(Rich Site Summary; RSS) 피드들, 및/또는 하나 이상의 제 3 자 정보 소스들로부터의 실-시간 업데이트들을 수신(또는 전송)하도록 구성될 수 있다.
특정 실시예들에 있어서, 통신 서브시스템(1024)은, 사실상 명시적인 종료를 갖지 않는 제한이 없거나 또는 연속적일 수 있는 실-시간 이벤트들 및/또는 이벤트 업데이트들(1030)의 이벤트 스트림들(1028)을 포함할 수 있는 연속적인 데이터 스트림들의 형태로 데이터를 수신하도록 구성될 수 있다. 연속적인 데이터를 생성하는 애플리케이션들의 예들은, 예를 들어, 센서 데이터 애플리케이션들, 금융 시세표시기들, 네트워크 성능 측정 툴들(예를 들어, 네트워크 모니터링 및 트래픽 관리 애플리케이션들), 클릭스트림 분석 툴들, 자동차 트래픽 모니터링, 및 유사한 것을 포함할 수 있다.
통신 서브시스템(1024)은 또한, 구조화되거나 및/또는 구조화되지 않은 데이터 피드들(1026), 이벤트 스트림들(1028), 이벤트 업데이트들(1030), 및 유사한 것을 컴퓨터 시스템(1000)에 결합된 하나 이상의 스트리밍 데이터 소스 컴퓨터들과 통신할 수 있는 하나 이상의 데이터베이스들로 출력하도록 구성될 수 있다.
컴퓨터 시스템(1000)은, 핸드헬드 휴대용 디바이스(예를 들어, iPhone® 셀룰러 폰, iPad® 컴퓨팅 태블릿, PDA), 웨어러블 디바이스(예를 들어, Google Glass® 머리 착용형 디스플레이), 개인용 컴퓨터, 워크스테이션, 메인프레임, 키오스크, 서버 랙, 또는 임의의 다른 데이터 프로세싱 시스템을 포함하는 다양한 유형들 중 임의의 유형일 수 있다.
컴퓨터들 및 네트워크들의 계속해서 변화하는 성질에 기인하여, 도 10에 도시된 컴퓨터 시스템(1000)의 설명은 오로지 특정한 일 예로서만 의도된다. 도 10에 도시된 시스템보다 더 많거나 또는 더 적은 컴포넌트들을 갖는 다수의 다른 구성들이 가능하다. 본원에 제공되는 개시 및 교시들에 기초하여, 당업자는 다양한 실시예들을 구현하기 위한 다른 방식들 및/또는 방법들을 인식할 것이다.
도 11은 본 발명의 특정 실시예들에 따른 이종 전자 디바이스들에 대한 애플리케이션 배포물을 구분하기 위한 시스템(1100)을 도시한다. 시스템(1100) 및 그것의 컴포넌트들은, 이전의 실시예들에서 설명된 바와 같은 본 발명의 원리에 기초하는 적절한 동작들 중 임의의 동작을 수행하기 위한 하드웨어, 소프트웨어, 또는 이들의 조합에 의해 구현될 수 있다. 본원에서 설명되는 기능적 블록들이 이상에서 설명된 바와 같은 본 발명의 원리들을 구현하기 위하여 결합되거나 또는 서브-블록들로 분리될 수 있다는 것이 당업자들에게 이해될 것이다. 따라서, 본원의 설명은 본원에서 설명되는 기능적 블록들의 임의의 가능한 조합 또는 분리 또는 추가적인 정의를 지지할 수 있다. 도 11에 도시된 바와 같이, 시스템(1100)은 수신 유닛(1102), 생성 유닛(1104), 할당 유닛(1106) 및 표시 유닛(1108)을 포함한다.
수신 유닛(1102)은 애플리케이션의 제 1 이진 파일에 대한 제 1 자원 로케이터를 수신할 수 있다. 생성 유닛(1104)은 제 1 자원 로케이터에 대한 엔트리들의 제 1 세트를 제 1 데이터베이스 레코드 내에 생성할 수 있다. 할당 유닛(1106)은 제 1 디바이스의 제 1 운영 시스템 버전을 엔트리들의 제 1 세트에 할당할 수 있다. 이에 더하여, 수신 유닛(1102)은 또한, 애플리케이션에 대한 제 2 이진 파일에 대한 속성-리스트 메타데이터 파일을 수신할 수 있으며, 생성 유닛(1104)은 속성-리스트 메타데이터 파일에 대하여 제 2 데이터베이스 레코드 내에 엔트리들의 제 2 세트를 생성할 수 있고, 할당 유닛(1106)은 제 2 디바이스의 제 2 운영 시스템 버전을 엔트리들의 제 2 세트에 할당할 수 있다. 표시 유닛(1108)은, 엔트리들의 제 1 세트에 링크된 제 1 사용자 인터페이스 유닛 및 엔트리들의 제 2 세트에 링크된 제 2 사용자 인터페이스 유닛을 갖는 사용자 인터페이스를 표시할 수 있다.
일부 실시예들에 있어서, 생성 유닛(1104)은, 적어도 부분적으로 엔트리들의 제 1 세트 및 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성한다.
일부 실시예들에 있어서, 시스템(1100)은 식별 유닛(1110), 결정 유닛(1112), 및 설치 유닛(1114)을 더 포함할 수 있다.
식별 유닛(1110)은 제 1 디바이스의 제 1 사용자와 연관된 제 1 정책을 식별할 수 있다. 결정 유닛(1112)은 정책에 기초하여 제 1 디바이스 상에 설치하기 위한 논리적인 애플리케이션의 제 1 버전을 결정할 수 있다. 설치 유닛(1114)은 결정에 기초하여 제 1 디바이스 상에 논리적인 애플리케이션의 제 1 버전이 설치되게끔 할 수 있다.
일부 실시예들에 있어서, 식별 유닛(1110)은 또한 제 2 디바이스의 제 2 사용자와 연관된 제 2 정책을 식별할 수 있다. 결정 유닛(1112)은 또한 정책에 기초하여 제 2 디바이스 상에 설치하기 위한 논리적인 애플리케이션의 제 2 버전을 결정할 수 있다. 설치 유닛(1114)은 또한 결정에 기초하여 제 2 디바이스 상에 논리적인 애플리케이션의 제 2 버전이 설치되게끔 할 수 있다.
일부 실시예들에 있어서, 시스템은 또한, 논리적인 애플리케이션의 제 2 버전을 디바이스 상으로 다운로드하기 위한 푸시 통지 이벤트를 제 2 디바이스로 송신하기 위한 송신 유닛(1116)을 더 포함한다.
일부 실시예들에 있어서, 이종 전자 디바이스들에 대한 애플리케이션 배포물을 구분하기 위한 시스템은 또한 다음과 같이 구현될 수 있다. 다시 한 번, 시스템 및 그것의 컴포넌트들은, 이전의 실시예들에서 설명된 바와 같은 본 발명의 원리에 기초하는 적절한 동작들 중 임의의 동작을 수행하는 하드웨어, 소프트웨어, 또는 이들의 조합에 의해 구현될 수 있다. 본원에서 설명되는 기능적 블록들이 이상에서 설명된 바와 같은 본 발명의 원리들을 구현하기 위하여 결합되거나 또는 서브-블록들로 분리될 수 있다는 것이 당업자들에게 이해될 것이다. 따라서, 본원의 설명은 본원에서 설명되는 기능적 블록들의 임의의 가능한 조합 또는 분리 또는 추가적인 정의를 지지할 수 있다.
보다 더 구체적으로, 시스템은 도 1에 도시된 바와 같이 논리적인 애플리케이션 생성 엔진(108) 및 논리적인 애플리케이션 설치 엔진(112)을 포함할 수 있다. 논리적인 애플리케이션 생성 엔진(108)은, 애플리케이션의 제 1 이진 파일에 대하여 제 1 데이터 베이스 레코드 내에 엔트리들의 제 1 세트를 생성하고, 애플리케이션의 제 2 이진 파일에 대한 속성-리스트 메타데이터 파일에 대하여 제 2 데이터 베이스 레코드 내에 엔트리들의 제 2 세트를 생성하며, 제 1 디바이스의 제 1 운영 시스템 버전을 엔트리들의 제 1 세트에 할당하고, 제 2 디바이스의 제 2 운영 시스템 버전을 엔트리들의 제 2 세트에 할당하며, 적어도 부분적으로 엔트리들의 제 1 세트 및 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성한다. 그런 다음, 논리적인 애플리케이션 설치 엔진(112)은 논리적인 애플리케이션이 제 1 디바이스 또는 제 2 디바이스 상에 설치되게끔 한다.
본 발명의 특정 실시예들이 설명되었지만, 다양한 수정예들, 대안예들, 대안적인 구성들, 및 등가물들이 또한 본 발명의 범위 내에 포괄된다. 본 발명의 실시예들은 정확한 특정 데이터 프로세싱 환경들 내에서 동작하도록 제한되는 것이 아니라, 복수의 데이터 프로세싱 환경들 내에서 자유롭게 동작할 수 있다. 추가적으로, 본 발명의 실시예들이 특정한 일련의 트랜잭션(transaction)들 및 단계들을 사용하여 설명되었지만, 본 발명의 범위가 설명된 일련의 트랜잭션들 및 단계들로 한정되지 않는다는 것이 당업자들에게 명백할 것이다. 이상에서 설명된 실시예들의 다양한 특징들 및 측면들이 개별적으로 또는 함께 사용될 수 있다.
추가로, 본 발명의 실시예들이 하드웨어 및 소프트웨어의 특정한 조합을 사용하여 설명되었지만, 하드웨어 및 소프트웨어의 다른 조합들이 또한 본 발명의 범위 내에 속한다는 것이 이해되어야만 한다. 본 발명의 실시예들은 오로지 하드웨어로만, 또는 오로지 소프트웨어로만, 또는 이들의 조합들을 사용하여 구현될 수 있다. 본원에서 설명된 다양한 프로세스들은 동일한 프로세서 또는 임의의 조합의 상이한 프로세서들 상에 구현될 수 있다. 따라서, 컴포넌트들 또는 모듈들이 특정 동작들을 수행하도록 구성된 것으로 설명되는 경우, 이러한 구성은, 예를 들어, 동작을 수행하기 위한 전자 회로들을 설계함으로써, 동작을 수행하기 위하여 프로그램가능 전자 회로들(예컨대 마이크로프로세서들)을 프로그래밍함으로써, 또는 이들의 임의의 조합에 의해 달성될 수 있다. 프로세스들은 비제한적으로 프로세스 간 통신을 위한 통상적을 기술을 포함하는 다양한 기술들을 사용하여 통신할 수 있으며, 프로세스들의 상이한 쌍들이 상이한 기술들을 사용할 수 있거나, 또는 프로세스들의 동일한 쌍이 상이한 시점에 상이한 기술들을 사용할 수 있다.
따라서, 본 명세서 및 도면들은 제한적인 의미가 아니라 예시적인 것으로서 간주되어야 한다. 그러나, 청구항들에 기술되는 바와 같은 광범위한 사상 및 범위로부터 벗어나지 않고 이에 대한 추가들, 대체들, 삭제들, 및 다른 수정들 및 변화들이 이루이질 수 있다는 것이 명백할 것이다. 따라서, 특정 발명 실시예들이 설명되었지만, 이들은 제한적인 것으로 의도되지 않는다. 다양한 수정예들 및 등가물들이 다음의 청구항들의 범위 내에 속한다.
Claims (20)
- 이종 전자 디바이스들에 대한 애플리케이션의 하나 이상의 물리적인 배포물(distribution)들을 단일의 논리적인 애플리케이션으로 그룹화하기 위한 방법으로서,
컴퓨팅 시스템에 의해, 애플리케이션의 제 1 이진 파일에 대한 제 1 자원 로케이터(locator)를 수신하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 제 1 자원 로케이터에 대한 엔트리(entry)들의 제 1 세트를 제 1 데이터베이스 레코드 내에 생성하는 단계로서, 상기 엔트리들의 제 1 세트는 상기 애플리케이션의 복수의 운영 시스템 버전들 중 제 1 운영 시스템 버전에 관한 정보를 포함하는, 단계;
상기 컴퓨팅 시스템에 의해, 제 1 디바이스의 상기 제 1 운영 시스템 버전을 상기 엔트리들의 제 1 세트에 할당하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 애플리케이션에 대한 제 2 이진 파일에 대한 속성-리스트 메타데이터 파일을 수신하는 단계;
상기 컴퓨팅 시스템에 의해, 상기 속성-리스트 메타데이터 파일에 대한 엔트리들의 제 2 세트를 제 2 데이터베이스 레코드 내에 생성하는 단계로서, 상기 엔트리들의 제 2 세트는 상기 애플리케이션의 복수의 운영 시스템 버전들 중 제 2 운영 시스템 버전에 관한 정보를 포함하는, 단계;
상기 컴퓨팅 시스템에 의해, 제 2 디바이스의 상기 제 2 운영 시스템 버전을 상기 엔트리들의 제 2 세트에 할당하는 단계;
상기 컴퓨팅 시스템에 의해, 적어도 부분적으로 상기 엔트리들의 제 1 세트 및 상기 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성하는 단계로서, 상기 논리적인 애플리케이션은 상기 엔트리들의 제 1 세트 및 상기 엔트리들의 제 2 세트를 갖는 데이터 구조를 포함하는, 단계; 및
상기 컴퓨팅 시스템에 의해, 상기 제 1 운영 시스템 버전 또는 상기 제 2 운영 시스템 버전에 대응하는 상기 논리적인 애플리케이션의 버전을 설치하도록 상기 제 1 디바이스를 구성하는 단계를 포함하는, 방법.
- 청구항 1에 있어서,
제 1 사용자 인터페이스 엘리먼트는 다중 탭 인터페이스의 제 1 탭 상에 존재하고, 제 2 사용자 인터페이스 엘리먼트는 상기 다중 탭 인터페이스의 제 2 탭 상에 존재하는, 방법.
- 청구항 1 또는 청구항 2에 있어서,
상기 엔트리들의 제 1 세트는 상기 제 1 디바이스의 상기 제 1 운영 시스템 플랫폼의 최소 운영 시스템 버전 및 최대 운영 시스템 버전을 포함하며, 상기 엔트리들의 제 2 세트는 상기 제 2 디바이스의 상기 제 2 운영 시스템 플랫폼의 최소 운영 시스템 버전 및 최대 운영 시스템 버전을 포함하는, 방법.
- 청구항 1에 있어서,
상기 제 1 운영 시스템 버전의 유형 또는 상기 제 2 운영 시스템 버전의 유형은, iOS® 버전, Android® 운영 시스템 버전 및 Windows® 운영 시스템 버전으로 구성된 그룹으로부터 선택되는, 방법.
- 청구항 1에 있어서,
제 1 디바이스 또는 상기 제 2 디바이스의 유형은, 워크스테이션, 개인용 컴퓨터, 태블릿 컴퓨터, 모바일 디바이스 및 웨어러블(wearable) 디바이스로 구성된 그룹으로부터 선택되는, 방법.
- 청구항 1에 있어서,
상기 방법은, 상기 엔트리들의 제 1 세트에 링크(link)된 제 1 사용자 인터페이스 엘리먼트 및 상기 엔트리들의 제 2 세트에 링크된 제 2 사용자 인터페이스 엘리먼트를 갖는 사용자 인터페이스를 표시하는 단계를 더 포함하는, 방법.
- 청구항 6에 있어서,
상기 방법은,
상기 제 1 디바이스의 제 1 사용자와 연관된 제 1 정책을 식별하는 단계;
상기 정책에 기초하여 상기 제 1 디바이스 상에 설치하기 위한 상기 논리적인 애플리케이션의 제 1 버전을 결정하는 단계; 및
상기 결정하는 단계에 기초하여 상기 제 1 디바이스 상에 상기 논리적인 애플리케이션의 상기 제 1 버전이 설치되게끔 하는 단계를 더 포함하는, 방법.
- 제 6 항에 있어서,
상기 방법은,
상기 제 2 디바이스의 제 2 사용자와 연관된 제 2 정책을 식별하는 단계;
상기 정책에 기초하여 상기 제 2 디바이스 상에 설치하기 위한 상기 논리적인 애플리케이션의 제 2 버전을 결정하는 단계; 및
상기 결정하는 단계에 기초하여 상기 제 2 디바이스 상에 상기 논리적인 애플리케이션의 상기 제 2 버전이 설치되게끔 하는 단계를 더 포함하는, 방법.
- 청구항 8에 있어서,
상기 논리적인 애플리케이션의 상기 제 2 버전이 설치되게끔 하는 단계는, 상기 논리적인 애플리케이션의 상기 제 2 버전을 상기 디바이스 상으로 다운로드하기 위한 푸시(push) 통지 이벤트를 상기 제 2 디바이스로 송신하는 단계를 더 포함하는, 방법.
- 시스템으로서,
프로세서; 및
상기 프로세서에 의해 실행될 때 상기 프로세서들이,
애플리케이션의 제 1 이진 파일에 대한 엔트리들의 제 1 세트를 제 1 데이터베이스 레코드 내에 생성하되, 상기 엔트리들의 제 1 세트는 상기 애플리케이션의 복수의 운영 시스템 버전들 중 제 1 운영 시스템 버전에 관한 정보를 포함하고;
제 1 디바이스의 상기 제 1 운영 시스템 버전을 상기 엔트리들의 제 1 세트에 할당하며;
상기 애플리케이션의 제 2 이진 파일에 대한 속성-리스트 메타데이터 파일에 대한 엔트리들의 제 2 세트를 제 2 데이터베이스 레코드 내에 생성하되, 상기 엔트리들의 제 2 세트는 상기 애플리케이션의 복수의 운영 시스템 버전들 중 제 2 운영 시스템 버전에 관한 정보를 포함하고;
제 2 디바이스의 제 2 운영 시스템 버전을 상기 엔트리들의 제 2 세트에 할당하며;
적어도 부분적으로 상기 엔트리들의 제 1 세트 및 상기 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성하되, 상기 논리적인 애플리케이션은 상기 엔트리들의 제 1 세트 및 상기 엔트리들의 제 2 세트를 갖는 데이터 구조를 포함하며; 및
상기 제 1 디바이스 또는 상기 제 2 디바이스 상에 상기 제 1 운영 시스템 버전 또는 상기 제 2 운영 시스템 버전에 대응하는 상기 논리적인 애플리케이션의 버전의 설치를 유발하게끔 하는, 명령어들을 포함하는 메모리 디바이스를 포함하는, 시스템.
- 청구항 10에 있어서,
상기 프로세서는, 상기 애플리케이션의 상기 제 1 이진 파일에 대한 제 1 자원 로케이터를 수신하고 상기 애플리케이션의 상기 제 2 이진 파일에 대한 상기 속성-리스트 메타데이터 파일을 수신하도록 더 구성되는, 시스템.
- 청구항 10 또는 청구항 11에 있어서,
상기 프로세서는, 상기 엔트리들의 제 1 세트에 링크된 제 1 사용자 인터페이스 엘리먼트 및 상기 엔트리들의 제 2 세트에 링크된 제 2 사용자 인터페이스 엘리먼트를 갖는 사용자 인터페이스를 표시하도록 더 구성되는, 시스템.
- 청구항 12에 있어서,
상기 제 1 사용자 인터페이스 엘리먼트는 다중 탭 인터페이스의 제 1 탭 상에 존재하고, 상기 제 2 사용자 인터페이스 엘리먼트는 상기 다중 탭 인터페이스의 제 2 탭 상에 존재하는, 시스템.
- 청구항 10에 있어서,
상기 엔트리들의 제 1 세트는 상기 제 1 디바이스의 상기 제 1 운영 시스템 플랫폼의 최소 운영 시스템 버전 및 최대 운영 시스템 버전을 포함하며, 상기 엔트리들의 제 2 세트는 상기 제 2 디바이스의 상기 제 2 운영 시스템 플랫폼의 최소 운영 시스템 버전 및 최대 운영 시스템 버전을 포함하는, 시스템.
- 청구항 10에 있어서,
상기 프로세서는,
상기 제 1 디바이스의 제 1 사용자와 연관된 제 1 정책을 식별하고;
상기 제 2 디바이스의 제 2 사용자와 연관된 제 2 정책을 식별하며;
상기 제 1 정책에 기초하여 상기 제 1 디바이스 상에 설치하기 위한 상기 논리적인 애플리케이션의 제 1 버전을 결정하고;
상기 제 2 정책에 기초하여 상기 제 2 디바이스 상에 설치하기 위한 상기 논리적인 애플리케이션의 제 2 버전을 결정하며;
상기 제 1 정책에 기초하여 상기 제 1 디바이스 상에 상기 논리적인 애플리케이션의 상기 제 1 버전이 설치되게끔 하고; 및
상기 제 2 정책에 기초하여 상기 제 2 디바이스 상에 상기 논리적인 애플리케이션의 상기 제 2 버전이 설치되게끔 하도록 더 구성되는, 시스템.
- 하나 이상의 프로세서들에 의해 실행가능한 컴퓨터-실행가능 명령어들을 저장하는 하나 이상의 비-일시적인 컴퓨터-판독가능 매체로서, 상기 컴퓨터-실행가능 명령어들은,
상기 하나 이상의 프로세서들이 애플리케이션의 제 1 이진 파일에 대한 제 1 자원 로케이터를 수신하게끔 하는 명령어들;
상기 하나 이상의 프로세서들이 상기 제 1 자원 로케이터에 대한 엔트리들의 제 1 세트를 제 1 데이터베이스 레코드 내에 생성하게끔 하는 명령어들로서, 상기 엔트리들의 제 1 세트는 상기 애플리케이션의 복수의 운영 시스템 버전들 중 제 1 운영 시스템 버전에 관한 정보를 포함하는, 명령어들;
상기 하나 이상의 프로세서들이 제 1 디바이스의 상기 제 1 운영 시스템 버전을 상기 엔트리들의 제 1 세트에 할당하게끔 하는 명령어들;
상기 하나 이상의 프로세서들이 상기 애플리케이션에 대한 제 2 이진 파일에 대한 속성-리스트 메타데이터 파일을 수신하게끔 하는 명령어들;
상기 하나 이상의 프로세서들이 상기 속성-리스트 메타데이터 파일에 대한 엔트리들의 제 2 세트를 제 2 데이터베이스 레코드 내에 생성하게끔 하는 명령어들로서, 상기 엔트리들의 제 2 세트는 상기 애플리케이션의 복수의 운영 시스템 버전들 중 제 2 운영 시스템 버전에 관한 정보를 포함하는, 명령어들;
상기 하나 이상의 프로세서들이 제 2 디바이스의 상기 제 2 운영 시스템 버전을 상기 엔트리들의 제 2 세트에 할당하게끔 하는 명령어들;
상기 하나 이상의 프로세서들이 적어도 부분적으로 상기 엔트리들의 제 1 세트 및 상기 엔트리들의 제 2 세트에 기초하여 논리적인 애플리케이션을 생성하게끔 하는 명령어들로서, 상기 논리적인 애플리케이션은 상기 엔트리들의 제 1 세트 및 상기 엔트리들의 제 2 세트를 갖는 데이터 구조를 포함하는, 명령어들; 및
상기 하나 이상의 프로세서들이 상기 제 1 운영 시스템 버전 또는 상기 제 2 운영 시스템 버전에 대응하는 상기 논리적인 애플리케이션의 버전을 설치하도록 상기 제 1 디바이스를 구성하게끔 하는 명령어들을 포함하는, 컴퓨터-판독가능 매체.
- 청구항 16에 있어서,
상기 명령어들은, 상기 하나 이상의 프로세서들이,
상기 엔트리들의 제 1 세트에 링크된 제 1 사용자 인터페이스 엘리먼트 및 상기 엔트리들의 제 2 세트에 링크된 제 2 사용자 인터페이스 엘리먼트를 갖는 사용자 인터페이스를 표시하고; 및
상기 제 1 사용자 인터페이스 엘리먼트를 다중 탭 인터페이스의 제 1 탭 내에 표시하며, 상기 제 2 사용자 인터페이스 엘리먼트를 상기 다중 탭 인터페이스의 제 2 탭 상에 표시하게끔 하는 명령어들을 더 포함하는, 컴퓨터-판독가능 매체.
- 청구항 16 또는 청구항 17에 있어서,
상기 제 1 운영 시스템 버전의 유형 또는 상기 제 2 운영 시스템 버전의 유형은, iOS® 버전, Android® 운영 시스템 버전 및 Windows® 운영 시스템 버전으로 구성된 그룹으로부터 선택되는, 컴퓨터-판독가능 매체.
- 청구항 16에 있어서,
제 1 디바이스 또는 상기 제 2 디바이스의 유형은, 워크스테이션, 개인용 컴퓨터, 태블릿 컴퓨터, 모바일 디바이스 및 웨어러블 디바이스로 구성된 그룹으로부터 선택되는, 컴퓨터-판독가능 매체.
- 청구항 16에 있어서,
상기 명령어들은, 상기 하나 이상의 프로세서들이 상기 제 1 디바이스의 사용자와 연관된 정책에 기초하여 상기 제 1 디바이스 상에 상기 논리적인 애플리케이션의 제 1 버전의 설치를 유발하게끔 하는 명령어들을 더 포함하는, 컴퓨터-판독가능 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462054544P | 2014-09-24 | 2014-09-24 | |
US62/054,544 | 2014-09-24 | ||
US14/689,722 | 2015-04-17 | ||
US14/689,722 US9729542B2 (en) | 2014-09-24 | 2015-04-17 | Compartmentalizing application distribution for disparate electronic devices |
PCT/US2015/026697 WO2016048416A1 (en) | 2014-09-24 | 2015-04-20 | Compartmentalizing application distribution for disparate electronic devices |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170063788A KR20170063788A (ko) | 2017-06-08 |
KR102313789B1 true KR102313789B1 (ko) | 2021-10-19 |
Family
ID=55525799
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177011062A KR102300865B1 (ko) | 2014-09-24 | 2015-04-20 | 기업 시스템에 디바이스들상의 애플리케이션들의 일원화된 프로비저닝 |
KR1020177011005A KR102368195B1 (ko) | 2014-09-24 | 2015-04-20 | 규칙 기반 디바이스 등록 |
KR1020177011021A KR102313789B1 (ko) | 2014-09-24 | 2015-04-20 | 이종 전자 디바이스들에 대한 애플리케이션 배포물의 구분 |
KR1020227005113A KR102505010B1 (ko) | 2014-09-24 | 2015-04-20 | 규칙 기반 디바이스 등록 |
KR1020177010733A KR102295830B1 (ko) | 2014-09-24 | 2015-04-20 | 기업 시스템내 디바이스들에 대한 변화 이벤트들 관리 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177011062A KR102300865B1 (ko) | 2014-09-24 | 2015-04-20 | 기업 시스템에 디바이스들상의 애플리케이션들의 일원화된 프로비저닝 |
KR1020177011005A KR102368195B1 (ko) | 2014-09-24 | 2015-04-20 | 규칙 기반 디바이스 등록 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227005113A KR102505010B1 (ko) | 2014-09-24 | 2015-04-20 | 규칙 기반 디바이스 등록 |
KR1020177010733A KR102295830B1 (ko) | 2014-09-24 | 2015-04-20 | 기업 시스템내 디바이스들에 대한 변화 이벤트들 관리 |
Country Status (6)
Country | Link |
---|---|
US (12) | US9729542B2 (ko) |
EP (4) | EP3198422B1 (ko) |
JP (4) | JP6646048B2 (ko) |
KR (5) | KR102300865B1 (ko) |
CN (7) | CN106664323B (ko) |
WO (4) | WO2016048414A1 (ko) |
Families Citing this family (260)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100313262A1 (en) * | 2009-06-03 | 2010-12-09 | Aruba Networks, Inc. | Provisioning remote access points |
US9307386B2 (en) | 2013-03-22 | 2016-04-05 | Global Tel*Link Corporation | Multifunction wireless device |
US10681142B2 (en) | 2014-01-09 | 2020-06-09 | Comcast Cable Communications, Llc | Network filter |
US9954811B2 (en) | 2014-07-25 | 2018-04-24 | International Business Machines Corporation | Email notification on mobile devices |
US9729542B2 (en) | 2014-09-24 | 2017-08-08 | Oracle International Corporation | Compartmentalizing application distribution for disparate electronic devices |
JP2016085641A (ja) * | 2014-10-27 | 2016-05-19 | キヤノン株式会社 | 権限移譲システム、権限移譲システムにて実行される方法、およびそのプログラム |
US20160156614A1 (en) * | 2014-11-28 | 2016-06-02 | Hcl Technologies Limited | Provisioning a device over an internet of things |
US10404684B1 (en) * | 2014-12-12 | 2019-09-03 | Mobile Iron, Inc. | Mobile device management registration |
US9921819B2 (en) * | 2014-12-29 | 2018-03-20 | Airwatch Llc | Persistent mobile device enrollment |
US9684433B2 (en) * | 2014-12-30 | 2017-06-20 | Ebay Inc. | Trusted device identification and event monitoring |
US10341203B2 (en) | 2015-01-02 | 2019-07-02 | Gigamon Inc. | Policy tracking in a network that includes virtual devices |
CN105897805B (zh) * | 2015-01-04 | 2019-12-27 | 伊姆西公司 | 对多层架构的数据中心的资源进行跨层调度的方法和装置 |
US11171941B2 (en) * | 2015-02-24 | 2021-11-09 | Nelson A. Cicchitto | Mobile device enabled desktop tethered and tetherless authentication |
US9762585B2 (en) | 2015-03-19 | 2017-09-12 | Microsoft Technology Licensing, Llc | Tenant lockbox |
US20180077029A1 (en) * | 2015-04-08 | 2018-03-15 | Hewlett Packard Enterprise Development Lp | Managing cost related to usage of cloud resources |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US10949841B2 (en) * | 2015-05-07 | 2021-03-16 | Visa International Service Association | Provisioning of access credentials using device codes |
US9817957B1 (en) * | 2015-06-04 | 2017-11-14 | EMC IP Holding Company LLC | Access management based on active environment comprising dynamically reconfigurable sets of smart objects |
US9912704B2 (en) | 2015-06-09 | 2018-03-06 | Intel Corporation | System, apparatus and method for access control list processing in a constrained environment |
US20160366183A1 (en) * | 2015-06-09 | 2016-12-15 | Ned M. Smith | System, Apparatus And Method For Access Control List Processing In A Constrained Environment |
US10931682B2 (en) * | 2015-06-30 | 2021-02-23 | Microsoft Technology Licensing, Llc | Privileged identity management |
US9900725B2 (en) | 2015-07-29 | 2018-02-20 | Intel Corporation | Technologies for an automated application exchange in wireless networks |
US10643181B2 (en) * | 2015-08-18 | 2020-05-05 | Satish Ayyaswami | System and method for a big data analytics enterprise framework |
US10462122B2 (en) | 2015-08-27 | 2019-10-29 | Pivotal Software, Inc. | Push notification aggregation |
US10803437B2 (en) * | 2015-08-28 | 2020-10-13 | Ncr Corporation | Self-service terminal technical state monitoring and alerting |
US10193753B1 (en) * | 2015-08-31 | 2019-01-29 | EMC IP Holding Company LLC | Automated configuration and deployment of internet of things platforms |
US10171439B2 (en) * | 2015-09-24 | 2019-01-01 | International Business Machines Corporation | Owner based device authentication and authorization for network access |
US9912781B2 (en) | 2015-09-29 | 2018-03-06 | International Business Machines Corporation | Customized electronic product configuration |
US9886292B2 (en) * | 2015-10-26 | 2018-02-06 | Dell Products L.P. | Making user profile data portable across platforms |
US11361000B2 (en) * | 2015-10-27 | 2022-06-14 | Talkcycle Llc | Predictive and adaptive queue flushing for real-time data reconciliation between local and remote databases |
WO2017076476A1 (en) * | 2015-11-06 | 2017-05-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Configuration technique for a network element in a communication network |
CN107113307B (zh) * | 2015-11-18 | 2019-10-01 | 深圳市大疆创新科技有限公司 | 外接设备的管理方法、装置、系统以及存储器、无人机 |
US11206699B2 (en) * | 2015-12-09 | 2021-12-21 | Quest Software Inc. | Registering network devices using known host devices |
US10567381B1 (en) | 2015-12-17 | 2020-02-18 | Amazon Technologies, Inc. | Refresh token for credential renewal |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10389847B1 (en) * | 2015-12-23 | 2019-08-20 | Mitel Networks, Inc. | Provisioning resources in a communications system |
US10156841B2 (en) | 2015-12-31 | 2018-12-18 | General Electric Company | Identity management and device enrollment in a cloud service |
US10735557B2 (en) | 2016-01-08 | 2020-08-04 | Elo Touch Solutions, Inc. | Device controller and viewer |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10491632B1 (en) * | 2016-01-21 | 2019-11-26 | F5 Networks, Inc. | Methods for reducing compliance violations in mobile application management environments and devices thereof |
US10341325B2 (en) | 2016-01-29 | 2019-07-02 | Vmware, Inc. | System and method for transferring device identifying information |
US11290425B2 (en) * | 2016-02-01 | 2022-03-29 | Airwatch Llc | Configuring network security based on device management characteristics |
US10366243B2 (en) * | 2016-02-04 | 2019-07-30 | Airwatch, Llc | Preventing restricted content from being presented to unauthorized individuals |
US10432707B2 (en) * | 2016-03-02 | 2019-10-01 | International Business Machines Corporation | Optimization of integration flows in cloud environments |
US10171472B2 (en) * | 2016-03-02 | 2019-01-01 | Microsoft Technology Licensing, Llc | Role-specific service customization |
US11632710B2 (en) * | 2016-03-02 | 2023-04-18 | Blackberry Limited | Provisioning a device in a network |
US10445506B2 (en) * | 2016-03-30 | 2019-10-15 | Airwatch Llc | Detecting vulnerabilities in managed client devices |
US10637723B2 (en) | 2016-03-30 | 2020-04-28 | Airwatch Llc | Configuring enterprise workspaces |
US10389705B2 (en) | 2016-03-30 | 2019-08-20 | Airwatch Llc | Associating user accounts with enterprise workspaces |
US11457487B2 (en) | 2016-04-01 | 2022-09-27 | Comcast Cable Communications, Llc | Methods and systems for connecting to a wireless network |
US10084809B1 (en) * | 2016-05-06 | 2018-09-25 | Wells Fargo Bank, N.A. | Enterprise security measures |
WO2017197400A1 (en) * | 2016-05-13 | 2017-11-16 | Mobile Iron, Inc. | Unified vpn and identity based authentication to cloud-based services |
US10523660B1 (en) | 2016-05-13 | 2019-12-31 | MobileIron, Inc. | Asserting a mobile identity to users and devices in an enterprise authentication system |
US20170339160A1 (en) | 2016-05-17 | 2017-11-23 | International Business Machines Corporation | Threat-aware provisioning and governance |
US10666639B2 (en) * | 2016-05-20 | 2020-05-26 | Avaya, Inc. | Customer-centric workflow for initial on-boarding of an OpenFlow enabled switch |
US10122761B2 (en) * | 2016-05-31 | 2018-11-06 | Airwatch Llc | Device authentication based upon tunnel client network requests |
US10362021B2 (en) | 2016-05-31 | 2019-07-23 | Airwatch Llc | Device authentication based upon tunnel client network requests |
US10326841B2 (en) * | 2016-06-07 | 2019-06-18 | Vmware Inc. | Remote data securement on mobile devices |
US10270815B1 (en) * | 2016-06-07 | 2019-04-23 | Amazon Technologies, Inc. | Enabling communications between a controlling device and a network-controlled device via a network-connected device service over a mobile communications network |
US9947069B2 (en) | 2016-06-10 | 2018-04-17 | Apple Inc. | Providing variants of digital assets based on device-specific capabilities |
US10003670B2 (en) * | 2016-06-17 | 2018-06-19 | Airwatch Llc | Remote provisioning and enrollment of enterprise devices with on-premises domain controllers |
EP3479222A4 (en) * | 2016-06-29 | 2020-01-15 | Duo Security, Inc. | SYSTEMS AND METHODS FOR CLASSIFYING END POINT MANAGEMENT |
GB2551813B (en) * | 2016-06-30 | 2020-01-08 | Sophos Ltd | Mobile device policy enforcement |
US10423914B2 (en) | 2016-07-08 | 2019-09-24 | International Business Machines Corporation | Industrial setup composition |
US10412562B2 (en) | 2016-08-08 | 2019-09-10 | At&T Intellectual Property I, L.P. | Software defined IoT service network architecture |
US10397303B1 (en) * | 2016-08-29 | 2019-08-27 | Amazon Technologies, Inc. | Semantic annotation and translations for devices |
US10484429B1 (en) * | 2016-10-26 | 2019-11-19 | Amazon Technologies, Inc. | Automated sensitive information and data storage compliance verification |
US10462212B2 (en) * | 2016-10-28 | 2019-10-29 | At&T Intellectual Property I, L.P. | Hybrid clouds |
US10505983B2 (en) * | 2016-11-09 | 2019-12-10 | Airwatch Llc | Enforcing enterprise requirements for devices registered with a registration service |
US20180139090A1 (en) * | 2016-11-15 | 2018-05-17 | John Geiger | Method for secure enrollment of devices in the industrial internet of things |
KR102539580B1 (ko) * | 2016-12-01 | 2023-06-05 | 삼성전자주식회사 | 조건부 액션에 대한 정보를 공유하기 위한 방법 및 그 전자 장치 |
US10440134B1 (en) * | 2016-12-07 | 2019-10-08 | Microsoft Technology Licensing, Llc | Systems and methods for compliance enforcement in internet-based social networks |
US10374809B1 (en) * | 2016-12-13 | 2019-08-06 | Amazon Technologies, Inc. | Digital signature verification for asynchronous responses |
US10353686B1 (en) * | 2016-12-28 | 2019-07-16 | Facebook, Inc. | Application installation system |
US10334067B2 (en) * | 2017-01-02 | 2019-06-25 | International Business Machines Corporation | MQTT cluster shared subscription hub for fat-pipe cloud applications |
US10374810B2 (en) * | 2017-01-05 | 2019-08-06 | Bank Of America Corporation | Middleware system validation tool |
US20180203707A1 (en) * | 2017-01-19 | 2018-07-19 | International Business Machines Corporation | Context Based Configuration Management |
US10454977B2 (en) | 2017-02-14 | 2019-10-22 | At&T Intellectual Property I, L.P. | Systems and methods for allocating and managing resources in an internet of things environment using location based focus of attention |
US10721624B2 (en) | 2017-02-17 | 2020-07-21 | Global Tel*Link Corporation | Security system for inmate wireless devices |
US11100232B1 (en) * | 2017-02-23 | 2021-08-24 | Ivanti, Inc. | Systems and methods to automate networked device security response priority by user role detection |
US11468532B2 (en) | 2017-03-07 | 2022-10-11 | Global Tel*Link Corporation | Centralized offender management system for multiple jurisdictions |
US10409619B2 (en) | 2017-03-22 | 2019-09-10 | Vmware, Inc. | Persistent enrollment of a computing device using vendor autodsicovery |
US10740109B2 (en) | 2017-03-22 | 2020-08-11 | Vmware, Inc. | Configuring a computing device using managed operating system images |
US10620965B2 (en) | 2017-03-22 | 2020-04-14 | Vmware, Inc. | Internet recovery of a windows configuration |
US10635819B2 (en) | 2017-03-22 | 2020-04-28 | Vmware, Inc. | Persistent enrollment of a computing device based on a temporary user |
US10445106B2 (en) | 2017-03-22 | 2019-10-15 | Vmware, Inc. | Persistent enrollment of a computing device using a BIOS |
EP3596595B1 (en) * | 2017-03-22 | 2023-05-03 | VMware, Inc. | Persistent enrollment of a computing device using vendor autodiscovery |
US11880493B2 (en) | 2017-03-27 | 2024-01-23 | Global Tel*Link Corporation | Wearable devices in a controlled environment |
US10289409B2 (en) | 2017-03-29 | 2019-05-14 | The Travelers Indemnity Company | Systems, methods, and apparatus for migrating code to a target environment |
US10951644B1 (en) * | 2017-04-07 | 2021-03-16 | Comodo Security Solutions, Inc. | Auto-containment of potentially vulnerable applications |
US9892242B1 (en) | 2017-04-28 | 2018-02-13 | Global Tel*Link Corporation | Unified enterprise management of wireless devices in a controlled environment |
US10091656B1 (en) * | 2017-05-10 | 2018-10-02 | Global Tel*Link Corporation | Wireless system utilizing generic wireless devices in a controlled environment |
US10623389B2 (en) * | 2017-05-11 | 2020-04-14 | International Business Machines Corporation | Authenticating a device based on communication patterns in a group of devices |
US10887306B2 (en) | 2017-05-11 | 2021-01-05 | International Business Machines Corporation | Authenticating an unknown device based on relationships with other devices in a group of devices |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US20180332012A1 (en) * | 2017-05-12 | 2018-11-15 | International Business Machines Corporation | Post-compilation configuration management |
US11233634B1 (en) | 2017-06-23 | 2022-01-25 | Wells Fargo Bank, N.A. | Systems and methods for network authentication with a shared secret |
US11012441B2 (en) | 2017-06-30 | 2021-05-18 | Open Text Corporation | Hybrid authentication systems and methods |
CN107135234A (zh) * | 2017-07-03 | 2017-09-05 | 福建六壬网安股份有限公司 | 一种数据流量监听控制的方法和装置 |
US10708268B2 (en) * | 2017-07-31 | 2020-07-07 | Airwatch, Llc | Managing voice applications within a digital workspace |
JP6640798B2 (ja) * | 2017-07-31 | 2020-02-05 | グリー株式会社 | アプリケーション利用管理プログラム、アプリケーション利用管理方法、サーバ、管理用プログラム及び管理ユーザ端末 |
US10068398B1 (en) | 2017-08-03 | 2018-09-04 | Global Tel*Link Corporation | Release monitoring through check-in and tethering system |
US10705875B2 (en) | 2017-08-09 | 2020-07-07 | Servicenow, Inc. | Systems and methods for recomputing services |
US10097490B1 (en) | 2017-09-01 | 2018-10-09 | Global Tel*Link Corporation | Secure forum facilitator in controlled environment |
WO2019074481A1 (en) * | 2017-10-09 | 2019-04-18 | Hewlett-Packard Development Company, L.P. | DEVICE INSTALLATIONS WITHOUT DISPLAY |
US10592391B1 (en) | 2017-10-13 | 2020-03-17 | State Farm Mutual Automobile Insurance Company | Automated transaction and datasource configuration source code review |
US10585663B1 (en) | 2017-10-13 | 2020-03-10 | State Farm Mutual Automobile Insurance Company | Automated data store access source code review |
US20190141026A1 (en) * | 2017-11-07 | 2019-05-09 | General Electric Company | Blockchain based device authentication |
CN108111374B (zh) * | 2017-11-16 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | 同步设备列表的方法、装置、设备和计算机存储介质 |
CN110019267A (zh) * | 2017-11-21 | 2019-07-16 | 中国移动通信有限公司研究院 | 一种元数据更新方法、装置、系统、电子设备及存储介质 |
US10057243B1 (en) | 2017-11-30 | 2018-08-21 | Mocana Corporation | System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service |
US10657261B2 (en) * | 2017-11-30 | 2020-05-19 | Mocana Corporation | System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service |
EP3503092A1 (en) | 2017-12-21 | 2019-06-26 | Thomson Licensing | Method for establishing a link between a device and a speaker in a gateway, corresponding computer program computer and apparatus |
US10417232B2 (en) * | 2017-12-22 | 2019-09-17 | Microsoft Technology Licensing, Llc | Associating hardware to store applications |
CN108076069A (zh) * | 2017-12-28 | 2018-05-25 | 武汉虹旭信息技术有限责任公司 | 基于Android平台的移动办公安全系统及其方法 |
US11010739B2 (en) | 2017-12-29 | 2021-05-18 | Square, Inc. | Application programming interfaces for structuring distributed systems |
US11164172B2 (en) * | 2017-12-29 | 2021-11-02 | Square, Inc. | Application programming interfaces for structuring distributed systems |
US10346284B1 (en) * | 2018-01-11 | 2019-07-09 | Microsoft Technology Licensing, Llc | Feature usage prediction using shell application feature telemetry |
US11138251B2 (en) | 2018-01-12 | 2021-10-05 | Samsung Electronics Co., Ltd. | System to customize and view permissions, features, notifications, and updates from a cluster of applications |
CN108377258A (zh) * | 2018-01-16 | 2018-08-07 | 广州市信富信息科技有限公司 | 一种基于云服务器的远程多端协作方法及系统 |
CN110059475A (zh) * | 2018-01-18 | 2019-07-26 | 伊姆西Ip控股有限责任公司 | 用于数据保护的方法、设备和计算机程序产品 |
US11539748B2 (en) * | 2018-01-23 | 2022-12-27 | Zeronorth, Inc. | Monitoring and reporting enterprise level cybersecurity remediation |
US11121872B2 (en) | 2018-01-23 | 2021-09-14 | Zeronorth, Inc. | Trusted verification of cybersecurity remediation |
US10645094B2 (en) | 2018-02-16 | 2020-05-05 | Integrity Security Services Llc | Systems, methods, and devices for provisioning and processing geolocation information for computerized devices |
JP7254822B2 (ja) * | 2018-02-16 | 2023-04-10 | インテグリティ セキュリティ サービシーズ エルエルシー | コンピュータ化された装置の地理位置情報をプロビジョニング及び処理するためのシステム、方法、並びに装置 |
US10812276B2 (en) * | 2018-02-23 | 2020-10-20 | International Business Machines Corporation | Secure trust based distribution of digital certificates |
CN108363585A (zh) * | 2018-03-16 | 2018-08-03 | 福建深空信息技术有限公司 | 一种软件的升级文件网络下载方法 |
FR3079380A1 (fr) | 2018-03-26 | 2019-09-27 | Orange | Gestion securitaire d'un reseau de communication local comprenant au moins un objet communicant. |
US10817598B2 (en) | 2018-03-27 | 2020-10-27 | Bank Of America Corporation | Enhanced biometric data and systems for processing events using enhanced biometric data |
US10826896B2 (en) | 2018-03-27 | 2020-11-03 | Bank Of America Corporation | Enhanced biometric data and systems for processing events using enhanced biometric data |
US11128530B2 (en) | 2018-03-29 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | Container cluster management |
US10848552B2 (en) * | 2018-03-29 | 2020-11-24 | Hewlett Packard Enterprise Development Lp | Determining whether to perform address translation to forward a service request or deny a service request based on blocked service attributes in an IP table in a container-based computing cluster management system |
JP7081273B2 (ja) | 2018-03-30 | 2022-06-07 | ブラザー工業株式会社 | プログラム及び通信システム |
US11121942B2 (en) * | 2018-04-04 | 2021-09-14 | International Business Machines Corporation | Orchestration engine facilitating management of dynamic connection components |
JP7172108B2 (ja) | 2018-04-13 | 2022-11-16 | ブラザー工業株式会社 | プログラム及び通信システム |
JP7131044B2 (ja) | 2018-04-13 | 2022-09-06 | ブラザー工業株式会社 | プログラム及び通信システム |
JP7131045B2 (ja) | 2018-04-13 | 2022-09-06 | ブラザー工業株式会社 | プログラム及び通信システム |
MX2020010495A (es) | 2018-04-24 | 2020-10-28 | Spectrum Brands Inc | Provision de certificados para autenticacion de candado electronico a un servidor. |
US20190324743A1 (en) * | 2018-04-24 | 2019-10-24 | Cloud66 Inc. | Configuration file management |
US11513910B2 (en) * | 2018-04-26 | 2022-11-29 | EMC IP Holding Company LLC | Compliance as a service for multi-cloud backup systems |
EP3564873B1 (en) | 2018-04-30 | 2022-11-30 | Hewlett Packard Enterprise Development LP | System and method of decentralized machine learning using blockchain |
EP3564883B1 (en) * | 2018-04-30 | 2023-09-06 | Hewlett Packard Enterprise Development LP | System and method of decentralized management of device assets outside a computer network |
EP3565218B1 (en) | 2018-04-30 | 2023-09-27 | Hewlett Packard Enterprise Development LP | System and method of decentralized management of multi-owner nodes using blockchain |
CN108769149B (zh) * | 2018-05-14 | 2022-02-25 | 上海掌门科技有限公司 | 应用分区的处理方法、设备及计算机可读存储介质 |
CN112205015B (zh) * | 2018-05-29 | 2023-09-05 | 上海诺基亚贝尔股份有限公司 | 用于策略分发的方法、装置和计算机可读介质 |
US10318412B1 (en) * | 2018-06-29 | 2019-06-11 | The Travelers Indemnity Company | Systems, methods, and apparatus for dynamic software generation and testing |
US11122071B2 (en) * | 2018-06-29 | 2021-09-14 | Forescout Technologies, Inc. | Visibility and scanning of a variety of entities |
US10992680B2 (en) * | 2018-06-29 | 2021-04-27 | Sap Se | Authorization client management in a distributed computing environment |
CN108881456A (zh) * | 2018-06-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种数据交互系统、服务端及其数据交互方法及系统 |
US20200028879A1 (en) * | 2018-07-17 | 2020-01-23 | Microsoft Technology Licensing, Llc | Queryless device configuration determination-based techniques for mobile device management |
US10797965B2 (en) * | 2018-07-30 | 2020-10-06 | Dell Products L.P. | Dynamically selecting or creating a policy to throttle a portion of telemetry data |
US11036807B2 (en) | 2018-07-31 | 2021-06-15 | Marvell Asia Pte Ltd | Metadata generation at the storage edge |
US11184223B2 (en) | 2018-07-31 | 2021-11-23 | Microsoft Technology Licensing, Llc | Implementation of compliance settings by a mobile device for compliance with a configuration scenario |
CN109242252B (zh) | 2018-08-03 | 2020-09-04 | 张继升 | 一种智能服务平台及方法 |
US10915334B2 (en) * | 2018-08-21 | 2021-02-09 | Microsoft Technology Licensing, Llc | Enforcement of role-based constraints on the modification of components of a multi-user aware computing device |
US11243753B2 (en) * | 2018-09-24 | 2022-02-08 | Salesforce.Com, Inc. | Mobile app publishing for a responsive community experience |
US11138680B1 (en) | 2018-11-21 | 2021-10-05 | Square, Inc. | Updating menus based on predicted efficiencies |
US10740085B2 (en) * | 2018-11-30 | 2020-08-11 | Target Brands, Inc. | Webserver interface for deployment management tool |
WO2020117549A1 (en) | 2018-12-06 | 2020-06-11 | Mocana Corporation | System and method for zero touch provisioning of iot devices |
CN109547259A (zh) * | 2018-12-07 | 2019-03-29 | 东软集团股份有限公司 | 应用配置方法、装置、存储介质和电子设备 |
WO2020118573A1 (en) * | 2018-12-12 | 2020-06-18 | Siemens Aktiengesellschaft | Application configuration method, apparatus, system of industrial internet of things solution, computer software product, and readable medium |
CN109639688B (zh) * | 2018-12-18 | 2021-03-19 | 清创网御(合肥)科技有限公司 | 一种物联网安全防护系统及其防护方法 |
CN113170331A (zh) * | 2018-12-19 | 2021-07-23 | 瑞典爱立信有限公司 | 服务的用户配置 |
US10965547B1 (en) | 2018-12-26 | 2021-03-30 | BetterCloud, Inc. | Methods and systems to manage data objects in a cloud computing environment |
US10467426B1 (en) * | 2018-12-26 | 2019-11-05 | BetterCloud, Inc. | Methods and systems to manage data objects in a cloud computing environment |
CN109617698B (zh) * | 2019-01-09 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 发放数字证书的方法、数字证书颁发中心和介质 |
CN111479261B (zh) * | 2019-01-24 | 2022-11-18 | 成都鼎桥通信技术有限公司 | 一种ota流量自适应管理方法和设备 |
US11372386B2 (en) | 2019-01-25 | 2022-06-28 | Hubbell Incorporated | System and method for providing notifications |
US11627049B2 (en) * | 2019-01-31 | 2023-04-11 | Hewlett Packard Enterprise Development Lp | Failsafe firmware upgrade for cloud-managed devices |
RU2746105C2 (ru) | 2019-02-07 | 2021-04-07 | Акционерное общество "Лаборатория Касперского" | Система и способ конфигурирования шлюза для защиты автоматизированных систем |
RU2724796C1 (ru) | 2019-02-07 | 2020-06-25 | Акционерное общество "Лаборатория Касперского" | Система и способ защиты автоматизированных систем при помощи шлюза |
US10470059B1 (en) | 2019-03-04 | 2019-11-05 | Cisco Technology, Inc. | Dynamic network device selection for containerized application deployment |
US11288148B2 (en) | 2019-03-27 | 2022-03-29 | Nutanix, Inc. | Global entity distribution |
US10514905B1 (en) * | 2019-04-03 | 2019-12-24 | Anaconda, Inc. | System and method of remediating and redeploying out of compliance applications and cloud services |
US11290439B1 (en) | 2019-04-03 | 2022-03-29 | Snap Inc. | Multiple application list prioritization |
US20200344599A1 (en) * | 2019-04-29 | 2020-10-29 | Sonicwall Inc. | Streamlined creation and expansion of a wireless mesh network |
US10798084B1 (en) * | 2019-04-30 | 2020-10-06 | Sailpoint Technologies, Inc. | System and method for identity management of cloud based computing services in identity management artificial intelligence systems |
CN110166561B (zh) * | 2019-05-24 | 2022-04-15 | 北京旷视科技有限公司 | 可穿戴设备的数据处理方法、装置、系统、设备及介质 |
US10924353B2 (en) * | 2019-05-29 | 2021-02-16 | Cisco Technology, Inc. | Progressive refinement of device classifications using colored device and policy trees |
JP7363106B2 (ja) | 2019-06-03 | 2023-10-18 | ブラザー工業株式会社 | プログラム、情報処理装置、通信システム、及び通知情報の出力方法 |
JP7298311B2 (ja) * | 2019-06-03 | 2023-06-27 | ブラザー工業株式会社 | プログラム、情報処理装置、及び通信システム |
GB2589663B (en) | 2019-06-10 | 2024-04-10 | Fisher Rosemount Systems Inc | Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems |
US11231701B2 (en) | 2019-06-10 | 2022-01-25 | Fisher-Rosemount Systems, Inc. | Publish/subscribe protocol for real-time process control |
US11249464B2 (en) * | 2019-06-10 | 2022-02-15 | Fisher-Rosemount Systems, Inc. | Industrial control system architecture for real-time simulation and process control |
US11422543B2 (en) | 2019-06-10 | 2022-08-23 | Fisher-Rosemount Systems, Inc. | Virtualized real-time I/O in process control systems |
GB2589661A (en) | 2019-06-10 | 2021-06-09 | Fisher Rosemount Systems Inc | Virtualized real-time I/O in process control systems |
US10848966B1 (en) | 2019-06-12 | 2020-11-24 | Caterpillar Inc. | Wireless access system for controlling access to a device |
US11032381B2 (en) * | 2019-06-19 | 2021-06-08 | Servicenow, Inc. | Discovery and storage of resource tags |
CN110225050B (zh) * | 2019-06-20 | 2022-05-03 | 四川长虹电器股份有限公司 | Jwt令牌的管理方法 |
US10942728B2 (en) | 2019-07-15 | 2021-03-09 | Vmware, Inc. | Deploying device campaign updates to IoT devices |
US11537381B2 (en) * | 2019-07-15 | 2022-12-27 | International Business Machines Corporation | Quantum software developer kit and framework |
US10581851B1 (en) * | 2019-07-17 | 2020-03-03 | Capital One Services, Llc | Change monitoring and detection for a cloud computing environment |
US11645659B2 (en) | 2019-07-31 | 2023-05-09 | Nutanix, Inc. | Facilitating customers to define policies for their clouds |
CN110427751A (zh) * | 2019-08-06 | 2019-11-08 | 一号商机(北京)科技有限公司 | 一种数据管理系统 |
US11178110B2 (en) * | 2019-08-20 | 2021-11-16 | International Business Machines Corporation | Controlling compliance remediations |
US11770411B2 (en) * | 2019-09-23 | 2023-09-26 | Kyndryl, Inc. | Prioritize endpoint selection based on criteria |
EP3798754A1 (de) * | 2019-09-27 | 2021-03-31 | Siemens Schweiz AG | Verfahren zum automatischen anmelden eines benutzers an einem feldgerät und automationssystem |
US11258738B1 (en) * | 2019-09-27 | 2022-02-22 | Snap Inc. | Messaging system with circumstance configuration framework |
JP7363305B2 (ja) | 2019-09-30 | 2023-10-18 | ブラザー工業株式会社 | インストールパッケージ生成プログラム及びインストーラ |
JP2021057773A (ja) | 2019-09-30 | 2021-04-08 | ブラザー工業株式会社 | 中継処理プログラム、端末管理処理プログラム、中継装置、端末管理装置及び端末管理システム |
JP7434789B2 (ja) | 2019-09-30 | 2024-02-21 | ブラザー工業株式会社 | 端末管理システム |
WO2021070142A1 (en) * | 2019-10-10 | 2021-04-15 | Waters Technologies Ireland Limited | Application hub for applications for an analytical services platform |
US11190403B2 (en) * | 2019-10-22 | 2021-11-30 | Vmware, Inc. | Configuration management for co-management |
US11308050B2 (en) * | 2019-11-15 | 2022-04-19 | Bank Of America Corporation | Conversion mechanism for complex cohabitation databases |
US11792184B2 (en) | 2019-12-05 | 2023-10-17 | Microsoft Technology Licensing, Llc | Autopilot re-enrollment of managed devices |
US11290576B2 (en) * | 2019-12-27 | 2022-03-29 | Snap Inc. | Messaging system with circumstance configuration framework for hardware |
US11443320B2 (en) | 2020-01-07 | 2022-09-13 | Bank Of America Corporation | Intelligent systems for identifying transactions associated with an institution impacted by an event using a dashboard |
US11238459B2 (en) | 2020-01-07 | 2022-02-01 | Bank Of America Corporation | Intelligent systems for identifying transactions associated with an institution impacted by an event |
JP2021111846A (ja) | 2020-01-08 | 2021-08-02 | ブラザー工業株式会社 | 端末管理処理プログラム、端末管理装置及び端末管理システム |
JP7384039B2 (ja) | 2020-01-08 | 2023-11-21 | ブラザー工業株式会社 | 端末管理処理プログラム、端末管理装置及び端末管理システム |
JP7456160B2 (ja) | 2020-01-08 | 2024-03-27 | ブラザー工業株式会社 | 仲介プログラム、管理プログラム及びデバイス管理システム |
US11748835B2 (en) | 2020-01-27 | 2023-09-05 | Hewlett Packard Enterprise Development Lp | Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain |
US11218293B2 (en) | 2020-01-27 | 2022-01-04 | Hewlett Packard Enterprise Development Lp | Secure parameter merging using homomorphic encryption for swarm learning |
US11106452B2 (en) * | 2020-02-04 | 2021-08-31 | Arm Limited | Infrastructure for validating updates via a network of IoT-type devices |
US11533320B2 (en) * | 2020-03-04 | 2022-12-20 | Pulse Secure, Llc | Optimize compliance evaluation of endpoints |
CN111405058B (zh) * | 2020-03-24 | 2023-05-02 | 浪潮通用软件有限公司 | 一种多移动终端多租户应用通知方法、装置、设备和介质 |
US11150972B1 (en) | 2020-05-12 | 2021-10-19 | International Business Machines Corporation | Self-reporting and self-upgrading of enterprise systems |
CN112019495B (zh) * | 2020-05-28 | 2021-11-19 | 北京航空航天大学 | 广域虚拟数据空间账户动态映射机制与数据安全管控方法 |
US20210374234A1 (en) * | 2020-05-28 | 2021-12-02 | Red Hat, Inc. | Using trusted execution environments to perform a communal operation for mutually-untrusted devices |
US11947659B2 (en) | 2020-05-28 | 2024-04-02 | Red Hat, Inc. | Data distribution across multiple devices using a trusted execution environment in a mobile device |
US11456917B2 (en) * | 2020-06-01 | 2022-09-27 | Cisco Technology, Inc. | Analyzing deployed networks with respect to network solutions |
US11676158B2 (en) * | 2020-06-02 | 2023-06-13 | Kyndryl, Inc. | Automatic remediation of non-compliance events |
US11520573B2 (en) * | 2020-07-08 | 2022-12-06 | Vmware, Inc. | Guided application rollback and migration |
CN111859139A (zh) * | 2020-07-27 | 2020-10-30 | 中国工商银行股份有限公司 | 应用程序推荐方法、装置、计算设备和介质 |
CA3190049A1 (en) | 2020-08-18 | 2022-02-24 | Edera L3C | Change management system and method |
US11019106B1 (en) | 2020-09-22 | 2021-05-25 | Netskope, Inc. | Remotely accessed controlled contained environment |
US11848924B2 (en) * | 2020-10-12 | 2023-12-19 | Red Hat, Inc. | Multi-factor system-to-system authentication using secure execution environments |
US11537705B2 (en) * | 2020-10-27 | 2022-12-27 | Dell Products L.P. | Device access control system |
US11829493B2 (en) * | 2020-10-27 | 2023-11-28 | Dell Products L.P. | Device access control system |
US11693934B2 (en) * | 2020-11-27 | 2023-07-04 | EMC IP Holding Company LLC | Device protection using configuration lockdown mode |
US11516087B2 (en) * | 2020-11-30 | 2022-11-29 | Google Llc | Connecting processors using twisted torus configurations |
WO2022132950A1 (en) * | 2020-12-15 | 2022-06-23 | ClearVector, Inc. | Computer-implemented methods, systems comprising computer-readable media, and electronic devices for resource preservation and intervention within a network computing environment |
US11595445B2 (en) * | 2021-02-02 | 2023-02-28 | Sap Se | Unified authorization with data control language for cloud platforms |
CN113162905A (zh) * | 2021-02-26 | 2021-07-23 | 山东浪潮通软信息科技有限公司 | 一种企业移动设备的管控方法、设备及介质 |
US11956274B1 (en) * | 2021-03-02 | 2024-04-09 | Keysight Technologies, Inc. | System and method for implementing a secure configuration of controllers and instruments in a networked system |
US11620363B1 (en) | 2021-03-15 | 2023-04-04 | SHAYRE, Inc. | Systems and methods for authentication and authorization for software license management |
US11363050B1 (en) | 2021-03-25 | 2022-06-14 | Bank Of America Corporation | Information security system and method for incompliance detection in data transmission |
US11632362B1 (en) | 2021-04-14 | 2023-04-18 | SHAYRE, Inc. | Systems and methods for using JWTs for information security |
US11706209B2 (en) * | 2021-04-29 | 2023-07-18 | Delinea Inc. | Method and apparatus for securely managing computer process access to network resources through delegated system credentials |
US11184239B1 (en) | 2021-04-30 | 2021-11-23 | People Center, Inc. | Management of computing devices via reference to linked employee records |
WO2022232544A1 (en) * | 2021-04-30 | 2022-11-03 | People Center, Inc. | Improved management of computing devices via reference to linked employee records |
US11893548B2 (en) | 2021-04-30 | 2024-02-06 | People Center, Inc. | Management of computing devices using employee records |
US11294929B1 (en) | 2021-06-09 | 2022-04-05 | Aeec | Smart water data analytics |
US11621830B1 (en) | 2021-06-28 | 2023-04-04 | SHAYRE, Inc. | Systems and methods for facilitating asynchronous secured point-to-point communications |
US11863539B2 (en) * | 2021-07-30 | 2024-01-02 | Zoom Video Communications, Inc. | Encryption-based device enrollment |
CN113591068B (zh) * | 2021-08-03 | 2023-07-21 | 北京奇艺世纪科技有限公司 | 一种在线登录设备管理方法、装置及电子设备 |
US11785070B2 (en) * | 2021-10-22 | 2023-10-10 | Slcket, Inc. | Connected cloud applications |
US20230171241A1 (en) * | 2021-11-30 | 2023-06-01 | Bmc Software Israel Ltd | Security profile management for multi-cloud agent registration with multi-tenant, multi-cell service |
WO2023101660A1 (en) * | 2021-11-30 | 2023-06-08 | Hewlett-Packard Development Company, L.P. | Encrypted side-band communications |
CN114327389B (zh) * | 2021-12-24 | 2023-03-24 | 商派软件有限公司 | 应用管理方法、账号管理插件以及应用管理系统 |
US11956635B2 (en) * | 2022-01-20 | 2024-04-09 | Hewlett Packard Enterprise Development Lp | Authenticating a client device |
US11861376B2 (en) | 2022-01-26 | 2024-01-02 | Red Hat, Inc. | Live edit of configuration management execution |
US11750470B2 (en) * | 2022-02-10 | 2023-09-05 | Twilio Inc. | Update compliance information while in provisional state |
US11750459B1 (en) | 2022-04-13 | 2023-09-05 | International Business Machines Corporation | Compliance checking for a multi-cloud platform |
CN115016785B (zh) * | 2022-08-09 | 2022-11-11 | 杭州湛联科技有限公司 | 一种用于多环境共用的前端项目打包方法及装置 |
US20240073030A1 (en) * | 2022-08-26 | 2024-02-29 | Motorola Solutions, Inc. | Certificate entitlement licenses for authenticating public key infrastructure certificate enrollment |
US11695834B1 (en) * | 2022-12-01 | 2023-07-04 | Productiv, Inc. | SaaS application recommendation, approval, and fulfillment in a SaaS management platform |
US11652823B1 (en) * | 2022-12-19 | 2023-05-16 | Uab 360 It | Systems and methods for controlling access |
KR102644495B1 (ko) * | 2023-01-04 | 2024-03-06 | 김홍석 | SaaS 어플리케이션 통합 관리 시스템 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120129503A1 (en) | 2010-11-19 | 2012-05-24 | MobileIron, Inc. | Management of Mobile Applications |
US20130247028A1 (en) | 2005-09-09 | 2013-09-19 | Salesforce.Com, Inc | System, method and computer program product for validating one or more metadata objects |
JP2014503926A (ja) | 2011-02-01 | 2014-02-13 | サムスン エレクトロニクス カンパニー リミテッド | デジタルデバイスにおけるアプリケーション自動インストール機能を提供するための装置及び方法 |
Family Cites Families (136)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272545B1 (en) * | 1997-10-24 | 2001-08-07 | Microsoft Corporation | System and method for interaction between one or more desktop computers and one or more mobile devices |
AU4208800A (en) * | 1999-04-09 | 2000-11-14 | Edward A. Corlew | Remote data access and system control |
US6996720B1 (en) | 1999-12-17 | 2006-02-07 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US7080078B1 (en) | 2000-05-09 | 2006-07-18 | Sun Microsystems, Inc. | Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment |
US20050203673A1 (en) * | 2000-08-18 | 2005-09-15 | Hassanayn Machlab El-Hajj | Wireless communication framework |
IL159690A0 (en) * | 2001-07-06 | 2004-06-20 | Computer Ass Think Inc | Business process policy object |
JP2004062417A (ja) * | 2002-07-26 | 2004-02-26 | Nippon Telegr & Teleph Corp <Ntt> | 認証サーバ装置、サーバ装置、およびゲートウェイ装置 |
US20040054676A1 (en) * | 2002-09-16 | 2004-03-18 | Mcnally Jay M. | Systems and methods for automatically processing text information |
GB0314908D0 (en) * | 2003-06-26 | 2003-07-30 | Ibm | User access to a registry of business entity definitions |
US7448080B2 (en) * | 2003-06-30 | 2008-11-04 | Nokia, Inc. | Method for implementing secure corporate communication |
EP1498815A3 (en) * | 2003-06-30 | 2006-11-29 | Gravic, Inc. | Methods for ensuring referential integrity in multi-threaded replication engines |
GB2408415B (en) | 2003-11-19 | 2008-04-09 | Vodafone Plc | Networks |
US7409463B2 (en) | 2003-12-04 | 2008-08-05 | International Business Machines Corporation | On-demand active role-based software provisioning |
US7711796B2 (en) | 2006-06-12 | 2010-05-04 | Icontrol Networks, Inc. | Gateway registry methods and systems |
EP1748600A4 (en) | 2004-04-28 | 2013-03-06 | Jiaxun Feihong Electric Co Ltd | SYSTEM AND COMMUNICATION METHOD OF AN IP TELECOMMUNICATIONS NETWORK AND APPLICATION THEREOF |
US20060048142A1 (en) | 2004-09-02 | 2006-03-02 | Roese John J | System and method for rapid response network policy implementation |
US7620001B2 (en) | 2004-10-13 | 2009-11-17 | Good Technology, Inc. | Communication system and method with mobile devices |
WO2006063118A2 (en) | 2004-12-07 | 2006-06-15 | Pure Networks, Inc. | Network management |
US8565726B2 (en) | 2008-11-06 | 2013-10-22 | Mcafee, Inc. | System, method and device for mediating connections between policy source servers, corporate repositories, and mobile devices |
US8818331B2 (en) | 2005-04-29 | 2014-08-26 | Jasper Technologies, Inc. | Method for enabling a wireless device for geographically preferential services |
CA2615659A1 (en) | 2005-07-22 | 2007-05-10 | Yogesh Chunilal Rathod | Universal knowledge management and desktop search system |
US20070055752A1 (en) | 2005-09-08 | 2007-03-08 | Fiberlink | Dynamic network connection based on compliance |
US7853939B2 (en) * | 2005-09-21 | 2010-12-14 | Qwikker, Inc. | Device-aware content delivery |
US20070093243A1 (en) | 2005-10-25 | 2007-04-26 | Vivek Kapadekar | Device management system |
US7761503B2 (en) * | 2006-01-06 | 2010-07-20 | Microsoft Corporation | Peer distribution point feature for system management server |
US8296450B2 (en) * | 2006-03-21 | 2012-10-23 | Fortinet, Inc. | Delegated network management system and method of using the same |
US20090254392A1 (en) | 2006-03-30 | 2009-10-08 | Zander Van S | Method and system for enterprise network access control and management for government and corporate entities |
US8548452B2 (en) | 2006-04-13 | 2013-10-01 | Blackberry Limited | System and method for controlling device usage |
US20080059631A1 (en) * | 2006-07-07 | 2008-03-06 | Voddler, Inc. | Push-Pull Based Content Delivery System |
US7647324B2 (en) | 2006-08-01 | 2010-01-12 | Sentillion, Inc. | Methods and apparatus for managing user access to a computing environment |
US8037093B2 (en) * | 2006-09-12 | 2011-10-11 | Facebook, Inc. | Feeding updates to landing pages of users of an online social network from external sources |
US9798789B2 (en) * | 2006-09-12 | 2017-10-24 | Facebook, Inc. | Method and system for tracking changes to user content in an online social network |
EP1914957B1 (en) * | 2006-10-19 | 2012-10-03 | Research In Motion Limited | Method, system and apparatus for automatic notification to a plurality of communication nodes |
US8761895B2 (en) | 2008-03-20 | 2014-06-24 | Greatbatch Ltd. | RF activated AIMD telemetry transceiver |
US9209995B2 (en) | 2006-12-29 | 2015-12-08 | Prodea Systems, Inc. | Presence status notification from digital endpoint devices through a multi-services gateway device at the user premises |
US7805403B2 (en) * | 2007-01-07 | 2010-09-28 | Apple Inc. | Synchronization methods and systems |
WO2008102447A1 (ja) * | 2007-02-22 | 2008-08-28 | Fujitsu Limited | 監視装置、監視方法、監視プログラム |
US8595186B1 (en) | 2007-06-06 | 2013-11-26 | Plusmo LLC | System and method for building and delivering mobile widgets |
CN101075316A (zh) * | 2007-06-25 | 2007-11-21 | 陆航程 | 一种电子票证交易认证管理方法、载体结构、系统、终端 |
WO2009001447A1 (ja) * | 2007-06-27 | 2008-12-31 | Fujitsu Limited | 認証方法、認証システム、認証装置及びコンピュータプログラム |
EP2015179A1 (en) * | 2007-07-13 | 2009-01-14 | Alcatel Lucent | A remote management system and method for service objects |
US8103763B2 (en) * | 2007-08-24 | 2012-01-24 | Tibbo Technology | System for remote configuration, control, and monitoring of devices over computer network using central server |
JP5080912B2 (ja) * | 2007-09-06 | 2012-11-21 | キヤノン株式会社 | 画像形成装置およびネットワークデバイス管理方法及び画像形成装置管理システムとプログラム |
US8788589B2 (en) * | 2007-10-12 | 2014-07-22 | Watchitoo, Inc. | System and method for coordinating simultaneous edits of shared digital data |
US8607304B2 (en) * | 2008-03-07 | 2013-12-10 | At&T Mobility Ii Llc | System and method for policy-enabled mobile service gateway |
JP2009238191A (ja) * | 2008-03-28 | 2009-10-15 | Mitsubishi Electric Corp | Webアプリケーションシステム |
US8438559B2 (en) | 2008-04-18 | 2013-05-07 | Oracle America, Inc. | Method and system for platform-agnostic software installation |
US8869257B2 (en) | 2008-05-27 | 2014-10-21 | Open Invention Network, Llc | Identity selector for use with a user-portable device and method of use in a user-centric identity management system |
US8924469B2 (en) | 2008-06-05 | 2014-12-30 | Headwater Partners I Llc | Enterprise access control and accounting allocation for access networks |
US20100114618A1 (en) | 2008-10-30 | 2010-05-06 | Hewlett-Packard Development Company, L.P. | Management of Variants of Model of Service |
KR101647144B1 (ko) * | 2008-11-03 | 2016-08-23 | 삼성전자주식회사 | 원격 유저 인터페이스 서비스에서 리소스에 대한 제어 방법, 장치 및 그 저장 매체 |
JP2010128824A (ja) * | 2008-11-27 | 2010-06-10 | Hitachi Software Eng Co Ltd | ポリシーグループ識別子を利用したクライアント制御システム |
US8713173B2 (en) | 2008-12-19 | 2014-04-29 | Openpeak Inc. | System and method for ensuring compliance with organizational policies |
US8650290B2 (en) | 2008-12-19 | 2014-02-11 | Openpeak Inc. | Portable computing device and method of operation of same |
US8615581B2 (en) | 2008-12-19 | 2013-12-24 | Openpeak Inc. | System for managing devices and method of operation of same |
US8494641B2 (en) | 2009-04-22 | 2013-07-23 | Autonomic Technologies, Inc. | Implantable neurostimulator with integral hermetic electronic enclosure, circuit substrate, monolithic feed-through, lead assembly and anchoring mechanism |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US8086233B2 (en) | 2009-03-31 | 2011-12-27 | Cisco Technology, Inc. | Detecting cloning of network devices |
US8254890B2 (en) * | 2009-04-08 | 2012-08-28 | Research In Motion Limited | System and method for managing items in a list shared by a group of mobile devices |
US8725745B2 (en) * | 2009-04-13 | 2014-05-13 | Microsoft Corporation | Provision of applications to mobile devices |
US20110019626A1 (en) | 2009-07-24 | 2011-01-27 | Jeyhan Karaoguz | Method and system for network resource allocation based on a usage pattern |
US8842815B2 (en) | 2009-07-29 | 2014-09-23 | Comcast Cable Communications, Llc | Identity management and service access for local user group based on network-resident user profiles |
CN101989197A (zh) * | 2009-07-31 | 2011-03-23 | 中兴通讯股份有限公司 | 一种可实现web程序权限复用的系统及生成和访问此程序的方法 |
WO2011023228A1 (en) | 2009-08-27 | 2011-03-03 | Nokia Siemens Networks Oy | Identity management system |
CN101651743B (zh) * | 2009-09-10 | 2014-04-09 | 华耀(中国)科技有限公司 | 一种面向手机终端用户的远程桌面接入方法 |
US8606889B2 (en) * | 2010-01-21 | 2013-12-10 | Microsoft Corporation | Roaming application settings across multiple computing devices |
CA2794741A1 (en) | 2010-04-01 | 2011-10-06 | Research In Motion Limited | Methods and apparatus to collaboratively manage a client using multiple servers |
US8676756B2 (en) | 2010-05-17 | 2014-03-18 | Invensys Systems, Inc. | Replicating time-series data values for retrieved supervisory control and manufacturing parameter values in a multi-tiered historian server environment |
US8997196B2 (en) * | 2010-06-14 | 2015-03-31 | Microsoft Corporation | Flexible end-point compliance and strong authentication for distributed hybrid enterprises |
US8364642B1 (en) * | 2010-07-07 | 2013-01-29 | Palantir Technologies, Inc. | Managing disconnected investigations |
US8812685B2 (en) | 2010-07-16 | 2014-08-19 | At&T Intellectual Property I, L.P. | Advanced gateway device |
CA2715146C (en) * | 2010-09-17 | 2011-11-22 | Guest Tek Interactive Entertainment Ltd. | Configuration apparatus and method of configuring one or more devices having hidden configuration settings |
EP2619939A2 (en) | 2010-09-20 | 2013-07-31 | Rick L. Orsini | Systems and methods for secure data sharing |
JP5574905B2 (ja) * | 2010-10-08 | 2014-08-20 | 株式会社野村総合研究所 | モジュール配布システム |
GB201019618D0 (en) | 2010-10-19 | 2010-12-29 | Data Encryption Systems Ltd | Method of and appartus for distributing software objects |
US8959492B2 (en) * | 2010-12-14 | 2015-02-17 | Ngmoco, Llc | Communication protocol between a high-level language and a native language |
EP2659395A2 (en) * | 2010-12-28 | 2013-11-06 | Citrix Systems, Inc. | Systems and methods for database proxy request switching |
WO2012096963A1 (en) | 2011-01-10 | 2012-07-19 | Fiberlink Communications Corporation | System and method for extending cloud services into the customer premise |
US20120191769A1 (en) * | 2011-01-25 | 2012-07-26 | Microsoft Corporation | Site-aware distributed file system access from outside enterprise network |
WO2012109751A1 (en) | 2011-02-15 | 2012-08-23 | Research In Motion Limited | System and method for identity management for mobile devices |
JP5678751B2 (ja) * | 2011-03-18 | 2015-03-04 | 株式会社リコー | 検疫ネットワークシステム |
US10187494B2 (en) | 2011-04-26 | 2019-01-22 | Acumera, Inc. | Gateway device application development system |
GB201107978D0 (en) * | 2011-05-13 | 2011-06-29 | Antix Labs Ltd | Method of distibuting a multi-user software application |
GB2491392B (en) | 2011-06-02 | 2015-06-24 | Truphone Ltd | Identity management for mobile devices |
CN102262552B (zh) | 2011-07-06 | 2015-08-19 | 惠州Tcl移动通信有限公司 | 一种应用程序跨设备同步方法及系统 |
GB2494710B (en) | 2011-09-19 | 2015-06-24 | Truphone Ltd | Managing mobile device identities |
US8744980B2 (en) * | 2011-09-21 | 2014-06-03 | Dell Products Lp | Systems and methods for analysis of network equipment command line interface (CLI) and runtime management of user interface (UI) generation for same |
US9143529B2 (en) | 2011-10-11 | 2015-09-22 | Citrix Systems, Inc. | Modifying pre-existing mobile applications to implement enterprise security policies |
US20140032733A1 (en) | 2011-10-11 | 2014-01-30 | Citrix Systems, Inc. | Policy-Based Application Management |
US20140053234A1 (en) | 2011-10-11 | 2014-02-20 | Citrix Systems, Inc. | Policy-Based Application Management |
MX2014004959A (es) | 2011-10-29 | 2015-03-06 | Sweetspot Wifi | Sistema y metodo para la plataforma de ajuste del consumidor interativa basada en la ubicación. |
US9172608B2 (en) * | 2012-02-07 | 2015-10-27 | Cloudera, Inc. | Centralized configuration and monitoring of a distributed computing cluster |
US20130219307A1 (en) | 2012-02-21 | 2013-08-22 | Artisan Mobile, Inc. | System and method for runtime user interface management |
US20130232229A1 (en) * | 2012-03-02 | 2013-09-05 | Ilya Firman | Distribution of Application Files |
US9094309B2 (en) | 2012-03-13 | 2015-07-28 | International Business Machines Corporation | Detecting transparent network communication interception appliances |
CN104322031A (zh) | 2012-03-23 | 2015-01-28 | 网络存储技术公司 | 使用通过本地策略框架执行的策略指令实施针对企业网络的策略 |
US8997038B2 (en) * | 2012-03-30 | 2015-03-31 | Anypresence, Inc. | Systems and methods for building and deploying mobile applications |
CA2791935A1 (en) | 2012-03-30 | 2013-09-30 | Disternet Technology, Inc. | Transcoding system and method |
US9106661B1 (en) | 2012-04-11 | 2015-08-11 | Artemis Internet Inc. | Computing resource policy regime specification and verification |
US9609456B2 (en) * | 2012-05-14 | 2017-03-28 | Qualcomm Incorporated | Methods, devices, and systems for communicating behavioral analysis information |
US10541926B2 (en) | 2012-06-06 | 2020-01-21 | The Trustees Of Columbia University In The City Of New York | Unified networking system and device for heterogeneous mobile environments |
US9210619B2 (en) * | 2012-06-20 | 2015-12-08 | Ofinno Technologies, Llc | Signalling mechanisms for wireless device handover |
US8943197B1 (en) * | 2012-08-16 | 2015-01-27 | Amazon Technologies, Inc. | Automated content update notification |
US9087191B2 (en) * | 2012-08-24 | 2015-07-21 | Vmware, Inc. | Method and system for facilitating isolated workspace for applications |
US9451403B2 (en) | 2012-08-30 | 2016-09-20 | Ebay Inc. | Systems and method for configuring mobile device applications based on location |
US9197498B2 (en) | 2012-08-31 | 2015-11-24 | Cisco Technology, Inc. | Method for automatically applying access control policies based on device types of networked computing devices |
CN108600251B (zh) | 2012-09-18 | 2021-09-17 | 思杰系统有限公司 | 移动设备管理和安全 |
IL221975A (en) * | 2012-09-19 | 2015-02-26 | Tufin Software Technologies Ltd | A method and device for managing connectivity between resources in a computer network |
US9792004B2 (en) * | 2012-10-08 | 2017-10-17 | Fisher-Rosemount Systems, Inc. | Derived and linked definitions with override |
US9942753B2 (en) | 2012-10-22 | 2018-04-10 | Pervasive Group, Inc. | Method and system for monitoring and restricting use of mobile devices |
CN102984209B (zh) * | 2012-11-06 | 2016-01-27 | 王玉娇 | 一种应用程序的分发方法及其终端 |
AU2012395268B2 (en) * | 2012-11-22 | 2016-01-07 | Huawei Technologies Co., Ltd. | Application program distribution method, terminal and server |
US10235383B2 (en) * | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
RU2523113C1 (ru) * | 2012-12-25 | 2014-07-20 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ целевой установки сконфигурированного программного обеспечения |
US10089582B2 (en) * | 2013-01-02 | 2018-10-02 | Qualcomm Incorporated | Using normalized confidence values for classifying mobile device behaviors |
EP2757471A3 (en) | 2013-01-21 | 2015-03-11 | Samsung Electronics Co., Ltd | Computing system with support for ecosystem mechanism and method of operation thereof |
US9245128B2 (en) | 2013-03-06 | 2016-01-26 | Microsoft Technology Licensing, Llc | Limiting enterprise applications and settings on devices |
US9158518B2 (en) * | 2013-03-11 | 2015-10-13 | Blackberry Limited | Collaborative application development environment using a connected device |
US9400678B2 (en) | 2013-03-12 | 2016-07-26 | International Business Machines Corporation | Systems for selectively enabling and disabling hardware features |
US9369449B2 (en) * | 2013-03-29 | 2016-06-14 | Citrix Systems, Inc. | Providing an enterprise application store |
US9723058B2 (en) * | 2013-05-28 | 2017-08-01 | Vmware, Inc. | Dynamic registration of an application with an enterprise system |
US9607278B2 (en) * | 2013-06-12 | 2017-03-28 | Cloudon Ltd. | Systems and methods for supporting social productivity using relevancy scoring |
JP6161436B2 (ja) | 2013-07-03 | 2017-07-12 | キヤノン株式会社 | 印刷装置及びその制御方法、プログラム |
CN103442049B (zh) * | 2013-08-22 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种面向构件的混合型云操作系统体系结构及其通信方法 |
US9652362B2 (en) * | 2013-12-06 | 2017-05-16 | Qualcomm Incorporated | Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors |
KR20150068811A (ko) * | 2013-12-12 | 2015-06-22 | 삼성디스플레이 주식회사 | 표시 패널의 구동 방법 및 이를 수행하는 표시 장치 |
US9210183B2 (en) | 2013-12-19 | 2015-12-08 | Microsoft Technology Licensing, Llc | Detecting anomalous activity from accounts of an online service |
US9454434B2 (en) * | 2014-01-17 | 2016-09-27 | Netapp, Inc. | File system driven raid rebuild technique |
US9432405B2 (en) | 2014-03-03 | 2016-08-30 | Microsoft Technology Licensing, Llc | Communicating status regarding application of compliance policy updates |
US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
CN106462577B (zh) | 2014-03-31 | 2020-11-06 | 甲骨文国际公司 | 用于移动设备和移动云服务的同步的基础设施 |
US9700731B2 (en) | 2014-08-15 | 2017-07-11 | Axonics Modulation Technologies, Inc. | Antenna and methods of use for an implantable nerve stimulator |
WO2016045901A1 (en) | 2014-09-22 | 2016-03-31 | Asml Netherlands B.V. | Process window identifier |
US9729542B2 (en) | 2014-09-24 | 2017-08-08 | Oracle International Corporation | Compartmentalizing application distribution for disparate electronic devices |
WO2016046415A1 (en) | 2014-09-26 | 2016-03-31 | Dreica Ag | An apparatus for lifting and holding a human limb |
US9882726B2 (en) | 2015-05-22 | 2018-01-30 | Motorola Solutions, Inc. | Method and apparatus for initial certificate enrollment in a wireless communication system |
-
2015
- 2015-04-17 US US14/689,722 patent/US9729542B2/en active Active
- 2015-04-17 US US14/690,045 patent/US9749311B2/en active Active
- 2015-04-17 US US14/689,983 patent/US9781098B2/en active Active
- 2015-04-17 US US14/689,733 patent/US9535675B2/en active Active
- 2015-04-17 US US14/690,034 patent/US9652212B2/en active Active
- 2015-04-17 US US14/690,062 patent/US9692748B2/en active Active
- 2015-04-20 EP EP15723347.9A patent/EP3198422B1/en active Active
- 2015-04-20 JP JP2017515973A patent/JP6646048B2/ja active Active
- 2015-04-20 EP EP15721408.1A patent/EP3198421B1/en active Active
- 2015-04-20 WO PCT/US2015/026594 patent/WO2016048414A1/en active Application Filing
- 2015-04-20 WO PCT/US2015/026596 patent/WO2016048415A1/en active Application Filing
- 2015-04-20 KR KR1020177011062A patent/KR102300865B1/ko active IP Right Grant
- 2015-04-20 CN CN201580047019.4A patent/CN106664323B/zh active Active
- 2015-04-20 KR KR1020177011005A patent/KR102368195B1/ko active IP Right Grant
- 2015-04-20 CN CN201580045294.2A patent/CN107431721B/zh active Active
- 2015-04-20 CN CN201811528638.7A patent/CN109828761B/zh active Active
- 2015-04-20 WO PCT/US2015/026699 patent/WO2016048417A1/en active Application Filing
- 2015-04-20 JP JP2017514681A patent/JP6474890B2/ja active Active
- 2015-04-20 CN CN201580045976.3A patent/CN106605210B/zh active Active
- 2015-04-20 EP EP15721407.3A patent/EP3198420B1/en active Active
- 2015-04-20 CN CN202010940313.0A patent/CN112040004B/zh active Active
- 2015-04-20 KR KR1020177011021A patent/KR102313789B1/ko active IP Right Grant
- 2015-04-20 CN CN202010319947.4A patent/CN111541768B/zh active Active
- 2015-04-20 WO PCT/US2015/026697 patent/WO2016048416A1/en active Application Filing
- 2015-04-20 EP EP15721404.0A patent/EP3198419B1/en active Active
- 2015-04-20 KR KR1020227005113A patent/KR102505010B1/ko active IP Right Grant
- 2015-04-20 JP JP2017516125A patent/JP6499281B2/ja active Active
- 2015-04-20 CN CN201580045296.1A patent/CN107113326B/zh active Active
- 2015-04-20 JP JP2017516071A patent/JP6417035B2/ja active Active
- 2015-04-20 KR KR1020177010733A patent/KR102295830B1/ko active IP Right Grant
-
2016
- 2016-11-09 US US15/347,152 patent/US9813407B2/en active Active
-
2017
- 2017-03-31 US US15/476,906 patent/US10129109B2/en active Active
- 2017-05-22 US US15/601,832 patent/US10116647B2/en active Active
- 2017-08-23 US US15/684,142 patent/US10075429B2/en active Active
- 2017-10-19 US US15/787,935 patent/US10142327B2/en active Active
-
2018
- 2018-10-16 US US16/161,939 patent/US11089474B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130247028A1 (en) | 2005-09-09 | 2013-09-19 | Salesforce.Com, Inc | System, method and computer program product for validating one or more metadata objects |
US20120129503A1 (en) | 2010-11-19 | 2012-05-24 | MobileIron, Inc. | Management of Mobile Applications |
JP2014503926A (ja) | 2011-02-01 | 2014-02-13 | サムスン エレクトロニクス カンパニー リミテッド | デジタルデバイスにおけるアプリケーション自動インストール機能を提供するための装置及び方法 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102313789B1 (ko) | 이종 전자 디바이스들에 대한 애플리케이션 배포물의 구분 | |
US10372936B2 (en) | Shared identity management (IDM) integration in a multi-tenant computing environment | |
CN109478266B (zh) | 对于数据库供应的资源分配 | |
JP6539647B2 (ja) | データストリームのカスタムパーティション | |
US10462210B2 (en) | Techniques for automated installation, packing, and configuration of cloud storage services | |
US9912609B2 (en) | Placement policy-based allocation of computing resources | |
US11038861B2 (en) | Techniques for security artifacts management | |
US10942900B2 (en) | Techniques for tenant controlled visualizations and management of files in cloud storage systems | |
JP6871943B2 (ja) | モバイルクラウドサービスのための予め形成された命令 | |
US9672123B2 (en) | Deploying services on application server cloud with high availability | |
US9723025B2 (en) | Dependent entity provisioning | |
US10142371B2 (en) | Authorization policy customization and authorization policy lockdown | |
US10482404B2 (en) | Delegated privileged access grants | |
US20180081895A1 (en) | Stage file objects in a visual design tool for integration development | |
US20150200953A1 (en) | Managing temporal aspects of accounts and entitlements | |
US20150199535A1 (en) | Organization-based policies | |
US10015120B2 (en) | Providing message delivery services between requestors and providers | |
US20150199625A1 (en) | Logical and physical organization management | |
US10372488B2 (en) | Parallel processing using memory mapping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |