Customized software providing apparatus and method

By setting up communication modules, memory and processors in electronic devices to identify and respond to the approval status of network operators, the lack of customization requirements and approval process when installing additional software is solved, and a safe and reliable software provision and installation process is achieved.

CN119895839APending Publication Date: 2025-04-25SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380067374.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-30
Filing Date
2023-09-19
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

Prior art When installing additional software in electronic devices, it is necessary to customize according to the requirements of different network operators and communication areas, and the lack of identification and approval processes lead to delays or errors in the software.

Method used

By setting up communication modules, memory and processors in the electronic device, receiving device information and software information, identifying designated operators, and providing customized software when their approval is provided, otherwise default software is provided.

Benefits of technology

The process of identifying whether the custom software is approved based on the request of the network operator is implemented, preventing unapproved custom software from being installed, reducing the burden of additional customization work, and providing default software when approval is delayed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119895839A_ABST
    Figure CN119895839A_ABST
Patent Text Reader

Abstract

A custom software provisioning device according to one embodiment includes a communication module, a memory, and a processor, where the memory may store instructions configured such that during execution thereof, the processor: receives device information and software information of an electronic device through the communication module; identifying whether there is a specified provider associated with the electronic device based on the device information and the software information of the electronic device; if the specified provider exists, providing first software information to the electronic device; if the specified provider exists, providing first software information to the electronic device when the provider is not approved based on whether the specified provider has been approved; and, upon approval by the provider, providing the electronic device with second software information obtained by customizing the first software according to a request specifying the provider.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a software providing device and method. Background Art

[0002] With the development of electronic information and communication technology, various functions are integrated into communication devices or electronic devices, and electronic devices are implemented to be able to perform interworking functions for interworking with other electronic devices via communication. For example, electronic devices (e.g., mobile terminals, tablet terminals, or wearable electronic devices) are being developed to have various other functions as well as communication functions through software installation. In addition to the default software installed at the time of manufacturing, electronic devices can also perform new, extended, or modified functions by installing additional software. Summary of the invention

[0003] Technical issues

[0004] An electronic device may be equipped with basic software (e.g., firmware) when it is manufactured or shipped, and when registered in a network or communication area (e.g., a country or region) of the electronic device, additional software may need to be installed to enable communication depending on the operator (e.g., a network operator or a communication network operator) associated with the electronic device.

[0005] Additional software to be installed on an electronic device may be required to reflect the different requirements of each electronic device-related network operator or each electronic device communication area. For example, a software provider (e.g., a software providing device) may, after releasing additional software corresponding to a specified communication area (e.g., default software or open software), obtain and store software customized as a version for each network operator (e.g., customized software or operator-oriented software) from the default software according to the request of each network operator in the specified communication area. For example, after releasing first default software corresponding to a first communication area, the software provider may obtain and store first customized software obtained by customizing the first software according to the request of a first network operator in the first communication area, and obtain and store second customized software obtained by customizing the first software according to the request of a second network operator in the first communication area.

[0006] The customized software according to the request of the network operator may require a process for the network operator to identify and approve whether the requirements are well reflected. If there is no process for identifying whether the network operator approves the customized software, the software provider can provide the customized software to the electronic device regardless of whether the network operator approves it. When the customized software is provided to the electronic device in a state where the customized software has not been approved by the network operator, if an error occurs in the unapproved customized software, the software provider may be responsible for it. When waiting for the approval of the customized software by the network operator, if the approval is delayed, the supply of the customized software by the software provider may also be delayed. When the approval for the customized software is rejected by the network operator or an additional customization request is generated for the customized software, costs may be incurred due to the additional customization work.

[0007] Technical Solution

[0008] According to an embodiment, a device for providing customized software may include a communication module, a memory, and a processor. According to an embodiment, the memory may store an instruction, which is configured to enable the processor to receive device information and software information about the electronic device through the communication module when executed. According to an embodiment, the memory may store an instruction, which is configured to enable the processor to identify whether there is a designated operator associated with the electronic device based on the device information and software information about the electronic device when executed. According to an embodiment, the memory may store an instruction, which is configured to enable the processor to provide the first software information to the electronic device when there is no designated operator when executed. According to an embodiment, the memory may store an instruction, which is configured to provide the first software information to the electronic device when the designated operator is not approved, based on whether it is approved by the designated operator, and provide the electronic device with the second software information obtained by customizing the first software based on the request of the designated operator when the operator approves.

[0009] The electronic device according to the embodiment may include a communication module, a memory and a processor. The memory according to the embodiment may store an instruction, which is configured to enable the processor to send device information and software information about the electronic device to the software providing device through the communication module when executed. The memory according to the embodiment may store an instruction, which is configured to enable the processor to receive software information corresponding to the device information and software information about the electronic device from the software providing device when executed. The memory according to the embodiment may store an instruction, which is configured to enable the processor to identify whether the received software information is the first software information or the second software information customized for the first software based on the request of the designated operator when executed. The memory according to the embodiment may store an instruction, which is configured to enable the processor to install the first software based on the first software information or install the second software based on the second software information when executed.

[0010] In a non-volatile storage medium storing instructions according to an embodiment, the instructions are configured to, when executed by an electronic device, enable the electronic device to perform at least one operation, and the at least one operation may include: receiving device information and software information about the electronic device through a communication module, identifying whether there is a designated operator associated with the electronic device based on the device information and software information about the electronic device, providing first software information to the electronic device in the absence of a designated operator, and in the presence of a designated operator, based on whether it is approved by the designated operator, providing the first software information to the electronic device when the operator has not approved, and providing the electronic device with second software information obtained by customizing the first software based on a request of the designated operator when the operator approves.

[0011] Beneficial Effects

[0012] According to an embodiment of the present disclosure, a process for identifying whether customized software is approved according to a request of a network operator may be provided.

[0013] According to an embodiment of the present disclosure, customized software can be prevented from being provided to an electronic device in a state where the customized software is not approved by a network operator.

[0014] According to an embodiment of the present disclosure, customized software may be provided when the customized software is approved after default software is provided instead of customized software, although approval of the customized software by a network operator is delayed.

[0015] According to an embodiment of the present disclosure, even if the network operator's approval of customized software is rejected or an additional customization request is generated for the customized software, since modification of the customized software can be performed in a state where the default software is provided, the burden of additional customization work can be reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 is a block diagram illustrating an electronic device in a network environment according to an embodiment;

[0017] Figure 2 is a view showing an example of a configuration of an electronic device and a software providing system according to an embodiment;

[0018] Figure 3 is a block diagram showing a software providing apparatus according to an embodiment;

[0019] Figure 4 is a flowchart showing an example of a software providing operation according to an embodiment;

[0020] Figure 5 is a flowchart illustrating an example of a software providing operation based on a software version of an electronic device according to an embodiment;

[0021] Figure 6 is a flowchart illustrating an example of an operation of receiving and installing software from an electronic device according to an embodiment;

[0022] Figure 7a is a view showing a first screen displayed when default software is installed on an electronic device according to an embodiment;

[0023] Figure 7b is a view illustrating a second screen displayed when customized software is installed on an electronic device according to an embodiment;

[0024] Figure 8a is a view showing a first home screen background and a first app (application) arrangement displayed when default software is installed on an electronic device according to an embodiment; and

[0025] Figure 8b is a view illustrating a second home screen background and a second app arrangement displayed when customized software is installed on an electronic device according to an embodiment. DETAILED DESCRIPTION

[0026] Various embodiments of the present disclosure are now described with reference to the accompanying drawings.As used herein, the term "user" may refer to a person using an electronic device or another device.

[0027] The terms used herein are provided only for describing some embodiments thereof, rather than for limiting the scope of other embodiments of the present disclosure. It should be understood that, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" include plural references. All terms used herein, including technical and scientific terms, have the same meanings as those generally understood by those of ordinary skill in the art to which the embodiments of the present disclosure belong. It will be further understood that terms (such as those defined in commonly used dictionaries) should be interpreted as having meanings consistent with their meanings in the context of the relevant art, and will not be interpreted in an idealized or overly formal sense, unless explicitly defined as such in this article. In some cases, the terms defined herein may be interpreted as excluding embodiments of the present disclosure.

[0028] Figure 1 1 is a block diagram showing an electronic device 101 in a network environment 100 according to an embodiment. Figure 1 , the electronic device 101 in the network environment 100 may communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with at least one of the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input module 150, a sound output module 155, a display module 160, an audio module 170, a sensor module 176, an interface 177, a connection terminal 178, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a user identification module (SIM) 196, or an antenna module 197. In an embodiment, at least one of the above components (e.g., the connection terminal 178) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. In embodiments, some of the above-described components (eg, sensor module 176 , camera module 180 , or antenna module 197 ) may be implemented as a single integrated component (eg, display module 160 ) 11 .

[0029] The processor 120 may run, for example, software (e.g., program 140) to control at least one other component (e.g., hardware component or software component) of the electronic device 101 connected to the processor 120, and may perform various data processing or calculations. According to an embodiment, as at least part of the data processing or calculation, the processor 120 may store a command or data received from another component (e.g., sensor module 176 or communication module 190) in the volatile memory 132, process the command or data stored in the volatile memory 132, and store the resultant data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor 123 (e.g., a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is independent of or combined with the main processor 121 in operation. For example, when the electronic device 101 includes a main processor 121 and an auxiliary processor 123, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or adapted to be dedicated to a specific function. The auxiliary processor 123 may be implemented separately from the main processor 121, or as part of the main processor 121.

[0030] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 (rather than the main processor 121) may control at least some of the functions or states related to at least one component among the components of the electronic device 1011 (e.g., the display module 160, the sensor module 176, or the communication module 190), or when the main processor 121 is in an active state (e.g., running an application), the auxiliary processor 123 may control at least some of the functions or states related to at least one component among the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) together with the main processor 121. According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., a camera module 180 or a communication module 190) that is functionally related to the auxiliary processor 123. According to an embodiment, the auxiliary processor 123 (e.g., a neural processing unit) may include a hardware structure dedicated to artificial intelligence model processing. The artificial intelligence model may be generated through machine learning. For example, such learning may be performed by the electronic device 101 where the artificial intelligence is executed or via a separate server (e.g., server 108). The learning algorithm may include, but is not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, for example. The artificial intelligence model may include multiple artificial neural network layers. The artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), or a deep Q network or a combination of two or more thereof, but is not limited thereto. Additionally or optionally, the artificial intelligence model may include a software structure in addition to a hardware structure.

[0031] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a nonvolatile memory 134.

[0032] The program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or applications 146 .

[0033] The input module 150 may receive commands or data to be used by other components (e.g., the processor 120) of the electronic device 101 from outside (e.g., a user) of the electronic device 101. The input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus).

[0034] The sound output module 155 can 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. The speaker can be used for general purposes such as playing multimedia or playing records. The receiver can be used to receive incoming calls. Depending on the embodiment, the receiver can be implemented as a separate part from the speaker, or as part of the speaker.

[0035] The display module 160 may visually provide information to the outside of the electronic device 101 (e.g., a user). The display 160 may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling a corresponding one of the display, the holographic device, and the projector. According to an embodiment, the display 160 may include a touch sensor adapted to detect a touch or a pressure sensor adapted to measure the strength of a force caused by a touch.

[0036] The audio module 170 may convert sound into an electrical signal, or vice versa. According to an embodiment, the audio module 170 may obtain sound via the input module 150, or output sound via the sound output module 155 or an earphone of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly connected to the electronic device 101.

[0037] The sensor module 176 may detect an operating state (e.g., power or temperature) of the electronic device 101 or an environmental state (e.g., a state of a user) outside the electronic device 101, and then generate an electrical signal or a data value corresponding to the detected state. According to an embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illumination sensor.

[0038] The interface 177 may support one or more specific protocols to be used to connect the electronic device 101 directly (e.g., wired) or wirelessly with an external electronic device (e.g., the electronic device 102). According to an embodiment, the interface 177 may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.

[0039] The connection end 178 may include a connector, wherein the electronic device 101 can be physically connected to an external electronic device (e.g., the electronic device 102) via the connector. According to an embodiment, the connection end 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0040] The haptic module 179 may convert the electric signal into mechanical stimulation (eg, vibration or motion) or electric stimulation that can be recognized by the user via his sense of touch or kinesthetic sense. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electric stimulator.

[0041] The camera module 180 may capture still images or moving images. According to an embodiment, the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.

[0042] The power management module 188 may manage power supply to the electronic device 101. According to an embodiment, the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

[0043] The battery 189 may power at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0044] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently from the processor 120 (e.g., an application processor (AP)) and supporting direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 190 may include 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., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Wireless Fidelity (Wi-Fi) Direct or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a traditional cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multiple components (e.g., multiple chips) separated from each other. The wireless communication module 192 may identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196.

[0045] The wireless communication module 192 may support 5G networks after 4G networks and next generation communication technologies (e.g., new radio (NR) access technologies). NR access technologies may support enhanced mobile broadband (eMBB), massive machine type communications (mMTC), or ultra-reliable low latency communications (URLLC). The wireless communication module 192 may support high frequency bands (e.g., millimeter wave bands) to achieve, for example, high data transmission rates. The wireless communication module 192 may support various technologies for ensuring performance on high frequency bands, such as, for example, beamforming, massive multiple input multiple output (massive MIMO), full dimensional MIMO (FD-MIMO), array antennas, analog beamforming, or massive antennas. 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., a second network 199). According to an embodiment, the wireless communication module 192 may support a peak data rate for implementing eMBB (e.g., 20 Gbps or greater), loss coverage for implementing mMTC (e.g., 164 dB or less), or U-plane delay for implementing URLLC (e.g., 0.5 ms or less for each of the downlink (DL) and uplink (UL), or 1 ms or less for a round trip).

[0046] The antenna module 197 may transmit or receive a signal or power to or from the outside of the electronic device 101 (e.g., an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiation element formed of a conductive material or a conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, the antenna module 197 may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by, for example, the communication module 190 (e.g., the wireless communication module 192). A signal or power may then be transmitted or received between the communication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiation element may be additionally formed as a part of the antenna module 197.

[0047] According to an embodiment, the antenna module 197 may form a millimeter wave antenna module. According to an embodiment, the millimeter wave antenna module may include a printed circuit board, a radio frequency integrated circuit (RFIC), and a plurality of antennas (e.g., array antennas), wherein the RFIC is disposed on a first surface (e.g., bottom surface) of the printed circuit board, or adjacent to the first surface and capable of supporting a designated high frequency band (e.g., millimeter wave band), and the plurality of antennas are disposed on a second surface (e.g., top surface or side surface) of the printed circuit board, or adjacent to the second surface and capable of transmitting or receiving signals of the designated high frequency band.

[0048] At least some of the above components may be connected to each other via an inter-peripheral communication scheme (e.g., a bus, a general purpose input output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)) and communicatively transfer signals (e.g., commands or data) therebetween.

[0049] According to an embodiment, a command or data may be sent or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199. Each of the electronic device 102 or the electronic device 104 may be a device of the same type as the electronic device 101, or a device of a different type from the electronic device 101. According to an embodiment, all or some operations to be executed in the electronic device 101 may be executed in one or more of the external electronic device 102, the external electronic device 104, or the server 108. For example, if the electronic device 101 should automatically execute a function or service or should execute a function or service in response to a request from a user or another device, the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service instead of executing the function or service, or the electronic device 101 may request the one or more external electronic devices to execute at least part of the function or service in addition to executing the function or service. The one or more external electronic devices receiving the request may execute at least part of the requested function or service, or execute another function or another service related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least a partial reply to the request with or without further processing the result. To this end, cloud computing technology, distributed computing technology, mobile edge computing (MEC) technology, or client-server computing technology, for example, may be used. The electronic device 101 may use, for example, distributed computing or mobile edge computing to provide ultra-low latency services. In another embodiment, the external electronic device 104 may include an Internet of Things (IoT) device. The server 108 may be an intelligent server using machine learning and / or neural networks. According to an embodiment, the external electronic device 104 or the server 108 may be included in the second network 199. The electronic device 101 may be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology or IoT-related technologies.

[0050] Figure 2 2 is a diagram showing an example of a configuration of an electronic device and a software providing system 200 according to the embodiment.

[0051] refer to Figure 2The electronic device 201 according to the embodiment may be equipped with basic software (e.g., firmware) when manufactured or shipped. When registered in a network to perform communication, the electronic device 201 according to the embodiment may receive and install additional software from the software providing system 200 (or software providing device (or software providing software version)) according to the communication area (e.g., country or region) of the electronic device or an operator (e.g., network operator or communication network operator) associated with the electronic device 201.

[0052] The additional software to be installed on the electronic device 201 according to the embodiment may be software that reflects different requirements of each communication area of ​​the electronic device or the operator associated with the electronic device 201. For example, after releasing the additional software corresponding to the specified country (e.g., default software or open software), the software providing system 200 may obtain, store, manage, and / or provide software customized to each network operator version (e.g., customized software or operator-oriented software) from the default software according to the request of each operator. For example, after releasing the first default software corresponding to the first communication area, the software providing system 200 may obtain, store, manage, and / or provide the first customized software obtained by customizing the first software according to the request of the first network operator, and obtain, store, manage, and / or provide the second customized software obtained by customizing the first software according to the request of the second network operator.

[0053] The software providing system 200 according to an embodiment may store, manage, and / or transmit each piece of software (eg, default software or customized software) to be provided to the electronic device 201 .

[0054] The software providing system 200 according to an embodiment may include a software providing device (or a software providing server or server) 208, a sell-in information storage unit 210, a sell-in information management server 212, an operator approval information storage unit 220, an operator approval information management server 222, a region code storage unit 230, a default software information storage unit 240, a customized software information storage unit 250 and / or a customized software management server 252.

[0055] The selling information storage unit 210 according to an embodiment may store selling information. For example, the selling information may include regional information or network operator information of the selling electronic device 201. According to an embodiment, the regional information may include a country code. For example, the country code may include a code representing one of a plurality of countries including South Korea, Germany, France, or the United Kingdom. For example, the network operator information may include an operator code, and the operator code may include a code representing one of a plurality of network operators including Vodafone, SK Telecom, LG Telecom, or KT.

[0056] The selling information management server 212 according to an embodiment may generate selling information based on selling of the electronic device 201, store it in the selling information storage unit 210, or manage (add, delete, or update) the selling information stored in the selling information storage unit 210.

[0057] The operator approval information storage unit 220 according to an embodiment may store operator approval versions. For example, the operator approval information storage unit 220 may also store version information of software approved by each operator. For example, the operator approval information storage unit 220 may store a first software version approved by a first operator and / or a second software version approved by a second operator.

[0058] The operator approval information management server 222 according to an embodiment may generate the approved software version information of each operator based on whether each operator approves the software version, store the approved software version information of each operator in the operator approval information storage unit 220, or manage (add or delete or update) the approved software version information of each operator stored in the operator approval information storage unit 220.

[0059] The area code storage unit 230 according to the embodiment may store a country code corresponding to the operator code. For example, if the operator code is a German operator, the country code corresponding to the operator code may be stored as a German code.

[0060] The default software information storage unit 240 according to an embodiment may store information about the default software (or open software). For example, the default software information storage unit 240 may store the default software itself for each piece of regional information (or country code) and / or the address where the default software for each piece of regional information (or country code) is stored.

[0061] The customized software information storage unit 250 according to an embodiment may store information about customized software (or operator-oriented software). For example, the customized software information storage unit 240 may store the customized software itself for each operator code and / or the address where the customized software for each operator code is stored.

[0062] The customized software management server 252 according to an embodiment may manage (add, delete, or update) the customized software itself for each carrier code and / or the address in which the customized software for each carrier code is stored through the customized software information storage unit 250 .

[0063] In the above description, according to the embodiment, the software providing system 200 includes the software providing device 208, the sold-in information storage unit 210, the sold-in information management server 212, the operator approval information storage unit 220, the operator approval information management server 222, the local code storage unit 230, the default software information storage unit 240, the customized software information storage unit 250 and / or the customized software management server 252, but the operation and information storage of each component of the software providing system 200 can be performed by at least one processor, at least one memory and / or at least one communication module. For example, the software providing system 200 includes at least one processor, at least one memory and at least one communication module, and the operation of the software providing device 208, the sold-in information storage unit 210, the sold-in information management server 212, the operator approval information management server 222, the local code storage unit 230, the default software information storage unit 240, the customized software information storage unit 250 and / or the customized software management server 252 can be performed by at least one processor, at least one memory and at least one communication unit (or communication module).

[0064] The sold-in information storage unit 210 , the operator approval information storage unit 220 , the region code storage unit 230 , the default software information storage unit 240 , and / or the customized software information storage unit 250 according to an embodiment may be implemented as one or more cloud-based remote storage devices.

[0065] According to an embodiment, a device for providing customized software may include a communication module, a memory, and a processor. According to an embodiment, the memory may store an instruction, which is configured to enable the processor to receive device information and software information about the electronic device through the communication module when executed. According to an embodiment, the memory may store an instruction, which is configured to enable the processor to identify whether there is a designated operator associated with the electronic device based on the device information and software information about the electronic device when executed. According to an embodiment, the memory may store an instruction, which is configured to enable the processor to provide the first software information to the electronic device when there is no designated operator when executed. According to an embodiment, the memory may store an instruction, which is configured to provide the first software information to the electronic device when the designated operator is not approved, based on whether it is approved by the designated operator, and provide the electronic device with the second software information obtained by customizing the first software based on the request of the designated operator when the operator approves.

[0066] The device information about the electronic device according to an embodiment may include an international mobile equipment identity (IMEI).

[0067] The software information about the electronic device according to the embodiment may include version information about firmware equipped when the electronic device is manufactured or shipped.

[0068] The instructions according to the embodiment can also be configured to identify a country code or an operator code based on device information and software information about the electronic device, and when the country code is identified, identify that there is no designated operator associated with the electronic device, and when the operator code is identified, identify that there is a designated operator corresponding to the operator code.

[0069] The instructions according to the embodiment can also be configured to: when approved by the operator, identify whether the software version of the electronic device is the same as or higher than the software version approved by the operator, when the software version of the electronic device is not the same as or higher than the software version approved by the operator, provide first software information to the electronic device, and when the software version of the electronic device is the same as or higher than the software version approved by the operator, provide second software information to the electronic device.

[0070] The electronic device according to the embodiment may include a communication module, a memory and a processor. The memory according to the embodiment may store an instruction, which is configured to enable the processor to send device information and software information about the electronic device to the software providing device through the communication module when executed. The memory according to the embodiment of the present disclosure may store an instruction, which is configured to enable the processor to receive software information corresponding to the device information and software information about the electronic device from the software providing device when executed. The memory according to the embodiment may store an instruction, which is configured to enable the processor to identify whether the received software information is the first software information or the second software information customized for the first software based on the request of the designated operator when executed. The memory according to the embodiment may store an instruction, which is configured to enable the processor to install the first software based on the first software information or install the second software based on the second software information when executed.

[0071] The device information about the electronic device according to the embodiment may include an International Mobile Equipment Identity (IMEI).

[0072] The software information about the electronic device according to the embodiment may include version information about firmware equipped when the electronic device is manufactured or shipped.

[0073] The first software information according to the embodiment may include a country code. The instructions of the electronic device according to the embodiment may also be configured to request and download the first software corresponding to the country code from the software providing device.

[0074] The second software information according to the embodiment may include an operator code. The instruction of the electronic device according to the embodiment may also be configured to download the second software corresponding to the operator code from the software providing device.

[0075] Figure 3 is a block diagram showing the software providing apparatus 208 according to the embodiment.

[0076] Reference Figure 3 According to an embodiment, the software providing apparatus 208 may include a communication module 310, a processor 320 and / or a memory 330. The software providing apparatus 208 is not limited thereto and may further include various components, and some of the above components may be omitted. According to an embodiment, the software providing apparatus 208 may further include Figure 2 The software shown provides all or part of system 200 .

[0077] The communication module 310 according to the embodiment may communicate with the electronic device 201 based on the control of the processor 320. When the sold-in information storage unit 210, the operator approval information storage unit 220, the area code storage unit 230, the default software information storage unit 240, and / or the customized software information storage unit 250 are implemented as remote storage devices, the communication module 310 according to the embodiment may communicate with the sold-in information storage unit 210, the operator approval information storage unit 220, the area code storage unit 230, the default software information storage unit 240, and / or the customized software information storage unit 250 based on the control of the processor 320. For example, the communication module 310 may include 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 or a power line communication module). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as a plurality of components (e.g., a plurality of chips) separated from each other.

[0078] The processor 320 according to an embodiment may receive device information and software information about the electronic device 201 from the electronic device 201 through the communication module 310. When the electronic device 201 is registered in the network to be able to perform communication, the processor 320 according to an embodiment may receive device information and software information about the electronic device 201 sent from the electronic device 201. For example, the device information about the electronic device 201 may include an International Mobile Equipment Identity (IMEI) (or a terminal identification number). For example, the software information about the electronic device 201 may include version information about basic software (e.g., firmware) installed when the electronic device 201 is manufactured or shipped.

[0079] The processor 320 according to an embodiment may identify the sold-in information based on the device information and software information about the electronic device 201. For example, the processor 320 may identify the region (or country) information or operator information corresponding to the device information and software information about the electronic device 201 using the sold-in information stored in the sold-in information storage unit 210.

[0080] The processor 320 according to an embodiment may identify whether a designated operator exists based on the regional (or national) information or operator information corresponding to the device information and software information about the electronic device 201. For example, the processor 320 may identify whether the electronic device 201 is sold as available in a specific country without specifying an operation (open type) or sold with a specified operation (towards an operator) based on the regional (or national) information or operator information corresponding to the device information and software information about the electronic device 201. For example, if a country code corresponding to the device information and software information about the electronic device 201 is identified, the processor 320 may identify that the electronic device 201 is sold (open type) as available in a specific country corresponding to the country code without specifying an operator. For example, if an operator code corresponding to the device information and software information about the electronic device 201 is identified, the processor 320 may identify that the electronic device 201 is sold (towards an operator) as being usable by an operator of the identified operator code.

[0081] When there is no designated operator associated with the electronic device 201, the processor 320 according to an embodiment may identify first software information (e.g., default software information or open software information). For example, the default software information may be software that is not customized by a network operator, as software to be additionally installed corresponding to a country in which communication is to be performed in addition to software pre-installed on the electronic device 201. The processor 320 according to an embodiment may send the 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. When the first software information includes a country code, the electronic device 201 according to an embodiment may request the first software corresponding to the country code from the software providing device 208 and download the first software from the software providing device 208.

[0082] When there is a designated operator associated with the electronic device 201, the processor 320 according to an embodiment can identify whether it is approved by the operator. For example, the processor 320 can use the information stored in the operator approval information storage unit 220 to identify the approved software version information of the designated operator about the software version of the electronic device 201.

[0083] If not approved by the operator, the processor 320 according to the embodiment may identify the first software information (e.g., default software information or open software information) and send it to the electronic device 201. If approved by the operator, the processor 320 according to the embodiment may identify the second software information (e.g., customized software information) corresponding to the specified operator and obtained by customizing the first software information. For example, the processor 320 may use the information stored in the customized software information storage unit 250 to identify the customized software itself corresponding to the specified operator code and / or the specified operator code for downloading the specified operator code. The processor 320 according to the embodiment may send the second software information to the electronic device 201. For example, the second software information may include an operator code for downloading the second software or may include the second software itself. When the second software information includes the operator code, the electronic device 201 according to the embodiment may request the second software corresponding to the operator code from the software providing device 208 and download the second software from the software providing device 208.

[0084] The processor 320 according to an embodiment may identify whether the software version of the electronic device 201 is the same as or higher than the software version approved by the operator in the state approved by the operator. When the software version of the electronic device 201 is different from or not higher than the software version approved by the operator in the state approved by the operator, the processor 320 according to an embodiment may identify the first software information (e.g., default software information or open software information) and send it to the electronic device 201. If the software version of the electronic device 201 in the state approved by the operator is the same as or higher than the software version approved by the operator, the processor 320 according to an embodiment may identify the second software information (e.g., customized software information) and send it to the electronic device 201.

[0085] According to an embodiment, the memory 330 may store various data generated during the execution of the program 140, as well as programs for functional operations (eg, Figure 1 The memory 250 may include a program area 140 and a data area (not shown). The program area 140 may store relevant program information for driving the electronic device 201, such as an operating system (OS) for booting the electronic device 201 (e.g., Figure 1 For example, the memory 250 may include at least one storage medium of a flash memory, a hard disk, a multimedia card, a micro memory (eg, a secure digital (SD) or an extreme digital (xD) memory), a random access memory (RAM), or a read-only memory (ROM).

[0086] Figure 4 is a flowchart illustrating an example of a software providing operation according to an embodiment.

[0087] refer to Figure 4 , according to the software providing device of the embodiment (for example, Figure 1 Server 108 or Figure 2 The software providing device 208) is provided to a processor (eg, Figure 2 The processor 320 of the embodiment may perform at least one of operations 410 to 480.

[0088] In operation 410, the processor 320 according to an embodiment may receive device information and software information about the electronic device 201 from the electronic device 201 through the communication module 310. When the electronic device 201 is registered in the network to be able to perform communication, the processor 320 according to an embodiment may receive device information and software information about the electronic device 201 sent from the electronic device 201. For example, the device information about the electronic device 201 may include an International Mobile Equipment Identity (IMEI) (or a terminal identification number). For example, the software information about the electronic device 201 may include version information about basic software (e.g., firmware) installed when the electronic device 201 is manufactured or shipped.

[0089] In operation 420, the processor 320 according to an embodiment may identify the sold-in information based on the device information and the software information about the electronic device 201. For example, the processor 320 may identify the region (or country) information or the operator information corresponding to the device information and the software information about the electronic device 201 using the sold-in information stored in the sold-in information storage unit 210.

[0090] In operation 430, the processor 320 according to an embodiment may identify whether a designated operator exists based on the regional (or national) information or operator information corresponding to the device information and software information about the electronic device 201. For example, the processor 320 may identify whether the electronic device 201 is sold as available in a specific country without specifying an operation (whether it is an open type) or sold with a specified operation (whether it is oriented to an operator) based on the regional (or national) information or operator information corresponding to the device information and software information about the electronic device 201. For example, if a country code corresponding to the device information and software information about the electronic device 201 is identified, the processor 320 may identify that the electronic device 201 is sold (open type) as available in a specific country corresponding to the country code without specifying an operator. For example, if an operator code corresponding to the device information and software information about the electronic device 201 is identified, the processor 320 may identify that the electronic device 201 is sold (oriented to an operator) as available by an operator of the identified operator code.

[0091] In operation 440, when there is no designated operator associated with the electronic device 201, the processor 320 according to an embodiment may identify first software information (e.g., default software information or open software information). For example, the default software information may be software that is not customized by a network operator as software to be additionally installed corresponding to a country in which communication is to be performed in addition to software pre-installed on the electronic device 201.

[0092] In operation 450, the processor 320 according to an embodiment may send the 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. When the first software information includes the country code, the electronic device 201 according to an embodiment may request the first software corresponding to the country code from the software providing device 208 and download the first software from the software providing device 208.

[0093] In operation 460, when there is a designated operator associated with the electronic device 201, the processor 320 according to an embodiment may identify whether it is approved by the operator. For example, the processor 320 may use the information stored in the operator approval information storage unit 220 to identify the approved software version information of the designated operator about the software version of the electronic device 201. If it is not approved by the operator, the processor 320 according to an embodiment may perform operations 440 and 450 to send the first software information (e.g., default software information or open software information) to the electronic device 201.

[0094] In operation 470 , if approved by the operator, the processor 320 according to an embodiment may identify second software information (eg, customized software information) obtained by customizing the first software information corresponding to the designated operator.

[0095] In operation 480, the processor 320 according to an embodiment may send the identified second software information to the electronic device 201. For example, the second software information may include an operator code for downloading the second software or may include the second software itself. When the second software information includes the operator code, the electronic device 201 according to an embodiment may request the second software corresponding to the operator code from the software providing device 208 and download the second software from the software providing device 208.

[0096] The customized software providing method according to the embodiment may include receiving device information and software information about the electronic device from the electronic device through a communication module. The method according to the embodiment may include identifying whether there is a designated operator associated with the electronic device based on the device information and software information about the electronic device. The method according to the embodiment may include: in the absence of a designated operator, providing first software information to the electronic device. The method according to the embodiment may include: in the presence of a designated operator, based on whether it is approved by the designated operator, providing the first software information to the electronic device when it is not approved by the operator, and providing the electronic device with second software information obtained by customizing the first software based on the request of the designated operator when the operator approves.

[0097] In the method according to the embodiment, the device information about the electronic device may include an International Mobile Equipment Identity (IMEI).

[0098] In the method according to the embodiment, the software information about the electronic device may include version information about firmware equipped when the electronic device is manufactured or shipped.

[0099] The method according to an embodiment may include identifying a country code or an operator code based on device information and software information about the electronic device. The method according to an embodiment may include: in the case of identifying the country code, identifying that there is no designated operator associated with the electronic device. The method according to an embodiment may include, in the case of identifying the operator code, identifying that there is a designated operator corresponding to the operator code.

[0100] The method according to an embodiment may include: when the operator approves, identifying whether the software version of the electronic device is the same as or higher than the software version approved by the operator. The method according to an embodiment may include: when the software version of the electronic device is different from or not higher than the software version approved by the operator, providing the first software information to the electronic device. The method according to an embodiment may include: when the software version of the electronic device is the same as or higher than the software version approved by the operator, providing the second software information to the electronic device.

[0101] Figure 5 is a flowchart illustrating an example of a software providing operation based on a software version of an electronic device according to an embodiment.

[0102] refer to Figure 5 , according to the software providing device of the embodiment (for example, Figure 1 Server 108 or Figure 2 The software providing device 208) is provided to a processor (eg, Figure 2 The processor 320 of the embodiment may perform at least one of operations 510 to 580.

[0103] In operation 510, the processor 320 according to an embodiment may receive device information and software information about the electronic device 201 from the electronic device 201 through the communication module 310. When the electronic device 201 is registered in the network to be able to perform communication, the processor 320 according to an embodiment may receive device information and software information about the electronic device 201 sent from the electronic device 201. For example, the device information about the electronic device 201 may include an International Mobile Equipment Identity (IMEI) (or a terminal identification number). For example, the software information about the electronic device 201 may include version information about basic software (e.g., firmware) installed when the electronic device 201 is manufactured or shipped.

[0104] In operation 520, the processor 320 according to an embodiment may identify the sold-in information based on the device information and the software information about the electronic device 201. For example, the processor 320 may identify the region (or country) information or the operator information corresponding to the device information and the software information about the electronic device 201 using the sold-in information stored in the sold-in information storage unit 210.

[0105] In operation 530, the processor 320 according to an embodiment may identify whether it is necessary to identify whether it is approved by the operator. For example, the processor 320 may identify the approval of the operator based on the device information and software information about the electronic device 201, and identify whether it is necessary to provide software (for example, a state where the TSS 2.1 process needs to be applied). For example, the processor 320 may identify whether it is in a state configured to use a process of providing non-customized first software information or customized second software, depending on whether the operator approves the device information and software information about the electronic device 201. The processor 320 according to an embodiment may identify whether it is approved by the operator, and if it is not in a state where software needs to be provided, the corresponding function is performed in operation 532. A software providing operation may be performed. For example, the processor 320 may identify whether it is approved by the operator, and if it is not in a state where software needs to be provided, software information is provided regardless of whether it is approved by the operator. The processor 320 according to an embodiment may identify whether it is approved by the operator, and when it is in a state where software needs to be provided, operation 540 is performed.

[0106] In operation 540, the processor 320 according to an embodiment may identify whether a designated operator exists based on the region (or country) information or operator information corresponding to the device information and software information about the electronic device 201. For example, the processor 320 may identify whether the electronic device 201 is sold as available in a specific country without specifying an operation (whether it is open type) or sold with a specified operation (whether it is for operators) based on the region (or country) information or operator information corresponding to the device information and software information about the electronic device 201. For example, if a country code corresponding to the device information and software information about the electronic device 201 is identified, the processor 320 may identify that it is sold (open) as available in a specific country corresponding to the country code without specifying an operator. For example, if an operator code corresponding to the device information and software information about the electronic device 201 is identified, the processor 320 may identify that it is sold (for operators) as usable by an operator of the identified operator code.

[0107] In operation 542, when there is no designated operator associated with the electronic device 201, the processor 320 according to an embodiment may identify first software information (e.g., default software information or open software information). For example, the default software information may be software that is not customized by a network operator as software to be additionally installed corresponding to a country in which communication is to be performed in addition to software pre-installed on the electronic device 201.

[0108] In operation 544, the processor 320 according to an embodiment may send the 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. When the first software information includes the country code, the electronic device 201 according to an embodiment may request the first software corresponding to the country code from the software providing device 208 and download the first software from the software providing device 208.

[0109] In operation 550, when there is a designated operator associated with the electronic device 201, the processor 320 according to an embodiment may identify whether it is approved by the operator. For example, the processor 320 may use the information stored in the operator approval information storage unit 220 to identify the approved software version information of the designated operator about the software version of the electronic device 201. If it is not approved by the operator, the processor 320 according to an embodiment may perform operations 542 and 544 to send the first software information (e.g., default software information or open software information) to the electronic device 201. If it is in the operator approved state, the processor 320 according to an embodiment may perform operation 560.

[0110] In operation 560, the processor 320 according to an embodiment may identify whether the software version of the electronic device 201 is the same as or higher than the software version approved by the operator in the state approved by the operator. The processor 320 according to an embodiment may perform operations 542 and 544 in the state approved by the operator to send first software information (e.g., default software information or open software information) to the electronic device 201 when the software version of the electronic device 201 is different from or not higher than the software version approved by the operator. If the software version of the electronic device 201 is the same as or higher than the software version approved by the operator in the state approved by the operator, the processor 320 according to an embodiment may perform operation 570.

[0111] In operation 570 , if the software version of the electronic device 201 in the state approved by the operator is the same as or higher than the software version approved by the operator, the processor 320 according to an embodiment may identify second software information (eg, customized software information).

[0112] In operation 580, the processor 320 according to an embodiment may send the second software information (e.g., customized software information) to the electronic device 201. For example, the second software information may include an operator code for downloading the second software or may include the second software itself. When the second software information includes the operator code, the electronic device 201 according to an embodiment may request the second software corresponding to the operator code from the software providing device 208 and download the second software from the software providing device 208.

[0113] Figure 6 is a flowchart illustrating an example of an operation of receiving and installing software from an electronic device according to an embodiment.

[0114] refer to Figure 6 , according to the electronic device of the embodiment (eg, Figure 1 The electronic device 101 or Figure 2 A processor (eg, Figure 1 The processor 120 of the embodiment may perform at least one of operations 610 to 650.

[0115] In operation 610, the processor 120 according to an embodiment may send device information and software information about the electronic device 201 to the software providing device 208. When registering in the network to be able to perform communication, the processor 120 according to an embodiment may send device information and software information about the electronic device 201 to the software providing device 208. For example, the device information about the electronic device 201 may include an International Mobile Equipment Identity (IMEI) (or a terminal identification number). For example, the software information about the electronic device 201 may include version information about basic software (e.g., firmware) installed when the electronic device 201 is manufactured or shipped.

[0116] In operation 620, the processor 120 according to an embodiment may receive software information corresponding to the device information and software information about 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 pre-equipped basic software (e.g., firmware) from the software providing device 208 based on the device information and software information about the electronic device 201. For example, the software information to be additionally installed may include first software (e.g., default software or open software) information corresponding to a specified country or second software (e.g., customized software or operator-oriented software) information customized from the default software to a version for each network operator according to a request of each operator.

[0117] In operation 630, the processor 120 according to an embodiment may identify whether the received software information is the first software information or the customized second software information. For example, the processor 120 may use the customization identification information included in the received software information to identify whether the received software information is the first software information or the customized second software information.

[0118] In operation 640, the processor 120 according to an embodiment may install the first software using the first software information. For example, the first software information may include a country code for downloading the first software or may include the first software itself. When the first software information includes the country code, the processor 120 according to an embodiment may request the first software corresponding to the country code from the software providing device 208 and download the first software from the software providing device 208.

[0119] In operation 650, the processor 120 according to an embodiment may use the second software information to install the second software. For example, the second software information may include an operator code for downloading the second software or may include the second software itself. When the second software information includes the operator code, the processor 120 according to an embodiment may request the software providing device 208 for the second software corresponding to the operator code, and download the second software from the software providing device 208.

[0120] According to an embodiment, a method for receiving software from an electronic device may include sending device information and software information about the electronic device to a software providing device. In an electronic device according to an embodiment, the method may include receiving software information corresponding to the device information and software information about 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 for the first software based on a request of a designated operator. In an electronic device according to an embodiment, the method may include installing the first software based on the first software information or installing the second software based on the second software information.

[0121] In the method of the electronic device according to the embodiment, the device information about the electronic device may include an International Mobile Equipment Identity (IMEI).

[0122] In the method of the electronic device according to the embodiment, the software information about the electronic device may include version information about firmware equipped when the electronic device is manufactured or shipped.

[0123] In the method of the electronic device according to the embodiment, the first software information may include a country code. The method of the electronic device may include requesting and downloading the first software corresponding to the country code from the software providing device. In the method of the electronic device according to the embodiment, the second software information may include an operator code. The method of the electronic device may include downloading the second software corresponding to the operator code from the software providing device.

[0124] Figure 7a is a view illustrating a first screen displayed when default software is installed on an electronic device according to an embodiment. Figure 7b is a view illustrating a second screen displayed when customized software is installed on the electronic device according to an embodiment.

[0125] refer to Figure 7a , the electronic device 201 according to an embodiment may display a first screen 710 associated with the default software when the default software is installed. For example, the first screen 710 may be a non-customized screen that does not reflect a requirement from an operator.

[0126] refer to Figure 7b , the electronic device 201 according to the embodiment may display the second screen 710 associated with the customized software when the customized software is installed. For example, the second screen 710 may be a screen customized to reflect the requirements of the communication operator A.

[0127] Figure 8a is a view illustrating a first home screen background and a first app (application) arrangement displayed when default software is installed on an electronic device according to an embodiment. Figure 8bis a view illustrating a second home screen background and a second app arrangement displayed when customized software is installed on an electronic device according to an embodiment.

[0128] refer to Figure 8a , the electronic device 201 according to the embodiment can configure the first home screen background 810 and the first app arrangement 820 according to the first home screen background and the first app arrangement associated with the default software when the default software is installed. For example, the first home screen background 810 and the first app arrangement 820 can be an uncustomized home screen background and app arrangement without reflecting the requirements of the operator.

[0129] refer to Figure 8b According to the embodiment, the electronic device 201 can configure the second home screen background 812 and the second app arrangement 822 according to the second home screen background and the second app arrangement associated with the customized software when installing the customized software. For example, the second home screen background 812 and the second app arrangement 822 can be a home screen background and an app arrangement customized to reflect the requirements of the operator.

[0130] The electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a household appliance. According to an embodiment of the present disclosure, the electronic device is not limited to those electronic devices described above.

[0131] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, but include various changes, equivalent forms or alternative forms for the corresponding embodiments. For the description of the accompanying drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that the nouns in the singular form corresponding to the term may include one or more things unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as "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 "at least one of A, B or C" may include any one or all possible combinations of the items listed together with the corresponding one of the multiple phrases. As used herein, terms such as "1st" and "2nd" or "first" and "second" may be used to simply distinguish the corresponding component from another component, and do not limit the component in other aspects (e.g., importance or order). It will be understood that if an element (e.g., a first element) is referred to as being “coupled with another element (e.g., the second element)”, “coupled to another element (e.g., the second element)”, “connected with another element (e.g., the second element)”, or “connected to another element (e.g., the second element)” with or without the terms “operably” or “communicatively” being used, it means that the element may be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.

[0132] As used in connection with various embodiments of the present disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "portion," or "circuit"). A module may be a single integrated component adapted to perform one or more functions or a minimum unit or portion of the single integrated component. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).

[0133] The various embodiments described herein may be implemented as software (e.g., program 140) including one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). For example, under the control of a processor, a processor (e.g., processor 520) of the machine (e.g., electronic device 301) may call at least one of the one or more instructions stored in the storage medium and execute the at least one instruction with or without the use of one or more other components. This enables the machine to operate 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. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Among them, the term "non-transitory" only means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but the term does not distinguish between data being semi-permanently stored in the storage medium and data being temporarily stored in the storage medium.

[0134] According to an embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be published in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)), or may be published online (e.g., downloaded or uploaded) via an application store (e.g., Play StoreTM), or may be distributed (e.g., downloaded or uploaded) directly between two user devices (e.g., smart phones). If published online, at least part of the computer program product may be temporarily generated, or at least part of the computer program product may be at least temporarily stored in a machine-readable storage medium (such as a manufacturer's server, an application store's server, or a memory of a forwarding server).

[0135] According to an embodiment of the present disclosure, in a non-volatile storage medium storing instructions, the instructions are configured to, when executed by an electronic device, enable the electronic device to perform at least one operation, and the at least one operation may include: receiving device information and software information about the electronic device through a communication module, identifying whether there is a designated operator associated with the electronic device based on the device information and software information about the electronic device, providing first software information to the electronic device if there is no designated operator, and if there is a designated operator, providing the first software information to the electronic device if the operator has not approved it based on whether it is approved by the designated operator, and providing the electronic device with second software information obtained by customizing the first software based on a request of the designated operator if the operator approves it.

[0136] According to an embodiment, each of the above-mentioned components (e.g., a module or a program) may include a single entity or multiple entities, and some of the multiple entities may be separately arranged in different components. According to an embodiment, one or more of the above-mentioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., a module or a program) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each of the multiple components in the same or similar manner as a corresponding one of the multiple components performing one or more functions before integration. According to various embodiments, the operations performed by a module, a program or another component may be performed sequentially, in parallel, repeatedly or in a heuristic manner, or one or more of the operations may be run or omitted in a different order, or one or more other operations may be added.

Claims

1. A customized software providing device, comprising: Communication module (communication module 310 of FIG. 3 ); Memory (memory 330 of FIG. 3 ); and a processor (the processor 320 of FIG. 3 ), wherein the memory stores instructions configured to, when executed, cause the processor to: receiving device information and software information about the electronic device through the communication module, identifying whether there is a designated carrier associated with the electronic device based on the device information and the software information about the electronic device, In the absence of the designated operator, providing first software information to the electronic device, and In the case where the designated operator exists, based on whether it is approved by the designated operator, first software information is provided to the electronic device when the operator does not approve, and second software information obtained by customizing the first software based on the request of the designated operator is provided to the electronic device when the operator approves.

2. The customized software providing device according to claim 1, in, The device information about the electronic device includes an International Mobile Equipment Identity (IMEI).

3. The customized software providing device according to claim 1 or 2, in, The software information about the electronic device includes version information about firmware equipped when the electronic device is manufactured or shipped.

4. The customized software providing device according to any one of claims 1 to 3, in, The instructions are also configured to: identify a country code or an operator code based on the device information and the software information about the electronic device, and when the country code is identified, identify that the designated operator associated with the electronic device does not exist, and when the operator code is identified, identify that the designated operator corresponding to the operator code exists.

5. The customized software providing device according to any one of claims 1 to 4, in, The instructions are configured to: when approved by the operator, identify whether the software version of the electronic device is the same as or higher than the software version approved by the operator; when the software version of the electronic device is different from or not higher than the software version approved by the operator, provide first software information to the electronic device; and when the software version of the electronic device is the same as or higher than the software version approved by the operator, provide second software information to the electronic device.

6. An electronic device comprising: Communication module (communication module 190 of FIG. 1 ); Memory (memory 130 of FIG. 1 ); and A processor (the processor 120 of FIG. 1 ), wherein the memory stores instructions that, when executed, are configured to enable the processor to: The device information and software information about the electronic device are sent to the software providing device through the communication module, the software information corresponding to the device information and software information about the electronic device is received from the software providing device, it is identified whether the received software information is the first software information or the second software information customized for the first software based on the request of the designated operator, and the first software is installed based on the first software information or the second software is installed based on the second software information.

7. The electronic device according to claim 6, wherein: The device information about the electronic device includes an International Mobile Equipment Identity (IMEI).

8. The electronic device according to claim 6 or 7, wherein: The software information about the electronic device includes version information about firmware equipped when the electronic device is manufactured or shipped.

9. The electronic device according to any one of claims 6 to 8, wherein: The first software information includes a country code, and wherein the instructions are further configured to request and download the first software corresponding to the country code from the software providing device.

10. The electronic device according to any one of claims 6 to 8, wherein: The second software information includes an operator code, and wherein the instruction is further configured to download the second software corresponding to the operator code from the software providing device.

11. A method for providing customized software, comprising: receiving device information and software information about the electronic device from the electronic device through the communication module; identifying whether there is a designated carrier associated with the electronic device based on the device information and the software information about the electronic device; In the absence of the designated operator, providing first software information to the electronic device; and In the case where the designated operator exists, based on whether it is approved by the designated operator, first software information is provided to the electronic device when the operator does not approve, and second software information obtained by customizing the first software based on the request of the designated operator is provided to the electronic device when the operator approves.

12. The customized software providing method according to claim 11, further comprising: identifying a country code or an operator code based on the device information and the software information about the electronic device; upon identifying the country code, identifying that there is no designated operator associated with the electronic device; and When the operator code is identified, it is identified that there is a designated operator corresponding to the operator code, wherein the device information about the electronic device includes an International Mobile Equipment Identity (IMEI), and the software information about the electronic device includes version information about the firmware equipped when the electronic device is manufactured or shipped.

13. The customized software providing method according to claim 11 or 12, further comprising: When approved by the operator, identifying whether the software version of the electronic device is the same as or higher than the software version approved by the operator; When the software version of the electronic device is different from or not higher than the software version approved by the operator, providing the first software information to the electronic device; and When the software version of the electronic device is the same as or higher than the software version approved by the operator, the second software information is provided to the electronic device.

14. A method for receiving software from an electronic device, comprising: sending device information and software information about the electronic device to the software providing device through the communication module; receiving, from the software providing device, software information corresponding to the device information and the software information regarding the electronic device; identifying whether the received software information is first software information or second software information customized for the first software based on a request of a designated operator; and The first software is installed based on the first software information, or the second software is installed based on the second software information.

15. The method according to claim 14, further comprising: Requesting and downloading first software corresponding to a country code from a software providing device, wherein the first software information includes the country code; or downloading second software corresponding to the operator code from the software providing device, wherein the second software information includes the operator code; The device information about the electronic device includes an International Mobile Equipment Identity (IMEI), and the software information about the electronic device includes version information about firmware equipped when the electronic device is manufactured or shipped.