KR20170108414A - Smart device executing instruction code for automatically installing or updating software of terminal device and terminal device receiving software through smart device - Google Patents

Smart device executing instruction code for automatically installing or updating software of terminal device and terminal device receiving software through smart device Download PDF

Info

Publication number
KR20170108414A
KR20170108414A KR1020160032264A KR20160032264A KR20170108414A KR 20170108414 A KR20170108414 A KR 20170108414A KR 1020160032264 A KR1020160032264 A KR 1020160032264A KR 20160032264 A KR20160032264 A KR 20160032264A KR 20170108414 A KR20170108414 A KR 20170108414A
Authority
KR
South Korea
Prior art keywords
terminal
software
terminal device
server
smart device
Prior art date
Application number
KR1020160032264A
Other languages
Korean (ko)
Inventor
김찬
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160032264A priority Critical patent/KR20170108414A/en
Publication of KR20170108414A publication Critical patent/KR20170108414A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention provides a smart device comprising one or more processors and one or more memory devices. The memory devices store data of the instruction code executed by the processors. When the instruction code is executed, the processors receive the device identification information from the terminal device in response to the communication connection with the terminal device not connected to the Internet, and send the Internet to the supply server having the destination address indicated by the device identification information Receives the data of the terminal software for operating the terminal device from the accessed supply server, and provides the received data of the terminal software to the terminal device. According to the present invention, software for a terminal device that can not be directly connected to the Internet is automatically installed or updated via a smart device.

Description

TECHNICAL FIELD [0001] The present invention relates to a smart device that executes a command code for automatically installing or updating software of a terminal device, and a terminal device that receives software through a smart device. BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] THROUGH SMART DEVICE}

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to electronic systems, and more particularly to the configuration of a network system for communication between electronic devices and the operations of electronic devices included in the network system.

Recently, various kinds of electronic devices have been used. The electronic device may operate by itself depending on the operation of the processor or controller included therein. Alternatively, the electronic device may operate in communication with another electronic device.

As manufacturing technology has advanced, the size of electronic devices has become smaller. Further, as communication technology has developed, electronic devices capable of providing various functions while communicating with other electronic devices have been developed. Accordingly, the concept of Internet of Things (IoT) has been applied to various electronic devices. These electronic devices are designed to perform various functions in order to provide users with convenient activities.

In order to operate the electronic device and utilize the function of the electronic device, software is installed in the electronic device. By way of example, the software may include various programs such as firmware, operating system, application programs, and the like. The electronic device provides the service to the user by executing the software by the processor.

The software of the electronic device may be updated. When the software is updated, the function of the software may be improved or errors of the software may be corrected. As such, the installation and update of software is performed to utilize electronic devices.

Embodiments of the present invention can provide a network system for automatically installing or updating software necessary for operating and utilizing a terminal device, and a terminal device and a smart device included in the network system. A network system according to an embodiment of the present invention can be provided for automatically installing or updating software for a terminal device that can not be directly connected to the Internet.

A smart device in accordance with an embodiment of the present invention may include one or more processors and one or more memory devices. The memory devices may store data of the instruction code executed by the processors. When the instruction code is executed, the processors can receive the device identification information from the terminal device in response to the communication connection with the terminal device not connected to the Internet, and can receive the device identification information via the Internet And can receive data of the terminal software for operating the terminal device from the accessed supply server and can provide the received data of the terminal software to the terminal device.

In an embodiment of the present invention, the communication connection with the terminal device may be provided according to an interface protocol such as ZigBee, BLE, USB, and SD card.

In one embodiment of the invention, the terminal software may include at least one of firmware, an operating system, and an application program for a terminal device.

In one embodiment of the present invention, when the instruction code is executed, the processors may receive data of the intermediate software for interfacing with the terminal device from the accessed supply server, and the intermediate software, based on the received data of the intermediate software, A file for execution can be installed in the memory devices.

In one embodiment of the present invention, the intermediate software may include at least one of a driver program for processing communication with the terminal apparatus, and an administrator program for managing the terminal apparatus.

In one embodiment of the present invention, the device identification information may include information regarding at least one of the manufacturer of the terminal device, the type of terminal device, the target address, the protocol employed in the supply server, and the terminal software.

In one embodiment of the present invention, when the instruction code is executed, the processors can access a location server having a default address if the source address is not accessed based on the destination address indicated by the device identification information, An alternate address of the alternate server configured to supply the terminal software from the alternate server, access to the alternate server with the alternate address over the Internet, and data of the terminal software from the accessed alternate server.

In one embodiment of the present invention, the default address may be included in the network configuration for managing the connection to the Internet, or embedded in the instruction code.

In one embodiment of the present invention, when the instruction code is executed, the processors can receive the device identification information from the terminal device in response to the fulfillment of the update condition, and have the target address indicated by the device identification information via the Internet If the version of the terminal software installed in the terminal device can be accessed by the supply server, data of the new version of the terminal software can be received from the accessed supply server, and the new version of the received data can be provided to the terminal device can do.

In one embodiment of the present invention, the received data of the new version may include data corresponding to different portions between the old version of the content of the terminal software and the new version of the content.

A smart device in accordance with another embodiment of the present invention may include one or more processors and one or more memory devices. The memory devices may store data of the instruction code executed by the processors. When the command code is executed, the processors can receive the device identification information from the terminal device in response to the communication connection with the terminal device that is not connected to the Internet. By referring to the device identification information, the version information of the terminal software installed in the terminal device Access to a supply server having a destination address indicated by the device identification information via the Internet, obtain latest information on the terminal software from the accessed supply server, and obtain version information and latest information It is possible to receive the new version data of the terminal software from the supply server and to provide the new version data to the terminal apparatus when it is determined that the version of the terminal software is the old version.

In another embodiment of the present invention, the new version of data provided from the processors to the terminal device may include data corresponding to different portions between the old version of the content of the terminal software and the newer version of the content.

In another embodiment of the present invention, when the instruction code is executed, the processors can access a location server having a default address if the source address is not accessed based on the destination address indicated by the device identification information, To access an alternate server having an alternate address over the Internet and to receive data of a new version of the terminal software from the accessed alternate server have.

A terminal device according to another embodiment of the present invention is an apparatus that is not connected to the Internet, and may include one or more processors and one or more memory devices. The memory devices may store data to be processed or processed by the processors. The processors may provide device identification information to the smart device, the device identification information including information about an address of a provisioning server configured to provide terminal software for operating the terminal device in response to a communication connection with a smart device connected to the Internet, As the smart device accesses the supply server based on the device identification information, data of the terminal software provided through the Internet from the accessed supply server can be received through the smart device, and based on the received data of the terminal software, A file for executing the software can be installed in the memory devices.

In another embodiment of the present invention, the device identification information includes at least one of a manufacturer of the terminal device, a type of the terminal device, an address of the supply server, a protocol employed in the supply server, a terminal software, a generic class of the terminal device, Or a version of the < / RTI >

In another embodiment of the present invention, the processors may wait for a reference time after providing the device identification information to the smart device, and when the data of the terminal software is not received within the reference time, .

In yet another embodiment of the present invention, the processors may provide device identification information to the smart device in response to fulfilling the update condition, and if the version of the terminal software is an outdated version, The new version of the terminal software provided through the Internet from the accessed supply server as it is accessed through the smart device and is capable of receiving a new version of the terminal software on the basis of the new version of the received data Files can be installed in memory devices.

In another embodiment of the present invention, the received data of the new version may include data corresponding to different portions between the old version of the content of the terminal software and the new version of the content.

According to embodiments of the present invention, software for a terminal device that can not be directly connected to the Internet can be automatically installed or updated via a smart device. Therefore, the user can not manually install or update the software, and the convenience can be improved. Furthermore, the smart device can manage whether or not the installation or update of the software is necessary instead of the terminal device. Therefore, the amount of power consumed by the terminal apparatus can be reduced.

1 is a block diagram illustrating a network system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the terminal device of FIG. 1 in more detail.
Figure 3 is a block diagram illustrating the smart device of Figure 1 in more detail.
4 is a conceptual diagram illustrating communication performed in the network system of FIG.
FIG. 5 is a conceptual diagram showing an exemplary configuration of device identification information provided from the terminal device of FIG. 1 to the smart device of FIG.
6 is a flowchart illustrating a process of installing software for the terminal device of FIG.
7 is a flowchart illustrating a process of updating software for the terminal device of FIG.
8 is a flowchart illustrating another process of updating software for the terminal device of FIG.
9 is a conceptual diagram for explaining a configuration of data provided for updating software for the terminal device of FIG.
10 is a block diagram illustrating a network system according to an embodiment of the present invention.
11 is a flowchart illustrating a process of accessing an alternative server when there is a supply server which is not accessible in the network system of FIG.
12 is a flowchart for explaining the operation of the terminal device of FIG.
13 is a flow chart illustrating the operation of the smart device of FIG.

The foregoing features and the following detailed description are exemplary of the invention in order to facilitate a description and understanding of the invention. That is, the present invention is not limited to these embodiments, but may be embodied in other forms. The following embodiments are merely examples for the purpose of fully disclosing the present invention and are intended to convey the present invention to those skilled in the art. Thus, where there are several ways to implement the components of the present invention, it is necessary to make it clear that the implementation of the present invention is possible by any of these methods or any of the equivalents thereof.

It is to be understood that, in the context of this specification, when reference is made to a configuration including certain elements, or when it is mentioned that a process includes certain steps, other elements or other steps may be included. In other words, the terms used herein are for the purpose of describing specific embodiments only, and are not intended to limit the concept of the present invention. Further, the illustrative examples set forth to facilitate understanding of the invention include its complementary embodiments.

The terms used in this specification are meant to be understood by those of ordinary skill in the art to which this invention belongs. Commonly used terms should be construed in a manner consistent with the context of this specification. Also, terms used in the specification should not be construed as being excessively ideal or formal in nature unless the meaning is clearly defined. BRIEF DESCRIPTION OF THE DRAWINGS Fig.

1 is a block diagram illustrating a network system according to an embodiment of the present invention. The network system 1000a includes one or more terminal devices (e.g., terminal device 100a and terminal device 100b), one or more smart devices (e.g., smart device 200), one or more communication networks (E.g., server 300a), and one or more supply servers (e.g., supply server 400a and supply server 400b). The number of devices and / or servers can be variously modified or modified, and the number of devices and servers shown in FIG. 1 are provided to help a better understanding.

The terminal device 100a may be one of various electronic devices. In the embodiment of the present invention, the terminal device 100a may be an electronic device which is not connected to the Internet. For example, the terminal device 100a may be a wearable device manufactured in the form of a wristwatch, a ring, or the like, or a commercial device such as a refrigerator, a water purifier, or an automobile. Alternatively, the terminal device 100a may be a sensor node or an industrial device. The terminal device 100a may be an electronic device used by an end user in the environment of Internet of Things (IOT).

In order to obtain a connection to the Internet, the electronic device may employ a protocol stack that includes all of the physical layer, link layer, translation layer, logical layer, etc. defined by TCP / IP (Transmission Control Protocol / Internet Protocol) , An IP address can be assigned. In the embodiment of the present invention, the terminal device 100a may not adopt TCP / IP or be not assigned an IP address. Therefore, the terminal device 100a may not be directly connected to the Internet.

The terminal apparatus 100a can be designed to provide some limited functions instead of performing complicated operations. Therefore, the terminal apparatus 100a may not request a connection to the Internet. Instead, the terminal device 100a may employ some simple communication protocols for maintenance or data collection / output. For example, the terminal device 100a may be connected to at least one of wireless communication protocols such as ZigBee, Bluetooth, BLE (Bluetooth Low Energy), and / or a wired network such as a Universal Serial Bus (USB), a Secure Digital At least one of the communication protocols may be employed. However, the present invention is not limited to this example.

The configuration of the terminal device 100a will be described with reference to Fig. The terminal apparatus 100b can be constructed and operated in the same or similar manner as the terminal apparatus 100a. Therefore, for convenience of description, redundant descriptions of the terminal device 100b will be omitted below.

The smart device 200 may be one of a variety of electronic devices. In an embodiment of the present invention, the smart device 200 may be an electronic device connected to the Internet. The smart device 200 may have higher performance / performance than the terminal device 100a. By way of example, the smart device 200 may be a computing device such as a personal computer (PC), a workstation, a notebook computer, a tablet computer, a smart phone, or the like. The configuration of the smart device 200 will be described with reference to FIG.

The smart device 200 may be connected to the terminal device 100a and may communicate with the connected terminal device 100a. The smart device 200 may be connected to the terminal device 100a by wire or wirelessly. The smart device 200 can communicate with the terminal device 100a according to the communication protocol employed by the terminal device 100a.

For example, when the terminal device 100a employs the ZigBee protocol, the smart device 200 and the terminal device 100a can communicate with each other wirelessly according to the ZigBee protocol. For example, when the terminal device 100a adopts the USB protocol, the smart device 200 and the terminal device 100a can communicate with each other in a wired manner according to the USB protocol.

Software may be installed in the terminal device 100a to operate the terminal device 100a and utilize the functions of the terminal device 100a. By way of example, the software installed in the terminal device 100a may include various programs such as firmware, an operating system, an application program, and the like. As will be described with reference to Fig. 2, the terminal apparatus 100a may include a processor having computational capability. The terminal device 100a can provide the service to the user by executing the software by the processor.

The "software" or "program" referred to in this specification may be provided in the form of a program containing an instruction code executed by a "processor ". The processor may process a series of instructions according to a specific sequence based on an instruction set generated by compiling / interpreting the instruction code of the software. Accordingly, the functions of the software can be implemented.

To this end, the processor may be configured to perform various arithmetic / logic operations. By way of example, a processor may include one or more dedicated logic circuits (e.g., Field Programmable Gate Array (FPGA), Application Specific Integrated Circuits (ASICs), etc.). The processor can generate an output value based on the input value according to the operation of the logic circuit. The output value may be used to provide services to the user.

The software for the terminal apparatus 100a can be updated. As an example, the software may be updated to improve the functionality of the software. Alternatively, if there is an error in the execution of the software, the software may be updated to correct the error.

As an example, the user can manually execute the installation file / update file in the terminal device 100a to install or update the software in the terminal device 100a. As an example, a user can manually install a driver program / manager program in the smart device 200 to enable communication between the smart device 200 and the terminal device 100a. However, manual installation can be inconvenient to the user. Furthermore, if the user is unfamiliar with the electronic system or does not know exactly the type / model of the smart device 200 or the terminal device 100a, the manual installation may not be easy for the user.

The smart device 200 may be directly connected to the Internet. Thus, the software for the smart device 200 can be automatically installed or updated via the Internet. By way of example, an application program that manages the installation or update of software in the smart device 200 may be accessed via a remote server or database over the Internet. The application can receive the installation file / update file from the accessed remote server or database, and can install or update the software based on the received file. Thus, in the smart device 200, the software can be automatically installed or updated.

However, the terminal apparatus 100a may not be connected to the Internet. Therefore, in the embodiment of the present invention, the terminal device 100a can receive the installation file / update file of the software through the smart device 200. [ The smart device 200 can access the remote server or the database via the Internet instead of the terminal device 100a and can receive the installation file / update file for the terminal device 100a. The terminal device 100a can receive the installation file / update file through the communication connection with the smart device 200. [ That is, the software for the terminal device 100a can be automatically installed or updated through the smart device 200. [

To this end, the smart device 200 may include a general purpose terminal device software installation / update module 255. [ The general purpose terminal device software installation / update module 255 may recognize the connection of the terminal device 100a to the smart device 200. [ The general purpose terminal device software installation / update module 255 can operate so that the software is installed or updated in the terminal device 100a. Further, the general purpose terminal device software installation / update module 255 can install or update software in the smart device 200 that enables communication / interfacing between the smart device 200 and the terminal device 100a.

In the embodiments of the present invention, the general terminal device software install / update module 255 may provide installation or update of software regardless of the type, kind, and model of the terminal device, instead of operating for the specific terminal device . Communication and operations by the general purpose terminal device software installation / update module 255 will be described with reference to Figs.

According to these embodiments of the present invention, software for the terminal device 100a that can not be directly connected to the Internet can be automatically installed or updated via the smart device 200. [ Therefore, the user can not manually install or update the software, and the convenience can be improved. Further, the smart device 200 can manage whether the installation or update of the software is necessary instead of the terminal device 100a. Therefore, the amount of power consumed by the terminal device 100a can be reduced.

As will be described with reference to FIG. 3, the smart device 200 may include a processor having computational capabilities. The smart device 200 may provide services to a user by executing software by a processor.

By way of example, the general purpose terminal device software installation / update module 255 may be provided in the form of software. The general purpose terminal device software install / update module 255 may be implemented with a command code executed by the processor. In such a case, the communication and operations to be described with reference to Figs. 4 to 13 can be performed by executing the instruction code of the general-purpose terminal equipment software installation / update module 255 by the processor of the smart device 200. [

However, the present invention is not limited by the above examples. The contexts described in this specification do not preclude the possibility of implementing the general purpose terminal device software installation / update module 255 in a hardware form or a hybrid form (i.e., a mixture of a software form and a hardware form). In some cases, to implement the universal terminal device software installation / update module 255, physical electrical / electronic circuitry configured to perform a particular function / operation may be provided.

The smart device 200 may be connected to the communication network 300. The communication network 300 may provide a connection between the smart device 200 and another electronic device / system. The smart device 200 may exchange data with other electronic devices / systems connected through the communication network 300.

By way of example, the communication network 300 may include the Internet, but the invention is not limited to this example. For example, the communication network 300 may be an intranet, a local area network (LAN), a wide area network (WAN), a wireless fidelity network, a mobile communication network (e.g., LTE (Long Term Evolution) A Code Division Multiple Access (CDMA) network, etc.), and the like.

To facilitate a better understanding, in the following description, the network 300 will be assumed to include the Internet. However, this assumption is not intended to limit the invention.

The supply server 400a can supply software (hereinafter, terminal software) for operating the terminal device 100a and utilizing the functions of the terminal device 100a. As an example, the supply server 400a may be managed by the developer or manufacturer of the terminal device 100a. The developer or manufacturer of the terminal device 100a may distribute the installation file / update file through the supply server 400a to support installation and / or update of the terminal software for the terminal device 100a.

The supply server 400a may store an installation file (or an installation file package) used to install the terminal software and / or an update file (or an update file package) used to update the terminal software. To this end, the provisioning server 400a may include one or more storage devices. The provisioning server 400a may be implemented as a single storage device or a plurality of storage devices (e.g., distributed storage, cloud storage, etc.). As an example, the supply server 400a may be managed in a database form.

The supply server 400a may be connected to the communication network 300. [ The supply server 400a may communicate with the smart device 200 via the communication network 300. [ The supply server 400a may provide the smartphone 200 with data of the terminal software stored in the supply server 400a via the communication network 300. For example,

The supply server 400b can supply software (hereinafter referred to as terminal software) for operating the terminal device 100b and utilizing the functions of the terminal device 100b. As an example, the supply server 400b may be managed by the developer or manufacturer of the terminal device 100b. That is, the supply server may be provided corresponding to the terminal apparatus. The supply server 400b may be configured and operated in the same or similar manner as the supply server 400a. Therefore, for convenience of description, redundant descriptions of the supply server 400b will be omitted below.

FIG. 2 is a block diagram showing the terminal device of FIG. 1 in more detail. The terminal device 100a may include one or more processors 110, one or more memory devices 120, and a communications circuit block 130. [

Processors 110 may have computational capabilities. The processors 110 may perform various arithmetic / logic operations to operate the terminal device 100a. To this end, the processors 110 may include one or more dedicated logic circuits.

The number of processors 110 may be varied or modified. Processors 110 may include a single processor (i.e., a single core system) or may include multiple processors (i.e., a multicore system). In some cases, the processors 110 may be provided in the form of a microprocessor or microcontroller. Alternatively, the processors 110 may be provided in the form of a general purpose processor or an application processor.

The memory devices 120 may store data used for operation of the terminal device 100a. By way of example, memory devices 120 may store data of instruction codes executed by processors 110. [ The memory devices 120 may be provided as a storage of the terminal device 100a. By way of example, memory devices 120 may store data to be processed or to be processed by processors 110. The memory devices 120 may be provided as a buffer memory or a working memory of the terminal device 100a.

Memory devices 120 may include one or more non-volatile memories and / or one or more volatile memories to store data. By way of example, memory devices 120 may include at least one of non-volatile memories such as read-only memory (ROM), flash memory, magneto-electric random access memory (MRAM), phase-change RAM . By way of example, memory devices 120 may include at least one of volatile memories such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and the like.

The memory devices 120 may store data (e.g., installation files, update files, etc.) of the terminal software. Processors 110 may install or update terminal software based on data stored in memory devices 120. [ The file (s) / data for running the installed or updated terminal software may be stored in the memory devices 120.

The processors 110 can operate the terminal device 100a based on the data stored in the memory devices 120. [ The terminal device 100a can provide the service to the user by executing the instruction code of the data by the processors 110. [

The communication circuit block 130 can process communication with a device / system outside the terminal device 100a. To this end, the communication circuit block 130 may include various electrical / electronic circuits such as a transmission circuit, a reception circuit, a modulation circuit, and the like.

Communication circuit block 130 may operate in accordance with one or more communication protocols. By way of example, communication circuit block 130 may operate according to at least one of wire / wireless communication protocols such as ZigGee, Bluetooth, BLE, USB, SD card, Firewire,

For example, the terminal apparatus 100a can exchange data / signals with the smart device 200 while communicating with the smart device 200 via the communication circuit block 130. [ The communication circuit block 130 may communicate with the processors 110 or directly access the memory devices 120 to exchange data / signals with the smart device 200.

Operations and functions of the terminal device 100a described below can be implemented by executing the instruction codes stored in the memory devices 120 by the processors 110. [ Further, the data / signal communicated between the terminal device 100a and the smart device 200 can be transmitted / received through the communication circuit block 130 under the control of the processors 110. [

Figure 3 is a block diagram illustrating the smart device of Figure 1 in more detail. The smart device 200 may include one or more processors 210, one or more memory devices 220, and a communications circuit block 230.

Processors 210 may have computational capabilities. Processors 210 may perform a variety of arithmetic / logic operations to operate the smart device 200. To this end, the processors 210 may include one or more dedicated logic circuits.

The number of processors 210 may be variously modified or modified. Processors 210 may comprise a single processor (i.e., a single core system) or may include a plurality of processors (i.e., a multicore system). The processors 210 may be provided in the form of a general purpose processor, a dedicated processor, or an application processor.

The memory devices 220 may store data used in the operation of the smart device 200. By way of example, and not limitation, memory devices 220 may store data of instruction code 250 that is executed by processors 210. The memory devices 220 may be provided as a storage of the smart device 200. By way of example, memory devices 220 may store data to be processed or to be processed by processors 210. The memory devices 220 may be provided as a buffer memory or a working memory of the smart device 200.

Memory devices 220 may include one or more non-volatile memories and / or one or more volatile memories for storing data. By way of example, memory devices 220 may include at least one of non-volatile memories such as ROM, flash memory, MRAM, PRAM, and the like. By way of example, memory devices 220 may include at least one of volatile memories such as SRAM, DRAM, SDRAM, and the like.

The memory devices 220 may store data of various software, such as firmware, operating system, application programs, etc., to operate the smart device 200. Further, the memory devices 220 may store data of software (hereinafter, intermediate software) for interfacing with the terminal device 100a. As an example, the intermediate software may include a driver program for processing communication with the terminal apparatus 100a. As an example, the intermediate software may include an administrator program for managing the terminal apparatus 100a.

The software / program data stored in the memory devices 220 may include an instruction code 250. In some embodiments, the instruction code 250 may include the general purpose terminal device software installation / update module 255 of FIG. The general purpose terminal device software installation / update module 255 is connected to the memory devices 220 in the form of an instruction code 250 when all or part of the general purpose terminal device software installation / update module 255 is implemented in software form. Lt; / RTI >

The processors 210 may operate the smart device 200 or may interface with the terminal device 100a based on the data stored in the memory devices 220. [ Alternatively, the processors 210 may install or update intermediate software based on data stored in the memory devices 220. The file (s) / data for running the installed or updated software may be stored in the memory devices 220. The smart device 200 may provide services to a user by executing instruction code 250 of data by the processors 210. [

The communications circuit block 230 may process communications with devices / systems external to the smart device 200. To this end, the communication circuit block 230 may include various electrical / electronic circuits such as a transmission circuit, a reception circuit, a modulation circuit, and the like.

Communication circuit block 230 may operate in accordance with one or more communication protocols. By way of example, communication circuit block 230 may operate according to at least one of the following interface protocols: ZigGee, Bluetooth, BLE, USB, SD card, Firewire, By way of example, communication circuit block 230 may operate in accordance with at least one of the communication protocols such as TCP / IP, WiFi, LTE, CDMA, and the like.

By way of example, the smart device 200 may exchange data / signals with the terminal device 100a while communicating with the terminal device 100a via the communication circuit block 230. By way of example, the smart device 200 may communicate with another electronic device / system (e.g., the supply server 400a of Figure 1) beyond the communication network 300 via the communications circuit block 230, Data / signals can be exchanged. The communication circuit block 230 may communicate with the processors 210 or directly access the memory devices 220 to exchange data / signals with the terminal device 100a or other electronic device / system.

The operations and functions of the smart device 200 described below may be implemented by executing the instruction code 250 stored in the memory devices 220 by the processors 210. [ Further, the data / signal communicated between the smart device 200 and the terminal device 100a may be transmitted / received through the communication circuit block 230 under the control of the processors 210. [

4 is a conceptual diagram illustrating communication performed in the network system of FIG. For better understanding, FIGS. 1, 2, and 3 will be referenced with FIG.

First, the communication circuit block 130 of the terminal device 100a and the communication circuit block 230 of the smart device 200 can be activated. When the communication circuit blocks 130 and 230 are activated, the terminal device 100a can be connected to the smart device 200 in a wired or wireless manner according to a protocol employed in the communication circuit blocks 130 and 230. [

For example, in response to a communication connection between the terminal device 100a and the smart device 200, the terminal device 100a may provide the device identification information DI to the smart device 200 (operation 1). The device identification information DI may include information on the terminal apparatus 100a and terminal software installed on the terminal apparatus 100a. Therefore, the device identification information DI can be provided to distinguish the terminal device 100a from other terminal devices. An exemplary configuration of the device identification information DI will be described with reference to Fig.

For example, in response to the communication connection between the terminal device 100a and the smart device 200, the smart device 200 can receive the device identification information DI from the terminal device 100a. For example, the device identification information DI includes information about the address of the supply server 400a corresponding to the terminal apparatus 100a (i.e., the supply server 400a managed by the developer or manufacturer of the terminal apparatus 100a) . ≪ / RTI > For example, when the communication network 300 connecting the smart device 200 and the supply server 400a includes the Internet, the address of the supply server 400a may include an IP address.

The smart device 200 can recognize the location (e.g., IP address) of the supply server 400a on the network by referring to the device identification information DI. Thus, the smart device 200 can access the supply server 400a on the perceived location through the communication network 300 (operation 2) based on the device identification information DI. The accessed supply server 400a can supply software (e.g., terminal software, intermediate software, etc.) corresponding to the terminal apparatus 100a. Here, "access" may mean an operation to transmit a request for data stored in the supply server 400a.

The supply server 400a can supply software to the smart device 200 via the communication network 300 (operation 3). As an example, the supply server 400a may supply software (e.g., terminal software) for the terminal device 100a to the smart device 200. [ As an example, the provisioning server 400a may supply software (e.g., intermediate software) for the smart device 200 to the smart device 200. [

The smart device 200 can receive data of software (e.g., terminal software, intermediate software, etc.) from the accessed supply server 400a via the communication network 300. [ By way of example, the received data may include installation files (or installation file packages) and / or update files (or update file packages).

As an example, when the smart device 200 receives the installation file of the intermediate software from the supply server 400a, intermediate software may be installed in the smart device 200. [ When intermediate software is installed, the smart device 200 can process communication with the terminal device 100a or manage the operations of the terminal device 100a. For example, when the smart device 200 receives the update file of the intermediate software from the supply server 400a, the installed intermediate software may be updated. Therefore, the function of the intermediate software may be improved or errors may be corrected.

For example, when the smart device 200 receives data of the terminal software from the supply server 400a, the smart device 200 can provide the terminal software data to the terminal device 100a (operation 4). The terminal device 100a can receive the data of the terminal software provided from the supply server 400a through the communication network 300 through the smart device 200. [ Therefore, even if the terminal apparatus 100a can not be connected to the Internet, the terminal apparatus 100a can receive software distributed by the supply server 400a via the smart device 200. [

For example, when the terminal device 100a receives the installation file of the terminal software from the smart device 200, the terminal software may be installed in the terminal device 100a. When the terminal software is installed, the terminal device 100a can operate and perform its own functions. For example, when the terminal device 100a receives the update file of the terminal software from the smart device 200, the installed terminal software may be updated. Therefore, the functions of the terminal software may be improved or errors may be corrected.

According to the embodiment of the present invention, software for the terminal device 100a that can not be directly connected to the Internet can be automatically installed or updated via the smart device 200. [ Therefore, the user can not manually install or update the software, and the convenience can be improved. Further, the smart device 200 can manage whether the installation or update of the software is necessary instead of the terminal device 100a. Therefore, the amount of power consumed by the terminal device 100a can be reduced.

FIG. 5 is a conceptual diagram showing an exemplary configuration of device identification information provided from the terminal device of FIG. 1 to the smart device of FIG. For better understanding, FIG. 1 will be referenced with FIG.

As described with reference to Fig. 4, the terminal apparatus 100a can provide the device identification information DI to the smart device 200. [ The device identification information DI may be provided to distinguish the terminal device 100a from other terminal devices. The device identification information DI may include information on the terminal device 100a and information on the terminal software.

By way of example, the device identification information DI may include information on the manufacturer, type, and / or model of the terminal apparatus 100a. The manufacturer, type, and / or model may be referenced to identify the terminal device 100a. The smart device 200 can recognize the manufacturer, type, and / or model of the terminal device 100a by referring to the device identification information DI. The smart device 200 may refer to the device identification information DI to select a supply server (e.g., the supply server 400a) corresponding to the terminal device 100a.

For example, the smart device 200 may recognize the manufacturer of the terminal device 100a by referring to the device identification information DI. The smart device 200 can access the supply server 400a managed by the perceived manufacturer. For example, when the device identification information DI indicates that the terminal device 100a is manufactured by the company A, the smart device 200 can access the supply server 400a managed by the company A. [

By way of example, the device identification information DI may include information regarding the version or build of the terminal software and / or the relationship between the terminal software and the hardware. Such terminal software information may be referred to in order to identify the terminal software installed in or installed in the terminal apparatus 100a. The smart device 200 can recognize the information on the terminal software by referring to the device identification information DI. The smart device 200 may refer to the device identification information DI to select a supply server (e.g., the supply server 400a) corresponding to the terminal software.

By way of example, the smart device 200 may access the supply server 400a that supplies the terminal software requested by the device identification information DI. For example, the smart device 200 and / or the supply server 400a may obtain version information of the terminal software by referring to the device identification information DI (i.e., whether the version of the terminal software is an old version or a latest version Or not). Accordingly, the smart device 200 and / or the supply server 400a can determine whether or not the terminal software needs to be updated, based on the device identification information DI.

By way of example, the device identification information DI may include information about the address of the provisioning server (e.g., the provisioning server 400a) and / or the protocol employed by the provisioning server 400a. By way of example, the address of the provisioning server 400a may refer to a value referenced for accessing the provisioning server 400a via the network 300, such as an IP address, a domain name, an identifier assigned to a resource, The protocol adopted by the provisioning server 400a may include at least one of various protocols such as Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Wireless Application Protocol (WAP)

The smart device 200 may access the supply server 400a having the address indicated by the device identification information DI according to the protocol indicated by the device identification information DI. Accordingly, the smart device 200 can receive data of the terminal software for the terminal device 100a from the supply server 400a. In some cases, the smart device 200 may receive data of the intermediate software corresponding to the terminal software from the supply server 400a.

By way of example, the device identification information DI may include information about a generic class of the terminal device 100a and / or software for the generic class. By way of example, a generic class may refer to a class that defines a widely understood device type, such as a human-computer interface (HCI) class, an audio device class, a camera device class, The generic class can be referenced to identify the terminal device 100a.

As an example, in some cases, the terminal software may be designed based on a generic class according to a universally defined standard without depending on the hardware of the terminal device 100a. In such a case, the device identification information DI may include information about a generic class corresponding to the terminal device 100a and / or a version of software (e.g., driver) for the generic class. The smart device 200 can recognize the generic class and software information of the terminal device 100a by referring to the device identification information DI. The smart device 200 may access a supply server (e.g., the supply server 400a) that supplies software corresponding to the recognized generic class.

An exemplary configuration of the device identification information DI has been described with reference to Fig. However, the configuration of the device identification information DI can be variously modified or modified to identify the terminal device 100a and receive data of the software. The device identification information DI may not include one or more of the information described with reference to Fig. 5, or may further include information not shown in Fig. Fig. 5 is provided only for better understanding, and the present invention is not limited by Fig.

6 is a flowchart illustrating a process of installing software for the terminal device of FIG. To facilitate a better understanding, FIGS. 1-3 will be referred to with FIG.

The operations and functions of the terminal device 100a can be implemented by executing the instruction codes stored in the memory devices 120 by the processors 110. [ The operations and functions of the smart device 200 may be implemented by executing the instruction code 250 stored in the memory devices 220 by the processors 210. [ The steps for transmitting / receiving software (e.g., terminal software, intermediate software, etc.) via the smart device 200 may be performed using the instruction code 250 ) By processors 210. < / RTI > Data / signals communicated between the terminal device 100a and the smart device 200 can be transmitted / received through the communication circuit blocks 130 and 230. [

In operation S110, communication can be established between the terminal device 100a and the smart device 200. [ As an example, the communication circuit block 130 of the terminal device 100a and the communication circuit block 230 of the smart device 200 may be activated. When the communication circuit blocks 130 and 230 are activated, the terminal device 100a transmits the protocol (for example, ZigGee, Bluetooth, BLE, USB, SD card, Firewire, etc.) employed in the communication circuit blocks 130 and 230 At least one of which may be wired or wirelessly connected to the smart device 200.

In operation S120, the device identification information DI output from the terminal device 100a may be provided to the smart device 200. [ As an example, in response to the communication connection of operation S110, device identification information DI may be provided from smart device 200 to terminal device 100a. The device identification information DI may include information on the terminal apparatus 100a and terminal software to be installed on the terminal apparatus 100a (refer to FIG. 5). The smart device 200 can obtain information on the terminal device 100a and the terminal software with reference to the device identification information DI.

In operation S130, the smart device 200 may access the supply server 400a via the communication network 300. [ The smart device 200 can select the supply server 400a corresponding to the terminal device 100a with reference to the device identification information DI received in operation S120. As an example, the supply server 400a may have the address indicated by the device identification information DI, or may supply the terminal software requested by the device identification information DI. In some embodiments, the smart device 200 may send device identification information (DI) to the provisioning server 400a with a request for data stored in the provisioning server 400a.

In operation S140, the provisioning server 400a may provide the software requested by the device identification information DI to the smart device 200. [ As an example, the supply server 400a may provide the smart device 200 with data of the terminal software. An initial version, a default version, or a latest version of the terminal software may be provided if it is recognized that there is no terminal software installed in the terminal device 100a based on the device identification information DI.

For example, if the smart device 200 first accesses the supply server 400a, the supply server 400a may provide the data of the intermediate software to the smart device 200. [ To this end, in some embodiments, the provisioning server 400a may manage the list of smart devices communicating with the provisioning server 400a. Alternatively, in response to a request from the smart device 200, the provisioning server 400a may provide the data of the intermediate software to the smart device 200. [ For example, when the smart device 200 first communicates with the terminal device 100a, the smart device 200 may request the intermediate software data from the supply server 400a.

If data of the intermediate software is provided from the supply server 400a, in S150 operation, the intermediate software may be installed in the smart device 200. [ The intermediate software may be installed based on data received from the supply server 400a. A file for executing the intermediate software may be installed in the memory devices 220 of the smart device 200 under the control of the processors 210 of the smart device 200. [

In operation S160, the smart device 200 can provide data of the terminal software to the terminal device 100a. Accordingly, the terminal device 100a can receive the data of the terminal software from the supply server 400a through the smart device 200. [

In operation S170, the terminal software may be installed in the terminal device 100a. The terminal software may be installed based on data received from the supply server 400a via the smart device 200. [ A file for executing the terminal software may be installed in the memory devices 120 of the terminal device 100a under the control of the processors 110 of the terminal device 100a.

In FIG. 6, operation S150 has been shown to be performed earlier than operations S160 and S170. However, in some embodiments, operation S150 may be performed later than operations S160 and S170. Alternatively, operation S150 may be performed in parallel with (i.e., simultaneously or together) operations S160 and S170.

7 is a flowchart illustrating a process of updating software for the terminal device of FIG. For better understanding, FIGS. 1-3 will be referred to with FIG.

The operations and functions of the terminal device 100a can be implemented by executing the instruction codes stored in the memory devices 120 by the processors 110. [ The operations and functions of the smart device 200 may be implemented by executing the instruction code 250 stored in the memory devices 220 by the processors 210. [ The steps for transmitting / receiving software (e.g., terminal software, intermediate software, etc.) via the smart device 200 may be performed using the instruction code 250 ) By processors 210. < / RTI > Data / signals communicated between the terminal device 100a and the smart device 200 can be transmitted / received through the communication circuit blocks 130 and 230. [

In operation S210, the update condition can be satisfied. As an example, an update condition may be satisfied in response to a communication connection between the terminal device 100a and the smart device 200. [ As an example, the update condition may be satisfied in response to an update command provided from the terminal device 100a or the user of the smart device 200. [ As an example, the update condition may be satisfied in response to the passage of a specific period after the terminal software is installed in the terminal device 100a. The update conditions may be variously modified or modified to update the terminal software.

In operation S220, the device identification information DI output from the terminal device 100a may be provided to the smart device 200. [ In response to the satisfaction of the update condition of S210 operation, the device identification information DI may be provided to the smart device 200 from the terminal device 100a. For example, the device identification information DI may include information on the version of the terminal software installed in the terminal device 100a.

In operation S230, the smart device 200 may access the provisioning server 400a via the communication network 300. [ The smart device 200 can select the supply server 400a corresponding to the terminal device 100a by referring to the device identification information DI received in the operation S220. In some embodiments, the smart device 200 may send device identification information (DI) to the provisioning server 400a with a request for data stored in the provisioning server 400a.

In operation S240, the supply server 400a can determine whether the version of the terminal software installed in the terminal device 100a is an old version. As an example, the supply server 400a may receive the device identification information DI through the smart device 200. [ The supply server 400a can recognize the version of the terminal software by referring to the device identification information DI.

As an example, the supply server 400a may be managed by the developer or manufacturer of the terminal device 100a. The developer or the manufacturer may provide a new version of the terminal software to improve the function of the terminal software for the terminal device 100a and to correct the error. In some embodiments, the provisioning server 400a may compare the existing version of the terminal software installed in the terminal device 100a with the new version of the terminal software provided by the developer or manufacturer. Therefore, the supply server 400a can determine whether or not the terminal software installed in the terminal device 100a needs to be updated to the new version.

In a case where the terminal software installed in the terminal device 100a is an old version, in S250 operation, the supply server 400a can provide new version data of the terminal software to the smart device 200. [ Further, in S260 operation, the smart device 200 may provide new version data of the terminal software to the terminal device 100a. Therefore, the terminal device 100a can receive the new version data of the terminal software from the supply server 400a via the smart device 200. [

In operation S270, a new version of the terminal software may be installed in the terminal device 100a. A new version of the terminal software may be installed based on data received from the supply server 400a via the smart device 200. [ A file for executing the terminal software may be installed in the memory devices 120 of the terminal device 100a under the control of the processors 110 of the terminal device 100a.

In some cases, the terminal software installed in the terminal device 100a may not be an old version. In this case, in S240 operation, the supply server 400a can determine that the terminal software need not be updated. The supply server 400a may provide the smart device 200 with a response indicating that the terminal software is the latest version instead of outputting the new version data of the terminal software.

In Fig. 7, the process of updating the terminal software has been described. In a similar manner, the intermediate software for the smart device 200 may be updated. By way of example, the smart device 200 may provide information to the provisioning server about the version of the intermediate software. If the intermediate software installed in the smart device 200 is an old version, the supply server 400a may provide new version data of the intermediate software to the smart device 200. [ The smart device 200 may then install a file for executing a new version of the intermediate software in the memory devices 220 under the control of the processors 210. [

8 is a flowchart illustrating a process of updating software for the terminal device of FIG. For better understanding, FIGS. 1-3 will be referred to with FIG. 8. FIG.

The operations and functions of the terminal device 100a can be implemented by executing the instruction codes stored in the memory devices 120 by the processors 110. [ The operations and functions of the smart device 200 may be implemented by executing the instruction code 250 stored in the memory devices 220 by the processors 210. [ The steps for transmitting / receiving software (e.g., terminal software, intermediate software, etc.) via the smart device 200 may be performed using the instruction code 250 ) By processors 210. < / RTI > Data / signals communicated between the terminal device 100a and the smart device 200 can be transmitted / received through the communication circuit blocks 130 and 230. [

In S310 operation, the update condition can be satisfied. As described with reference to FIG. 7, the update conditions may be variously modified or modified to update the terminal software.

In operation S320, the device identification information DI output from the terminal device 100a may be provided to the smart device 200. [ In response to the satisfaction of the update condition of the S310 operation, the device identification information DI may be provided from the terminal device 100a to the smart device 200. [ For example, the device identification information DI may include information on the version of the terminal software installed in the terminal device 100a.

In operation S330, the smart device 200 may access the provisioning server 400a via the communication network 300. [ The smart device 200 can select the supply server 400a corresponding to the terminal device 100a by referring to the device identification information DI received in the S320 operation. As an example, the supply server 400a may have the address indicated by the device identification information DI, or may supply the terminal software requested by the device identification information DI. In some embodiments, the smart device 200 may send device identification information (DI) to the provisioning server 400a with a request for data stored in the provisioning server 400a.

In operation S340, the provisioning server 400a may provide the smart device 200 with the latest information regarding the terminal software. As an example, the supply server 400a may receive the device identification information DI through the smart device 200. [ The supply server 400a may recognize the type of the terminal software by referring to the device identification information DI and may provide the smart device 200 with the latest information on the recognized terminal software.

As an example, the supply server 400a may be managed by the developer or manufacturer of the terminal device 100a. The developer or the manufacturer may provide a new version of the terminal software to improve the function of the terminal software for the terminal device 100a and to correct the error. The supply server 400a may provide the smart device 200 with information on the latest version of the terminal software provided by the developer or manufacturer.

In operation S350, the smart device 200 can determine whether the version of the terminal software installed in the terminal device 100a is an old version. By way of example, the smart device 200 may obtain the latest version of the terminal software based on the latest information provided from the provisioning server 400a. For example, the smart device 200 can recognize the version of the terminal software installed in the terminal device 100a by referring to the device identification information DI.

In some embodiments, the smart device 200 may compare the existing version of the terminal software installed in the terminal device 100a with the latest version of the terminal software obtained from the supply server 400a. Accordingly, the smart device 200 can determine whether or not the terminal software installed in the terminal device 100a needs to be updated to the new version.

If the terminal software installed in the terminal device 100a is an old version, in step S360, the smart device 200 can access the supply server 400a with reference to the device identification information DI. Further, in S370 operation, the supply server 400a may provide the smart device 200 with the new version of the terminal software.

Thereafter, in S380 operation, the smart device 200 can provide new version data of the terminal software to the terminal device 100a. Therefore, the terminal device 100a can receive the new version data of the terminal software from the supply server 400a via the smart device 200. [

In S390 operation, a new version of the terminal software may be installed in the terminal device 100a. A new version of the terminal software may be installed based on data received from the supply server 400a via the smart device 200. [ A file for executing the terminal software may be installed in the memory devices 120 of the terminal device 100a under the control of the processors 110 of the terminal device 100a.

In some cases, the terminal software installed in the terminal device 100a may not be an old version. In this case, in S350 operation, the smart device 200 can determine that the terminal software need not be updated. The smart device 200 may provide the terminal device 100a with a response indicating that the terminal software is the latest version instead of receiving / transmitting the new version data of the terminal software.

In Fig. 8, the process of updating the terminal software has been described. In a similar manner, the intermediate software for the smart device 200 may be updated. By way of example, the smart device 200 may receive information from the provisioning server regarding the latest version of the intermediate software. When the intermediate software installed in the smart device 200 is an old version, the smart device 200 can receive the new version data of the intermediate software from the supply server 400a. The smart device 200 may then install a file for executing a new version of the intermediate software in the memory devices 220 under the control of the processors 210. [

9 is a conceptual diagram for explaining a configuration of data provided for updating software for the terminal device of FIG. To aid a better understanding, Figures 1-3 will be referred to with Figure 9.

As described with reference to FIGS. 7 and 8, the provisioning server 400a may provide the smart device 200 with data used to update the terminal software and / or intermediate software. For example, data provided from the supply server 400a to the smart device 200 and data provided from the smart device 200 to the terminal device 100a may be transmitted in the form of an update file or an update file package.

As an example, the terminal device 100a may store old version (OV) data of the terminal software in the memory devices 120. [ By way of example, the smart device 200 may store data of the old version (OV) of the intermediate software in the memory devices 220. The update file or the update file package provided from the provision server 400a may be used to update the old version (OV) data to the new version (NV).

As an example, when the data of the old version OV is updated to the new version NV, there may be an erasure part DP deleted by the update and an additional part AP added by the update. As an example, the deletion part DP may correspond to the data of the function to be removed by the update, and the additional part AP may correspond to the data of the function to be improved or modified by the update. In the data of the new version (NV), the remaining part excluding the deletion part (DP) and the additional part (DP) may correspond to data which is not changed or modified by the update.

Comparing the old version (OV) and the new version (NV), the deletion part (DP) and the additional part (AP) are different parts between the content of the old version (OV) and the content of the new version Can respond. On the other hand, the remaining part except for the deletion part DP and the additional part DP may correspond to the same part in the content of the old version (OV) and the content of the new version (NV).

The update file or the update file package may contain data of the new version (NV). In some embodiments, the update file or update file package may further include information regarding the location of the deletion part (DP) and / or the additional part (AP) in the data of the new version (NV). As an example, information on the location of the deletion part (DP) and / or the additional part (AP) may be included in the header of the update file. Alternatively, information on the location of the deletion part (DP) and / or the additional part (AP) may be linked to the data of the new version (NV) in the form of metadata.

In some embodiments, the update file or update file package provided from the provisioning server 400a may include all data in the new version (NV) of the terminal software / intermediate software (case A). In this embodiment, the smart device 200 and / or the terminal device 100a can receive not only the data regarding the deletion part DP and / or the additional part AP, but also the data which has not been changed or modified. The terminal device 100a can update the terminal software based on all the data of the new version NV and the smart device 200 can update the intermediate software based on all the data of the new version NV.

In some embodiments, the update file or update file package provided by the supply server 400a may only include some data of the new version (NV) of the terminal software / intermediate software. For example, the update file or the update file package may contain only data relating to different parts (e.g., the deletion part (DP) and / or the additional part (AP)) between the content of the old version (OV) (Case B). In this embodiment, the smart device 200 and / or the terminal device 100a can only receive data regarding the deletion part DP and / or the additional part AP.

The terminal device 100a can update the terminal software based on the data relating to the deletion part DP and / or the additional part AP and the smart device 200 can update the deletion part DP and / Lt; / RTI > AP). ≪ RTI ID = 0.0 > For example, the terminal device 100a and / or the smart device 200 can install / delete only the data of the changed or modified part by referring to the header or the metadata of the update file.

10 is a block diagram illustrating a network system according to an embodiment of the present invention. Network system 1000b may include one or more terminal devices (e.g., terminal device 100a and terminal device 100b), one or more smart devices (e.g., smart device 200), one or more communication networks (E.g., location server 300), one or more provisioning servers (e.g., supply server 400a and supply server 400b), and one or more location servers (e.g., location server 500). The number of devices and / or servers may be variously modified or modified, and the number of devices and servers shown in FIG. 10 is provided to aid a better understanding.

Exemplary configurations and operations of the terminal devices 100a and 100b, the smart device 200, the communication network 300, and the supply servers 400a and 400b have been described with reference to FIGS. Therefore, for convenience of description, redundant descriptions of the terminal devices 100a and 100b, the smart device 200, the communication network 300, and the supply servers 400a and 400b will be omitted below.

The smart device 200 may include a general purpose terminal device software installation / update module 256. The general purpose terminal device software installation / update module 256 may be provided for automatically installing or updating the terminal software / intermediate software. The general purpose terminal device software installation / update module 256 may include the general purpose terminal equipment software installation / update module 255 described with reference to FIGS. Thus, for purposes of explanation, redundant descriptions of the general purpose terminal device software installation / update module 256 will be omitted below.

The location server 500 may manage information regarding the location (e.g., IP addresses) of one or more supply servers. By way of example, the location server 500 may manage information regarding the location of the provisioning server 400a and the location of the provisioning server 400b.

Furthermore, the location server 500 may manage information regarding the location of the alternate server. An "alternate server" may refer to a server that is generally accessed instead of a supply server if access to the supply server is disabled. Here, the term "replacement" server is used, but the replacement server can be configured and operated substantially the same as or similar to the supply server.

As an example, the network system 1000b may further include an alternate server (not shown) to be accessed in lieu of the supply server 400a in case access to the supply server 400a is disabled. This alternate server may be configured and operative substantially the same as or similar to the provisioning server 400a.

As an example, there may be an error in the operation of the supply server 400a or the service of the supply server 400a may be interrupted. As an example, the location (e.g., IP address) of the provisioning server 400a may be changed. For example, the administrator of the supply server 400a may be changed or the manufacturer of the terminal apparatus 100a may be closed. In these examples, access to the supply server 400a may be disabled.

If access to the supply server 400a is disabled, an alternative server of the supply server 400a may supply data used to install or update the terminal software / intermediate software. An alternate server may have a changed address or be managed by a changed administrator / manufacturer. The alternate server may supply software for the terminal device 100a and / or the smart device 200 instead of the supply server 400a. To this end, the administrator of the provisioning server 400a may provide the changed information directly to the location server 500. [ Alternatively, the administrator of the location server 500 may monitor the change of information regarding the supply server 400a.

The location server 500 may have a default address. The smart device 200 may access the location server 500 using the default address. The general purpose terminal device software install / update module 256 may be designed to allow the smart device 200 to access the location server 500 using the default address if access to the provisioning server 400a is disabled.

The "default address" of the location server 500 and the protocol used to access the location server 500 can be variously selected. By way of example, the default address and protocol may be selected as an industry commitment, or may be selected as an appointment between developers, manufacturers, and / or server administrators. By way of example, the default address may be included in the network configuration for managing the connection to the network 300, or may be embedded in the instruction code of the general terminal device software install / update module 256.

If access to the provisioning server 400a is disabled, the smart device 200 may request the location server 500 to locate the alternate server corresponding to the provisioning server 400a. The smart device 200 may access the alternate server using the location of the alternate server obtained from the location server 500. [ Thus, the smart device 200 can receive the data of the software from an alternate server instead of the unreachable supply server 400a.

11 is a flowchart illustrating a process of accessing an alternative server when there is a supply server which is not accessible in the network system of FIG. To aid a better understanding, Figures 2, 3, and 10 will be referenced with Figure 11.

The operations and functions of the terminal device 100a can be implemented by executing the instruction codes stored in the memory devices 120 by the processors 110. [ The operations and functions of the smart device 200 may be implemented by executing the instruction code 250 stored in the memory devices 220 by the processors 210. [ In embodiments of the present invention, the processes of sending / receiving software (e.g., terminal software, intermediate software, etc.) via the smart device 200 may be performed using the instruction code 250 ) By processors 210. < / RTI > Data / signals communicated between the terminal device 100a and the smart device 200 can be transmitted / received through the communication circuit blocks 130 and 230. [

In operation S410, communication can be established between the terminal device 100a and the smart device 200. [ As an example, the communication circuit block 130 of the terminal device 100a and the communication circuit block 230 of the smart device 200 may be activated. When the communication circuit blocks 130 and 230 are activated, the terminal device 100a can be connected to the smart device 200 in a wired or wireless manner according to a protocol employed in the communication circuit blocks 130 and 230. [

In operation S420, the device identification information DI output from the terminal device 100a may be provided to the smart device 200. [ As an example, in response to the communication connection of operation S410, device identification information DI may be provided from smart device 200 to terminal device 100a. The device identification information DI may include information on the terminal apparatus 100a and terminal software to be installed on the terminal apparatus 100a (refer to FIG. 5).

In operation S430, the smart device 200 may access the provisioning server 400a having the address indicated by the device identification information DI received in operation S420. However, in some cases, access to the provisioning server 400a may be disabled.

In operation S440, the smart device 200 may access the location server 500. If access to the provisioning server 400a is not possible, the smart device 200 may access the location server 500 using the default address. The smart device 200 may request the location server 500 for information about the location (e.g., IP address) of the alternate server 405a corresponding to the provisioning server 400a.

In operation S450, the location server 500 may provide information to the smart device 200 about the location of the alternate server 405a. Alternate server 405a may include an alternate supply server for supplying terminal software / interim software instead of feed server 400a.

In operation S460, the smart device 200 may access the alternate server 405a based on the information received in operation S450. By way of example, the smart device 200 may access the alternate server 405a using the address of the alternate server 405a. In operation S470, the alternate server 405a may provide the smart device 200 with the new version data of the terminal software or terminal software requested by the smart device 200. [

In operation S480, the smart device 200 may provide the terminal device 100a with new version data of the terminal software or the terminal software. Accordingly, the terminal device 100a can receive the new version data of the terminal software or the terminal software from the alternative server 405a via the smart device 200. [

In S490 operation, a new version of the terminal software or terminal software may be installed in the terminal device 100a. The terminal software may be installed or updated based on data received from alternative server 405a via smart device 200. [ A file for executing or updating the terminal software may be installed in the memory devices 120 of the terminal device 100a under the control of the processors 110 of the terminal device 100a.

In a similar manner, intermediate software for the smart device 200 may be installed or updated. For example, if access to the supply server 400a is disabled, the alternate server 405a may provide new versions of the intermediate software or intermediate software to the smart device 200. [ The smart device 200 may install files for executing or updating intermediate software in the memory devices 220 under the control of the processors 210. [

12 is a flowchart for explaining the operation of the terminal device of FIG. For better understanding, FIG. 1 will be referenced with FIG.

In operation S510, the terminal device 100a can detect a communication connection with the smart device 200. [ Alternatively, the terminal device 100a can determine that the install / update condition is satisfied. The install / update condition may be a condition referred to for installing or updating the terminal software in the terminal device 100a.

As an example, the install / update condition may be satisfied in response to an install / update command provided from the user of the terminal device 100a. As an example, the install / update condition may be satisfied in response to the passage of a specific period of time after power supply to the terminal device 100a. The install / update conditions can be variously modified or modified to update the terminal software.

In S520 operation, the terminal device 100a can provide the device identification information DI to the smart device 200. [ The device identification information DI may include information on the terminal device 100a and information on the terminal software installed or installed in the terminal device 100a (refer to FIG. 5).

In operation S530, the terminal device 100a can determine whether or not new version data of the terminal software or terminal software has been received. Such data may be received from the smart device 200 that is accessible to the provisioning server 400a via the communication network 300. [ The terminal device 100a can not be connected to the communication network 300 but the terminal device 100a can receive data used for installing or updating the terminal software through the smart device 200. [

When data is received, in operation S540, the terminal device 100a can install or update the terminal software based on the received data. Therefore, in the embodiments of the present invention, the terminal software for the terminal device 100a can be automatically installed or updated via the smart device 200. [

On the other hand, if no data is received, in S550 operation, the terminal device 100a can determine whether or not the reference time has elapsed. If the reference time has not elapsed yet, the terminal apparatus 100a can monitor whether data is received in the S530 operation. That is, the terminal device 100a may provide the device identification information DI to the smart device 200, and then wait for the reference time.

On the other hand, if no data is received from the smart device 200 within the reference time, the terminal device 100a can provide the query with the device identification information DI to the smart device 200 in operation S560 have. The query may include a response request as to whether the terminal software can be provided or a response request as to whether an update of the terminal software can be provided. After providing the query, the terminal device 100a can monitor whether data is received in the S530 operation.

Since the smart device 200 takes time to receive a response from the supply server 400a, the terminal device 100a can manage the reference time. To this end, the terminal device 100a may include a timer circuit or may execute a timer program. The reference time may be a delay in communication between the terminal device 100a and the smart device 200, a delay in communication between the smart device 200 and the supply server 400a, a performance of the supply server 400a, The performance of the mobile terminal 200, and the like.

Although not shown in FIG. 12, in some embodiments, when the number of times of providing the query exceeds the reference number, the terminal device 100a may be designed to output an error message to the user. This is because a deadlock may occur in the terminal device 100a if the terminal device 100a continues to wait until data is received.

13 is a flow chart illustrating the operation of the smart device of FIG. For better understanding, Figures 1 and 10 will be referred to with Figure 13.

In operation S610, the smart device 200 can sense a communication connection with the terminal device 100a. Alternatively, the smart device 200 may determine that the install / update condition is satisfied. The install / update condition may be a condition referred to for installing or updating the terminal software in the terminal device 100a. Alternatively, the install / update condition may be a condition that is referred to for installing or updating the intermediate software on the smart device 200.

As an example, the install / update condition may be satisfied in response to an install / update command provided from the terminal device 100a or the user of the smart device 200. [ As an example, the install / update condition may be satisfied in response to the passage of a specific period of time after power supply to the terminal device 100a or the smart device 200. [ The install / update conditions may be variously modified or modified to update the terminal software and / or intermediate software.

In operation S620, the smart device 200 may receive the device identification information DI from the terminal device 100a. The device identification information DI may include information on the terminal device 100a and information on the terminal software installed or installed in the terminal device 100a (refer to FIG. 5).

In operation S630, the smart device 200 can access the supply server 400a with reference to the device identification information DI. Although not shown in FIG. 13, in some cases, access to the supply server 400a may be disabled. In such a case, as described with reference to Figures 10 and 11, the smart device 200 may access the alternate server 405a using the address of the alternate server 405a obtained from the location server 500 .

In operation S640, the smart device 200 may receive information / data from the provisioning server 400a (alternate server 405a). Such information / data may include data used to install or update terminal software and / or intermediate software. The smart device 200 may receive data of the new version of the terminal software or terminal software instead of the terminal device 100a.

As described with reference to FIG. 7, in some embodiments, the provisioning server 400a may determine whether the terminal software and / or intermediate software need to be updated. In this embodiment, the smart device 200 may receive the new version of the data of the terminal software from the supply server 400a. Thereafter, in operation S680, the smart device 200 can provide the received data to the terminal device 100a.

On the other hand, as described with reference to FIG. 8, in some embodiments, the smart device 200 may determine whether the terminal software and / or intermediate software need to be updated. In this embodiment, the smart device 200 may determine whether the software is out of date in the S650 operation. If the terminal software is not an old version, the smart device 200 can notify the terminal device 100a that updating of the terminal software is not required in the operation S690.

On the other hand, if the terminal software is an old version, in the S660 operation, the smart device 200 can receive the new version data of the terminal software from the supply server 400a. Thereafter, in operation S680, the smart device 200 can provide the received data to the terminal device 100a.

In some cases, the smart device 200 may receive new versions of intermediate software or intermediate software from the supply server 400a. In this case, the smart device 200 can install or update the intermediate software in the S670 operation.

The configurations shown in the respective conceptual diagrams should be understood from a conceptual viewpoint only. In order to facilitate understanding of the present invention, the shape, structure, size, etc. of each of the components shown in the conceptual diagram have been exaggerated or reduced. The configuration actually implemented may have a physical shape different from that shown in the respective conceptual diagrams. Each conceptual diagram is not intended to limit the physical form of the component.

The device configurations shown in the respective block diagrams are intended to facilitate understanding of the invention. Each block may be formed of blocks of smaller units depending on the function. Alternatively, the plurality of blocks may form a block of a larger unit depending on the function. That is, the technical idea of the present invention is not limited to the configuration shown in the block diagram.

The present invention has been described above with reference to the embodiments of the present invention. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. Accordingly, the above embodiments should be understood in an illustrative rather than a restrictive sense. That is, the technical idea that can achieve the same object as the present invention, including the gist of the present invention, should be interpreted as being included in the technical idea of the present invention.

Therefore, it is intended that the present invention cover modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents. The scope of protection of the present invention is not limited to the above embodiments.

100a and 100b:
200: smart device 250: instruction code
255, 256: General purpose terminal software installation / update module
300: communication network 400a, 400b: supply server
405a: Alternate server 500: Location server
1000a, 1000b: network system

Claims (18)

One or more processors; And
And one or more memory devices configured to store data of an instruction code executed by the processors,
When the instruction code is executed, the processors:
Receiving device identification information from the terminal device in response to a communication connection with a terminal device not connected to the Internet,
Via the Internet, to a supply server having a destination address indicated by the device identification information,
From the accessed supply server, data of terminal software for operating the terminal apparatus,
And provide the received data of the terminal software to the terminal device.
The method according to claim 1,
Wherein the communication connection with the terminal device is provided according to an interface protocol of at least one of ZigBee, BLE, USB, and SD cards.
The method according to claim 1,
Wherein the terminal software comprises at least one of firmware, an operating system, and an application program for the terminal device.
The method according to claim 1,
When the instruction code is executed, the processors:
From the accessed supply server, data of intermediate software for interfacing with the terminal device,
And install a file for executing the intermediate software in the memory devices based on the received data of the intermediate software.
5. The method of claim 4,
Wherein the intermediate software includes at least one of a driver program for processing communication with the terminal device, and a manager program for managing the terminal device.
The method according to claim 1,
Wherein the device identification information includes information regarding at least one of a manufacturer of the terminal device, a type of the terminal device, a target address, a protocol employed in the supply server, and the terminal software.
The method according to claim 1,
When the instruction code is executed, the processors:
Accessing a location server having a default address if the source server is not accessed based on the destination address indicated by the device identification information,
Obtaining, from the location server, an alternate address of an alternate server configured to supply the terminal software,
Via the Internet, to the alternate server having the alternate address,
And receive the data of the terminal software from the accessed alternative server.
8. The method of claim 7,
Wherein the default address is included in the network configuration for managing connection to the Internet, or embedded in the command code.
The method according to claim 1,
When the instruction code is executed, the processors:
In response to the satisfaction of the update condition, receiving the device identification information from the terminal device,
Via the Internet, to the supply server having the destination address indicated by the device identification information,
When the version of the terminal software installed in the terminal device is an old version, receiving the new version data of the installed terminal software from the accessed supply server,
And provide the new version of the received data to the terminal device.
10. The method of claim 9,
Wherein the received data of the new version includes data corresponding to a different portion between the content of the old version of the installed terminal software and the content of the new version of the installed terminal software.
One or more processors; And
And one or more memory devices configured to store data of an instruction code executed by the processors,
When the instruction code is executed, the processors:
Receiving device identification information from the terminal device in response to a communication connection with a terminal device not connected to the Internet,
Acquires version information of the terminal software installed in the terminal device by referring to the device identification information,
Via the Internet, to a supply server having a destination address indicated by the device identification information,
Acquiring latest information on the terminal software from the accessed supply server,
Receiving the new version data of the installed terminal software from the supply server based on the version information and the latest information when it is determined that the version of the installed terminal software is an old version,
And provide the new version of data to the terminal device.
12. The method of claim 11,
Wherein the new version of the data provided from the processors to the terminal device comprises a smart < RTI ID = 0.0 > (smart) < / RTI > smartcard containing data corresponding to different parts of the old version of content of the installed terminal software and the newer version of the installed terminal software Device.
12. The method of claim 11,
When the instruction code is executed, the processors:
Accessing a location server having a default address if the source server is not accessed based on the destination address indicated by the device identification information,
Obtaining, from the location server, an alternate address of an alternate server configured to supply the terminal software,
Via the Internet, to the alternate server having the alternate address,
And receive the new version of data of the installed terminal software from the accessed alternative server.
In a terminal apparatus not connected to the Internet,
One or more processors; And
And one or more memory devices configured to store data to be processed or to be processed by the processors,
The processors include:
Providing device identification information to the smart device in response to a communication connection with a smart device connected to the Internet, the device identification information including information about an address of a supply server configured to supply terminal software for operating the terminal device,
Receiving, via the smart device, data of the terminal software provided through the Internet from the accessed supply server as the smart device accesses the supply server based on the device identification information,
And install a file for executing the terminal software in the memory devices based on the received data of the terminal software.
15. The method of claim 14,
Wherein the device identification information includes at least one of a manufacturer of the terminal device, a type of the terminal device, an address of the supply server, a protocol employed in the supply server, a terminal software, a generic class of the terminal device, And a version of the terminal.
15. The method of claim 14,
The processors include:
Providing the device identification information to the smart device, waiting for a reference time,
And provide the query to the smart device with the device identification information if the data of the terminal software is not received within the reference time.
15. The method of claim 14,
The processors include:
In response to fulfilling an update condition, providing the device identification information to the smart device,
When the version of the installed terminal software is an old version, a new version of the installed terminal software provided through the Internet from the accessed supply server as the smart device accesses the supply server based on the device identification information Via the smart device,
And install a file for executing the new version of the installed terminal software in the memory devices based on the received data of the new version.
18. The method of claim 17,
And the received data of the new version includes data corresponding to a different portion between the content of the old version of the installed terminal software and the content of the new version of the installed terminal software.
KR1020160032264A 2016-03-17 2016-03-17 Smart device executing instruction code for automatically installing or updating software of terminal device and terminal device receiving software through smart device KR20170108414A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160032264A KR20170108414A (en) 2016-03-17 2016-03-17 Smart device executing instruction code for automatically installing or updating software of terminal device and terminal device receiving software through smart device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160032264A KR20170108414A (en) 2016-03-17 2016-03-17 Smart device executing instruction code for automatically installing or updating software of terminal device and terminal device receiving software through smart device

Publications (1)

Publication Number Publication Date
KR20170108414A true KR20170108414A (en) 2017-09-27

Family

ID=60036527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160032264A KR20170108414A (en) 2016-03-17 2016-03-17 Smart device executing instruction code for automatically installing or updating software of terminal device and terminal device receiving software through smart device

Country Status (1)

Country Link
KR (1) KR20170108414A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745267A (en) * 2022-03-28 2022-07-12 杭州涂鸦信息技术有限公司 Function updating method and related device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745267A (en) * 2022-03-28 2022-07-12 杭州涂鸦信息技术有限公司 Function updating method and related device
CN114745267B (en) * 2022-03-28 2024-05-24 杭州涂鸦信息技术有限公司 Function updating method and related device

Similar Documents

Publication Publication Date Title
US10002054B2 (en) Method and system for performing automatic system recovery
US20220209980A1 (en) Universal interface for sensor devices
KR102107708B1 (en) Automatic application updates
CN108011935B (en) Program upgrading method of NB-IOT (network node B-IOT) equipment, server and NB-IOT equipment
US20140007076A1 (en) Separate upgrade/modification of remote software in machine to machine communication
WO2015007245A1 (en) Cross-terminal downloading method, system, cloud server and terminal
CN105389191A (en) Software upgrading method, apparatus and system based on local area network
JP7345921B2 (en) OTA differential update method and system for master-slave architecture
US20180357193A1 (en) Computing device and operation method
US20160241635A1 (en) M2m data querying and invoking methods, querying and invoking devices, and system
JP2021513174A (en) Reconfigurable built-in rules engine for Internet of Things (IoT) devices
WO2019174307A1 (en) Data transmission method and apparatus, terminal and storage medium
US10216664B2 (en) Remote resource access method and switching device
TW201941576A (en) Application program wake-up method and device, terminal and medium
CN103457748A (en) Data transmission method, system and device
JP5610654B2 (en) Apparatus for providing terminal management package and method for receiving terminal management package
KR20170108414A (en) Smart device executing instruction code for automatically installing or updating software of terminal device and terminal device receiving software through smart device
WO2016032500A1 (en) Resource trees by management controller
CN109413180B (en) Data acquisition method, system and equipment and storage medium
JP5868476B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
CN105281944B (en) Method for setting network protocol address and service management system
US11792269B2 (en) Method for generating application for controlling external electronic device and electronic apparatus for supporting the same
WO2016206437A1 (en) Rom package generation method and device
KR101399800B1 (en) Service providing method and system for instance hosting
US9049180B2 (en) Method for providing a signal output on the basis of a main file and at least one secondary file, and motor vehicle