WO2023090866A1 - 기능 업그레이드가 가능한 전자 기기, 전자 기기의 기능을 업그레이드하는 서버, 및 전자 기기의 기능을 업그레이드하는 방법 - Google Patents

기능 업그레이드가 가능한 전자 기기, 전자 기기의 기능을 업그레이드하는 서버, 및 전자 기기의 기능을 업그레이드하는 방법 Download PDF

Info

Publication number
WO2023090866A1
WO2023090866A1 PCT/KR2022/018127 KR2022018127W WO2023090866A1 WO 2023090866 A1 WO2023090866 A1 WO 2023090866A1 KR 2022018127 W KR2022018127 W KR 2022018127W WO 2023090866 A1 WO2023090866 A1 WO 2023090866A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
electronic device
program
program data
storage unit
Prior art date
Application number
PCT/KR2022/018127
Other languages
English (en)
French (fr)
Inventor
지백근
강성환
박민규
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of WO2023090866A1 publication Critical patent/WO2023090866A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • the present invention relates to an electronic device capable of upgrading functions, a server capable of upgrading functions of electronic devices, and a method for upgrading functions of electronic devices.
  • the electronic device includes a control unit that controls the operation of the electronic device.
  • the controller controls the electronic device to implement a function desired by a user by executing a specific program.
  • the entire program is transmitted from the server to the electronic device, or the program is divided into certain units, and then the changed part of the divided units is transmitted from the server to the electronic device, and then the electronic device updates the program. proceeded.
  • An object of the present invention is to provide a device and method for upgrading functions of an electronic device more conveniently.
  • Another object of the present invention is to provide a device and method capable of reducing the time required to upgrade the function of an electronic device.
  • Another object of the present invention is to provide an apparatus and method capable of reducing the amount of data transmitted when upgrading the function of an electronic device.
  • an object of the present invention is to complete the function upgrade operation of the electronic device normally without causing problems such as an error even when the operation of the electronic device is stopped due to a power failure or the like while upgrading the function of the electronic device.
  • An electronic device, server, and method according to an embodiment of the present invention may transmit only delta data, which is data of a changed part among program data for controlling the operation of the electronic device, from the server to the electronic device.
  • delta data which is data of a changed part among program data for controlling the operation of the electronic device, may be transmitted from the communication unit of the electronic device to the control unit of the electronic device.
  • An electronic device, server, and method detect data most similar to sector-specific data of new program data among program data for controlling the operation of the electronic device, and then detect the detected data from existing program data.
  • Delta data may be generated by comparing the data of each sector with .
  • An electronic device, server, and method read data of a first area including data corresponding to delta data among program data stored in a first storage unit of the electronic device, and delta among the read data. Data corresponding to data can be replaced with delta data.
  • the first storage unit may be a non-volatile memory.
  • An electronic device, server, and method read data stored in a first area of a first storage unit of the electronic device, replace some of the read data with delta data, and then perform It can be stored in the second area.
  • An electronic device, server, and method according to an embodiment of the present invention may transmit a command and delta data to be executed by a control unit of the electronic device from the server to the communication unit of the electronic device.
  • An electronic device, server, and method may store a history corresponding to the number of commands executed by a controller of the electronic device in a storage unit of the electronic device.
  • the history may be stored when a command to delete data of a certain region of the storage unit is executed among the commands.
  • An electronic device receives and stores a file for updating the program data from a storage unit for storing program data, a management server, and updates data for updating the program data based on the stored file. It includes a communication unit that transmits, and a control unit that updates the program data in response to the update data, wherein the communication unit transmits delta data and commands consisting only of a changed part of the program data as the update data.
  • the control unit of the electronic device reads the storage unit for storing the program data, the first data of the first area of the storage unit, and modifies some of the data of the first area to the delta data. and a processing unit configured to generate second data and store the second data in a second area different from the first area.
  • the control unit of the electronic device includes a first storage unit including a non-volatile memory and storing the program data, a second storage unit including a volatile memory, and the update data in response to the first storage unit. and a processing unit that updates program data, wherein the processing unit reads data of a first area of the first storage unit and writes data in a second area of the second storage unit, and writes data of a part of the second area to the delta data. data, and data of the second area may be recorded in a third area different from the first area of the first storage unit.
  • the first storage unit of the electronic device includes a plurality of sections, and the processing unit writes the data recorded in the third area to any one of the plurality of sections, and then the Data in 3 areas can be deleted.
  • the control unit of the electronic device includes a first storage unit including a non-volatile memory and storing the program data, a second storage unit including a volatile memory, and the update data in response to the first storage unit.
  • a processing unit that updates program data wherein the electronic device further includes a third storage unit including a non-volatile memory, wherein the processing unit writes the program data stored in the first storage unit to the third storage unit. and modify some data of the first region of the first storage unit to the delta data.
  • the processing unit of the electronic device may delete data of the third storage unit after updating of the program data is completed.
  • control unit of the electronic device is less than or equal to a counter value indicating the number of commands received after the program update started and a history value stored in a history page, the control unit does not execute the command, and If the counter value is greater than the histrow value, the command may be executed.
  • the control unit of the electronic device may record the count value in the history page when the command is a command for writing or deleting data in a non-volatile memory.
  • the management server comprises a storage unit for storing program data of the latest version and program data of the previous version, and generating delta data by comparing the program data of the latest version and the program data of the previous version.
  • a control unit and a communication unit for transmitting the delta data to the electronic device, wherein the delta data includes only data different from program data of the previous version among the program data of the latest version.
  • the control unit of the management server compares the data of the first section of the program data of the latest version with the entire program data of the previous version, and searches for data most similar to the data of the first section. , Data different from the most similar data among the data of the first section may be determined as the delta data.
  • the communication unit of the management server may transmit the delta data and a file including at least one command to the electronic device.
  • the program data of the previous version of the management server includes first version program data and second version program data
  • the delta data includes first delta data and second delta data
  • the control unit compares the latest version program data with the first version program data to generate the first delta data, and compares the latest version program data with the second version program data to generate the second delta data.
  • the communication unit of the management server transmits the first delta data to a first electronic device storing the first version program data, and a second electronic device storing the second version program data. It is possible to transmit the second delta data with.
  • a method is a method for upgrading an electronic device including a communication unit for storing a file received from a management server and a control unit for storing program data, wherein the communication unit includes a changed portion of the program data. Transmitting delta data composed of only the data and commands to the control unit, and modifying, by the control unit, some of the program data into the delta data.
  • the modifying of the method may include reading data of a first area of a non-volatile memory storing the program data and writing the data to a second area of the volatile memory;
  • the method may include modifying data into the delta data, and writing the data of the second area to a third area different from the first area of the nonvolatile memory.
  • the modifying step of the method according to an embodiment of the present invention includes writing data of the third area to one of a plurality of sections of the non-volatile memory, and deleting data of the third area. can include more.
  • the modifying of the method according to an embodiment of the present invention may include storing the program data stored in a first non-volatile memory in a second non-volatile memory, among data in a first area of the first non-volatile memory.
  • the method may include modifying some data into the delta data and deleting data of the second volatile memory.
  • a counter value indicating the number of commands received after the program update starts is recorded as history. writing to a page, comparing the counter value with the history value recorded in the history page, and if the counter value is less than or equal to the history value stored in the history page, the command is not executed, and the counter value is and executing the command if it is greater than the histrow value.
  • the management server compares data of a first section among program data of the latest version with all program data of the previous version, and searches for data most similar to data of the first section.
  • the method may further include determining data different from the most similar data among the data of the first section as the delta data.
  • the function of the electronic device can be upgraded more conveniently.
  • the time required to upgrade the function of the electronic device can be reduced.
  • the amount of data transmitted when upgrading the function of the electronic device can be reduced.
  • FIG. 1 is a diagram schematically showing the configuration of a system for upgrading an electronic device according to an embodiment of the present invention.
  • FIG. 2 is a diagram schematically showing the configuration of a system for upgrading a home appliance according to an embodiment of the present invention, and is a diagram showing the user device of FIG. 1 in more detail.
  • FIG. 3 is a block diagram schematically illustrating the configuration of a management server for upgrading a home appliance according to an embodiment of the present invention.
  • FIG. 4 is a block diagram schematically showing the configuration of an upgradable home appliance according to an embodiment of the present invention.
  • FIG. 5 is a diagram for explaining an overall operation of a method of upgrading a home appliance according to an embodiment of the present invention.
  • FIG. 6 is a diagram for explaining a process of updating program data in a method of upgrading a home appliance according to an embodiment of the present invention.
  • FIG. 7 is a diagram for explaining a process of generating and transmitting delta data in a method of upgrading a home appliance according to an embodiment of the present invention.
  • FIG. 8 is a diagram schematically illustrating an example of existing program data and new program data in a method of upgrading a home appliance according to an embodiment of the present invention.
  • 9 to 11 are views for explaining a process of updating program data in a method of upgrading a home appliance according to an embodiment of the present invention.
  • first, second, etc. are used to describe various components, these components are not limited by these terms, of course. These terms are only used to distinguish one component from another component, and unless otherwise stated, the first component may be the second component, of course.
  • an upgradable home appliance according to some embodiments of the present invention, a server for upgrading the home appliance, and a method for upgrading the home appliance will be described.
  • the system according to an embodiment of the present invention includes a management server 100 and a plurality of user devices 210, 220, 230, 240) may be included.
  • the management server 100 may store information about electronic devices to be upgraded and information about electronic devices possessed by each user.
  • Information on electronic devices to be upgraded includes at least one of identification information of the electronic device, program data for each version of the electronic device, and delta data derived according to a result of comparing program data of each previous version and program data of the latest version.
  • Information on electronic devices possessed by each user may include user identification information and identification information of an electronic device associated with the user identification information.
  • the management server 100 may transmit a file including the delta data to update program data of each of the user devices 210 , 220 , 230 , and 240 .
  • the file transmitted by the management server 100 may also include a command set to be executed in each of the user devices 210, 220, 230, and 240.
  • Each of the plurality of user devices 210, 220, 230, and 240 may include one or more electronic devices.
  • the electronic devices include various types of home appliances such as air conditioners, air purifiers, refrigerators, washing machines, clothes management devices, and water purifiers, mobile devices such as smartphones, and various types of electronic devices included in automobiles (for example, It may include various types of devices, such as a device provided for autonomous driving or a device for controlling the operation of a vehicle, etc.).
  • each of the plurality of user devices 210, 220, 230, and 240 may include at least one user terminal.
  • Each of the one or more electronic devices may update program data in response to a file (ie, a file including delta data and/or a command set) received from the management server 100 .
  • a system according to an embodiment of the present invention may include a management server 100, an access point 300, a plurality of home appliances 410, 420, 430, 440, 500, 600, and a user terminal 700.
  • each of the plurality of user devices 210, 220, 230, and 240 in FIG. 1 includes an access point 300, a plurality of home appliances 410, 420, 430, 440, 500, and 600, and a user terminal ( 700) may include at least one or more.
  • Functions of the management server 100 may be the same as those described in FIG. 1 .
  • the access point 300 may serve as a relay between the management server 100 and the home appliances 410 , 420 , 500 , and 600 .
  • the access point 300 may be a Wi-Fi router.
  • Each of the plurality of home appliances 410, 420, 430, 440, 500, and 600 may perform a unique function according to the execution of a corresponding program.
  • the home appliances 410, 420, 430, and 440 may be connected home appliances for a predetermined function.
  • the 1-1 home appliance 410, the 1-2 home appliance 420, and the 1-3 home appliance 430 are indoor units of an air conditioner
  • the 1-4 home appliance 440 may be an outdoor unit of an air conditioner.
  • the 1-1 home appliance 410 and the 1-2 home appliance 420 may include a communication module (eg, a Wi-Fi module). Therefore, each of the 1-1 home appliance 410, 1-2 home appliance 420, and 1-3 home appliance 430 controls the temperature, humidity, and fineness of indoor air according to the execution of the corresponding program. At least one of the concentrations may be adjusted.
  • Each of the second home appliance 500 and the third home appliance 600 may be a home appliance that operates independently.
  • each of the second home appliance 500 and the third home appliance 600 may be one of various home appliances such as a washing machine, an air purifier, a clothes care machine, and a refrigerator.
  • Each of the second home appliance 500 and the third home appliance 600 may include a communication module (eg, a Wi-Fi module).
  • the user terminal 700 may be a mobile terminal of a user who owns a plurality of home appliances 410 , 420 , 430 , 440 , 500 , and 600 .
  • the access point 300 may be excluded.
  • each of the home appliances 410, 420, 500, and 600 may access the management server 100 through an Internet network or the like.
  • the management server 100 includes a control unit 110, a communication unit 120, and a storage unit 130 can include
  • the control unit 110 generates delta data for each home appliance based on the data stored in the storage unit 130, and transmits the delta data to the home appliance (410, 420, 500, 600 in FIG. 2) through the communication unit 120. can do.
  • the controller 110 may also transmit a command set to be executed by the controller of the home appliance (410, 420, 500, 600 in FIG. 2).
  • the controller 110 may include at least one processing unit and/or memory.
  • the processing unit may include, for example, a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGA), and the like, It can have multiple cores.
  • the memory may be volatile memory (eg, RAM, etc.), non-volatile memory (eg, ROM, flash memory, etc.), or a combination thereof.
  • the communication unit 120 may transmit a signal to the outside under the control of the control unit 110 . Also, the communication unit 120 may receive a signal from the outside and output the received signal to the control unit 110 . The communication unit 120 may transmit and receive signals by wire and/or wirelessly. Communication unit 120 may include a modem, network interface card (NIC), integrated network interface, radio frequency transmitter/receiver, infrared port, USB connection, or other interface for communication with other computing devices.
  • NIC network interface card
  • integrated network interface radio frequency transmitter/receiver
  • infrared port infrared port
  • USB connection or other interface for communication with other computing devices.
  • the storage unit 130 may store data received through the communication unit 120 and/or data processed by the control unit 110 under the control of the control unit 110 .
  • the storage unit 130 includes user identification information, identification information of a home appliance associated with the user identification information, program data for each version of the home appliance, and program data of previous versions and program data of the latest version. At least one or more of the delta data derived according to the comparison result may be stored.
  • FIG. 4 is a block diagram schematically showing the configuration of an upgradable home appliance according to an embodiment of the present invention
  • the home appliance according to an embodiment of the present invention includes a communication unit 810, a control unit 820, and a third storage A portion 830 may be included.
  • the communication unit 810 may include a storage unit 811 and a transmission/reception unit 812
  • the control unit 820 may include the processing unit 821, the first storage unit 822, and the second storage unit 823.
  • Each of the home appliances 410 , 420 , 500 , and 600 of FIG. 2 may include the configuration shown in FIG. 4 .
  • a home appliance according to an embodiment of the present invention may not include some of the first storage unit 822, the second storage unit 823, and the third storage unit 830. .
  • the communication unit 810 may receive data from the management server (100 in FIG. 1 or 2) and transmit the received data to the control unit 820.
  • Data received from the management server (100 in FIG. 1 or 2) may include the above-described delta data and a command executed by the control unit 820.
  • the communication unit 810 may include a radio frequency transmitter/receiver, an infrared port, a USB connection, or other interface.
  • the communication unit 160 may include a short-range communication module for transmitting and receiving signals according to a communication standard such as Wi-Fi or Bluetooth.
  • the storage unit 811 may store data received from the management server (100 in FIG. 1 or 2).
  • the storage unit 811 may be a non-volatile memory.
  • the storage unit 811 may be a flash memory.
  • the transceiver 812 may transmit data stored in the storage 811 to the controller 820 .
  • the controller 820 may store a program for implementing functions of the home appliance, and execute the stored program to allow the home appliance to perform a specific function. Also, the controller 820 may update a stored program in response to data received from the communication unit 810 .
  • the processing unit 821 may include a central processing unit (CPU), a graphic processing unit (GPU), a microprocessor, an application specific integrated circuit (ASIC), field programmable gate arrays (FPGA), and the like, and may include a plurality of can have a core.
  • CPU central processing unit
  • GPU graphic processing unit
  • ASIC application specific integrated circuit
  • FPGA field programmable gate arrays
  • the first storage unit 822 may be a non-volatile memory.
  • the first storage unit 822 may be a flash memory.
  • the first storage unit 822 may store the program.
  • the second storage unit 823 may be a volatile memory.
  • the second storage unit 823 may be RAM.
  • the second storage unit 823 may load some of the program data stored in the first storage unit 822, and program data stored in the second storage unit 823 may be stored in a specific area of the first storage unit 822. can be lighted
  • the third storage unit 830 may be a non-volatile memory.
  • the third storage unit may be one of flash memory, magnetic storage, and optical storage. Programs for performing functions of the home appliance may be stored in the third storage unit 830 .
  • FIG. 5 is a diagram for explaining an overall operation of a method of upgrading a home appliance according to an embodiment of the present invention.
  • the communication unit 810 may request identification information of the home appliance from the control unit 820 (step S101).
  • Identification information of the home appliance may include at least one of a serial number and a model name of the home appliance.
  • controller 820 may return identification information of the home appliance to the communication unit 810 in response to the product information request (step S102).
  • the communication unit 810 may request information about whether the home appliance has details to be upgraded from the management server 100 (step S103). At this time, the communication unit 810 may transmit identification information of the home appliance to the management server 100 . Also, the communication unit 810 may additionally transmit user information to the management server 100 .
  • the management server 100 may return upgrade information on whether or not there are details to be upgraded to the communication unit 810 (step S104).
  • the management server 100 may provide the upgrade information to the user terminal 700 (step S105).
  • the management server 100 may retrieve information about a user of the home appliance using information stored in the storage unit ( 130 in FIG. 3 ) or may receive user information from the communication unit 810 .
  • step S106 when the user accepts the upgrade using the user terminal 700, information about the upgrade acceptance may be transmitted from the user terminal 700 to the management server 100 (step S106).
  • the user may accept the upgrade using the input/output device of the home appliance.
  • the management server 100 may request the start of the upgrade to the communication unit 810 (step S107).
  • the communication unit 810 may request file transmission in response to the upgrade start request of the management server 100 (step S108).
  • the management server 100 may transmit a file including delta data and/or a command set to the communication unit 810 in response to the file transfer request of the communication unit 810 (step S109).
  • the communication unit 810 and the control unit 820 may update the program of the home appliance using the file received from the management server 100 (step S110).
  • the communication unit 810 may return upgrade completion to the management server 100 (step S111).
  • the management server 100 may provide information related to upgrade completion to the user terminal in response to the upgrade completion reply received from the communication unit 810 (step S112).
  • FIG. 6 is a diagram for explaining a process of updating program data in a method of upgrading a home appliance according to an embodiment of the present invention.
  • 840 represents a non-volatile memory of a home appliance
  • 850 represents a volatile memory of a home appliance, respectively.
  • 840 of FIG. 6 may be the same as the first storage unit 822 of FIG. 4
  • 850 of FIG. 6 may be the same as the second storage unit 823 of FIG. 4 .
  • Delta data is data transmitted from the management server 100 and represents data of a changed part of program data.
  • the management server 100 transmits delta data, which is data of a changed part of program data, a location where the delta data is to be written, and a command for writing the delta data in a predetermined location, to the home appliance.
  • a program for implementing functions of a home appliance may be divided into a plurality of sections and stored.
  • a section may mean one area of the storage unit.
  • each operation may be performed by a controller of the home appliance (820 in FIG. 4 (more specifically, the processing unit 821 of the home appliance)).
  • data stored in section 2 of the non-volatile memory 840 may be read, and the read data may be written to the volatile memory 850 .
  • some of the program data written in the volatile memory 850 may be replaced with delta data received from the management server 100 .
  • a delete operation for section 2 of the non-volatile memory 840 is performed, and the modified program data 841 may be written to section 2 of the non-volatile memory 840 .
  • data stored in section 3 of the non-volatile memory 840 may be read, and the read data may be written to the volatile memory 850 .
  • some of the program data written in the volatile memory 850 may be replaced with delta data received from the management server 100 .
  • a deletion operation for section 3 of the nonvolatile memory 840 is performed, and the modified program data 842 may be written to section 3 of the nonvolatile memory 840 .
  • identification number 900 represents a terminal of a program developer. 7, it is assumed that PGM #1 represents a version 1 program, PGM #2 represents a version 2 program, PGM #3 represents a version 3 program, and the version 3 program is the latest version program. do.
  • the developed program is transmitted to the management server 100 .
  • identification information of the home appliance on which the corresponding program will be executed may also be transmitted to the management server 100 .
  • the transmitted program may be stored in the storage unit ( 130 in FIG. 3 ) of the management server 100 .
  • the management server 100 may generate delta data based on the stored programs. That is, the management server 100 compares the version 3 program (PGM #3) with the version 1 program (PGM #1) to generate first delta data (Delta #1), and the version 3 program (PGM #1). 3) and the version 2 program (PGM #2) may be compared to generate second delta data (Delta #2).
  • the management server 100 may transmit first delta data (Delta #1) to the home appliance 801 in order to upgrade the home appliance 801 in which the current version 1 program (PGM #1) is stored.
  • the second delta data Delta #2 may be transmitted to the home appliance 802 .
  • FIG. 8 is a diagram schematically illustrating an example of existing program data (a) and new program data (b) in a method of upgrading a home appliance according to an embodiment of the present invention.
  • the hatched portion in FIG. 8 indicates the changed portion.
  • existing program data includes A block stored in section 841, B block stored in section 842, C block stored in section 844, and D block stored in section 845. may contain blocks.
  • the new program data may include block A' stored in section 841, block B stored in section 842, and block D' stored in section 844.
  • the management server 100 (more specifically, the control unit (110 in FIG. 4) of the management server 100) compares the existing program data (FIG. 8(a)) with the new program data (FIG. 8(b)) Delta data can be generated.
  • the management server 100 converts data most similar to the data (block A′) of the first section 841 of the new program data (FIG. 8(b)) from the existing program data (FIG. 8(a)). Search. During the search, the management server 100 may sequentially scan areas of the storage unit in which existing program data is stored. At this time, instead of scanning per section, scanning may be performed while sequentially increasing addresses. After determining that the data (block A) of the first section (841 in FIG. 8(a)) is the most similar data, the management server 100 determines that the data of the difference part (the shaded area in 841 in FIG. 8(b)) data) may be determined as the first configuration of delta data.
  • the management server 100 determines that the data of the difference part (the shaded area in 841 in FIG. 8(b)) data) may be determined as the first configuration of delta data.
  • the management server 100 searches the existing program data (FIG. 8(a)) for data most similar to the data (block B) of the second section 842 of the new program data (FIG. 8(b)). do.
  • the management server 100 may determine that the data (block B) of the second section (842 in FIG. 8(a)) is the same data.
  • the management server 100 converts data most similar to the data (block D') of the fourth section 844 of the new program data (FIG. 8(b)) from the existing program data (FIG. 8(a)). Search. After determining that the data (block D) of the fifth section (845 in FIG. 8(a)) is the most similar data, the management server 100 determines that the data of the difference part (the shaded area in 844 in FIG. 8(b)) Data of) can be determined as the second configuration of delta data.
  • the management server 100 replaces some of the data of the first section 841 in the existing program data (FIG. 8(a)) with the first configuration of delta data, and the fifth section ( After replacing some of the data of 845) with the second configuration of delta data, it can be seen that if the data of the fifth section 845 is moved to the fourth section, it becomes the same as the new program data (FIG. 8(b)). there is.
  • FIG. 9 is a diagram for explaining a process of updating program data in a method of upgrading a home appliance according to an embodiment of the present invention.
  • the method shown in FIG. 9 may be performed by the control unit 820 (more specifically, the processing unit 821) of the home appliance, and the control unit 820 manages the instruction set and delta data to perform these operations. It may be transmitted from the server 100 to the home appliance.
  • FIG. 9(a) shows a program data before updating.
  • data A of section 841 may be changed to data A′ and written to section 843 .
  • a specific process is the same as that described in FIG. 8 . That is, delta data in which data A of section 841 is read and written in a specific area of a volatile memory (eg, RAM), and data of a part of the specific area of the volatile memory is received from the management server 100 , and the data A' recorded in a specific area of the volatile memory may be written to the section 843 of the non-volatile memory (eg, flash memory).
  • a volatile memory eg, RAM
  • the data A' recorded in a specific area of the volatile memory may be written to the section 843 of the non-volatile memory (eg, flash memory).
  • data D of section 845 may be changed to data D' and written to section 846.
  • a specific process is the same as that described in FIG. 8 .
  • data A' of section 843 may be written to section 841.
  • the data of the section 841 is deleted, the data (A') of the section 843 is read and written to a specific area of the volatile memory, and the data (A') written to the specific area of the volatile memory can be recorded in section 841.
  • data D′ of the section 846 may be written to the section 844.
  • a specific process is similar to that described in FIG. 9(d).
  • unnecessary sections may be deleted. That is, data of sections 843, 845, and 846 may be deleted.
  • FIG. 10 is a diagram for explaining a process of updating program data in a method of upgrading a home appliance according to an embodiment of the present invention.
  • the method shown in FIG. 10 may be performed by the controller 820 (more specifically, the processing unit 821) of the home appliance, and the command set and delta data for the controller 820 to perform these operations are managed. It may be transmitted from the server 100 to the home appliance.
  • the embodiment shown in FIG. 10 is a case where the capacity of the non-volatile memory (eg, flash memory) is sufficiently large.
  • the capacity of the first storage unit 822 shown in FIG. 5 is designed to be double the conventional capacity, or the home appliance includes a third storage unit (830 in FIG. 5). That is, 850 of FIG. 10 may be the first storage unit 822 shown in FIG. 5 , and 860 of FIG. 10 may be the third storage unit 830 shown in FIG. 5 .
  • FIG. 10(a) shows the program data before updating.
  • data A, B, C, and D of the storage unit 850 may be copied to the storage unit 860 .
  • data of each section 851, 852, 853, 854 of the storage unit 850 is sequentially read and written to a specific area of the volatile memory, and then the data of the specific area of the volatile memory is stored in the storage unit 860. It can be recorded in each section (861, 862, 863, 864).
  • the data A of the storage unit (section 851) may be changed to data A'.
  • the specific process is the same as that described in FIG. 8. That is, the section ( 851) reads data (A) and writes it in a specific area of volatile memory (eg, RAM), and modifies data in some of the specific areas of volatile memory with delta data received from the management server 100 to obtain data (A'), data (A') recorded in a specific area of the volatile memory may be written to the section 851 of the non-volatile memory (eg, flash memory).
  • volatile memory eg, RAM
  • delta data received from the management server 100
  • data (A') recorded in a specific area of the volatile memory may be written to the section 851 of the non-volatile memory (eg, flash memory).
  • data D of section 854 may be changed to data D′.
  • a specific process may be similar to that described in FIG. 10(c).
  • data recorded in the storage unit 860 may be deleted.
  • a previous program may be backed up before updating the program. Therefore, even if the update is interrupted due to a power failure or the like during the program update process, it can be restored without error.
  • FIG. 11 is a diagram for explaining a process of updating program data in a method of upgrading a home appliance according to an embodiment of the present invention.
  • the step shown in FIG. 11 may be performed in step S110 of FIG. 5 .
  • the communication unit 810 may notify the control unit 820 that a process of updating program data starts (step S201).
  • the communication unit 810 may transmit information on the history page to the control unit 820 (step S202).
  • Information on the history page may be a specific address of a non-volatile memory included in the home appliance.
  • Information on the number of commands executed by the control unit 820 in updating program data may be recorded in the specific address.
  • the controller 820 can read the history page (step S203). As described above, information on the number of previously executed commands may be recorded in the history page.
  • control unit 820 may transmit a confirmation signal (ack) to the communication unit 810 (step S204).
  • the communication unit 810 may transmit a command and/or delta data to the controller 820 in response to the confirmation signal ack (step S205).
  • the communication unit 810 may sequentially transmit commands and/or delta data stored in the storage unit 811 in response to the confirmation signal (ack).
  • a command transmitted by the communication unit 810 may include a serial number.
  • the controller 820 may determine whether a count value indicating the number of commands received after the program update starts is greater than a value stored in the history page (S206).
  • the number of commands received may be a serial number included in commands transmitted by the communication unit 810 . If the serial number is not included in the command transmitted by the communication unit 810, the controller 820 may count it every time a command is received from when the program update starts.
  • the controller 820 may transmit a confirmation signal (ack) to the communication unit 810 without executing the corresponding command (step S207).
  • the controller 820 may execute the corresponding command (step S208). At this time, the controller 820 may store the count value in the history page (step S208).
  • the operation of storing the count value in the history page may be performed according to the type of the executed command. For example, a count value may be stored in a history page only when an operation of changing data of a non-volatile memory (eg, flash memory) is performed. Depending on an embodiment, the count value may be stored in the history page only when an operation of deleting data in a non-volatile memory (eg, flash memory) is performed.
  • control unit 820 may transmit a confirmation signal (ack) to the communication unit 810 (step S209).
  • the update can be normally completed. That is, when the update operation is restarted after recording commands performed until the update operation is stopped, the update operation may be performed subsequent to the operations performed before the update operation is stopped. At this time, by recording the count value in the history page only when a command for changing data in the non-volatile memory is executed, the operation for the volatile memory can be performed again. However, in the case of a task of writing data to a non-volatile memory, data may not be normally written if the operation is stopped. Therefore, by recording the count value in the history page only when data in the non-volatile memory is deleted, the reliability of the operation can be further improved.
  • the communication unit 810 may determine whether updating of program data is completed (step S210).
  • the communication unit 810 may determine that updating of program data is completed when all instruction sets stored in the storage unit 811 are transmitted to the control unit 820 .
  • the communication unit 810 transmits the checksum to the control unit 820 (step S211), and the control unit 820 may return a confirmation signal (ack) to the communication unit 810 if there is no error after confirmation. Yes (step S212). That is, it is possible to check whether there is an error in data transmission or the like. Unlike the drawing, it is also possible to check whether there is an error in data transmission in a method other than the checksum.
  • the communication unit 810 may notify the control unit 820 of disconnection (step S213).
  • the control unit 820 may return a confirmation signal (ack) to the communication unit 810 (step S214), and the communication unit 810 may finally disconnect from the control unit 820.
  • ack confirmation signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)

Abstract

본 발명은 업그레이드 가능한 전자 기기, 전자 기기를 업그레이드하는 서버 및 전자 기기를 업그레이드하는 방법을 공개한다. 본 발명의 일실시예에 따른 전자 기기는 프로그램 데이터를 저장하는 저장부, 관리 서버로부터 상기 프로그램 데이터를 업데이트하기 위한 파일을 수신하여 저장하고, 저장된 파일에 기초하여 상기 프로그램 데이터을 업데이트하기 위한 갱신 데이터를 송신하는 통신부, 및 상기 갱신 데이터에 응답하여 상기 프로그램 데이터를 업데이트하는 제어부를 포함하고, 상기 통신부는 상기 프로그램 데이터 중 변경되는 부분만으로 구성된 델타 데이터와 명령어를 상기 갱신 데이터로 송신한다.

Description

기능 업그레이드가 가능한 전자 기기, 전자 기기의 기능을 업그레이드하는 서버, 및 전자 기기의 기능을 업그레이드하는 방법
본 발명은 기능을 업그레이드할 수 있는 전자 기기, 전자 기기의 기능을 업그레이드하는 서버, 및 전자 기기의 기능을 업그레이드하는 방법에 관한 것이다.
전자 기기는, 전자 기기의 동작을 제어하는 제어부를 포함한다. 제어부는 특정 프로그램을 실행함으로써 사용자가 원하는 기능을 구현하도록 전자 기기를 제어한다.
일반적인 경우, 전자 기기가 판매된 이후에는 상기 프로그램에 대해서 오류 수정 등의 간단한 지원만이 이루어지고 있다. 따라서, 사용자는 새로운 기능을 수행하는 전자 기기가 필요한 경우에는 새로운 전자 기기를 구매하여야 한다. 즉, 사용자가 구매한 전자 기기는 시간이 지날수록 잔존가치가 크게 감소하는 결과를 초래하였고, 이는 사용자의 불만 사항이 되고 있다.
이에 따라, 상기 프로그램을 수정함으로써, 전자 기기의 기능을 개선하거나, 전자 기기가 수행할 수 있는 기능을 추가하는 방법이 연구되고 있으며, 이에 대해서 일부는 실제 구현되고 있다.
종래의 방법에 따르면, 상기 프로그램 전체를 서버로부터 전자 기기로 전송하거나, 상기 프로그램을 일정한 단위들로 분할한 다음, 분할된 단위들 중 변경된 부분을 서버로부터 전자 기기로 전송한 후, 전자 기기에서 업데이트를 진행하였다.
그런데, 전자 기기들이 수행하는 기능의 수가 많아지고, 기능들 각각도 고도화되면서, 프로그램의 크기가 많이 커지고 있다. 따라서, 종래의 방법으로 전자 기기를 업그레이드하기 위해서 전송되는 데이터의 양이 커지게 되었으며, 결과적으로 업그레이드에 걸리는 시간도 증가하게 된다는 문제점이 있었다.
본 발명의 목적은 보다 편리하게 전자 기기의 기능을 업그레이드하는 장치 및 방법을 제공하는 것이다.
또한 본 발명의 목적은 전자 기기의 기능을 업그레이드할 때 소요되는 시간을 단축시킬 수 있는 장치 및 방법을 제공하는 것이다.
또한 본 발명의 목적은 전자 기기의 기능을 업그레이드할 때 전송되는 데이터의 양을 감소시킬 수 있는 장치 및 방법을 제공하는 것이다.
또한, 본 발명의 목적은 전자 기기의 기능을 업그레이드하는 중에 정전 등으로 인해 전자 기기의 동작이 정지된 경우에도 오류가 발생하는 등의 문제가 생기지 않고 정상적으로 전자 기기의 기능 업그레이드 동작을 완료시킬 수 있는 장치 및 방법을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법은 전자 기기의 동작을 제어하는 프로그램 데이터 중 변경된 부분의 데이터인 델타 데이터만 서버로부터 전자 기기로 전송할 수 있다.
본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법은 전자 기기의 동작을 제어하는 프로그램 데이터 중 변경된 부분의 데이터인 델타 데이터만 전자 기기의 통신부로부터 전자 기기의 제어부로 전송될 수 있다.
본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법은 전자 기기의 동작을 제어하는 프로그램 데이터 중 새로운 프로그램 데이터의 섹터별 데이터와 가장 유사한 데이터를 기존의 프로그램 데이터에서 검출한 후, 검출된 데이터와 섹터별 데이터를 비교하여 델타 데이터를 생성할 수 있다.
본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법은 전자 기기의 제1 저장부에 저장된 프로그램 데이터 중 델타 데이터에 대응하는 데이터를 포함한 제1 영역의 데이터를 리드하고, 리드한 데이터 중 델타 데이터에 대응하는 데이터를 델타 데이터로 치환할 수 있다. 여기서, 제1 저장부는 비휘발성 메모리일 수 있다.
본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법은 전자 기기의 제1 저장부의 제1 영역에 저장된 데이터를 리드하고, 리드한 데이터 중 일부를 델타 데이터로 치환한 후, 제1 저장부의 제2 영역에 저장할 수 있다.
본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법은 전자 기기의 제어부에서 수행될 명령어 및 델타 데이터를 서버로부터 전자 기기의 통신부로 송신할 수 있다.
본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법은 전자 기기의 제어부에서 수행한 명령의 수에 대응하는 히스토리를 전자 기기의 저장부에 저장할 수 있다. 이때, 상기 히스토리는 상기 명령 중 저장부의 일정 영역의 데이터를 삭제하는 명령이 수행되었을 때 저장될 수 있다.
본 발명의 일실시예에 따른 전자 기기는 프로그램 데이터를 저장하는 저장부, 관리 서버로부터 상기 프로그램 데이터를 업데이트하기 위한 파일을 수신하여 저장하고, 저장된 파일에 기초하여 상기 프로그램 데이터을 업데이트하기 위한 갱신 데이터를 송신하는 통신부, 및 상기 갱신 데이터에 응답하여 상기 프로그램 데이터를 업데이트하는 제어부를 포함하고, 상기 통신부는 상기 프로그램 데이터 중 변경되는 부분만으로 구성된 델타 데이터와 명령어를 상기 갱신 데이터로 송신한다.
본 발명의 일실시예에 따른 전자 기기의 상기 제어부는 상기 프로그램 데이터를 저장하는 저장부, 상기 저장부의 제1 영역의 제1 데이터를 읽고, 상기 제1 영역의 데이터 중 일부를 상기 델타 데이터로 수정하여 제2 데이터를 생성하고, 상기 제2 데이터를 상기 제1 영역과 상이한 제2 영역에 저장하는 프로세싱 유닛을 포함할 수 있다.
본 발명의 일실시예에 따른 전자 기기의 상기 제어부는 비휘발성 메모리를 포함하고, 상기 프로그램 데이터를 저장하는 제1 저장부, 휘발성 메모리를 포함하는 제2 저장부, 및 상기 갱신 데이터에 응답하여 상기 프로그램 데이터를 업데이트하는 프로세싱 유닛을 포함하고, 상기 프로세싱 유닛은 상기 제1 저장부의 제1 영역의 데이터를 읽어 상기 제2 저장부의 제2 영역에 기록하고, 상기 제2 영역 중 일부의 데이터를 상기 델타 데이터로 수정하고, 상기 제2 영역의 데이터를 상기 제1 저장부의 상기 제1 영역과 상이한 제3 영역에 기록할 수 있다.
본 발명의 일실시예에 따른 전자 기기의 상기 제1 저장부는 복수개의 섹션들을 포함하고, 상기 프로세싱 유닛은 상기 제3 영역에 기록된 데이터를 상기 복수개의 섹션들 중 어느 하나에 기록한 후, 상기 제3 영역의 데이터를 삭제할 수 있다.
본 발명의 일실시예에 따른 전자 기기의 상기 제어부는 비휘발성 메모리를 포함하고, 상기 프로그램 데이터를 저장하는 제1 저장부, 휘발성 메모리를 포함하는 제2 저장부, 및 상기 갱신 데이터에 응답하여 상기 프로그램 데이터를 업데이트하는 프로세싱 유닛을 포함하고, 상기 전자 기기는 비휘발성 메모리를 포함하는 제3 저장부를 더 포함하고, 상기 프로세싱 유닛은 제1 저장부에 저장된 상기 프로그램 데이터를 상기 제3 저장부에 기록하고, 상기 제1 저장부의 제1 영역 중 일부의 데이터를 상기 델타 데이터로 수정할 수 있다.
본 발명의 일실시예에 따른 전자 기기의 상기 프로세싱 유닛은 상기 프로그램 데이터의 업데이트가 완료된 이후, 상기 제3 저장부의 데이터를 삭제할 수 있다.
본 발명의 일실시예에 따른 전자 기기의 상기 제어부는 상기 프로그램 업데이트가 시작된 이후에 수신한 명령어의 개수를 나타내는 카운터 값과 히스토리 페이지에 저장된 히스토리 값보다 작거나 같으면, 상기 명령어를 수행하지 않고, 상기 카운터 값이 상기 히스트로 값보다 크면 상기 명령어를 수행할 수 있다.
본 발명의 일실시예에 따른 전자 기기의 상기 제어부는 상기 명령어가 비휘발성 메모리에 데이터를 기록하거나 삭제하는 명령어인 경우, 상기 카운트 값을 상기 히스토리 페이지에 기록할 수 있다.
본 발명의 일실시예에 따른 관리 서버는 최신 버전의 프로그램 데이터와, 이전 버전의 프로그램 데이터를 저장하는 저장부, 상기 최신 버전의 프로그램 데이터와 상기 이전 버전의 프로그램 데이터를 비교하여 델타 데이터를 생성하는 제어부, 및 상기 델타 데이터를 전자 기기로 송신하는 통신부를 포함하고, 상기 델타 데이터는 상기 최신 버전의 프로그램 데이터 중 상기 이전 버전의 프로그램 데이터와 상이한 데이터만을 포함한다.
본 발명의 일실시예에 따른 관리 서버의 상기 제어부는 상기 최신 버전의 프로그램 데이터 중 제1 섹션의 데이터와 상기 이전 버전의 프로그램 데이터 전체를 비교하여 상기 제1 섹션의 데이터와 가장 유사한 데이터를 검색하고, 상기 제1 섹션의 데이터 중 상기 가장 유사한 데이터와 상이한 데이터를 상기 델타 데이터로 결정할 수 있다.
본 발명의 일실시예에 따른 관리 서버의 상기 통신부는 상기 델타 데이터와, 적어도 하나 이상의 명령어를 포함하는 파일을 상기 전자 기기로 송신할 수 있다.
본 발명의 일실시예에 따른 관리 서버의 상기 이전 버전의 프로그램 데이터는 제1 버전 프로그램 데이터와 제2 버전 프로그램 데이터를 포함하고, 상기 델타 데이터는 제1 델타 데이터와, 제2 델타 데이터를 포함하고, 상기 제어부는 상기 최신 버전의 프로그램 데이터와 상기 제1 버전 프로그램 데이터를 비교하여 상기 제1 델타 데이터를 생성하고, 상기 최신 버전의 프로그램 데이터와 상기 제2 버전 프로그램 데이터를 비교하여 상기 제2 델타 데이터를 생성할 수 있다.
본 발명의 일실시예에 따른 관리 서버의 상기 통신부는 상기 제1 버전 프로그램 데이터를 저장하는 제1 전자 기기로 상기 제1 델타 데이터를 송신하고, 상기 제2 버전 프로그램 데이터를 저장하는 제2 전자 기기로 상기 제2 델타 데이터를 송신할 수 있다.
본 발명의 일실시예에 따른 방법은 관리 서버로부터 수신한 파일을 저장하는 통신부와 프로그램 데이터를 저장하는 제어부를 포함하는 전자 기기를 업그레이드하는 방법에 있어서, 상기 통신부가, 상기 프로그램 데이터 중 변경되는 부분만으로 구성된 델타 데이터와 명령어를 상기 제어부로 송신하는 단계, 및 상기 제어부가, 상기 프로그램 데이터 중 일부 데이터를 상기 델타 데이터로 수정하는 단계를 포함한다.
본 발명의 일실시예에 따른 방법의 상기 수정하는 단계는 상기 프로그램 데이터를 저장하는 비휘발성 메모리의 제1 영역의 데이터를 읽어 휘발성 메모리의 제2 영역에 기록하는 단계, 상기 제2 영역 중 일부의 데이터를 상기 델타 데이터로 수정하는 단계, 및 상기 제2 영역의 데이터를 상기 비휘발성 메모리의 상기 제1 영역과 상이한 제3 영역에 기록하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 방법의 상기 수정하는 단계는 상기 제3 영역의 데이터를 상기 비휘발성 메모리의 복수개의 섹션들 중 하나에 기록하는 단계, 및 상기 제3 영역의 데이터를 삭제하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 방법의 상기 수정하는 단계는 제1 비휘발성 메모리에 저장된 상기 프로그램 데이터를, 제2 비휘발성 메모리에 저장하는 단계, 상기 제1 비휘발성 메모리의 제1 영역의 데이터 중 일부의 데이터를 상기 델타 데이터로 수정하는 단계, 및 상기 제2 휘발성 메모리의 데이터를 삭제하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 방법의 상기 수정하는 단계는 상기 명령어가 비휘발성 메모리에 데이터를 기록하거나 삭제하는 명령어인 경우, 상기 프로그램 업데이트가 시작된 이후에 수신한 명령어의 개수를 나타내는 카운터 값을 히스토리 페이지에 기록하는 단계, 상기 카운터 값과 상기 히스토리 페이지에 기록된 히스토리 값을 비교하는 단계, 및 상기 카운터 값과 히스토리 페이지에 저장된 히스토리 값보다 작거나 같으면, 상기 명령어를 수행하지 않고, 상기 카운터 값이 상기 히스트로 값보다 크면 상기 명령어를 수행하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 방법은 상기 관리 서버가, 상기 최신 버전의 프로그램 데이터 중 제1 섹션의 데이터와 상기 이전 버전의 프로그램 데이터 전체를 비교하여 상기 제1 섹션의 데이터와 가장 유사한 데이터를 검색하는 단계, 및 상기 제1 섹션의 데이터 중 상기 가장 유사한 데이터와 상이한 데이터를 상기 델타 데이터로 결정하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법에 따르면, 전자 기기의 기능을 보다 편리하게 업그레이드할 수 있다.
또한 본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법에 따르면, 전자 기기의 기능을 업그레이드할 때 소요되는 시간을 단축시킬 수 있다.
또한 본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법에 따르면, 전자 기기의 기능을 업그레이드할 때 전송되는 데이터의 양을 감소시킬 수 있다.
또한 본 발명의 일실시예에 따른 전자 기기, 서버, 및 방법에 따르면, 전자 기기의 기능을 업그레이드하는 중에 정전 등으로 인해 전자 기기의 동작이 정지된 경우에도, 오류가 발생하는 등의 문제가 생기지 않고 정상적으로 전자 기기의 기능 업그레이드 동작을 완료시킬 수 있다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1은 본 발명의 일실시예에 따른 전자 기기를 업그레이드하는 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 시스템의 구성을 개략적으로 나타낸 도면으로서, 도 1의 사용자 기기를 보다 구체적으로 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 관리 서버의 구성을 개략적으로 나타낸 블록도이다.
도 4는 본 발명의 일실시예에 따른 업그레이드 가능한 가전 기기의 구성을 개략적으로 나타낸 블록도이다.
도 5는 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법의 전체적인 동작을 설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 프로그램 데이터를 업데이트하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 델타 데이터를 생성하고 전송하는 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 기존의 프로그램 데이터와 새로운 프로그램 데이터의 일례를 개략적으로 나타낸 도면이다.
도 9 내지 도 11 각각은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 프로그램 데이터를 업데이트하는 과정을 설명하기 위한 도면이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것으로, 특별히 반대되는 기재가 없는 한, 제1 구성요소는 제2 구성요소일 수도 있음은 물론이다.
이하에서, 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 상기 구성요소들은 서로 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 다른 구성요소가 "개재"되거나, 각 구성요소가 다른 구성요소를 통해 "연결", "결합" 또는 "접속"될 수도 있는 것으로 이해되어야 할 것이다.
명세서 전체에서, 특별히 반대되는 기재가 없는 한, 각 구성요소는 단수일 수도 있고 복수일 수도 있다.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
명세서 전체에서, "A 및/또는 B" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, A, B 또는 A 및 B 를 의미하며, "C 내지 D" 라고 할 때, 이는 특별한 반대되는 기재가 없는 한, C 이상이고 D 이하인 것을 의미한다.
이하에서는, 본 발명의 몇몇 실시예에 따른 업그레이드 가능한 가전 기기, 가전 기기를 업그레이드하는 서버, 및 가전 기기를 업그레이드하는 방법을 설명하도록 한다.
도 1은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 시스템의 구성을 개략적으로 나타낸 도면으로서, 본 발명의 일실시예에 따른 시스템은 관리 서버(100) 및 복수개의 사용자 기기들(210, 220, 230, 240)을 포함할 수 있다.
관리 서버(100)는 업그레이드할 전자 기기들에 대한 정보, 및 사용자 각각이 보유하고 있는 전자 기기에 대한 정보를 저장할 수 있다.
업그레이드할 전자 기기들에 대한 정보는 전자 기기의 식별 정보, 전자 기기의 버전별 프로그램 데이터 및 이전 버전들 각각의 프로그램 데이터와 최신 버전의 프로그램 데이터의 비교 결과에 따라 도출된 델타 데이터 중 적어도 하나 이상을 포함할 수 있다.
사용자 각각이 보유하고 있는 전자 기기에 대한 정보는 사용자 식별 정보 및 사용자 식별 정보와 연계된 전자 기기의 식별 정보를 포함할 수 있다.
관리 서버(100)는 사용자 기기들(210, 220, 230, 240) 각각의 프로그램 데이터를 업데이트 하기 위해, 상기 델타 데이터를 포함한 파일을 송신할 수 있다. 이때, 관리 서버(100)가 송신하는 파일에는 사용자 기기들(210, 220, 230, 240) 각각에서 수행되어야 할 명령어 세트도 포함될 수 있다.
복수개의 사용자 기기들(210, 220, 230, 240) 각각은 적어도 하나 이상의 전자 기기들을 포함할 수 있다. 여기서, 전자 기기는 공기조화기, 공기청정기, 냉장고, 세탁기, 의류관리기, 및 정수기 등 다양한 형태의 가전 기기, 스마트폰 등의 모바일 기기, 및 자동차 등에 포함되는 다양한 형태의 전자 장치(예를 들면, 자율 주행을 위해 구비되는 장치 또는 차량의 운행을 제어하기 위한 장치 등) 등 다양한 형태의 장치들을 포함할 수 있다.
또한, 복수개의 사용자 기기들(210, 220, 230, 240) 각각은 적어도 하나 이상의 사용자 단말을 포함할 수 있다. 적어도 하나 이상의 전자 기기들 각각은 관리 서버(100)로부터 수신한 파일(즉, 델타 데이터 및/또는 명령어 세트를 포함한 파일)에 응답하여 프로그램 데이터를 업데이트할 수 있다.
이하, 업그레이드할 전자 기기의 일례로서 가전 기기를 업그레이드하는 경우를 예를 들어 설명한다. 그러나, 본 발명의 범위는 이에 한정되지 않는다.
도 2는 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 시스템의 구성을 개략적으로 나타낸 도면으로서, 도 1의 사용자 기기를 보다 구체적으로 나타낸 도면이다. 본 발명의 일실시예에 따른 시스템은 관리 서버(100), 억세스 포인트(300), 복수개의 가전 기기들(410, 420, 430, 440, 500, 600), 및 사용자 단말(700)을 포함할 수 있다. 즉, 도 1의 복수개의 사용자 기기들(210, 220, 230, 240) 각각은 억세스 포인트(300), 복수개의 가전 기기들(410, 420, 430, 440, 500, 600), 및 사용자 단말(700) 중 적어도 하나 이상을 포함할 수 있다.
관리 서버(100)의 기능은 도 1에서 설명한 것과 동일할 수 있다.
억세스 포인트(300)는 관리 서버(100)와 가전 기기들(410, 420, 500, 600)을 중계하는 역할을 수행할 수 있다. 억세스 포인트(300)는 와이파이 공유기일 수 있다.
복수개의 가전 기기들(410, 420, 430, 440, 500, 600) 각각은 해당하는 프로그램의 실행에 따라 고유의 기능을 수행할 수 있다.
가전 기기들(410, 420, 430, 440)은 소정의 기능을 위해 연결된 가전 기기일 수 있다. 예를 들면, 제1-1 가전 기기(410), 제1-2 가전 기기(420), 제1-3 가전 기기(430)는 공기조화기의 실내기이고, 제1-4 가전 기기(440)는 공기조화기의 실외기일 수 있다. 또한, 제1-1 가전 기기(410) 및 제1-2 가전 기기(420)는 통신 모듈(예를 들면, 와이파이 모듈)을 포함할 수 있다. 따라서, 제1-1 가전 기기(410), 제1-2 가전 기기(420), 제1-3 가전 기기(430) 각각은 해당하는 프로그램의 실행에 따라 실내 공기의 온도, 습도, 및 미세먼저 농도 중 적어도 하나 이상을 조절할 수 있다.
제2 가전 기기(500) 및 제3 가전 기기(600) 각각은 독립적으로 동작하는 가전 기기일 수 있다. 예를 들면, 제2 가전 기기(500) 및 제3 가전 기기(600) 각각은 세탁기, 공기청정기, 의류관리기, 및 냉장고 등 다양한 가전 기기들 중 하나일 수 있다. 제2 가전 기기(500) 및 제3 가전 기기(600) 각각은 통신 모듈(예를 들면, 와이파이 모듈)을 포함할 수 있다.
사용자 단말(700)은 복수개의 가전 기기들(410, 420, 430, 440, 500, 600)을 소유한 사용자의 모바일 단말일 수 있다.
실시예에 따라, 억세스 포인트(300)는 제외될 수 있다. 이 경우, 가전 기기들(410, 420, 500, 600) 각각이 인터넷 망 등을 통해 관리 서버(100)에 접속할 수 있다.
도 3은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 관리 서버의 구성을 개략적으로 나타낸 블록도로서, 관리 서버(100)는 제어부(110), 통신부(120), 및 저장부(130)를 포함할 수 있다.
제어부(110)는 저장부(130)에 저장된 데이터에 기초하여 가전 기기별로 델타 데이터를 생성하고, 통신부(120)를 통해 가전 기기(도 2의 410, 420, 500, 600)로 델타 데이터를 송신할 수 있다. 제어부(110)는, 델타 데이터를 송신할 때, 가전 기기(도 2의 410, 420, 500, 600)의 제어부에 의해 수행될 명령어 세트도 함께 송신할 수 있다.
제어부(110)는 적어도 하나의 프로세싱 유닛 및/또는 메모리를 포함할 수 있다. 여기서, 프로세싱 유닛은 예를 들어 중앙처리장치 (CPU), 그래픽처리장치 (GPU), 마이크로프로세서, 주문형 반도체 (Application Specific Integrated Circuit, ASIC), Field Programmable Gate Arrays (FPGA) 등을 포함할 수 있으며, 복수의 코어를 가질 수 있다. 메모리는 휘발성 메모리(예를 들어, RAM 등), 비휘발성 메모리(예를 들어, ROM, 플래시 메모리 등) 또는 이들의 조합일 수 있다.
통신부(120)는 제어부(110)의 제어에 따라 신호를 외부로 송신할 수 있다. 또한, 통신부(120)는 외부로부터 신호를 수신하고, 수신된 신호를 제어부(110)로 출력할 수 있다. 통신부(120)는 유선 및/또는 무선으로 신호를 송수신할 수 있다. 통신부(120)는 모뎀, 네트워크 인터페이스 카드(NIC), 통합 네트워크 인터페이스, 무선 주파수 송신기/수신기, 적외선 포트, USB 접속 또는 다른 컴퓨팅 장치와의 통신을 위한 다른 인터페이스를 포함할 수 있다.
저장부(130)는 제어부(110)의 제어에 따라, 통신부(120)를 통해 수신한 데이터 및/또는 저장부(130)는 제어부(110)에 의해 가공된 데이터를 저장할 수 있다. 예를 들면, 저장부(130)는 사용자의 식별 정보, 사용자 식별 정보와 연계된 가전 기기의 식별 정보, 가전 기기의 버전 별 프로그램 데이터, 및 이전 버전들 각각의 프로그램 데이터와 최신 버전의 프로그램 데이터의 비교 결과에 따라 도출된 델타 데이터 중 적어도 하나 이상을 저장할 수 있다.
도 4는 본 발명의 일실시예에 따른 업그레이드 가능한 가전 기기의 구성을 개략적으로 나타낸 블록도로서, 본 발명의 일실시예에 따른 가전 기기는 통신부(810), 제어부(820), 및 제3 저장부(830)를 포함할 수 있다. 통신부(810)는 저장부(811) 및 송수신부(812)를 포함할 수 있고, 제어부(820)는 프로세싱유닛(821), 제1 저장부(822), 및 제2 저장부(823)를 포함할 수 있다. 도 2의 가전 기기들(410, 420, 500, 600) 각각은 도 4에 나타낸 구성을 포함할 수 있다. 또한, 실시예에 따라, 본 발명의 일실시예에 따른 가전 기기는 제1 저장부(822), 제2 저장부(823), 및 제3 저장부(830) 중 일부를 구비하지 않을 수 있다.
통신부(810)는 관리 서버(도 1 또는 도 2의 100)로부터 데이터를 수신하고, 수신한 데이터를 제어부(820)로 송신할 수 있다. 관리 서버(도 1 또는 도 2의 100)로부터 수신한 데이터는 상술한 델타 데이터와, 제어부(820)에서 수행되는 명령을 포함할 수 있다. 통신부(810)는 무선 주파수 송신기/수신기, 적외선 포트, USB 접속 또는 다른 인터페이스를 포함할 수 있다. 예를 들면, 통신부(160)는 와이파이 또는 블루투스 등의 통신 표준에 따라 신호를 송수신하는 근거리 통신 모듈을 포함할 수 있다.
저장부(811)는 관리 서버(도 1 또는 도 2의 100)로부터 수신한 데이터를 저장할 수 있다. 저장부(811)는 비휘발성 메모리일 수 있다. 예를 들면, 저장부(811)는 플래쉬 메모리일 수 있다.
송수신부(812)는 저장부(811)에 저장된 데이터를 제어부(820)로 송신할 수 있다.
제어부(820)는 가전 기기의 기능을 구현하기 위한 프로그램을 저장하며, 저장된 프로그램을 실행하여 가전 기기가 특정 기능을 수행하도록 할 수 있다. 또한, 제어부(820)는 통신부(810)로부터 수신된 데이터에 응답하여 저장된 프로그램을 업데이트할 수 있다.
프로세싱 유닛(821)은 중앙처리장치 (CPU), 그래픽처리장치 (GPU), 마이크로프로세서, 주문형 반도체 (Application Specific Integrated Circuit, ASIC), Field Programmable Gate Arrays (FPGA) 등을 포함할 수 있으며, 복수의 코어를 가질 수 있다.
제1 저장부(822)는 비휘발성 메모리일 수 있다. 예를 들면, 제1 저장부(822)는 플래시 메모리일 수 있다. 제1 저장부(822)는 상기 프로그램을 저장할 수 있다.
제2 저장부(823)는 휘발성 메모리일 수 있다. 예를 들면, 제2 저장부(823)는 램(RAM)일 수 있다. 제2 저장부(823)는 제1 저장부(822)에 저장된 프로그램 데이터 중 일부가 로딩될 수 있고, 제2 저장부(823)에 저장된 프로그램 데이터가 제1 저장부(822)의 특정 영역에 라이트될 수 있다.
제3 저장부(830)는 비휘발성 메모리일 수 있다. 제3 저장부는 플래시 메모리, 자기 스토리지, 광학 스토리지 중 하나일 수 있다. 가전 기기의 기능을 수행하기 위한 프로그램은 제3 저장부(830)에 저장될 수도 있다.
도 5는 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법의 전체적인 동작을 설명하기 위한 도면이다.
먼저, 통신부(810)는 제어부(820)로 가전 기기의 식별 정보를 요청할 수 있다(S101 단계). 가전 기기의 식별 정보는 가전 기기의 일련 번호, 및 모델명 중 어느 하나 이상을 포함할 수 있다.
다음으로, 제어부(820)는 제품 정보 요청에 응답하여, 가전 기기의 식별 정보를 통신부(810)로 회신할 수 있다(S102 단계).
다음으로, 통신부(810)는 관리 서버(100)로 가전 기기가 업그레이드할 내역이 있는지에 대한 정보를 요청할 수 있다(S103 단계). 이때, 통신부(810)는 가전 기기의 식별 정보를 관리 서버(100)로 송신할 수 있다. 또한, 통신부(810)는 사용자 정보를 추가적으로 관리 서버(100)로 송신할 수도 있다.
다음으로, 관리 서버(100)는 업그레이드할 내역이 있는지 여부에 대한 업그레이드 정보를 통신부(810)로 회신할 수 있다(S104 단계).
또한, 관리 서버(100)는 사용자 단말(700)로도 상기 업그레이드 정보를 제공할 수 있다(S105 단계). 관리 서버(100)는 저장부(도 3의 130)에 저장된 정보를 이용하여 가전 기기의 사용자에 대한 정보를 검색할 수도 있고, 통신부(810)로부터 사용자 정보를 수신할 수도 있다.
다음으로, 사용자가 사용자 단말(700)을 이용하여 업그레이드를 수락하면, 업그레이드 수락에 대한 정보가 사용자 단말(700)로부터 관리 서버(100)로 송신될 수 있다(S106 단계).
사용자는 사용자 단말(700)을 이용하여 업그레이드를 수락하는 대신, 가전 기기의 입출력 장치를 이용하여 업그레이드를 수락할 수도 있다.
사용자의 업그레이드 수락에 응답하여, 관리 서버(100)는 통신부(810)로 업그레이드 시작을 요청할 수 있다(S107 단계).
통신부(810)는, 관리 서버(100)의 업그레이드 시작 요청에 응답하여, 파일 전송을 요청할 수 있다(S108 단계).
관리 서버(100)는 통신부(810)의 파일 전송 요청에 응답하여, 델타 데이터 및/또는 명령어 세트를 포함하는 파일을 통신부(810)로 송신할 수 있다(S109 단계).
통신부(810) 및 제어부(820)는 관리 서버(100)로부터 수신한 파일을 이용하여, 가전 기기의 프로그램을 업데이트할 수 있다(S110 단계).
업그레이드가 완료되면, 통신부(810)는 관리 서버(100)로 업그레이드 완료를 회신할 수 있다(S111 단계).
관리 서버(100)는 통신부(810)로부터 수신한 업그레이드 완료 회신에 응답하여, 사용자 단말로 업그레이드 완료와 관련된 정보를 제공할 수 있다(S112 단계).
도 6은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 프로그램 데이터를 업데이트하는 과정을 설명하기 위한 도면이다. 도 6에서, 840은 가전 기기의 비휘발성 메모리를, 850은 가전 기기의 휘발성 메모리를 각각 나타낸다. 예를 들면, 도 6의 840은 도 4의 제1 저장부(822)와 동일한 것일 수 있고, 도 6의 850은 도 4의 제2 저장부(823)와 동일한 것일 수 있다. 델타 데이터는 관리 서버(100)로부터 전송된 데이터로서, 프로그램 데이터 중 변경된 부분의 데이터를 나타낸다.
본 발명의 일실시예에 따르면, 관리 서버(100)는 프로그램 데이터 중 변경된 부분의 데이터인 델타 데이터, 델타 데이터가 쓰여질 위치, 및 델타 데이터를 정해진 위치에 쓰기 위한 명령어 등을 가전 기기로 송신한다.
또한, 본 발명의 일실시예에 따르면, 가전 기기의 기능을 구현하기 위한 프로그램은 복수개의 섹션에 분할되어 저장될 수 있다. 여기서, 섹션은 저장부의 일 영역을 의미할 수 있다.
도 6에 나타낸 것과 같이 프로그램은 3개의 섹션에 분할되어 저장되어 있고, 새로운 프로그램 파일은 섹션 2와 섹션 3 각각의 일부분이 변경된 것이라고 가정한다.
이하, 각 동작은 가전 기기의 제어부(도 4의 820(보다 구체적으로는, 가전 기기의 프로세싱 유닛(821))에 의해 수행될 수 있다.
먼저, 비휘발성 메모리(840) 중 섹션 2에 저장된 데이터가 리드되고, 리드된 데이터는 휘발성 메모리(850)에 쓰여질 수 있다. 다음으로, 휘발성 메모리(850)에 쓰여진 프로그램 데이터 중 일부가 관리 서버(100)로부터 수신된 델타 데이터로 치환될 수 있다. 다음으로, 비휘발성 메모리(840)의 섹션 2에 대한 삭제 작업이 수행되고, 수정된 프로그램 데이터(841)가 비휘발성 메모리(840)의 섹션 2에 쓰여질 수 있다.
유사하게, 비휘발성 메모리(840) 중 섹션 3에 저장된 데이터가 리드되고, 리드된 데이터는 휘발성 메모리(850)에 쓰여질 수 있다. 다음으로, 휘발성 메모리(850)에 쓰여진 프로그램 데이터 중 일부가 관리 서버(100)로부터수신된 델타 데이터로 치환될 수 있다. 이후, 비휘발성 메모리(840)의 섹션 3에 대한 삭제 작업이 수행되고, 수정된 프로그램 데이터(842)가 비휘발성 메모리(840)의 섹션 3에 쓰여질 수 있다.
도 7은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 델타 데이터를 생성하고 전송하는 과정을 설명하기 위한 도면이다. 도 7에서 식별 번호 900은 프로그램 개발자의 단말을 나타낸다. 또한, 도 7에서, PGM #1은 버전 1의 프로그램을, PGM #2는 버전 2의 프로그램을, PGM #3은 버전 3의 프로그램을 각각 나타내며, 버전 3의 프로그램이 가장 최신 버전의 프로그램이라고 가정한다.
프로그램 개발자가 새로운 프로그램을 개발하면, 개발된 프로그램은 관리 서버(100)로 전송된다. 이때, 해당 프로그램이 실행될 가전 기기의 식별 정보도 함께 관리 서버(100)로 전송될 수 있다. 전송된 프로그램은 관리 서버(100)의 저장부(도 3의 130)에 저장될 수 있다.
관리 서버(100)(보다 구체적으로는 관리 서버의 제어부(도 3의 110))는 저장된 프로그램들을 기초로 델타 데이터를 생성할 수 있다. 즉, 관리 서버(100)는 버전 3의 프로그램(PGM #3)과 버전 1의 프로그램(PGM #1)을 비교하여 제1 델타 데이터(Delta #1)를 생성하고, 버전 3의 프로그램(PGM #3)과 버전 2의 프로그램(PGM #2)을 비교하여 제2 델타 데이터(Delta #2)를 생성할 수 있다.
이후, 관리 서버(100)는 현재 버전 1의 프로그램(PGM #1)이 저장된 가전 기기(801)를 업그레이드하기 위해 제1 델타 데이터(Delta #1)를 가전 기기(801)로 전송할 수 있고, 현재 버전 2의 프로그램(PGM #2)이 저장된 가전 기기(802)를 업그레이드하기 위해 제2 델타 데이터(Delta #2)를 가전 기기(802)로 전송할 수 있다.
도 8은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 기존의 프로그램 데이터(a)와 새로운 프로그램 데이터(b)의 일례를 개략적으로 나타낸 도면이다. 도 8에서 빗금으로 해칭된 부분이 변경된 부분을 나타낸다.
도 8(a)에 나타낸 것과 같이, 기존의 프로그램 데이터는 섹션(841)에 저장된 A 블록, 섹션(842)에 저장된 B 블록, 섹션(844)에 저장된 C 블록, 및 섹션(845)에 저장된 D 블록을 포함할 수 있다. 도 8(b)에 나타낸 것과 같이, 새로운 프로그램 데이터는 섹션(841)에 저장된 A' 블록, 섹션(842)에 저장된 B 블록, 및 섹션(844)에 저장된 D' 블록을 포함할 수 있다.
관리 서버(100)(보다 구체적으로는 관리 서버(100)의 제어부(도 4의 110))는 기존의 프로그램 데이터(도 8(a))와 새로운 프로그램 데이터(도 8(b))를 비교하여 델타 데이터를 생성할 수 있다.
구체적으로, 관리 서버(100)는 새로운 프로그램 데이터(도 8(b))의 첫 번째 섹션(841)의 데이터(A' 블록)와 가장 유사한 데이터를 기존의 프로그램 데이터(도 8(a))에서 검색한다. 검색 시, 관리 서버(100)는 기존의 프로그램 데이터가 저장된 저장부의 영역을 순차적으로 스캔할 수 있다. 이 때, 섹션 별로 스캔하지 않고, 주소를 순차적으로 증가시키면서 스캔할 수 있다. 관리 서버(100)는 첫 번째 섹션(도 8(a)의 841)의 데이터(A 블록)가 가장 유사한 데이터임을 파악한 후, 차이가 나는 부분의 데이터(도 8(b)의 841에서 빗금친 부분의 데이터)를 델타 데이터의 제1 구성으로 결정할 수 있다.
다음으로, 관리 서버(100)는 새로운 프로그램 데이터(도 8(b))의 두 번째 섹션(842)의 데이터(B 블록)와 가장 유사한 데이터를 기존의 프로그램 데이터(도 8(a))에서 검색한다. 관리 서버(100)는 두 번째 섹션(도 8(a)의 842)의 데이터(B 블록)가 동일한 데이터임을 파악할 수 있다.
다음으로, 관리 서버(100)는 새로운 프로그램 데이터(도 8(b))의 네 번째 섹션(844)의 데이터(D' 블록)와 가장 유사한 데이터를 기존의 프로그램 데이터(도 8(a))에서 검색한다. 관리 서버(100)는 다섯 번째 섹션(도 8(a)의 845)의 데이터(D 블록)가 가장 유사한 데이터임을 파악한 후, 차이가 나는 부분의 데이터(도 8(b)의 844에서 빗금친 부분의 데이터)를 델타 데이터의 제2 구성으로 결정할 수 있다.
이와 같은 과정을 통해서, 관리 서버(100)는 기존의 프로그램 데이터(도 8(a))에서, 첫 번째 섹션(841)의 데이터 중 일부를 델타 데이터의 제1 구성으로 치환하고, 다섯 번째 섹션(845)의 데이터 중 일부를 델타 데이터의 제2 구성으로 치환한 후, 다섯 번째 섹션(845)의 데이터를 네 번째 섹션으로 옮기면, 새로운 프로그램 데이터(도 8(b))와 동일해진다는 것을 파악할 수 있다.
도 8에서는 새로운 프로그램 데이터의 하나의 섹션의 데이터와 유사한 데이터가, 기존의 프로그램 데이터의 하나의 섹션에 저장된 경우를 예를 들어 설명하였으나, 새로운 프로그램 데이터의 하나의 섹션의 데이터와 유사한 데이터가, 기존의 프로그램 데이터의 2개의 섹션에 분할되어 저장되는 경우도 발생될 수 있다. 이 경우에도, 상술한 것과 동일한 방식으로 델타 데이터가 생성될 수 있다.
도 9는 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 프로그램 데이터를 업데이트하는 과정을 설명하기 위한 도면이다.
도 9에 나타낸 방법은 가전 기기의 제어부(820) (보다 구체적으로는, 프로세싱 유닛(821))에 의해 수행될 수 있으며, 제어부(820)가 이러한 동작을 수행하도록 하는 명령어 세트 및 델타 데이터는 관리 서버(100)로부터 가전 기기로 송신될 수 있다.
먼저, 도 9(a)는 프로그램 데이터의 업데이트 전을 나타낸 것이다.
다음으로, 도 9(b)를 참조하면, 섹션(841)의 데이터(A)가 데이터(A')로 변경되어 섹션(843)에 쓰여질 수 있다. 구체적인 과정은 도 8에서 설명한 것과 같다. 즉, 섹션(841)의 데이터(A)를 읽어 휘발성 메모리(예를 들면, RAM)의 특정 영역에 기록하고, 휘발성 메모리의 특정 영역 중 일부 영역의 데이터를 관리 서버(100)로부터 수신한 델타 데이터로 수정하여 데이터(A')로 변경하고, 휘발성 메모리의 특정 영역에 기록된 데이터(A')를 비휘발성 메모리(예를 들면, 플래시 메모리)의 섹션(843)에 기록할 수 있다.
다음으로, 도 9(c)를 참조하면, 섹션(845)의 데이터(D)가 데이터(D')로 변경되어 섹션(846)에 쓰여질 수 있다. 구체적인 과정은 도 8에서 설명한 것과 같다.
다음으로, 도 9(d)를 참조하면, 섹션(843)의 데이터(A')가 섹션(841)에 쓰여질 수 있다. 구체적인 과정을 설명하면, 섹션(841)의 데이터를 삭제하고, 섹션(843)의 데이터(A')를 읽어 휘발성 메모리의 특정 영역에 기록하고, 휘발성 메모리의 특정 영역에 기록된 데이터(A')를 섹션(841)에 기록할 수 있다.
다음으로, 도 9(e)를 참조하면, 섹션(846)의 데이터(D')가 섹션(844)에 쓰여질 수 있다. 구체적인 과정은 도 9(d)에서 설명한 것과 유사하다.
다음으로, 도 9(f)를 참조하면, 불필요한 섹션을 삭제할 수 있다. 즉, 섹션들(843, 845, 846)의 데이터를 삭제할 수 있다.
이와 같은 과정을 거침으로써, 프로그램 데이터를 업데이트하는 중에 정전 등으로 인해 업데이트 과정이 중단되더라도, 가전 기기 자체적으로 복구가 가능해질 수 있다.
도 10은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 프로그램 데이터를 업데이트하는 과정을 설명하기 위한 도면이다.
도 10에 나타낸 방법은 가전 기기의 제어부(820) (보다 구체적으로는, 프로세싱 유닛(821))에 의해 수행될 수 있으며, 제어부(820)가 이러한 동작을 수행하도록 하는 명령어 세트 및 델타 데이터는 관리 서버(100)로부터 가전 기기로 송신될 수 있다.
도 10에 나타낸 실시예는 비휘발성 메모리(예를 들면, 플래시 메모리)의 용량이 충분히 큰 경우이다. 예를 들면, 도 5에 나타낸 제1 저장부(822)의 용량이 종래의 2배로 설계되거나, 가전 기기가 제3 저장부(도 5의 830)를 포함하는 경우이다. 즉, 도 10의 850은 도 5에 나타낸 제1 저장부(822)일 수 있고, 도 10의 860은 도 5에 나타낸 제3 저장부(830)일 수 있다.
먼저, 도 10(a)는 프로그램 데이터의 업데이트 전을 나타낸 것이다.
다음으로, 도 10(b)를 참조하면, 저장부(850)의 데이터들(A, B, C, D)가 저장부(860)에 복사될 수 있다. 구체적으로, 저장부(850)의 각 섹션들(851, 852, 853, 854)의 데이터를 순차적으로 읽어 휘발성 메모리의 특정 영역에 기록한 후, 휘발성 메모리의 특정 영역의 데이터를 저장부(860)의 각 섹션들(861, 862, 863, 864)에 기록할 수 있다.
다음으로, 도 10(c)를 참조하면, 저장부(섹션(851)의 데이터(A)가 데이터(A')로 변경될 수 있다. 구체적인 과정은 도 8에서 설명한 것과 같다. 즉, 섹션(851)의 데이터(A)를 읽어 휘발성 메모리(예를 들면, RAM)의 특정 영역에 기록하고, 휘발성 메모리의 특정 영역 중 일부 영역의 데이터를 관리 서버(100)로부터 수신한 델타 데이터로 수정하여 데이터(A')로 변경하고, 휘발성 메모리의 특정 영역에 기록된 데이터(A')를 비휘발성 메모리(예를 들면, 플래시 메모리)의 섹션(851)에 기록할 수 있다.
다음으로, 도 10(d)를 참조하면, 섹션(854)의 데이터(D)가 데이터(D')로 변경될 수 있다. 구체적인 과정은 도 10(c)에서 설명한 것과 유사할 수 있다.
다음으로, 도 10(e)를 참조하면, 저장부(860)에 기록된 데이터를 삭제할 수 있다.
도 10에 나타낸 실시예에 따르면, 프로그램을 업데이트하기 전에 이전 프로그램을 백업할 수 있다. 따라서, 프로그램의 업데이트 과정 중 정전 등을 이유로 업데이트가 중단되더라도, 오류 없이 이를 복구할 수 있다.
도 11은 본 발명의 일실시예에 따른 가전 기기를 업그레이드하는 방법에서 프로그램 데이터를 업데이트하는 과정을 설명하기 위한 도면이다. 도 11에 나타낸 단계는 도 5의 S110 단계에서 수행될 수 있다.
먼저, 통신부(810)는 프로그램 데이터를 업데이트하는 과정을 시작함을 제어부(820)에 통지할 수 있다(S201 단계).
다음으로, 통신부(810)는 제어부(820)에 히스토리 페이지에 대한 정보를 송신할 수 있다(S202 단계). 히스토리 페이지에 대한 정보는 가전 기기에 포함된 비휘발성 메모리의 특정 주소일 수 있다. 상기 특정 주소에는 제어부(820)가 프로그램 데이터를 업데이트하는 과정에서 수행한 명령어의 개수에 대한 정보가 기록되어 있을 수 있다.
다음으로, 제어부(820)는 히스토리 페이지를 읽을 수 있다(S203 단계). 상술한 바와 같이, 히스토리 페이지에는 이전에 수행한 명령어의 개수에 대한 정보가 기록되어 있을 수 있다.
다음으로, 제어부(820)는 확인 신호(ack)를 통신부(810)로 송신할 수 있다(S204 단계).
통신부(810)는 확인 신호(ack)에 응답하여, 명령 및/또는 델타 데이터를 제어부(820)로 송신할 수 있다(S205 단계). S205 단계에서, 통신부(810)는 상기 확인 신호(ack)에 응답하여 저장부(811)에 저장되어 있는 명령어 및/또는 델타 데이터를 순차적으로 송신할 수 있다. 통신부(810)에서 송신하는 명령어에는 일련 번호가 포함될 수 있다.
제어부(820)는 프로그램 업데이트가 시작된 이후 수신한 명령어의 개수를 나타내는 카운트 값이, 히스토리 페이지에 저장된 값보다 큰지 여부를 판단할 수 있다(S206 단계). 수신한 명령어의 개수는 통신부(810)에서 송신하는 명령어에 포함된 일련 번호일 수 있다. 통신부(810)에서 송신하는 명령어에 일련 번호가 포함되어 있지 않은 경우, 제어부(820)는 프로그램 업데이트가 시작된 이후부터 명령어가 수신될 때마다 이를 카운트할 수 있다.
S206 단계에서 판단한 결과, 카운트 값이 히스토리 페이지에 저장된 값보다 크지 않다면, 제어부(820)는 해당 명령어를 수행하지 않고 확인 신호(ack)를 통신부(810)로 송신할 수 있다(S207 단계).
S206 단계에서 판단한 결과, 카운트 값이 히스토리 페이지에 저장된 값보다 크다면, 제어부(820)는 해당 명령어를 수행할 수 있다(S208 단계). 이때, 제어부(820)는 히스토리 페이지에 카운트 값을 저장할 수도 있다(S208 단계). 히스토리 페이지에 카운트 값을 저장하는 동작은 수행한 명령어의 종류에 따라 수행될 수 있다. 예를 들면, 비휘발성 메모리(예를 들면, 플래시 메모리)의 데이터를 변경하는 동작을 수행한 경우에만 히스토리 페이지에 카운트 값을 저장할 수 있다. 실시예에 따라, 비휘발성 메모리(예를 들면, 플래시 메모리)의 데이터를 삭제하는 동작을 수행한 경우에만 히스토리 페이지에 카운트 값을 저장할 수 있다.
다음으로, 제어부(820)는 통신부(810)로 확인 신호(ack)를 송신할 수 있다(S209 단계).
상술한 과정을 수행함으로써, 프로그램 데이터를 업데이트를 수행하는 중간에 정전이나 기타 오류 등으로 인해 업데이트 동작이 정지된 경우에도, 업데이트를 정상적으로 완료할 수 있다. 즉, 업데이트 동작이 정지되기 전까지 수행한 명령을 기록한 후, 업데이트 동작이 재시작하였을 때, 업데이트 동작이 정지되기 전까지 수행했던 동작들은 수행하지 않고, 그 동작들에 이어서 업데이트 동작을 수행할 수 있다. 이때, 비휘발성 메모리의 데이터를 변경하는 명령어를 수행하는 경우에만 히스토리 페이지에 카운트 값을 기록함으로써, 휘발성 메모리에 대한 작업은 다시 수행할 수 있다. 다만, 비휘발성 메모리에 데이터를 기록하는 작업의 경우, 동작 중 정지되면 데이터가 정상적으로 기록되지 않을 수 있다. 따라서, 비휘발성 메모리의 데이터를 삭제하는 경우에만 히스토리 페이지에 카운트 값을 기록함으로써, 작업의 신뢰성을 보다 향상시킬 수 있다.
다음으로, 통신부(810)는 프로그램 데이터의 업데이트가 완료되었는지를 판단할 수 있다(S210 단계). 통신부(810)는 저장부(811)에 저장된 명령어 세트가 전부 제어부(820)로 송신된 경우에 프로그램 데이터의 업데이트가 완료되었다고 판단할 수 있다.
다음으로, 통신부(810)는 검사합(checksum)을 제어부(820)로 송신하고(S211 단계), 제어부(820)는 확인후 오류가 없다면 확인 신호(ack)를 통신부(810)로 회신할 수 있다(S212 단계). 즉, 데이터의 전송 등에 오류가 있었는지 여부를 확인할 수 있다. 도시된 것과 다르게, 검사합 이외의 다른 방식으로 데이터 전송에 오류가 있었는지 여부를 확인할 수도 있다.
다음으로, 통신부(810)는 연결 해제를 제어부(820)로 통지할 수 있다(S213 단계).
제어부(820)는 확인 신호(ack)를 통신부(810)로 회신할 수 있고(S214 단계), 통신부(810)는 최종적으로 제어부(820)와의 연결을 해제할 수 있다.
이상과 같이 본 발명에 대해서 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시 예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상의 범위 내에서 통상의 기술자에 의해 다양한 변형이 이루어질 수 있음은 자명하다. 아울러 앞서 본 발명의 실시 예를 설명하면서 본 발명의 구성에 따른 작용 효과를 명시적으로 기재하여 설명하지 않았을 지라도, 해당 구성에 의해 예측 가능한 효과 또한 인정되어야 함은 당연하다.

Claims (19)

  1. 프로그램 데이터를 저장하는 저장부;
    관리 서버로부터 상기 프로그램 데이터를 업데이트하기 위한 파일을 수신하여 저장하고, 저장된 파일에 기초하여 상기 프로그램 데이터을 업데이트하기 위한 갱신 데이터를 송신하는 통신부; 및
    상기 갱신 데이터에 응답하여 상기 프로그램 데이터를 업데이트하는 제어부를 포함하고,
    상기 통신부는 상기 프로그램 데이터 중 변경되는 부분만으로 구성된 델타 데이터와 명령어를 상기 갱신 데이터로 송신하는 전자 기기.
  2. 제1항에 있어서, 상기 제어부는
    상기 프로그램 데이터를 저장하는 저장부;
    상기 저장부의 제1 영역의 제1 데이터를 읽고, 상기 제1 영역의 데이터 중 일부를 상기 델타 데이터로 수정하여 제2 데이터를 생성하고, 상기 제2 데이터를 상기 제1 영역과 상이한 제2 영역에 저장하는 프로세싱 유닛을 포함하는 전자 기기.
  3. 제1항에 있어서, 상기 제어부는
    비휘발성 메모리를 포함하고, 상기 프로그램 데이터를 저장하는 제1 저장부;
    휘발성 메모리를 포함하는 제2 저장부; 및
    상기 갱신 데이터에 응답하여 상기 프로그램 데이터를 업데이트하는 프로세싱 유닛을 포함하고,
    상기 프로세싱 유닛은
    상기 제1 저장부의 제1 영역의 데이터를 읽어 상기 제2 저장부의 제2 영역에 기록하고, 상기 제2 영역 중 일부의 데이터를 상기 델타 데이터로 수정하고, 상기 제2 영역의 데이터를 상기 제1 저장부의 상기 제1 영역과 상이한 제3 영역에 기록하는 전자 기기.
  4. 제3항에 있어서,
    상기 제1 저장부는 복수개의 섹션들을 포함하고,
    상기 프로세싱 유닛은 상기 제3 영역에 기록된 데이터를 상기 복수개의 섹션들 중 어느 하나에 기록한 후, 상기 제3 영역의 데이터를 삭제하는 전자 기기.
  5. 제1항에 있어서, 상기 제어부는
    비휘발성 메모리를 포함하고, 상기 프로그램 데이터를 저장하는 제1 저장부;
    휘발성 메모리를 포함하는 제2 저장부; 및
    상기 갱신 데이터에 응답하여 상기 프로그램 데이터를 업데이트하는 프로세싱 유닛을 포함하고,
    상기 전자 기기는 비휘발성 메모리를 포함하는 제3 저장부를 더 포함하고,
    상기 프로세싱 유닛은
    제1 저장부에 저장된 상기 프로그램 데이터를 상기 제3 저장부에 기록하고, 상기 제1 저장부의 제1 영역 중 일부의 데이터를 상기 델타 데이터로 수정하는 전자 기기.
  6. 제5항에 있어서, 상기 프로세싱 유닛은
    상기 프로그램 데이터의 업데이트가 완료된 이후, 상기 제3 저장부의 데이터를 삭제하는 전자 기기.
  7. 제1항에 있어서, 상기 제어부는
    상기 프로그램 업데이트가 시작된 이후에 수신한 명령어의 개수를 나타내는 카운트 값과 히스토리 페이지에 저장된 히스토리 값보다 작거나 같으면, 상기 명령어를 수행하지 않고, 상기 카운터 값이 상기 히스토리 값보다 크면 상기 명령어를 수행하는 전자 기기.
  8. 제7항에 있어서, 상기 제어부는
    상기 명령어가 비휘발성 메모리에 데이터를 기록하거나 삭제하는 명령어인 경우, 상기 카운트 값을 상기 히스토리 페이지에 기록하는 전자 기기.
  9. 최신 버전의 프로그램 데이터와, 이전 버전의 프로그램 데이터를 저장하는 저장부;
    상기 최신 버전의 프로그램 데이터와 상기 이전 버전의 프로그램 데이터를 비교하여 델타 데이터를 생성하는 제어부; 및
    상기 델타 데이터를 전자 기기로 송신하는 통신부를 포함하고,
    상기 델타 데이터는 상기 최신 버전의 프로그램 데이터 중 상기 이전 버전의 프로그램 데이터와 상이한 데이터만을 포함하는 관리 서버
  10. 제9항에 있어서, 상기 제어부는
    상기 최신 버전의 프로그램 데이터 중 제1 섹션의 데이터와 상기 이전 버전의 프로그램 데이터 전체를 비교하여 상기 제1 섹션의 데이터와 가장 유사한 데이터를 검색하고, 상기 제1 섹션의 데이터 중 상기 가장 유사한 데이터와 상이한 데이터를 상기 델타 데이터로 결정하는 관리 서버.
  11. 제9항에 있어서, 상기 통신부는
    상기 델타 데이터와, 적어도 하나 이상의 명령어를 포함하는 파일을 상기 전자 기기로 송신하는 관리 서버.
  12. 제9항에 있어서,
    상기 이전 버전의 프로그램 데이터는 제1 버전 프로그램 데이터와 제2 버전 프로그램 데이터를 포함하고,
    상기 델타 데이터는 제1 델타 데이터와, 제2 델타 데이터를 포함하고,
    상기 제어부는
    상기 최신 버전의 프로그램 데이터와 상기 제1 버전 프로그램 데이터를 비교하여 상기 제1 델타 데이터를 생성하고, 상기 최신 버전의 프로그램 데이터와 상기 제2 버전 프로그램 데이터를 비교하여 상기 제2 델타 데이터를 생성하는 관리 서버.
  13. 제12항에 있어서, 상기 통신부는
    상기 제1 버전 프로그램 데이터를 저장하는 제1 전자 기기로 상기 제1 델타 데이터를 송신하고, 상기 제2 버전 프로그램 데이터를 저장하는 제2 전자 기기로 상기 제2 델타 데이터를 송신하는 관리 서버.
  14. 관리 서버로부터 수신한 파일을 저장하는 통신부와 프로그램 데이터를 저장하는 제어부를 포함하는 전자 기기를 업그레이드하는 방법에 있어서,
    상기 통신부가, 상기 프로그램 데이터 중 변경되는 부분만으로 구성된 델타 데이터와 명령어를 상기 제어부로 송신하는 단계; 및
    상기 제어부가, 상기 프로그램 데이터 중 일부 데이터를 상기 델타 데이터로 수정하는 단계를 포함하는 전자 기기를 업그레이드하는 방법.
  15. 제14항에 있어서, 상기 수정하는 단계는
    상기 프로그램 데이터를 저장하는 비휘발성 메모리의 제1 영역의 데이터를 읽어 휘발성 메모리의 제2 영역에 기록하는 단계;
    상기 제2 영역 중 일부의 데이터를 상기 델타 데이터로 수정하는 단계; 및
    상기 제2 영역의 데이터를 상기 비휘발성 메모리의 상기 제1 영역과 상이한 제3 영역에 기록하는 단계를 포함하는 전자 기기를 업그레이드하는 방법.
  16. 제15항에 있어서, 상기 수정하는 단계는
    상기 제3 영역의 데이터를 상기 비휘발성 메모리의 복수개의 섹션들 중 하나에 기록하는 단계; 및
    상기 제3 영역의 데이터를 삭제하는 단계를 더 포함하는 전자 기기를 업그레이드하는 방법.
  17. 제14항에 있어서, 상기 수정하는 단계는
    제1 비휘발성 메모리에 저장된 상기 프로그램 데이터를, 제2 비휘발성 메모리에 저장하는 단계;
    상기 제1 비휘발성 메모리의 제1 영역의 데이터 중 일부의 데이터를 상기 델타 데이터로 수정하는 단계; 및
    상기 제2 휘발성 메모리의 데이터를 삭제하는 단계를 포함하는 전자 기기를 업그레이드하는 방법.
  18. 제14항에 있어서, 상기 수정하는 단계는
    상기 명령어가 비휘발성 메모리에 데이터를 기록하거나 삭제하는 명령어인 경우, 상기 프로그램 업데이트가 시작된 이후에 수신한 명령어의 개수를 나타내는 카운터 값을 히스토리 페이지에 기록하는 단계;
    상기 카운터 값과 상기 히스토리 페이지에 기록된 히스토리 값을 비교하는 단계; 및
    상기 카운터 값과 히스토리 페이지에 저장된 히스토리 값보다 작거나 같으면, 상기 명령어를 수행하지 않고, 상기 카운터 값이 상기 히스토리 값보다 크면 상기 명령어를 수행하는 단계를 포함하는 전자 기기를 업그레이드하는 방법.
  19. 제14항에 있어서,
    상기 관리 서버가, 최신 버전의 프로그램 데이터 중 제1 섹션의 데이터와 이전 버전의 프로그램 데이터 전체를 비교하여 상기 제1 섹션의 데이터와 가장 유사한 데이터를 검색하는 단계; 및
    상기 제1 섹션의 데이터 중 상기 가장 유사한 데이터와 상이한 데이터를 상기 델타 데이터로 결정하는 단계를 더 포함하는 전자 기기를 업그레이드하는 방법.
PCT/KR2022/018127 2021-11-17 2022-11-16 기능 업그레이드가 가능한 전자 기기, 전자 기기의 기능을 업그레이드하는 서버, 및 전자 기기의 기능을 업그레이드하는 방법 WO2023090866A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210158669A KR20230072185A (ko) 2021-11-17 2021-11-17 기능 업그레이드가 가능한 전자 기기, 전자 기기의 기능을 업그레이드하는 서버, 및 전자 기기의 기능을 업그레이드하는 방법
KR10-2021-0158669 2021-11-17

Publications (1)

Publication Number Publication Date
WO2023090866A1 true WO2023090866A1 (ko) 2023-05-25

Family

ID=84358715

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/018127 WO2023090866A1 (ko) 2021-11-17 2022-11-16 기능 업그레이드가 가능한 전자 기기, 전자 기기의 기능을 업그레이드하는 서버, 및 전자 기기의 기능을 업그레이드하는 방법

Country Status (5)

Country Link
US (1) US20230153096A1 (ko)
EP (1) EP4184317A1 (ko)
KR (1) KR20230072185A (ko)
CN (1) CN116136769A (ko)
WO (1) WO2023090866A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110118975A (ko) * 2010-04-26 2011-11-02 삼성전자주식회사 휴대용 단말기에서 펌웨어 업데이트를 수행하기 위한 장치 및 방법
US20140007075A1 (en) * 2012-06-27 2014-01-02 Google Inc. Methods for updating applications
KR20170022062A (ko) * 2015-08-19 2017-03-02 주식회사 엔지스테크널러지 최적의 델타 업데이트를 지원 및 제공하기 위한 관리 서버, 텔레메틱스 단말기 및 그 동작 방법
KR20170119417A (ko) * 2016-04-19 2017-10-27 주식회사 엔지스테크널러지 브로드캐스팅/멀티캐스팅 환경에서의 델타 업데이트 데이터를 전달하기 위한 시스템 및 그 방법
KR102088170B1 (ko) * 2019-08-27 2020-03-12 루나 주식회사 신구 데이터간의 차분에 대한 데이터 구조화 방법 및 그 디바이스

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963970A (en) * 1996-12-20 1999-10-05 Intel Corporation Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields
KR101452760B1 (ko) 2007-10-30 2014-10-21 엘지전자 주식회사 가전기기의 프로그램 업데이트 시스템 및 그 방법
JP5226294B2 (ja) 2007-12-25 2013-07-03 帝人化成株式会社 ポリカーボネート樹脂組成物
US10834206B2 (en) * 2018-02-27 2020-11-10 Excelfore Corporation Broker-based bus protocol and multi-client architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110118975A (ko) * 2010-04-26 2011-11-02 삼성전자주식회사 휴대용 단말기에서 펌웨어 업데이트를 수행하기 위한 장치 및 방법
US20140007075A1 (en) * 2012-06-27 2014-01-02 Google Inc. Methods for updating applications
KR20170022062A (ko) * 2015-08-19 2017-03-02 주식회사 엔지스테크널러지 최적의 델타 업데이트를 지원 및 제공하기 위한 관리 서버, 텔레메틱스 단말기 및 그 동작 방법
KR20170119417A (ko) * 2016-04-19 2017-10-27 주식회사 엔지스테크널러지 브로드캐스팅/멀티캐스팅 환경에서의 델타 업데이트 데이터를 전달하기 위한 시스템 및 그 방법
KR102088170B1 (ko) * 2019-08-27 2020-03-12 루나 주식회사 신구 데이터간의 차분에 대한 데이터 구조화 방법 및 그 디바이스

Also Published As

Publication number Publication date
CN116136769A (zh) 2023-05-19
KR20230072185A (ko) 2023-05-24
EP4184317A1 (en) 2023-05-24
US20230153096A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
WO2018048118A1 (en) Server and method for controlling external device
WO2019190277A1 (ko) 데이터를 처리하기 위한 방법 및 이를 지원하는 전자 장치
WO2014209078A1 (en) Method and apparatus for updating application
WO2020256301A1 (en) Electronic device including storage and method for using the storage
WO2019160356A1 (ko) 신호 강도 대역에 기반한 장치 관리 방법 및 이를 위한 전자 장치
WO2018201774A1 (zh) 数据审批方法、装置、设备和计算机可读存储介质
WO2020013607A1 (en) Server device and method for collecting location information of other devices
WO2020073615A1 (zh) 设备软件的升级方法、数据转化器及可读存储介质
WO2020032655A1 (en) Method for executing function based on voice and electronic device supporting the same
WO2016072636A1 (en) User device, driving method of user device, apparatus for providing service and driving method of apparatus for providing service
WO2023090866A1 (ko) 기능 업그레이드가 가능한 전자 기기, 전자 기기의 기능을 업그레이드하는 서버, 및 전자 기기의 기능을 업그레이드하는 방법
EP3639584A1 (en) Method and apparatus for determining location by using identification information corresponding to external electronic device
WO2022197026A1 (ko) 서버, 서비스 제공 시스템 및 서버의 처리 방법
WO2023128066A1 (ko) 가전 기기의 업그레이드 방법과, 이를 구현하는 장치
WO2024076144A1 (ko) 청소기의 펌웨어를 업데이트하는 방법, 이를 수행하기 위한 청소기 및 컴퓨팅 장치
WO2020027366A1 (ko) 웹 기반의 가상버튼을 이용한 호출 장치 및 방법
WO2023140636A1 (ko) 업그레이드 가능한 전자 기기 및 전자 기기를 업그레이드하는 방법
WO2020149536A1 (ko) 공유된 디지털 키를 관리하기 위한 장치 및 방법
WO2023128065A1 (ko) 업그레이드 완료 후 가전 기기의 소프트웨어의 기능을 간편하게 설정하는 방법과 이를 구현하는 장치
WO2015102266A1 (en) Processor and method of controlling the same
WO2022080615A1 (ko) 패턴을 제공하는 방법 및 이를 지원하는 전자 장치
WO2023132591A1 (ko) 기능 업그레이드가 가능한 전자 기기, 및 전자 기기의 기능을 업그레이드하는 방법
WO2024029681A1 (ko) 공기 조화기 및 이의 제어 방법
WO2024090897A1 (ko) Iot 디바이스 제어 장치 및 제어 방법
WO2020241911A1 (ko) Iot 기기 제어 장치 및 그 장치의 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22896071

Country of ref document: EP

Kind code of ref document: A1