Patent Publication Number: US-8983862-B2

Title: Initiating a service call for a hardware malfunction in a point of sale system

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The field of the invention is data processing, or, more specifically, methods, apparatus, and products for initiating a service call for a hardware malfunction in a Point Of Sale (‘POS’) system. 
     2. Description of Related Art 
     The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely complicated devices. Today&#39;s computers are much more sophisticated than early systems such as the EDVAC. Computer systems typically include a combination of hardware and software components, application programs, operating systems, processors, buses, memory, input/output devices, and so on. As advances in semiconductor processing and computer architecture push the performance of the computer higher and higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems and networks today that are much more ubiquitous and powerful than just a few years ago. 
     One of the most prevalent uses of these powerful computer systems and networks is for Point Of Sale (‘POS’) systems in retail establishments such as, for example, stores, restaurants, hotels, stadiums, casinos, and so on. Modern POS systems typically include one or more POS terminals connected to a POS controller that aggregates and administers POS transaction data. Each POS terminal is typically located on a checkout counter and used by an operator to complete customer sales. Each POS terminal is a computing device that typically includes a cash register, check/debit card/credit card reader, bar code reader or radio frequency identification (‘RFID’) chip reader, and so on. The POS terminals communicate over a network to various external transaction systems such as, for example, credit card processing systems, debit card processing systems, check processing systems, and so on. 
     Occasionally, the POS controllers or the POS terminals experience malfunctions due to software or hardware errors. Currently, however, no automated mechanism exists to identify whether the errors resulted from a software malfunction or a hardware malfunction. As such, a technician must manually examine any error data to identify whether the error is a software error or a hardware error and manually forward the error to the appropriate service group capable of diagnosing the error and fixing the malfunction. The process of manually examining the error data and forwarding the error data to the appropriate service group often adds significantly to the amount of time required to repair the malfunction. The delays in repairing the malfunction are typically costly to the retail establishment in terms of lost sales, customer satisfaction, decreased productivity, and so on. 
     SUMMARY OF THE INVENTION 
     Methods, apparatus, and products are disclose for initiating a service call for a hardware malfunction in a Point Of Sale (‘POS’) system, the POS system having one or more POS controller domains, each POS controller domain composed of a POS controller and one or more POS terminals, the POS controller operatively coupled to a service dispatcher for a hardware service provider through a data communications connection, that include: detecting, by a POS operating system installed on the POS controller, a hardware error within the POS controller domain, the hardware error described by hardware error data; notifying, by the POS operating system, an on-site system administrator of the detected hardware error in dependence upon the hardware error data; generating, by the POS operating system, a service request message in dependence upon the hardware error data; and transferring, by the POS operating system, the service request message to the service dispatcher, the service dispatcher initiating a service call by the hardware service provider. 
     The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular descriptions of exemplary embodiments of the invention as illustrated in the accompanying drawings wherein like reference numbers generally represent like parts of exemplary embodiments of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  sets forth a functional block diagram of an exemplary system capable of initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. 
         FIG. 2  sets forth a block diagram of automated computing machinery comprising an exemplary POS controller useful in initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. 
         FIG. 3  sets forth a flow chart illustrating an exemplary method of initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS 
     Exemplary methods, apparatus, and products for initiating a service call for a hardware malfunction in a POS system in accordance with the present invention are described with reference to the accompanying drawings, beginning with  FIG. 1 . 
       FIG. 1  sets forth a functional block diagram of an exemplary system capable of initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. The exemplary system of  FIG. 1  includes a merchandise store ( 100 ) and a hardware service provider ( 122 ). The merchandise store ( 100 ) of  FIG. 1  includes a POS system ( 102 ), and the hardware service provider ( 122 ) of  FIG. 1  provides repair and maintenance services for the hardware of the merchandise store&#39;s POS system ( 102 ). The merchandise store ( 100 ) of  FIG. 1  may be implemented as a grocery store, a hardware store, retail store, wholesale stores, or any other establishment for selling merchandise using a POS system as will occur to those of skill in the art. 
     In the exemplary system of  FIG. 1 , the POS system ( 102 ) includes two POS controller domains ( 116 ) connected together for data communications through a local area network (‘LAN’) ( 103 ). A POS controller domain is composed of a POS controller and the POS terminals controlled by that POS controller. In general, the POS devices in a POS controller domain are managed by the POS controller in that POS controller domain. In the example of  FIG. 1 , POS controller domain ( 116   a ) is composed of POS controller ( 112   a ) and POS terminals ( 118   a - c ). The POS controller domain ( 116   b ) of  FIG. 1  is composed of POS controller ( 112   b ) and POS terminals ( 118   d - f ). 
     Each exemplary POS terminal ( 118 ) of  FIG. 1  is a computing device used by store employees to complete transactions for customers at a checkout counter. Each POS terminal ( 118 ) of  FIG. 1  may include user input devices such as, for example, a keyboard, touch screen, microphone, and so on. Each POS terminal ( 118 ) may also include a scanner capable of identifying purchase items using a barcode, RFID tag, or any other technology as will occur to those of skill in the art. Examples of POS terminals that may be improved for initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention include Toshiba&#39;s ST-7000 Modular POS Terminal, IBM&#39;s SurePOS™ 700 series of POS terminals, NCR&#39;s 7452-3500 POS terminal, and so on. 
     Each POS controller ( 112 ) of  FIG. 1  is a computing device that manages one or more POS terminals, typically through specialized software installed on a computer server. Each POS controller ( 112 ) of  FIG. 1  aggregates and administers POS transaction data received from and provided to each of the POS terminals in the POS controller domain controlled by that POS controller. In the example of  FIG. 1 , each POS controller ( 112 ) may serve as a gateway through which all POS transaction data in each controller&#39;s respective domain passes before being processes by other external payment processing systems such as, for example, check processing systems, debit card processing systems, credit card processing systems, and so on. In other embodiments, however, each POS terminal may communicate through a network directly with various external payment processing systems and provide the results of those communications for storage and processing to the respective POS controller that manages that POS terminal. 
     In the example of  FIG. 1 , each POS controller ( 112 ) has installed upon it a POS operating system ( 114 ). Each POS operating system ( 114 ) of  FIG. 1  is specialized system software for managing each POS controller ( 112 ) and its corresponding POS terminals ( 118 ) in a POS system. An example of a POS operating system that may be useful in initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention may include the IBM 4690 operating system. The IBM 4690 operating system is a retail-focus computer operating system that much resembles DOS in interface and interaction. This proprietary operating system is offered by IBM to retail customers for operating its Supermarket Application (‘SA’)®, General Sales Application (‘GSA’)®, Chain Drug Sales Application (‘CDSA’)®, and ACE® retail platforms is based off the Flex OS, originally developed by Digital Research. Though the IBM 4690 operating system resembles DOS, much of its internal functions and behavior are much like the commercial UNIX™ operating systems. 
     In the example of  FIG. 1 , each POS operating system ( 114 ) operates generally for initiating a service call for a hardware malfunction in the POS system ( 102 ) according to embodiments of the present invention. Each POS operating system ( 114 ) of  FIG. 1  operates generally for initiating a service call for a hardware malfunction in the POS system ( 102 ) according to embodiments of the present invention by: detecting a hardware error within the POS controller domain ( 116 ), the hardware error described by hardware error data; notifying an on-site system administrator ( 120 ) of the detected hardware error in dependence upon the hardware error data; generating a service request message in dependence upon the hardware error data; and transferring the service request message to a service dispatcher ( 124 ), the service dispatcher ( 124 ) initiating a service call by the hardware service provider ( 122 ). Readers will note that a hardware error is an error whose root cause is a malfunctioning hardware component. For example, a hardware error may be caused by a malfunctioning memory controller, processor, memory module, bus, adapter, and so on. Although a hardware error may cause other errors to occur, the root cause of a hardware error is that a hardware component is malfunctioning. 
     The POS operating system ( 114 ) may notify an on-site system administrator ( 120 ) of the detected hardware error by recording the hardware error data for the detected error in an error log ( 110 ). In the example of  FIG. 1 , each POS operating system ( 114 ) accesses the error log ( 110 ) through an administrative server ( 104 ), a computing device used by a system administrator ( 120 ) to monitor and manage the POS system ( 102 ). In addition to recording the hardware error data in the error log ( 110 ), the POS operating system ( 114 ) may also notify an on-site system administrator ( 120 ) of the detected hardware error by displaying the hardware error data for the detected error on a user interface of an administrative console ( 108 ). Because often the hardware error data is formatted in a manner that is not readily understandable to system administrators unable to decipher machine or assembly language, the POS operating system ( 114 ) may also notify an on-site system administrator ( 120 ) of the detected hardware error by generating an administrative error notification message based on the hardware error data and displaying the administrative error notification message on a user interface of an administrative console ( 108 ). 
     As mentioned above, the POS operating system transfers the service request message to a service dispatcher ( 124 ) in addition to notifying the on-site system administrator ( 120 ). In the example of  FIG. 1 , the service dispatcher ( 124 ) is a computing device that receives the service request message from a POS controller and initiates a service call by the hardware service provider ( 122 ) to repair or replace the malfunctioning hardware component causing the hardware error. The service dispatcher ( 124 ) of  FIG. 1  initiates a service call by scheduling the service call in a service schedule ( 126 ). The service schedule ( 126 ) instructs a service technician ( 128 ) that a service call is needed for a particular POS system supported by the hardware service provider ( 122 ). 
     In the example of  FIG. 1 , each POS controller ( 112 ) is operatively coupled to the service dispatcher ( 124 ) for a hardware service provider through a data communications connection. In the example of  FIG. 1 , the data communication connection is provided through LAN ( 103 ), bridge/router ( 106 ), and network ( 101 ). Readers will note that the data communications connection illustrated in the  FIG. 1  is for explanation only and not for limitation. Other implementations of the data communication connection as will occur to those of skill in the art may also be useful in initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. Other exemplary data communication connections may be implemented using modems and analogue telephone lines, virtual private networks, private wide area networks (‘WANs’), and so on. 
     The arrangement of components and devices making up the exemplary system illustrated in  FIG. 1  are for explanation, not for limitation. Data processing systems useful according to various embodiments of the present invention may include additional servers, routers, other devices, and peer-to-peer architectures, not shown in  FIG. 1 , as will occur to those of skill in the art. Networks in such data processing systems may support many data communications protocols, including for example TCP (Transmission Control Protocol), IP (Internet Protocol), HTTP (HyperText Transfer Protocol), WAP (Wireless Access Protocol), HDTP (Handheld Device Transport Protocol), and others as will occur to those of skill in the art. Various embodiments of the present invention may be implemented on a variety of hardware platforms in addition to those illustrated in  FIG. 1 . 
     Initiating a service call for a hardware malfunction in a POS system in accordance with embodiments of the present invention is generally implemented with computers, that is, with automated computing machinery. For explanation, therefore,  FIG. 2  sets forth a block diagram of automated computing machinery comprising an exemplary POS controller ( 112 ) useful in initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. The POS controller ( 112 ) of  FIG. 2  includes at least one computer processor ( 156 ) or ‘CPU’ as well as random access memory ( 168 ) (‘RAM’) which is connected through a high speed memory bus ( 166 ) and bus adapter ( 158 ) to processor ( 156 ) and to other components of the computer. 
     Stored in RAM ( 168 ) is a POS operating system ( 114 ). The POS operating system ( 114 ) of  FIG. 2  is specialized system software for managing the POS controller ( 112 ) and any POS terminals in a POS system controlled by the POS controller ( 112 ). An example of a POS operating system that may be useful in initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention may include the IBM 4690 operating system. The POS operating system ( 114 ) in the example of  FIG. 2  is shown in RAM ( 168 ), but many components of such software typically are stored in non-volatile memory also, for example, on a disk drive ( 170 ). 
     In the example of  FIG. 2 , the POS operating system ( 114 ) operates generally for initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. The POS operating system ( 114 ) of  FIG. 2  operates generally for initiating a service call for a hardware malfunction in the POS system according to embodiments of the present invention by: detecting a hardware error within a POS controller domain composed of the POS controller ( 112 ) and one or more POS terminals, the hardware error described by hardware error data; notifying an on-site system administrator of the detected hardware error in dependence upon the hardware error data; generating a service request message in dependence upon the hardware error data; and transferring the service request message to a service dispatcher for a hardware service provider, the service dispatcher initiating a service call by the hardware service provider. As mentioned above, a hardware error is an error whose root cause is a malfunctioning hardware component. For example, a hardware error may be caused by a malfunctioning memory controller, processor, memory module, bus, adapter, and so on. 
     The POS controller ( 112 ) of  FIG. 2  also includes a baseboard management controller (‘BMC’) ( 200 ). The BMC ( 200 ) is a specialized microcontroller embedded in POS controllers and POS terminals that provides a diagnostic interface between system management software and platform hardware. The BMC ( 200 ) of  FIG. 2  may be used to determine when a hardware component is malfunctioning and to alert the POS operating system through a processor interrupt or system message. Although not shown, a POS terminal may have a similarly installed BMC that communicates hardware malfunctions through a network ( 201 ) to the POS operating system ( 114 ). 
     In the example of  FIG. 2 , the BMC ( 200 ) connects to the various components of the POS controller ( 112 ) through an out-of-band network (‘OOBN’). The OOBN of  FIG. 2  may be implemented as an I2C bus, for example, a multi-master serial computer bus invented by Philips that is used to attach low-speed peripherals to a motherboard or an embedded system. I2C is a simple, low-bandwidth, short-distance protocol that employs only two bidirectional open-drain lines, Serial Data (SDA) and Serial Clock (SCL), pulled up with resistors. Although the exemplary POS controller ( 112 ) may utilize the I2C protocol, readers will note this is for explanation and not for limitation. In addition to the I2C protocol, the OOBN may be implemented using other technologies as will occur to those of ordinary skill in the art, including for example, technologies described in the Intelligent Platform Management Interface (‘IPMI’) specification, the System Management Bus (‘SMBus’) specification, the Joint Test Action Group (‘JTAG’) specification, and so on. 
     Although  FIG. 2  includes a BMC that alerts the POS operating system ( 114 ) of hardware malfunctions, readers will note that such an example is for explanation and not for limitation. In other embodiments, some hardware components in the POS controller and any of the POS terminals may be able to notify the POS operating system ( 114 ) upon performing a self-diagnostic that reveals a hardware malfunction. In still other embodiments, the POS operating system ( 114 ) or the POS terminal operating system may perform hardware diagnostics to identifying any malfunctioning hardware. Still further, other methods of alerting the POS operating system ( 114 ) that a hardware malfunction with the POS controller ( 112 ) or any POS terminal has occurred as will occur to those of skill in the art may also be useful in initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. 
     The POS controller ( 112 ) of  FIG. 2  includes a bus adapter ( 158 ), a computer hardware component that contains drive electronics for the high speed buses, the front side bus ( 162 ), the video bus ( 164 ), and the memory bus ( 166 ), as well as drive electronics for the slower expansion bus ( 160 ). Examples of bus adapters useful for initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention include the Intel Northbridge, the Intel Memory Controller Hub, the Intel Southbridge, and the Intel I/O Controller Hub. Examples of expansion buses useful for initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention include Peripheral Component Interconnect (‘PCI’) buses and PCI Express (‘PCIe’) architectures. 
     The POS controller ( 112 ) of  FIG. 2  includes disk drive adapter ( 172 ) coupled through expansion bus ( 160 ) and bus adapter ( 158 ) to processor ( 156 ) and other components of the POS controller ( 12 ). Disk drive adapter ( 172 ) connects non-volatile data storage to the POS controller ( 112 ) in the form of disk drive ( 170 ). Disk drive adapters useful in computers include Integrated Drive Electronics (‘IDE’) adapters, Small Computer System Interface (‘SCSI’) adapters, and others as will occur to those of skill in the art. In addition, non-volatile computer memory may be implemented for a computer as an optical disk drive, electrically erasable programmable read-only memory (so-called ‘EEPROM’ or ‘Flash’ memory), RAM drives, and so on, as will occur to those of skill in the art. 
     The example POS controller ( 112 ) of  FIG. 2  includes one or more input/output (‘I/O’) adapters ( 178 ). I/O adapters in computers implement user-oriented input/output through, for example, software drivers and computer hardware for controlling output to display devices such as computer display screens, as well as user input from user input devices ( 181 ) such as keyboards and mice. The example POS controller ( 112 ) of  FIG. 2  includes a video adapter ( 209 ), which is an example of an I/O adapter specially designed for graphic output to a display device ( 180 ) such as a display screen or computer monitor. Video adapter ( 209 ) is connected to processor ( 156 ) through a high speed video bus ( 164 ), bus adapter ( 158 ), and the front side bus ( 162 ), which is also a high speed bus. 
     The exemplary POS controller ( 112 ) of  FIG. 2  includes a communications adapter ( 167 ) for data communications with other computers ( 182 ) and for data communications with a data communications network ( 101 ). Such data communications may be carried out serially through RS-232 connections, through external buses such as a Universal Serial Bus (‘USB’), through data communications networks such as IP data communications networks, through analogue telephony networks and in other ways as will occur to those of skill in the art. Communications adapters implement the hardware level of data communications through which one computer sends data communications to another computer, directly or through a data communications network. Examples of communications adapters useful for initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention include modems for wired dial-up communications, Ethernet (IEEE 802.3) adapters for wired data communications network communications, and 802.11 adapters for wireless data communications network communications. 
     Readers will note that the exemplary architecture for the POS controller ( 112 ) in  FIG. 2  is for explanation only and not for limitation. Other architectures as will occur to those of skill in the art may also be useful in implementing POS controllers according to embodiments of the present invention. Moreover, readers will note that although  FIG. 2  describes an architecture for a POS controller, the POS terminals, administrative server, and service dispatcher described above with reference to  FIG. 1  may be implemented in a manner similar to the POS terminal described with reference to  FIG. 2 . That is, the POS terminals, administrative server, and service dispatcher described above with reference to  FIG. 1  may also include components such as, for example, processors, RAM, bus adapters, disk drive controllers, I/O adapters, communications adapters, and so on. 
     For further explanation,  FIG. 3  sets forth a flow chart illustrating an exemplary method of initiating a service call for a hardware malfunction in a POS system according to embodiments of the present invention. The POS system described in  FIG. 3  has one or more POS controller domains. Each POS controller domain is composed of a POS controller and one or more POS terminals. The POS controller is operatively coupled to a service dispatcher for a hardware service provider through a data communications connection. The hardware service provider is an organization that provides hardware service and support to the POS system described in  FIG. 3 . The hardware service provider may be part of the same organization that uses the POS system, may be organization that installed the POS system, or may be an independent hardware service provider that has a service contract with the organization that uses the POS system. 
     The method of  FIG. 3  includes detecting ( 304 ), by a POS operating system installed on the POS controller, a hardware error within the POS controller domain. As mentioned above, a hardware error is an error whose root cause is a malfunctioning hardware component. For example, a hardware error may be caused by a malfunctioning memory controller, processor, memory module, bus, adapter, and so on. The hardware error is described by hardware error data. A POS operating system may detect ( 304 ) a hardware error within the POS controller domain according to the method of  FIG. 3  by receiving an error message ( 300 ) that generally indicates that a software or hardware error has occurred. The error message ( 300 ) of  FIG. 3  specifies an error code along with other data that describes the error. Because the error message ( 300 ) may describe a hardware or software error, the POS operating system may receive the error message ( 300 ) from any hardware or software component within the POS controller domain. 
     The POS operating system may then detect ( 304 ) a hardware error within the POS controller domain according to the method of  FIG. 3  by determining whether the error is a hardware error in dependence upon the error message ( 300 ) and an error code table ( 302 ). The error code table ( 302 ) of  FIG. 3  may associate error codes with indications of whether the error specified by the error code is a hardware error or a software error along with an identifier specifying the device or process originating the error. The error code table ( 302 ) of  FIG. 3  may also associate error codes with high-level descriptions of the errors. For example, consider the following error code table: 
     
       
         
           
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                 EXEMPLARY ERROR CODE TABLE 
               
            
           
           
               
               
               
               
            
               
                 ERROR 
                 ERROR 
                   
                   
               
               
                 CODE 
                 TYPE 
                 SOURCE ID 
                 DESCRIPTION 
               
               
                   
               
               
                 1001 
                 Hardware 
                 POS_Ctrl_Processor 
                 The POS Controller&#39;s processor is 
               
               
                   
                   
                   
                 malfunctioning. 
               
               
                 1002 
                 Hardware 
                 POS_Ctrl_Mem_Ctrl 
                 The POS Controller&#39;s memory 
               
               
                   
                   
                   
                 controller is malfunctioning. 
               
               
                 1003 
                 Software 
                 POS_Ctrl_OS 
                 The POS OS needs additional computer 
               
               
                   
                   
                   
                 memory. 
               
               
                 1004 
                 Software 
                 POS_Ctrl_OS 
                 The POS OS is unable to open a file. 
               
               
                 1005 
                 Hardware 
                 POS_Trm1_Processor 
                 The processor of POS Terminal 1 is 
               
               
                   
                   
                   
                 malfunctioning. 
               
               
                 1006 
                 Hardware 
                 POS_Trm3_Disk 
                 The disk drive of POS Terminal 3 is 
               
               
                   
                   
                   
                 malfunctioning. 
               
               
                 . . . 
                 . . . 
                 . . . 
                 . . . 
               
               
                   
               
            
           
         
       
     
     The exemplary error code table above illustrates records for six exemplary error codes. The exemplary error code table above specifies that error code ‘1001’ represents a hardware error originating with the processor of the POS controller. Error code ‘1002’ represents a hardware error originating with the memory controller of the POS controller. Error code ‘1003’ represents a software error originating with the operating system of the POS controller. Error code ‘1004’ also represents a software error originating with the operating system of the POS controller. Error code ‘1005’ represents a hardware error originating with the processor of the first POS terminal. Error code ‘1006’ represents a hardware error originating with the disk drive of the third POS terminal. Readers will note that the exemplary error code table above is for explanation only and not for limitation. 
     Using the error code table ( 302 ) of  FIG. 3 , the POS operating system may determine whether the error is a hardware error according to the method of  FIG. 3  by determining whether the error code table ( 302 ) specifies the error is a hardware error. If the error code table ( 302 ) specifies the error is a hardware error, then the POS operating system determines that the error is a hardware error. If the error code table ( 302 ) specifies the error is a software error, then the POS operating system does not determine that the error is a hardware error. 
     If the POS operating system determines that the error is a hardware error, the POS operating system may then detect ( 304 ) a hardware error within the POS controller domain according to the method of  FIG. 3  by retrieving hardware error data ( 306 ) from the error code table ( 302 ) such as, for example, the device identifier specifying the malfunctioning hardware component. In some embodiments, the error message ( 300 ) may provide additional information concerning the error for which the error message ( 300 ) was generated than merely an error code. In such embodiments, if the POS operating system determines that the error is a hardware error, the POS operating system may then detect ( 304 ) a hardware error within the POS controller domain according to the method of  FIG. 3  by retrieving hardware error data ( 306 ) from error message ( 300 ) itself. In still other embodiments, if the POS operating system determines that the error is a hardware error, the POS operating system may then detect ( 304 ) a hardware error within the POS controller domain according to the method of  FIG. 3  by polling the hardware component or a device driver for the hardware component for the hardware error data ( 306 ). 
     The method of  FIG. 3  also includes notifying ( 308 ), by the POS operating system, an on-site system administrator ( 120 ) of the detected hardware error in dependence upon the hardware error data ( 306 ). The POS operating system may notify ( 308 ) the on-site system administrator ( 120 ) of the detected hardware error according to the method of  FIG. 3  according to the method of  FIG. 3  by recording the hardware error data ( 306 ) for the detected error in an error log ( 110 ). The error log ( 110 ) may be stored locally by the POS controller or may be stored remotely through some other computer network connected to the POS controller. Periodically, the administrator ( 120 ) may review the records in the error log ( 110 ). 
     The POS operating system may also notify ( 308 ) the on-site system administrator ( 120 ) of the detected hardware error according to the method of  FIG. 3  by displaying the hardware error data ( 306 ) for the detected error on a user interface of an administrative console ( 108 ). As mentioned above, the hardware error data ( 306 ) may be formatted in a manner that is not readily understandable to the system administrator ( 120 ) if the hardware error data ( 306 ) describes the error using machine or assembly language and the system administrator ( 120 ) is unable to decipher machine or assembly language. In such embodiments, the POS operating system may notify ( 308 ) the on-site system administrator ( 120 ) of the detected hardware error according to the method of  FIG. 3  by generating an administrative error notification message in dependence upon the hardware error data and displaying the administrative error notification message on a user interface of an administrative console ( 108 ). The administrative error notification message may be a high-level description of the hardware error that generally describes the hardware error. The POS operating system may generate an administrative error notification message using a general description of the error in the error code table ( 302 ) as described above. 
     The method of  FIG. 3  also includes generating ( 310 ), by the POS operating system, a service request message ( 312 ) in dependence upon the hardware error data ( 306 ). The service request message ( 312 ) of  FIG. 3  is a request for a service technician ( 128 ) to arrive on-site at the POS system and repair the malfunctioning hardware component generating the hardware error. The service request message ( 312 ) of  FIG. 3  may be implemented as an email, an XML-based document, a Java or C++ object, a proprietary message specified by the hardware service provider, or any other message as will occur to those of skill in the art. The POS operating system may generate ( 310 ) the service request message ( 312 ) according to the method of  FIG. 3  by inserting the hardware error data ( 306 ) into a predefined service request message template. The predefined service request message template may be configured by the system administrator ( 120 ) to match the requirements of the hardware service provider. In other embodiments, the predefined service request message template may be downloaded from the service dispatcher for the hardware service provider. 
     The method of  FIG. 3  includes transferring ( 314 ), by the POS operating system, the service request message ( 312 ) to the service dispatcher such that the initiates a service call by the hardware service provider. The service call is a trip made by a service technician to the location of the POS system in an effort to repair or replace the malfunctioning hardware component originating the hardware error. In some embodiments, the hardware error data ( 306 ) in the service request message ( 312 ) only specifies generally that the hardware error occurred without specifying any particular hardware component generating the hardware error. For example, the hardware error data may only indicate that POS terminal seven has a hardware malfunction without specifying which hardware component in POS terminal seven is malfunctioning. In such embodiments, the service technician ( 128 ) may have to perform extensive diagnostics and troubleshooting to determine the exact hardware component generating the error. 
     In other embodiments, the hardware error data ( 306 ) may specify a particular hardware component generating the hardware error. For example, the hardware error data ( 306 ) in the service request message ( 312 ) may specify that the memory controller of POS terminal seven in POS controller domain three is experiencing a hardware malfunction. In such embodiments, the service technician ( 128 ) is generally able to diagnose and fix the hardware malfunction faster than when the hardware error data only specifies generally that the hardware error occurred without specifying any particular hardware component generating the hardware error. 
     The POS operating system may transfer ( 314 ) the service request message ( 312 ) to the service dispatcher according to the method of  FIG. 3  by sending the service request message ( 312 ) to the service dispatcher at a predefined network address configured by the system administer. In other embodiments, the predefined network address may be downloaded by POS operating system from a location designated by the hardware service provider. 
     The POS operating system may transfer ( 314 ) the service request message ( 312 ) to the service dispatcher according to the method of  FIG. 3  through a data communications connection implemented using the existing communications infrastructure in the POS system. In some older communications infrastructures, the data communications connection may be implemented using analogue telephone lines and modems. In other communications infrastructures, the data communication connection may be implemented using a digital communication lines. 
     Exemplary embodiments of the present invention are described largely in the context of a fully functional computer system for initiating a service call for a hardware malfunction in a POS system. Readers of skill in the art will recognize, however, that the present invention also may be embodied in a computer program product disposed on a computer readable media for use with any suitable data processing system. Such computer readable media may be transmission media or recordable media for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of recordable media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and others as will occur to those of skill in the art. Examples of transmission media include telephone networks for voice communications and digital data communications networks such as, for example, Ethernets™ and networks that communicate with the Internet Protocol and the World Wide Web as well as wireless transmission media such as, for example, networks implemented according to the IEEE 802.11 family of specifications. Persons skilled in the art will immediately recognize that any computer system having suitable programming means will be capable of executing the steps of the method of the invention as embodied in a program product. Persons skilled in the art will recognize immediately that, although some of the exemplary embodiments described in this specification are oriented to software installed and executing on computer hardware, nevertheless, alternative embodiments implemented as firmware or as hardware are well within the scope of the present invention. 
     It will be understood from the foregoing description that modifications and changes may be made in various embodiments of the present invention without departing from its true spirit. The descriptions in this specification are for purposes of illustration only and are not to be construed in a limiting sense. The scope of the present invention is limited only by the language of the following claims.