Abstract:
A bar code reader has an arrangement to communicate with a host apparatus. The bar code reader includes a read unit that reads a bar code attached to an article, and outputs bar code information corresponding to the read bar code; a term information acquisition unit that acquires term information included in the bar code information; and a term expiration check unit that checks whether the term of the article has expired based on the term information. A notification unit notifies that the term of the article has expired upon determination by the term expiration check unit that the term of the article has expired.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application is a Continuation of U.S. patent application Ser. No. 10/694,274 filed Oct. 29, 2003, which claims priority from Japanese Patent Application No. 2002-318510 filed Oct. 31, 2002 in the Japanese Patent Office, the disclosure of which is herein incorporated by reference. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates to technology for distributing load of a host apparatus in a POS (Point of Sale) system.  
         [0004]     2. Description of the Related Art  
         [0005]     Japanese Patent Application Laid-Open Nos. 5-054211, 8-329350, and 11-120240 disclose the conventional POS systems.  
         [0006]     One approach employed in the POS systems is to optically read a bar code attached to an article and obtain information about the article from a host computer based on the read bar code. The bar code is read with a bar code reader or a bar code scanner. The information, which contains characters, about the article includes name of the article, price of the article, information about expiry dates, if any, of the article.  
         [0007]      FIG. 7  is a block diagram of a conventional POS system. Bar code readers  10   1  to  10   n  are placed at various locations in the shop or the department store. These bar code readers  10   1  to  10   n  have an arrangement to optically read a bar code attached to an article. The read bar code information is transmitted to the host apparatus  20 .  
         [0008]     A bar code represents information in the form of black and white bars. The bar code readers have a laser diode to emit laser and scan the bar code with the laser, a light receiver to receive the light reflected from the bar code, signal converter to convert the received light to electric signal, and a means to convert the electric signal into the bar code information and send the bar code information to the host apparatus  20 .  
         [0009]     A storage containing a PLU file  30  is attached to the host apparatus  20 . This PLU file  30  contains information about all the articles (hereinafter, “article information”) in that particular shop or the department store. The article information includes name of the article, price of the article etc. The article information for an article is stored in correspondence with the bar code information of that article. Thus, when the host apparatus  20  receives a bar code information from any of the bar code reader  101  to  10   n , it retrieves the article information, and sends the article information to the bar code reader from where the bar code information was received.  
         [0010]     The storage containing a PLU file  30 , for example, stores term information, which represents a period until which the article can be sold or eaten (hereinafter, “the term of the article has expired”), in correspondence with the bar code information of that article. The host apparatus  20  has a timer which keeps an account of time, (for example, date, hour, and minute) when the bar code information is received (hereinafter, “current time”). When the host apparatus  20  receives a bar code information from a bar code reader, it retrieves the term information corresponding to that article and checks whether the current time is within the period represented in the term information. If the current time is later than the period represented in the term information, then the host computer  20  send a signal to the bar code reader from where the bar code information was received to display a warning on the display of that bar code reader.  
         [0011]     When an operator of the bar code reader sees such a warning on the display, it means that the term of the article has expired, and he/she performs a processing to cancel the purchase of the article.  
         [0012]     The bar code reader  10   n , for example, is a handy reader and can be used for the inventory of articles. In this case, the operator scans the bar code of an article to be displayed on shelves. As a result, the bar code information of that article is transferred from the bar code reader  10   n  to the host apparatus  20 . The host apparatus  20  compares the term information with the current time, and checks whether the term of the article has expired. If the term of the article has expired, the host apparatus  20  transmits a signal to the bar code reader  10   n  to display on the display of the bar code reader  10   n  that the term of the article has expired. When such warning is displayed on the display of the bar code reader  10   n , the operator does not place the article on the shelf.  
         [0013]     The conventional POS systems have a problem that, since only the host apparatus performs the retrieval of the article information and the term information and checking of whether the term of the article has expired, the host apparatus is always overload with work. In case of large-scale shops, there are over 100 bar code readers, and there is a huge load on the host apparatus  20 . A high-end machine may be used as the host apparatus  20  to solve the problem of the overload, but that results in cost increase.  
       SUMMARY OF THE INVENTION  
       [0014]     It is an object of the present invention to solve at least the problems in the conventional technology.  
         [0015]     A bar code reader according to one aspect of the present invention has an arrangement to communicate with a host apparatus in a POS system. The bar code reader includes a read unit that reads a bar code attached to an article, and outputs bar code information corresponding to the read bar code; a term information acquisition unit that acquires term information included in the bar code information; a term expiration check unit that checks whether the term of the article has expired based on the term information; and a notification unit that notifies that the term of the article has expired upon determination by the term expiration check unit that the term of the article has expired.  
         [0016]     A bar code read control method according to another aspect of the present invention is applied to a bar code reader having an arrangement to communicate with a host apparatus in a POS system. The method includes reading a bar code attached to an article, and outputting bar code information corresponding to the read bar code; acquiring term information included in the bar code information; checking whether a term of the article has expired based on the term information; and notifying that the term of the article has expired upon determination that the term of the article has expired.  
         [0017]     The other objects, features and advantages of the present invention are specifically set forth in or will become apparent from the following detailed descriptions of the invention when read in conjunction with the accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0018]     These and/or other aspects and advantages of the invention will become apparent and more readily appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings of which:  
         [0019]      FIG. 1  is a block diagram of a bar code reader according to one embodiment of the present invention;  
         [0020]      FIG. 2  illustrates in detail the contents of an error time information according to the embodiment;  
         [0021]      FIG. 3  explains various notification methods in the embodiment;  
         [0022]      FIG. 4  is a flowchart of operation of the bar code reader according to the embodiment;  
         [0023]      FIG. 5  is a flowchart of an year/month term check processing;  
         [0024]      FIG. 6  is a flowchart of an year/month/day term check processing; and  
         [0025]      FIG. 7  is a block diagram of a conventional POS system. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0026]     Exemplary embodiments of a bar code reader according to the present invention will be explained hereinafter in detail with reference to the drawings.  
         [0027]      FIG. 1  is a block diagram of a POS system according to an embodiment of the present invention. Bar code readers  100   1  to  100   n  are placed at various locations in a shop. These bar code readers have an arrangement to optically read bar codes attached to articles, and transmit the read information to a host apparatus  200 .  
         [0028]     The host apparatus  200  retrieves a PLU file  300  in which article information such as the name, the price and the like of the article is registered to correspond to the article code with pieces of the bar code information sequentially transmitted from each of the bar code readers  1001  to  100   n  used as a key whenever a bar code is scanned, and sends back the article information to the bar code reader that inquires the bar code information.  
         [0029]     In the conventional POS systems the check of whether the term of the article has expired is performed by the host apparatus  200 , however, in the present invention this check is performed by the bar code readers  1001  to  100   n .  
         [0030]     The types of bar codes used in the bar code readers  1001  to  100   n  include the following three types, for example:  
         [0031]     (1) Year/month/date bar code,  
         [0032]     (2) Year/month bar code, and  
         [0033]     (3) Time setting bar code.  
         [0034]     The (1) year/month/date bar code is a bar code obtained by coding six figures of year, month, and day (“ 021001 ” for Oct. 1, 2002) as article term information besides an article code. It is noted, however, actual term information has a month/year/day structure. Year/month/day bar codes of this type involve, for example, a space saving type RSS (Reduced Space Symbology)-Expand code.  
         [0035]     The (2) year/month bar code is a bar code obtained by coding four-figure year and month (“ 0210 ” for October 2002) as coupon term information (term of validation) used in article discount or the like in addition to an article code. Year/month bar codes of this type involve, for example, Format 2 and Format 4 of a coupon code.  
         [0036]     The (3) time setting bar code is a bar code for setting the date of a timer provided in each of the bar code readers  100   1  to  100   n . The types of the bar code are the following 10 types for incrementing or decrementing the year, month, day, hour and minute:  
         [0037]     (a) Year incremented bar code,  
         [0038]     (b) Month incremented bar code,  
         [0039]     (c) Day incremented bar code,  
         [0040]     (d) Hour incremented bar code,  
         [0041]     (e) Minute incremented bar code,  
         [0042]     (f) Year decremented bar code,  
         [0043]     (g) Month decremented bar code,  
         [0044]     (h) Day decremented bar code,  
         [0045]     (i) Hour decremented bar code, and  
         [0046]     (j) Minute decremented bar code.  
         [0047]     In the bar code reader  1001 , a laser diode  101  is controlled by a laser controller  102  to emit a scan laser beam. A polygon mirror  103  consists of a mirror finished surface member that reflects the laser beam from the laser diode  101 . The polygon mirror  103  is rotated by a motor  104  to change the reflection direction of the beam, thereby giving a plurality of types of scan patterns. A motor controller  105  controls the driving of the motor  104 .  
         [0048]     The laser beam reflected by the polygon mirror  103  is irradiated onto the black and white bars of a bar code  50  in a direction, for example, from a left end to a right end. The bar code  50  is the year/month/day bar code, year/month bar code or time setting bar code.  
         [0049]     A light receiving section  106  receives the reflection light irradiated on the bar code  50 , and converts the light into an electric signal having an amplitude according to the magnitude of the reflection light. An A/D (Analog/Digital) converter  107  digitally samples the photoelectric transfer signal (analog signal) from the light receiving section  106 , and converts the signal into a digital photoelectric transfer signal.  
         [0050]     A demodulator  108  demodulates the character pattern (character string) of the bar code based on the photoelectric transfer signal from the A/D converter  107 . The demodulator  108  also outputs a demodulation result as bar code information.  
         [0051]     A main controller  109  controls the respective constituent elements of the reader  1001 , and executes the term expiration check, the setting of the date of a timer  110 , a warning processing at the time of term expiration, and the like. The operation of this main controller  109  will be explained later in detail. The timer  110  has a timer function and momentarily outputs present date information corresponding to present year, month, day, time, and minutes. A battery  111  supplies backup power to the timer  110 .  
         [0052]     A memory  112  stores firmware executed by the main controller  109 , error time information and the like. The error time information is set so as to absorb the error of the timer  110  relative to absolute time, and used to absorb the error at the time of the term expiration check.  
         [0053]     For example, as shown in  FIG. 2 , if the error time information is set at 0 hour, i.e., the error of the timer  110  is 0, then the main controller  109  determines that a term does not expire before, for example, 0:00 a.m. of Sep. 15, 2002, and that the term expires after 0:00 a.m.  
         [0054]     If the error time information is set at two hours, i.e., the error of the timer  110  is less than two hours, then the main controller  109  determines that the term does not expire before, for example, 2:00 a.m. delayed by two hours from 0:00 a.m. of Sep. 15, 2002, and that the term expires after 2:00 a.m.  
         [0055]     Likewise, if the error time information is set at four hours, i.e., the error of the timer  110  is less than four hours, the main controller  109  determines that the term does not expire before, for example, 4:00 a.m. delayed by four hours from 0:00 a.m. of Sep. 15, 2002, and that the term expires after 4:00 a.m.  
         [0056]     An LED (Light Emitting Diode)  113  is a visual notification unit and an element that emits light of green, yellow or the like. The LED  113  is controlled by the main controller  109  to be turned on when the bar code is successfully read in a pattern shown in  FIG. 3 , a term expiration warning is issued, or the setting of the date to the timer  110  is completed.  
         [0057]     A speaker  114  is a visual notification unit. The speaker  114  is controlled to produce sound by the main controller  109  in interlock with the LED  113  when the bar code is successfully read in the pattern shown in  FIG. 3 , the term expiration warning is issued, or the setting of the date to the timer  110  is completed.  
         [0058]     A display  115  is a visual notification unit. The display  115  is controlled to make display by the main controller  109  in interlock with the LED  113  and the speaker  114  when the bar code is successfully read in the pattern shown in  FIG. 3 , the term expiration warning is issued, or the setting of the date to the timer  110  is completed.  
         [0059]     This display  115  is of, for example, such a type as to display alphanumeric letters by seven segments. A communication I/F (interface)  116  controls communication between the reader  1001  and the host apparatus  200  based on a predetermined communication protocol. The bar code readers  100   2  to  100   n  are equal in configuration to the bar code reader  100   1 .  
         [0060]     The operation of one embodiment will next be explained with reference to the flowcharts of FIGS.  4  to  6 . An example in which the bar code reader  1001  shown in  FIG. 1  reads a bar code and makes a term expiration check will be mainly explained.  
         [0061]     At step SA 1  shown in  FIG. 4 , the main controller  109  of the bar code reader  100   1  determines whether the light receiving section  106 , the A/D converter  107 , and the demodulator  108  have read the bar code  50 . In this example, the determination result is “No”, and this determination is repeated.  
         [0062]     If the time setting bar code is read as the bar code  50 , the main controller  109  gives a determination result of “Yes” at the step SA 1 . At step SA 2 , the main controller  109  determines whether the bar code  50  is a date setting bar code, and gives a determination result of “Yes” in this example.  
         [0063]     At step SA 5 , the main controller  109  executes a time setting processing for combining the bar codes (a) to (j), reading the combination, and setting a precise time (year, month, day, hour, and minute) to the timer  110 . At step SA 6 , the main controller  109  updates the date of the timer  110  to, for example, 09:00 of Oct. 2, 2002 based on the read bar code information.  
         [0064]     At step SA 7 , the main controller  109  notifies the LED  113 , the speaker  114 , and the display  115  of the completion of the time setting to the timer  110 , and then conducts the determination at the step SA 1 .  
         [0065]     If the year/month bar code is read as the bar code  50 , the main controller  109  gives a determination result of “Yes” at the step SA 1 , and then gives a determination result of “No” at the step SA 2 . At step SA 3 , the main controller  109  determines whether the bar code  50  is the year/month/day bar code, and gives a determination result of “No” in this example.  
         [0066]     At step SA 4 , the main controller  109  determines whether the bar code  50  is the year/month bar code, and gives a determination result of “Yes” in this example. At step SA 9 , the main controller  109  executes a year/month term expiration check processing.  
         [0067]     To be specific, at step SB 1  shown in  FIG. 5 , the main controller  109  acquires term information (year and month) from the bar code information read from the bar code  50  (year/month bar code in this example). At step SB 2 , the main controller  109  calculates a determined date based on which the term expiration check is conducted.  
         [0068]     In this example, the determined date is 0:00 a.m. on a day incremented by one month from the year and month of the term information acquired at the step SB 1 . For example, if the year and month of the term information is September 2002, the determined date is 0:00 a.m. of Oct. 01, 2002.  
         [0069]     At step SB 3 , the main controller  109  reads error time information (see  FIG. 2 ) from the memory  112 , adds error time acquired from the error time information to the determined date calculated at the step SB 2 , and sets the addition result as the determined date. If the error time is, for example, two hours, the determined date is 2:00 a.m. of Oct. 01, 2002.  
         [0070]     Referring back to  FIG. 4 , at step SA 10 , the main controller  109  acquires present date information from the timer  110 . At step SA 11 , the main controller  109  compares the determined date calculated at the step SB 3  (see  FIG. 5 ) with the present date acquired from the present date information.  
         [0071]     At step SA 12 , the main controller  109  determines whether the term of a coupon or the like set to the bar code  50  (year/month bar code) expires, i.e., whether the present date passes the determined time. If this determination result is “No”, the main controller  109  makes a determination at step SA 14 .  
         [0072]     In this example, the determination result at the step SA 12  is “Yes”. At step SA 13 , the main controller  109  notifies the LED  113 , the speaker  114 , and the display  115  of a term expiration warning as shown in  FIG. 3 .  
         [0073]     At the step SA 14 , the main controller  109  determines whether the bar code information read from the bar code  50  (year/month bar code) is to be transmitted to the host apparatus  200 . For example, if the term expires, the main controller  109  gives a determination result of “Yes” at the step SA 14 .  
         [0074]     At step SA 15 , the main controller  109  transmits the bar code information corresponding to the expired bar code  50  (year/month bar code) as well as information on the term expiration to the host apparatus  200  through the communication I/F  116 . As a result, the host apparatus  200  recognizes that the term of the year/month bar code expires. If the determination result at the step SA 14  is “No”, the main controller  109  makes the determination at the step SA 1 . Further, if a bar code other than the year/month/day bar code or the year/month bar code is read, the main controller  109  gives a determination result of “Yes” at the step SA 1 , and then gives a determination result of “No” at the step SA 2 . At the step SA 3 , the main controller  109  determines whether the bar code  50  is the year/month/day bar code, and gives a determination result of “No”. At the step SA 4 , the main controller  109  determines whether the bar code  50  is the year/month bar code, and gives a determination result of “No”. At the step SA 16 , the main controller  109  reports that reading is successful. At the step SA 17 , the main controller  109  transmits the bar code information to the host apparatus.  
         [0075]     If the year/month/day bar code is read as the bar code  50 , the main controller  109  gives a determination result of “Yes” at the step SA 1 , and then gives a determination result of “No” at the step SA 2 . At the step SA 3 , the main controller  109  determines whether the bar code  50  is the year/month/day bar code, and gives a determination result of “Yes” in this example.  
         [0076]     At step SA 8 , the main controller  109  executes a year/month/day term check processing. To be specific, at step SC 1  shown in  FIG. 6 , the main controller  109  acquires term information (year, month, and day) from the bar code information read from the bar code  50  (the year/month/day bar code in this example). At step SC 2 , the main controller  109  calculates the determined date based on which a term expiration check is conducted.  
         [0077]     In this example, the determined date is 0:00 a.m. on a day incremented by one day from the year, month, and day of the term information acquired at the step SC 1 . For example, if the year, month, and day of the date information is Sep. 15, 2002, the determined date is 0:00 a.m. of Sep. 16, 2002.  
         [0078]     At step SC 3 , the main controller  109  reads error time information (see  FIG. 2 ) from the memory  112 , adds the error time acquired from the error time information to the determined date calculated at the step SC 2 , and sets the addition result as the determined date. For example, if the error time is two hours, the determined date is 2:00 a.m. of Sep. 16, 2002.  
         [0079]     Referring back to  FIG. 4 , at the step SA 10 , the main controller  109  acquires present date information from the timer  110 . At the step SA 11 , the main controller  109  compares the determined date calculated at the step SC 3  (see  FIG. 6 ) with the present date obtained from the present date information.  
         [0080]     At the step SA 12 , the main controller  109  determines whether the term of the coupon or the like set to the bar code  50  (year/month/day bar code) expires, i.e., whether the present date passes the determined time. If this determination result is “No”, the main controller  109  makes the determination at the step SA 14 .  
         [0081]     In this example, the determination result at the step SA 12  is “Yes”. At the step SA 13 , the main controller  109  notifies the LED  113 , the speaker  114 , and the display  115  of a term expiration warning as shown in  FIG. 3 .  
         [0082]     At the step SA 14 , the main controller  109  determines whether the bar code information read from the bar code  50  (year/month/day bar code) is to be transmitted to the host apparatus  200 . For example, if the term expires, the main controller  109  gives a determination result of “Yes” at the step SA 14 .  
         [0083]     At the step SA 15 , the main controller  109  transmits the bar code information corresponding to the expired bar code  50  (year/month/day bar code) as well as information on the term expiration to the host apparatus  200  through the communication I/F  116 . As a result, the host apparatus  200  recognizes that the term of the year/month/day bar code expires. If the determination result at the step SA 14  is “No”, the main controller  109  makes the determination at the step SA 1 .  
         [0084]     As explained so far, according to the bar code reader of the embodiment, it is checked whether a term expires based on the term information acquired from the bar code information read by the light receiving section  106 , the A/D converter  107 , and the demodulator  108 . If the term expires, the expiration is notified to the LED  113 , the speaker  114 , and the display  115  (see  FIG. 2 ). Therefore, it becomes possible to distribute the load to the bar code readers and the host apparatus and thus reduce the load on the host apparatus.  
         [0085]     Furthermore, the term expiration is checked based on the comparison result of comparing the present date information obtained from the timer  110  with the determined date set in light of the error time information. Therefore, it is possible to compensate for the error of the timer  110 , and to improve term expiration check accuracy.  
         [0086]     Furthermore, if the date expires, the bar code information is transmitted to the host apparatus  200 . Therefore, the host apparatus  200  can grasp the result of the term expiration.  
         [0087]     Moreover, the date of the timer  110  is set using the time setting bar code as the bar code  50 . Therefore, it is possible to simplify a time setting operation.  
         [0088]     Thus, according to bar code reader of the present invention, it is possible to reduce the load on the host apparatus so that a high-end machine is not required. Moreover, it becomes possible to check accurately whether the term of the article has expired. Furthermore, even the host apparatus can keep an account of the articles whose term has expired. Moreover, the date can be set with easily.  
         [0089]     Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art which fairly fall within the basic teaching herein set forth.