Software – Hassan Hajji, ECREBO Ltd

Abstract for “Method for enhancing point-of sale systems”

“A method for operating a point of sale (POS) system (1). The POS system comprises a POS terminal (3, 21), which is used to enable a retailer process transactions in a transactional environment. A driver software module (44) is installed between the POS module (17. 21) (3) and the peripheral device (5. 7). This module allows the POS (1) to communicate with a second device (44-60, 64), in accordance with the data received at driver software module 40; receiving modified data from this device (44. 60, 64); outputting the modified data

Background for “Method for enhancing point-of sale systems”

Retailers use point-of-sale hardware and software systems (POS) to streamline their sales operations. They can process sales, take payments and store transactions for later retrieval. A POS system generally includes a variety of elements, including point-of-sale terminals that are connected with a controlling server (the “back-office”). Servers) via an internal network connection. A large retail environment such as a supermarket may have many POS terminals communicating with the back-office servers. The back-office servers can be found locally (e.g. The back-office servers may be located in the store (e.g.

Retailers can make a significant investment in POS systems. After a long Request for Proposal (RFP), retailers choose their POS provider. Once the investment has been made, they only upgrade it occasionally.

Although POS systems have always had challenges, the popularity of couponing and the rise of mobile phones has made it more urgent for retailers to find ways to support these functions as soon as possible. It is possible to redesign and improve POS software in order to support coupon redemption and integration with mobile channels. However, this is expensive and time-consuming.

“FIG. 1. A typical POS configuration 1 includes a POS terminal 3, a receipt scanner 5, a barcode reader 7, a data entry device 9, and a data input device 9 to enter PIN codes (the ‘Pin Pad?). Back-office servers 11, and a payment processing service 13. The POS terminal, back office servers 11, and the payment processing server 13 communicate with each other via a network 15. (This could be a local network or an Internet connection, or a combination of both).

“The POS terminal 3 consists of a point-of-sale application software module 17, which communicates with a product data base 19, and a payment software module 21.”

“The payment application software module 21 and point-of-sale software module 17 are in communication with each other via the network 15, with the receipt scanner 7, 5 and 7 as well as with the back office servers 11 and 13 via the network 15.

“The point-of-sale software module 17 records items that are to be sold, calculates the total balance, triggers any pre-configured promotions and then accepts multiple payment methods. Items are typically input using the scanner. The scanner 7 will scan barcodes on outside packaging and pass them to the POS software module 17. The POS software module 17 will query the local database 19 in order to retrieve the item’s price. This information may then be displayed on a screen (not illustrated in FIG. 1).”

“After scanning all items, the cashier asks customers to confirm which payment method they prefer. If the user chooses to pay with a card, the POS software module 17 links to the payment software module 21.”

“The payment software module 21 controls an external device 9 to obtain the credit card details, and optionally, the PIN associated with the cards. The payment application software module can interface with a magnetic strip scanner (which may be integrated into the device 9) to read the card details.

“Once payment has been made, the POS software module 17 format details of the transaction and sends them off to the receipt printer. Two or more receipts may be printed in many cases: one for each customer and one for each retailer. The retailer receipt may contain more information than that of the customer (for example, the last 4 digits of the card used). The retailer copy of the receipt may contain more information than the customer one (e.g., full card details while the customer receipt only contains the last four digits of card used).

“The payment software module 21 (the payment application software module) is responsible for authorizing the card to be paid, verifying the PIN and authenticating the card. The network connection allows access to the payment processor 13. The payment processor 13 can be hosted within or outside of the retailer’s premises. In that case, it will connect to the payment processor 13 via the network connection 15. dedicated communications network, or mobile telecommunications network. The POS software module 17 uses the network 15 to transmit transaction details to back-office servers 11.

“The POS software module 17 usually runs on a common operating system (e.g. Microsoft Windows or Linux. The POS terminal 3 connects to each device externally using standard connectors. These connectors can be used for serial, parallel, USB, Ethernet, and USB ports. A consortium of companies including NCR, Epson and Fujitsu?ICL developed a standard interface between all devices to facilitate interoperability among POS software, payment software vendors, and other device vendors. These standards are usually implemented in Java and COM technologies and are known as JAVAPOS (or OPOS).

“JAVAPOS” is an implementation of the standard using the JAVA language. It has the same architecture and structure as OPOS. There are a set JAVA class that defines the API interface, and another set of JAVA class that defines the implementation of those interfaces, known service objects. JAVA typically implements these service objects from the manufacturer.

“FIG. “FIG. The printer 5 and scanner 7 in FIG. 1) and the POS software module 17. The POS software module 17 can access the physical device 23 via an OPOS application programming interface (API 30). An OPOS device 32 is used to communicate between the POS software module 17 (and the physical device 23) and the POS terminal 3/.

“The OPOS device consists of an OPOS Device Control Module 34 that provides interface for the POS software module 17 and an OPOS Device Service Module 36 that provides communication to the device 23.”

“The OPOS Device Service Module 36 implements details of the physical device 23, and is usually provided by the hardware vendor. The POS software module 17 can call the following method to print receipt data:

“PrintNormal(Integer Station String DataToBePrinted),”

“Similar APIs are also available for scanner 7. The scanner property called ‘ScanData? is independent of whether the scanner is attached to the POS terminal 3. The scanned data is always stored by the POS application software module 17. The POS software module 17 can read the data from the scanner and will store the barcode.

“An arrangement similar to that in FIG. 2. may be used to describe a JAVAPOS program for interfacing a POS module with a physical device.

“To access the stream data sent by the POS software module 17 requires a modification to the application. The code can then be added in order for the data to be accessed.”

“Retailers are seeking ways to understand customers and reach them through multiple channels. They also want to use mobile phones to connect with customers and collect data about their experience in stores. POS software and hardware would need to be modified in order to support these activities.

A retailer might use a second printer to print coupons right at the point-of-sale till to reach customers. Retailers who use this method must have a loyalty program, a set to colour printers, and targeted software. This is very expensive. This printer is expensive because it costs hundreds of pounds to buy a single one. It can also be very expensive for large environments that have multiple point-of-sale terminals.

“It is evident that modifying the standard point-of-sale environment is a major undertaking requiring access transaction data (which requires the POS hardware/or software be modified), associating transaction information with a loyalty card and having another piece software print offers through a secondary printer.

“The present invention provides a method for modifying/enhancing functionality of a point-of-sale system without the need to add new hardware or modify proprietary software modules of POS providers.”

“Accordingly to a first aspect, there is a method for operating a point-of-sale (POS) system. The POS system comprises a POS terminal with a software program module that allows a retailer to process transactions in a transaction environment. A peripheral device communicating with the POS terminal also has a driver module. This method includes: receiving data at the driver module; communicating with a second device in dependence on the data received at driver software; receiving modified data from this device; and then outputting the modified data

A typical point-of-sale (POS) system might include a terminal that is basically a computer. At a till in a supermarket checkout lane. One or more software modules may be installed on the POS terminal (?a software module that allows a retailer process transactions in a transaction environment?). The POS terminal could include a point of sale application software module or a payment software module, as mentioned above. These software modules would communicate with one or more hardware devices, such as a scanner and printer in conventional arrangements.

The software module could be proprietary to a point of-sale software provider. It may also be a closed component that a retailer cannot alter or modify. The hardware device could also be proprietary and the retailer may not be able to modify or alter it easily.

It is therefore a difficult task both financially and technically to modify the POS system.

The present invention provides a method for altering functionality of the POS system. It includes a driver software module that is to be installed in data communication path between proprietary software modules and hardware devices (peripheral devices). This allows communications to be made, such as from a POS application software module to a printer or from a scanner to a POS application software module. Communications, e.g., from a POS software module to a print device or from a scanner and a POS software module to a printer, can be easily intercepted. The data could then be diverted, e.g. To a “further device?” Such as a remote or local server or computer or any other modification. This allows the POS system to be more functional without the limitations of older methods. You can install the driver software module on your POS terminal.

“Conveniently, a POS terminal could include a point-of-sale application software module. Data received at the driver software software module may contain transaction data. The software module could communicate with a database that contains details about transaction items. A payment application module module can also be part of the POS terminal. Data received from the driver software module could include payment data related to transactions processed by the POS system.

“Conveniently the communicating with a second device step may include the driver software module sending data from the first receiving step (from POS terminal software module, peripheral device) or a portion thereof. The driver software module can forward data it receives to the further device (e.g. Without modification, the driver software module may forward data it receives onto another device (e.g. remote server). It may also add or prepend additional information. Further, the driver software module can only forward extracts or processed versions of the received data.

“The driver software module can receive data from the POS terminal module that has been formatted according to the requirements of the peripheral devices. The received modified data from the further device could be formatted to meet the requirements of that device, or formatted to meet the requirements by the driver software module. The peripheral device will not be able to see this data. The driver software module is not seeing the problem because it still receives correctly formatted data from it as if it came from a standard POS module.

“The remote server may be the further device. Transaction data and details related to transaction data can be sent to remote servers where they can be processed. To validate that transaction items are present in transaction data to confirm the offer terms have been fulfilled or provide additional services, e.g. To host a loyalty program. This gives consumers the opportunity to sign up for a loyalty program that is independent of retailers. In other words, the retailer might not be a part of the scheme. So that any transaction that a consumer makes in any retail environment could be included in the loyalty scheme.

“The peripheral device could be a scanner, printer, or any other device that is convenient such as a touchpad or display device.

“Where the peripheral device (a printer) is a printer the modified data might comprise the data received at the POS terminal along with a barcode that was added by the additional device. For printing the receipt, the transaction data and barcode can be sent to the printer. The consumer can then access the transaction data and barcode via the additional device. The barcode could contain a copy transaction data, so the consumer can retrieve a digital copy (e.g. By reading the barcode using a suitable mobile device, such as an ‘app? On a smartphone, or tablet. A barcode can also be used to identify information online (e.g. A copy of a transaction held online at a transaction servers or for accessing remote computing devices to access additional services (e.g. A loyalty program, for retrieving transaction offers from transaction servers or retrieving questionnaires for consumers to complete. One embodiment may allow the consumer to access all of the functionality.

“The barcode could be either a QR or two-dimensional code.

“To address this issue, the driver software module might receive data from a scanner device that scans a voucher barcode. The barcode can then be analysed to find a unique identifier. Driver software module may then communicate remotely with the server device to verify the unique identifier. This allows paper-based vouchers to be processed accurately in a retail environment. The driver software module may also provide details about the transaction data (received via the POS software module) to remote server. Remote server may then be able to compare the transaction data with the scanned voucher. This prevents the possibility of misclassification of vouchers within a retail environment. This allows retailers to accept and process any vouchers not included in their loyalty program or other offers. Modified data may include the voucher barcode. The driver module can then output the modified data directly to the POS terminal. It is possible for the driver module to be configured to format modified data from the further device according to the requirements of POS terminals.

“Conveniently, as noted above the driver module can send details of voucher barcodes scanned by a scanner and transaction details from transactions recorded at a POS terminal, to the further device so that they can be processed and verified.”

“The driver software module can receive transaction data from a POS terminal, and voucher related data via a scanner. To verify that an offer has been accepted, the transaction data and the voucher data can be sent to another device.

“The driver software module can be easily integrated into the POS system in a variety of ways.”

“Where the POS terminal includes a driver stack arranged for operation of the peripheral devices, the driver software module might be arranged within the driver stack to be a filter drive.”

The driver module can be found between the OPOS service module and OPOS control module if the POS terminal contains an OPOS (an OPOS devices control module and an OPOS service module). The driver software module in JAVAPOS environments may be placed between a JAVAPOS service module and a JAVAPOS module control module. The driver software module can also be installed as an OPOS or JAVAPOS layer logical service object.

“In the event that data is rasterised at high levels by a printer driver,” the driver software module might include an API hook.

“The driver software module can output modified data to a variety of destinations. For example, it may output the modified data to the peripheral device or devices that are part the POS system (e.g. printer, scanner, display, payment terminal etc.) Or to another peripheral device (e.g. secondary printer). The destination device for the modified data could be one or more near-field communication enabled devices. The modified data can then be sent via NFC communication from the POS terminal back to the destination device. Modified data can include transaction data, data to print on a coupon/voucher, data about the customer/consumer, formatting data for the printer device (e.g. Instructions to print double-sided or in color, and other data.

“The driver module could be a data parser Module.”

“The present invention, as described above, allows retailers to extend the POS to allow targeted coupons at till and QR-based loyalty. This is all done without any changes to the payment processing software or POS.

“Accordingly to a second aspect, there is a point-of-sale terminal that is capable of processing transactions in a transaction environment. The software module allows a retailer to use POS terminal to make purchases. A driver software modules is installed between the software and peripheral devices. This driver software module can be configured to: receive data between the software and peripheral devices in communication with the POS terminal; communicate to a further device based on the data received from the driver software; receive modified data from this device; and out

“Accordingly to a third aspect, there is a method for enhancing functionality of a point-of-sale (POS) system. The POS system comprises a POS terminal with a software program module that allows a retailer to process transactions in a transaction environment. A peripheral device is also in communication with POS terminal. The driver software module is installed between the software modules and the peripheral devices. It’s used to receive data between the software modules and to communicate with a second device based on the driver module; to receive modified data from the other device; and then output the modified data

“Accordingly to a fourth aspect, the present invention provides a method for operating a transaction terminal in communication with a POS Terminal according to the second aspect. This includes: receiving data from the POS Terminal; processing the data to create modified data; and outputting the modified data at the POS Terminal.

“Conveniently where transaction item data and related data are received from the POS terminal, the processing step might include determining whether transactions have been associated with scanned coupons in the transaction data to confirm that an offer has been accepted.”

“Conveniently data received from POS terminals may include transaction data that is stored together with loyalty and card information.”

“The transaction data that is received from the POS terminal could include transaction data (which may be stored against a consumer identifier) which may in turn be derived from a consumer’s payment card in an online registration process. A request for transaction data stored in the server’s transaction server might be received by the transaction server from a mobile device. A barcode scanning app may be included in the mobile device. This application scans a receipt barcode for an identifier that locates transaction data stored on the server.

“An alternative arrangement is that a mobile device can obtain transaction data from a barcode on a receipt. This data may be uploaded along with loyalty sign up data to the transaction server.”

“The transaction server could be set up to store future and current transaction data for a consumer or mobile device. This allows multi-transaction offers (e.g. An offer that requires the consumer to buy X items within a certain time period may be offered to them to get a credit or another type of reward. Multi-transaction offers can be made by sending transaction data to the transaction servers for storage.

“It will be appreciated, that the preferred and/or optional elements of the first aspect may also be provided in the second and third aspects of the invention, either individually or in combination.”

“The invention includes a carrier media for carrying a code that can be read by a computer to control a terminal or computer to execute the method of first aspect. A carrier medium is also available for carrying a code that can be used to control a server to perform the methods of first, third, and fourth aspects.

“The present invention, as described above, allows you to add a point of sales system to any existing payment processing system. This will allow you to associate partial or full payment card numbers with a loyalty card or any derivatives thereof. The details of the transaction are printed on the receipt. An offer engine can select the most appropriate offer to send to each card holder by using a partial or full card number, or its derivative. Coupons can be printed at the till with the same printer that prints receipts. By the action of the driver module, offers can also be printed at another printer than the receipt printer. Relevant offers can be sent to customers using any connection between a POS device and a customer’s mobile device. Any connection to the till can be used to send transaction data from receipts to mobile devices. This invention allows for the extension of any existing point-of-sales system to intercept and modify data sent to the receipt printer. The receipt data can be intercepted and modified. A receipt may also have an additional code printed on it. You can arrange the code so that it can be read automatically or manually entered into a mobile device using an app running on the device. This will allow you to recover the digital format. An application running on the device may read the additional code and use it to associate the user to current transactions in order to create a history of transactions. The mobile application may process the code and present rewards, feedback requests, or requests for reviews to the user. The code can encode a loyalty or payment card and permit the application to retrieve the card or any derivatives. These cards can then be used to associate the user with transactions in which any of the cards are used. Reward or feedback may be contingent on items in the current basket, total amount spent on a transaction, history of purchases, or other rewards. An external application may verify the scan data and translate it to code the POS software can understand.

“FIG. “FIG. It should be noted that similar numerals can be used throughout the claim set to denote like features.

“The architecture shown in FIG. “The architecture shown in FIG. 2. However, the OPOS 32 now includes a virtual driver software module 40. It is located between OPOS service module 36 and OPOS device control module 34.

“The driver software module 40 allows data communications between the POS software module 17 and the payment software module 21 to be monitored and intercepted at the physical device 23. Data communications from outside the POS 1 can be inserted into OPOS 32 via driver software module 40 and routed to the physical device 23 as well as the POS 17/payment 21 software modules. This allows transactions information to be extracted from the POS 1 and added to the communication path between the POS terminal 3, and physical devices (5, 7)

“In detail, the virtual driver software module forty may be installed and used as follows:

“Installation step: The virtual physical driver software module 40 can be placed onto the POS terminal 3, so that it sits between OPOS device control software modules 34 and 36.”

“In a first operational stage, each command from either the POS software module 17 or 21 to the physical device 23 can be monitored and passed on to a data stream parser 42.”

“In a second operational stage, the data streamparser module 42 can parse the data and create a list or transaction items; total amount spend; details about any promotions; cashier’s name or id and/or other data of interest. A regular expression parser may be used to achieve the data stream parser module 42. The stream parser42 may also be able to parse details about the cards used. This includes partial details such as expiry date and last 4 card numbers, but complete details if possible. The virtual physical driver module 40, which is used by the payment application software module 21, may also be able to intercept additional information when printing the retailer’s receipt.

“In a 3rd operational step, the virtual physical driver module 40 might pass the card data and transaction data derived from the 2nd step to a 3rd party system 44 (the server 60/64 referred to below could be a 3rd party system).

“In a fourth operational stage, the third-party system 44 may send modified data to virtual physical driver module40 which can then be supplied via OPOS device service software module36 to the physical device 23. This allows modified data (or a portion thereof) to be printed on the customer’s receipt in the case where the physical device 23 corresponds to the receipt printer 5.

“The virtual driver module 40, described above, allows existing POS hardware without modification to accomplish the following:

“It should also be noted that a POS terminal module (either POS software module 17 nor Payment software module 21), may communicate with a physical device directly, rather than using OPOS or JAVAPOS interfaces. There are two possible arrangements: (1) The software module (17, 21), may use ESC/POS (a command-language used to drive receipt printers or a similar language) to write directly to a serial port on a hardware device or a USB device. (2) The software module may also use a high level printing API (for e.g. Windows printing architecture. It sends rasterised data directly to the connected device.

“In arrangement (i), above, the data sent by the printer is a digital copy the receipt that can be parsed into text. The data sent to printer in arrangement (iii) is binary and cannot be parsed as text.

“In arrangement (i), a virtual driver software module 40 could be used as a filter driver, as shown in FIGS. 31, 32. FIG. 31 illustrates a known POS terminal environment before modification according to an embodiment of this invention. It includes a user space 500, and a kernel area 502, in which an application 17, 21, may read and write data to a physical devices (5, 7) using a device driver 504 as well as upper (506) or lower (508) filter drivers.

Filters can work with a particular brand of device, such as a keyboard or mouse, or they might perform some operation on any class of devices such as any keyboard or mouse. The bus filter driver may be an additional type of driver. An ACPI bus filter, for example, is used to provide power management support for each device.

“Turning towards FIG. 32. An embodiment of the present invention is shown. It can be seen in which the virtual device software module40 may be implemented as a filter drive either below the lower filter driver 508 or above the upper filter driver 506.

“In arrangement (ii), a virtual driver can be implemented as an operating system library that hooks into the original API with its own API hook. As shown in FIGS. 33 and 34, the virtual driver 40 can then transfer API calls to the original library.520. 33 and 34

“Most OPOS and JAVAPOS service objects communicate with the hardware via the OS’s hardware driver. The virtual driver software module 40 can be beneficially installed in the JAVPOS and OPOS layers as a filter driver. It may be simpler to change the configurations of JAVAPOS or OPOS layers to allow for a filter driver than to modify the drivers stack.

“As mentioned above, the virtual driver module 40 allows data to be printed on the receipt that the customer receives at closing of the transaction. This allows the following manipulations to be done to the receipt:

“Further applications that result from the virtual driver module 40’s use include:

“It should be noted that the virtual driver module40 may be used to call another service, either locally or remotely, to retrieve an offer. The offer will be formatted to be printed to the printer that prints receipts. You can target the offers to customers based on the items in your current basket, customer history or any combination thereof. Any offers that the customer retrieves or sends to the customer can be printed using any printer device that is accessible from terminal 3.

“As mentioned above, the virtual driver module40 may be used for coupon and vouchers that have a barcode 50 printed on it. The architecture shown in FIG. 2 can be used to verify that each barcode is valid. 2. may be applied to data from the scanner 7, so coupons and vouchers can be validated as following:

“Further embodiments are described below.”

“Multi-Transaction System”

“The POS system described in relation to FIGS. 2, 3 and 4 may be used to manage a transaction system that tracks a user across multiple transactions.

“As noted above, FIG. 1. shows an example of a point-of-sale configuration.

“FIG. 8 gives a high-level overview of the process (70, 72,. . . 84) for creating and redeeming multipurchase offers. The retailer is presumed to have created the offer and distributed it via a suitable medium (social media, print media, or web). You can digitally sign an offer to protect against counterfeiting using the process illustrated in FIG. 14-a.”

“FIG. “FIG. 9 illustrates the sign-up process and provides an overview of the tables 68, 56, and 86 that are maintained by the offer server 60 per user. The customer will be prompted to sign-up to offers by using a 54-inch mobile device running the mobile application 56. Signing up for offers will allow the customer to receive offers and associate them to his/her account. They can also redeem them. The customer must choose a name and password for sign-up. This information is shown in step 69. This user is created by the offer server 60 in table 68. This entry contains a username and password that can be used to authenticate the customer. Customers can associate this account with any loyalty or payment cards they have. If the customer wishes to do so, the columns cards 90 will hold the card identifiers. The column multi-purchase offer 92 will be populated as the user associates offers to his account. Each offer can be tracked using the column status column 94. This column is expanded in table86 and shows:

“FIG. “FIG. Buffer 132 is created from the memory of the POS till and initialized to an empty buffer.

“FIG. “FIG.

“FIG. “FIG. 12 illustrates the process of decoding transaction information from receipt 52. Mobile device 54 with a scanning function scans QR code 52 printed on paper receipt 52. The mobile application converts the scanned data to original receipt data and sends it to offers server 60. A camera may be used to scan the QR code on the mobile device 54.

“FIG. 13 shows how to update the offer status tableau 86 with the latest transaction. This allows the customer to “upload?” Transaction data, as printed on the receipt of the customer, is sent to the offers server 60. This allows the server to keep track of what the customer has purchased.”

“FIG. 14 illustrates the process of creating and verifying digital signatures. FIG. FIG. 14-a illustrates how transaction data printed in a 2D barcode 50 is first digitally signed prior to being printed on the receipt 52. FIG. FIG.

“FIG. 15 shows how offers can be digitally signed by the retailer/manufacturer (FIG. The process of signing an offer is shown in FIG. 15-a. FIG. 15-b (FIG. 15-b (FIG.

“FIG. 16 shows how an offer published by the retailer/manufacturer is activated, that is associated with the user account.”

“FIG. 17 shows a POS till 3, with NFC device 235, attached. This can be used to collect transaction data instead of asking customers to scan the 2D Barcode 50. This configuration allows the POS to transfer the buffer 132 data directly to the customer’s mobile device 54. Instead of encoding the data into a 2-D bar code 50 and printing it into a receipt 52, this configuration uses NFC hardware attached at the POS terminal. The receipt is not printed with a 2D bar code.”

“FIG. “FIG.

“Method for Redeeming Offers”

“The POS system described in relation to FIGS. 2, 3 and 4 may be used to run a transaction system that allows you to redeem offers in a transaction environment.

Summary for “Method for enhancing point-of sale systems”

Retailers use point-of-sale hardware and software systems (POS) to streamline their sales operations. They can process sales, take payments and store transactions for later retrieval. A POS system generally includes a variety of elements, including point-of-sale terminals that are connected with a controlling server (the “back-office”). Servers) via an internal network connection. A large retail environment such as a supermarket may have many POS terminals communicating with the back-office servers. The back-office servers can be found locally (e.g. The back-office servers may be located in the store (e.g.

Retailers can make a significant investment in POS systems. After a long Request for Proposal (RFP), retailers choose their POS provider. Once the investment has been made, they only upgrade it occasionally.

Although POS systems have always had challenges, the popularity of couponing and the rise of mobile phones has made it more urgent for retailers to find ways to support these functions as soon as possible. It is possible to redesign and improve POS software in order to support coupon redemption and integration with mobile channels. However, this is expensive and time-consuming.

“FIG. 1. A typical POS configuration 1 includes a POS terminal 3, a receipt scanner 5, a barcode reader 7, a data entry device 9, and a data input device 9 to enter PIN codes (the ‘Pin Pad?). Back-office servers 11, and a payment processing service 13. The POS terminal, back office servers 11, and the payment processing server 13 communicate with each other via a network 15. (This could be a local network or an Internet connection, or a combination of both).

“The POS terminal 3 consists of a point-of-sale application software module 17, which communicates with a product data base 19, and a payment software module 21.”

“The payment application software module 21 and point-of-sale software module 17 are in communication with each other via the network 15, with the receipt scanner 7, 5 and 7 as well as with the back office servers 11 and 13 via the network 15.

“The point-of-sale software module 17 records items that are to be sold, calculates the total balance, triggers any pre-configured promotions and then accepts multiple payment methods. Items are typically input using the scanner. The scanner 7 will scan barcodes on outside packaging and pass them to the POS software module 17. The POS software module 17 will query the local database 19 in order to retrieve the item’s price. This information may then be displayed on a screen (not illustrated in FIG. 1).”

“After scanning all items, the cashier asks customers to confirm which payment method they prefer. If the user chooses to pay with a card, the POS software module 17 links to the payment software module 21.”

“The payment software module 21 controls an external device 9 to obtain the credit card details, and optionally, the PIN associated with the cards. The payment application software module can interface with a magnetic strip scanner (which may be integrated into the device 9) to read the card details.

“Once payment has been made, the POS software module 17 format details of the transaction and sends them off to the receipt printer. Two or more receipts may be printed in many cases: one for each customer and one for each retailer. The retailer receipt may contain more information than that of the customer (for example, the last 4 digits of the card used). The retailer copy of the receipt may contain more information than the customer one (e.g., full card details while the customer receipt only contains the last four digits of card used).

“The payment software module 21 (the payment application software module) is responsible for authorizing the card to be paid, verifying the PIN and authenticating the card. The network connection allows access to the payment processor 13. The payment processor 13 can be hosted within or outside of the retailer’s premises. In that case, it will connect to the payment processor 13 via the network connection 15. dedicated communications network, or mobile telecommunications network. The POS software module 17 uses the network 15 to transmit transaction details to back-office servers 11.

“The POS software module 17 usually runs on a common operating system (e.g. Microsoft Windows or Linux. The POS terminal 3 connects to each device externally using standard connectors. These connectors can be used for serial, parallel, USB, Ethernet, and USB ports. A consortium of companies including NCR, Epson and Fujitsu?ICL developed a standard interface between all devices to facilitate interoperability among POS software, payment software vendors, and other device vendors. These standards are usually implemented in Java and COM technologies and are known as JAVAPOS (or OPOS).

“JAVAPOS” is an implementation of the standard using the JAVA language. It has the same architecture and structure as OPOS. There are a set JAVA class that defines the API interface, and another set of JAVA class that defines the implementation of those interfaces, known service objects. JAVA typically implements these service objects from the manufacturer.

“FIG. “FIG. The printer 5 and scanner 7 in FIG. 1) and the POS software module 17. The POS software module 17 can access the physical device 23 via an OPOS application programming interface (API 30). An OPOS device 32 is used to communicate between the POS software module 17 (and the physical device 23) and the POS terminal 3/.

“The OPOS device consists of an OPOS Device Control Module 34 that provides interface for the POS software module 17 and an OPOS Device Service Module 36 that provides communication to the device 23.”

“The OPOS Device Service Module 36 implements details of the physical device 23, and is usually provided by the hardware vendor. The POS software module 17 can call the following method to print receipt data:

“PrintNormal(Integer Station String DataToBePrinted),”

“Similar APIs are also available for scanner 7. The scanner property called ‘ScanData? is independent of whether the scanner is attached to the POS terminal 3. The scanned data is always stored by the POS application software module 17. The POS software module 17 can read the data from the scanner and will store the barcode.

“An arrangement similar to that in FIG. 2. may be used to describe a JAVAPOS program for interfacing a POS module with a physical device.

“To access the stream data sent by the POS software module 17 requires a modification to the application. The code can then be added in order for the data to be accessed.”

“Retailers are seeking ways to understand customers and reach them through multiple channels. They also want to use mobile phones to connect with customers and collect data about their experience in stores. POS software and hardware would need to be modified in order to support these activities.

A retailer might use a second printer to print coupons right at the point-of-sale till to reach customers. Retailers who use this method must have a loyalty program, a set to colour printers, and targeted software. This is very expensive. This printer is expensive because it costs hundreds of pounds to buy a single one. It can also be very expensive for large environments that have multiple point-of-sale terminals.

“It is evident that modifying the standard point-of-sale environment is a major undertaking requiring access transaction data (which requires the POS hardware/or software be modified), associating transaction information with a loyalty card and having another piece software print offers through a secondary printer.

“The present invention provides a method for modifying/enhancing functionality of a point-of-sale system without the need to add new hardware or modify proprietary software modules of POS providers.”

“Accordingly to a first aspect, there is a method for operating a point-of-sale (POS) system. The POS system comprises a POS terminal with a software program module that allows a retailer to process transactions in a transaction environment. A peripheral device communicating with the POS terminal also has a driver module. This method includes: receiving data at the driver module; communicating with a second device in dependence on the data received at driver software; receiving modified data from this device; and then outputting the modified data

A typical point-of-sale (POS) system might include a terminal that is basically a computer. At a till in a supermarket checkout lane. One or more software modules may be installed on the POS terminal (?a software module that allows a retailer process transactions in a transaction environment?). The POS terminal could include a point of sale application software module or a payment software module, as mentioned above. These software modules would communicate with one or more hardware devices, such as a scanner and printer in conventional arrangements.

The software module could be proprietary to a point of-sale software provider. It may also be a closed component that a retailer cannot alter or modify. The hardware device could also be proprietary and the retailer may not be able to modify or alter it easily.

It is therefore a difficult task both financially and technically to modify the POS system.

The present invention provides a method for altering functionality of the POS system. It includes a driver software module that is to be installed in data communication path between proprietary software modules and hardware devices (peripheral devices). This allows communications to be made, such as from a POS application software module to a printer or from a scanner to a POS application software module. Communications, e.g., from a POS software module to a print device or from a scanner and a POS software module to a printer, can be easily intercepted. The data could then be diverted, e.g. To a “further device?” Such as a remote or local server or computer or any other modification. This allows the POS system to be more functional without the limitations of older methods. You can install the driver software module on your POS terminal.

“Conveniently, a POS terminal could include a point-of-sale application software module. Data received at the driver software software module may contain transaction data. The software module could communicate with a database that contains details about transaction items. A payment application module module can also be part of the POS terminal. Data received from the driver software module could include payment data related to transactions processed by the POS system.

“Conveniently the communicating with a second device step may include the driver software module sending data from the first receiving step (from POS terminal software module, peripheral device) or a portion thereof. The driver software module can forward data it receives to the further device (e.g. Without modification, the driver software module may forward data it receives onto another device (e.g. remote server). It may also add or prepend additional information. Further, the driver software module can only forward extracts or processed versions of the received data.

“The driver software module can receive data from the POS terminal module that has been formatted according to the requirements of the peripheral devices. The received modified data from the further device could be formatted to meet the requirements of that device, or formatted to meet the requirements by the driver software module. The peripheral device will not be able to see this data. The driver software module is not seeing the problem because it still receives correctly formatted data from it as if it came from a standard POS module.

“The remote server may be the further device. Transaction data and details related to transaction data can be sent to remote servers where they can be processed. To validate that transaction items are present in transaction data to confirm the offer terms have been fulfilled or provide additional services, e.g. To host a loyalty program. This gives consumers the opportunity to sign up for a loyalty program that is independent of retailers. In other words, the retailer might not be a part of the scheme. So that any transaction that a consumer makes in any retail environment could be included in the loyalty scheme.

“The peripheral device could be a scanner, printer, or any other device that is convenient such as a touchpad or display device.

“Where the peripheral device (a printer) is a printer the modified data might comprise the data received at the POS terminal along with a barcode that was added by the additional device. For printing the receipt, the transaction data and barcode can be sent to the printer. The consumer can then access the transaction data and barcode via the additional device. The barcode could contain a copy transaction data, so the consumer can retrieve a digital copy (e.g. By reading the barcode using a suitable mobile device, such as an ‘app? On a smartphone, or tablet. A barcode can also be used to identify information online (e.g. A copy of a transaction held online at a transaction servers or for accessing remote computing devices to access additional services (e.g. A loyalty program, for retrieving transaction offers from transaction servers or retrieving questionnaires for consumers to complete. One embodiment may allow the consumer to access all of the functionality.

“The barcode could be either a QR or two-dimensional code.

“To address this issue, the driver software module might receive data from a scanner device that scans a voucher barcode. The barcode can then be analysed to find a unique identifier. Driver software module may then communicate remotely with the server device to verify the unique identifier. This allows paper-based vouchers to be processed accurately in a retail environment. The driver software module may also provide details about the transaction data (received via the POS software module) to remote server. Remote server may then be able to compare the transaction data with the scanned voucher. This prevents the possibility of misclassification of vouchers within a retail environment. This allows retailers to accept and process any vouchers not included in their loyalty program or other offers. Modified data may include the voucher barcode. The driver module can then output the modified data directly to the POS terminal. It is possible for the driver module to be configured to format modified data from the further device according to the requirements of POS terminals.

“Conveniently, as noted above the driver module can send details of voucher barcodes scanned by a scanner and transaction details from transactions recorded at a POS terminal, to the further device so that they can be processed and verified.”

“The driver software module can receive transaction data from a POS terminal, and voucher related data via a scanner. To verify that an offer has been accepted, the transaction data and the voucher data can be sent to another device.

“The driver software module can be easily integrated into the POS system in a variety of ways.”

“Where the POS terminal includes a driver stack arranged for operation of the peripheral devices, the driver software module might be arranged within the driver stack to be a filter drive.”

The driver module can be found between the OPOS service module and OPOS control module if the POS terminal contains an OPOS (an OPOS devices control module and an OPOS service module). The driver software module in JAVAPOS environments may be placed between a JAVAPOS service module and a JAVAPOS module control module. The driver software module can also be installed as an OPOS or JAVAPOS layer logical service object.

“In the event that data is rasterised at high levels by a printer driver,” the driver software module might include an API hook.

“The driver software module can output modified data to a variety of destinations. For example, it may output the modified data to the peripheral device or devices that are part the POS system (e.g. printer, scanner, display, payment terminal etc.) Or to another peripheral device (e.g. secondary printer). The destination device for the modified data could be one or more near-field communication enabled devices. The modified data can then be sent via NFC communication from the POS terminal back to the destination device. Modified data can include transaction data, data to print on a coupon/voucher, data about the customer/consumer, formatting data for the printer device (e.g. Instructions to print double-sided or in color, and other data.

“The driver module could be a data parser Module.”

“The present invention, as described above, allows retailers to extend the POS to allow targeted coupons at till and QR-based loyalty. This is all done without any changes to the payment processing software or POS.

“Accordingly to a second aspect, there is a point-of-sale terminal that is capable of processing transactions in a transaction environment. The software module allows a retailer to use POS terminal to make purchases. A driver software modules is installed between the software and peripheral devices. This driver software module can be configured to: receive data between the software and peripheral devices in communication with the POS terminal; communicate to a further device based on the data received from the driver software; receive modified data from this device; and out

“Accordingly to a third aspect, there is a method for enhancing functionality of a point-of-sale (POS) system. The POS system comprises a POS terminal with a software program module that allows a retailer to process transactions in a transaction environment. A peripheral device is also in communication with POS terminal. The driver software module is installed between the software modules and the peripheral devices. It’s used to receive data between the software modules and to communicate with a second device based on the driver module; to receive modified data from the other device; and then output the modified data

“Accordingly to a fourth aspect, the present invention provides a method for operating a transaction terminal in communication with a POS Terminal according to the second aspect. This includes: receiving data from the POS Terminal; processing the data to create modified data; and outputting the modified data at the POS Terminal.

“Conveniently where transaction item data and related data are received from the POS terminal, the processing step might include determining whether transactions have been associated with scanned coupons in the transaction data to confirm that an offer has been accepted.”

“Conveniently data received from POS terminals may include transaction data that is stored together with loyalty and card information.”

“The transaction data that is received from the POS terminal could include transaction data (which may be stored against a consumer identifier) which may in turn be derived from a consumer’s payment card in an online registration process. A request for transaction data stored in the server’s transaction server might be received by the transaction server from a mobile device. A barcode scanning app may be included in the mobile device. This application scans a receipt barcode for an identifier that locates transaction data stored on the server.

“An alternative arrangement is that a mobile device can obtain transaction data from a barcode on a receipt. This data may be uploaded along with loyalty sign up data to the transaction server.”

“The transaction server could be set up to store future and current transaction data for a consumer or mobile device. This allows multi-transaction offers (e.g. An offer that requires the consumer to buy X items within a certain time period may be offered to them to get a credit or another type of reward. Multi-transaction offers can be made by sending transaction data to the transaction servers for storage.

“It will be appreciated, that the preferred and/or optional elements of the first aspect may also be provided in the second and third aspects of the invention, either individually or in combination.”

“The invention includes a carrier media for carrying a code that can be read by a computer to control a terminal or computer to execute the method of first aspect. A carrier medium is also available for carrying a code that can be used to control a server to perform the methods of first, third, and fourth aspects.

“The present invention, as described above, allows you to add a point of sales system to any existing payment processing system. This will allow you to associate partial or full payment card numbers with a loyalty card or any derivatives thereof. The details of the transaction are printed on the receipt. An offer engine can select the most appropriate offer to send to each card holder by using a partial or full card number, or its derivative. Coupons can be printed at the till with the same printer that prints receipts. By the action of the driver module, offers can also be printed at another printer than the receipt printer. Relevant offers can be sent to customers using any connection between a POS device and a customer’s mobile device. Any connection to the till can be used to send transaction data from receipts to mobile devices. This invention allows for the extension of any existing point-of-sales system to intercept and modify data sent to the receipt printer. The receipt data can be intercepted and modified. A receipt may also have an additional code printed on it. You can arrange the code so that it can be read automatically or manually entered into a mobile device using an app running on the device. This will allow you to recover the digital format. An application running on the device may read the additional code and use it to associate the user to current transactions in order to create a history of transactions. The mobile application may process the code and present rewards, feedback requests, or requests for reviews to the user. The code can encode a loyalty or payment card and permit the application to retrieve the card or any derivatives. These cards can then be used to associate the user with transactions in which any of the cards are used. Reward or feedback may be contingent on items in the current basket, total amount spent on a transaction, history of purchases, or other rewards. An external application may verify the scan data and translate it to code the POS software can understand.

“FIG. “FIG. It should be noted that similar numerals can be used throughout the claim set to denote like features.

“The architecture shown in FIG. “The architecture shown in FIG. 2. However, the OPOS 32 now includes a virtual driver software module 40. It is located between OPOS service module 36 and OPOS device control module 34.

“The driver software module 40 allows data communications between the POS software module 17 and the payment software module 21 to be monitored and intercepted at the physical device 23. Data communications from outside the POS 1 can be inserted into OPOS 32 via driver software module 40 and routed to the physical device 23 as well as the POS 17/payment 21 software modules. This allows transactions information to be extracted from the POS 1 and added to the communication path between the POS terminal 3, and physical devices (5, 7)

“In detail, the virtual driver software module forty may be installed and used as follows:

“Installation step: The virtual physical driver software module 40 can be placed onto the POS terminal 3, so that it sits between OPOS device control software modules 34 and 36.”

“In a first operational stage, each command from either the POS software module 17 or 21 to the physical device 23 can be monitored and passed on to a data stream parser 42.”

“In a second operational stage, the data streamparser module 42 can parse the data and create a list or transaction items; total amount spend; details about any promotions; cashier’s name or id and/or other data of interest. A regular expression parser may be used to achieve the data stream parser module 42. The stream parser42 may also be able to parse details about the cards used. This includes partial details such as expiry date and last 4 card numbers, but complete details if possible. The virtual physical driver module 40, which is used by the payment application software module 21, may also be able to intercept additional information when printing the retailer’s receipt.

“In a 3rd operational step, the virtual physical driver module 40 might pass the card data and transaction data derived from the 2nd step to a 3rd party system 44 (the server 60/64 referred to below could be a 3rd party system).

“In a fourth operational stage, the third-party system 44 may send modified data to virtual physical driver module40 which can then be supplied via OPOS device service software module36 to the physical device 23. This allows modified data (or a portion thereof) to be printed on the customer’s receipt in the case where the physical device 23 corresponds to the receipt printer 5.

“The virtual driver module 40, described above, allows existing POS hardware without modification to accomplish the following:

“It should also be noted that a POS terminal module (either POS software module 17 nor Payment software module 21), may communicate with a physical device directly, rather than using OPOS or JAVAPOS interfaces. There are two possible arrangements: (1) The software module (17, 21), may use ESC/POS (a command-language used to drive receipt printers or a similar language) to write directly to a serial port on a hardware device or a USB device. (2) The software module may also use a high level printing API (for e.g. Windows printing architecture. It sends rasterised data directly to the connected device.

“In arrangement (i), above, the data sent by the printer is a digital copy the receipt that can be parsed into text. The data sent to printer in arrangement (iii) is binary and cannot be parsed as text.

“In arrangement (i), a virtual driver software module 40 could be used as a filter driver, as shown in FIGS. 31, 32. FIG. 31 illustrates a known POS terminal environment before modification according to an embodiment of this invention. It includes a user space 500, and a kernel area 502, in which an application 17, 21, may read and write data to a physical devices (5, 7) using a device driver 504 as well as upper (506) or lower (508) filter drivers.

Filters can work with a particular brand of device, such as a keyboard or mouse, or they might perform some operation on any class of devices such as any keyboard or mouse. The bus filter driver may be an additional type of driver. An ACPI bus filter, for example, is used to provide power management support for each device.

“Turning towards FIG. 32. An embodiment of the present invention is shown. It can be seen in which the virtual device software module40 may be implemented as a filter drive either below the lower filter driver 508 or above the upper filter driver 506.

“In arrangement (ii), a virtual driver can be implemented as an operating system library that hooks into the original API with its own API hook. As shown in FIGS. 33 and 34, the virtual driver 40 can then transfer API calls to the original library.520. 33 and 34

“Most OPOS and JAVAPOS service objects communicate with the hardware via the OS’s hardware driver. The virtual driver software module 40 can be beneficially installed in the JAVPOS and OPOS layers as a filter driver. It may be simpler to change the configurations of JAVAPOS or OPOS layers to allow for a filter driver than to modify the drivers stack.

“As mentioned above, the virtual driver module 40 allows data to be printed on the receipt that the customer receives at closing of the transaction. This allows the following manipulations to be done to the receipt:

“Further applications that result from the virtual driver module 40’s use include:

“It should be noted that the virtual driver module40 may be used to call another service, either locally or remotely, to retrieve an offer. The offer will be formatted to be printed to the printer that prints receipts. You can target the offers to customers based on the items in your current basket, customer history or any combination thereof. Any offers that the customer retrieves or sends to the customer can be printed using any printer device that is accessible from terminal 3.

“As mentioned above, the virtual driver module40 may be used for coupon and vouchers that have a barcode 50 printed on it. The architecture shown in FIG. 2 can be used to verify that each barcode is valid. 2. may be applied to data from the scanner 7, so coupons and vouchers can be validated as following:

“Further embodiments are described below.”

“Multi-Transaction System”

“The POS system described in relation to FIGS. 2, 3 and 4 may be used to manage a transaction system that tracks a user across multiple transactions.

“As noted above, FIG. 1. shows an example of a point-of-sale configuration.

“FIG. 8 gives a high-level overview of the process (70, 72,. . . 84) for creating and redeeming multipurchase offers. The retailer is presumed to have created the offer and distributed it via a suitable medium (social media, print media, or web). You can digitally sign an offer to protect against counterfeiting using the process illustrated in FIG. 14-a.”

“FIG. “FIG. 9 illustrates the sign-up process and provides an overview of the tables 68, 56, and 86 that are maintained by the offer server 60 per user. The customer will be prompted to sign-up to offers by using a 54-inch mobile device running the mobile application 56. Signing up for offers will allow the customer to receive offers and associate them to his/her account. They can also redeem them. The customer must choose a name and password for sign-up. This information is shown in step 69. This user is created by the offer server 60 in table 68. This entry contains a username and password that can be used to authenticate the customer. Customers can associate this account with any loyalty or payment cards they have. If the customer wishes to do so, the columns cards 90 will hold the card identifiers. The column multi-purchase offer 92 will be populated as the user associates offers to his account. Each offer can be tracked using the column status column 94. This column is expanded in table86 and shows:

“FIG. “FIG. Buffer 132 is created from the memory of the POS till and initialized to an empty buffer.

“FIG. “FIG.

“FIG. “FIG. 12 illustrates the process of decoding transaction information from receipt 52. Mobile device 54 with a scanning function scans QR code 52 printed on paper receipt 52. The mobile application converts the scanned data to original receipt data and sends it to offers server 60. A camera may be used to scan the QR code on the mobile device 54.

“FIG. 13 shows how to update the offer status tableau 86 with the latest transaction. This allows the customer to “upload?” Transaction data, as printed on the receipt of the customer, is sent to the offers server 60. This allows the server to keep track of what the customer has purchased.”

“FIG. 14 illustrates the process of creating and verifying digital signatures. FIG. FIG. 14-a illustrates how transaction data printed in a 2D barcode 50 is first digitally signed prior to being printed on the receipt 52. FIG. FIG.

“FIG. 15 shows how offers can be digitally signed by the retailer/manufacturer (FIG. The process of signing an offer is shown in FIG. 15-a. FIG. 15-b (FIG. 15-b (FIG.

“FIG. 16 shows how an offer published by the retailer/manufacturer is activated, that is associated with the user account.”

“FIG. 17 shows a POS till 3, with NFC device 235, attached. This can be used to collect transaction data instead of asking customers to scan the 2D Barcode 50. This configuration allows the POS to transfer the buffer 132 data directly to the customer’s mobile device 54. Instead of encoding the data into a 2-D bar code 50 and printing it into a receipt 52, this configuration uses NFC hardware attached at the POS terminal. The receipt is not printed with a 2D bar code.”

“FIG. “FIG.

“Method for Redeeming Offers”

“The POS system described in relation to FIGS. 2, 3 and 4 may be used to run a transaction system that allows you to redeem offers in a transaction environment.

Click here to view the patent on Google Patents.

How to Search for Patents

A patent search is the first step to getting your patent. You can do a google patent search or do a USPTO search. Patent-pending is the term for the product that has been covered by the patent application. You can search the public pair to find the patent application. After the patent office approves your application, you will be able to do a patent number look to locate the patent issued. Your product is now patentable. You can also use the USPTO search engine. See below for details. You can get help from a patent lawyer. Patents in the United States are granted by the US trademark and patent office or the United States Patent and Trademark office. This office also reviews trademark applications.

Are you interested in similar patents? These are the steps to follow:

1. Brainstorm terms to describe your invention, based on its purpose, composition, or use.

Write down a brief, but precise description of the invention. Don’t use generic terms such as “device”, “process,” or “system”. Consider synonyms for the terms you chose initially. Next, take note of important technical terms as well as keywords.

Use the questions below to help you identify keywords or concepts.

  • What is the purpose of the invention Is it a utilitarian device or an ornamental design?
  • Is invention a way to create something or perform a function? Is it a product?
  • What is the composition and function of the invention? What is the physical composition of the invention?
  • What’s the purpose of the invention
  • What are the technical terms and keywords used to describe an invention’s nature? A technical dictionary can help you locate the right terms.

2. These terms will allow you to search for relevant Cooperative Patent Classifications at Classification Search Tool. If you are unable to find the right classification for your invention, scan through the classification’s class Schemas (class schedules) and try again. If you don’t get any results from the Classification Text Search, you might consider substituting your words to describe your invention with synonyms.

3. Check the CPC Classification Definition for confirmation of the CPC classification you found. If the selected classification title has a blue box with a “D” at its left, the hyperlink will take you to a CPC classification description. CPC classification definitions will help you determine the applicable classification’s scope so that you can choose the most relevant. These definitions may also include search tips or other suggestions that could be helpful for further research.

4. The Patents Full-Text Database and the Image Database allow you to retrieve patent documents that include the CPC classification. By focusing on the abstracts and representative drawings, you can narrow down your search for the most relevant patent publications.

5. This selection of patent publications is the best to look at for any similarities to your invention. Pay attention to the claims and specification. Refer to the applicant and patent examiner for additional patents.

6. You can retrieve published patent applications that match the CPC classification you chose in Step 3. You can also use the same search strategy that you used in Step 4 to narrow your search results to only the most relevant patent applications by reviewing the abstracts and representative drawings for each page. Next, examine all published patent applications carefully, paying special attention to the claims, and other drawings.

7. You can search for additional US patent publications by keyword searching in AppFT or PatFT databases, as well as classification searching of patents not from the United States per below. Also, you can use web search engines to search non-patent literature disclosures about inventions. Here are some examples:

  • Add keywords to your search. Keyword searches may turn up documents that are not well-categorized or have missed classifications during Step 2. For example, US patent examiners often supplement their classification searches with keyword searches. Think about the use of technical engineering terminology rather than everyday words.
  • Search for foreign patents using the CPC classification. Then, re-run the search using international patent office search engines such as Espacenet, the European Patent Office’s worldwide patent publication database of over 130 million patent publications. Other national databases include:
  • Search non-patent literature. Inventions can be made public in many non-patent publications. It is recommended that you search journals, books, websites, technical catalogs, conference proceedings, and other print and electronic publications.

To review your search, you can hire a registered patent attorney to assist. A preliminary search will help one better prepare to talk about their invention and other related inventions with a professional patent attorney. In addition, the attorney will not spend too much time or money on patenting basics.

Download patent guide file – Click here