Patent Description:
In the related art, a technique of updating setting data and programs of a terminal device (terminals) such as a label printer, a point-of-sale system (POS), and a measuring instrument, which are installed in a store such as a supermarket through a higher server connected via a network such as a local area network (LAN) or through a storage medium such as a universal serial bus (USB) is known.

However, the setting of the program, the version of the program to be applied, and the like may vary for each installation location or each terminal. Therefore, before the program is updated through the network or the storage medium, a worker is required to check a device number, a program version, or the like in an installation location of the terminal and then to determine whether the program of the terminal is required to be replaced.

<CIT> and <CIT> each discloses an information processing system connected to terminals such as a printer.

An aspect of the present disclosure is to reduce a workload for updating a program of the terminal.

An information processing apparatus and an information processing system according to appended claims are provided to solve the above-mentioned problems.

Preferably, when a function to be updated by applying the update program is validated in the terminal, the update management component determines that the terminal is a target of applying the update program.

Preferably, the terminal is one of a label printer, a point-of-sale system, and a measuring instrument.

Preferably, the update program comprises merchandise information.

Preferably, the merchandise information comprises at least one of a merchandise name, a merchandise price, a processing date, a freshness date, an expiration date, and a production place.

According to the information processing system, preferably, when the function validated or invalidated among a plurality of functions of the application installed on the terminal is changed, the communication component transmits the terminal information to the information processing apparatus.

Preferably, the information processing system further comprises a display configured to display a display screen for causing a user to confirm whether or not the update program is applied to the terminal, when the communication component confirms that the update program is stored in the predetermined storage area.

The invention also relates to a method according to appended claim <NUM>.

Preferably, the method further comprises checking whether or not the update program exists in a predetermined storage area of the information processing apparatus.

Preferably, the method further comprises, when the function validated or invalidated among a plurality of functions of the application installed on the terminal is changed, transmitting the terminal information to an information processing apparatus.

Preferably, the method further comprises displaying a display screen for causing a user to confirm whether or not the update program is applied to the terminal, when confirming that the update program is stored in a predetermined storage area.

Hereinafter, an information processing apparatus (terminal information management apparatus), an information processing system (terminal information management system), and a program according to an embodiment will be described with reference to the drawings.

In the embodiment described below, a label printer system <NUM> that prints a label indicating information associated with a merchandise will be described as an example of the information processing system. The disclosure is not limited to the embodiment described below.

<FIG> is a diagram illustrating an example of a configuration of the label printer system <NUM> according to an embodiment. As illustrated in <FIG>, the label printer system <NUM> includes a label printer <NUM>, a store server <NUM>, and a terminal information management server <NUM>.

The label printer <NUM> and the store server <NUM> are connected to each other via a network <NUM>. The network <NUM> is a wired or wireless local area network (LAN) in a store, for example. The store server <NUM> and the terminal information management server <NUM> are connected to each other via a network <NUM>. The network <NUM> is an electrical communication line such as the Internet, for example.

In the embodiment, the label printer <NUM> will be described as an example of a terminal in the information processing system. In the embodiment, the terminal information management server <NUM> will be described as an example of the information processing apparatus in the information processing system.

In the embodiment, the label printer (terminal) <NUM> on which at least one application is installed (mounted) will be described. Here, it is assumed that each application is a program that realizes a functional group including at least one function by executing the application. It is assumed that the application (program) is enabled to be replaced (updated) by an update program supplied from an outside.

The label printer <NUM> may be connected to the terminal information management server <NUM> via the network <NUM>.

Although <FIG> illustrates the label printer system <NUM> including one label printer <NUM> and one store server <NUM>, the disclosure is not limited thereto. The label printer system <NUM> may include a plurality (two or more) of label printers <NUM>. The label printer system <NUM> may include a plurality (two or more) of store servers <NUM>.

<FIG> is a schematic diagram illustrating an example of an appearance of the label printer <NUM> according to the embodiment. The label printer <NUM> is a printer that prints a label <NUM> to be attached to a merchandise. As illustrated in <FIG>, the label printer <NUM> includes a display <NUM>, a touch panel <NUM>, an upper cover <NUM>, and a main body cover <NUM>.

The upper cover <NUM> is connected to the main body cover <NUM> to be rotatable. In other words, in the label printer <NUM>, the upper cover <NUM> is openable and closable. The label printer <NUM> includes a storage unit (not illustrated) that stores roll-like label paper in the main body cover <NUM>. The upper cover <NUM> and the main body cover <NUM> form a label dispensing port <NUM>. The label dispensing port <NUM> dispenses the label <NUM>. The label <NUM> is a printed medium on which merchandise information of a merchandise to be attached is printed. The merchandise information is, for example, information such as a merchandise name, merchandise price, a processing date (manufacturing date), a freshness date, an expiration date, a production place, and the like. The merchandise information may include a message and the like of a producer or a store clerk to a customer who purchases the merchandise.

<FIG> is a block diagram illustrating an example of a hardware configuration of the label printer <NUM> according to the embodiment. As illustrated in <FIG>, the label printer <NUM> further includes a processor <NUM>, a memory <NUM>, a communication I/F <NUM>, a controller <NUM>, and a printing unit <NUM>. The processor <NUM>, the memory <NUM>, the communication I/F <NUM>, and the controller <NUM> are connected to each other, for example, by a bus <NUM> to enable communication.

The processor <NUM> controls the entire operation of the label printer <NUM>. The processor <NUM> executes a program such as a control program <NUM> stored in the memory <NUM> to control the operation of the label printer <NUM>. For example, a central processing unit (CPU) is used as the processor <NUM>. Other processors such as a graphics processing unit (GPU), an application specific integrated circuit (ASIC), and a field programmable gate array (FPGA) may be used as the processor <NUM>.

As an example, the memory <NUM> includes a random access memory (RAM), a read only memory (ROM), and a hard disk drive (HDD). The RAM is a volatile memory which is used as a working memory and in which data is stored when the processor <NUM> performs arithmetic operation processing. The ROM is a non-volatile memory that stores a program such as the control program <NUM> executed by the processor <NUM>, and data such as a parameter. The HDD is a non-volatile memory that stores a program such as the control program <NUM> executed by the processor <NUM>, and data such as a parameter and a price look up (PLU) file <NUM>.

In the PLU file <NUM>, for each merchandise code, merchandise information regarding a merchandise indicated by a merchandise code and an update date and time of the merchandise information are stored in association with each other. Regarding the PLU file <NUM>, the PLU file stored in a memory (not illustrated) of the store server <NUM> is distributed at a predetermined timing. The PLU file <NUM> may be distributed from the terminal information management server <NUM>. The merchandise information herein is information representing attributes of a merchandise such as a merchandise name, merchandise price, a processing date (manufacturing date), a freshness date, an expiration date, a production place, and the like. The merchandise information is updated every time the merchandise information is received from the store server <NUM>. That is, the merchandise information stored in the PLU file <NUM> is merchandise information which was previously received from the store server <NUM>. The update date and time is information indicating date and time when the PLU file <NUM> is updated.

The memory <NUM> may include another non-volatile memory such as a solid state drive (SSD) and a flash memory. In this case, the program such as the control program <NUM> executed by the processor <NUM>, and the data such as the parameter and the PLU file <NUM> may be stored in the other non-volatile memory.

The communication I/F <NUM> is a communication circuit that communicates with the store server <NUM> via the network <NUM>. The communication I/F <NUM> may be a communication circuit for wired communication or a communication circuit for wireless communication. The communication I/F <NUM> may be configured as a communication circuit that communicates with the terminal information management server <NUM>.

The controller <NUM> is an interface circuit connected to the display <NUM>, the touch panel <NUM>, and the printing unit <NUM>. The controller <NUM> includes a driver that controls the operation of each of the display <NUM>, the touch panel <NUM>, and the printing unit <NUM>, in accordance with a control signal from the processor <NUM>.

As illustrated in <FIG>, the display <NUM> is disposed on the upper cover <NUM>, for example. The display <NUM> is a display device such as a liquid crystal display, for example. The display <NUM> displays display screen data in accordance with the control of the processor <NUM>.

The touch panel <NUM> is a touch input device stacked on the surface of the display <NUM>. The touch panel <NUM> outputs an operation signal in response to an operation of a user.

The printing unit <NUM> is disposed inside the main body cover <NUM>. The printing unit <NUM> forms the label <NUM> by printing merchandise information and the like on roll-like label paper stored in the storage unit (not illustrated), in accordance with the control of the processor <NUM>.

<FIG> is a block diagram illustrating an example of a functional configuration of the label printer <NUM> according to the embodiment. The processor <NUM> executes the control program <NUM> loaded on the RAM of the memory <NUM> to realize functions as a communication unit <NUM>, an updating unit <NUM>, a storage unit <NUM>, a printing control unit <NUM>, and a display control unit <NUM>.

The communication unit <NUM> communicates with the store server <NUM>. Such communication includes communication with the terminal information management server <NUM> through the store server <NUM>. The communication unit <NUM> transmits information regarding function setting such as validation or invalidation of the function of the label printer <NUM> and information such as an update result of the program. When the power turns on, the communication unit <NUM> checks whether or not the update program is stored in a program update folder <NUM> for the own terminal of the terminal information management server <NUM>. The communication unit <NUM> receives the update program from the program update folder <NUM> for the own terminal of the terminal information management server <NUM>.

The updating unit <NUM> stores the update program received by the communication unit <NUM> in the storage unit <NUM>. The updating unit <NUM> performs update processing on a terminal side, in which the update program received by the communication unit <NUM> is applied to the terminal. The updating unit <NUM> sets validation or invalidation for at least one function of the application installed on the label printer <NUM>, in accordance with an operation result of the touch panel <NUM> or the like by the user, for example.

The storage unit <NUM> stores a program such as the control program <NUM> executed by the processor <NUM>, and the data such as the parameter. The storage unit <NUM> stores terminal information regarding the own terminal. The terminal information regarding the own terminal includes information such as a program applied to the label printer <NUM>, the version of the program, and a validated or invalidated function.

The printing control unit <NUM> refers to the PLU file <NUM> based on a merchandise code from a higher device such as a point-of-sale system (POS) or a computer, or a handy scanner, to read merchandise information of the merchandise corresponding to the merchandise code. Here, the merchandise code refers to identification information enabled to identify a merchandise. The printing control unit <NUM> arranges the read merchandise information, for example, in a predetermined format set and stored in advance in the storage unit <NUM>, and generates printing data of the label <NUM>. The printing control unit <NUM> forms the label <NUM> by the printing unit <NUM> based on the generated printing data and then dispenses the label.

The display control unit <NUM> generates image data such as an operation screen, a confirmation screen of whether or not program update is required, a confirmation screen of a function validated or invalidated in the own terminal, a setting screen for setting validation or invalidation of each function of the own terminal, and the like. The display control unit <NUM> displays the screen on the display <NUM> based on the generated image data.

The store server <NUM> transmits information regarding the label printer <NUM> to the terminal information management server <NUM> via the network <NUM>. The information regarding the label printer <NUM> includes setting of the label printer <NUM>, an update result of the program, and the like. The store server <NUM> transmits information from the terminal information management server <NUM> to the label printer <NUM> via the network <NUM>. The information from the terminal information management server <NUM> includes the update program of the label printer <NUM> and the like. The store server <NUM> may receive a merchandise master and the like from the terminal information management server <NUM> via the network <NUM>.

<FIG> is a block diagram illustrating an example of a hardware configuration of the terminal information management server <NUM> according to the embodiment. The terminal information management server <NUM> is a server device that manages information (terminal information <NUM>) regarding the label printer <NUM> in each store. As illustrated in <FIG>, the terminal information management server <NUM> includes a processor <NUM>, a memory <NUM>, and a communication I/F <NUM>. The processor <NUM>, the memory <NUM>, and the communication I/F <NUM> are connected to each other, for example, by a bus <NUM> to enable communication.

The processor <NUM> controls the entire operation of the terminal information management server <NUM>. The processor <NUM> executes a program such as a control program <NUM> stored in the memory <NUM> to control the operation of the terminal information management server <NUM>. For example, a CPU is used as the processor <NUM>. Other processors such as a GPU, an ASIC, and an FPGA may be used as the processor <NUM>.

As an example, the memory <NUM> includes a RAM, a ROM, and an HDD. The RAM is a volatile memory which is used as a working memory and in which data is stored when the processor <NUM> performs arithmetic operation processing. The ROM is a non-volatile memory that stores a program such as the control program <NUM> executed by the processor <NUM>, and data such as a parameter. The HDD is a non-volatile memory that stores a program such as the control program <NUM> is executed by the processor <NUM>, and data such as a parameter, terminal information <NUM>, a program update folder <NUM>, incident information <NUM>, and update information <NUM>.

The terminal information <NUM> is information that indicates a validated or invalidated function among at least one function (plurality of functions) of at least one application installed on the label printer <NUM>. <FIG> is a diagram illustrating an example of a structure of the terminal information <NUM> stored in the terminal information management server <NUM> according to the embodiment. As illustrated in <FIG>, the terminal information <NUM> includes, for each label printer <NUM>, information such as a device number, a model name, a manufacturing date, a program version, parts information, an arrival date, a shipment date, a delivery date, a customer name, a store name or location, and a customer use function.

The device number is unique information given for each label printer <NUM>. The model name is information indicating the model of the label printer <NUM>. The manufacturing date is information indicating the date on which the label printer <NUM> is manufactured. The terminal information <NUM> is not limited to the manufacturing date and may further include information such as a manufacturing location or a manufacturing line.

The program version is information indicating the version of each application (program) installed on the label printer <NUM>.

The parts information is information indicating parts used in the label printer <NUM>. The arrival date is information indicating the date on which the manufactured label printer <NUM> is received in a warehouse or the like. The terminal information <NUM> is not limited to the arrival date and may further include information such as the location of the warehouse. The shipment date is information indicating the date on which the label printer <NUM> is shipped from the warehouse or the like for delivery. The delivery date is information indicating the date on which the label printer <NUM> is delivered to a customer. The customer name refers to information indicating the customer to which the label printer <NUM> is delivered. The store name or location is information indicating the location to which the label printer <NUM> is delivered. As the store name or location, either a store name of a store where the label printer <NUM> is delivered or the location of the store may be provided.

The customer use function is information indicating a function validated as a function to be used by the customer among a plurality of functions of an application for each application installed on the label printer <NUM>.

The function that the label printer <NUM> can realize can be determined from the program version of the application, for example. However, the terminal information <NUM> may include information explicitly indicating the function that the label printer <NUM> can realize. The terminal information <NUM> may include information explicitly indicating a function invalidated as a function which is not used by the customer among the plurality of functions of the application for each application installed on the label printer <NUM>.

The program update folder <NUM> is a storage location of the update program prepared for each label printer <NUM>. The program update folder <NUM> may store other data of the update program supplied (distributed) to the label printer <NUM>. The program update folder <NUM> is an example of a predetermined storage area.

The incident information <NUM> is information registered when an incident occurs, for example, from a computer in a quality assurance department. <FIG> is a diagram illustrating an example of a structure of the incident information <NUM> stored in the terminal information management server <NUM> according to the embodiment. As illustrated in <FIG>, the incident information <NUM> includes information such as a model name, an incident occurrence program version, an incident response program version, an incident response program, and an incident occurrence function.

The model name is information indicating the model of the label printer <NUM> in which an incident occurs. The incident occurrence program version is information indicating the version of a program in which an incident occurs. The incident response program version is information indicating the version of an update program for a response to the incident. The incident response program is an application (update program) updated for the response to the incident. The incident occurrence function is information indicating a function in which an incident occurs.

The incident occurrence function can be expressed to be a function of the application (program) in which the incident occurs. Similarly, the program in which the incident occurs can be expressed to be an application including the incident occurrence function. The incident occurrence program version can be expressed to be information indicating the version of the application including the incident occurrence function.

For example, the update information <NUM> is information registered when an update occurs, for example, when an update program for increasing an operation speed of the application or improving stability is provided, from a computer in the manufacturing department or a quality assurance department. As an example, the structure of the update information <NUM> is similar to the above-described structure of the incident information <NUM>. For example, the update information <NUM> includes information such as a model name, an update occurrence program version, an update response program version, an update response program, and an update occurrence function. The incident information <NUM> and the update information <NUM> may not be distinguished from each other. That is, the incident information <NUM> and the update information <NUM> may be stored as one piece of information.

The response to the incident or the update includes addition of a new function realized by executing the update program.

The memory <NUM> may include another non-volatile memory such as an SSD and a flash memory. In this case, the other non-volatile memory stores the program such as the control program <NUM> executed by the processor <NUM>, data such as a parameter, and data such as the terminal information <NUM>, the program update folder <NUM>, the incident information <NUM>, and the update information <NUM>.

The communication I/F <NUM> is a communication circuit that communicates with the store server <NUM> via the network <NUM>. The communication I/F <NUM> may be a communication circuit for wired communication or a communication circuit for wireless communication. The communication I/F <NUM> may be configured as a communication circuit that communicates with the label printer <NUM>.

The terminal information management server <NUM> may include an input device such as a keyboard or a mouse.

<FIG> is a block diagram illustrating an example of a functional configuration of the terminal information management server <NUM> according to the embodiment. The processor <NUM> executes the control program <NUM> loaded on the RAM of the memory <NUM> to realize functions as a communication unit <NUM>, a comparison unit <NUM>, an update management unit <NUM>, and a storage unit <NUM>.

The communication unit <NUM> communicates with the store server <NUM>. Such communication includes communication with the label printer <NUM> through the store server <NUM>. The communication unit <NUM> receives information such as manufacturing information, or arrival or shipment information from a computer of the manufacturing department or the warehouse, a sales, or the like, delivery information, the incident information <NUM>, and the update information <NUM>. The communication unit <NUM> receives information regarding function setting such as validation or invalidation of the function of the label printer <NUM> and information such as an update result of the program.

The comparison unit <NUM> performs function comparison processing when the incident information <NUM> or the update information <NUM> is written. Details of the function comparison processing will be described later. The processor <NUM> that realizes the comparison unit <NUM> is an example of a comparison unit.

The update management unit <NUM> performs program update processing on the server side, based on a comparison result obtained by the comparison unit <NUM>. Details of the program update processing on the server side will be described later. The processor <NUM> that realizes the update management unit <NUM> is an example of an update management unit.

The storage unit <NUM> stores the program such as the control program <NUM> executed by the processor <NUM>, and the data such as the parameter. The storage unit <NUM> stores information such as the terminal information <NUM> of each label printer <NUM>, the incident information <NUM>, and the update information <NUM>.

A flow of an application update of the label printer <NUM>, which is performed in the label printer system <NUM> according to the embodiment will be described below with reference to the drawings.

<FIG> is a sequence diagram illustrating an example of a flow of installation of the label printer <NUM> and function setting, which are performed in the label printer system <NUM> according to the embodiment.

First, in the manufacturing department, a label printer <NUM> (terminal) is manufactured (ACT <NUM>). In the manufacturing department, after the label printer <NUM> (terminal) is manufactured, "manufacturing information" is written in terminal information <NUM> of the terminal information management server <NUM> (ACT <NUM>). Such writing may be performed with, for example, a computer which is provided in the manufacturing department and is connected to the network <NUM>. The "manufacturing information" includes information such as a model name, a device number, a program version, a manufacturing date, and parts information.

The label printer <NUM> is stored in a warehouse from the manufacturing department (ACT <NUM>). In the warehouse, the label printer <NUM> is shipped to a sales (sales office) in response to an order (ACT <NUM>) from the sales that received an order (ACT <NUM>) of the label printer <NUM> from a customer (ACT <NUM>). In the warehouse, when the label printer <NUM> is received (ACT <NUM>) or shipped (ACT <NUM>), "arrival or shipment information" relating to the terminal is written in the terminal information <NUM> of the terminal information management server <NUM>. Such writing may be performed with, for example, a computer which is provided in the warehouse and is connected to the network <NUM>. The "arrival or shipment information" includes information such as a device number, an arrival date, and a shipment date.

In the sales, the shipped label printer <NUM> is delivered to a customer store (ACT <NUM>). At this time, in the sales, at least one function of each application installed on the label printer <NUM> is set to be validated or invalidated (ACT <NUM>). <FIG> is a schematic diagram illustrating an example of a display screen <NUM> displayed in the label printer <NUM> according to the embodiment. As illustrated in <FIG>, the display control unit <NUM> causes the display <NUM> to display the display screen <NUM> for setting validation or invalidation of at least one function of each application installed on the label printer <NUM>. In the sales or the customer store, with the display screen <NUM>, it is possible to check setting of the validation or invalidation of each function in the customer store or to set the validation or invalidation in response to a use or a not-use of the function in the customer store by using the touch panel <NUM> disposed on the display <NUM>. Here, in the display screen <NUM>, a function such as a label dispensing function and a discount dispensing function of dispensing a discount sticker is an example of at least one function of a printing application installed on the label printer <NUM>, for example.

In the sales, after the shipment and setting of the label printer <NUM>, "delivery information" relating to the terminal is written in the terminal information <NUM> of the terminal information management server <NUM> (ACT <NUM>). Such writing may be performed with, for example, a computer which is provided in the sales and is connected to the network <NUM>, and may be performed with the label printer <NUM> or the store server <NUM>. The "delivery information" includes information such as a delivery date, a customer name, a store name or location, a model name, a device number, a program version, and a customer use function.

The validation or invalidation of the function of the label printer <NUM> may be set by the customer (customer store). The setting may be performed in advance in accordance with the request of the customer before the delivery. In this case, a part of the "delivery information" may be written before the delivery. The setting may be changed at a desired timing after the delivery.

When the "delivery information" is written using the label printer <NUM>, the updating unit <NUM> in the label printer <NUM> validates or invalidates the function of the label printer <NUM> in response to an input of the user from the touch panel <NUM>. The storage unit <NUM> stores setting information indicating the validated or invalidated function. The communication unit <NUM> transmits the setting information stored in the storage unit <NUM> to the terminal information management server <NUM>. As described above, when the validated or invalidated function is changed, the communication unit <NUM> transmits information regarding the customer use function, which is included in the terminal information <NUM>, to the terminal information management server <NUM>.

Then, in the customer store, the operation of the label printer <NUM> is started (ACT <NUM>). When the power of the label printer <NUM> turns on (ACT <NUM>), the communication unit <NUM> checks the presence of a program for an update (update program) (ACT24). Specifically, the communication unit <NUM> checks whether or not the update program is stored in the program update folder <NUM> of the terminal information management server <NUM>. When there is no update program, the label printer <NUM> starts an operation in a general business mode (ACT <NUM>). After the operation in the business mode is started, if necessary, the label printer <NUM> receives a merchandise master from the store server <NUM> or the terminal information management server <NUM> and updates the merchandise master (PLU file <NUM>) stored in the storage unit <NUM>. A flow when there is an update program will be described later.

As described above, the terminal information management server <NUM> manages the terminal information <NUM> relating to each label printer (terminal) <NUM>. In the label printer (terminal) <NUM>, the presence of the update program is checked every time the power turns on.

<FIG> is a sequence diagram illustrating an example of a flow of a program update of the label printer <NUM>, which is performed in the label printer system <NUM> according to the embodiment. <FIG> is an example of a flow of a work performed when a situation occurs in which an incident or an update occurs for the label printer (terminal) <NUM> and thus the program of the label printer <NUM> is changed.

The incident or the update occurs for the label printer (terminal) <NUM> (ACT <NUM>). At this time, in the quality assurance department, incident information <NUM> or update information <NUM> is written in the terminal information <NUM> of the terminal information management server <NUM> (ACT <NUM>). Such writing may be performed with, for example, a computer which is provided in the quality assurance department and is connected to the network <NUM>. At this time, the communication unit <NUM> in the terminal information management server <NUM> receives the incident information <NUM> or the update information <NUM> from the quality assurance department. The storage unit <NUM> stores the received information.

After the incident information <NUM> or the update information <NUM> is received, the comparison unit <NUM> performs function comparison processing (ACT <NUM>). The function comparison processing is a process that the terminal information <NUM> (customer use function) indicating the validated or invalidated function among the plurality of functions of the application installed on the label printer (terminal) <NUM> is compared with a function updated by applying the update program among the plurality of functions of the application installed on the label printer (terminal) <NUM>, that is, by updating the application. Here, the update program is the incident response program of the incident response program version or the update response program of the update response program version. Although the description will be continued with an example of the flow when an incident occurs, the description will be similarly applied to a flow when an update occurs.

Specifically, the comparison unit <NUM> compares the program version of the terminal information <NUM> and the incident occurrence program version of the incident information <NUM> with each other. When the program versions are coincident with each other, the comparison unit <NUM> compares the incident occurrence function and the customer use function with each other. Here, the incident occurrence function is updated by applying the update program among a plurality of functions of the application realized by the update program.

When the incident occurrence function and the customer use function coincide with each other, the update management unit <NUM> performs program update processing on the server side (ACT <NUM>). The program update processing on the server side includes processing of determining whether or not the label printer (terminal) <NUM> is a target of applying the update program, based on the function comparison result obtained by the comparison unit <NUM>.

Specifically, when the incident occurrence function and the customer use function coincide with each other, that is, when the incident occurrence function in the label printer (terminal) <NUM> is validated, the update management unit <NUM> determines that the terminal is the target of applying the update program (application update). Therefore, when the incident occurrence function and the customer use function coincide with each other, the update management unit <NUM> stores the update program in the program update folder <NUM> for the terminal.

When the power of the label printer <NUM> turns on (ACT <NUM>), the communication unit <NUM> in the label printer <NUM> checks the presence of a program for an update (update program). When there is an update program, the communication unit <NUM> receives the update program from the program update folder <NUM> for the own terminal (ACT <NUM>). The updating unit <NUM> stores the received update program in the storage unit <NUM> and performs update processing on the terminal side, which is applied to the own terminal (ACT <NUM>). Then, the communication unit <NUM> notifies the terminal information management server <NUM> of an update result (ACT <NUM>). The communication unit <NUM> in the terminal information management server <NUM> receives the update result from the label printer <NUM> and updates the terminal information <NUM> of the terminal (ACT <NUM>). After the notification of the update result, the label printer <NUM> starts the operation in the general business mode (ACT <NUM>).

The flows in <FIG> and <FIG> are examples. At least two out of the manufacturing department, the warehouse, and the sales may be integrally operated. The above-described work of the program update may be performed for the label printer <NUM> before shipment.

In the embodiment, the case where the update program is distributed to the terminal determined to be the target of applying the update program, and the update program is applied to the terminal at a timing of power-on was described as an example. However, the disclosure is not limited to the above case. The label printer (terminal) <NUM> may not be able to secure a time to apply the update program at a step in which the presence of the update program is confirmed, for example, when the power turns on in preparation for starting a work before the business start. Also, the priority of the function may be low depending on the user. Therefore, the display control unit <NUM> may display a confirmation screen (display screen) on the display <NUM> in order for the user to confirm whether or not the update program is applied to the label printer <NUM> (terminal). As an example, the confirmation screen is a display screen on which the function to be updated is highlighted in the display screen showing, for example, the functions as illustrated in <FIG> and the valid or invalid state thereof. As another example, the confirmation screen is a display screen on which only the function to be updated is displayed. According to such a display screen, the user can determine whether or not to update the function in accordance with the priority and the like in a task of the target function. The confirmation screen may be a display screen for inquiring the user whether or not the program update is permitted and a timing of the program update. In this case, the user causes the update program to be applied. For example, the user can cause the update program to be applied when the power of the label printer <NUM> (terminal) turns off, for example, after the business.

In the embodiment, the case where, when the power turns on, the communication unit <NUM> in the label printer <NUM> checks the presence of the program for the update (update program) was described. However, the disclosure is not limited thereto. For example, the communication unit <NUM> may check the presence of the update program when the power turns off. For example, the communication unit <NUM> may check the presence of the update program at a timing corresponding to an operation of the user.

As an example, the update program is supplied to the label printer <NUM> (terminal) from the terminal information management server <NUM> (information processing apparatus) via the networks <NUM> and <NUM>. However, the disclosure is not limited thereto. The update program may be stored in the memory of the store server <NUM> from the terminal information management server <NUM> (information processing apparatus) via the network <NUM>, and then may be supplied to the label printer <NUM> (terminal) from the store server <NUM>.

Some or all the functions as the comparison unit <NUM>, the update management unit <NUM>, and the storage unit <NUM> may be realized in the store server <NUM>. The store server <NUM> and the terminal information management server <NUM> may be integrally configured. In these cases, the store server <NUM> can be expressed to be an example of the information processing apparatus.

Some of the functions as the comparison unit <NUM>, the update management unit <NUM>, and the storage unit <NUM> may be realized in the label printer <NUM>. In this case, the label printer <NUM> can be expressed to be an example of the information processing apparatus. The information processing apparatus according to the embodiment, which realizes some of the functions as the comparison unit <NUM>, the update management unit <NUM>, and the storage unit <NUM> may be installed on the label printer <NUM> (terminal).

In the embodiment, the case where the updated application (update program) is provided in order to replace the application (program) of the terminal in response to the function validated in the terminal was described. However, the disclosure is not limited thereto. The information processing apparatus according to the embodiment can provide a program (update program) for correcting the application (program) of the terminal in response to the function validated in the terminal. The information processing apparatus according to the embodiment can also provide setting information or a program for setting (update program) in order to change the function setting (validation or invalidation) in the terminal. Thus, it is possible to realize the response to stop (invalidate) the incident occurrence function, during, for example, the period from the occurrence of an incident until the incident response program is prepared.

As described above, for each label printer <NUM> (terminal) installed in a store, the information processing apparatus according to the embodiment determines whether or not the terminal is the target of applying the update program, based on the terminal information <NUM> of the terminal managed by the information processing apparatus.

According to the configuration, even though the setting or the version or the like of the applied program varies for each terminal, it is possible for a worker to determine whether or not the program update of a terminal is required, without checking the device number, the program version, or the like in the installation location of the terminal. It is also possible to eliminate the labor for the worker to manage the setting of a terminal, the version of the applied program, and the like, and a moving time for confirmation.

According to the configuration, a terminal in which the incident (update) occurrence function is invalidated can be excluded from the application of the update program. Generally, when the update program is applied, unexpected problems may occur. That is, it is possible to suppress an unnecessary application update and maintain an environment in which the terminal is stably operating, by not performing the application update relating to the function which is not used by the customer or by reducing the frequency of the update. The terminal such as the label printer <NUM> may be configured as an embedded device. Generally, in the embedded device, there is a demand for suppressing the memory capacity. That is, it is possible to suppress an unnecessary application update and suppress an increase in memory use due to the application of the update program, by not performing the application update relating to the function which is not used by the customer or by reducing the frequency of the update.

In the information processing system according to the embodiment, for the terminal determined to be the target of applying the update program, the information processing apparatus stores the update program in the program update folder <NUM> for this terminal. The terminal checks the presence of the update program, for example, at the timing at which the power turns on. When the terminal confirms the presence of the update program, the terminal updates the application of the own terminal by the update program. According to the configuration, regarding the terminal determined to be the target of applying the update program, it is possible to update the application of the terminal without the worker moving to the installation location or the worker designating a transmission destination and distributing the application.

According to the embodiment described above, it is possible to reduce a workload for updating a program of the terminal. The workload refers to, for example, man-hours and a work time required for each work. According to the embodiment, it is possible to reduce a mistake occurring in a determination or a work by a person. The reduction in mistake can suppress the generation of the extra workload.

The information processing apparatus of the embodiment includes a control device such as the CPU, a storage device such as the read only memory (ROM) and the RAM, an external storage device such as the HDD and a CD drive device, a display device, and an input device such as a keyboard and a mouse. The information processing apparatus has a hardware configuration using a general computer.

The control programs <NUM> and <NUM> executed by the information processing apparatus of the embodiment are recorded and provided in a computer readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, and a digital versatile disk (DVD) as files of an installable format or an executable format.

The control programs <NUM> and <NUM> executed by the information processing apparatus of the embodiment may be stored in a computer connected to a network such as the Internet and be provided by being downloaded via the network. In the embodiment, the control programs <NUM> and <NUM> executed by the information processing apparatus may be provided or distributed via a network such as the Internet.

The control programs <NUM> and <NUM> executed by the information processing apparatus of the embodiment may be incorporated in a ROM or the like in advance to be provided.

The control program <NUM> executed by the information processing apparatus of the embodiment has a module configuration including the above-described units (the communication unit <NUM>, the updating unit <NUM>, the storage unit <NUM>, the printing control unit <NUM>, and the display control unit <NUM>). The CPU (processor) reads the control program <NUM> from the storage medium and loads the above units on the main memory. Thus, the communication unit <NUM>, the updating unit <NUM>, the storage unit <NUM>, the printing control unit <NUM>, and the display control unit <NUM> are generated on the main memory.

The control program <NUM> executed by the information processing apparatus of the embodiment has a module configuration including the above-described units (the communication unit <NUM>, the comparison unit <NUM>, the update management unit <NUM>, and the storage unit <NUM>). The CPU (processor) reads the control program <NUM> from the storage medium and loads the above units on the main memory. Thus, the communication unit <NUM>, the comparison unit <NUM>, the update management unit <NUM>, and the storage unit <NUM> are generated on the main memory.

Claim 1:
An information processing apparatus (<NUM>) , comprising:
a storage unit (<NUM>) storing, for each of a plurality of terminals (<NUM>), terminal information (<NUM>) including customer use function and installed program version, wherein the customer use function indicating a function validated among a plurality of functions of an application installed on a terminal (<NUM>), and the installed program version indicating the version of the application installed on the terminal,
a communication unit (<NUM>) for receiving information (<NUM>, <NUM>) including an update function indicating a function to be updated by applying an update program of updating the application among the plurality of functions of the application, and an update program version indicating a version of the application,
a comparison component (<NUM>) configured to compare, for each of the plurality of terminals (<NUM>) , the installed program version with the update program version and, if the two program versions coincide, to perform a function comparison of comparing the update function with the customer use function, and
an update management component (<NUM>) configured to determine, for each of the plurality of terminals (<NUM>), whether or not the terminal is a target of applying the update program based on the function comparison result by the comparison component.