KR20240039547A - Apparatus and method for providing customized software - Google Patents

Apparatus and method for providing customized software Download PDF

Info

Publication number
KR20240039547A
KR20240039547A KR1020220125212A KR20220125212A KR20240039547A KR 20240039547 A KR20240039547 A KR 20240039547A KR 1020220125212 A KR1020220125212 A KR 1020220125212A KR 20220125212 A KR20220125212 A KR 20220125212A KR 20240039547 A KR20240039547 A KR 20240039547A
Authority
KR
South Korea
Prior art keywords
software
electronic device
information
operator
software information
Prior art date
Application number
KR1020220125212A
Other languages
Korean (ko)
Inventor
김영주
이정호
강규남
김수민
손동진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2023/014200 priority Critical patent/WO2024063516A1/en
Publication of KR20240039547A publication Critical patent/KR20240039547A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/654International mobile subscriber identity [IMSI] numbers

Abstract

일 실시 예에 따른 커스터마이징 소프트웨어 제공 장치는, 통신 모듈, 메모리, 및 프로세서를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하고, 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하고, 지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하고, 상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하도록 설정된 인스트럭션들을 저장할 수 있다.A customizing software providing device according to an embodiment includes a communication module, a memory, and a processor, wherein the memory, when executed, causes the processor to receive device information and software information of an electronic device through the communication module. , Identifying the existence of a designated operator associated with the electronic device based on the device information and the software information of the electronic device, and providing first software information to the electronic device if the designated operator does not exist, and providing the designated operator with first software information. If a business operator exists, the first software information is provided to the electronic device based on approval by the designated business operator, and if the business operator is not approved, the first software information is provided to the electronic device based on the request of the designated business operator. Instructions set to provide customized second software information may be stored.

Description

커스터마이징 소프트웨어 제공 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING CUSTOMIZED SOFTWARE}Apparatus and method for providing customized software {APPARATUS AND METHOD FOR PROVIDING CUSTOMIZED SOFTWARE}

본 개시는 소프트웨어 제공 장치 및 방법에 관한 것이다.This disclosure relates to a software provision apparatus and method.

전자 정보 통신 기술이 발달하면서 통신 장치 또는 전자 장치에 다양한 기능이 통합되고 있으며, 전자 장치가 다른 전자 장치와 통신을 통해 연동하는 연동 기능을 수행할 수도 있도록 구현되고 있다. 예를 들어, 전자 장치(예: 모바일 단말, 태블릿 단말 또는 웨어러블 전자 장치)는 통신 기능과 아울러, 다양한 다른 기능들을 소프트웨어 설치를 통해 가질 수 있도록 개발되고 있다. 전자 장치는 제조 시 디폴트로 설치된 소프트웨어뿐만 아니라 추가적인 소프트웨어의 설치를 통해 새로운 기능을 수행하거나 확장 또는 변경된 기능을 수행할 수 있다.As electronic information and communication technology develops, various functions are being integrated into communication devices or electronic devices, and electronic devices are being implemented to perform interlocking functions through communication with other electronic devices. For example, electronic devices (eg, mobile terminals, tablet terminals, or wearable electronic devices) are being developed to have communication functions as well as various other functions through software installation. Electronic devices can perform new functions or perform expanded or changed functions through the installation of additional software as well as software installed by default at the time of manufacture.

전자 장치는 제조 또는 출고 시 전자 장치에 기본적인 소프트웨어(예: 펌 웨어)가 탑재될 수 있고, 전자 장치가 통신 가능하도록 네트워크에 등록 시 전자 장치와 연관된 사업자(예: 네트워크 사업자 또는 통신망 사업자) 또는 전자 장치의 통신 지역(예: 국가 또는 권역)에 따라 추가적인 소프트웨어의 설치가 필요할 수 있다. When an electronic device is manufactured or shipped, basic software (e.g. firmware) may be installed on the electronic device, and when the electronic device is registered on a network to enable communication, the operator associated with the electronic device (e.g. a network operator or communication network operator) or an electronic device may be installed on the electronic device. Depending on your device's coverage area (e.g. country or region), additional software may need to be installed.

전자 장치에 설치될 추가적인 소프트웨어는 전자 장치와 연관된 네트워크 사업자 또는 전자 장치의 통신 지역별로 서로 다른 요구사항의 반영이 필요할 수 있다. 예를 들면, 소프트웨어 제공자(예: 소프트웨어 제공 장치)는 지정된 통신 지역에 대응하는 추가적인 소프트웨어(예: 디폴트 소프트웨어 또는 오픈향 소프트웨어) 발행 후, 지정된 통신 지역의 네트워크 사업자들 각각의 요구에 따라 디폴트 소프트웨어를 네트워크 사업자들 각각의 버전으로 커스터마이징한 소프트웨어(예: 커스터마이징 소프트웨어 또는 사업자향 소프트웨어)를 획득 및 저장할 수 있다. 예를 들면, 소프트웨어 제공자는 제1 통신 지역에 대응하는 제1 디폴트 소프트웨어 발행 후, 제1 통신 지역의 제1 네트워크 사업자의 요구에 따라 제1 소프트웨어를 커스터마이징한 제1 커스터마이징 소프트웨어를 획득 및 저장하고, 제1 통신 지역의 제2 네트워크 사업자의 요구에 따라 제1 소프트웨어를 커스터마이징한 제2 커스터마이징 소프트웨어를 획득 및 저장할 수 있다.Additional software to be installed in the electronic device may need to reflect different requirements depending on the network operator associated with the electronic device or the communication region of the electronic device. For example, a software provider (e.g., a software provision device) issues additional software (e.g., default software or open-oriented software) corresponding to a designated communication area and then provides the default software according to the needs of each network operator in the designated communication area. Software customized to each version of each network operator (e.g., customized software or operator-oriented software) can be acquired and stored. For example, after issuing first default software corresponding to a first communication area, the software provider acquires and stores first customized software that customizes the first software according to the needs of the first network operator of the first communication area; A second customized software that customizes the first software can be obtained and stored according to the needs of a second network operator in the first communication area.

네트워크 사업자의 요구에 따른 커스터마이징 소프트웨어에 대해서는 네트워크 사업자가 요구사항이 잘 반영되었는지 확인하여 승인하는 과정이 필요할 수 있다. 커스터마이징 소프트웨어에 대한 네트워크 사업자의 승인 여부 확인 과정이 없다면 소프트웨어 제공자는 커스터마이징 소프트웨어를 네트워크 사업자의 승인 여부와 관계없이 전자 장치에 제공하게 될 수 있다. 커스터마이징 소프트웨어가 네트워크 사업자에 의해 미승인된 상태에서 전자 장치에 제공되는 경우 미승인된 커스터마이징 소프트웨어에 오류가 발생하면 소프트웨어 제공자가 책임을 져야되는 상황이 발생할 수 있다. 커스터마이징 소프트웨어에 대한 네트워크 사업자의 승인이 완료될 때까지 기다리는 경우 승인이 늦어진다면 소프트웨어 제공자의 커스터마이징 소프트웨어 공급도 지연될 수 있다. 커스터마이징 소프트웨어에 대한 네트워크 사업자의 승인 거절이 발생하거나 커스터마이징 소프트웨어에 대한 추가 커스터마이징 요구가 발생한 경우 추가 커스터마이징 작업으로 인한 비용이 발생할 수 있다. Customized software tailored to the network operator's needs may require a process for the network operator to confirm and approve whether the requirements have been well reflected. If there is no process to confirm whether the network operator approves the customized software, the software provider may provide the customized software to the electronic device regardless of whether the network operator approves it or not. If customizing software is provided to an electronic device without approval by the network operator, a situation may arise in which the software provider is responsible if an error occurs in the unapproved customizing software. If you wait until the network operator's approval for customized software is completed, if the approval is delayed, the software provider's supply of customized software may also be delayed. If the network operator's approval for customized software is rejected or additional customization requests are made for the customized software, costs may be incurred due to additional customization work.

일 실시 예에 따른 커스터마이징 소프트웨어 제공 장치는, 통신 모듈, 메모리, 및 프로세서를 포함할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 상기 프로세서가, 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 상기 프로세서가, 지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 상기 프로세서가, 상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하도록 설정된 인스트럭션들을 저장할 수 있다.A customizing software provision device according to an embodiment may include a communication module, memory, and a processor. The memory according to one embodiment may store instructions that are set to enable the processor to receive device information and software information of an electronic device through the communication module when executed. The memory according to one embodiment may store instructions that, when executed, allow the processor to identify the presence or absence of a designated business operator associated with the electronic device based on the device information and the software information of the electronic device. The memory according to one embodiment may store instructions that, when executed, are set so that the processor provides first software information to the electronic device when a designated operator does not exist. In the memory according to one embodiment, when executed, the processor provides the first software information to the electronic device when the designated operator is not approved based on whether or not the designated operator approves if the designated operator exists, and provides the first software information to the electronic device when the operator is not approved. Instructions set to provide second software information customized to the first software based on the needs of the designated business operator may be stored in the electronic device.

일 실시예에 따른 전자 장치는 통신 모듈, 메모리, 및 프로세서를 포함할 수 있다. 일 실시예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 소프트웨어 제공 장치에 전송하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 소프트웨어 제공 장치로부터 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 대응된 소프트웨어 정보를 수신하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 수신된 소프트웨어 정보가 제1 소프트웨어 정보인지 상기 제1 소프트웨어에 대해 지정된 사업자의 요구에 기반하여 커스터마이징된 제2 소프트웨어 정보인지 식별하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 제1 소프트웨어 정보에 기반하여 제1 소프트웨어를 설치하거나, 상기 제2 소프트웨어 정보에 기반하여 제2 소프트웨어를 설치하도록 설정된 인스트럭션들을 저장할 수 있다.An electronic device according to one embodiment may include a communication module, memory, and a processor. The memory according to one embodiment may store instructions that, when executed, are set to cause the processor to transmit device information and software information of the electronic device to a software provision device through the communication module. The memory according to an embodiment may store instructions that, when executed, are set to enable the processor to receive software information corresponding to the device information and the software information of the electronic device from the software providing device. The memory according to one embodiment is such that, when executed, the processor identifies whether the received software information is first software information or second software information customized based on the needs of a business operator designated for the first software. You can save set instructions. The memory according to one embodiment stores instructions that, when executed, are set to cause the processor to install first software based on the first software information or install second software based on the second software information. You can.

일 실시예에 따른 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 통신 모듈을 통해 전자 장치로부터 상기 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하는 동작, 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하는 동작, 지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하는 동작, 및 상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하는 동작을 포함할 수 있다.In a non-volatile storage medium storing instructions according to an embodiment, the instructions are set to cause the electronic device to perform at least one operation when executed by the electronic device, and the at least one operation includes a communication module. An operation of receiving device information and software information of the electronic device from the electronic device through an operation of identifying the presence or absence of a designated operator associated with the electronic device based on the device information and software information of the electronic device, a designated operator An operation of providing first software information to the electronic device when there is no operator, and if the designated operator exists, providing the first software information to the electronic device when the operator is not approved based on whether or not the designated operator approves the operation. , Upon approval by the business operator, the operation may include providing second software information that customizes the first software to the electronic device based on the needs of the designated business operator.

본 개시의 실시 예에 따르면, 네트워크 사업자의 요구에 따라 커스터마이징 소프트웨어에 대해서 승인 여부 확인 과정을 제공할 수 있다. According to an embodiment of the present disclosure, an approval confirmation process can be provided for customizing software according to the needs of the network operator.

본 개시의 실시 예에 따르면, 커스터마이징 소프트웨어가 네트워크 사업자에 의해 미승인된 상태에서 전자 장치에 제공되는 것을 방지할 수 있다.According to an embodiment of the present disclosure, it is possible to prevent customizing software from being provided to an electronic device in a state that is not approved by the network operator.

본 개시의 실시 예에 따르면, 커스터마이징 소프트웨어에 대한 네트워크 사업자의 승인이 늦어지더라도 커스터마이징 소프트웨어 대신 디폴트 소프트웨어를 제공한 후 추후 승인 시 커스터마이징 소프트웨어를 제공할 수 있다.According to an embodiment of the present disclosure, even if the network operator's approval of the customized software is delayed, the default software can be provided instead of the customized software, and then the customized software can be provided upon later approval.

본 개시의 실시 예에 따르면, 커스터마이징 소프트웨어에 대한 네트워크 사업자의 승인 거절이 발생하거나 커스터마이징 소프트웨어에 대한 추가 커스터마이징 요구가 발생하더라도 디폴트 소프트웨어가 제공된 상태에서 커스터마이징 소프트웨어의 수정이 이루어질 수 있기 때문에 추가 커스터마이징 작업의 부담이 적을 수 있다. According to an embodiment of the present disclosure, even if the network operator refuses approval for the customized software or a request for additional customization occurs, the customization software can be modified while the default software is provided, thereby reducing the burden of additional customization work. You can write this down.

도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시 예에 따른 전자 장치와 소프트웨어 제공 시스템 구성의 일 예를 도시한 도면이다.
도 3은 일 실시예에 따른 소프트웨어 제공 장치의 블록도이다.
도 4는 일 실시예에 따른 소프트웨어 제공 동작의 일 예를 도시한 흐름도이다.
도 5는 일 실시예에 따른 전자 장치의 소프트웨어 버전에 기반한 소프트웨어 제공 동작의 일 예를 도시한 흐름도이다.
도 6은 일 실시예에 따른 전자 장치에서 소프트웨어를 제공받아 설치하는 동작의 예를 도시한 흐름도이다.
도 7a는 일 실시예에 따른 전자 장치에서 디폴트 소프트웨어 설치 시 표시되는 제1 화면을 나타낸 도면이다.
도 7b는 일 실시예에 따른 전자 장치에서 커스터마이징 소프트웨어 설치 시 표시되는 제2 화면을 나타낸 도면이다.
도 8a는 일 실시예에 따른 전자 장치에서 디폴트 소프트웨어 설치 시 표시되는 제1 홈 스크린 배경 및 제1 앱 배치를 나타낸 도면이다.
도 8b는 일 실시예에 따른 전자 장치에서 커스터마이징 소프트웨어 설치 시 표시되는 제2 홈 스크린 배경 및 제2 앱 배치를 나타낸 도면이다.
1 is a block diagram of an electronic device in a network environment according to an embodiment.
FIG. 2 is a diagram illustrating an example of the configuration of an electronic device and a software provision system according to an embodiment.
Figure 3 is a block diagram of a software provision device according to an embodiment.
Figure 4 is a flowchart illustrating an example of a software provision operation according to an embodiment.
FIG. 5 is a flowchart illustrating an example of a software provision operation based on the software version of an electronic device according to an embodiment.
FIG. 6 is a flowchart illustrating an example of an operation of receiving and installing software in an electronic device according to an embodiment.
FIG. 7A is a diagram illustrating a first screen displayed when installing default software in an electronic device according to an embodiment.
FIG. 7B is a diagram illustrating a second screen displayed when customizing software is installed in an electronic device according to an embodiment.
FIG. 8A is a diagram illustrating the first home screen background and first app arrangement displayed when default software is installed in an electronic device according to an embodiment.
FIG. 8B is a diagram illustrating a second home screen background and second app arrangement displayed when customizing software is installed in an electronic device according to an embodiment.

이하, 첨부된 도면들을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예를 들어, 인공지능 전자 장치)를 지칭할 수 있다.Hereinafter, electronic devices according to various embodiments will be described with reference to the attached drawings. The term user used in various embodiments may refer to a person using an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.

본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시예들을 배제하도록 해석될 수 없다.Terms used in this document are merely used to describe specific embodiments and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions, unless the context clearly indicates otherwise. All terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by a person of ordinary skill in the technical field of the present invention. Terms defined in commonly used dictionaries can be interpreted as having the same or similar meaning as the meaning they have in the context of the related technology, and unless clearly defined in this document, they are not interpreted in an ideal or excessively formal sense. . In some cases, even terms defined in this document cannot be interpreted to exclude embodiments of the present invention.

도 1은, 일 실시 예에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록 도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, according to one embodiment. Referring to FIG. 1, in the network environment 100, the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108. According to one embodiment, the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197. In some embodiments, at least one of these components (eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101. In some embodiments, some of these components (e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134. According to one embodiment, the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor). For example, if the electronic device 101 includes a main processor 121 and a secondary processor 123, the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can. The auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.The auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled. According to one embodiment, co-processor 123 (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module 180 or communication module 190). there is. According to one embodiment, the auxiliary processor 123 (eg, neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108). Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited. An artificial intelligence model may include multiple artificial neural network layers. Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above. In addition to hardware structures, artificial intelligence models may additionally or alternatively include software structures.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto. Memory 130 may include volatile memory 132 or non-volatile memory 134.

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. The input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user). The input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output module 155 may output sound signals to the outside of the electronic device 101. The sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user). The display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device. According to one embodiment, the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do. According to one embodiment, the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.

인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102). According to one embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102). According to one embodiment, the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module 180 can capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 can manage power supplied to the electronic device 101. According to one embodiment, the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 101. According to one embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module 190 is a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included. Among these communication modules, the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN). These various types of communication modules may be integrated into one component (e.g., a single chip) or may be implemented as a plurality of separate components (e.g., multiple chips). The wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199. The electronic device 101 can be confirmed or authenticated.

무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology). NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported. The wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates. The wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199). According to one embodiment, the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC. Example: Downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less) can be supported.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다. The antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device). According to one embodiment, the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is, for example, connected to the plurality of antennas by the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna. According to some embodiments, in addition to the radiator, other components (eg, radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module 197.

일 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to one embodiment, the antenna module 197 may form a mmWave antenna module. According to one embodiment, a mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( (e.g. commands or data) can be exchanged with each other.

일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다. According to one embodiment, commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199. Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101. According to one embodiment, all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108. For example, when the electronic device 101 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 may perform the function or service instead of executing the function or service on its own. Alternatively, or additionally, one or more external electronic devices may be requested to perform at least part of the function or service. One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology can be used. The electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device 104 may include an Internet of Things (IoT) device. Server 108 may be an intelligent server using machine learning and/or neural networks. According to one embodiment, the external electronic device 104 or server 108 may be included in the second network 199. The electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

도 2는 일 실시 예에 따른 전자 장치와 소프트웨어 제공 시스템(200) 구성의 일 예를 도시한 도면이다. FIG. 2 is a diagram illustrating an example of the configuration of an electronic device and a software provision system 200 according to an embodiment.

도 2를 참조하면, 일 실시예에 따른 전자 장치(201)는 제조 또는 출고 시 기본적인 소프트웨어(예: 펌 웨어)가 탑재될 수 있다. 일 실시예에 따른 전자 장치(201)는 통신 가능하도록 네트워크에 등록 시 전자 장치(201)와 연관된 사업자(예: 네트워크 사업자 또는 통신망 사업자) 또는 전자 장치의 통신 지역(예: 국가 또는 권역)에 따라 소프트웨어 제공 시스템(200)(또는 소프트웨어 제공 장치(또는 소프트웨어 제공 서버)(208))로부터 추가적인 소프트웨어를 제공받아 설치할 수 있다.Referring to FIG. 2, the electronic device 201 according to an embodiment may be equipped with basic software (eg, firmware) when manufactured or shipped. According to one embodiment, when registering the electronic device 201 on a network to enable communication, the electronic device 201 may be registered according to the operator associated with the electronic device 201 (e.g., network operator or communication network operator) or the communication region (e.g., country or region) of the electronic device. Additional software may be provided and installed from the software provision system 200 (or software provision device (or software provision server) 208).

일 실시예에 따른 전자 장치(201)에 설치될 추가적인 소프트웨어는 전자 장치(201)와 연관된 사업자 또는 전자 장치(201)의 통신 지역별로 서로 다른 요구사항이 반영된 소프트웨어일 수 있다. 예를 들면, 소프트웨어 제공 시스템(200)은 지정된 국가에 대응하는 추가적인 소프트웨어(예: 디폴트 소프트웨어 또는 오픈향 소프트웨어) 발행 후, 사업자들 각각의 요구에 따라 디폴트 소프트웨어를 네트워크 사업자들 각각의 버전으로 커스터마이징한 소프트웨어(예: 커스터마이징 소프트웨어 또는 사업자향 소프트웨어)를 획득, 저장, 관리, 및 또는 제공할 수 있다. 예를 들면, 소프트웨어 제공 시스템(200)은 제1 통신 지역에 대응하는 제1 디폴트 소프트웨어 발행 후, 제1 네트워크 사업자의 요구에 따라 제1 소프트웨어를 커스터마이징한 제1 커스터마이징 소프트웨어를 획득, 저장, 관리, 및 또는 제공할 수 있고, 제2 네트워크 사업자의 요구에 따라 제1 소프트웨어를 커스터마이징한 제2 커스터마이징 소프트웨어를 획득, 저장, 관리, 및 또는 제공할 수 있다.Additional software to be installed in the electronic device 201 according to an embodiment may be software that reflects different requirements depending on the business operator associated with the electronic device 201 or the communication region of the electronic device 201. For example, the software provision system 200 issues additional software (e.g., default software or open-oriented software) corresponding to a designated country, and then customizes the default software into a version for each network operator according to the needs of each operator. Obtain, store, manage, and/or provide software (e.g., custom software or business-facing software). For example, the software provision system 200 obtains, stores, and manages first customized software that customizes the first software according to the needs of the first network operator after issuing the first default software corresponding to the first communication area. and/or may provide, and may acquire, store, manage, and/or provide second customized software that customizes the first software according to the needs of the second network operator.

일 실시예에 따른 소프트웨어 제공 시스템(200)은 전자 장치(201)에 제공될 소프트웨어들(예: 디폴트 소프트웨어 또는 커스터마이징 소프트웨어) 각각을 저장, 관리, 및/또는 전송할 수 있다. The software provision system 200 according to an embodiment may store, manage, and/or transmit each of the software (eg, default software or customized software) to be provided to the electronic device 201.

일 실시예에 따른 소프트웨어 제공 시스템(200)은 소프트웨어 제공 장치(또는 소프트웨어 제공 서버 또는 서버)(208), 셀인(sell-in) 정보 저장부(210), 셀인 정보 관리 서버(212), 사업자 승인 정보 저장부(220), 사업자 승인 정보 관리 서버(222), 지역 코드 저장부(230), 디폴트 소프트웨어 정보 저장부(240), 커스터마이징 소프트웨어 정보 저장부(250), 및/또는 커스터마이징 소프트웨어 관리 서버(252)를 포함할 수 있다.The software provision system 200 according to one embodiment includes a software provision device (or software provision server or servers) 208, a sell-in information storage unit 210, a sell-in information management server 212, and a business operator approval. Information storage unit 220, business approved information management server 222, area code storage unit 230, default software information storage unit 240, custom software information storage unit 250, and/or custom software management server ( 252) may be included.

일 실시예에 따른 셀인 정보 저장부(210)는 셀인 정보를 저장할 수 있다. 예를 들면, 셀인 정보는 전자 장치(201)가 판매된 지역 정보 또는 네트워크 사업자 정보를 포함할 수 있다. 일 실시예에 따르면 지역 정보는 국가 코드를 포함할 수 있다. 예를 들면, 국가 코드는 한국, 독일, 프랑스, 또는 영국을 포함하는 복수의 국가들 중 하나의 국가를 나타내는 코드를 포함할 수 있다. 예를 들면, 네트워크 사업자 정보는 사업자 코드를 포함할 수 있으며, 사업자 코드는 보다폰, sk텔레콤, lg텔레콤, 또는 kt를 포함하는 복수의 네트워크 사업자들 중 하나의 네트워크 사업자를 나타내는 코드를 포함할 수 있다. The cell-in information storage unit 210 according to one embodiment may store cell-in information. For example, cell-in information may include regional information or network operator information where the electronic device 201 is sold. According to one embodiment, local information may include a country code. For example, the country code may include a code representing one of a plurality of countries including Korea, Germany, France, or the United Kingdom. For example, network operator information may include an operator code, and the operator code may include a code representing one network operator among a plurality of network operators including Vodafone, SK Telecom, LG Telecom, or KT. there is.

일 실시예에 따른 셀인 정보 관리 서버(212)는 전자 장치(201)의 셀인에 기반하여 셀인 정보를 생성하거나, 셀인 정보 저장부(210)에 저장하거나 셀인 정보 저장부(210)에 저장된 셀인 정보를 관리(추가 또는 삭제 또는 업데이트)할 수 있다.The cell-in information management server 212 according to an embodiment generates cell-in information based on the cell-in of the electronic device 201, stores it in the cell-in information storage unit 210, or stores cell-in information stored in the cell-in information storage unit 210. You can manage (add or delete or update).

일 실시예에 따른 사업자 승인 정보 저장부(220)는 사업자 승인 버전을 저장할 수 있다. 예를 들면, 사업자 승인 정보 저장부(220)는 사업자별 승인된 소프트웨어 버전 정보를 저장할 수 있다. 예를 들면, 사업자 승인 정보 저장부(220)는 제1 사업자에 의해 승인된 제1 소프트웨어 버전 및/또는 제2 사업자에 의해 승인된 제2 소프트웨어 버전을 저장할 수 있다.The business approval information storage unit 220 according to one embodiment may store the business approval version. For example, the business approval information storage unit 220 may store approved software version information for each business operator. For example, the business approval information storage unit 220 may store a first software version approved by a first business operator and/or a second software version approved by a second business operator.

일 실시예에 따른 사업자 승인 정보 관리 서버(222)는 각 사업자의 소프트웨어 버전 승인 여부에 기반하여 사업자별 승인된 소프트웨어 버전 정보를 생성하거나, 사업자별 승인된 소프트웨어 버전 정보를 사업자 승인 정보 저장부(220)에 저장하거나 사업자 승인 정보 저장부(220)에 저장된 사업자별 승인된 소프트웨어 버전 정보를 관리(추가 또는 삭제 또는 업데이트)할 수 있다.The operator approval information management server 222 according to an embodiment generates approved software version information for each operator based on whether each operator has approved the software version, or stores the approved software version information for each operator in the operator approval information storage unit 220. ) or the approved software version information for each operator stored in the operator approval information storage unit 220 can be managed (added, deleted, or updated).

일 실시예에 따른 지역 코드 저장부(230)는 사업자 코드에 대응하는 국가 코드를 저장할 수 있다. 예를 들면, 사업자 코드가 독일 지역의 사업자인 경우 사업자 코드에 대응하는 국가 코드를 독일 코드로 저장할 수 있다. The area code storage unit 230 according to one embodiment may store a country code corresponding to the business code. For example, if the business code is a business in Germany, the country code corresponding to the business code can be saved as a German code.

일 실시예에 따른 디폴트 소프트웨어 정보 저장부(240)는 디폴트 소프트웨어(또는 오픈향 소프트웨어)의 정보를 저장할 수 있다. 예를 들면, 디폴트 소프트웨어 정보 저장부(240)는 지역 정보(또는 국가 코드)별 디폴트 소프트웨어 자체 및/또는 지역 정보(또는 국가 코드)별 디폴트 소프트웨어가 저장된 주소를 저장할 수 있다.The default software information storage unit 240 according to one embodiment may store information on default software (or open software). For example, the default software information storage unit 240 may store the default software itself for each region information (or country code) and/or the address where the default software for each region information (or country code) is stored.

일 실시예에 따른 커스터마이징 소프트웨어 정보 저장부(250)는 커스터마이징 소프트웨어(또는 사업자향 소프트웨어)의 정보를 저장할 수 있다. 예를 들면, 커스터마이징 소프트웨어 정보 저장부(240)는 사업자 코드별 커스터마이징 소프트웨어 자체 및/또는 사업자 코드별 커스터마이징 소프트웨어가 저장된 주소를 저장할 수 있다.The customizing software information storage unit 250 according to one embodiment may store information on customizing software (or business-oriented software). For example, the customizing software information storage unit 240 may store the customizing software itself for each business code and/or the address where the customizing software for each business code is stored.

일 실시예에 따른 커스터마이징 소프트웨어 관리 서버(252)는 사업자 코드별 커스터마이징 소프트웨어 자체 및/또는 사업자 코드별 커스터마이징 소프트웨어가 저장된 주소를 커스터마이징 소프트웨어 정보 저장부(250)를 통해 관리(추가 또는 삭제 또는 업데이트)할 수 있다.The customizing software management server 252 according to one embodiment manages (adds, deletes, or updates) the customizing software itself for each business code and/or the address where the customizing software for each business code is stored through the customizing software information storage unit 250. You can.

상기 설명에서는 일 실시예에 따라 소프트웨어 제공 시스템(200)이 소프트웨어 제공 장치(208), 셀인 정보 저장부(210), 셀인 정보 관리 서버(212), 사업자 승인 정보 저장부(220), 사업자 승인 정보 관리 서버(222), 지역 코드 저장부(230), 디폴트 소프트웨어 정보 저장부(240), 커스터마이징 소프트웨어 정보 저장부(250), 및/또는 커스터마이징 소프트웨어 관리 서버(252)를 포함하는 것으로 설명하였으나, 소프트웨어 제공 시스템(200)의 각 구성 요소들의 동작과 정보 저장은 적어도 하나의 프로세서, 적어도 하나의 메모리, 및/또는 적어도 하나의 통신 모듈에 의해 수행될 수 있다. 예를 들면, 소프트웨어 제공 시스템(200)은 적어도 하나의 프로세서, 적어도 하나의 메모리 및 적어도 하나의 통신 모듈을 포함하고, 적어도 하나의 프로세서, 적어도 하나의 메모리 및 적어도 하나의 통신부(또는 통신 모듈)을 통해 상기 소프트웨어 제공 장치(208), 셀인 정보 저장부(210), 셀인 정보 관리 서버(212), 사업자 승인 정보 저장부(220), 사업자 승인 정보 관리 서버(222), 지역 코드 저장부(230), 디폴트 소프트웨어 정보 저장부(240), 커스터마이징 소프트웨어 정보 저장부(250), 및/또는 커스터마이징 소프트웨어 관리 서버(252)의 동작을 수행할 수 있다.In the above description, according to one embodiment, the software provision system 200 includes a software provision device 208, a cell-in information storage unit 210, a cell-in information management server 212, a business approval information storage unit 220, and business approval information. Although described as including a management server 222, a region code storage unit 230, a default software information storage unit 240, a custom software information storage unit 250, and/or a custom software management server 252, the software The operation and information storage of each component of the provision system 200 may be performed by at least one processor, at least one memory, and/or at least one communication module. For example, the software provision system 200 includes at least one processor, at least one memory, and at least one communication module, and includes at least one processor, at least one memory, and at least one communication unit (or communication module). Through the software provision device 208, cell-in information storage unit 210, cell-in information management server 212, business approval information storage unit 220, business approval information management server 222, area code storage unit 230 , operations of the default software information storage unit 240, the customized software information storage unit 250, and/or the customized software management server 252 may be performed.

일 실시예에 따른 셀인 정보 저장부(210), 사업자 승인 정보 저장부(220), 지역 코드 저장부(230), 디폴트 소프트웨어 정보 저장부(240), 및/또는 커스터마이징 소프트웨어 정보 저장부(250)는 클라우드 기반의 하나 또는 복수의 원격 저장 장치로 구현될 수 있다.Cell-in information storage unit 210, business approval information storage unit 220, area code storage unit 230, default software information storage unit 240, and/or customized software information storage unit 250 according to an embodiment. Can be implemented as one or multiple cloud-based remote storage devices.

일 실시 예에 따른 커스터마이징 소프트웨어 제공 장치는, 통신 모듈, 메모리, 및 프로세서를 포함할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 상기 프로세서가, 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 상기 프로세서가, 지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 메모리는, 실행 시에, 상기 프로세서가, 상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하도록 설정된 인스트럭션들을 저장할 수 있다.A customizing software provision device according to an embodiment may include a communication module, memory, and a processor. The memory according to one embodiment may store instructions that are set to enable the processor to receive device information and software information of an electronic device through the communication module when executed. The memory according to one embodiment may store instructions that, when executed, allow the processor to identify the presence or absence of a designated business operator associated with the electronic device based on the device information and the software information of the electronic device. The memory according to one embodiment may store instructions that, when executed, are set so that the processor provides first software information to the electronic device when a designated operator does not exist. In the memory according to one embodiment, when executed, the processor provides the first software information to the electronic device when the designated operator is not approved based on whether or not the designated operator approves if the designated operator exists, and provides the first software information to the electronic device when the operator is not approved. Instructions set to provide second software information customized to the first software based on the needs of the designated business operator may be stored in the electronic device.

일 실시예에 따른 상기 전자 장치의 상기 장치 정보는 IMEI(international mobile equipment identity)를 포함할 수 있다.The device information of the electronic device according to one embodiment may include an international mobile equipment identity (IMEI).

일 실시예에 따른 상기 전자 장치의 상기 소프트웨어 정보는 상기 전자 장치의 제조 또는 출고 시 탑재된 펌 웨어의 버전 정보를 포함할 수 있다.The software information of the electronic device according to one embodiment may include version information of firmware installed when the electronic device is manufactured or shipped.

일 실시예에 따른 상기 인스트럭션들은, 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 국가 코드 또는 사업자 코드를 식별하고, 상기 국가 코드가 식별되면 상기 전자 장치와 연관된 지정된 사업자가 존재하지 않는 것으로 식별하고, 상기 사업자 코드가 식별되면 상기 사업자 코드에 대응하는 지정된 사업자가 존재하는 것으로 식별하도록 더 설정될 수 있다.The instructions according to one embodiment identify a country code or a business operator code based on the device information and the software information of the electronic device, and when the country code is identified, it is determined that a designated business operator associated with the electronic device does not exist. It can be further set to identify and, if the business code is identified, identify that a designated business operator corresponding to the business code exists.

일 실시예에 따른 상기 인스트럭션들은, 상기 사업자 승인 시 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하거나 상위 버전인지 식별하고, 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하지 않거나 상위 버전이 아닌 경우 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하거나 상위 버전인 경우 상기 전자 장치에 상기 제2 소프트웨어 정보를 제공하도록 더 설정될 수 있다.The instructions according to one embodiment identify whether the software version of the electronic device is the same as or a higher version than the software version approved by the business operator upon approval by the business operator, and determine whether the software version of the electronic device is the software version approved by the business operator. If it is not the same as or a higher version, the first software information is provided to the electronic device, and if the software version of the electronic device is the same as or a higher version than the software version approved by the business operator, the second software information is provided to the electronic device. It may be further configured to provide software information.

일 실시예에 따른 전자 장치는 통신 모듈, 메모리, 및 프로세서를 포함할 수 있다. 일 실시예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 소프트웨어 제공 장치에 전송하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 소프트웨어 제공 장치로부터 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 대응된 소프트웨어 정보를 수신하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 수신된 소프트웨어 정보가 제1 소프트웨어 정보인지 상기 제1 소프트웨어에 대해 지정된 사업자의 요구에 기반하여 커스터마이징된 제2 소프트웨어 정보인지 식별하도록 설정된 인스트럭션들을 저장할 수 있다. 일 실시예에 따른 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 제1 소프트웨어 정보에 기반하여 제1 소프트웨어를 설치하거나, 상기 제2 소프트웨어 정보에 기반하여 제2 소프트웨어를 설치하도록 설정된 인스트럭션들을 저장할 수 있다.An electronic device according to one embodiment may include a communication module, memory, and a processor. The memory according to one embodiment may store instructions that, when executed, are set to cause the processor to transmit device information and software information of the electronic device to a software provision device through the communication module. The memory according to an embodiment may store instructions that, when executed, are set to enable the processor to receive software information corresponding to the device information and the software information of the electronic device from the software providing device. The memory according to one embodiment is such that, when executed, the processor identifies whether the received software information is first software information or second software information customized based on the needs of a business operator designated for the first software. You can save set instructions. The memory according to one embodiment stores instructions that, when executed, are set to cause the processor to install first software based on the first software information or install second software based on the second software information. You can.

일 실시예에 따른 상기 전자 장치의 상기 장치 정보는 IMEI(international mobile equipment identity)를 포함할 수 있다.The device information of the electronic device according to one embodiment may include an international mobile equipment identity (IMEI).

일 실시예에 따른 상기 전자 장치의 상기 소프트웨어 정보는 상기 전자 장치의 제조 또는 출고 시 탑재된 펌 웨어의 버전 정보를 포함할 수 있다.The software information of the electronic device according to one embodiment may include version information of firmware installed when the electronic device is manufactured or shipped.

일 실시예에 따른 상기 제1 소프트웨어 정보는 국가 코드를 포함하고, 일 실시예에 따른 상기 전자 장치의 인스트럭션들은, 상기 소프트웨어 제공 장치로부터 상기 국가 코드에 대응된 제1 소프트웨어를 요청하여 다운로드 받도록 더 설정될 수 있다.The first software information according to an embodiment includes a country code, and the instructions of the electronic device according to an embodiment are further set to request and download the first software corresponding to the country code from the software providing device. It can be.

일 실시예에 따른 기 제2 소프트웨어 정보는 사업자 코드를 포함하고, 일 실시예에 따른 상기 전자 장치의 인스트럭션들은, 상기 소프트웨어 제공 장치로부터 상기 사업자 코드에 대응된 제2 소프트웨어를 다운로드 받도록 더 설정될 수 있다.The second software information according to an embodiment includes an operator code, and the instructions of the electronic device according to an embodiment may be further set to download the second software corresponding to the operator code from the software providing device. there is.

도 3은 일 실시예에 따른 소프트웨어 제공 장치(208)의 블록도이다.Figure 3 is a block diagram of a software provision device 208 according to one embodiment.

도 3을 참조하면, 일 실시예에 따른 소프트웨어 제공 장치(208)는 통신 모듈(310), 프로세서(320), 및/또는 메모리(330)를 포함하여 구성될 수 있다. 소프트웨어 제공 장치(208)는 이에 한정되지 않고 다양한 구성 요소들을 더 포함하여 구성 또는 상기 구성들 중 일부를 제외하여 구성될 수 있다. 일 실시예에 따른 소프트웨어 제공 장치(208)는 도 2에 도시된 소프트웨어 제공 시스템(200)의 전체 또는 일부를 더 포함할 수 있다.Referring to FIG. 3, the software provision device 208 according to one embodiment may be configured to include a communication module 310, a processor 320, and/or a memory 330. The software providing device 208 is not limited to this and may be configured to further include various components or exclude some of the components. The software provision device 208 according to an embodiment may further include all or part of the software provision system 200 shown in FIG. 2 .

일 실시예에 따른 통신 모듈(310)은 프로세서(320)의 제어에 기반하여 전자 장치(201)와 통신할 수 있다. 일 실시예에 따른 통신 모듈(310)은 셀인 정보 저장부(210), 사업자 승인 정보 저장부(220), 지역 코드 저장부(230), 디폴트 소프트웨어 정보 저장부(240), 및/또는 커스터마이징 소프트웨어 정보 저장부(250)가 원격의 저장 장치로 구현되는 경우 프로세서(320)의 제어에 기반하여 셀인 정보 저장부(210), 사업자 승인 정보 저장부(220), 지역 코드 저장부(230), 디폴트 소프트웨어 정보 저장부(240), 및/또는 커스터마이징 소프트웨어 정보 저장부(250)와 통신할 수 있다. 예를 들면, 통신 모듈(310)은 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. The communication module 310 according to one embodiment may communicate with the electronic device 201 based on control of the processor 320. The communication module 310 according to one embodiment includes a cell-in information storage unit 210, a business approval information storage unit 220, an area code storage unit 230, a default software information storage unit 240, and/or customizing software. When the information storage unit 250 is implemented as a remote storage device, the cell-in information storage unit 210, the business approval information storage unit 220, the area code storage unit 230, and the default are stored based on the control of the processor 320. It may communicate with the software information storage unit 240 and/or the customizing software information storage unit 250. For example, the communication module 310 may be a wireless communication module (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (e.g., a local area network (LAN) communication module). module, or power line communication module). These various types of communication modules may be integrated into one component (e.g., a single chip) or may be implemented as a plurality of separate components (e.g., multiple chips).

일 실시예에 따른 프로세서(320)는 통신 모듈(310)을 통해 전자 장치(201)로부터 전자 장치(201)의 장치 정보 및 소프트웨어 정보를 수신할 수 있다. 일 실시예에 따른 프로세서(320)는 전자 장치(201)가 통신 가능하도록 네트워크에 등록 시 전자 장치(201)로부터 송신되는 전자 장치(201)의 장치 정보 및 소프트웨어 정보를 수신할 수 있다. 예를 들면, 전자 장치(201)의 장치 정보는 IMEI(international mobile equipment identity)(또는 단말기 식별 번호)를 포함할 수 있다. 예를 들면, 전자 장치(201)의 소프트웨어 정보는 전자 장치(201)의 제조 또는 출고 시 탑재된 기본적인 소프트웨어(예: 펌 웨어)의 버전 정보를 포함할 수 있다.The processor 320 according to one embodiment may receive device information and software information of the electronic device 201 from the electronic device 201 through the communication module 310. The processor 320 according to an embodiment may receive device information and software information of the electronic device 201 transmitted from the electronic device 201 when the electronic device 201 registers on a network to enable communication. For example, the device information of the electronic device 201 may include an international mobile equipment identity (IMEI) (or terminal identification number). For example, the software information of the electronic device 201 may include version information of basic software (eg, firmware) installed when the electronic device 201 is manufactured or shipped.

일 실시예에 따른 프로세서(320)는 전자 장치(201)의 장치 정보 및 소프트웨어 정보에 기반하여 셀인 정보를 식별할 수 있다. 예를 들면, 프로세서(320)는 셀인 정보 저장부(210)에 저장된 셀인 정보를 이용하여 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 식별할 수 있다. The processor 320 according to one embodiment may identify cell-in information based on device information and software information of the electronic device 201. For example, the processor 320 can use the cell-in information stored in the cell-in information storage unit 210 to identify region (or country) information or business operator information corresponding to the device information and software information of the electronic device 201. there is.

일 실시예에 따른 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 기반으로 지정된 사업자가 존재하는지 여부를 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 기반으로 전자 장치(201)가 사업자 지정 없이 특정 국가에서 이용 가능하도록 판매(오픈향)되었는지 또는 사업자 지정되어 판매(사업자향)되었는지 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 국가 코드가 식별되면 전자 장치(201)가 사업자 지정 없이 국가 코드에 대응하는 특정 국가에서 이용 가능하도록 판매(오픈향)된 것으로 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 사업자 코드가 식별되면 전자 장치(201)가 식별된 사업자 코드의 사업자에 의해 이용 가능하도록 판매(사업자향)된 것으로 식별할 수 있다.The processor 320 according to one embodiment may identify whether a designated operator exists based on region (or country) information or operator information corresponding to the device information and software information of the electronic device 201. For example, the processor 320 allows the electronic device 201 to be used in a specific country without operator designation based on regional (or country) information or operator information corresponding to the device information and software information of the electronic device 201. You can identify whether it has been sold (open-oriented) or designated as a business and sold (business-oriented). For example, if the country code corresponding to the device information and software information of the electronic device 201 is identified, the processor 320 sells the electronic device 201 so that it can be used in a specific country corresponding to the country code without specifying a business operator ( It can be identified as being open-oriented. For example, when the processor 320 identifies a carrier code corresponding to the device information and software information of the electronic device 201, the electronic device 201 is sold (toward the carrier) so that it can be used by the carrier of the identified carrier code. It can be identified as having been done.

일 실시예에 따른 프로세서(320)는 전자 장치(201)와 연관된 지정된 사업자가 존재하지 않는 경우 제1 소프트웨어 정보(예: 디폴트 소프트웨어 정보 또는 오픈향 소프트웨어 정보)를 식별할 수 있다. 예를 들면 디폴트 소프트웨어 정보는 전자 장치(201)에 기 설치된 소프트웨어 외에 통신을 수행할 국가에 대응하여 추가적으로 설치될 소프트웨어로서 네트워크 사업자에 의한 커스터마이징이 되지 않은 소프트웨어일 수 있다. 일 실시예에 따른 프로세서(320)는 제1 소프트웨어 정보를 전자 장치(201)에 전송할 수 있다. 예를 들면, 제1 소프트웨어 정보는 제1 소프트웨어를 다운로드 받기 위한 국가 코드를 포함하거나, 제1 소프트웨어 자체를 포함할 수 있다. 일 실시예에 따른 전자 장치(201)는 제1 소프트웨어 정보가 국가 코드를 포함하는 경우 소프트웨어 제공 장치(208)에 국가 코드에 대응된 제1 소프트웨어를 요청하고 소프트웨어 제공 장치(208)로부터 제1 소프트웨어를 다운로드할 수 있다.The processor 320 according to one embodiment may identify first software information (eg, default software information or open software information) when a designated business operator associated with the electronic device 201 does not exist. For example, the default software information may be software to be additionally installed in response to the country in which communication will be performed, in addition to software already installed in the electronic device 201, and may be software that has not been customized by the network operator. The processor 320 according to one embodiment may transmit first software information to the electronic device 201. For example, the first software information may include a country code for downloading the first software, or may include the first software itself. According to one embodiment, when the first software information includes a country code, the electronic device 201 requests the first software corresponding to the country code from the software providing device 208 and receives the first software from the software providing device 208. You can download .

일 실시예에 따른 프로세서(320)는 전자 장치(201)와 연관된 지정된 사업자가 존재하는 경우 사업자 승인 여부를 식별할 수 있다. 예를 들면, 프로세서(320)는 사업자 승인 정보 저장부(220)에 저장된 정보를 이용하여 전자 장치(201)의 소프트웨어 버전에 대한 지정된 사업자의 승인된 소프트웨어 버전 정보를 식별할 수 있다. If a designated business operator associated with the electronic device 201 exists, the processor 320 according to one embodiment may identify whether the business operator is approved. For example, the processor 320 may use the information stored in the business approval information storage unit 220 to identify the designated business operator's approved software version information for the software version of the electronic device 201.

일 실시예에 따른 프로세서(320)는 사업자의 미승인 상태이면 제1 소프트웨어 정보(예: 디폴트 소프트웨어 정보 또는 오픈향 소프트웨어 정보)를 식별하여 전자 장치(201)에 전송할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자의 승인 상태이면 제1 소프트웨어 정보를 지정된 사업자에 대응하여 커스터마이징한 제2 소프트웨어 정보(예: 커스터마이징 소프트웨어 정보)를 식별할 수 있다. 예를 들면, 프로세서(320)는 커스터마이징 소프트웨어 정보 저장부(250)에 저장된 정보를 이용하여 지정된 사업자 코드에 대응하는 커스터마이징 소프트웨어 자체 및/또는 커스터마이징 소프트웨어를 다운로드 받기 위한 지정된 사업자 코드를 식별할 수 있다. 일 실시예에 따른 프로세서(320)는 제2 소프트웨어 정보를 전자 장치(201)에 전송할 수 있다. 예를 들면, 제2 소프트웨어 정보는 제2 소프트웨어를 다운로드 받기 위한 사업자 코드를 포함하거나, 제2 소프트웨어 자체를 포함할 수 있다. 일 실시예에 따른 전자 장치(201)는 제2 소프트웨어 정보가 사업자 코드를 포함하는 경우 소프트웨어 제공 장치(208)에 사업자 코드에 대응된 제2 소프트웨어를 요청하고 소프트웨어 제공 장치(208)로부터 제2 소프트웨어를 다운로드할 수 있다.The processor 320 according to one embodiment may identify first software information (e.g., default software information or open software information) and transmit it to the electronic device 201 if it is not approved by the operator. If the processor 320 according to one embodiment is approved by the business operator, it may identify second software information (eg, customized software information) that has been customized from the first software information to correspond to the designated business operator. For example, the processor 320 may use information stored in the customizing software information storage unit 250 to identify the customizing software itself corresponding to the designated operator code and/or the designated operator code for downloading the customizing software. The processor 320 according to one embodiment may transmit second software information to the electronic device 201. For example, the second software information may include a business code for downloading the second software, or may include the second software itself. According to one embodiment, when the second software information includes an operator code, the electronic device 201 requests the second software corresponding to the operator code from the software providing device 208 and receives the second software from the software providing device 208. You can download .

일 실시예에 따른 프로세서(320)는 사업자의 승인 상태에서 전자 장치(201)의 소프트웨어 버전이 사업자 승인된 소프트웨어 버전과 동일하거나 상위 버전인지 식별할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자의 승인 상태에서 전자 장치(201)의 소프트웨어 버전이 사업자 승인된 소프트웨어 버전과 동일하거나 상위 버전이 아니면 제1 소프트웨어 정보(예: 디폴트 소프트웨어 정보 또는 오픈향 소프트웨어 정보)를 식별하여 전자 장치(201)에 전송할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자의 승인 상태에서 전자 장치(201)의 소프트웨어 버전이 사업자 승인된 소프트웨어 버전과 동일하거나 상위 버전이면 제2 소프트웨어 정보(예: 커스터마이징 소프트웨어 정보)를 식별하여 전자 장치(201)에 전송할 수 있다. The processor 320 according to an embodiment may identify whether the software version of the electronic device 201 is the same as or a higher version than the software version approved by the operator when approved by the operator. According to one embodiment, if the software version of the electronic device 201 is not the same as or higher than the operator-approved software version in the state of operator approval, the processor 320 may provide first software information (e.g., default software information or open-oriented software). information) can be identified and transmitted to the electronic device 201. If the software version of the electronic device 201 is the same as or higher than the software version approved by the business operator, the processor 320 according to one embodiment identifies the second software information (e.g., customized software information) and It can be transmitted to the device 201.

일 실시예에 따른 메모리(330)는 기능 동작에 사용되는 프로그램(예: 도 1의 프로그램(140))을 비롯하여, 프로그램(140) 실행 중에 발생되는 다양한 데이터를 저장할 수 있다. 상기 메모리(250)는 크게 프로그램 영역(140)과 데이터 영역(미도시)을 포함할 수 있다. 상기 프로그램 영역(140)은 전자 장치(201)를 부팅시키는 운영체제(OS)(예: 도 1의 운영 체제(142))와 같은 전자 장치(201)의 구동을 위한 관련된 프로그램 정보들을 저장할 수 있다. 예를 들면, 메모리(250)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예를 들어, secure digital(SD) 또는 extreme digital(XD) 메모리), 램(RAM), 롬(ROM) 중의 적어도 하나의 저장매체를 포함하여 구성될 수 있다. The memory 330 according to one embodiment may store various data generated during execution of the program 140, including a program used for functional operation (eg, the program 140 of FIG. 1). The memory 250 may largely include a program area 140 and a data area (not shown). The program area 140 may store program information related to driving the electronic device 201, such as an operating system (OS) that boots the electronic device 201 (eg, the operating system 142 of FIG. 1). For example, the memory 250 may be a flash memory, hard disk, or multimedia card micro type memory (e.g., secure digital (SD) or extreme digital (XD)). It may be configured to include at least one storage medium among memory, RAM, and ROM.

도 4는 일 실시예에 따른 소프트웨어 제공 동작의 일 예를 도시한 흐름도이다.Figure 4 is a flowchart illustrating an example of a software provision operation according to an embodiment.

도 4를 참조하면, 일 실시예에 따른 소프트웨어 제공 장치(예: 도 1의 서버(108), 또는 도 2의 소프트웨어 제공 장치(208))의 프로세서(예: 도 2의 프로세서(320))는 410 내지 480 동작 중 적어도 하나의 동작을 수행할 수 있다.Referring to FIG. 4, a processor (e.g., processor 320 of FIG. 2) of a software provision device (e.g., server 108 of FIG. 1 or software provision device 208 of FIG. 2) according to an embodiment is At least one operation among operations 410 to 480 may be performed.

410 동작에서, 일 실시예에 따른 프로세서는(320)는 통신 모듈(310)을 통해 전자 장치(201)로부터 전자 장치(201)의 장치 정보 및 소프트웨어 정보를 수신할 수 있다. 일 실시예에 따른 프로세서(320)는 전자 장치(201)가 통신 가능하도록 네트워크에 등록 시 전자 장치(201)로부터 송신되는 전자 장치(201)의 장치 정보 및 소프트웨어 정보를 수신할 수 있다. 예를 들면, 전자 장치(201)의 장치 정보는 IMEI(international mobile equipment identity)(또는 단말기 식별 번호)를 포함할 수 있다. 예를 들면, 전자 장치(201)의 소프트웨어 정보는 전자 장치(201)의 제조 또는 출고 시 탑재된 기본적인 소프트웨어(예: 펌 웨어)의 버전 정보를 포함할 수 있다.In operation 410, the processor 320 according to an embodiment may receive device information and software information of the electronic device 201 from the electronic device 201 through the communication module 310. The processor 320 according to an embodiment may receive device information and software information of the electronic device 201 transmitted from the electronic device 201 when the electronic device 201 registers on a network to enable communication. For example, the device information of the electronic device 201 may include an international mobile equipment identity (IMEI) (or terminal identification number). For example, the software information of the electronic device 201 may include version information of basic software (eg, firmware) installed when the electronic device 201 is manufactured or shipped.

420 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)의 장치 정보 및 소프트웨어 정보에 기반하여 셀인 정보를 식별할 수 있다. 예를 들면, 프로세서(320)는 셀인 정보 저장부(210)에 저장된 셀인 정보를 이용하여 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 식별할 수 있다. In operation 420, the processor 320 according to an embodiment may identify cell-in information based on device information and software information of the electronic device 201. For example, the processor 320 can use the cell-in information stored in the cell-in information storage unit 210 to identify region (or country) information or business operator information corresponding to the device information and software information of the electronic device 201. there is.

430 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 기반으로 지정된 사업자가 존재하는지 여부를 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 기반으로 전자 장치(201)가 사업자 지정 없이 특정 국가에서 이용 가능하도록 판매되었는지(오픈향인지) 또는 사업자 지정되어 판매되었는지(사업자향인지) 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 국가 코드가 식별되면 전자 장치(201)가 사업자 지정 없이 국가 코드에 대응하는 특정 국가에서 이용 가능하도록 판매(오픈향)된 것으로 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 사업자 코드가 식별되면 전자 장치(201)가 식별된 사업자 코드의 사업자에 의해 이용 가능하도록 판매(사업자향)된 것으로 식별할 수 있다.In operation 430, the processor 320 according to an embodiment may identify whether a designated operator exists based on region (or country) information or operator information corresponding to the device information and software information of the electronic device 201. there is. For example, the processor 320 allows the electronic device 201 to be used in a specific country without operator designation based on regional (or country) information or operator information corresponding to the device information and software information of the electronic device 201. You can identify whether it was sold (open market) or designated as a business (business market). For example, if the country code corresponding to the device information and software information of the electronic device 201 is identified, the processor 320 sells the electronic device 201 so that it can be used in a specific country corresponding to the country code without specifying a business operator ( It can be identified as being open-oriented. For example, when the processor 320 identifies a carrier code corresponding to the device information and software information of the electronic device 201, the electronic device 201 is sold (toward the carrier) so that it can be used by the carrier of the identified carrier code. It can be identified as having been done.

440 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)와 연관된 지정된 사업자가 존재하지 않는 경우 제1 소프트웨어 정보(예: 디폴트 소프트웨어 정보 또는 오픈향 소프트웨어 정보)를 식별할 수 있다. 예를 들면 디폴트 소프트웨어 정보는 전자 장치(201)에 기 설치된 소프트웨어 외에 통신을 수행할 국가에 대응하여 추가적으로 설치될 소프트웨어로서 네트워크 사업자에 의한 커스터마이징이 되지 않은 소프트웨어일 수 있다. In operation 440, the processor 320 according to an embodiment may identify first software information (eg, default software information or open software information) when a designated operator associated with the electronic device 201 does not exist. For example, the default software information may be software to be additionally installed in response to the country in which communication will be performed, in addition to software already installed in the electronic device 201, and may be software that has not been customized by the network operator.

450 동작에서, 일 실시예에 따른 프로세서(320)는 제1 소프트웨어 정보를 전자 장치(201)에 전송할 수 있다. 예를 들면, 제1 소프트웨어 정보는 제1 소프트웨어를 다운로드 받기 위한 국가 코드를 포함하거나, 제1 소프트웨어 자체를 포함할 수 있다. 일 실시예에 따른 전자 장치(201)는 제1 소프트웨어 정보가 국가 코드를 포함하는 경우 소프트웨어 제공 장치(208)에 국가 코드에 대응된 제1 소프트웨어를 요청하고 소프트웨어 제공 장치(208)로부터 제1 소프트웨어를 다운로드할 수 있다.In operation 450, the processor 320 according to one embodiment may transmit first software information to the electronic device 201. For example, the first software information may include a country code for downloading the first software, or may include the first software itself. According to one embodiment, when the first software information includes a country code, the electronic device 201 requests the first software corresponding to the country code from the software providing device 208 and receives the first software from the software providing device 208. You can download .

460 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)와 연관된 지정된 사업자가 존재하는 경우 사업자 승인 여부를 식별할 수 있다. 예를 들면, 프로세서(320)는 사업자 승인 정보 저장부(220)에 저장된 정보를 이용하여 전자 장치(201)의 소프트웨어 버전에 대한 지정된 사업자의 승인된 소프트웨어 버전 정보를 식별할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자 미승인 상태이면 440 및 450 동작을 수행하여 제1 소프트웨어 정보(예: 디폴트 소프트웨어 정보 또는 오픈향 소프트웨어 정보)를 전자 장치(201)에 전송할 수 있다. In operation 460, the processor 320 according to an embodiment may identify whether the designated business operator associated with the electronic device 201 is approved if a designated business operator exists. For example, the processor 320 may use the information stored in the business approval information storage unit 220 to identify the designated business operator's approved software version information for the software version of the electronic device 201. The processor 320 according to one embodiment may transmit first software information (eg, default software information or open software information) to the electronic device 201 by performing operations 440 and 450 if the business operator is not approved.

470 동작에서, 일 실시예에 따른 프로세서(320)는 사업자 승인 상태이면 제1 소프트웨어 정보를 지정된 사업자에 대응하여 커스터마이징한 제2 소프트웨어 정보(예: 커스터마이징 소프트웨어 정보)를 식별할 수 있다.In operation 470, if the business operator is approved, the processor 320 according to an embodiment may identify second software information (eg, customized software information) in which the first software information has been customized to correspond to the designated business operator.

480 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)에 상기 식별된 제2 소프트웨어 정보를 전송할 수 있다. 예를 들면, 제2 소프트웨어 정보는 제2 소프트웨어를 다운로드 받기 위한 사업자 코드를 포함하거나, 제2 소프트웨어 자체를 포함할 수 있다. 일 실시예에 따른 전자 장치(201)는 제2 소프트웨어 정보가 사업자 코드를 포함하는 경우 소프트웨어 제공 장치(208)에 사업자 코드에 대응된 제2 소프트웨어를 요청하고 소프트웨어 제공 장치(208)로부터 제2 소프트웨어를 다운로드할 수 있다.In operation 480, the processor 320 according to one embodiment may transmit the identified second software information to the electronic device 201. For example, the second software information may include a business code for downloading the second software, or may include the second software itself. According to one embodiment, when the second software information includes an operator code, the electronic device 201 requests the second software corresponding to the operator code from the software providing device 208 and receives the second software from the software providing device 208. You can download .

일 실시예에 따른 커스터마이징 소프트웨어 제공 방법은 통신 모듈을 통해 전자 장치로부터 상기 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하는 동작을 포함할 수 있다. 일 실시예에 따른 상기 방법은 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하는 동작을 포함할 수 있다. 일 실시예에 따른 상기 방법은 지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하는 동작을 포함할 수 있다. 일 실시예에 따른 상기 방법은 상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하는 동작을 포함할 수 있다.A method of providing customizing software according to an embodiment may include receiving device information and software information of the electronic device from the electronic device through a communication module. The method according to one embodiment may include an operation of identifying whether a designated business operator associated with the electronic device exists based on the device information and the software information of the electronic device. The method according to one embodiment may include providing first software information to the electronic device when the designated operator does not exist. The method according to one embodiment provides the first software information to the electronic device when the business operator is not approved based on whether or not the designated business operator approves when the designated business operator exists, and provides the first software information to the electronic device when the business operator is approved. It may include an operation of providing second software information customized based on the needs of the designated business operator.

일 실시예에 따른 상기 방법에서 상기 전자 장치의 상기 장치 정보는 IMEI(international mobile equipment identity)를 포함할 수 있다.In the method according to one embodiment, the device information of the electronic device may include IMEI (international mobile equipment identity).

일 실시예에 따른 상기 방법에서 상기 전자 장치의 상기 소프트웨어 정보는 상기 전자 장치의 제조 또는 출고 시 탑재된 펌 웨어의 버전 정보를 포함할 수 있다.In the method according to one embodiment, the software information of the electronic device may include version information of firmware installed when the electronic device is manufactured or shipped.

일 실시예에 따른 상기 방법은 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 국가 코드 또는 사업자 코드를 식별하는 동작을 포함할 수 있다. 일 실시예에 따른 상기 방법은 상기 국가 코드가 식별되면 상기 전자 장치와 연관된 지정된 사업자가 존재하지 않는 것으로 식별하는 동작을 포함할 수 있다. 일 실시예에 따른 상기 방법은 상기 사업자 코드가 식별되면 상기 사업자 코드에 대응하는 지정된 사업자가 존재하는 것으로 식별하는 동작을 포함할 수 있다.The method according to one embodiment may include identifying a country code or operator code based on the device information and the software information of the electronic device. The method according to one embodiment may include an operation of identifying that a designated business operator associated with the electronic device does not exist when the country code is identified. The method according to one embodiment may include an operation of identifying that a designated operator corresponding to the operator code exists when the operator code is identified.

일 실시예에 따른 상기 방법은 상기 사업자 승인 시 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하거나 상위 버전인지 식별하는 동작을 포함할 수 있다. 일 실시예에 따른 상기 방법은 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하지 않거나 상위 버전이 아닌 경우 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하는 동작을 포함할 수 있다. 일 실시예에 따른 상기 방법은 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하거나 상위 버전인 경우 상기 전자 장치에 상기 제2 소프트웨어 정보를 제공하는 동작을 포함할 수 있다.The method according to one embodiment may include an operation of identifying whether the software version of the electronic device is the same as or a higher version than the software version approved by the operator upon approval by the operator. The method according to one embodiment may include providing the first software information to the electronic device when the software version of the electronic device is not the same as or a higher version than the software version approved by the business operator. The method according to one embodiment may include providing the second software information to the electronic device when the software version of the electronic device is the same as or a higher version than the software version approved by the business operator.

도 5는 일 실시예에 따른 전자 장치의 소프트웨어 버전에 기반한 소프트웨어 제공 동작의 일 예를 도시한 흐름도이다.FIG. 5 is a flowchart illustrating an example of a software provision operation based on the software version of an electronic device according to an embodiment.

도 5를 참조하면, 일 실시예에 따른 소프트웨어 제공 장치(예: 도 1의 서버(108), 또는 도 2의 소프트웨어 제공 장치(208))의 프로세서(예: 도 2의 프로세서(320))는 510 내지 580 동작 중 적어도 하나의 동작을 수행할 수 있다.Referring to FIG. 5, a processor (e.g., processor 320 of FIG. 2) of a software provision device (e.g., server 108 of FIG. 1 or software provision device 208 of FIG. 2) according to an embodiment is At least one operation among operations 510 to 580 may be performed.

510 동작에서, 일 실시예에 따른 프로세서는(320)는 통신 모듈(310)을 통해 전자 장치(201)로부터 전자 장치(201)의 장치 정보 및 소프트웨어 정보를 수신할 수 있다. 일 실시예에 따른 프로세서(320)는 전자 장치(201)가 통신 가능하도록 네트워크에 등록 시 전자 장치(201)로부터 송신되는 전자 장치(201)의 장치 정보 및 소프트웨어 정보를 수신할 수 있다. 예를 들면, 전자 장치(201)의 장치 정보는 IMEI(international mobile equipment identity)(또는 단말기 식별 번호)를 포함할 수 있다. 예를 들면, 전자 장치(201)의 소프트웨어 정보는 전자 장치(201)의 제조 또는 출고 시 탑재된 기본적인 소프트웨어(예: 펌 웨어)의 버전 정보를 포함할 수 있다.In operation 510, the processor 320 according to an embodiment may receive device information and software information of the electronic device 201 from the electronic device 201 through the communication module 310. The processor 320 according to one embodiment may receive device information and software information of the electronic device 201 transmitted from the electronic device 201 when the electronic device 201 registers on a network to enable communication. For example, the device information of the electronic device 201 may include an international mobile equipment identity (IMEI) (or a terminal identification number). For example, the software information of the electronic device 201 may include version information of basic software (eg, firmware) installed when the electronic device 201 is manufactured or shipped.

520 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)의 장치 정보 및 소프트웨어 정보에 기반하여 셀인 정보를 식별할 수 있다. 예를 들면, 프로세서(320)는 셀인 정보 저장부(210)에 저장된 셀인 정보를 이용하여 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 식별할 수 있다. In operation 520, the processor 320 according to an embodiment may identify cell-in information based on device information and software information of the electronic device 201. For example, the processor 320 can use the cell-in information stored in the cell-in information storage unit 210 to identify region (or country) information or business operator information corresponding to the device information and software information of the electronic device 201. there is.

530 동작에서, 일 실시예에 따른 프로세서(320)는 사업자 승인 여부 확인이 필요한지 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보를 기반으로 사업자 승인 여부를 확인하여 소프트웨어 제공이 필요한 상태(예: TSS 2.1 프로세스 적용 필요 상태)인지 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보 및/또는 소프트웨어 정보를 기반으로 사업자 승인 여부에 따라 커스터마이징 되지 않은 제1 소프트웨어 정보 또는 커스터마이징된 제2 소프트웨어가 제공되는 프로세스를 이용하도록 설정된 상태인지 식별할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자 승인 여부를 확인하여 소프트웨어 제공이 필요한 상태가 아닌 경우 532 동작에서 해당 기능을 수행할 수 있다. 소프트웨어 제공 동작을 수행할 수 있다. 예를 들면, 프로세서(320)는 사업자 승인 여부를 확인하여 소프트웨어 제공이 필요한 상태가 아닌 경우 사업자 승인 여부와 관계없이 소프트웨어 정보를 제공할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자 승인 여부를 확인하여 소프트웨어 제공이 필요한 상태인 경우 540 동작을 수행할 수 있다. In operation 530, the processor 320 according to one embodiment may identify whether confirmation of operator approval is required. For example, the processor 320 may check whether the business operator is approved based on the device information and software information of the electronic device 201 and identify whether software provision is required (e.g., TSS 2.1 process application required status). For example, the processor 320 may use a process in which uncustomized first software information or customized second software is provided depending on whether the business operator approves it based on device information and/or software information of the electronic device 201. You can identify whether it is in a set state. The processor 320 according to one embodiment may check whether the business operator is approved and perform the corresponding function in operation 532 if software provision is not required. Software provision operations can be performed. For example, the processor 320 may check whether the business operator approves the software, and if software provision is not required, the processor 320 may provide software information regardless of whether the business operator approves it. The processor 320 according to one embodiment may perform operation 540 if it is necessary to provide software by checking whether the business operator has approved it.

540 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 기반으로 지정된 사업자가 존재하는지 여부를 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 지역(또는 국가) 정보 또는 사업자 정보를 기반으로 전자 장치(201)가 사업자 지정 없이 특정 국가에서 이용 가능하도록 판매되었는지(오픈향인지) 또는 사업자 지정되어 판매되었는지(사업자향인지) 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 국가 코드가 식별되면 사업자 지정 없이 국가 코드에 대응하는 특정 국가에서 이용 가능하도록 판매(오픈향)된 것으로 식별할 수 있다. 예를 들면, 프로세서(320)는 전자 장치(201)의 장치 정보와 소프트웨어 정보에 대응된 사업자 코드가 식별되면 식별된 사업자 코드의 사업자에 의해 이용 가능하도록 판매(사업자향)된 것으로 식별할 수 있다.In operation 540, the processor 320 according to an embodiment may identify whether a designated operator exists based on region (or country) information or operator information corresponding to the device information and software information of the electronic device 201. there is. For example, the processor 320 allows the electronic device 201 to be used in a specific country without operator designation based on regional (or country) information or operator information corresponding to the device information and software information of the electronic device 201. You can identify whether it was sold (open market) or designated as a business (business market). For example, when the country code corresponding to the device information and software information of the electronic device 201 is identified, the processor 320 identifies it as being sold (open) for use in a specific country corresponding to the country code without specifying a business operator. can do. For example, if the business code corresponding to the device information and software information of the electronic device 201 is identified, the processor 320 may identify the electronic device 201 as being sold (oriented towards the business) so that it can be used by the business operator of the identified business code. .

542 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)와 연관된 지정된 사업자가 존재하지 않는 경우 제1 소프트웨어 정보(예: 디폴트 소프트웨어 정보 또는 오픈향 소프트웨어 정보)를 식별할 수 있다. 예를 들면 디폴트 소프트웨어 정보는 전자 장치(201)에 기 설치된 소프트웨어 외에 통신을 수행할 국가에 대응하여 추가적으로 설치될 소프트웨어로서 네트워크 사업자에 의한 커스터마이징이 되지 않은 소프트웨어일 수 있다. In operation 542, the processor 320 according to an embodiment may identify first software information (eg, default software information or open software information) when a designated operator associated with the electronic device 201 does not exist. For example, the default software information may be software to be additionally installed in response to the country in which communication will be performed, in addition to software already installed in the electronic device 201, and may be software that has not been customized by the network operator.

544 동작에서, 일 실시예에 따른 프로세서(320)는 제1 소프트웨어 정보를 전자 장치(201)에 전송할 수 있다. 예를 들면, 제1 소프트웨어 정보는 제1 소프트웨어를 다운로드 받기 위한 국가 코드를 포함하거나, 제1 소프트웨어 자체를 포함할 수 있다. 일 실시예에 따른 전자 장치(201)는 제1 소프트웨어 정보가 국가 코드를 포함하는 경우 소프트웨어 제공 장치(208)에 국가 코드에 대응된 제1 소프트웨어를 요청하고 소프트웨어 제공 장치(208)로부터 제1 소프트웨어를 다운로드할 수 있다.In operation 544, the processor 320 according to an embodiment may transmit first software information to the electronic device 201. For example, the first software information may include a country code for downloading the first software, or may include the first software itself. According to one embodiment, when the first software information includes a country code, the electronic device 201 requests the first software corresponding to the country code from the software providing device 208 and receives the first software from the software providing device 208. You can download .

550 동작에서, 일 실시예에 따른 프로세서(320)는 전자 장치(201)와 연관된 지정된 사업자가 존재하는 경우 사업자 승인 여부를 식별할 수 있다. 예를 들면, 프로세서(320)는 사업자 승인 정보 저장부(220)에 저장된 정보를 이용하여 전자 장치(201)의 소프트웨어 버전에 대한 지정된 사업자의 승인된 소프트웨어 버전 정보를 식별할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자 미승인 상태이면 542 및 544 동작을 수행하여 제1 소프트웨어 정보(예: 디폴트 소프트웨어 정보 또는 오픈향 소프트웨어 정보)를 전자 장치(201)에 전송할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자 승인 상태이면 560 동작을 수행할 수 있다.In operation 550, the processor 320 according to an embodiment may identify whether the designated business operator associated with the electronic device 201 is approved if a designated business operator exists. For example, the processor 320 may use the information stored in the business approval information storage unit 220 to identify the designated business operator's approved software version information for the software version of the electronic device 201. If the processor 320 according to one embodiment is in an unapproved state, it may perform operations 542 and 544 to transmit first software information (eg, default software information or open software information) to the electronic device 201. The processor 320 according to one embodiment may perform operation 560 if the business operator is approved.

560 동작에서, 일 실시예에 따른 프로세서(320)는 사업자 승인 상태에서 전자 장치(201)의 소프트웨어 버전이 사업자 승인된 소프트웨어 버전과 동일하거나 상위 버전인지 식별할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자의 승인 상태에서 전자 장치(201)의 소프트웨어 버전이 사업자 승인된 소프트웨어 버전과 동일하지 않거나 상위 버전이 아니면 542 및 544 동작을 수행하여 제1 소프트웨어 정보(예: 디폴트 소프트웨어 정보 또는 오픈향 소프트웨어 정보)를 전자 장치(201)에 전송할 수 있다. 일 실시예에 따른 프로세서(320)는 사업자의 승인 상태에서 전자 장치(201)의 소프트웨어 버전이 사업자 승인된 소프트웨어 버전과 동일하거나 상위 버전이면 570 동작을 수행할 수 있다.In operation 560, the processor 320 according to an embodiment may identify whether the software version of the electronic device 201 in the operator-approved state is the same as or a higher version than the operator-approved software version. The processor 320 according to one embodiment performs operations 542 and 544 when the software version of the electronic device 201 is not the same as the operator-approved software version or is not a higher version in the operator's approval state to collect the first software information (e.g. : Default software information or open software information) can be transmitted to the electronic device 201. The processor 320 according to an embodiment may perform operation 570 when the software version of the electronic device 201 is the same as or higher than the software version approved by the operator.

570 동작에서, 일 실시예에 따른 프로세서(320)는 사업자의 승인 상태에서 전자 장치(201)의 소프트웨어 버전이 사업자 승인된 소프트웨어 버전과 동일하거나 상위 버전이면 제2 소프트웨어 정보(예: 커스터마이징 소프트웨어 정보)를 식별할 수 있다. In operation 570, if the software version of the electronic device 201 is the same as or higher than the operator-approved software version in the operator's approval state, the processor 320 according to an embodiment provides second software information (e.g., customizing software information). can be identified.

580 동작에서, 일 실시예에 따른 프로세서(320)는 제2 소프트웨어 정보(예: 커스터마이징 소프트웨어 정보)를 전자 장치(201)에 전송할 수 있다. 예를 들면, 제2 소프트웨어 정보는 제2 소프트웨어를 다운로드 받기 위한 사업자 코드를 포함하거나, 제2 소프트웨어 자체를 포함할 수 있다. 일 실시예에 따른 전자 장치(201)는 제2 소프트웨어 정보가 사업자 코드를 포함하는 경우 소프트웨어 제공 장치(208)에 사업자 코드에 대응된 제2 소프트웨어를 요청하고 소프트웨어 제공 장치(208)로부터 제2 소프트웨어를 다운로드할 수 있다. In operation 580, the processor 320 according to an embodiment may transmit second software information (eg, customizing software information) to the electronic device 201. For example, the second software information may include a business code for downloading the second software, or may include the second software itself. According to one embodiment, when the second software information includes an operator code, the electronic device 201 requests the second software corresponding to the operator code from the software providing device 208 and receives the second software from the software providing device 208. You can download .

도 6은 일 실시예에 따른 전자 장치에서 소프트웨어를 제공받아 설치하는 동작의 예를 도시한 흐름도이다.FIG. 6 is a flowchart illustrating an example of an operation of receiving and installing software in an electronic device according to an embodiment.

도 6을 참조하면, 일 실시예에 따른 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201))의 프로세서(예: 도 1의 프로세서(120))는 610 내지 650 동작 중 적어도 하나의 동작을 수행할 수 있다.Referring to FIG. 6, the processor (e.g., processor 120 of FIG. 1) of an electronic device (e.g., electronic device 101 of FIG. 1 or electronic device 201 of FIG. 2) according to an embodiment is 610. At least one operation among through 650 operations can be performed.

610 동작에서, 일 실시예에 따른 프로세서는(120)는 전자 장치(201)의 장치 정보 및 소프트웨어 정보를 소프트웨어 제공 장치(208)에 전송할 수 있다. 일 실시예에 따른 프로세서는(120)는 통신 가능하도록 네트워크에 등록 시 전자 장치(201)의 장치 정보 및 소프트웨어 정보를 소프트웨어 제공 장치(208)에 전송할 수 있다. 예를 들면, 전자 장치(201)의 장치 정보는 IMEI(international mobile equipment identity)(또는 단말기 식별 번호)를 포함할 수 있다. 예를 들면, 전자 장치(201)의 소프트웨어 정보는 전자 장치(201)의 제조 또는 출고 시 탑재된 기본적인 소프트웨어(예: 펌 웨어)의 버전 정보를 포함할 수 있다.In operation 610, the processor 120 according to an embodiment may transmit device information and software information of the electronic device 201 to the software providing device 208. The processor 120 according to one embodiment may transmit device information and software information of the electronic device 201 to the software providing device 208 when registering on a network to enable communication. For example, the device information of the electronic device 201 may include an international mobile equipment identity (IMEI) (or terminal identification number). For example, the software information of the electronic device 201 may include version information of basic software (eg, firmware) installed when the electronic device 201 is manufactured or shipped.

620 동작에서, 일 실시예에 따른 프로세서는(120)는 소프트웨어 제공 장치(208)로부터 전자 장치(201)의 장치 정보 및 소프트웨어 정보에 대응된 소프트웨어 정보를 수신할 수 있다. 예를 들면, 프로세서(120)는 전자 장치(201)의 장치 정보 및 소프트웨어 정보에 기반하여 소프트웨어 제공 장치(208)로부터 미리 탑재된 기본적인 소프트웨어(예: 펌 웨어)외에 추가적으로 설치될 소프트웨어 정보를 수신할 수 있다. 예를 들면, 추가적으로 설치될 소프트웨어 정보는 지정된 국가에 대응하는 제1 소프트웨어(예: 디폴트 소프트웨어 또는 오픈향 소프트웨어) 정보 또는 사업자들 각각의 요구에 따라 디폴트 소프트웨어를 네트워크 사업자들 각각의 버전으로 커스터마이징한 제2 소프트웨어(예: 커스터마이징 소프트웨어 또는 사업자향 소프트웨어) 정보를 포함할 수 있다.In operation 620, the processor 120 according to an embodiment may receive software information corresponding to device information and software information of the electronic device 201 from the software providing device 208. For example, the processor 120 may receive software information to be additionally installed in addition to basic software (e.g., firmware) preloaded from the software providing device 208 based on the device information and software information of the electronic device 201. You can. For example, the software information to be additionally installed may be information on the first software (e.g., default software or open-oriented software) corresponding to a designated country, or a product that customizes the default software into a version for each network operator according to the needs of each operator. 2 May include software (e.g. customized software or business-oriented software) information.

630 동작에서, 일 실시예에 따른 프로세서는(120)는 수신된 소프트웨어 정보가 제1 소프트웨어 정보인지 커스터마이징된 제2 소프트웨어 정보인지 식별할 수 있다. 예를 들면, 프로세서는(120)는 수신된 소프트웨어 정보 내에 포함된 커스터마이징 식별 여부 정보를 이용하여 수신된 소프트웨어 정보가 제1 소프트웨어 정보 인지 커스터마이징된 제2 소프트웨어 정보인지 식별할 수 있다.In operation 630, the processor 120 according to one embodiment may identify whether the received software information is first software information or customized second software information. For example, the processor 120 may identify whether the received software information is first software information or customized second software information using customized identification information included in the received software information.

640 동작에서, 일 실시예에 따른 프로세서는(120)는 제1 소프트웨어 정보를 이용하여 제1 소프트웨어를 설치할 수 있다 예를 들면, 제1 소프트웨어 정보는 제1 소프트웨어를 다운로드 받기 위한 국가 코드를 포함하거나, 제1 소프트웨어 자체를 포함할 수 있다. 일 실시예에 따른 프로세서는(120)는 제1 소프트웨어 정보가 국가 코드를 포함하는 경우 소프트웨어 제공 장치(208)에 국가 코드에 대응된 제1 소프트웨어를 요청하고 소프트웨어 제공 장치(208)로부터 제1 소프트웨어를 다운로드할 수 있다.In operation 640, the processor 120 according to one embodiment may install the first software using the first software information. For example, the first software information includes a country code for downloading the first software or , may include the first software itself. According to one embodiment, when the first software information includes a country code, the processor 120 requests the first software corresponding to the country code from the software providing device 208 and receives the first software from the software providing device 208. You can download .

650 동작에서, 일 실시예에 따른 프로세서는(120)는 제2 소프트웨어 정보를 이용하여 제2 소프트웨어를 설치할 수 있다. 예를 들면, 제2 소프트웨어 정보는 제2 소프트웨어를 다운로드 받기 위한 사업자 코드를 포함하거나, 제2 소프트웨어 자체를 포함할 수 있다. 일 실시예에 따른 프로세서는(120)는 제2 소프트웨어 정보가 사업자 코드를 포함하는 경우 소프트웨어 제공 장치(208)에 사업자 코드에 대응된 제2 소프트웨어를 요청하고 소프트웨어 제공 장치(208)로부터 제2 소프트웨어를 다운로드할 수 있다.In operation 650, the processor 120 according to one embodiment may install second software using second software information. For example, the second software information may include a business code for downloading the second software, or may include the second software itself. According to one embodiment, when the second software information includes an operator code, the processor 120 requests the second software corresponding to the operator code from the software providing device 208 and receives the second software from the software providing device 208. You can download .

일 실시예에 따른 전자 장치에서 소프트웨어를 제공받는 방법은 통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 소프트웨어 제공 장치에 전송하는 동작을 포함할 수 있다. 일 실시예에 따른 전자 장치에서 상기 방법은 상기 소프트웨어 제공 장치로부터 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 대응된 소프트웨어 정보를 수신하는 동작을 포함할 수 있다. 일 실시예에 따른 전자 장치에서 상기 방법은 상기 수신된 소프트웨어 정보가 제1 소프트웨어 정보인지 상기 제1 소프트웨어에 대해 지정된 사업자의 요구에 기반하여 커스터마이징된 제2 소프트웨어 정보인지 식별하는 동작을 포함할 수 있다. 일 실시예에 따른 전자 장치에서 상기 방법은 상기 제1 소프트웨어 정보에 기반하여 제1 소프트웨어를 설치하거나, 상기 제2 소프트웨어 정보에 기반하여 제2 소프트웨어를 설치하는 동작을 포함할 수 있다.A method of receiving software from an electronic device according to an embodiment may include transmitting device information and software information of the electronic device to a software provision device through a communication module. In an electronic device according to an embodiment, the method may include receiving software information corresponding to the device information and the software information of the electronic device from the software providing device. In an electronic device according to an embodiment, the method may include identifying whether the received software information is first software information or second software information customized based on the needs of a business operator designated for the first software. . In an electronic device according to an embodiment, the method may include installing first software based on the first software information or installing second software based on the second software information.

일 실시예에 따른 전자 장치의 상기 방법에서 상기 전자 장치의 상기 장치 정보는 IMEI(international mobile equipment identity)를 포함할 수 있다.In the method for an electronic device according to an embodiment, the device information of the electronic device may include an international mobile equipment identity (IMEI).

일 실시예에 따른 전자 장치의 상기 방법에서 상기 전자 장치의 상기 소프트웨어 정보는 상기 전자 장치의 제조 또는 출고 시 탑재된 펌 웨어의 버전 정보를 포함할 수 있다.In the above method for an electronic device according to an embodiment, the software information of the electronic device may include version information of firmware installed when the electronic device is manufactured or shipped.

일 실시예에 따른 전자 장치의 상기 방법에서 상기 제1 소프트웨어 정보는 국가 코드를 포함하고, 전자 장치의 상기 방법은 상기 소프트웨어 제공 장치로부터 상기 국가 코드에 대응된 제1 소프트웨어를 요청하여 다운로드 받는 동작을 포함할 수 있다. 일 실시예에 따른 전자 장치의 상기 방법에서 상기 제2 소프트웨어 정보는 사업자 코드를 포함하고, 전자 장치의 상기 방법은 상기 소프트웨어 제공 장치로부터 상기 사업자 코드에 대응된 제2 소프트웨어를 다운로드 받는 동작을 포함할 수 있다.In the method of the electronic device according to one embodiment, the first software information includes a country code, and the method of the electronic device includes an operation of requesting and downloading the first software corresponding to the country code from the software providing device. It can be included. In the method of the electronic device according to one embodiment, the second software information may include an operator code, and the method of the electronic device may include downloading second software corresponding to the operator code from the software providing device. You can.

도 7a는 일 실시예에 따른 전자 장치에서 디폴트 소프트웨어 설치 시 표시되는 제1 화면을 나타낸 도면이고, 도 7b는 일 실시예에 따른 전자 장치에서 커스터마이징 소프트웨어 설치 시 표시되는 제2 화면을 나타낸 도면이다.FIG. 7A is a diagram illustrating a first screen displayed when installing default software in an electronic device according to an embodiment, and FIG. 7B is a diagram illustrating a second screen displayed when installing customized software in an electronic device according to an embodiment.

도 7a를 참조하면, 일 실시예에 따른 전자 장치(201)는 디폴트 소프트웨어 설치 시 디폴트 소프트웨어와 연관된 제1 화면(710)을 표시할 수 있다. 예를 들면, 제1 화면(710)은 사업자의 요구사항이 반영되지 않은 커스터마이징되지 않은 화면일 수 있다.Referring to FIG. 7A , the electronic device 201 according to an embodiment may display a first screen 710 associated with the default software when installing the default software. For example, the first screen 710 may be an uncustomized screen that does not reflect the business operator's requirements.

도 7b를 참조하면, 일 실시예에 따른 전자 장치(201)는 커스터마이징 소프트웨어 설치 시 커스터마이징 소프트웨어와 연관된 제2 화면(710)을 표시할 수 있다. 예를 들면, 제2 화면(710)은 A 통신 사업자의 요구사항이 반영되어 커스터마이징된 화면일 수 있다.Referring to FIG. 7B , the electronic device 201 according to one embodiment may display a second screen 710 associated with the customizing software when installing the customizing software. For example, the second screen 710 may be a customized screen that reflects the requirements of communication service provider A.

도 8a는 일 실시예에 따른 전자 장치에서 디폴트 소프트웨어 설치 시 표시되는 제1 홈 스크린 배경 및 제1 앱 배치를 나타낸 도면이고, 도 8b는 일 실시예에 따른 전자 장치에서 커스터마이징 소프트웨어 설치 시 표시되는 제2 홈 스크린 배경 및 제2 앱 배치를 나타낸 도면이다.FIG. 8A is a diagram showing the first home screen background and first app arrangement displayed when installing default software in an electronic device according to an embodiment, and FIG. 8B is a diagram showing the first home screen background and first app arrangement displayed when installing customizing software in an electronic device according to an embodiment. 2 This is a diagram showing the home screen background and second app placement.

도 8a를 참조하면, 일 실시예에 따른 전자 장치(201)는 디폴트 소프트웨어 설치 시 디폴트 소프트웨어와 연관된 제1 홈 스크린 배경과 제1 앱 배치에 따라 제1 홈 스크린 배경(810)과 제1 앱 배치(820)를 설정할 수 있다. 예를 들면, 제1 홈 스크린 배경(810)과 제1 앱 배치(820)는 사업자의 요구사항이 반영되지 않은 커스터마이징되지 않은 홈 스크린 배경 및 앱 배치일 수 있다.Referring to FIG. 8A, when installing default software, the electronic device 201 according to one embodiment arranges the first home screen background 810 and the first app according to the first home screen background and first app arrangement associated with the default software. (820) can be set. For example, the first home screen background 810 and the first app placement 820 may be uncustomized home screen background and app placement that do not reflect the requirements of the business operator.

도 8b를 참조하면, 일 실시예에 따른 전자 장치(201)는 커스터마이징 소프트웨어 설치 시 커스터마이징 소프트웨어와 연관된 제2 홈 스크린 배경과 제2 앱 배치에 따라 제2 홈 스크린 배경(812)과 제2 앱 배치(822)를 설정할 수 있다. 예를 들면, 제2 홈 스크린 배경(812)과 제2 앱 배치(822)는 사업자의 요구사항이 반영되어 커스터마이징된 홈 스크린 배경 및 앱 배치일 수 있다.Referring to FIG. 8B, when installing customizing software, the electronic device 201 according to one embodiment arranges the second home screen background 812 and the second app according to the second home screen background and second app arrangement associated with the customizing software. (822) can be set. For example, the second home screen background 812 and the second app arrangement 822 may be a customized home screen background and app arrangement reflecting the operator's requirements.

본 문서에 개시된 일 실시 예에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.An electronic device according to an embodiment disclosed in this document may be of various types. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to embodiments of this document are not limited to the above-described devices.

본 문서의 일 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.An embodiment of this document and the terms used herein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various changes, equivalents, or substitutes for the embodiment. In connection with the description of the drawings, similar reference numbers may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the above items, unless the relevant context clearly indicates otherwise. As used herein, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, and “A Each of phrases such as “at least one of , B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof. Terms such as "first", "second", or "first" or "second" may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited. One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.” When mentioned, it means that any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.

본 문서의 일 실시예에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in one embodiment of this document may include a unit implemented in hardware, software, or firmware, and may be interchangeable with terms such as logic, logic block, component, or circuit, for example. can be used A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 일 실시예은 기기(machine)(예: 전자 장치(101) 또는 전자 장치(301)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(301))의 프로세서(예: 프로세서(520))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.An embodiment of the present document is a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101 or electronic device 301). It may be implemented as software (e.g., program 140) including one or more instructions stored in . For example, a processor (e.g., processor 520) of a device (e.g., electronic device 301) may call at least one command among one or more commands stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.

일 실시예에 따르면, 본 문서에 개시된 일 실시예에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, a method according to an embodiment disclosed in this document may be provided and included in a computer program product. Computer program products are commodities and can be traded between sellers and buyers. The computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or via an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online. In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.

본 개시의 실시 예에 따르면, 명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 전자 장치에 의하여 실행될 때에 상기 전자 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 통신 모듈을 통해 전자 장치로부터 상기 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하는 동작, 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하는 동작, 지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하는 동작, 및 상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하는 동작을 포함할 수 있다.According to an embodiment of the present disclosure, in a non-volatile storage medium storing instructions, the instructions are set to cause the electronic device to perform at least one operation when executed by the electronic device, and the at least one operation is , an operation of receiving device information and software information of the electronic device from the electronic device through a communication module, an operation of identifying the presence or absence of a designated business operator associated with the electronic device based on the device information and the software information of the electronic device , an operation of providing first software information to the electronic device when the designated operator does not exist, and when the designated operator exists, the first software information to the electronic device when the operator is not approved based on whether or not the designated operator approves. and may include an operation of providing second software information that customizes the first software based on the needs of the designated business operator to the electronic device upon approval by the business operator.

일 실시예에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 일 실시예에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 일 실시예에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to one embodiment, each component (e.g., module or program) of the above-described components may include a single or multiple entities, and some of the multiple entities may be separately placed in other components. . According to one embodiment, one or more of the above-described corresponding components or operations may be omitted, or one or more other components or operations may be added. Alternatively or additionally, multiple components (eg, modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. . According to one embodiment, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or , or one or more other operations may be added.

Claims (20)

커스터마이징 소프트웨어 제공 장치에 있어서,
통신 모듈(도 3의 통신 모듈 310);
메모리(도 3의 메모리 330); 및
프로세서(도 3의 프로세서 320)를 포함하고,
상기 메모리는, 실행 시에, 상기 프로세서가,
상기 통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하고, 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하고, 지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하고, 상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하도록 설정된 인스트럭션들을 저장하는 커스터마이징 소프트웨어 제공 장치.
In the customizing software provision device,
Communication module (communication module 310 in FIG. 3);
Memory (memory 330 in FIG. 3); and
Includes a processor (processor 320 in FIG. 3),
The memory, when executed, the processor,
Receive device information and software information of the electronic device through the communication module, identify the existence of a designated operator associated with the electronic device based on the device information and software information of the electronic device, and determine whether the designated operator exists. If not, the first software information is provided to the electronic device, and if the designated operator exists, the first software information is provided to the electronic device when the operator is not approved based on whether or not the designated operator approves, and if the operator is approved, the first software information is provided to the electronic device. A customized software providing device that stores instructions set to provide second software information customized to the first software based on the needs of the designated business operator to an electronic device.
제1항에 있어서,
상기 전자 장치의 상기 장치 정보는 IMEI(international mobile equipment identity)를 포함하는 커스터마이징 소프트웨어 제공 장치.
According to paragraph 1,
The device information of the electronic device includes an international mobile equipment identity (IMEI).
제1항 또는 제2항에 있어서,
상기 전자 장치의 상기 소프트웨어 정보는 상기 전자 장치의 제조 또는 출고 시 탑재된 펌 웨어의 버전 정보를 포함하는 커스터마이징 소프트웨어 제공 장치.
According to claim 1 or 2,
The software information of the electronic device includes version information of firmware installed when the electronic device is manufactured or shipped.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 인스트럭션들은,
상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 국가 코드 또는 사업자 코드를 식별하고, 상기 국가 코드가 식별되면 상기 전자 장치와 연관된 지정된 사업자가 존재하지 않는 것으로 식별하고, 상기 사업자 코드가 식별되면 상기 사업자 코드에 대응하는 지정된 사업자가 존재하는 것으로 식별하도록 더 설정된 커스터마이징 소프트웨어 제공 장치.
According to any one of claims 1 to 3,
The above instructions are:
Identify a country code or operator code based on the device information and the software information of the electronic device, and if the country code is identified, identify that a designated operator associated with the electronic device does not exist, and if the operator code is identified, A customizing software providing device further configured to identify that a designated business operator corresponding to the business code exists.
제1항 내지 제4항 중 어느 한 항에 있어서,
상기 인스트럭션들은,
상기 사업자 승인 시 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하거나 상위 버전인지 식별하고, 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하지 않거나 상위 버전이 아닌 경우 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하거나 상위 버전인 경우 상기 전자 장치에 상기 제2 소프트웨어 정보를 제공하도록 더 설정된 커스터마이징 소프트웨어 제공 장치.
According to any one of claims 1 to 4,
The above instructions are:
Upon approval by the business operator, identify whether the software version of the electronic device is the same as or a higher version than the software version approved by the business operator, and if the software version of the electronic device is not the same as or a higher version than the software version approved by the business operator. Customizing software further configured to provide the first software information to the electronic device, and to provide the second software information to the electronic device when the software version of the electronic device is the same as or higher than the software version approved by the business operator. Provided device.
전자 장치에 있어서,
통신 모듈(도 1의 통신 모듈 190);
메모리(도 1의 메모리 130); 및
프로세서(도 1의 프로세서 120)를 포함하고,
상기 메모리는, 실행 시에, 상기 프로세서가,
상기 통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 소프트웨어 제공 장치에 전송하고, 상기 소프트웨어 제공 장치로부터 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 대응된 소프트웨어 정보를 수신하고, 수신된 소프트웨어 정보가 제1 소프트웨어 정보인지 상기 제1 소프트웨어에 대해 지정된 사업자의 요구에 기반하여 커스터마이징된 제2 소프트웨어 정보인지 식별하고, 상기 제1 소프트웨어 정보에 기반하여 제1 소프트웨어를 설치하거나, 상기 제2 소프트웨어 정보에 기반하여 제2 소프트웨어를 설치하도록 설정된 인스트럭션들을 저장하는 전자 장치.
In electronic devices,
Communication module (communication module 190 in FIG. 1);
memory (memory 130 in FIG. 1); and
Comprising a processor (processor 120 in FIG. 1),
The memory, when executed, the processor,
Transmitting device information and software information of the electronic device to a software providing device through the communication module, receiving software information corresponding to the device information and software information of the electronic device from the software providing device, and receiving software information Identify whether it is first software information or second software information customized based on the needs of a business operator designated for the first software, install the first software based on the first software information, or install the first software based on the second software information. An electronic device that stores instructions set to install second software based on the electronic device.
제6항에 있어서,
상기 전자 장치의 상기 장치 정보는 IMEI(international mobile equipment identity)를 포함하는 전자 장치.
According to clause 6,
The device information of the electronic device includes an international mobile equipment identity (IMEI).
제6항 또는 제7항에 있어서,
상기 전자 장치의 상기 소프트웨어 정보는 상기 전자 장치의 제조 또는 출고 시 탑재된 펌 웨어의 버전 정보를 포함하는 전자 장치.
According to clause 6 or 7,
The software information of the electronic device includes version information of firmware installed when the electronic device is manufactured or shipped.
제6항 내지 제8항 중 어느 한 항에 있어서,
상기 제1 소프트웨어 정보는 국가 코드를 포함하고,
상기 인스트럭션들은,
상기 소프트웨어 제공 장치로부터 상기 국가 코드에 대응된 제1 소프트웨어를 요청하여 다운로드 받도록 더 설정된 전자 장치.
According to any one of claims 6 to 8,
The first software information includes a country code,
The above instructions are:
The electronic device is further configured to request and download first software corresponding to the country code from the software providing device.
제6항 내지 제8항 중 어느 한 항에 있어서,
상기 제2 소프트웨어 정보는 사업자 코드를 포함하고,
상기 인스트럭션들은,
상기 소프트웨어 제공 장치로부터 상기 사업자 코드에 대응된 제2 소프트웨어를 다운로드 받도록 더 설정된 전자 장치.
According to any one of claims 6 to 8,
The second software information includes a business code,
The above instructions are:
An electronic device further configured to download second software corresponding to the business code from the software providing device.
커스터마이징 소프트웨어 제공 방법에 있어서,
통신 모듈을 통해 전자 장치로부터 상기 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하는 동작;
상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하는 동작;
지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하는 동작; 및
상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하는 동작을 포함하는 방법.
In the method of providing customized software,
Receiving device information and software information of the electronic device from the electronic device through a communication module;
Identifying whether a designated business operator associated with the electronic device exists based on the device information and the software information of the electronic device;
An operation of providing first software information to the electronic device when the designated operator does not exist; and
If the designated business operator exists, the first software information is provided to the electronic device when the business operator is not approved based on whether the designated business operator approves it, and when the business operator is approved, the first software is provided to the electronic device according to the request of the designated business operator. A method comprising providing second software information customized based on the second software information.
제11항에 있어서,
상기 전자 장치의 상기 장치 정보는 IMEI(international mobile equipment identity)를 포함하는 방법.
According to clause 11,
A method wherein the device information of the electronic device includes an international mobile equipment identity (IMEI).
제11항 또는 제12항에 있어서,
상기 전자 장치의 상기 소프트웨어 정보는 상기 전자 장치의 제조 또는 출고 시 탑재된 펌 웨어의 버전 정보를 포함하는 방법.
According to claim 11 or 12,
A method wherein the software information of the electronic device includes version information of firmware installed when the electronic device is manufactured or shipped.
제11항 내지 제13항 중 어느 한 항에 있어서,
상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 국가 코드 또는 사업자 코드를 식별하는 동작;
상기 국가 코드가 식별되면 상기 전자 장치와 연관된 지정된 사업자가 존재하지 않는 것으로 식별하는 동작; 및
상기 사업자 코드가 식별되면 상기 사업자 코드에 대응하는 지정된 사업자가 존재하는 것으로 식별하는 동작을 더 포함하는 방법.
According to any one of claims 11 to 13,
identifying a country code or operator code based on the device information and the software information of the electronic device;
If the country code is identified, identifying that a designated business operator associated with the electronic device does not exist; and
When the business code is identified, the method further includes identifying that a designated business operator corresponding to the business code exists.
제11항 내지 제14항 중 어느 한 항에 있어서,
상기 사업자 승인 시 상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하거나 상위 버전인지 식별하는 동작;
상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하지 않거나 상위 버전이 아닌 경우 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하는 동작; 및
상기 전자 장치의 소프트웨어 버전이 사업자에 의해 승인된 소프트웨어 버전과 동일하거나 상위 버전인 경우 상기 전자 장치에 상기 제2 소프트웨어 정보를 제공하는 동작을 더 포함하는 방법.
According to any one of claims 11 to 14,
Upon approval by the business operator, identifying whether the software version of the electronic device is the same as or a higher version than the software version approved by the business operator;
providing the first software information to the electronic device when the software version of the electronic device is not the same as or a higher version than the software version approved by the business operator; and
The method further includes providing the second software information to the electronic device when the software version of the electronic device is the same as or higher than the software version approved by the business operator.
전자 장치에서 소프트웨어를 제공받는 방법에 있어서,
통신 모듈을 통해 전자 장치의 장치 정보 및 소프트웨어 정보를 소프트웨어 제공 장치에 전송하는 동작;
상기 소프트웨어 제공 장치로부터 상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 대응된 소프트웨어 정보를 수신하는 동작;
상기 수신된 소프트웨어 정보가 제1 소프트웨어 정보인지 상기 제1 소프트웨어에 대해 지정된 사업자의 요구에 기반하여 커스터마이징된 제2 소프트웨어 정보인지 식별하는 동작; 및
상기 제1 소프트웨어 정보에 기반하여 제1 소프트웨어를 설치하거나, 상기 제2 소프트웨어 정보에 기반하여 제2 소프트웨어를 설치하는 동작을 포함하는 방법.
In a method of receiving software from an electronic device,
An operation of transmitting device information and software information of an electronic device to a software providing device through a communication module;
Receiving the device information of the electronic device and software information corresponding to the software information from the software providing device;
Identifying whether the received software information is first software information or second software information customized based on the needs of a business operator designated for the first software; and
A method comprising installing first software based on the first software information or installing second software based on the second software information.
제16항에 있어서,
상기 전자 장치의 상기 장치 정보는 IMEI(international mobile equipment identity)를 포함하는 방법.
According to clause 16,
A method wherein the device information of the electronic device includes an international mobile equipment identity (IMEI).
제16항 또는 제17항에 있어서,
상기 전자 장치의 상기 소프트웨어 정보는 상기 전자 장치의 제조 또는 출고 시 탑재된 펌 웨어의 버전 정보를 포함하는 방법.
According to claim 16 or 17,
A method wherein the software information of the electronic device includes version information of firmware installed when the electronic device is manufactured or shipped.
제16항 내지 제18항 중 어느 한 항에 있어서,
상기 제1 소프트웨어 정보는 국가 코드를 포함하고, 상기 소프트웨어 제공 장치로부터 상기 국가 코드에 대응된 제1 소프트웨어를 요청하여 다운로드 받는 동작; 또는
상기 제2 소프트웨어 정보는 사업자 코드를 포함하고, 상기 소프트웨어 제공 장치로부터 상기 사업자 코드에 대응된 제2 소프트웨어를 다운로드 받는 동작을 포함하는 방법.
According to any one of claims 16 to 18,
The first software information includes a country code, and requesting and downloading first software corresponding to the country code from the software providing device; or
The second software information includes an operator code, and the method includes downloading second software corresponding to the operator code from the software providing device.
명령들을 저장하고 있는 비휘발성 저장 매체에 있어서, 상기 명령들은 소프트웨어 제공 장치에 의하여 실행될 때에 상기 소프트웨어 제공 장치로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은,
통신 모듈을 통해 전자 장치로부터 상기 전자 장치의 장치 정보 및 소프트웨어 정보를 수신하는 동작;
상기 전자 장치의 상기 장치 정보 및 상기 소프트웨어 정보에 기반하여 상기 전자 장치와 연관된 지정된 사업자의 존재 여부를 식별하는 동작;
지정된 사업자가 존재하지 않는 경우 상기 전자 장치에 제1 소프트웨어 정보를 제공하는 동작; 및
상기 지정된 사업자가 존재하는 경우 상기 지정된 사업자의 승인 여부에 기반하여 사업자 미승인 시 상기 전자 장치에 상기 제1 소프트웨어 정보를 제공하고, 사업자 승인 시 상기 전자 장치에 상기 제1 소프트웨어를 상기 지정된 사업자의 요구에 기반하여 커스터마이징한 제2 소프트웨어 정보를 제공하는 동작을 포함하는 저장 매체.
A non-volatile storage medium storing instructions, wherein the instructions are set to cause the software providing device to perform at least one operation when executed by the software providing device, wherein the at least one operation includes:
Receiving device information and software information of the electronic device from the electronic device through a communication module;
Identifying whether a designated business operator associated with the electronic device exists based on the device information and the software information of the electronic device;
An operation of providing first software information to the electronic device when the designated operator does not exist; and
If the designated business operator exists, the first software information is provided to the electronic device when the business operator is not approved based on whether the designated business operator approves it, and when the business operator is approved, the first software is provided to the electronic device according to the request of the designated business operator. A storage medium including an operation of providing second software information customized based on the second software information.
KR1020220125212A 2022-09-19 2022-09-30 Apparatus and method for providing customized software KR20240039547A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/014200 WO2024063516A1 (en) 2022-09-19 2023-09-19 Customizing software provision device and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220117790 2022-09-19
KR20220117790 2022-09-19

Publications (1)

Publication Number Publication Date
KR20240039547A true KR20240039547A (en) 2024-03-26

Family

ID=90472905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220125212A KR20240039547A (en) 2022-09-19 2022-09-30 Apparatus and method for providing customized software

Country Status (1)

Country Link
KR (1) KR20240039547A (en)

Similar Documents

Publication Publication Date Title
US11449318B2 (en) Application optimization method and electronic device supporting the same
KR20220162363A (en) A method for updating application and an electronic device of the same
KR20220169318A (en) Method for customizing software, electronic device and storage medium therefor
KR20240039547A (en) Apparatus and method for providing customized software
KR20220099322A (en) Electronic device and method for managing memory using the same
US20230049967A1 (en) Electronic device and operation method thereof
US20230308880A1 (en) Electronic device and method for operating electronic device
US20240118887A1 (en) Method for updating application and electronic device thereof
US20220382534A1 (en) Method for updating application and electronic device of the same
US20230342209A1 (en) Service operation method and electronic device supporting same
WO2024063516A1 (en) Customizing software provision device and method
US20220164093A1 (en) Electronic device with expandable display
US20230297221A1 (en) Electronic device for setting background screen and operating method therefor
KR20230154724A (en) Split screenshot creation method and electronic device thereof
KR20240047867A (en) A method for updating application and an electronic device of the same
KR20240045935A (en) electronic device and method for communicating between applications
KR20220127970A (en) Electronic device for providing service and operating method thereof
KR20230028081A (en) Electronic device for detecting execution error of application and method for operating thereof
KR20240034076A (en) Electronic device providing security mode and operating method of the electronic deivce thereof
KR20240030844A (en) Electronic device and method for magnifying continuous image in the electronic device
KR20240021071A (en) Electronic device for updating firmware program and control method thereof
KR20230175068A (en) Electronic device including multi channel grip sensor and method for sensing of change of capacitance using the multi channel grip sensor
KR20230174114A (en) Electronic device comprising sensor and method for operating thereof
KR20240015538A (en) Electronic device and method for managing data
KR20240045929A (en) Method of update and electronic device therefor