Patent ID: 12223213

DESCRIPTION OF THE EMBODIMENTS

Hereafter, configurations for carrying out embodiments of the present disclosure are described using drawings.

The present embodiment will describe how to control notifications if notifying a user that there is a print job stored in an image forming apparatus. In particular, a notification control method will be described, the method notifying the user that there is a newly arrived print job if the user has not confirmed the print job since the print job was stored in the image forming apparatus, and not notifying the user that there is the newly arrived print job if the user has confirmed the print job after the print job was stored in the image forming apparatus. It should be noted that insignificant portions of the present disclosure are left in summary descriptions and detailed descriptions are omitted.

FIG.1illustrates a diagram showing an example of the configuration of the print system in the present embodiment of the present disclosure. InFIG.1, an information processing apparatus101may be connected to a network (LAN105). An image forming apparatus111may communicate with the information processing apparatus101via the LAN105. The image forming apparatus111is capable of printing print jobs received from the information processing apparatus101.

The LAN105may be wired or wireless. The information processing apparatus101and the image forming apparatus111may be communicably connected and may be communicably connected via USB, NFC, Bluetooth®, and the like.

FIG.2illustrates an example showing an internal configuration of a general information processing apparatus and showing an internal configuration of the information processing apparatus101shown inFIG.1. A CPU201performs information processing that controls the information processing apparatus101. A RAM202provides a work area for the CPU201. An auxiliary storage device203stores various control programs, and may be an HDD (Hard Disk Drive), an SSD (Solid State Drive), and the like. The CPU201performs various types of control by loading programs stored in the auxiliary storage device203into the RAM and executing the programs as needed.

An image display device204is used to notify a user of a message, and may be a CRT display, a liquid crystal display, and the like. A user command input device205is used for inputting user commands, and may be a mouse, a touch panel, a keyboard, and the like. A network interface card (NIC)206exchanges data with other network devices via a LAN220(corresponding to the LAN105shown inFIG.1). The CPU201, the RAM202, the auxiliary storage device203, the image display device204, the user command input device205, and the NIC206are connected to a main bus209.

FIG.3illustrates an example showing an internal configuration of the image forming apparatus111. A CPU301performs information processing that controls the image forming apparatus111. A RAM302provides a work area for the CPU301and temporarily stores data. An auxiliary storage device303stores various control programs and data, and may be an HDD, an SSD, and the like. The auxiliary storage device303may be used for the temporary storage of data instead of the RAM302.

An image display device304may be a liquid crystal display with a touch panel and the like, and is used to display status of the image forming apparatus111, error messages, and the like. A user command input device (touch panel and the like)305is used for specifying desired print jobs and the like via the user operation. An MC306is used to exchange data bidirectionally with other network devices via a LAN320(corresponding to the LAN105shown inFIG.1).

A printer device307is used for printing scanned image data and image data received from other network devices via the NIC306on sheets. A scanner device308scans paper documents placed on a platen to generate monochrome (binary) image data, multi-colored image data, and the like. The image data scanned by the scanner device308may be printed by the printer device307and the image data may be stored in the auxiliary storage device303and printed at any time.

A DSU (Digital Service Unit)310is connected to a digital communication line330and used for data transmission and reception. An NCU (Network Control Unit)312is connected to an analog communication line340for opening and closing the line, controlling incoming and outgoing calls, and transmitting and receiving image data (analog image data). A modem311modulates and demodulates transmitted and received data. A timer313performs time management.

FIG.4Aillustrates an example showing the software configuration of the information processing apparatus101. Software400is a software module that is realized and operated by the CPU201reading and executing a program stored in the auxiliary storage device203or the like into the RAM202as required.

The software400includes an optional application401and a printer driver402. The optional application401is a tool such as creating and editing an image or document by using the user command input device205such as a pointing device or a keyboard while viewing the image display device204of the information processing apparatus101. The printer driver402is software for converting images and documents created by the optional application401into a format that can be interpreted by the image forming apparatus111.

FIG.4Billustrates an example showing the software configuration of the image forming apparatus111. Software500is a software module that is realized and operated by the CPU301reading and executing a program stored in the auxiliary storage device303into the RAM302.

The software500includes a job storage unit501, a job management unit502, a job display unit503, a job notification unit504, and a user authentication unit505. The job storage unit501receives a print job700received by the NIC306from the information processing apparatus101and stores the print job700in the auxiliary storage device303as a print job700including a format shown inFIG.6.

The job management unit502analyzes the print job700input from the information processing apparatus101, stores and manage it in the auxiliary storage device303. The job management unit502is used to print the print jobs stored in the auxiliary storage device303using the printer device307. The job display unit503displays the print jobs stored in the auxiliary storage device303by the image forming apparatus111on the image display device304.

The job notification unit504analyzes the print jobs stored in the auxiliary storage device303, determines whether or not there is information to be notified to the user, and controls the display of the determined information to be notified in the image display device304. The user authentication unit505identifies the user who uses the image forming apparatus111.

FIG.5illustrates a sequence diagram showing the outline of the processing of the information processing apparatus101and the image forming apparatus111if the user transmits a print job from the information processing apparatus101to the image forming apparatus111. The information processing apparatus101operates based on the software400. Also, the image forming apparatus111operates based on the software500.

The user instructs the information processing apparatus101to perform printing via the optional application401(step S601). In response to the user instruction in step S601, the information processing apparatus101generates the print job700using the printer driver402from the data created by the optional application401(step S602). Next, the information processing apparatus101transmits the print job700to the image forming apparatus111via the NIC206(step S603). Upon receiving the print job700, the image forming apparatus111stores the received print job700in the auxiliary storage device303(step S604).

FIG.6illustrates an example showing the print job generated by the information processing apparatus101. The print job700includes a print job name701, a user ID702, print settings703, and print data704. The print job name701represents a name of the print job. The user ID702identifies the user who generated the print job. The print settings703indicate print information such as single-sided/double-sided, number of copies to be printed, color mode, and the like. The print data704includes bitmaps, rectangular data, and the like, for generating image data when printing. The job management unit502of the image forming apparatus111interprets the print job700and can print the print data704using the printer device307by applying the print settings703.

FIG.7illustrates a flowchart showing an example of the details of the process (step S604inFIG.5) in which the image forming apparatus111stores the print job700in the auxiliary storage device303. The processing of the flowchart is realized by the CPU301reading and executing a program corresponding to the software500stored in the auxiliary storage device303or the like into the RAM302.

If the job management unit502receives the print job700(step S802), the process proceeds to step S803. In step S803, the job management unit502analyzes the print job name701, the user ID702, the print settings703, and the print data704using the print job700.

In step S810, the job management unit502determines whether or not the analysis of the print job700in step S803has been successful. If the analysis of the print job700in step S803fails (No in step S810), the job management unit502cancels the job storage processing and terminates the processing of the flowchart (step S809). It should be noted that the analysis of the print job700fails in step S803, for example, if the data of the received print job700is corrupted or the print data704included in the print job700is formed in an unsupported data format.

On the other hand, if the analysis of the print job700in step S803is successful (Yes in step S810), the job management unit502advances the process to step S804. In step S804, the job management unit502generates print job information900as shown inFIG.8from the analysis result in step S803.

The job management unit502sets a printed flag903of the print job information900to OFF (step S805), sets a print job notification flag904to ON (step S806), and adds the print job information900to a stored print job list1000as shown inFIG.9(step S807). Then, in step S808, the job management unit502stores the print job700in the auxiliary storage device303and terminates the processing of the flowchart (step S809).

FIG.8illustrates an example showing the print job information900. The print job information900includes a user ID901, a print job name902, a printed flag903, a print job notification flag904, print settings905, storing date and time906, and a storing location907. The user ID901corresponds to the user ID702included in the print job700. The print job name902corresponds to the print job name701included in the print job700. The print settings905corresponds to the print settings703included in the print job700.

The printed flag903is information indicating whether or not the print job700has been printed. In the present embodiment, the printed flag903is represented as ON if the print job700has been printed, and represented as OFF if the print job700has not been printed. At the time when the print job700is received inFIG.7, the printed flag903is OFF. That is, the printed job can be identified by the printed flag903.

The print job notification flag904is a flag for determining whether or not to notify the user that there is a print job. In the present embodiment, the print job notification flag904is represented as ON if notifying the user, and represented as OFF if not notifying the user. At the time when the print job700is received inFIG.7, the print job notification flag904is ON. That is, the print job (in the present embodiment, a user-unconfirmed print job) to be notified to the user can be identified by the print job notification flag904.

The storing date and time906is information of date and time indicating when the job storage unit501stored the print job700in the auxiliary storage device303. The storing location907indicates a location storing the print job700in the auxiliary storage device303.

FIG.9illustrates a diagram showing an example of the stored print job list. For example, a stored print job list1000is stored in the auxiliary storage device303. The stored print job list1000is data for managing a list of the print job information900generated when the job storage unit501stores the print jobs in the auxiliary storage device303.

The stored print job list1000includes a user ID1001, a print job name1002, a printed flag1003, a print job notification flag1004, print settings1005, storing date and time1006, and a storing location1007. The user ID1001corresponds to the user ID901in the print job information900. The print job name1002corresponds to the print job name902in the print job information900. The printed flag1003corresponds to the printed flag903in the print job information900. The print job notification flag1004corresponds to the print job notification flag904in the print job information900. The print settings1005correspond to the print settings905in the print job information900. The storing date and time1006corresponds to the storing date and time906in the print job information900. The storing location1007corresponds to the storing location907in the print job information900. The stored print job list1000manages the stored print jobs of all users in the present embodiment, but the stored print job list1000may separately manage each user ID.

FIG.10illustrates an example showing a user authentication screen displayed by the software500of the image forming apparatus111. The user authentication screen is displayed on the image display device304. In the user authentication screen1100, the user enters an ID1101and a password1102, and presses a login button1104to request user authentication to the user authentication unit505. The user authentication unit505performs user authentication based on the information entered on the user authentication screen1100and performs processing according to a result of the user authentication. Detailed descriptions of the user authentication process are omitted.

FIG.11illustrates a flowchart showing the processing of the image forming apparatus111based on the software500if the user authentication using the user authentication screen1100is successful. The processing of the flowchart is realized by the CPU301reading and executing a program corresponding to the software500stored in the auxiliary storage device303or the like into the RAM302.

Upon successful user authentication, the image forming apparatus111starts processing the flowchart (step S1201). In step S1202, the image forming apparatus111acquires authenticated user information from the user authentication unit505and identifies the authenticated user.

In step S1203, the job notification unit504performs registration processing of notification information shown inFIG.13, which will be described later. Further, in step S1204, the job notification unit504displays a top screen1300as shown inFIG.12. In step S1206, the job notification unit504performs display processing of the notification information shown inFIG.15A, which will be described later, and terminates processing of the flowchart (step S1206).

FIG.12illustrates a diagram showing an example of the top screen1300displayed on the image display device304of the image forming apparatus111for operating the image forming apparatus111if the user authentication is successful via the user authentication screen1100.

Function buttons1301to1305are buttons for using functions provided by the image forming apparatus111. A button1306is a button for instructing a screen transition when the user wants to display the top screen while any screen is displayed.

A notification information display area1308is an area for displaying information to be notified to the user and is used for notifying that there is a print job or displaying a history of executed print jobs in a timeline. Notification1307shows an example of notification when there is a newly arrived job in the authentication print function.

FIG.13illustrates a flowchart showing a registration processing of notification information1500to be notified to the notification information display area1308by the job notification unit504(for example, step S1203inFIG.11). The processing of the flowchart is realized by the CPU301reading and executing a program corresponding to the software500stored in the auxiliary storage device303or the like into the RAM302.

In the flowchart, the registration process of the notification information1500starts in step S1401. Note that the notification information1500is information to be displayed in the notification information display area1308shown inFIG.12, and the details will be described later inFIG.14. In step S1402, the job notification unit504refers to the stored print job list1000and acquires the print job information of the login user.

In step S1403, the job notification unit504initializes a variable N for the repetition processing with 1 and initializes the number of notification print jobs M with 0. In step S1404, the job notification unit504determines whether or not there is an N-th print job information of the login user acquired in step S1402. If there is the N-th print job information of the login user (Yes in step S1404), the job notification unit504advances the process to step S1405.

In step S1405, the job notification unit504determines whether or not a notification method1700is specified as “notification of newly arrived print job”. Note that the notification method1700can be specified from a screen as shown inFIG.15Aand details will be described with reference toFIG.15AandFIG.15B. If the notification method1700is specified as “notification of newly arrived print job” (Yes in step S1405), the job notification unit504advances the process to step S1406. In step S1406, the job notification unit504confirms the print job notification flag1004of the N-th print job.

In step S1407, the job notification unit504determines whether or not the print job notification flag1004of the N-th print job confirmed in step S1406indicates “ON”. If the print job notification flag1004of the N-th print job indicates “OFF” (No in step S1407), the job notification unit504increments the variable N in the repetition processing table (step S1409) and the process returns to step S1404.

On the other hand, if the print job notification flag1004of the N-th print job indicates “ON” (Yes in step S1407), the job notification unit504advances the process to step S1408. In step S1408, the job notification unit504increments the number of notification print jobs M. Further, in step S1409, the job notification unit504increments the variable N in the repetition processing table and the process returns to step S1404.

If the notification method1700specifies “notification of unprinted print job” (No in step S1405), the job notification unit504advances the process to step S1410. In step S1410, the job notification unit504confirms the printed flag1003of the N-th print job.

Then, in step S1411, the job notification unit504determines whether or not the printed flag1003of the N-th print job confirmed in step S1410indicates “OFF”. If the printed flag1003of the N-th print job indicates “ON” (No in step S1411), the job notification unit504increments the variable N of the repetition processing table (step S1409) and the process returns to step S1404.

On the other hand, if the printed flag1003of the N-th print job indicates “OFF” (Yes in step S1411), the job notification unit504advances the process to step S1412. In step S1412, the job notification unit504increments the number of notification print jobs M. Further, in step S1409, the job notification unit504increments the variable N of the repetition processing table and the process returns to step S1404.

If there is no N-th print job information (No in step S1404), the job notification unit504advances the process to step S1413. In step S1413, the job notification unit504determines whether or not the number of notification print jobs M is 1 or more. If the number of notification print jobs M is 0 (No in step S1413), the job notification unit504terminates the processing of the flowchart (step S1415).

On the other hand, if the number of notification print jobs M is 1 or more (Yes in step S1413), the job notification unit504advances the process to step S1414. In step S1414, the job notification unit504generates the notification information1500, registers the notification information1500in the system as notification information or updates the system, and terminates the processing of the flowchart (step S1415).

FIG.14illustrates an example showing the notification information registered and updated by the job notification unit504in step S1414ofFIG.13. A notification title1501of the notification information1500indicates a function name provided by the image forming apparatus111in the present embodiment. A notification message1502indicates information to notify the user. In the example shown inFIG.14, the notification title1501is “authentication print” and the notification message1502includes “there is a newly arrived print job” and “number of print jobs: 1”. The notification information1500is displayed by the job notification unit504in the notification information display area1308and may include two or more pieces of information.

FIG.15Aillustrates an example showing a notification method specification screen for specifying the notification method to be notified to the user by the job notification unit504. A notification method specification screen1600includes a radio button1601, a radio button1602, a close button1603, and an OK button1604. The radio button1601controls to specify “notify newly arrived print job”. The radio button1602controls to specify “notify unprinted print job”. Only one of the radio buttons1601and1602can be selected.

If the user selects the radio button1601to specify “notify newly arrived print job”, the print job for which the print job information has not been displayed is set as a target of notification by the job notification unit504. If the user selects the radio button1602to specify “notify unprinted print job”, the print job of which the print job information has not been printed is set as a target of notification by the job notification unit504.

The close button1603controls to close the screen without reflecting content specified in the notification method specification screen1600. The OK button1604controls to store content specified on the notification method specification screen1600as the notification method1700as shown inFIG.15Bin the auxiliary storage device303or the RAM302of the image forming apparatus111. The notification method1700can be referred to by the software500at any time.

FIG.15Billustrates an example showing information for storing the notification method specified via the notification method specification screen1600. The notification method1700stores and manages “notify newly arrived print job” or “notify unprinted print job” as a notification method. The notification method1700can be specified via the notification method specification screen1600, and it is assumed that one of the values indicating the method of “notify newly arrived print job” or “notify unprinted print job” is specified as a default setting.

In the present embodiment, if the notification method1700is “notify newly arrived print job” and there is a print job that has not been confirmed by the user since the print job700was saved, the job notification unit504notifies the user that there is a print job. That is, the job notification unit504notifies the user of only the existence of print jobs that have not been confirmed by the user. If the notification method1700is specified as “notify unprinted print job” and there is a print job that has not been printed since the print job700was saved, the job notification unit504notifies the user that there is a print job. That is, the job notification unit504notifies the user of only the existence of print jobs that have not been printed by the user.

FIG.16illustrates a flowchart showing details of the display processing of notification information after the successful user authentication shown inFIG.11(step S1205inFIG.11). The processing of the flowchart is realized by the CPU301reading and executing a program corresponding to the software500stored in the auxiliary storage device303or the like into the RAM302.

If the job notification unit504is instructed to display the notification information, the processing of the flowchart starts (step S1801). In step S1802, the job notification unit504acquires the notification information1500of the login user. Note that the notification information1500is registered by the registration process of the notification information inFIG.13.

In step S1803, the job notification unit504determines whether or not there is the notification information1500. If there is no notification information1500(No in step S1803), the job notification unit504terminates the processing of the flowchart (step S1805).

On the other hand, if there is the notification information1500(Yes in step S1803), the job notification unit504advances the process to step S1804. In step S1804, the job notification unit504displays the notification information1500in the notification information display area1308as shown inFIG.12, and terminates the processing of the flowchart (step S1805).

FIG.17illustrates a diagram showing an example of a screen for a user to use an authenticated print function in the image forming apparatus111. If the user presses the authentication print button1305or the notification1307of the notification information display area1308on the top screen1300as shown inFIG.12, the job display unit503displays an authentication print screen1900.

The authentication print screen1900includes an unprinted tab1901, a printed tab1902, a display are1903, a delete button1904, a print button1905, and scroll buttons1910. The unprinted tab1901controls to display unprinted print jobs. The printed tab1902controls to display printed print jobs. The display area1903is an area (area for displaying a job list) where information (job information) of print jobs is displayed in a scrollable list. In the display area1903, the user can scroll the screen by operating the scroll buttons1910to confirm the entire list of job information.

If the unprinted tab1901is selected, the job display unit503acquires, from the stored print job list1000, and displays information of the print job in which the login user matches the user ID1001and the printed flag1003indicates “OFF” in the display area1903. If the printed tab1902is selected, the job display unit503acquires, from the stored print job list1000, and displays information of the print job in which the login user matches the user ID1001and the printed flag1003indicates “ON” in the display area1903.

The delete button1904deletes the print job selected in the display area1903. The print button1905prints the print job selected in the display area1903.

FIG.18illustrates a flowchart showing the processing performed if the job display unit503displays the authentication print screen1900. The processing of the flowchart is realized by the CPU301reading and executing a program corresponding to the software500stored in the auxiliary storage device303or the like into the RAM302.

If the user presses the authentication print button1305or the notification1307in the notification information display area1308of the top screen1300, the processing of the flowchart starts (step S2001).

In step S2002, the job display unit503acquires job information from the stored print job list1000, in which the login user matches the user ID1001. In step S2003, the job display unit503determines whether or not there is print job information of the login user. If there is no print job information for the login user (No in step S2003), the job display unit503terminates the processing of the flowchart (step S2007).

On the other hand, if there is job information of the login user (Yes in step S2003), the job display unit503advances the process to step S2004. In step S2004, the job display unit503displays the print job information in the display area1903.

In step S2005, the job notification unit504overwrites the print job notification flag1004of the print job information displayed by the job display unit503to “OFF”. At this time, only the print job notification flag1004of the print job information displayed in a visible manner by the user shall be turned to “OFF”. That is, with respect to the print job information that can be viewed only by scrolling the display area1903by operating the scroll button1910, the print job notification flag1004shall be turned to “OFF” if the print job information becomes visible by scrolling.

In step S2006, the job notification unit504performs the registration processing of the notification information shown inFIG.13and terminates the processing of the flowchart (step S2007).

As described above, by performing the registration processing of notification information in step S2006, the job notification unit504can manage the notification information1500in the latest state. In the present embodiment, the print job notification flag1004is set to “OFF” if the print job information is displayed in the display area1903, but the print job notification flag1004may be set to “OFF” if the information is displayed on the top screen1300as shown in the example of notification1307.

In step S2005, only the print job notification flag1004of the print job information displayed in the display area1903is overwritten to “OFF”, but the print job notification flag1004of all the print job information may be overwritten to “OFF”. In other words, the print job notification flag1004may be turned to “OFF” at the timing of step S2005for the print job information that is not visible at the timing of step S2005but becomes visible only by scrolling the display area1903by operating the scroll button1910. This processing is described below with reference toFIG.20.

Another Embodiment for the Display Processing of the Print Job List

FIG.20illustrates a flowchart showing other examples of processing if the job display unit503displays the authentication print screen1900. The processing of the flowchart is realized by the CPU301reading and executing a program corresponding to the software500stored in the auxiliary storage device303or the like into the RAM302.

The processing shown inFIG.20includes step S2305instead of step S2005ofFIG.18. Steps52301to S2304and S2306are the same processing as steps S2001to S2004and S2006shown inFIG.18, so their descriptions are omitted. In step S2305, the job notification unit504overwrites the print job notification flag1004of all the print job information of the login users to “OFF”.

FIG.19Aillustrates a flowchart showing the processing if the user selects a print job and presses the print button1905on the authentication print screen1900. The processing of the flowchart is realized by the CPU301reading and executing a program corresponding to the software500stored in the auxiliary storage device303or the like into the RAM302.

If the user selects the print job and presses the print button1905on the authentication print screen1900, the processing of this flowchart starts (step S2101). In step S2102, the job management unit502prints the selected print job using the printer device307of the image forming apparatus111.

In step S2103, the job notification unit504turns the printed flag1003corresponding to the print job printed in step S2102to “ON”. In step S2105, the job notification unit504performs the registration processing of the notification information shown inFIG.13and terminates the processing of the flowchart (step S2105). As described above, by performing the registration processing of notification information in step S2104, the job notification unit504can manage the notification information1500in the latest state.

FIG.19Billustrates a flowchart showing the processing if the user selects the print job and presses the delete button1904on the authentication print screen1900. The processing of the flowchart is realized by the CPU301reading and executing a program corresponding to the software500stored in the auxiliary storage device303or the like into the RAM302.

If the user selects the print job and presses the delete button1904on the authentication print screen1900, the processing of this flowchart starts (step S2201). In step S2202, the job management unit502deletes the selected print job from the auxiliary storage device303of the image forming apparatus111.

In step S2203, the job management unit502deletes the print job information of the print job deleted in step S2202from the stored print job list1000. In step S2204, the job notification unit504performs the registration processing of the notification information shown inFIG.13and terminates processing of this flowchart (step S2205). As described above, by performing the registration processing of notification information in step S2204, the job notification unit504can manage the notification information1500in the latest state.

Thus, it is possible to notify the user that there is a newly arrived print job only if there is a print job that has not been confirmed by the user since the print job was stored in the image forming apparatus. The notification conditions can also be changed to notify the user that there is a print job that has not been printed only when there is a print job that has not been printed by the user since the print job was stored in the image forming apparatus.

As described above, the present embodiment notifies the user that there is a print job only if the retained print job has a new arrival status that the user has never confirmed. Thus, in the retained print system, the user can be efficiently notified that there is a retained print job. That is, the user can recognize that there is a print job only if there is an unconfirmed print job. In this way, a print job that has been confirmed once is not displayed as notification information (the notification1307) even if the print job is not printed so that the user does not have to make a useless confirmation, which improves usability.

Therefore, it becomes possible for the user to effectively notify the user that there is an unconfirmed print job without over-notification or under-notification, thereby reducing the annoyance caused by over-notification and improving usability.

According to the above-described embodiment, it becomes possible for the user to effectively notify the user that there is an unconfirmed print job without over-notification or under-notification, thereby reducing the annoyance caused by over-notification and improving usability. As a result, the user can recognize that there is a print job only if there is an unconfirmed print job.

Other Embodiments

Embodiment(s) of the present disclosure can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.

While the present disclosure includes exemplary embodiments, it is to be understood that the disclosure is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.