A system and method of transferring information between a first software application and a second software application which employ an isolation layer. The system includes a client computer system provided by a first seller of computer systems, including a client software application, and a server computer system provided by a second seller of computer systems different from the first seller of computer systems, including a server software application which provides information from the server computer system to the client computer system. The system additionally includes isolation layer software, either at the client computer system or at the server computer system, which facilitates communication between the client software application and the server software application to transfer the information.

Patent
   RE40576
Priority
Oct 14 1997
Filed
Jun 12 2002
Issued
Nov 18 2008
Expiry
Oct 14 2017
Assg.orig
Entity
Large
3
252
all paid
2. A transaction system comprising:
a server computer system provided by a first seller of computer systems, including a server software application; and
a client computer system provided by a second seller of computer systems different from the first seller of computer systems, including a client software application which obtains information from the server computer system and isolation layer software which facilities communication between the client software application and the server software application to transfer the information between the client software application and the server software application, the isolation layer providing translation for commands and data communicated between the client software application and the server software application, the isolation layer including a translation layer producing custom outputs for communicating between the client software application and the server software application, the custom outputs being based on customized mappings and translations directed to facilitating communication between the client software application and the server software application.
1. A transaction system comprising:
a client computer system provided by a first seller of computer systems, including a client software application; and
a server computer system provided by a second seller of computer systems different from the first seller of computer systems, including a server software application which provides information from the server computer system to the client computer system and isolation layer software which facilitates communication between the client software application and the server software application to transfer the information between the client software application and the server software application, the isolation layer providing translation for commands and data communicated between the client software application and the server software application, the isolation layer including a translation layer producing custom outputs for communicating between the client software application and the server software application, the custom outputs being based on customized mappings and translations directed to facilitating communication between the client software application and the server software application.
3. A method of transferring information between a first software application and a second software application comprising the steps of:
(a) providing the first software application by a first company;
(b) providing the second software application by a second company different from the first company;
(c) executing the first software application by a first computer;
(d) executing the second software application by a second computer different from the first computer;
(e) providing an isolation layer having hooks into the second software application, the isolation layer providing translation for commands and data communicated between the first software application and the second software application, the isolation layer including a translation layer producing custom outputs for communicating between the first software application and the second software application, the custom outputs being based on customized mappings and translations directed to facilitating communication between the first software application and the second software application;
(f) executing the isolation layer; and
(g) establishing communication between the first software application and the second software application by the isolation layer to transfer the information.
8. A method of obtaining information for a client software application from a server software application comprising the steps of:
(a) providing the client software application from a first company;
(b) providing a server software application for accessing the information by a second company different from the first company;
(c) providing an isolation layer between the client software application and the server software application, the isolation layer providing translation for commands and data communicated between the client software application and the server software application, the isolation layer including a translation layer producing custom outputs for communicating between the client software application and the server software application, the custom outputs being based on customized mappings and translations directed to facilitating communicating between the client software application and the server software application;
(d) sending a call for the information to the isolation layer by the client software application;
(e) sending a request message for the information to the server software application by the isolation layer;
(f) instructing control software to obtain the information by the server software application;
(g) sending the information to the isolation layer by the server software application; and
(h) sending the information to the client software application by the isolation layer.
7. A method of transferring information between a client software application and a server software application comprising the steps of:
(a) installing a server computer by a first company;
(b) providing and installing the server software application by the first company;
(c) installing a client computer by a second company different from the first company after installation of the server computer and the server software by the first company;
(d) providing and installing the client software application by the second company;
(e) providing and installing an isolation layer having hooks into the server software application by the second company, the isolation layer providing translation for commands and data communicated between the client software application and the server software application, the isolation layer including a translation layer producing custom outputs for communicating between the client software application and the server software application, the custom outputs being based on customized mappings and translations directed to facilitating communication between the client software application and the server software application;
(f) executing the client software application and the isolation layer by the client computer;
(g) executing the server software application by the server computer; and
(h) establishing communication between the client software application and the server software application by the isolation layer to transfer the information.
6. A method of transferring information between a client software application and a server software application comprising the steps of:
(a) installing a client computer by a first company;
(b) providing and installing the client software application by the first company;
(c) installing a server computer by a second company different from the first company after installation of the client computer and the client software by the first company;
(d) providing and installing the server software application by the second company;
(e) providing and installing an isolation layer having hooks into the server software application by the second company, the isolation layer providing translation for commands and data communicated between the client software application and the server software application, the isolation layer including a translation layer producing custom outputs for communicating between the client software application and the server software application, the custom outputs being based on customized mappings and translations directed to facilitating communication between the client software application and the server software applications;
(f) executing the client software application by the client computer;
(g) executing the server software application and the isolation layer by the server computer; and
(h) establishing communication between the client software application and the server software application by the isolation layer to transfer the information.
4. The method as recited in claim 3, wherein step f comprises the substep of:
(f) executing the isolation layer by the first computer.
5. The method as recited in claim 3, wherein step f comprises the substep of:
(f) executing the isolation layer by the second computer.
0. 9. The transaction system of claim 1 in which the client computer system comprises a first POS client terminal communicating with the server computer system through the isolation layer software, and in which the transaction system further comprises a second client computer system including a second POS client terminal that communicates with the server software application on the server computer system without requiring isolation layer software as required by the first POS client terminal.
0. 10. The transaction system of claim 9 in which the first and second POS client terminals respectively run different POS client software applications from different developers and with different requirements for communicating with the server computer system.
0. 11. The transaction system of claim 1 in which the client computer system comprises a first POS client terminal communicating with the server computer system through the isolation layer software, and in which the transaction system further comprises a second client computer system including a second POS client terminal communicating with the server computer system through different, custom isolation layer software.
0. 12. The transaction system of claim 11 in which the first and second POS client terminals respectively run different POS client software applications from different developers and with different requirements for communicating with the server computer system.
0. 13. The transaction system of claim 1 in which the client computer system comprises a first POS client terminal communicating with the server computer system through the isolation layer software, and in which the transaction system further comprises a second client computer system including a second POS client terminal communicating with the server computer system through different, custom isolation layer software.
0. 14. The transaction system of claim 13 in which the first and second POS client terminals respectively run different POS client software applications from different developers and with different requirements for communicating with the server computer system.
0. 15. A method of providing the transaction system of claim 1 in which the client software application and the server software application are POS software, and enabling client terminals with POS client application software from different developers to be connected to and communicate with the server software application on the server computer system, which comprises the following steps:
providing the client computer system including a client terminal adding to an existing POS system network of which the server computer system is a part, where the existing network includes a second client computer system with a client terminal running a POS client software application not requiring the isolation layer software to communicate with the server software application on the server computer system; and
providing the isolation layer software to provide translation services for the client terminal adding to the existing POS system network, to facilitate communications with the server software application on the server computer system.
0. 16. A method of providing the transaction system of claim 1 in which the client software application and the server software application are POS software, comprising the step of providing the client computer system including a client terminal adding to an existing POS system network in which the server computer system is included, and in which the network includes a second client computer system, including a client terminal running a POS client software application not requiring the isolation layer software to communicate with the server software application running on the server computer system.
0. 17. A method of providing the transaction system of claim 1, in which the client software application and the server software application are POS software, and enabling client terminals with POS client application software from different developers to be connected to and communicate with the server software application on the server computer system, comprising the step of providing the client computer system including a first POS client terminal adding to an existing POS system network of which the server computer system is a part, where the existing network includes a second client computer system with a second POS client terminal running a POS client software application requiring isolation layer software different than required by the first client terminal to communicate with the server software application on the server computer system.
0. 18. A method of providing the transaction system of claim 1 in which the client software application and the server software application are POS software, comprising the step of providing the server computer system as part of a host computer system added to an existing POS system network in which the client computer system is included.
0. 19. The method of claim 18 that comprises the further steps of writing the isolation layer software to provide translation services between the client software application and the server software application, and storing the isolation layer software on the host computer system added to the existing POS system network.
0. 20. The method of claim 18 in which the isolation layer software provides read and write services for the client software application.
0. 21. The method of claim 18 in which the client computer system includes IPC software facilitating inter-process communications between the client software application and the isolation layer software.
0. 22. The transaction system of claim 2 in which the client computer system comprises a first POS client terminal communicating with the server computer system through the isolation layer software, and in which the transaction system further comprises a second client computer system including a second POS client terminal that communicates with the server software application on the server computer system without requiring isolation layer software as required by the first POS client terminal.
0. 23. The transaction system of claim 22 in which the first and second POS client terminals respectively run different POS client software applications from different developers and with different requirements for communicating with the server computer system.
0. 24. A method of providing the transaction system of claim 2 in which the client software application and the server software application are POS software, and enabling client terminals with POS client application software from different developers to be connected to and communicate with the server software application on the server computer system, which comprises the following steps:
providing the client computer system including a client terminal adding to an existing POS system network of which the server computer system is a part, where the existing network includes a second client computer system with a client terminal running a POS client software application not requiring the isolation layer software to communicate with the server software application on the server computer system; and
providing the isolation layer software to provide translation services for the client terminal adding to the existing POS system network, to facilitate communications with the server software application on the server computer system.
0. 25. A method of providing the transaction system of claim 2 in which the client software application and the server software application are POS software, comprising the step of providing the client computer system including a client terminal adding to an existing POS system network in which the server computer system is included, and in which the network includes a second client computer system, including a client terminal running a POS client software application not requiring the isolation layer software to communicate with the server software application running on the server computer system.
0. 26. A method of providing the transaction system of claim 2, in which the client software application and the server software application are POS software, and enabling client terminals with POS client application software from different developers to be connected to and communicate with the server software application on the server computer system, comprising the step of providing the client computer system including a first POS client terminal adding to an existing POS system network of which the server computer system is a part, where the existing network includes a second client computer system with a second POS client terminal running a POS client software application requiring isolation layer software different than required by the first client terminal to communicate with the server software application on the server computer system.
0. 27. A method of providing the transaction system of claim 2 in which the client software application and the server software application are POS software, comprising the step of providing the client computer system including a client terminal added to an existing POS system network in which the server computer system is included.
0. 28. The method of claim 27 in which the isolation layer software provides read and write services for the client software application.
0. 29. The method of claim 27 in which the client computer system includes IPC software facilitating inter-process communications between the client software application and the isolation layer software.
0. 30. The method of claim 27 that comprises the further steps of writing the isolation layer software to provide translation services between the client software application and the server software application, and storing the isolation layer software on the client terminals added to the existing POS system network.
0. 31. The method of claim 30 in which the isolation layer software is written by compiling sample target routines that have been edited and customized to meet the needs of a target transaction establishment.
0. 32. The method of claim 30 in which the client computer system includes a plurality of different independent software applications running on a plurality of different client terminals from different developers.
0. 33. The method of claim 32 in which the client computer system includes client terminals running independent software applications developed by the same developer as the server software application and not requiring isolation layer software to communicate with the server software application, and client terminals running independent software applications developed by a developer different from the server software application and using isolation layer software to communicate with the server software application.
0. 34. The method of claim 29 for which communications between the server computer system and the added client POS computer terminal occurs between interprocess communications software and the isolation layer software.

The present application is related to the U.S. Pat. No. 5,839,116 issued on Nov. 17, 1998, entitled “SYSTEM AND METHOD OF OBTAINING INFORMATION FROM A PRICE LOOK-UP FILE”, and having as inventor, John Goodwin.

The present invention relates to point-of-sale (POS) systems, and more specifically to a POS system including an isolation layer between POS server software and a client POS application program.

POS systems typically include a central server and a plurality of checkout terminals connected through a client-server network.

The checkout terminals include bar code readers and keyboards for entry of the item numbers during a transaction.

The central server stores a price look-up (PLU) file which associates item numbers with item prices. The central server processes requests from the checkout terminals for price information for the items. The central server may perform additional tasks, such as storing transaction history (audit log and transaction totals history), storing accountability totals, storing cashier and terminal accountability totals, holding future price change information (batches), performing credit authorization, performing check validation, and performing frequent shopper validation and specials.

POS checkout software has traditionally included client and server software that have been developed together and sold as a single proprietary product. However, this solution may not be an optimal one for a retailer. Retailers may find that combining server software from one developer with client software from another developer gives their POS systems the features that they want. This may be especially true for retailers that want the best solutions for both the server and client software in a market where no one developer of proprietary POS software exceeds at both.

Therefore, it would be desirable to provide a POS system including an isolation layer between the POS server software and the POS client application software to enable server and client software from different developers to be combined.

In accordance with the teachings of the present invention, a POS system including an isolation layer between POS server software and a client POS application program is provided.

A system and method of transferring information between a first software application and a second software application which employ an isolation layer. The system includes a client computer system provided by a first seller of computer systems, including a client software application, and a server computer system provided by a second seller of computer systems different from the first seller of computer systems, including a server software application which provides information from the server computer system to the client computer system. The system additionally includes isolation layer software, either at the client computer system or at the server computer system, which facilitates communication between the client software application and the server software application to transfer the information.

The method includes the steps of providing the first software application by a first computer, providing the second software application by a second company different from the first company, executing the first software application by a first computer, executing the second software application by a second computer different from the first computer, providing an isolation layer having hooks into the second software application, executing the isolation layer, and establishing communication between the first software application and the second software application by the isolation layer to transfer the information.

It is accordingly an object of the present invention to provide a POS system including as isolation layer between POS server software and a client POS application program.

It is another object of the present invention to allow server and client software from different developers to be combined using an isolation layer.

It is another object of the present invention to provide an isolation layer for server software that provides read and write services for client POS software in a computer network that includes client computers running different client POS software.

Additional benefits and advantages of the present invention will become apparent to those skilled in the art to which this invention relates from the subsequent description of the preferred embodiments and the appended claims, taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a block diagram of a transaction management system;

FIG. 2 is a block diagram illustrating the client POS software, server POS software, and the isolation layer between them;

FIG. 3 is a block diagram of a system for producing the isolation layer;

FIG. 4 is a flow diagram illustrating how the isolation layer is created; and

FIG. 5 is a flow diagram illustrating operation of a system specific application and, in particular, a method of transferring information from the system specific application to the client POS software through the isolation layer.

Referring now to FIG. 1, transaction system 10 preferably includes host computer system 12 and point-of-service (POS) terminal 22A and 22B. Host computer system 12 and point-of-service (POS) terminals 22A and 22B are coupled together to form a network.

POS terminals 22A and 22B execute independent applications 23A and 23B, including client POS software 24A and 24B for completing transactions. POS software 24A and 24B may be identical (e.g. the same application from the same developer) or may be different transaction processing applications.

As illustrated, independent applications 23A were developed by a different developer than the developer of server POS software 16. Thus, independent applications 23A require isolation layer 14 to communication with POS server software 16. Independent applications 23B were developed by the same developer as the developer of POS server software 16. Thus, independent applications 23B do not require isolation layer 14 to communication with server POS software 16. Advantageously, the present invention is capable of connecting a plurality of independent applications 23A running on a plurality of different client terminals from different developers to server POS software 16.

Client POS software 24A and 24B display transaction information on displays 27A, 27B. Client POS software 24A and 24B receive article identification information from bar code readers 26A, 26B and keyboards 28A, 28B. Client POS software 24A and 24B send the article identification information to host computer system 12. Host computer system 12 reads price look-up (PLU) file 20 to obtain price information and sends the price information to POS terminals 26A and 26B.

Other examples of independent applications 17 include price checking software for consumer price checking computers, weighing software for electronic scales, price checking software and item description label printing software for hand-held terminals, and EPL auditing software.

Host computer system 12 executes POS server software 16 and isolation layer 14. POS server software 16 processes requests from independent applications 23A and 23B. POS server software 16 includes system specific applications 17, such as price look-up (PLU) file software 40, transaction totals software 42, cashier authentication software 44, and credit checking software 46. These are but examples of system specific software in use today. The present invention anticipates other types of system specific software 17 as well.

Isolation layer 14 provides translation services between independent applications 23A and server POS software 16. Thus, isolation layer 14 allows client POS software 24A from one developer to function with system specific applications 17 from a different developer.

Isolation layer 14 may reside in host computer system 12 or client terminal 22A. Typically, a provider of client terminals 22A also provides independent applications 23A, and a provider of host computer system 12 also provides server POS software 16.

If the provider of client terminals 22A is adding client terminals 22A to an existing network including a server from a different provider, the provider of client terminals 22A may wish to write and store isolation layer 14 in client terminals 22A.

On the other hand, if a provider of servers and server POS software 16 is adding host computer system 12 to an existing network including client terminals 22A from a different provider, the provider of servers may wish to write and store isolation layer 14 in host computer system 12.

Isolation layer 14 preferably includes one library file for all system specific applications 17 or individual library files for system specific applications 17. Use of multiple libraries adds network design flexibility but penalizes operation by loading each library into memory, even if only part of isolation layer 14 is used. Isolation layer 14 may take other forms including a single application, a single driver, or multiple drivers that perform read operations into server POS software 16 in order to obtain and map information to be used by client POS software 24A. Theses drivers also perform writes into server POS software 16 may information created by client POS software 24A.

Storage medium 18 stores PLU file 20 and other information files and is preferably a fixed disk drive.

Turning now to FIG. 2, the software architecture within system 10 is described in more detail. Discussion references client POS software 24A, but other independent applications 23A operate in a similar fashion.

Client POS software 24A includes POS checkout application software 30 and interprocess communications (IPC) software 32. POS checkout software 30 records items by scanning them, prints them on a receipt, and adds their prices to produce a total transaction amount. POS checkout software 30 also performs specific transaction-related functions, such as processing food stamps and other forms of payment under government entitlement programs, calculating service charges, performing price change functions, performing out of transaction functions (loans, pickups), etc. An example of POS checkout software 30 is the UNITY® checkout application developed and sod by the Assignee of the present invention.

IPC software 32 is software that is added to POS checkout software 30 to facilitate interprocess communications (IPC) between POS checkout software 30 and isolation layer 14. IPC software 32 will vary with operating system, from threads, queues, named pipes, shared files, sockets, etc.

Isolation layer 14 includes read/write engine and translation layer 34 and read/write layer 36. Read/write engine and translation layer 34 translates one request into one or more read/write requests as needed for host computer system 12 based on standard server inputs and custom outputs. Read/write layer 36 performs the actual reads and writes to host computer system 12 based on the requests issued in read/write engine and translation layer 34.

An example of read/write layer 36 is the UNITY® file service layer.

Server POS software 16 may include both the UNITY® file service layer and the UNIX® file system.

In a traditional POS system, client POS software communicates directly with POS server software through a communication methodology, such as named pipes. Under Applicant's invention, client POS software 24A is modified to include IPC software 32, and an isolation layer 14 is added. Communication between client POS software 24A and POS server software 16 occurs between IPC software and isolation layer 14.

Turning now to FIG. 3, the components that are used to construct isolation layer 14 include templates 60, object code 62, example mappings and translations 64, target routines 66, and make files 68 for each of system-specific applications 17. Templates 60 are a super set of example mappings and translations 64 and target routines 66. Isolation layer 14 includes templates 60 for each of system specific application 17. Example mappings and translations 64 and target routines 66 are edited and customized by developers to produce customized mappings and translations 65 and customized target routines 67 (customized templates 61). Customized mappings and translations 65 and customized target routines 67 along with object code 62 are fed into make files 68 in order to produce executable code for isolation layer 14.

Object code 62 consists of libraries 41 for each of system specific applications 17. As mentioned above, isolation layer 14 may include one library for establishing communication for all system specific applications 17 or a plurality of separate libraries.

Example mappings and translations 64 provide non-displayable information (in code and/or in documentation) and may be edited to customize isolation layer 14.

Target routines 66 are system specific application routines that may be edited and customized to suit the needs of the target transaction establishment.

Make files 68 are files that pass source code (templates 60) through compiler 72 and then pass object code 62 through linker 74 to produce the target executable.

Turning now to FIG. 4, the method of creating isolation layer 14 begins with START 80.

In step 82, independent applications 23A are isolated from system specific applications 17 through a non-displayable mapping determination and translation process. Example mappings and translations 64 result.

In step 84, a template 60 for one of system specific applications 17 is provided. Template 60 is packaged in an installable format that can then be distributed and installed on the target system.

In step 86, customized mappings and translations 65 and customized target routines 67 are determined.

In steps 88-92, customized template 61 is produced by changing template 60 to reflect customized mappings and translations 65.

In step 88, functions to be implemented are edited. For example, for PLU file reader software 40, the “read first”, “read next”, and “read specific” sections are edited. The “read first” section is a routine that must be completed/customized to read the first PLU in PLU file 20. The “read next” section is a routine that must be completed/customized to read the next PLU in PLU file 20 sequentially. The “read specific” section is a routine that must be completed/customized to read a specific PLU file record.

In step 90, customized mapping and translations 65 and customized target routines 67 derived from step 86 are applied to template 60.

In step 92, operation returns to step 84 if library functionality for an additional specific application 17 must be added. Otherwise, operation continues to step 94.

In step 94, a new executable (isolation layer 14) is complied and linked from object code 62 and templates 61 for each of system specific applications 17 using make files 68, compiler 72, and linker 74.

In step 96, the method ends.

Referring now to FIG. 5, operation of a system specific application 17 is illustrated in detail, beginning with START 100. In particular, operation illustrates a method of transferring information between a terminal 22A and host computer system 12 through isolation layer 14.

In step 102, a system specific application 17 starts up and configures itself.

In step 104, system specific application 17 waits for an interprocess communications message from isolation layer 14. Interprocess communication services (e.g., “queues” for UNIX, threads or pipes for OS/2) are provided by the operating system executed by host computer system 12.

Isolation layer 14 calls on the operating system to send a request from client POS software 24A to system specific application 17. Client POS software 24A issues a call to isolation layer 14, instructing isolation layer 14 to perform a routine provided by isolation layer 14 and related to the purpose of system specific application 17.

For example, when system specific application 17 is PLU file reader software 40, the routine would be a “read direct” routine within isolation layer 14. Isolation layer 14 calls on the operating system to send the interprocess communications message to system specific application 17.

If such a message is received, system specific application 17 determines whether the interprocess communications message contains an “exit” command in step 105. If it does, system specific application 17 terminates in step 116.

If the interprocess communications message does not contain an “exit” command, system specific application 17 obtains the information from its source in step 106. For example, if system specific application 17 is PLU file reader software 40, system specific application 17 uses operating system 52 to obtain the information from PLU file 20.

In step 114, system specific application 17 calls on the operating system to return the information via interprocess communications to the client POS software 24A via isolation layer 14. System specific application 17 returns to a waiting state in step 104.

After system specific application 17 sends the information to isolation layer 14, isolation layer 14 passes the information to client POS software 24A. Client POS software application 24A can then display the information, compare the information, or otherwise examine the information in accordance with the functions of client POS software 24A.

Although the present invention has been described with particular reference to certain preferred embodiments thereof, variations and modifications of the present invention can be effected within the spirit and scope of the following claims.

Goodwin, III, John C.

Patent Priority Assignee Title
7970722, Nov 08 1999 International Business Machines Corporation System, method and computer program product for a collaborative decision platform
8005777, Nov 08 1999 International Business Machines Corporation System, method and computer program product for a collaborative decision platform
8160988, Nov 08 1999 International Business Machines Corporation System, method and computer program product for a collaborative decision platform
Patent Priority Assignee Title
3182357,
3263774,
3436968,
3681570,
3681571,
3688873,
3696586,
3725895,
3735350,
3819012,
3836755,
3869575,
3878365,
3947817, Apr 22 1974 Recognition Equipment Incorporated Hand operated optical character recognition wand
3949194, Apr 04 1973 Plessey Overseas Limited Check-out terminal
3962569, Jan 18 1974 METTLER-TOLEDO, INC Value computing scale
3962570, Jan 18 1974 METTLER-TOLEDO, INC Scale with manual tare entry
3984667, Jan 18 1974 METTLER-TOLEDO, INC Motion detecting scale
3986012, Jan 18 1974 METTLER-TOLEDO, INC Digital weight measuring and computing apparatus with automatic zero correction
4004139, Jan 18 1974 METTLER-TOLEDO, INC Digital scale with means to shift displayed weight to show fraction of least normally displayed graduation
4028537, Mar 31 1976 American National Can Company Product processing system with price printer
4069970, Jun 24 1976 Bell Telephone Laboratories, Incorporated Data access circuit for a memory array
4071740, May 26 1976 Mobile automated shopping system
4084742, Aug 02 1976 Price marking system for automated check-out of merchandize
4114721, Feb 28 1977 Mobil Oil Corporation Method and system for acoustic noise logging
4138000, Jul 08 1977 Bel Air Mart Checkout counter
4177880, Sep 23 1977 Combination supermarket counter and cart therefor
4180204, Nov 08 1978 The J. C. Penney Corporation, Inc. Automatic inventorying system
4236604, Mar 30 1979 Tri-Tronics Company, Inc. Start/stop control of conveying means
4237483, Dec 26 1976 Electronic Management Support, Inc. Surveillance system
4327819, Aug 01 1980 Sensormatic Electronics Corporation Object detection system for a shopping cart
4347903, Jul 10 1978 Shimadzu Corporation Electronic reading balance
4353564, Sep 23 1977 Supermarket counter construction and method of using same
4369334, Mar 16 1979 Sharp Kabushiki Kaisha Audible announcement in an electronic cash register
4369361, Mar 25 1980 SYMBOL TECHNOLOGIES, INC , A CORP OF DELAWARE Portable, stand-alone, desk-top laser scanning workstation for intelligent data acquisition terminal and method of scanning
4373133, Jan 03 1980 WRIGHT CLYNE STURGEON ASSOCIATES LIMITED A COMPANY OF GREAT BRITAIN Method for producing a bill, apparatus for collecting items, and a self-service shop
4377741, Jun 26 1980 The Brekka Corporation Apparatus for producing updated information on a tangible medium
4392535, Feb 06 1979 Tokyo Electric Co., Ltd. Zero-point adjusting method for automatic weighing apparatus
4412298, Sep 20 1979 Pitney Bowes Inc. Method for tracking creep and drift in a digital scale under full load
4500880, Jul 06 1981 Motorola, Inc. Real time, computer-driven retail pricing display system
4509129, Oct 16 1978 Sharp Kabushiki Kaisha Electronic calculating machine with facilities of announcing data introduced
4529871, Sep 29 1982 Loblaw Companies Limited Price marking system
4549867, May 25 1982 Texas Instruments Incorporated Electronic learning aid with random number modes
4574317, Dec 12 1983 LEVINE, ALFRED B , CHEVY CHASE, MARYLAND, P O BOX 9516 WASHINGTON, D C 2016 Hand scannable portable copier and method
4583083, Jun 28 1984 JBM OF VIRGINIA, INC , A CORP OF VA Checkout station to reduce retail theft
4583619, Aug 19 1983 Automatic gate for checkout lane
4602152, May 24 1983 Texas Instruments Incorporated Bar code information source and method for decoding same
4605080, Jul 11 1980 Speech recognition control system and method
4660160, Apr 26 1984 Tokyo Electric Co., Ltd. Electronic weighing device having label printer with data stability check
4661908, Jun 13 1984 Tokyo Electric Co., Ltd. Sales data processing system
4676343, Jul 09 1984 International Business Machines Corporation Self-service distribution system
4679154, Jul 09 1985 NCR Corporation Scanning control system for merchandise checkout
4688105, May 10 1985 Video recording system
4709770, Dec 05 1985 Yamato Scale Company, Limited Device for correcting dynamic weight signal from conveyer weigher
4715457, May 27 1986 NCR Corporation Method for fast weighing
4723118, Aug 28 1984 Retail Security Systems Magnetic detection system for items on the lower tray of a shopping cart
4725822, Aug 28 1984 Shopping cart with lower tray signalling device
4729097, May 11 1984 Tokyo Electric Co., Ltd. Sales registration apparatus with means to transfer control program and sales registration data between individual units
4734713, Apr 26 1985 Kabushiki Kaisha Sato Thermal printer
4736098, Feb 10 1986 HELLER FINANCIAL, INC Signalling method and apparatus for a conventional shopping cart
4766296, Apr 29 1987 Toshiba Global Commerce Solutions Holdings Corporation Article checkout counter and system
4766299, Mar 28 1986 SPECTRA-PHYSICS, INC , Hand-mounted bar code reader
4775782, Sep 30 1987 NCR Corporation Checkout counter with remote keyboard writing pad and display
4779706, Dec 17 1986 NCR Corporation Self-service system
4787467, Jul 31 1987 FUJITSU TRANSACTION SOLUTIONS, INC Automated self-service checkout system
4789048, Sep 28 1987 NCR Corporation Checkout counter
4792018, Jul 09 1984 International Business Machines Corporation System for security processing of retailed articles
4800493, Aug 10 1984 OMRON TATEISI ELECTRONICS CO , 10 TSUCHIDO-CHO, HANAZONA, UKYO-KU, KYOTO-SHI, KYOTO-FU, JAPAN Electronic cash register
4838383, Mar 16 1987 Tokyo Electrical Co., Ltd. Apparatus for checking out purchases
4855908, Dec 27 1984 Fujitsu Limited POS system
4866661, Mar 26 1986 Computer controlled rental and sale system and method for a supermarket and the like
4881606, Jul 15 1988 Shekel Electronics-Scales Beit Keshet Electronics (Registered Point-of-sale apparatus
4909356, Feb 04 1988 A W A X PROGETTAZIONE E RICERCA S R L , VIA PER SASSUOLO, 1863 - VIGNOLA MODENA, ITALY , AN ITALIAN CORP Fully self-service check-out counter incorporating an integral apparatus for on demand manufacturing of custom-sized bags conforming to the volume of articles received therein
4914280, Oct 19 1988 Spectra-Physics, Inc. Optical wand interface to fixed scanner
4929819, Dec 12 1988 NCR Corporation Method and apparatus for customer performed article scanning in self-service shopping
4940116, Mar 07 1989 International Business Machines Corporation Unattended checkout system and method
4947028, Jul 19 1988 Visa International Service Association Automated order and payment system
4959530, Mar 07 1989 International Business Machines Corporation Article price indicator
4964053, Apr 22 1988 International Business Machines Corporation Self-checkout of produce items
4964167, Jul 15 1987 Matsushita Electric Works, Ltd Apparatus for generating synthesized voice from text
4971177, Mar 24 1989 PSC SCANNING, INC Data gathering system housing/mounting
4975948, Oct 13 1989 Rapid dialing method for telecommunications
5004916, Jul 28 1989 Intel Corporation Scanning system having automatic laser shutdown upon detection of defective scanning element motion
5040636, Nov 16 1989 NCR Corporation Merchandise checkout work station
5053636, May 18 1988 AMERICAN STERILIZER COMPANY, 2424 WEST 23RD STREET, ERIE, PENNSYLVANIA 16514 A PA CORP Override circuit for medical table
5058691, Apr 02 1990 W G ASSOCIATES A PARTNERSHIP OF MD Infrared detector for ensuring correct weighing
5079412, Apr 21 1988 Tokyo Electric Co., Ltd. Point of sale data processing apparatus for handy type bar code reader which can be flush mounted
5083638, Sep 18 1990 OPTIMAL ROBOTICS CORP Automated point-of-sale machine
5115888, Feb 04 1991 FUJITSU FRONTECH NORTH AMERICA INC Self-serve checkout system
5121103, Jul 29 1988 KNOGO NORTH AMERICA INC Load isolated article surveillance system and antenna assembly
5123494, Feb 04 1991 FUJITSU FRONTECH NORTH AMERICA INC Anti-theft weighing system
5125465, Feb 04 1991 FUJITSU FRONTECH NORTH AMERICA INC Fast retail security weighing system
5139100, Feb 04 1991 Point of Sale Data Products, Inc. Point-of-sale scanner/scale system with scale activation of scanner
5140145, Aug 28 1990 Bar code reader test and tampering indication system
5142161, Apr 26 1990 Hand-held optical scanner and highlighter
5149211, Aug 12 1988 Esselte Meto International Produktions GmbH Printers and ancillary systems
5168961, Feb 04 1991 FUJITSU FRONTECH NORTH AMERICA INC Supermarket with self-service checkout
5174399, Feb 04 1991 Point of Sale Data Products, Inc. Point-of-sale scanner/scale system with scale activation of scanner
5174413, Nov 02 1990 A.W.A.X. Progettazione E Ricerca S.r.l. Plastic bag dispensing apparatus for supermarkets incorporating devices for the registering of the purchased items
5177345, Mar 07 1990 Siemens Nixdorf Informationssysteme AG Merchandise scanner for retail stores
5177800, Jun 07 1990 Q SOLUTION CORPORATION, THE Bar code activated speech synthesizer teaching device
5178234, Mar 15 1990 Tokyo Electric Co., Ltd. Checkout apparatus
5189291, May 01 1989 Symbol Technologies, Inc. Bar code reader operable as remote scanner or with fixed terminal
5191749, Nov 02 1990 A.W.A.X. Progettazione E Ricerca S.r.l. Plastic bag dispensing apparatus for supermarkets incorporating devices for the registering of the purchased items
5195613, Sep 20 1988 Tokyo Electric Co., Ltd. Commodity data reader
5230391, May 16 1991 Ishida Scales Mfg. Co., Ltd. Weigher-conveyor system
5231293, Oct 31 1991 Welch Allyn Data Collection, Inc Bar code reading instrument which prompts operator to scan bar codes properly
5239167, Apr 30 1991 Mobile Technics LLC Checkout system
5250789, Oct 31 1991 Shopping cart
5256864, Sep 24 1991 PSC SCANNING, INC Scanning system for preferentially aligning a package in an optimal scanning plane for decoding a bar code label
5265075, Sep 11 1991 Dictaphone Corporation Voice processing system with editable voice files
5293319, Dec 24 1990 Pitney Bowes Inc. Postage meter system
5297030, Apr 08 1992 NCR Corporation Method using bill and coin images on a touch screen for processing payment for merchandise items
5314631, Oct 25 1989 Fujitsu Limited Stationary bar code reader which can be detected and separated into a hand-held bar code reader
5315097, Nov 29 1991 NCR Corporation Method and apparatus for operating a triggerless hand-held optical scanner
5334826, May 10 1991 Fujitsu Limited Method and apparatus for extending and confirming the service life of semiconductor laser of bar code reader by detecting current increase corresponding to temperature of semiconductor laser
5335171, Mar 11 1991 Matsushita Electric Industrial Co., Ltd. Electronic register
5340970, Mar 17 1992 Toshiba Global Commerce Solutions Holdings Corporation Article checkout system with security parameter override capacity
5343025, Jan 07 1992 Tokyo Electric Co., Ltd. Check-out device with activity sensor terminating article input
5345071, Apr 27 1992 Shopper's purchase monitoring device
5361871, Aug 20 1991 Digicomp Research Corporation; DIGICOMP RESEARACH CORPORATION Product information system for shoppers
5365050, Mar 16 1993 WORTH DATA, INC Portable data collection terminal with voice prompt and recording
5374815, Mar 15 1993 ELECTRONIC RETAILING SYSTEMS INTERNATIONAL, INC Technique for locating electronic labels in an electronic price display system
5375680, Feb 24 1992 Tokyo Electric Co., Ltd. Check-out device
5378860, Sep 21 1992 System and method for the prevention of theft in salesrooms
5382779, May 07 1993 Digicomp Research Corporation Shelf price label verification apparatus and method
5393965, Nov 13 1990 Symbol Technologies, Inc. Flexible merchandise checkout and inventory management system
5397882, May 14 1993 Ahold Licensing SA Method for spot checking a client in a self-service store
5398191, Sep 09 1992 Sharp Kabushiki Kaisha Point of sale apparatus with an automatic determination if weighing a product is necessary or prohibited
5406063, May 07 1993 Symbol Technologies, Inc Hand-held data scanner having adjustable keyboard panel
5410108, Aug 31 1992 PSC SCANNING, INC Combined scanner and scale
5412191, Sep 21 1990 Siemens Nixdorf Informationssysteme Aktiengesellschaft Service desk for the registration, booking and/or payment of goods, vouchers and the like
5424521, Mar 17 1992 UNIQUEST, INCORPORATED; NEWCHECK CORPORATION 10475 FORTUNE PARKWAY Article checkout system with price parameter override capacity
5424524, Jun 24 1993 DCCP, INC Personal scanner/computer for displaying shopping lists and scanning barcodes to aid shoppers
5426282, Aug 05 1993 System for self-checkout of bulk produce items
5426423, Jun 14 1989 WINSTEAD ASSESTS LTD Process and device for registering and checking items
5434394, Sep 10 1992 Tandy Corporation Automated order and delivery system
5437346, May 11 1994 Station for price scanning verifying and selectively bagging purchase items
5448046, Dec 28 1987 Symbol Technologies, Inc Arrangement for and method of expediting commercial product transactions at a point-of-sale site
5448226, Feb 24 1994 Electronic Retailing Systems International, Inc. Shelf talker management system
5454063, Nov 29 1993 Voice input system for data retrieval
5457307, Apr 27 1992 Portable self-service bar code marker and reader for purchase monitoring
5461561, Sep 10 1991 ELECTRONIC RETAILING SYSTEMS INTERNATIONAL, INC System for recognizing display devices
5478989, Sep 27 1989 Nutritional information system for shoppers
5482139, Feb 16 1995 M.A. Rivalto Inc. Automated drive-up vending facility
5484991, Jan 12 1990 Intermec IP CORP Portable modular work station including printer and portable data collection terminal
5485006, Jan 28 1994 S.T.O.P. International (Brighton) Inc. Product detection system for shopping carts
5488202, Dec 10 1990 Siemens Nixdorf Informationssysteme Aktiengesellschaft Weighing device for the registration of goods in stores
5489773, Sep 27 1991 Khyber Technologies Corporation Integrated portable device for point of sale transactions
5493107, May 07 1993 Digicomp Research Corporation Shelf price label and product placement verification method and apparatus
5493613, Sep 13 1993 International Verifact Inc. Combination pin pad and terminal
5494136, Aug 05 1993 Integrated automated retail checkout terminal
5497314, Mar 07 1994 Automated apparatus and method for object recognition at checkout counters
5497853, Jun 15 1992 NCR Corporation Labor-saving consolidated checkout system
5500890, Aug 19 1993 Exxon Research and Engineering Company Point-of-sale system using multi-threaded transactions and interleaved file transfer
5525786, Mar 30 1994 Multidirectional scan, platform purchase checkout system
5540301, May 11 1994 Automated bulk self-checkout station apparatus
5541925, Mar 27 1995 Verizon Patent and Licensing Inc Point of sale system that bypasses the public telephone network
5543607, Feb 16 1991 Hitachi, LTD; HITACHI COMPUTER ENGINEERING CO , LTD Self check-out system and POS system
5544040, Aug 09 1991 System for management of common purchase operations for goods and services
5546475, Apr 29 1994 International Business Machines Corporation Produce recognition system
5560450, Jan 21 1994 Kabushiki Kaisha TEC Self-scanning checkout device
5577165, Nov 18 1991 Kabushiki Kaisha Toshiba; Toshiba Software Engineering Corp. Speech dialogue system for facilitating improved human-computer interaction
5579000, Jan 30 1989 Audio/video price confirmation system
5594469, Feb 21 1995 Mitsubishi Electric Research Laboratories, Inc Hand gesture machine control system
5595264, Aug 23 1994 System and method for automated shopping
5609223, May 30 1994 Kabushiki Kaisha TEC Checkout system with automatic registration of articles by bar code or physical feature recognition
5635906, Jan 04 1996 Retail store security apparatus
5637847, Mar 10 1994 Mitsubishi Denki Kabushiki Kaisha Automated shopping basket system with accounting and article tracking functions
5644630, Mar 15 1994 Intercom system for a service establishment
5662190, May 30 1994 Kabushiki Kaisha TEC Self-scanning checkout apparatus having article passage detecting sensor
5663963, Jul 17 1995 NCR Corporation Method for detecting and reporting failures in EPL systems
5684289, Oct 30 1995 NCR Corporation Optical scanner having enhanced item side coverage
5708782, Mar 22 1993 Method and apparatus for dispensing discount coupons
5710887, Aug 29 1995 Broadvision Computer system and method for electronic commerce
5721420, Dec 22 1995 NCR Corporation Shutter control mechanism
5721536, Jan 30 1989 Audio/video price confirmation system
5734823, Nov 04 1991 ARRIS Group, Inc Systems and apparatus for electronic communication and storage of information
5736721, Dec 28 1987 Symbol Technologies, LLC Arrangement for and method of expediting commerical product transactions at a point-of-sale site
5740744, Nov 29 1994 Fujitsu Limited Through-wall type automatic customer service apparatus
5745705, May 12 1995 Matsushita Electric Industrial Co., Ltd. POS system
5747784, Oct 22 1996 NCR Corporation Method and apparatus for enhancing security in a self-service checkout station
5752582, Feb 09 1996 SAP SE Self-service checkout system
5754106, Jul 17 1995 NCR Corporation Method for detecting and reporting failures in EPL systems
5756978, Jun 21 1994 ZERCO SYSTEMS INTERNATONAL, INC Modular optical memory card image display point of sale terminal
5756984, Oct 31 1995 Kabushiki Kaisha TEC Handy scanner
5769269, Apr 28 1994 Vending system
5780825, Nov 29 1995 Hitachi, Ltd. Automatic teller machine including a halt requesting mechanism in a durss period
5784446, Nov 01 1996 CHORNENKY, O JOSEPH Method and apparatus for installing telephone intercom-voice messaging apparatus at doorbell for dwelling
5801371, Mar 20 1995 Symbol Technologies, LLC Optical reader with independent triggering and graphical user interface
5801766, Oct 19 1993 ARISTOCRAT TECHNOLOGIES EUROPE LIMITED Security system for use at a roulette table
5814799, Aug 25 1988 Symbol Technologies, Inc. Self-checkout, point-of-transaction system including removable, electro-optically coded surveillance tags
5821512, Jun 26 1996 Symbol Technologies, LLC Shopping cart mounted portable data collection device with tethered dataform reader
5832417, Nov 27 1996 Measurement Ltd Apparatus and method for an automatic self-calibrating scale
5832457, May 06 1991 Catalina Marketing Corporation Method and apparatus for selective distribution of discount coupons based on prior customer behavior
5837991, Mar 08 1996 Card Technology Corporation Card transport mechanism and method of operation
5839104, Feb 20 1996 NCR Corporation Point-of-sale system having speech entry and item recognition support system
5839116, Oct 05 1995 NCR Corporation System and method of obtaining information from a price look-up file
5845259, Jun 27 1996 ELECTRONIC CONSUMER CONCEPTS, L L C Electronic coupon dispensing system
5845263, Jun 16 1995 IMPERIAL BANK Interactive visual ordering system
5877485, Jan 24 1997 Symbol Technologies, LLC Statistical sampling security methodology for self-scanning checkout system
5878064, Jul 17 1995 NCR Corporation Method for detecting and reporting failures in EPL systems
5883968, Jul 05 1994 AW COMPUTER SYSTEMS, INC System and methods for preventing fraud in retail environments, including the detection of empty and non-empty shopping carts
5884281, Sep 19 1995 Electronic grocery lister
5884728, Sep 20 1995 Societe Anonyme Des Marches Usines-Auchan Assembly for checking and registering purchases in a self-service sales point
5886336, Dec 12 1996 NCR Corporation Multiside coverage optical scanner
5890135, Feb 20 1996 STERLING GLOBAL SOLUTIONS, LLC D B A SPARKFLY System and method for displaying product information in a retail system
5898158, Nov 18 1993 FUJITSU LIMITED 50% RIGHTS, TITLE AND INTEREST ; FUJITSU FRONTECH LIMITED 50% RIGHTS, TITLE AND INTEREST Purchased commodity accommodating and transporting apparatus having self scanning function and POS system
5898383, Sep 06 1996 NCR Corporation Self-service shopping system including an electronic price label system
5900614, Oct 25 1993 Kabushiki Kaisha TEC Self-scanning checkout device
5901204, Sep 01 1995 NCR Corporation Remote sampling of video clips
5914473, Sep 26 1996 Method of scanning bar codes of bulky items
5917421, Nov 23 1995 NCR Corporation Method of authenticating an application program and a system therefor
5923735, May 29 1996 Symbol Technologies, Inc Self-service checkout system utilizing portable self-checkout communications terminal
5925872, Oct 30 1989 Symbol Technologies, Inc. Scanning system for either hand-held or stationary operation for reading 1-D or 2-D barcodes
5950173, Oct 25 1996 PERKOWSKI, THOMAS J System and method for delivering consumer product related information to consumers within retail environments using internet-based information servers and sales agents
5965861, Feb 07 1997 NCR Voyix Corporation Method and apparatus for enhancing security in a self-service checkout terminal
5970470, Jul 08 1997 PayPal, Inc System and method for establishing and managing subscription purchase agreements including commitments to purchase goods over time at agreed upon prices
5978772, Oct 11 1996 Merchandise checkout system
5979757, Sep 05 1996 Symbol Technologies, LLC Method and system for presenting item information using a portable data terminal
5984177, Aug 16 1996 CITICORP DEVELOPMENT CENTER, INC Multiple configuration automatic teller machine
5987428, Jun 25 1996 Suntory Limited Method and apparatus for checking out non-barcoded items at a checkout station
5992570, Jun 05 1996 NCR Voyix Corporation Self-service checkout apparatus
5993047, Oct 02 1997 John C., Novogrod Apparatus and method for requesting and dispensing negotiable instruments
6000522, Jun 12 1995 Alice A, Johnson Multi-compartment and acceptors computerized vending machine
6002808, Jul 26 1996 Mitsubishi Electric Research Laboratories, Inc Hand gesture control system
6009538, Apr 22 1997 NCR Voyix Corporation System and method of reporting a status of another system through an electronic price label system
6056087, Sep 29 1997 NCR Voyix Corporation Method and apparatus for providing security to a self-service checkout terminal
6056194, Aug 28 1995 USA Technologies, Inc. System and method for networking and controlling vending machines
6080938, Aug 13 1997 NCR Voyix Corporation Method and apparatus for resetting a product scale of a retail checkout terminal
6108717, Sep 06 1995 Seiko Epson Corporation Control system using plural objects, a programming method therefor, and a peripheral devices control system
6163797, Aug 06 1996 Hewlett Packard Enterprise Development LP Application dispatcher for seamless, server application support for network terminals and non-network terminals
6269342, Apr 28 1995 Symbol Technologies, Inc Programmable shelf tag system
BE899018,
D296788, Oct 14 1986 MARS, INCORPORATED, A CORP OF DE Combined portable data scanner and printer
DE1927819,
DE2125869,
DE3114139,
DE3330301,
EP60701,
EP124355,
EP178223,
EP199232,
EP491348,
EP767437,
EP811958,
GB2068132,
GB2285687,
JP5314367,
RE35758, Apr 17 1992 GOLDEN VOICE TECHNOLOGY AND TRAINING L L C Voice/data-formatted telephone information storage and retrieval system
WO9107725,
WO9415294,
////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jun 12 2002NCR Corporation(assignment on the face of the patent)
Jan 06 2014NCR CorporationJPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENTSECURITY AGREEMENT0320340010 pdf
Jan 06 2014NCR INTERNATIONAL, INC JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENTSECURITY AGREEMENT0320340010 pdf
Mar 31 2016NCR CorporationJPMORGAN CHASE BANK, N A SECURITY AGREEMENT0386460001 pdf
Mar 31 2016NCR INTERNATIONAL, INC JPMORGAN CHASE BANK, N A SECURITY AGREEMENT0386460001 pdf
Oct 13 2023NCR CorporationNCR Voyix CorporationCHANGE OF NAME SEE DOCUMENT FOR DETAILS 0658200704 pdf
Oct 16 2023NCR Voyix CorporationBANK OF AMERICA, N A , AS ADMINISTRATIVE AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0653460168 pdf
Oct 16 2023JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENTNCR Voyix CorporationRELEASE OF PATENT SECURITY INTEREST0653460531 pdf
Date Maintenance Fee Events
Jan 20 2011M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Nov 18 20114 years fee payment window open
May 18 20126 months grace period start (w surcharge)
Nov 18 2012patent expiry (for year 4)
Nov 18 20142 years to revive unintentionally abandoned end. (for year 4)
Nov 18 20158 years fee payment window open
May 18 20166 months grace period start (w surcharge)
Nov 18 2016patent expiry (for year 8)
Nov 18 20182 years to revive unintentionally abandoned end. (for year 8)
Nov 18 201912 years fee payment window open
May 18 20206 months grace period start (w surcharge)
Nov 18 2020patent expiry (for year 12)
Nov 18 20222 years to revive unintentionally abandoned end. (for year 12)