When a device such as a printer registers with a cloud server called a command center, the cloud server manages histories of applications installed on the device, or licenses granted to the device.
Various examples will be described below by referring to the following figures.
As those skilled in the art will realize, the following described examples may be modified in various different ways, all without departing from the spirit or scope of the present invention. In order to clarify the present disclosure, parts that are not relevant to the description will be omitted, and the same elements or equivalents are referred to by the same reference numerals throughout the specification.
As used herein, when a part is described to “include” or “comprise” a certain element, it means that the part may further include or comprise other elements rather than exclude other elements, unless specifically indicated otherwise.
The term “transmit”, “transfer”, “provide”, “receive”, or “acquire” may be used to include not only direct transmission, transfer, provision, reception, or acquisition but also indirect transmission, transfer, provision, reception, or acquisition through another device or using a bypass.
The singular forms “a”, “an”, and “the” may be intended to include the plural forms as well, unless an explicit expression such as “one” or “singular” is used.
The expression “and/or” may include each of the referred elements and every combination of one or more thereof.
Although the terms first, second, and the like may be used herein to describe various elements, components, steps, and/or operations, these terms may simply be used to distinguish one element, component, step, or operation from another element, component, step, or operation. Thus, a first element component, step, or operation discussed below could be termed a second element, component, step, or operation.
In a flowchart described with reference to the accompanying drawings, an operation order may be changed, several operations may be merged, a certain operation may be divided, and a specific operation may be omitted.
An application may refer to a program that is installed and executed on a device and is designed to achieve a specific purpose or to implement a specific function. For example, the application may be a file sharing application, a document print application, a document scan application, and the like. The application may include a solution program that addresses a software or hardware issue of the device.
Referring to
The command center 110 and the user terminal 140 may be implemented as computing devices. In an example, the command center 110 may be implemented as a cloud-based server.
The device 130 may be an image forming apparatus that generates, prints, receives, or transmits image data. In various examples, the image forming apparatus may be a printer, a scanner, a copier, a fax machine, or a multifunction printer incorporating these functions. The device 130 may include a memory and a processor. The device 130 may be registered with the command center 110 through onboarding.
The command center 110 may communicate with the device 130 to manage installation, deletion, or configuration of an application in the device 130, and may also manage a license of a paid application in the device 130. In an example, the command center 110 may detect a change such as a reset of the device 130 and automatically restore an application installed in the device 130 and the application's configuration. In an example, the command center 110 may detect a change such as a reset of the device 130 and automatically restore a license purchased by the device 130.
The user terminal 140 may be a terminal used by a user. The user may be, for example, a reseller of the device 130, an administrator of a client company (for example, a company that has purchased the device 130), a general user of the client company, etc. In an example, some operations of the command center 110 to be described with reference to
There may be a case in which a reset such as a factory clear, a firmware update, etc. is forcibly performed on the device 130. In that case, a license mismatch or an application mismatch problem may occur between the device 130 and the command center 110 with which the device 130 is registered.
A method of recovering a device according to various examples is described with reference to
Referring to
The command center may detect a change of the device by checking a history of the device managed by the command center at operation S220. Upon detecting the change of the device, the command center may perform a recovery procedure of the device based on the history of the device at operations S230, S240, and S250.
The command center may modify an application in the device based on the history of the device at operation S230. In an example, the command center may modify the application in the device by installing an application in the device based on the history of the device. In another example, the command center may modify the application in the device by deleting the application from the device based on the history of the device.
The command center may configure an application installed in the device based on the history of the device at operation S240. In an example, when installing the application in the device, the command center may configure the installed application based on the history of the device. In another example, when a configuration of the application installed in the device is changed, the command center may modify the configuration of the application based on the history of the device.
The command center may modify a license of an application installed in the device based on the history of the device at operation S250. In an example, when installing the application in the device, the command center may set the license of the installed application based on the history of the device.
According to the above-described examples, the application and license that are originally installed may be automatically recovered based on the history of the device. Accordingly, the device can be prevented from not operating normally due to desynchronization with the command center.
Examples of recovering an onboarding device are described with reference to
Referring to
The command center may determine whether there is a history of the device requesting onboarding at operation S320. In an example, the history of the device may include information indicating a status of the device (e.g., a serial number of the device, a firmware version, etc.), information indicating a connection date of the device, or information indicating an application status of the device (e.g., an installed application). In an example, the history of the device may include a task history. In an example, the task history may include a history associated with a task of an application (hereinafter referred to as an “application history”) or a history related to a license (hereinafter referred to as a “license history”). The application history may include, for example, a history related to an installation or deletion of the application. The license history may include, for example, a history related to granting or releasing the license.
If the history of the device exists, the command center may determine that a status of the device has been changed at operation S330. In an example, the command center may determine that the status of the device has been changed by being manually reset. The command center may perform a recovery procedure of the device based on the history of the device at operation S340.
According to the above-described examples, the device may be automatically recovered by automatically determining that the device has changed based on the history of the device.
Referring to
In an example, when there are a plurality of paid applications to be installed, the command center may determine an execution order of tasks of installing the plurality of applications and create a task set of executing the tasks in the execution order. In an example, the command center may determine an order in which the plurality of applications are installed based on the history of the device and create the task set of allowing the plurality of applications to be installed in the determined order. The task set may be created to perform the tasks of installing the plurality of applications in the installation order.
The command center may transfer the task set to the device at operation S430 so that the paid application can be installed in the device and the license can be valid according to the tasks included in the task set.
According to the above-described examples, since the paid application is reinstalled based on the license history, the license can be managed based on the license history so that a fee for the license is not additionally charged.
Referring to
The command center may create a task set including a task of installing each application based on the application list at operation S530. In an example, the command center may determine a version of a previously-installed application based on a history of the device and create a task of installing the application with the corresponding version. In an example, the command center may create a task of installing an application with the latest version instead of the previously-installed version. In an example, when the version of the previously-installed application is not available, the command center may create a task of installing the application with the latest version.
In an example, the command center may determine an execution order of tasks of installing a plurality of applications at operation S520 and create a task set of executing the tasks in the execution order at operation S530. In an example, the command center may determine an order in which the plurality of applications are installed based on the history of the device and create the task set of allowing the plurality of applications to be installed in the determined order. The task set may be created to perform the tasks of installing the plurality of applications in the installation order.
The command center may transfer the task set to the device at operation S540 so that the applications can be installed on the device according to the tasks included in the task set.
In an example, a task set that includes a task of installing a free application may be created separately from a task set that includes a task of installing a licensed paid application. In an example, the task of installing the free application and the task of installing the paid application may be included in the same task set. In an example, when the task of installing the free application and the task of installing the paid application are included in the same task set, the task set may be created so that the paid application can be first installed.
According to the above-described examples, the originally-installed application can be automatically recovered based on the history of the device. Accordingly, the device can be prevented from not operating normally due to desynchronization with the command center.
Referring to
If there is an application whose configuration information is not stored in the database, the command center may obtain default configuration information of the corresponding application from an application center at operation S620. In an example, the default configuration information may include configuration values (default configuration values) that are applied by default when the application is installed. For example, the default configuration values may include configuration values related to a type or a size of paper, configuration values related to a print resolution, etc. In an example, the application center may store a new application or an updated application and may store a file including default configuration information of the application. In an example, the command center and the application center may be provided as separate servers. In an example, the command center and the application center may be provided in the same server.
The command center may create a task set including a task of configuring an application installed in the device based on the configuration information or default configuration information of the application at operation S630. The command center may transfer the task set to the device at operation S640 so that the application installed in the device can be configured according to the task included in the task set.
In an example, a task set that includes the task of configuring the application may be created separately from a task set that includes the task of installing the application. In an example, the task of installing the application and the task of setting the application may be included in the same task set. In an example, when a user selects an application, the command center may create a task of configuring the selected application.
According to the above-described examples, the configuration of the application may be automatically recovered based on the history of the device. Accordingly, the device can be prevented from not operating normally due to desynchronization with the command center.
Examples of recovering a device attempting to update device information are described with reference to
Referring to
The command center may determine whether the device has been changed by comparing current information of the device requesting the device information update with the history of the device managed by the command center. In an example, the history of the device may include a task history. In an example, the task history may include an application history or a license history. The application history may include, for example, a history related to an installation or deletion of the application. The license history may include, for example, a history related to granting or releasing of the license.
In an example, the command center may compare the information of the application installed in the device with the application history managed by the command center at operation S720. When there is a difference in the installed application as a result of the comparison, the command center may determine that the recovery is necessary according to the change of the device at operation S730.
In an example, referring to
In an example, the information of the application may include identification information (e.g., an identifier) of the application. In an example, the information of the application may include identification information of the application and version information of the application.
The command center may perform a recovery procedure of the device based on the changed status at operation S740.
According to the above-described examples, the device may be automatically recovered by automatically determining that the device has changed based on the history of the device.
Referring to
In a case in which the paid application licensed through the command center has been deleted at operation S910, the command center may create a task set including a task of installing the paid application and validating the license at operation S920. In an example, the command center may determine a version of a previously-installed paid application based on a history of the device and create a task of installing the paid application with the corresponding version. In an example, the command center may create a task of installing the paid application with the latest version instead of the previously-installed version. In an example, when the version of the previously-installed paid application is not available, the command center may create a task of installing the paid application with the latest version.
In an example, when there are a plurality of paid applications to be installed, the command center may determine an execution order of tasks of installing the plurality of paid applications and create a task set of executing the tasks in the execution order. In an example, the command center may determine an order in which the plurality of paid applications are installed based on the history of the device and create the task set of allowing the plurality of paid applications to be installed in the determined order. The task set may be created to perform the tasks of installing the plurality of paid applications in the installation order.
When a paid application whose license is not granted through the command center has been installed at operation S930, the command center may create a task set including a task of deleting the paid application at operation S940.
The command center may transfer the task set to the device at operation S950, so that the paid application can be installed on the device and its license can be validated, or the unlicensed paid application can be deleted, according to the tasks included in the task set.
According to the above-described examples, since the paid application is reinstalled based on the license history, the license can be managed based on the license history so that a fee for the license is not additionally charged. Further, the paid application installed without the license can be deleted.
Referring to
In an example, the command center may determine an execution order of tasks of installing a plurality of applications at operation S1020 and create a task set of executing the tasks in the execution order at operation S1030. In an example, the command center may determine an order in which the plurality of applications are installed based on the history of the device and create the task set of allowing the plurality of applications to be installed in the determined order. The task set may be created to perform the tasks of installing the plurality of applications in the installation order.
The command center may transfer the task set to the device at operation S1040 so that an application can be installed in the device according to the tasks included in the task set.
In an example, a task set that includes a task of installing a free application may be created separately from a task set that includes a task of installing a licensed paid application. In an example, the task of installing the free application and the task of installing the paid application may be included in the same task set. In an example, when the task of installing the free application and the task of installing the paid application are included in the same task set, the task set may be created so that the paid application can be first installed.
In an example, the command center may create a task set including a task of deleting an additionally-installed free application, based on an installation history of applications and status information of applications installed in the device.
In an example, after installing the application in the device, the command center may configure the application, similar to the various examples described above.
According to the above-described examples, the originally-installed application can be automatically recovered based on the history of the device. Accordingly, the device can be prevented from not operating normally due to desynchronization with the command center.
An example of resetting a device is described with reference to
Referring to
The device may perform a reset on the device at operation S1130. In an example, the device may perform the reset such as a factory clear or a firmware update.
The command center may create a task of installing an application that was installed in the device prior to the reset and a task of configuring the corresponding application based on the history of the device at operation S1140. The command center may transfer a task set including the tasks to the device in operation S1150 and the device may install and configure the application at operation S1160. The device may request a device information update from the command center to synchronize with the command center at operation S1170.
According to the above-described examples, the device can be reset while maintaining synchronization with the command center.
In an example, a command center, a method of recovering a device, a method of determining a recovery of a device, a method of recovering a license, a method of recovering an application, a method of recovering an application configuration, or a method of resetting a device may be implemented by a computing device having computing functions. An example computing device is described with reference to
Referring to
The processor 1210 may control an operation of each component of the computing device. The processor 1210 may be implemented with processing circuitry. For example, the processing circuitry may include a central processing unit (CPU), an application processor (AP), a microprocessor unit (MPU), a micro controller unit (MCU), an arithmetic logic unit (ALU), a graphic processing unit (GPU), a digital signal processor, a field programmable gate array (FPGA), a system on chip (SoC), a programmable logic unit, or an application-specific integrated circuit (ASIC). In addition, the processor 1210 may perform operations on a program for executing the above-described method.
The memory 1220 may store various data, commands, and/or information. The memory 1220 may load a computer program 1231 from the storage device 1230 to execute the above-described method. The storage device 1230 may non-temporarily store the computer program 1231. The storage device 1230 may be implemented as a non-volatile memory.
The communication interface 1240 may support wired or wireless Internet communication of the computing device. The communication interface 1240 may support various communication methods other than the Internet communication.
The bus 1250 may provide a communication function between components of the computing device. The bus 1250 may be implemented as various types of buses such as an address bus, a data bus, a control bus, and the like.
The computer program 1231 may include instructions that cause processor 1210 to perform the above-described method when loaded into memory 1220. That is, the processor 1210 may perform operations for the above-described method by executing the instructions.
In an example, a command center, a method of recovering a device, a method of determining a recovery of a device, a method of recovering a license, a method of recovering an application, a method of recovering an application configuration, or a method of resetting a device may be implemented as a computer-readable program on a non-transitory computer-readable medium. In an example, the non-transitory computer-readable medium may include, for example, a removable recording medium or a fixed recording medium. In an example, the computer-readable program recorded on the non-transitory computer-readable medium may be transmitted to another computing device via a network such as the Internet and installed in another computing device, so that the computer program can be executed by another computing device.
Although various examples have been described in above, the scope is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concepts defined in the following claims also fall within the scope of rights.
Number | Date | Country | Kind |
---|---|---|---|
10-2020-0001202 | Jan 2020 | KR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2020/040224 | 6/30/2020 | WO |