Electronic device and method to change binary of the electronic device
Patent Information
- Application Number
- KR1020210004405
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-01-13
- Publication Date
- 2026-10-13
- Estimated Expiration
- 2041-01-13
Smart Images

Figure R1020210004405_ABST
Abstract
Description
Technology Field
[0001] Various embodiments of this document relate to electronic devices, for example, to electronic devices that can initialize a binary already applied within an electronic device and easily change it to another binary or to an unlocked terminal. Background Technology
[0003] With the development of mobile communication and hardware and / or software technologies, portable electronic devices (hereinafter referred to as "electronic devices"), such as smartphones, have become capable of incorporating various functions. Electronic devices can store various software in memory, and software binaries (or system software), such as bootloaders, operating systems, or device drivers, can be written to or flashed to a designated area of memory.
[0004] Software binaries can be initially written to the memory of an electronic device during the manufacturing process, and subsequently, users can update the software binaries using an update tool on another device connected to the electronic device. After such initial writing or updating of system software, a reboot process may be required to use the electronic device again. The problem to be solved
[0006] In conventional electronic devices, after recording the binary, the manufacturer had to directly collect the device, rework it, and then resell it to the user in order to change it to a different binary or a self-contained version.
[0007] When used terminals are supplied to designated carriers, their usability as used terminals is reduced because the binary is fixed to that carrier's software, and there was a problem where additional labor costs were incurred if the manufacturer had to rework them.
[0008] The various embodiments of this document aim to provide a more efficient method of modification in terms of time and cost when an electronic device intends to modify a software binary after writing it to memory as described above. means of solving the problem
[0010] An electronic device according to various embodiments comprises a first communication module for communicating with an electronic device and an external server, a first memory for storing device information and production information of a plurality of electronic devices received from the external server, and a first processor operatively connected to the first communication module and the first memory. The first processor receives unique state information from the electronic device connected to the system server, compares the received unique state information with the device information of a plurality of electronic devices stored in the first memory to determine whether a binary change is required for the electronic device, generates change information including information about the binary to be changed, and transmits the generated change information to the electronic device.
[0011] An electronic device according to various embodiments comprises a second communication module for communicating with a system server, unique state information including at least one of a terminal's unique ID, model number, and binary information, a second memory storing user data and a plurality of binaries, and a second processor operatively connected to the second communication module and the second memory, wherein the second processor connects to the system server, transmits the unique state information to the system server, receives change information regarding a first binary applied to the electronic device from the system server, and can change the binary information based on the received change information.
[0012] A method for modifying the binary of an electronic device according to various embodiments may include the operation of the electronic device connecting to a system server, the operation of transmitting unique state information to the system server, the operation of receiving modification information for a first binary applied to the electronic device, and the operation of modifying the binary information based on the received modification information. Effects of the invention
[0014] According to various embodiments, the user can use the system to change a carrier software binary fixed to the terminal to a different carrier binary or to a self-provided terminal.
[0015] Furthermore, effects that can be obtained or predicted by various embodiments of the present invention will be disclosed directly or implicitly in the detailed description of the embodiments of the present invention. For example, various effects predicted according to various embodiments of the present invention will be disclosed in the detailed description to be set forth below. Brief explanation of the drawing
[0017] FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments. FIG. 2 is a block diagram of a system server according to various embodiments. FIG. 3 is a block diagram of an electronic device according to various embodiments. FIG. 4 is a configuration diagram of an external server and a system server according to various embodiments. FIG. 5 illustrates a user input screen of a system server according to various embodiments. FIG. 6 is a configuration diagram of an electronic device and a system server according to various embodiments. FIGS. 7a, FIGS. 7b, FIGS. 7c, and FIGS. 7d illustrate binary change screens of electronic devices according to various embodiments. FIG. 8 is a flowchart of a binary modification method of an electronic device according to various embodiments. FIG. 9 is a flowchart illustrating the operation of an external server and a system server according to various embodiments. FIG. 10 is a flowchart illustrating the operation of an electronic device and a system server according to various embodiments. FIG. 11 is a flowchart of the operation of a system server according to various embodiments. Specific details for implementing the invention
[0018] FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or may communicate with at least one of an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through a server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input module (150), sound output module (155), display module (160), audio module (170), sensor module (176), interface (177), connection terminal (178), haptic module (179), camera module (180), power management module (188), battery (189), communication module (190), subscriber identification module (196), or antenna module (197). In some embodiments, at least one of these components (e.g., connection terminal (178)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (176), camera module (180), or antenna module (197)) may be integrated into a single component (e.g., display module (160)).
[0019] The processor (120) can control at least one other component (e.g., hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., program (140)), for example, and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can store commands or data received from other components (e.g., sensor module (176) or communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., central processing unit or application processor) or an auxiliary processor (123) that can operate independently or together with it (e.g., graphics processing unit, neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor). For example, if the electronic device (101) includes a main processor (121) and an auxiliary processor (123), the auxiliary processor (123) may be configured to use lower power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.
[0020] The auxiliary processor (123) may control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display module (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)). According to one embodiment, the auxiliary processor (123) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers.An 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), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.
[0021] The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).
[0022] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0023] The input module (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). 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 pen).
[0024] The sound output module (155) can output a sound signal to the outside of the electronic device (101). The sound output module (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.
[0025] The display module (160) can visually provide information to an external (e.g., user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch.
[0026] The audio module (170) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150) or output sound through the sound output module (155) or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphones) connected directly or wirelessly to the electronic device (101).
[0027] The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0028] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0029] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0030] The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.
[0031] The camera module (180) can capture still images and video. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0032] The power management module (188) can manage the power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).
[0033] The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0034] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (104) through a first network (198) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (199) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).
[0035] The wireless communication module (192) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (192) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate, for example. The wireless communication module (192) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full-dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), external electronic device (e.g., electronic device (104)), or network system (e.g., second network (199)). According to one embodiment, the wireless communication module (192) can support a Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 164 dB or less) for realizing mMTC, or U-plane latency (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less) for realizing URLLC.
[0036] An antenna module (197) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one 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 method used in a communication network, such as a first network (198) or a second network (199), may be selected from the plurality of antennas, for example, by a communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (197).
[0037] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band.
[0038] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.
[0039] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server using machine learning and / or neural networks. According to one embodiment, the external electronic device (104) or the server (108) may be included within a second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0040] The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.
[0041] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, 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 each include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish said components from other said components and do not limit said components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as “coupled” or “connected” to another (e.g., 2nd) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.
[0042] The term “module” as used in the various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0043] Various embodiments of the present document may be implemented as software (e.g., program (140)) comprising one or more instructions stored in a storage medium (e.g., internal memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.
[0044] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included 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 distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or distributed online (e.g., download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
[0045] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0047] FIG. 2 is a block diagram of a system server according to various embodiments.
[0048] Referring to FIG. 2, the system server (200) (e.g., the server (108) of FIG. 1) may include a first communication module (220), a first processor (210), and / or a first memory (230), and some of the configurations shown in various embodiments may be omitted or substituted. At least some of the configurations of the system server (200) shown (or not shown) may be operatively, functionally, and / or electrically connected. The system server (200) may be composed of a plurality of server devices connected to each other over a network, and each function may be distributed across different server devices.
[0049] According to various embodiments, the first communication module (220) can communicate with an external device (e.g., the electronic device (101) of FIG. 1, or the electronic device (300) of FIG. 3) through a network under the control of the first processor (210).
[0050] According to various embodiments, the first memory (230) may include volatile memory and non-volatile memory, and may store various data temporarily or permanently.
[0051] According to various embodiments, the first memory (230) may store various instructions that can be executed by the first processor (210). Such instructions may include control commands such as arithmetic and logical operations, data movement, or input / output that can be recognized by the first processor (210).
[0052] According to various embodiments, the first processor (210) may be configured to be operatively, functionally, and / or electrically connected to each component of the system server (200), such as the first communication module (220) and the first memory (230), and capable of performing operations or data processing regarding the control and / or communication of each component.
[0053] According to various embodiments, there may be no limitations on the computation and data processing functions that the first processor (210) can implement on the system server (200), but below, various embodiments for modifying the binary of an electronic device without rework by linking with an electronic device and an external server will be described. The operations of the first processor (210) described below can be performed by loading instructions stored in the first memory (230).
[0054] According to various embodiments, the first processor (210) may communicate with an external server using the first communication module (220) to receive device information and / or production information. The device information may include a unique ID, model number, or current specifications of the electronic device. The current specifications may include setting values, necessary applications, or resources (e.g., country-specific language, carrier background, ringtone, etc.) that can satisfy the requirements of the carrier and country. The production information may include information on the manufacturing location and time of the electronic device (e.g., which factory produced it and when), or at least one of the suitability of the manufacturing factory. For example, the first processor (210) may obtain information that the electronic device was produced at the first factory on 2020.01.01 by referring to the production information.
[0055] According to various embodiments, the system server (200) that receives device information and production information may store them in storage (not shown). According to one embodiment, the user may directly input the data by accessing the system server (200), or transmit the data by inputting the data into a terminal database and then linking the terminal database with the system server (200). The user may also transmit the data using both methods. For example, the user may directly input the data by accessing the administrator server located within the system server (200), or transmit the data indirectly by first inputting the necessary data into the terminal database and then linking the terminal database with the system server (200). Data input through the administrator server and / or the terminal database may be stored in storage (not shown). When inputting information using the terminal database, the first processor (210) may receive the input information through an application programming interface (API) and store it in the first memory (230). Various methods commonly used in the industry may be utilized for security between the terminal database and the first processor (210), and specific security methods are not covered in the various embodiments of this document.
[0056] According to various embodiments, when the first processor (210) receives device information and production information from an external server, it may execute at least one process for verifying the validity of the device information and production information. For example, the first processor (210) may execute a first validity logic for validity verification.
[0057] According to various embodiments, the first validity logic may include a verification operation regarding at least one of whether the electronic device connected to the system server (200) is a normally produced electronic device, whether it is a model supported by the system server (200), whether the unique ID of the electronic device is valid, or whether there is an error in the input data, by utilizing the received device information and production information.
[0058] According to various embodiments, when a designated electronic device passes through the first validation logic, the first processor (210) may specify criteria for creating a key table by mapping information about the electronic device for each unique ID. The specified criteria include at least one of the electronic device's model number, unique ID, current specifications, and production information, and may include various other information about the electronic device. The first processor (210) may create a key table that configures device information according to the specified criteria. The key table may be used to determine whether there are specifications that need to be changed by comparing it with the unique status information of the connected electronic device when the system server (200) communicates with the electronic device. For example, the first model number, first current specifications, and first production information of a first electronic device having a first unique ID may be mapped and stored, and the second model number, second current specifications, and second production information of a second electronic device having a second unique ID may be mapped and stored to create a key table. Subsequently, when the first electronic device connects to the system server (200), the first processor (210) can search for the first electronic device in the key table to obtain the first model number, the first current specification, and the first production information for the first electronic device.
[0059] According to various embodiments, the first processor (210) can perform communication with the electronic device using the first communication module (220). After the process of deleting existing user data stored in the electronic device (e.g., factory data reset) is performed, the electronic device may be configured to connect to the system server (200) upon initial booting. The system server (200) may determine whether the connected electronic device is a valid electronic device through an authentication process for the connecting electronic device. For example, if the electronic device is a product manufactured by a third party, the connection of the electronic device to the system server (200) may be blocked during the authentication process.
[0060] According to various embodiments, when the first processor (210) confirms that the connected electronic device is valid, it may receive unique status information including at least one of a model number, a unique ID, and a current specification transmitted by the electronic device.
[0061] According to various embodiments, the first processor (210) can verify the received unique status information through the second validity logic to determine whether the electronic device is normal. The second validity logic can determine at least one of whether it is an actual produced electronic device and whether it is a normal unique ID based on the currently installed software version information and the received production information. For example, if the received unique status information records that the electronic device was produced at the second factory on November 1, 2020, but the production information data does not contain any electronic device produced at the second factory on November 1, 2020, the first processor (210) can determine that the electronic device is an abnormal electronic device.
[0062] According to various embodiments, the first processor (210) can check whether information of the connected electronic device exists in the first memory (230) when the connected electronic device is confirmed to be normal. That is, the first processor (210) can look up the key table in the first memory (230) to determine whether information corresponding to the unique ID of the received electronic device exists. If information corresponding to the unique ID of the electronic device does not exist, there may be no changes to be made to the electronic device. For example, if the unique ID of the electronic device connected to the system server (200) is 1234567, the electronic device with the unique ID 1234567 can be searched in the key table. If the search result shows that the electronic device with the unique ID 1234567 exists, the first processor (210) can check whether there are changes, and if the electronic device with the unique ID 1234567 does not exist, the communication connection with the electronic device can be terminated.
[0063] According to various embodiments, the first processor (210) may generate change information containing details to be changed in the electronic device and transmit it to the electronic device. If the binary of the electronic device needs to be changed, the change information may include information about the binary to be changed. If the binary of the electronic device does not need to be changed, the change information may not include binary information. For example, if the first processor (210) checks the key table and finds that the binary of the electronic device does not need to be changed, the binary information may not be included when generating the change information. Conversely, if the key table check reveals that the binary of the electronic device needs to be changed, the change information may be generated including binary information indicating the binary to be changed.
[0065] FIG. 3 is a block diagram of an electronic device according to various embodiments.
[0066] Referring to FIG. 3, the electronic device (300) may include a display (330), a second communication module (320), a second processor (310) and / or a second memory (340), and some of the configurations shown in various embodiments may be omitted or substituted. The electronic device (300) may further include at least some of the configurations and / or functions of the electronic device (101) of FIG. 1. At least some of each configuration of the electronic device (300) shown (or not shown) may be operatively, functionally, and / or electrically connected.
[0067] According to various embodiments, the display (330) may display various images under the control of the second processor (310). The display (330) may be implemented as any one of a liquid crystal display (LCD), a light-emitting diode (LED) display, or an organic light-emitting diode (OLED) display, but is not limited thereto. The display (330) may be configured as a touch screen that detects touch and / or proximity touch (or hovering) input using a part of the user's body (e.g., finger) or an input device (e.g., stylus pen). The display (330) may include at least some of the configuration and / or functions of the display module (160) of FIG. 1.
[0068] According to various embodiments, the display (330) may be at least partially flexible and may be implemented as a foldable display, a rollable display, or a combination thereof.
[0069] According to various embodiments, the second communication module (320) may communicate with an external device (e.g., electronic device (102, 104) or server (108) of FIG. 1 or system server (200) of FIG. 2) via a wireless network under the control of the second processor (310). The second communication module (320) may include hardware and / or software modules for transmitting and receiving data from a cellular network (e.g., LTE (long term evolution) network, 5G network, NR (new radio) network) and a short-range network (e.g., Wi-Fi, Bluetooth). The second communication module (320) may include at least some of the configuration and / or functions of the communication module (190) of FIG. 1.
[0070] According to various embodiments, the second memory (340) may include a volatile memory (e.g., the volatile memory (132) of FIG. 1) and a non-volatile memory (e.g., the non-volatile memory (134) of FIG. 1) to store various data temporarily or permanently. The second memory (340) may include at least some of the configuration and / or functions of the memory (130) of FIG. 1 and may store the program (140) of FIG. 1.
[0071] According to various embodiments, the second memory (340) may store various instructions that can be executed by the second processor (310). Such instructions may include control commands such as arithmetic and logical operations, data movement, and input / output that can be recognized by the second processor (310).
[0072] According to various embodiments, the second processor (310) may be configured to be operatively, functionally, and / or electrically connected to each component of the electronic device (300), such as a display (330), a second communication module (320), and / or a second memory (340), and to the first processor (210) of the system server (200), so as to perform operations or data processing regarding the control and / or communication of each component and the system server (200). The second processor (310) may include at least some of the configuration and / or functions of the processor (120) of FIG. 1.
[0073] According to various embodiments, there may be no limitations on the computation and data processing functions that the second processor (310) can implement on the electronic device (300), but below, various embodiments for modifying the binary of the electronic device (300) without rework by linking with the system server (200) will be described. The operations of the second processor (310) described below can be performed by loading instructions stored in the second memory (340).
[0074] According to various embodiments, the second processor (310) may store production information of the electronic device (300), unique state information, and existing user data in the second memory (340). The unique state information may be part of the initialization information set at the factory of the electronic device (300), or it may be information set or updated by the user while using the electronic device (300). The binary may be preloaded to the electronic device (300) and / or downloaded via the system server (200), and may include at least one of a setting value, an application, and a resource that can satisfy the requirements of the carrier and the country. For example, an electronic device to be used on the network of a designated telecommunications carrier may store a software binary containing an application or setting suitable for that carrier. According to one embodiment, the user may update the binary while using the electronic device (300), and if the electronic device (300) is self-provided, it may be set to the binary of the desired telecommunications carrier.
[0075] According to various embodiments, the second processor (310) may delete existing user data stored in the second memory (340). For example, existing user data stored may be deleted when reprocessing used terminals collected by a user or company of the electronic device (300) for recycling. According to one embodiment, the second processor (310) may be configured to automatically connect to the system server (200) upon the first boot after deleting the existing user data. According to another embodiment, even if it is not the first boot, if the electronic device (300) has not received change information from the system server (200) after deleting the existing user data, it may be configured to connect to the system server (200) again upon booting.
[0076] According to various embodiments, the second processor (310) may undergo an authentication process to determine whether the electronic device (300) is valid after connecting to the system server (200). The authentication process may include an operation to check whether the electronic device (300) has the authority to connect to the system server (200) or whether it is an unauthorized product. For example, if an unauthorized electronic device (300) attempts to connect to the system server (200), the connection of the electronic device (300) may be blocked during the authentication process.
[0077] According to various embodiments, the second processor (310) can transmit production information and unique status information stored in the second memory (340) to the system server (200) after connecting to the system server (200) and undergoing an authentication process. The second processor (310) can transmit production information and unique status information to the system server (200) through an application programming interface. The specific operation of the component responsible for the communication connection between the system server (200) and the second processor (310) will be described in detail in FIG. 6.
[0078] According to various embodiments, the second processor (310) may pass through a second validation logic that verifies transmitted information. In the second validation logic, based on unique status information, at least one of whether the electronic device (300) connected to the system server (200) is an actual produced electronic device (300), whether it possesses a normal unique ID, and whether it is a normal electronic device (300) may be determined. If the electronic device (300) connected to the system server (200) is determined by the second validation logic not to be a normal electronic device (300), the connection of the electronic device (300) may be blocked. For example, if the information regarding the electronic device (300) queried from the key table in the first memory (230) differs from the unique status information, the system server (200) may determine this as an incorrect access and block the connection.
[0079] According to various embodiments, the second processor (310) may receive change information from the system server (200). The change information may or may not include information about the binary. If it includes information about the binary, the second processor (310) may change the first binary currently applied to the electronic device (300) into the second binary. The specific operation of the second processor (310) receiving the change information and changing the binary will be described in detail in FIG. 6.
[0080] According to various embodiments, the second processor (310) can determine whether to apply the changes if information about the binary exists in the received change information. The second processor (310) may not apply the changes even if the change information received from the system server (200) includes information about the binary to be changed.
[0082] FIG. 4 is a configuration diagram of an external server and a system server according to various embodiments.
[0083] Referring to FIG. 4, an external server (410) can transmit device information to a system server (400) (e.g., the system server (200) of FIG. 2). According to one embodiment, a user (411) connected to the external server (410) can directly input data into an administrator server (401) within the system server (400). Input may be made by unique ID, or multiple IDs may be entered simultaneously using a predefined format. For example, information about a used terminal collected from a used phone dealership can be directly input into the administrator server (401). According to another embodiment, the user can input data into a terminal database (413) within the external server (410) without directly inputting into the system server (400). The data input into the terminal database (413) may be identical to the information that the user (411) inputs into the administrator server (401). After entering information into the terminal database (413), the user can transmit the information by connecting the external server (410) containing the terminal database (413) to the system server (400). After entering information about an electronic device into the terminal database (413), the user can transmit it to the system server (400) through the application programming interface (403). For example, the user can transmit data by entering production information, model number, unique ID, and / or current specifications for a collected electronic device into the terminal database (413) on the external server (410) and uploading it to the system server (400).
[0084] According to various embodiments, the system server (400) may be configured to include at least one of a manager server (401), an application programming interface (403), a storage (405), a validation module that performs a first validation logic (407), and a first memory (409). When a user directly inputs data into the system server (400), the input may be made through the manager server (401).
[0085] According to various embodiments, the system server (400) may store the received data in storage (405) and store it in the first memory (409) via the first validation logic (407). The first validation logic (407) may check at least one of whether the electronic device is normally produced based on the received device information and production information, whether it is a model supported by the system server (400), whether the unique ID of the electronic device is valid, and whether there is an error in the input data. The first processor (e.g., the first processor (210) of FIG. 2) may generate a key table based on the received data. The key table may be configured by mapping the unique ID, model number, current specifications, and production information to each unique ID, and may be stored in the first memory (409).
[0087] FIG. 5 illustrates a user input screen of a system server according to various embodiments.
[0088] According to various embodiments, a user can transmit device information from an external server (e.g., the external server (410) of FIG. 4) to a system server (e.g., the system server (200) of FIG. 2 or the system server (400) of FIG. 4). The user can directly input device information into the system server, and / or input data into a terminal database (e.g., the terminal database (413) of FIG. 4) and register the data by linking it with the system server. FIG. 5 illustrates an input screen (500) in the case where the user directly accesses an administrator server (e.g., the administrator server (401) of FIG. 4) without going through the terminal database and inputs data into the system server.
[0089] Referring to FIG. 5, a second processor (e.g., the second processor (310) of FIG. 3) can display a user input screen (500) of a manager server including a Dropbox (510) on the display. The user may directly input numerical values of data related to an electronic device (e.g., device information and production information) on the screen (500) of the manager server, or may upload a file containing organized data by dragging and dropping it into the Dropbox (510).
[0090] According to various embodiments, in relation to an electronic device, registered data may be stored in storage (e.g., storage (405) of FIG. 4) and then stored in a first memory (e.g., first memory (409) of FIG. 4) after passing through a first validation logic (e.g., first validation logic (407) of FIG. 4). Based on received device information and production information, the first validation logic can verify at least one of whether the electronic device connected to the system server was produced normally, whether it is a model supported by the system server, whether the unique ID of the electronic device is valid, and whether there is an error in the input data. A first processor (e.g., first processor (210) of FIG. 2) may generate and store a key table that maps information regarding at least one of a model number, a unique ID, and production information to each unique ID based on the received data.
[0092] FIG. 6 is a configuration diagram of an electronic device and a system server according to various embodiments.
[0093] Referring to FIG. 6, an electronic device (610) (e.g., the electronic device (300) of FIG. 3) may be configured to include at least one of a request confirmation module (611), a configuration manager (613), a reference value input module (615), a reference value storage module (617), and a binary (619), and a system server (600) (e.g., the system server (200) of FIG. 2 or the system server (400) of FIG. 4) may be configured to include at least one of a request response module (601), a request input module (603), a validity module (605), and a change request storage module (607). The electronic device (610) may store multiple binaries (619) of multiple operators, and which binary (619) will be installed may be determined based on the value in the reference value storage module (617). The value can be determined by the configuration manager (613), and the reference value input module (615) can determine which binary (619) to install based on the reference value storage module (617). Below, the method of communication between the electronic device (610) and the system server (600) will be described focusing on the operation of each component.
[0094] According to various embodiments, device information input from an external server (e.g., external server (410) of FIG. 4) to a system server (600) is verified by a validation module (605), and the verified information may be stored in a first memory (e.g., first memory (230) of FIG. 2). For example, device information transmitted from an external server may be temporarily stored in a storage (e.g., storage (405) of FIG. 4) and, after passing through a first validation logic (e.g., first validation logic (407) of FIG. 4), may be stored in the first memory in the form of a key table. The validation module (605) may execute the first validation logic by utilizing the key table and production information stored in the first memory. When the device information passes through the first validation logic, the verified information may be stored in the first memory. If the device information fails to pass the first validation logic, the data is not stored in the first memory, and the system server (600) can terminate the connection of the electronic device (610).
[0095] According to various embodiments, the electronic device (610) checks whether a change is required to the system server (600) through a request confirmation module (611) upon initial booting after deleting existing user data, and for confirmation, transmits unique status information to the system server (600) including at least one of the unique ID, model number, and information of the electronic device (610) (e.g., current specification information) of the electronic device (610).
[0096] According to various embodiments, the request response module (601) can determine whether the information transmitted from the electronic device (610) is a normal terminal and whether a change is required through the validity module (605), and if it is a normal request, generate change information and transmit it to the electronic device (610). In other words, the system server (600) can determine whether the unique status information transmitted by the electronic device (610) through the request confirmation module (611) is a normal request through the second validity logic.
[0097] According to various embodiments, the request confirmation module (611) may receive change information and request a change from the reference value input module (615). Based on the change information, the reference value input module (615) may input a value indicating the binary (619) to be changed to the reference value storage module (617).
[0098] According to various embodiments, the reference value input module (615) may update the value in the reference value storage module (617) and request the configuration manager (613) to change the configuration. The reference value storage module (617) may change (or update) the value stored with the value received from the reference value input module (615). The changed value may be a value indicating a specified condition, and the configuration manager (613) may change the configuration of the electronic device (610) by referring to the value stored in the reference value storage module (617).
[0100] FIGS. 7a, FIGS. 7b, FIGS. 7c, and FIGS. 7d illustrate binary change screens of electronic devices according to various embodiments.
[0101] FIG. 7a illustrates a first screen (710) of an application for binary modification. An electronic device (e.g., the electronic device (300) of FIG. 3 or the electronic device (610) of FIG. 6) can transmit unique state information to a system server (e.g., the system server (200) of FIG. 2, the system server (400) of FIG. 4 or the system server (600) of FIG. 6) and receive modification information related to binary modification from the system server. According to one embodiment, a first graphic object (e.g., a next button (711)) for moving to the next screen may be displayed on the first screen (710), and a second processor (e.g., the second processor (310) of FIG. 3) can receive user input (e.g., touch, click) for the first graphic object (e.g., the next button (711)) and switch to the second screen (720). According to one embodiment, the second processor may receive user input for the entire first screen (710) rather than just the first graphic object (e.g., next button (711)) and switch to the next screen. On one side of the first screen (710), a second graphic object (713) for an emergency call and a third graphic object (715) for additional settings may be additionally displayed. To perform the communication method, the second processor may display the second screen (720) on the display based on user input.
[0102] FIG. 7b illustrates a second screen (720) for obtaining user consent for the execution of an application. A second processor (e.g., a second processor (310)) can determine whether to consent to at least one of license, transmission of diagnostic data, information connection, and provision of marketing information based on user input on the second screen (720). A fourth graphic object (727) that can indicate confirmation and consent may be displayed on one side of each item, and a fifth graphic object (729) that can check that all content has been confirmed and consented to may be displayed on one side of the second screen (720). For example, the user may touch the fourth graphic object (727) to check the four items one by one—license, transmission of diagnostic data, information connection, and provision of marketing information—or touch the fifth graphic object (729) to check consent to all items at once.
[0103] According to various embodiments, the second screen (720) may additionally display a sixth graphic object (e.g., a previous button (723)) that allows returning to the previous screen and a seventh graphic object (e.g., a next button (725)) that allows moving to the next screen. The seventh graphic object (725) may not be activated if not all items are checked. For example, if the user wants to return to the previous screen, they can return to the previous screen by touching the previous button (723), and if they check all items and touch the next button (725), they can move to the next screen. If not all items are checked, the user may not move to the next screen even if they touch the next button (725).
[0104] FIG. 7c illustrates a third screen (730) for wirelessly connecting to execute an application. An electronic device (e.g., electronic device (300, 610)) and a system server (e.g., system server (200, 400, 600)) may need to be connected to a wireless network (e.g., Wi-Fi, Bluetooth) to communicate wirelessly. A second processor (e.g., second processor (310)) may search for and connect to a wireless network, or, if not necessary, stop searching for a wireless network based on user input or proceed directly to the next screen. According to various embodiments, the third screen (730) may additionally include at least one of a back button (733) for returning to the previous screen, a next button (735) for proceeding to the next screen, and a skip button (731) for proceeding to the next screen without selecting a wireless network.
[0105] FIG. 7d illustrates a fourth screen (740) that allows an electronic device (e.g., electronic device (300, 610)) to select whether to initialize in order to change the binary after receiving change information from a system server (e.g., system server (200, 400, 600)). According to various embodiments, the fourth screen (740) may include a security screen that allows personal information within the electronic device to be protected while updating the binary. The security screen may block access by persons other than the user by including at least one of facial recognition, fingerprint recognition, and a pattern to the electronic device. According to one embodiment, the fourth screen (740) may additionally include a back button (743) that allows returning to the previous screen.
[0106] According to various embodiments, the fourth screen (740) may include a service provider update screen (741). The second processor may delete existing user data of the electronic device and reboot it for software reinstallation. The fourth screen (740) may provide a menu for selecting whether to delete existing user data and receive change information. For example, if the user clicks the 'Restart after initialization' button, the second processor may delete existing user data stored in the second memory (e.g., the second memory (340)) and boot to connect to the system server. The second processor may receive change information from the system server and change binary information.
[0107] A system server (200) according to various embodiments includes a first communication module (220) for communicating with an electronic device (300) and an external server (410), a first memory (230) for storing device information and production information of a plurality of electronic devices (300) received from the external server (410), and a first processor (210) operatively connected to the first communication module (220) and the first memory (230). The first processor (210) receives unique state information from the electronic device (300) connected to the system server (200), compares the received unique state information with the device information of a plurality of electronic devices (300) stored in the first memory (230) to determine whether a binary change is required for the electronic device (300), generates change information including information about the binary to be changed, and transmits the generated change information to the electronic device (300).
[0108] According to various embodiments, the first processor (210) can communicate with an external server (410) using a first communication module (220) and receive the device information and the production information based on user input and / or in conjunction with a terminal database (413).
[0109] According to various embodiments, the received device information may further include a first validity logic that checks at least one of whether the terminal was produced normally based on the production information, whether it is a supported model, whether the ID is valid, and whether there is an error in the input data.
[0110] According to various embodiments, the first processor (210) can generate a key table by mapping the received device information according to a specified standard and store it in the first memory (230).
[0111] According to various embodiments, the first processor (210) can determine whether an electronic device (300) is a valid electronic device through an authentication process when the electronic device (300) is connected to the system server (200), and receive unique status information when it is determined to be a valid electronic device.
[0112] According to various embodiments, a second validity logic may be further included to verify at least one of whether it is an actual produced electronic device, whether it is a normal unique ID, and whether it is a normal electronic device, based on unique status information received from the electronic device (300).
[0113] According to various embodiments, the change information generated by the first processor (210) includes information about the second binary to be changed when a change to the first binary applied to the electronic device (300) is required, and may not include information about the second binary when a change to the binary is not required.
[0114] An electronic device (300) according to various embodiments comprises a second communication module (320) for communicating with a system server (200), a second memory (340) for storing unique state information including at least one of a terminal's unique ID, model number, and binary information, user data, and a plurality of binaries, and a second processor (310) operatively connected to the second communication module (320) and the second memory (340). The second processor (310) connects to the system server (200), transmits the unique state information to the system server (200), receives change information regarding a first binary applied to the electronic device (300) from the system server (200), and can change the binary information based on the received change information.
[0115] According to various embodiments, the second processor (310) can delete the user data of the electronic device (300) and automatically connect to the system server (200) upon the first boot after the user data deletion process.
[0116] According to various embodiments, the second processor (310) may, when a setting change is required, change the first binary to the second binary based on the received change information if there is a second binary specified in the change information, and initialize the binary information if there is no specified binary.
[0117] According to various embodiments, the second processor (310) can check whether change information received from the system server (200) is applied and determine whether binary information is changed based on user input.
[0118] According to various embodiments, the binary may be preloaded into an electronic device (300) and / or downloaded via a system server (200), and may include at least one of a configuration value, an application, or a resource that can satisfy the requirements of a business operator and a country.
[0120] FIG. 8 is a flowchart of a binary modification method of an electronic device according to various embodiments.
[0121] According to various embodiments, the operations illustrated in FIG. 8 may be understood as operations performed by a processor of an electronic device (e.g., the processor (120) of FIG. 1 or the second processor (310) of FIG. 3) and a processor of a system server (e.g., the server (108) of FIG. 1, the system server (200) of FIG. 2, the system server (400) of FIG. 4, or the system server (600) of FIG. 6) (e.g., the first processor (210) of FIG. 2).
[0122] According to various embodiments, in operation 801, the electronic device (610) can delete existing user data and transmit unique state information to the request response module (e.g., request response module (601)) through the request confirmation module (e.g., request confirmation module (611)) at boot time. The system server (600) can detect the connection of the electronic device (610) and, through an authentication process, verify whether the electronic device (610) has the authority to connect to the system server (600) or whether it is an unauthorized product. If the electronic device (610) is an unauthorized product, it may fail the authentication process and the system server (600) may block the connection of the electronic device (610).
[0123] According to various embodiments, the electronic device (610) may be configured to delete existing user data and connect to the system server (600) upon initial boot. For example, an application may be executed on the electronic device (610) to display a screen for connecting to the system server (600) (e.g., the first screen (710) of FIG. 7a). The user may operate the screen to delete existing user data stored in the memory of the electronic device (610) (e.g., the second memory (340) of FIG. 3) and connect to the system server (600). The operation of deleting existing user data and connecting to the system server (600) upon initial boot may occur based on user input or may be configured within the application to be executed automatically.
[0124] According to various embodiments, in operation 803, the electronic device (610) can determine whether it is a normal electronic device through a validation module. The validation module (e.g., validation module (605)) can determine at least one of whether it is an actual produced electronic device (610) and whether it has a normal unique ID based on the currently loaded software version information and the received production information using validation logic (e.g., second validation logic). The validation module can obtain at least one of the software version information and production information required for validation logic from a memory (e.g., first memory (230)).
[0125] According to various embodiments, the system server (600) can check whether binary modification is required through a validation module. To check whether binary modification is required, the validation module can query a key table stored in memory (e.g., the first memory (230)). The key table can be created by a processor (e.g., the first processor (210) of FIG. 2) mapping information about the electronic device (610) to each unique ID. The key table includes at least one of a model number, a unique ID, current specifications, and production information, and may include various other information about the electronic device (610). The system server (600) can query the key table using the unique ID of the received unique status information as a keyword and determine whether binary modification is possible for the electronic device (610).
[0126] According to various embodiments, the system server (600) may generate change information. The change information may include at least one of whether a change is required to the binary of an electronic device (610) connected to the system server (600) and information about the binary to be changed. If a binary change is required for the electronic device (610), the change information may include information indicating the binary to be changed. If a binary change is not required for the electronic device (610), the change information may not include binary information.
[0127] According to various embodiments, in operation 805, the system server (600) may transmit change information to the electronic device (610) through a request response module (e.g., request response module (601)) if a change is required. The request response module may transmit change information by communicating with a request confirmation module (e.g., request confirmation module (611)) of the electronic device (610). According to another embodiment, the request response module may transmit generated change information to the request confirmation module even if a binary change is not required. In this case, the change information may not include binary information indicating the binary to be changed to the electronic device (610).
[0128] According to various embodiments, multiple binaries may exist within the electronic device (610). There may be existing binaries and multiple operator software binaries. The change information may include instructions to change one of the multiple binaries existing within the electronic device (610).
[0129] According to various embodiments, in operation 807, the electronic device (610) can request a change from the request confirmation module (e.g., the reference value input module (615)) by receiving change information. According to various embodiments, the request confirmation module can check the change information and the binary information included in the change information. If the binary needs to be changed, the request confirmation module can transmit a value indicating the binary to be changed to the reference value input module based on the binary information checked. For example, if the value indicating the binary already applied among the binary stored in the electronic device (610) (e.g., the binary (619) of FIG. 6) is 100, and the value indicating the binary to be changed included in the binary information is 200, the request confirmation module can transmit the value 200 to the reference value input module.
[0130] According to various embodiments, if the change information does not include binary information, the request verification module may transmit a value indicating the existing binary or a value indicating that there is no change information to the reference value input module. For example, if the value indicating the existing binary is 100 and the change information received from the request response module does not include binary information, the request verification module may transmit the value 100 as is to the reference value input module to indicate that there is no need to change the binary. Alternatively, it may transmit a value indicating that there is no change information (e.g., 0) to the reference value input module to indicate that there is no need to change the binary. According to one embodiment, if the change information does not include binary information, the request verification module may not send any value to the reference value input module. If there is no input regarding the binary, the reference value input module may recognize that there is no binary change.
[0131] According to various embodiments, in operation 809, the electronic device (610) may update a value in a reference value storage module (e.g., reference value storage module (617)) and request a configuration change from a configuration manager (e.g., configuration manager (613)). According to various embodiments, the reference value input module may check binary information included in the change information received from the request confirmation module and store the value indicating the binary to be changed in the reference value storage module as is.
[0132] According to various embodiments, the reference value input module may request a configuration change from the configuration manager. The configuration manager may select and apply a necessary binary among a plurality of binaries by referring to the value stored in the reference value storage module.
[0133] According to various embodiments, in operation 811, the electronic device (610) may apply received change information. The received change information may include binary information indicating the binary to be changed, and the electronic device (610) may set up new software by selecting a binary that corresponds to the binary information among a plurality of binaries based on user input.
[0134] According to various embodiments, the electronic device (610) can determine whether to change the software binary according to the received change information. For example, if the first binary is applied to the electronic device (610) and the change information instructs it to change to the second binary, the electronic device (610) may check the change information and not change to the second binary based on user input.
[0136] FIG. 9 is a flowchart illustrating the operation of an external server and a system server according to various embodiments.
[0137] According to various embodiments, the operations illustrated in FIG. 9 may be understood as operations performed by a processor (not shown) of an external server (e.g., external server (410) of FIG. 4) and a processor (e.g., first processor (210) of FIG. 2) of a system server (e.g., server (108) of FIG. 1, system server (200) of FIG. 2, system server (400) of FIG. 4, or system server (600) of FIG. 6).
[0138] Referring to FIG. 9, the system server (400) can receive device information from an external server (410) in operation 901. According to one embodiment, a user connected to the external server (410) can directly input data into an administrator server (e.g., administrator server (401)) within the system server (400). Input may be made by unique ID, or multiple IDs may be entered simultaneously using a predefined format. For example, information about a used terminal collected from a used phone dealership can be directly input into the administrator server. According to another embodiment, the user can input data into a terminal database (e.g., terminal database (413)) within the external server (410) without directly inputting into the system server (400). The data entered into the terminal database may be identical to the information that the user inputs into the administrator server.
[0139] According to various embodiments, after the user inputs information into the terminal database, the user can transmit the information by connecting it to the system server (400). The system server (400) can receive information about the electronic device entered into the terminal database through an application programming interface. For example, the user can input production information, model number, unique ID, and / or current specifications for the electronic device collected into the terminal database on the external server (410), and the external server (410) can transmit data by uploading it to the system server (400).
[0140] According to various embodiments, the system server (400) may be configured to include at least one of a manager server, an application programming interface (e.g., an application programming interface (403)), storage (e.g., storage (405)), and a first memory. When a user directly inputs data into the system server (400), the input may be made through the manager server.
[0141] According to various embodiments, the system server (400) may store received data in storage in operation 903. Storage may temporarily store information received from an external server before storing it in memory (e.g., the first memory (409) of FIG. 4). Information received through the administrator server may be stored directly in storage, and information received from the terminal database may be stored in storage via an application programming interface.
[0142] According to various embodiments, the system server (400) can determine, in operation 905, whether the device information and production information transmitted by the external server have passed through the first validity logic. The first validity logic can verify at least one of whether the electronic device is normally produced based on the received device information and production information, whether it is a model supported by the system server, whether the unique ID of the electronic device is valid, and whether there is an error in the input data. According to one embodiment, the system server (400) can transmit the device information and production information stored in storage to the validity module.
[0143] According to various embodiments, if the device information and production information transmitted by the external server fail to pass the first validity logic, the system server (400) may terminate the process and block the connection with the electronic device. According to one embodiment, if the device information and production information transmitted by the external server fail to pass the first validity logic and the process is terminated, the system server (400) may delete the device information and production information stored in the storage.
[0144] According to various embodiments, the system server (400) may, in operation 907, generate a key table based on the received device information and production information when they pass through the first validity logic, and store the key table in the first memory (e.g., the first memory (409)). According to one embodiment, the system server (400) may configure the key table by mapping at least one of the unique ID of the electronic device, model number, current specifications, and production information to each unique ID, and may store it in the first memory. The system server (400) may generate change information by referencing the key table.
[0146] FIG. 10 is a flowchart illustrating the operation of an electronic device and a system server according to various embodiments.
[0147] According to various embodiments, the operations illustrated in FIG. 10 can be understood as operations performed by a processor (e.g., processor (120) or second processor (310)) of an electronic device (e.g., electronic device (101, 300, 610)) and a processor (e.g., first processor (210)) of a system server (e.g., server (108), system server (200, 400, 600)).
[0148] According to various embodiments, the electronic device (610) may be configured to include at least one of a request confirmation module, a configuration manager, a reference value input module, a reference value storage module, and a binary, and the system server (600) may be configured to include at least one of a request response module, a request input module, a validity module, and a change request storage module. The electronic device (610) may store multiple binaries of multiple operators, and which binary will be installed may be determined based on a value in the reference value storage module. The value may be determined by the configuration manager, and the reference value input module may determine which binary to install based on the reference value storage module.
[0149] According to various embodiments, device information input from an external server to a system server (600) is verified by a validation module (e.g., a first validation logic (407)), and the verified information may be stored in a first memory. For example, device information and production information transmitted from an external server may be temporarily stored in storage and, after passing through the first validation logic, may be stored in the first memory in the form of a key table. If the device information passes through the first validation logic, the verified information may be stored in the first memory. If the device information does not pass through the first validation logic, the data is not stored in the first memory, and the system server (600) may terminate the connection of the electronic device (610). The validation module may execute a second validation logic by utilizing the key table and production information stored in the first memory.
[0150] According to various embodiments, in operation 1001, the electronic device (610) may delete existing user data stored in memory (e.g., the second memory (340) of FIG. 3). For example, phone numbers, applications, binaries, biometric information, or resources registered by the existing user may be deleted to provide an environment for the new user to use.
[0151] According to various embodiments, in operation 1003, the electronic device (610) may be configured to connect to the system server (600) upon the first boot after deleting existing user data. The operation of booting and connecting to the server may be performed continuously or discontinuously based on user input. According to another embodiment, even if it is not the first boot after deleting existing user data, the electronic device (610) may be configured to connect to the system server (600) upon booting if it has not received change information from the system server (600).
[0152] According to various embodiments, in operation 1005, the electronic device (610) may undergo an authentication process. The authentication process may include an operation to verify whether the electronic device (610) has the authority to access the system server (600) or whether it is an unauthorized product. If the electronic device (610) fails the authentication process, access to the system server (600) may be blocked. In operation 1007, the electronic device (610) may be authenticated as a valid electronic device.
[0153] According to various embodiments, in operation 1009, the electronic device (610) may transmit unique status information to the system server (600). The unique status information may include at least one of a model number, a unique ID, and a current specification transmitted by the electronic device (610). According to one embodiment, the electronic device (610) may transmit the unique status information to the request response module of the system server (600) through a request confirmation module.
[0154] According to various embodiments, in operation 1011, the system server (600) executes a second validity logic to determine whether it is an actual produced electronic device and whether it is a valid unique ID based on the currently installed software version information and the received production information.
[0155] According to various embodiments, the system server (600) can determine whether binary modification is required when the electronic device (610) passes the second validation logic, generate modification information, and transmit it to the electronic device (610). In other words, the system server (600) can determine whether the unique status information transmitted by the electronic device (610) through the request verification module is a valid request by passing it through the second validation logic.
[0156] According to various embodiments, in operation 1013, the system server (600) may generate change information and transmit the generated change information to the electronic device (610). The system server (600) may generate change information by referring to a key table stored in memory (e.g., the first memory (230) of FIG. 2). For example, it may determine whether a binary change of the electronic device (610) is required and generate change information including information about the binary to be changed.
[0157] According to various embodiments, in operation 1015, the electronic device (610) may receive change information from the system server (600) and determine whether to apply the change. If the change information includes binary information indicating the binary to be changed, the electronic device (610) may change the binary by referring to the change information. That is, a value indicating the binary to be changed may be entered into the reference value storage module so that the configuration manager is configured to change the binary. According to one embodiment, the electronic device (610) may determine whether to apply the change information based on user input.
[0158] According to various embodiments, in operation 1017, the electronic device (610) may change the binary by referring to change information. For example, if change information is included to change the first binary previously applied to the electronic device (610) to the second binary, the electronic device (610) may apply the second binary among a plurality of binaries.
[0160] FIG. 11 is a flowchart of the operation of a system server according to various embodiments.
[0161] According to various embodiments, the system server (600) may receive at least one of device information and production information from an external server. The device information and / or production information may be received from a user's direct input or from a database within the external server. The system server (600) may store the received device information and production information in a first memory after passing through a first validity logic that checks whether the received information is valid.
[0162] According to various embodiments, in operation 1101, the system server (600) may receive unique status information from the electronic device (610). When the electronic device (610) is connected, the system server (600) may check whether the electronic device (610) is valid using a second validity logic. If the connected electronic device (610) is confirmed to be valid, the system server (600) may receive unique status information including at least one of a model number, a unique ID, and a current specification transmitted by the electronic device (610).
[0163] According to various embodiments, in operation 1103, the system server (600) compares the device information and production information stored in memory with the unique status information received from the electronic device (610), and in operation 1105, the system server (600) can determine whether binary modification is required. The system server (600) can determine that binary modification is not required according to the user's intention.
[0164] According to various embodiments, in operation 1107, the system server (600) may generate change information. The change information may include information about the binary to be changed to the electronic device (610). For example, if the electronic device (610) has a first binary applied to it and can be changed to a second binary, the change information may include information about the second binary. According to one embodiment, if the binary of the electronic device (610) does not need to be changed, the change information may not include information about the binary, or may include information indicating that there is no change.
[0165] According to various embodiments, in operation 1109, the system server (600) can transmit change information to the electronic device (610). The system server (600) can communicate with the request confirmation module of the electronic device (610) through the request response module. The system server (600) can transmit change information to the electronic device (610) using the corresponding communication channel.
[0166] A method for changing the binary of an electronic device according to various embodiments may include the operation of the electronic device (300) connecting to a system server (200), the operation of transmitting unique state information to the system server (200), the operation of receiving change information for a first binary applied to the electronic device (300), and the operation of changing the binary information based on the received change information.
[0167] According to various embodiments, the operation of connecting to the system server (200) may include the operation of deleting the user data of the electronic device (300) and the operation of automatically connecting to the system server (200) upon initial booting after the user data deletion process.
[0168] According to various embodiments, the operation of changing the binary information may include, based on the received change information, changing the first binary to the second binary if there is a second binary specified in the change information, and initializing the binary information if there is no specified binary.
[0169] According to various embodiments, the operation of changing the binary information may include an operation of checking whether the change information received from the system server (200) is applied, and an operation of determining whether to change the binary information based on user input.
[0170] According to various embodiments, the system server (200) may store device information in the system server (200) based on user input and / or in conjunction with the terminal database (413), determine whether binary modification is required in the electronic device (300) by comparing the unique state information and device information of the electronic device (300), generate modification information including information about the binary to be modified, and transmit the generated modification information to the electronic device (300).
[0171] According to various embodiments, the system server (200) can check at least one of whether the electronic device is produced normally based on production information, whether it is a supported model, whether the ID is valid, and whether there is an error in the input data.
[0172] According to various embodiments, the system server (200) can determine whether an electronic device is valid through an authentication process at the system server (200) and receive the unique status information.
[0173] According to various embodiments, the system server (200) may further include a second validity logic that verifies, based on unique status information received from the electronic device (300), whether it is an actual produced electronic device, whether it is a normal unique ID, and whether it is a normal electronic device.
Claims
Claim 1 A system server for an electronic device comprises: a first communication module for communicating with an electronic device and an external server; a first memory for storing device information and production information of a plurality of electronic devices received from the external server; and a first processor operatively connected to the first communication module and the first memory, wherein the first processor maps the device information received from the external server according to a specified standard to create a key table and stores it in the first memory; receives unique status information including a unique ID of the electronic device from the electronic device connected to the system server; compares the received unique status information with the key table stored in the first memory to determine whether information corresponding to the unique ID exists in the key table; determines that a binary change is required for the electronic device based on the existence of information corresponding to the unique ID in the key table; creates change information including information about the binary to be changed; and transmits the created change information to the electronic device. Claim 2 In claim 1, the first processor is a system server of an electronic device that communicates with an external server using a first communication module and receives the device information and the production information based on user input and / or in conjunction with a terminal database. Claim 3 A system server of an electronic device according to claim 1, further comprising a first validity logic that checks, based on the production information, whether the received device information is a terminal produced normally, whether it is a supported model, whether the ID is valid, and whether there is an error in the input data. Claim 4 In claim 1, the first processor is a system server of an electronic device that maps the received device information according to a specified standard to create a key table and stores it in the first memory. Claim 5 In claim 1, the first processor determines whether an electronic device is a valid electronic device through an authentication process when an electronic device is connected to a system server, and receives unique status information when it is determined to be a valid electronic device. Claim 6 A system server of an electronic device according to claim 1, further comprising a second validity logic that verifies, based on unique status information received from an electronic device, whether it is an actually produced electronic device, whether it is a normal unique ID, and whether it is a normal electronic device. Claim 7 In claim 1, the change information generated by the first processor includes information about a second binary to be changed when a change to the first binary applied to the electronic device is required, and does not include information about the second binary when a change to the binary is not required. Claim 8 An electronic device comprising: a second communication module for communicating with a system server; a second memory for storing unique state information including at least one of a terminal's unique ID, model number, and binary information, user data, and a plurality of binaries; and a second processor operatively connected to the second communication module and the second memory, wherein the second processor connects to the system server, transmits the unique state information to the system server, receives change information regarding a first binary applied to the electronic device from the system server, and changes the binary information based on the received change information. Claim 9 In claim 8, the second processor is an electronic device configured to delete the user data of the electronic device and to automatically connect to the system server upon initial booting after the process of deleting the user data. Claim 10 In claim 8, the second processor is an electronic device that, when a setting change is required, changes the first binary to the second binary based on the received change information if there is a second binary specified in the change information, and initializes the binary information if there is no specified binary. Claim 11 In claim 8, the second processor is an electronic device that checks whether change information received from the system server is applied and determines whether binary information is changed based on user input. Claim 12 In claim 8, the above binary is an electronic device that is preloaded into the electronic device and / or can be downloaded via a system server, and includes at least one of a configuration value, an application, or a resource that can satisfy the requirements of a business operator and a country. Claim 13 A method for modifying the binary of an electronic device comprises: an operation in which the electronic device connects to a system server; an operation in which unique state information including a unique ID of the electronic device is transmitted to the system server; an operation in which the system server maps device information of a plurality of electronic devices received from an external server according to a specified standard to create a key table and stores it in a first memory; an operation in which the received unique state information is compared with the key table stored in the first memory to determine whether information corresponding to the unique ID exists within the key table; an operation in which it is determined that the electronic device requires binary modification based on the existence of information corresponding to the unique ID within the key table; an operation in which modification information including information about the binary to be modified is generated and transmitted to the electronic device, thereby receiving modification information for a first binary applied to the electronic device; and an operation in which the binary information is modified based on the received modification information. Claim 14 In claim 13, the operation of connecting to the system server comprises the operation of deleting user data of the electronic device and the operation of automatically connecting to the system server upon initial booting after the process of deleting the user data. Claim 15 A method for changing the binary of an electronic device according to claim 13, wherein the operation of changing the binary information comprises, based on the received change information, changing the first binary to the second binary if there is a second binary specified in the change information, and initializing the binary information if there is no specified binary. Claim 16 A method for changing the binary of an electronic device according to claim 13, wherein the operation of changing the binary information includes an operation of checking whether the change information received from the system server is applied, and an operation of determining whether the binary information is changed based on user input. Claim 17 delete Claim 18 In claim 13, the above-mentioned system server checks at least one of whether the electronic device is normally produced based on production information, whether it is a supported model, whether the ID is valid, and whether there is an error in the input data. Claim 19 In claim 13, the above system server determines whether it is a valid electronic device through an authentication process at the system server and receives the unique status information, a binary modification method of an electronic device. Claim 20 A method for changing the binary of an electronic device according to claim 13, wherein the system server further comprises a second validity logic that verifies, based on unique status information received from the electronic device, whether it is an actually produced electronic device, whether it is a normal unique ID, and whether it is a normal electronic device.
Citation Information
Patent Citations
Systems and methods for an enterprise services framework using a state model
US20070143247A1
Systems and methods for updating firmware of medical devices while minimizing clinical impact
US20210020306A1
Recipient-specific feature activation
US9838250B1
Wireless control method, control apparatus and server thereof
KR1020160030661A