Nothing Special   »   [go: up one dir, main page]

US8861009B2 - Function expansion method using print data for a point-of-sale terminal - Google Patents

Function expansion method using print data for a point-of-sale terminal Download PDF

Info

Publication number
US8861009B2
US8861009B2 US13/955,272 US201313955272A US8861009B2 US 8861009 B2 US8861009 B2 US 8861009B2 US 201313955272 A US201313955272 A US 201313955272A US 8861009 B2 US8861009 B2 US 8861009B2
Authority
US
United States
Prior art keywords
function expansion
data
print data
communication port
printer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US13/955,272
Other versions
US20130314727A1 (en
Inventor
Tadashi Furuhata
Akio Takamoto
Tomohiro Kodama
Hitoshi Oyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to US13/955,272 priority Critical patent/US8861009B2/en
Assigned to SEIKO EPSON CORPORATION reassignment SEIKO EPSON CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FURUHATA, TADASHI, KODAMA, TOMOHIRO, OYAMA, HITOSHI, TAKAMOTO, AKIO
Publication of US20130314727A1 publication Critical patent/US20130314727A1/en
Priority to US14/470,295 priority patent/US9030704B2/en
Application granted granted Critical
Publication of US8861009B2 publication Critical patent/US8861009B2/en
Priority to US14/686,250 priority patent/US10248944B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/209Specified transaction journal output feature, e.g. printed receipt or voice output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G5/00Receipt-giving machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Definitions

  • the present invention relates to a method of expanding the functions of an existing application using print data output from the application, and relates more particularly to a method of easily expanding application functionality without changing the existing application.
  • Point-of-sale (POS) systems which are a type of sales management system, are commonly used in supermarkets and other retail stores.
  • the POS server and plural POS terminals (registers) of a POS system are connected over a network, and each operates and runs specific processes based on the applications installed in each device.
  • a printer is normally connected to each POS terminal, and outputs receipts and coupons as instructed by the application.
  • Systems that are architecturally similar to POS systems and output information in various forms are also deployed in businesses such as hospitals and shipping companies.
  • Japanese Unexamined Patent Appl. Pub. JP-A-H08-69427 teaches a device that performs a modem function in a personal computer that can eliminate the microprocessor and memory required in a conventional modem without needing to modify the existing application program.
  • Japanese Unexamined Patent Appl. Pub. JP-A-2006-338443 teaches a device that can access one communication port and cause a printer connected to another communication port to simultaneously print a duplicate copy without modifying the application program.
  • JP-A-H08-69427 and JP-A-2006-338443 only address limited output system functions such as the modem and a duplicate printing function, however, and do not address many other needs.
  • JP-A-2006-338443 operates at the operating system kernel level, constructing new functions (program development) is not generally easy and function is limited.
  • An object of at least one embodiment of the present invention is to provide a method of expanding the functions of an existing application using print data output from the application, and more particularly to provide a function expansion method that can easily provide a variety of additional functions without changing the existing application program.
  • a first aspect of at least one embodiment of the invention is a function expansion method for executing a process that expands application functionality, runs on a computer that operates according to an operating system on the operating system kernel layer, executes a specific process according to an application on an application layer, and has one or more communication ports
  • the function expansion method including: a data acquisition step in which the computer acquires print data output from the application to the communication port at the operating system kernel layer before the print data is received at the communication port; and a function expansion step in which the computer performs at the application layer a process expanding the function of print data acquired by the data acquisition step, and outputs the print data after processing to the communication port suited to the data.
  • the function expansion step includes a step of analyzing the acquired print data, and determining the content of the function expansion process and the communication port used for data output based on the result of the analysis.
  • the function expansion step includes a step of executing a command conversion process when the commands expressed by the acquired print data and the commands of the device connected to the selected output communication port differ.
  • the content of the function expansion process includes any of a group of operations including changing the print content of the print data, changing the output communication port, generating print data for a new printout, or acquiring information from the print data.
  • Another aspect of at least one embodiment of the invention is a function expansion device that executes a process that expands application functionality is rendered by a computer that operates according to an operating system on the operating system kernel layer, executes a specific process according to an application on an application layer, and has one or more communication ports, the function expansion device including a data acquisition unit that acquires print data output from the application to the communication port at the operating system kernel layer before the print data is received at the communication port; and a function expansion unit that performs at the application layer a process that expands the function of print data acquired by the data acquisition unit, and outputs the print data after processing to the communication port suited to the data.
  • Another aspect of at least one embodiment of the invention is a computer-readable recording medium that records a program that causes a computer to execute the steps of the function expansion method described above.
  • the recording medium can be a tangible recording medium or a non-transitory recording medium.
  • FIG. 1 is a block diagram showing the configuration of a POS system and POS terminal devices according to the invention.
  • FIG. 2 is a function block diagram of a POS terminal device.
  • FIG. 3 is a flow chart of the function expansion process.
  • FIG. 4 describes an improvement of the POS system.
  • FIG. 1 shows an example of a POS terminal according to this embodiment of the invention.
  • FIG. 2 is a function block diagram of the POS terminal device.
  • the POS terminal 2 shown in FIG. 1 and FIG. 2 is a device that uses the invention, and acquires print data output from a POS application 201 at the virtual port 203 (data acquisition unit) of the OS kernel layer 230 .
  • the POS terminal 2 receives the acquired data at the port handler 204 of the application layer 220 , and executes a specific function expansion process.
  • the processed print data is then output from the port handler 204 to the communication port 209 corresponding to the processed data.
  • the POS terminal 2 can easily expand the functions of the existing POS application 201 without changing the POS application 201 program.
  • This embodiment of the invention describes a POS system such as used in a supermarket, and as shown in FIG. 1 has a plurality of POS terminals 2 connected through a network 4 to a POS server 1 .
  • the POS server 1 is a computer system that manages the plural POS terminals 2 , and runs processes to tabulate and manage data acquired from the POS terminals 2 .
  • a POS terminal 2 is installed at each register, and each POS terminal 2 is connected to a printer 3 .
  • the printer 3 outputs receipts and coupons based on print data output from the POS terminal 2 .
  • the POS terminal 2 is thus positioned as the host device of the printer 3 .
  • each POS terminal 2 includes a POS terminal device 21 , display 22 , keyboard 23 , barcode reader 24 , and card reader 25 .
  • the display 22 displays product prices, for example, to the customer, and the keyboard 23 is used by the operator to input product information including prices and product codes, and customer information such as sex or age.
  • the barcode reader 24 is used to get product information by reading product barcodes.
  • the card reader 25 reads information stored on a card and retrieves information needed to complete the transaction.
  • the POS terminal device 21 generates and outputs information printed on the receipts or coupons to the printer 3 based on information acquired by the keyboard 23 , barcode reader 24 , and card reader 25 .
  • the POS terminal device 21 is a computer including a CPU, RAM, ROM, and hard disk drive or other storage device not shown.
  • a POS application 201 program described below and a program for function expansion processing are stored in ROM, and processes are executed by the CPU operating according to these programs.
  • the functional configuration of the POS terminal 2 is shown in FIG. 2 .
  • the POS application 201 of the POS terminal 2 runs a process to generate and output the information printed on receipts and coupons, and the data generated at this time is the source data before function expansion.
  • the generated print data is in the format output directly to the printer 3 A, or data in the format passed to the driver 202 of the printer 3 A.
  • the former type is generated when generating simple print data for printing plain text.
  • the printer driver 202 is a printer driver for the printer 3 A, and outputs the data output from the POS application 201 as print data based on the command system for the type of printer 3 A (device) so that it can be received and printed by the printer 3 A.
  • the POS application 201 and printer driver 202 belong to the application layer 220 on which programs execute processes based on the operating system (OS) of the computer. Both the POS application 201 and printer driver 202 are rendered by programs stored in ROM that specify the content of each process, and a CPU and other hardware components that execute processes based on the programs.
  • OS operating system
  • the virtual port 203 receives the print data (referred to herein as the “source print data”) output from the POS application 201 or printer driver 202 at the OS kernel layer 230 where the operating system resides before the data is passed to the communication port 209 .
  • the virtual port 203 passes the acquired source print data to the port handler 204 .
  • the port handler 204 , data interpreter 205 , data processor 206 , command converter 207 , and data storage unit 208 are the function expansion units that use the source print data, and POS application 201 functionality is expanded by the processes executed by these parts
  • the port handler 204 passes the source print data received from the virtual port 203 to the data interpreter 205 , and runs a process that receives print data output from the function expansion process (referred to here as the “processed print data”) and outputs the processed print data to the appropriate communication port 209 A/B.
  • the data interpreter 20 analyzes the source print data and determines the content of the function expansion process, and determines the communication port 209 to which the processed print data is output.
  • the data processor 206 processes the source print data according to the process content determined by the data interpreter 205 .
  • the command converter 207 runs a process to convert commands when the command language used by the printer 3 A/ 3 B connected to the communication ports 209 A/ 209 B specified by the source print data differs from the command language of the printer 3 connected to the communication ports 209 A/ 209 B to which the processed print data is output.
  • the data storage unit 208 stores data used by the data interpreter 205 and data processor 206 .
  • logo data is stored, for example, and is used when adding a logo to source print data for a receipt that does not contain a logo.
  • the data storage unit 208 is a hard disk drive or other storage device.
  • virtual port 203 port handler 204 , data interpreter 205 , data processor 206 , and command converter 207 are rendered by respective programs that implement the processes executed by each unit, and a CPU and other hardware components that execute the processes according to the programs.
  • the programs associated with these parts are function expansion programs according to the invention.
  • the POS terminal 2 also includes communication port 209 A and communication port 209 B on the physical device layer 240 .
  • Communication port 209 A is connected to printers 3 A and 3 B.
  • communication port 209 A is a serial communication COM port
  • communication port 209 B is a USB communication port for USB devices.
  • the printers 3 may be different types of printers, and in this embodiment of the invention printer 3 A is a monochrome printer, and printer 3 B is a color printer, for example.
  • the POS terminal 2 has two communication ports 209 A/ 209 B and two printers 3 A/ 3 B are connected to the POS terminal 2 in this embodiment of the invention, but the number of communication ports and printers is not so limited, and there may be one or three or more of each.
  • the POS terminal 2 configured as described above runs a POS application function expansion process using the source print data, and specific steps in this process are described below.
  • FIG. 3 is a flow chart of the steps in the function expansion process.
  • the source print data is output directly from the POS application 201 or through the printer 3 A driver 202 (step S 1 ).
  • the source print data is, for example, print data for a receipt to be output from printer 3 A, communication port 209 A is therefore specified as the communication port of the output device, and the source print data contains commands for printer 3 A.
  • the output source print data is intercepted by the virtual port 203 before it reaches the specified communication port (communication port 209 A in this example) (step S 2 ).
  • This process is achieved by configuring the registry (priority settings) so that data output to any communication port 209 is first received by the virtual port 203 . This configuration change is made when the OS boots up.
  • the received source print data is then passed from the virtual port 203 to the port handler 204 on the application layer 220 (step S 2 ).
  • the port handler 204 then passes the received source print data to the data interpreter 205 (step S 3 ).
  • the data interpreter 205 interprets the commands in the source print data, and analyzes the data content (step S 4 ).
  • the content of the function expansion process and which communication port 209 to address are determined based on the results of this analysis.
  • the data interpreter 205 determines the type of printout produced by the source print data (such as a receipt, coupon, or journal), checks if specific data (text stringer image) is contained in the source print data, or determines the content of specific data in the source print data, for example, and determines the content of predefined processes according to the results of these operations.
  • the data interpreter 205 also determines the communication port 209 corresponding to the printer 3 suited to output the processed print data obtained from these processes.
  • the content of the function expansion process may include, for example, changing the content printed by the print data (such as adding or deleting data), changing the output printer 3 , generating new output, or using information contained in the print data for other purposes, and specific content is predefined from among these operations.
  • a more specific example of function expansions is described below.
  • the output device communication port selected by the data interpreter 205 is reported to the port handler 204 , and content of the function expansion process (process content) is reported to the data processor 206 .
  • the data interpreter 205 also references data stored in the data storage unit 208 as needed by the process steps. For example, information linking analysis results to process content is stored in the data storage unit 208 . Note that if the process content and output device are fixed irrespective of the source print data, the data interpreter 205 is not required and the source print data is passed from the port handler 204 to the data processor 206 .
  • the data processor 206 processes the source print data (step S 5 ). More specifically, the data processor 206 processes the print data according to the previously determined function expansion process content, and generates processed print data. A specific example of this process is described below. Data in the data storage unit 208 may also be referenced as needed in this process. When there are plural processes to perform, the data processor 206 may include plural processing units corresponding to the individual process content. In addition, if the data interpreter 205 determines that data processing is not needed, the data processor 206 does not perform a processing operation.
  • the command converter 207 runs a command conversion process (step S 6 ).
  • the command conversion process is executed when the output device is changed to printer 3 B.
  • the processed print data is then passed to the port handler 204 . Note that when command conversion is not necessary, the print data sent from the data processor 206 is passed to the port handler 204 .
  • the port handler 204 then outputs the processed print data that was received to the selected communication port (step S 7 ).
  • the port handler 204 outputs to communication port 209 A and/or communication port 209 B. Note that when a function expansion process is not executed, the source print data is output to the specified communication port (communication port 209 A in this example).
  • the print data is then sent from the communication port to the connected printer 3 , the printer 3 prints according to the received print data and a receipt or other printout is output (step S 8 ). For example, monochrome printing is output from printer 3 A, and color printing is output from printer 3 B.
  • An example of a process that changes the output content of the print data and is applied to the source print data reduces or omits line space between printed text strings in order to reduce paper consumption and conserve resources.
  • This process determines the content of the process based on the type of printout identified by the data interpreter 205 , and the data processor 206 then executes the process.
  • a store logo could also be added to receipts or coupons.
  • the data interpreter 205 determines the process based on the type of printout identified, and the data processor 206 runs a process that reads logo image data from the data storage unit 208 and adds the logo to the source print data.
  • Another example for a process is changing all or part of monochrome source print data to color print data.
  • the process content is determined based on the type of printout identified by the data interpreter 205 , or detection of specific data for adding color.
  • the data processor 206 then runs a process to change the selected part to color data. Because the output printer 3 is also changed in this case in this embodiment of the invention, the command converter 207 process also executes.
  • Plural printers 3 could also be driven to produce multiple copies of the same content.
  • the data processor 20 duplicates the source print data according to the output count, and the command converter 207 converts print commands according to the output device used for each copy.
  • the same printout is produced by both printer 3 A and printer 3 B.
  • Another process may also be combined with the process that changes data content so that, for example, a color logo is added to the data output from printer 3 B.
  • the output device can also be changed according to the print data content. For example, when order tickets are output in a restaurant and the different orders (dishes) are prepared at different cooking stations, the data interpreter 205 determines the cooking station where the order ticket should be output from the content of the source print data, and selects the printer 3 installed at that station as the output device. If the source print data contains orders that are prepared at different stations, the order tickets are separated by cooking station, and different order tickets are output from the printers 3 installed at the respective stations.
  • An example of creating a new printout is a process that produces a new coupon when the source print data is receipt data and a specific product is contained in the print data. For example, if data for a product for which a coupon should be issued is detected in the source print data, the data interpreter 205 determines that the source print data should be printed directly by printer 3 A for monochrome printing, and a coupon related to that product should be printed in color by printer 3 B. Based on this decision, the data processor 206 reads coupon data stored in data storage unit 208 and generates print data for the coupon. The command converter 207 also operates as needed, and a receipt and a coupon are output.
  • Another example of function expansion may use information contained in the source print data for another purpose.
  • the source print data is receipt data
  • information about the products sold and time of sale for example, could be collected and tabulated, and supplied to a system (application) that creates marketing plans.
  • the data processor 206 acquires and tabulates the information.
  • a POS terminal 2 can expand the functions of a POS system of which a main function is creating printout using print data output from the POS application 201 .
  • a POS terminal and POS system that do not have such a function expansion capability can be relatively easily improved to the POS terminal 2 described above and a POS system using the POS terminal 2 .
  • FIG. 4 is a block diagram showing such an improvement.
  • FIG. 4 shows the same functional components as in FIG. 2 with the solid lines indicating the POS terminal and POS system that do not execute the function expansion process described above. More specifically, the system before improvement receives print data output directly from the POS application 201 or through the printer driver 202 at the communication port 209 A, and outputs from printer 3 A.
  • the POS terminal 2 according to this embodiment of the invention and a POS system using the same can be achieved by adding the parts denoted by dotted lines to the existing system.
  • function expansion of an existing POS system is possible without modifying the existing POS application 201 by adding the function expansion program, the data stored in the data storage unit 208 , and a new printer 3 B as described above.
  • This improvement can be done by installing a new printer 3 B and printer driver software including the data and function expansion program described above.
  • the function expansion program and data could be added without also installing a new printer.
  • the function expansion method of the invention as described above can thus be used to expand the functions of a POS system in many ways by means of a method that does not involve changing the POS application program.
  • the main function expansion process executes on the application layer of the computer, programs that perform a variety of processes can be easily developed.
  • the POS server 1 is connected to plural POS terminals 2 in the embodiment described above, but the invention is not so limited and can be adapted to an environment in which one POS terminal and plural printers, for example, are deployed.
  • the foregoing embodiment of the invention describes a POS system by way of example, but the invention is not limited to POS systems and can be applied to other types of systems having a specific application including outputting printed materials from a printer, including systems used in hospitals and shipping companies, for example.
  • the invention is particularly useful when the modification of an existing application program is difficult.
  • POS application program and programs for function expansion processes are stored in ROM in the foregoing embodiment by way of example, but storing these programs is not limited to ROM devices, and any suitable tangible recording medium or non-transitory recording medium can be used such as RAM, a hard disk drive, optical disks, magneto-optical discs, flash memory or other storage media can be used.
  • the programs can also he stored on separate storage media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

Various functions can be easily added using print data output from an existing application without modifying the existing application program. A function expansion method for executing a process that expands the functions of an application runs on a computer that operates according to an operating system on the operating system kernel layer, executes a specific process according to an application on an application layer, and has one or more communication ports, includes a step of acquiring print data output from the application on the operating system kernel layer, and a step of performing at the application layer a process expanding the function of the acquired print data, and outputs the print data after processing to a suitable communication port.

Description

This application claims priority under 35 U.S.C. §120 to U.S. application Ser. No. 13/225,909 filed on Sep. 6, 2011 and under 35 U.S.C. §119 to Japanese Application. No. 2010-198643 filed on Sep. 6, 2010 which are hereby incorporated by reference in their entireties.
BACKGROUND
1. Technical Field
The present invention relates to a method of expanding the functions of an existing application using print data output from the application, and relates more particularly to a method of easily expanding application functionality without changing the existing application.
2. Related Art
Point-of-sale (POS) systems, which are a type of sales management system, are commonly used in supermarkets and other retail stores. The POS server and plural POS terminals (registers) of a POS system are connected over a network, and each operates and runs specific processes based on the applications installed in each device. A printer is normally connected to each POS terminal, and outputs receipts and coupons as instructed by the application. Systems that are architecturally similar to POS systems and output information in various forms are also deployed in businesses such as hospitals and shipping companies.
Adding new functions and replacing system components is often necessary in such systems as technology improves and business needs change, but because such systems are usually central to business operations, and are connected to other systems in complex ways, modifying the applications that are used is not easy.
To address this problem as it relates to output process functions, Japanese Unexamined Patent Appl. Pub. JP-A-H08-69427 teaches a device that performs a modem function in a personal computer that can eliminate the microprocessor and memory required in a conventional modem without needing to modify the existing application program.
Japanese Unexamined Patent Appl. Pub. JP-A-2006-338443 teaches a device that can access one communication port and cause a printer connected to another communication port to simultaneously print a duplicate copy without modifying the application program.
JP-A-H08-69427 and JP-A-2006-338443 only address limited output system functions such as the modem and a duplicate printing function, however, and do not address many other needs. In addition, because JP-A-2006-338443 operates at the operating system kernel level, constructing new functions (program development) is not generally easy and function is limited.
SUMMARY
An object of at least one embodiment of the present invention is to provide a method of expanding the functions of an existing application using print data output from the application, and more particularly to provide a function expansion method that can easily provide a variety of additional functions without changing the existing application program.
A first aspect of at least one embodiment of the invention is a function expansion method for executing a process that expands application functionality, runs on a computer that operates according to an operating system on the operating system kernel layer, executes a specific process according to an application on an application layer, and has one or more communication ports, the function expansion method including: a data acquisition step in which the computer acquires print data output from the application to the communication port at the operating system kernel layer before the print data is received at the communication port; and a function expansion step in which the computer performs at the application layer a process expanding the function of print data acquired by the data acquisition step, and outputs the print data after processing to the communication port suited to the data.
In another aspect of at least one embodiment of the invention, the function expansion step includes a step of analyzing the acquired print data, and determining the content of the function expansion process and the communication port used for data output based on the result of the analysis.
Further preferably in another aspect of at least one embodiment of the invention, the function expansion step includes a step of executing a command conversion process when the commands expressed by the acquired print data and the commands of the device connected to the selected output communication port differ.
Further preferably in another aspect of at least one embodiment of the invention, the content of the function expansion process includes any of a group of operations including changing the print content of the print data, changing the output communication port, generating print data for a new printout, or acquiring information from the print data.
Another aspect of at least one embodiment of the invention is a function expansion device that executes a process that expands application functionality is rendered by a computer that operates according to an operating system on the operating system kernel layer, executes a specific process according to an application on an application layer, and has one or more communication ports, the function expansion device including a data acquisition unit that acquires print data output from the application to the communication port at the operating system kernel layer before the print data is received at the communication port; and a function expansion unit that performs at the application layer a process that expands the function of print data acquired by the data acquisition unit, and outputs the print data after processing to the communication port suited to the data.
Another aspect of at least one embodiment of the invention is a computer-readable recording medium that records a program that causes a computer to execute the steps of the function expansion method described above. The recording medium can be a tangible recording medium or a non-transitory recording medium.
Other objects and features together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing the configuration of a POS system and POS terminal devices according to the invention.
FIG. 2 is a function block diagram of a POS terminal device.
FIG. 3 is a flow chart of the function expansion process.
FIG. 4 describes an improvement of the POS system.
DESCRIPTION OF EMBODIMENTS
Preferred embodiments of the present invention are described below with reference to the accompanying figures. The following embodiments do not, however, limit the scope of the invention as described in the following claims. Note, further, that identical or like parts are referenced by like reference numerals in the accompanying figures.
FIG. 1 shows an example of a POS terminal according to this embodiment of the invention. FIG. 2 is a function block diagram of the POS terminal device. The POS terminal 2 shown in FIG. 1 and FIG. 2 is a device that uses the invention, and acquires print data output from a POS application 201 at the virtual port 203 (data acquisition unit) of the OS kernel layer 230. The POS terminal 2 receives the acquired data at the port handler 204 of the application layer 220, and executes a specific function expansion process. The processed print data is then output from the port handler 204 to the communication port 209 corresponding to the processed data. By running this process, the POS terminal 2 can easily expand the functions of the existing POS application 201 without changing the POS application 201 program.
This embodiment of the invention describes a POS system such as used in a supermarket, and as shown in FIG. 1 has a plurality of POS terminals 2 connected through a network 4 to a POS server 1. The POS server 1 is a computer system that manages the plural POS terminals 2, and runs processes to tabulate and manage data acquired from the POS terminals 2.
A POS terminal 2 is installed at each register, and each POS terminal 2 is connected to a printer 3. The printer 3 outputs receipts and coupons based on print data output from the POS terminal 2. The POS terminal 2 is thus positioned as the host device of the printer 3.
As shown in FIG. 1, each POS terminal 2 includes a POS terminal device 21, display 22, keyboard 23, barcode reader 24, and card reader 25. The display 22 displays product prices, for example, to the customer, and the keyboard 23 is used by the operator to input product information including prices and product codes, and customer information such as sex or age. The barcode reader 24 is used to get product information by reading product barcodes. The card reader 25 reads information stored on a card and retrieves information needed to complete the transaction.
The POS terminal device 21 generates and outputs information printed on the receipts or coupons to the printer 3 based on information acquired by the keyboard 23, barcode reader 24, and card reader 25. The POS terminal device 21 is a computer including a CPU, RAM, ROM, and hard disk drive or other storage device not shown. A POS application 201 program described below and a program for function expansion processing are stored in ROM, and processes are executed by the CPU operating according to these programs.
The functional configuration of the POS terminal 2 is shown in FIG. 2. The POS application 201 of the POS terminal 2 runs a process to generate and output the information printed on receipts and coupons, and the data generated at this time is the source data before function expansion. The generated print data is in the format output directly to the printer 3A, or data in the format passed to the driver 202 of the printer 3A. The former type is generated when generating simple print data for printing plain text.
The printer driver 202 is a printer driver for the printer 3A, and outputs the data output from the POS application 201 as print data based on the command system for the type of printer 3A (device) so that it can be received and printed by the printer 3A.
As shown in FIG. 2, the POS application 201 and printer driver 202 belong to the application layer 220 on which programs execute processes based on the operating system (OS) of the computer. Both the POS application 201 and printer driver 202 are rendered by programs stored in ROM that specify the content of each process, and a CPU and other hardware components that execute processes based on the programs.
The virtual port 203 receives the print data (referred to herein as the “source print data”) output from the POS application 201 or printer driver 202 at the OS kernel layer 230 where the operating system resides before the data is passed to the communication port 209. The virtual port 203 passes the acquired source print data to the port handler 204.
The port handler 204, data interpreter 205, data processor 206, command converter 207, and data storage unit 208 are the function expansion units that use the source print data, and POS application 201 functionality is expanded by the processes executed by these parts
The port handler 204 passes the source print data received from the virtual port 203 to the data interpreter 205, and runs a process that receives print data output from the function expansion process (referred to here as the “processed print data”) and outputs the processed print data to the appropriate communication port 209A/B.
The data interpreter 20 analyzes the source print data and determines the content of the function expansion process, and determines the communication port 209 to which the processed print data is output.
The data processor 206 processes the source print data according to the process content determined by the data interpreter 205.
The command converter 207 runs a process to convert commands when the command language used by the printer 3A/3B connected to the communication ports 209A/209B specified by the source print data differs from the command language of the printer 3 connected to the communication ports 209A/209B to which the processed print data is output.
The data storage unit 208 stores data used by the data interpreter 205 and data processor 206. In this embodiment of the invention, logo data is stored, for example, and is used when adding a logo to source print data for a receipt that does not contain a logo. Note that the data storage unit 208 is a hard disk drive or other storage device.
Specific steps in the foregoing processes executed by the function expansion units are described below.
Note that the virtual port 203, port handler 204, data interpreter 205, data processor 206, and command converter 207 are rendered by respective programs that implement the processes executed by each unit, and a CPU and other hardware components that execute the processes according to the programs. The programs associated with these parts are function expansion programs according to the invention.
The POS terminal 2 also includes communication port 209A and communication port 209B on the physical device layer 240. Communication port 209A is connected to printers 3A and 3B. In this embodiment of the invention communication port 209A is a serial communication COM port, and communication port 209B is a USB communication port for USB devices. The printers 3 may be different types of printers, and in this embodiment of the invention printer 3A is a monochrome printer, and printer 3B is a color printer, for example. Note, further, that the POS terminal 2 has two communication ports 209A/209B and two printers 3A/3B are connected to the POS terminal 2 in this embodiment of the invention, but the number of communication ports and printers is not so limited, and there may be one or three or more of each.
The POS terminal 2 configured as described above runs a POS application function expansion process using the source print data, and specific steps in this process are described below. FIG. 3 is a flow chart of the steps in the function expansion process.
As described above, the source print data is output directly from the POS application 201 or through the printer 3A driver 202 (step S1). The source print data is, for example, print data for a receipt to be output from printer 3A, communication port 209A is therefore specified as the communication port of the output device, and the source print data contains commands for printer 3A.
The output source print data is intercepted by the virtual port 203 before it reaches the specified communication port (communication port 209A in this example) (step S2). This process is achieved by configuring the registry (priority settings) so that data output to any communication port 209 is first received by the virtual port 203. This configuration change is made when the OS boots up. The received source print data is then passed from the virtual port 203 to the port handler 204 on the application layer 220 (step S2).
The port handler 204 then passes the received source print data to the data interpreter 205 (step S3). The data interpreter 205 interprets the commands in the source print data, and analyzes the data content (step S4). The content of the function expansion process and which communication port 209 to address are determined based on the results of this analysis.
More specifically, the data interpreter 205 determines the type of printout produced by the source print data (such as a receipt, coupon, or journal), checks if specific data (text stringer image) is contained in the source print data, or determines the content of specific data in the source print data, for example, and determines the content of predefined processes according to the results of these operations. The data interpreter 205 also determines the communication port 209 corresponding to the printer 3 suited to output the processed print data obtained from these processes. The content of the function expansion process may include, for example, changing the content printed by the print data (such as adding or deleting data), changing the output printer 3, generating new output, or using information contained in the print data for other purposes, and specific content is predefined from among these operations. A more specific example of function expansions is described below.
The output device communication port selected by the data interpreter 205 is reported to the port handler 204, and content of the function expansion process (process content) is reported to the data processor 206. The data interpreter 205 also references data stored in the data storage unit 208 as needed by the process steps. For example, information linking analysis results to process content is stored in the data storage unit 208. Note that if the process content and output device are fixed irrespective of the source print data, the data interpreter 205 is not required and the source print data is passed from the port handler 204 to the data processor 206.
Next, the data processor 206 processes the source print data (step S5). More specifically, the data processor 206 processes the print data according to the previously determined function expansion process content, and generates processed print data. A specific example of this process is described below. Data in the data storage unit 208 may also be referenced as needed in this process. When there are plural processes to perform, the data processor 206 may include plural processing units corresponding to the individual process content. In addition, if the data interpreter 205 determines that data processing is not needed, the data processor 206 does not perform a processing operation.
When command conversion is required for the processed print data generated by the data processor 206, the command converter 207 runs a command conversion process (step S6). As described above, because the print data is generated with commands that depend on the printer 3 to which the print data is sent, commands must be converted according to the addressed output device when the commands in the source print data differ from the commands of the output printer identified as described above. Because the source print data is generated with commands for printer 3A in this embodiment of the invention, the command conversion process is executed when the output device is changed to printer 3B. The processed print data is then passed to the port handler 204. Note that when command conversion is not necessary, the print data sent from the data processor 206 is passed to the port handler 204.
The port handler 204 then outputs the processed print data that was received to the selected communication port (step S7). In this embodiment of the invention the port handler 204 outputs to communication port 209A and/or communication port 209B. Note that when a function expansion process is not executed, the source print data is output to the specified communication port (communication port 209A in this example).
The print data is then sent from the communication port to the connected printer 3, the printer 3 prints according to the received print data and a receipt or other printout is output (step S8). For example, monochrome printing is output from printer 3A, and color printing is output from printer 3B.
The function expansion process of this POS terminal 2 is executed as described in general terms above, and is described with reference to a more specific example below.
An example of a process that changes the output content of the print data and is applied to the source print data reduces or omits line space between printed text strings in order to reduce paper consumption and conserve resources. This process determines the content of the process based on the type of printout identified by the data interpreter 205, and the data processor 206 then executes the process.
A store logo could also be added to receipts or coupons. In this case, too, the data interpreter 205 determines the process based on the type of printout identified, and the data processor 206 runs a process that reads logo image data from the data storage unit 208 and adds the logo to the source print data.
Another example for a process is changing all or part of monochrome source print data to color print data. In this case, the process content is determined based on the type of printout identified by the data interpreter 205, or detection of specific data for adding color. The data processor 206 then runs a process to change the selected part to color data. Because the output printer 3 is also changed in this case in this embodiment of the invention, the command converter 207 process also executes.
An example of a function expansion that primarily changes the output printer 3 is described next. Changing the output device of all printouts or some printouts in order to print on a new printer 3 with higher print quality may be desirable. If the print quality of printer 3B is higher in this embodiment of the invention, the source print data is changed to data for printing on the printer 3B, and the output address is changed to communication port 209B.
Plural printers 3 could also be driven to produce multiple copies of the same content. In this case the data processor 20 duplicates the source print data according to the output count, and the command converter 207 converts print commands according to the output device used for each copy. In this embodiment of the invention, the same printout is produced by both printer 3A and printer 3B. Another process may also be combined with the process that changes data content so that, for example, a color logo is added to the data output from printer 3B.
The output device can also be changed according to the print data content. For example, when order tickets are output in a restaurant and the different orders (dishes) are prepared at different cooking stations, the data interpreter 205 determines the cooking station where the order ticket should be output from the content of the source print data, and selects the printer 3 installed at that station as the output device. If the source print data contains orders that are prepared at different stations, the order tickets are separated by cooking station, and different order tickets are output from the printers 3 installed at the respective stations.
An example of creating a new printout is a process that produces a new coupon when the source print data is receipt data and a specific product is contained in the print data. For example, if data for a product for which a coupon should be issued is detected in the source print data, the data interpreter 205 determines that the source print data should be printed directly by printer 3A for monochrome printing, and a coupon related to that product should be printed in color by printer 3B. Based on this decision, the data processor 206 reads coupon data stored in data storage unit 208 and generates print data for the coupon. The command converter 207 also operates as needed, and a receipt and a coupon are output.
Another example of function expansion may use information contained in the source print data for another purpose. For example, when the source print data is receipt data, information about the products sold and time of sale, for example, could be collected and tabulated, and supplied to a system (application) that creates marketing plans. In this case the data processor 206 acquires and tabulates the information.
As described above, a POS terminal 2 according to this embodiment of the invention can expand the functions of a POS system of which a main function is creating printout using print data output from the POS application 201. A POS terminal and POS system that do not have such a function expansion capability can be relatively easily improved to the POS terminal 2 described above and a POS system using the POS terminal 2.
FIG. 4 is a block diagram showing such an improvement. FIG. 4 shows the same functional components as in FIG. 2 with the solid lines indicating the POS terminal and POS system that do not execute the function expansion process described above. More specifically, the system before improvement receives print data output directly from the POS application 201 or through the printer driver 202 at the communication port 209A, and outputs from printer 3A. The POS terminal 2 according to this embodiment of the invention and a POS system using the same can be achieved by adding the parts denoted by dotted lines to the existing system.
More specifically, function expansion of an existing POS system is possible without modifying the existing POS application 201 by adding the function expansion program, the data stored in the data storage unit 208, and a new printer 3B as described above. This improvement (addition) can be done by installing a new printer 3B and printer driver software including the data and function expansion program described above. Note, further, that the function expansion program and data could be added without also installing a new printer.
The function expansion method of the invention as described above can thus be used to expand the functions of a POS system in many ways by means of a method that does not involve changing the POS application program. In addition, because the main function expansion process executes on the application layer of the computer, programs that perform a variety of processes can be easily developed.
The POS server 1 is connected to plural POS terminals 2 in the embodiment described above, but the invention is not so limited and can be adapted to an environment in which one POS terminal and plural printers, for example, are deployed.
The foregoing embodiment of the invention describes a POS system by way of example, but the invention is not limited to POS systems and can be applied to other types of systems having a specific application including outputting printed materials from a printer, including systems used in hospitals and shipping companies, for example. The invention is particularly useful when the modification of an existing application program is difficult.
The POS application program and programs for function expansion processes are stored in ROM in the foregoing embodiment by way of example, but storing these programs is not limited to ROM devices, and any suitable tangible recording medium or non-transitory recording medium can be used such as RAM, a hard disk drive, optical disks, magneto-optical discs, flash memory or other storage media can be used. The programs can also he stored on separate storage media.
The scope of the invention is not limited to the foregoing embodiments, and includes the invention described in the accompanying claims and equivalents thereof.

Claims (16)

What is claimed is:
1. A function expansion method for executing a process that expands functionality of an application program configured to output print data, comprising:
outputting the print data to a first communication port connected to a first printer by the application program, the first printer being of a first type configured to print a first type of data but not a second, different type of data;
acquiring the print data by a program for function expansion processing before the print data is received at the first communication port;
executing the function expansion processing based on the print data acquired by the program for the function expansion processing; and
outputting the print data processed by the function expansion processing to the first communication port or a second communication port connected to a second printer by the program for function expansion processing, the second printer being of a second type configured to print the second type of data but not the first type of data, wherein
executing the function expansion processing includes determining whether the first printer is suitable for printing the print data, the determining including determining whether the print data includes the first type of data or the second type of data;
when it is determined that the first printer is not suitable for printing the print data, outputting the print data processed by the function expansion processing includes outputting the print data to the second communication port and not outputting the print data to the first communication port; and
when it is determined that the first printer is suitable for printing the print data, outputting the print data processed by the function expansion processing includes outputting the print data to the first communication port wherein the application program is a Point-of-Sales application program, and the Point-of-Sales application program generates the print data printed on a receipt.
2. The function expansion method described in claim 1, wherein
the function expansion processing comprises:
analyzing data content of the print data by the program for the function expansion processing so as to determine whether the print data is of the first type of data or the second type of data; and
determining a data processing according to the result of the analysis.
3. The function expansion method described in claim 2, wherein
the function expansion processing further comprises:
performing the data processing determined; and
determining whether to output the print data to the first communication port or the second communication port.
4. The function expansion method described in claim 3, wherein
the function expansion processing further comprises:
converting a first command in the print data performed by the data processing to a second command for the second printer when the print data is being output to the second communication port.
5. The function expansion method described in claim 1, wherein the first printer prints the receipt.
6. The function expansion method described in claim 2, wherein
the application program and the program for function expansion processing operate on an application layer; and
the print data is acquired at an operating system kernel layer on which an operating system operates.
7. The function expansion method described in claim 1, wherein:
the print data is output to an operating system kernel layer by the application program,
the operating system kernel layer executes processes according to one or more applications on an application layer,
the one or more applications include the application program and the program for function expansion processing, and
the print data processed by the function expansion processing is output from the application layer to the operating system kernel layer.
8. The function expansion method described in claim 1, wherein the function expansion processing is executed outside an operating system kernel layer.
9. The function expansion method described in claim 1, further comprising printing the output print data processed by the function expansion processing.
10. A function expansion device that executes a process configured to expand functionality of an application program configured to output print data, comprising:
a first communication port configured to output data to a first printer being of a first type configured to print a first type of data but not a second, different type of data;
a second communication port configured to output data to a second printer being of a second type configured to print the second type of data but not the first type of data;
a data acquisition unit configured to acquire the print data generated by the application program to the first communication port before the print data is received at the first communication port;
a function expansion unit configured to perform a function expansion processing based on the print data acquired by the data acquisition unit, wherein
the function expansion processing includes determining whether the first printer is suitable for printing the print data, the determining including determining whether the print data includes the first type of data or the second type of data;
when it is determined that the first printer is not suitable for printing the print data, the function expansion unit outputs the print data processed by the function expansion processing to the second communication port and not to the first communication port; and
when it is determined that the first printer is suitable for printing the print data, the function expansion unit outputs the print data to the first communication port wherein the application program is a Point-of-Sales application program, and the Point-of-Sales application program generates the print data printed on a receipt.
11. The function expansion device described in claim 10, wherein
the function expansion processing analyzes data content of the print data acquired by the data acquisition unit so as to determine whether the print data is of the first type of data or the second type of data, and determines a data processing according to the result of the analysis.
12. The function expansion device described in claim 11, wherein
the function expansion processing performs the data processing determined and determines whether to output the print data to the first communication port or the second communication port.
13. The function expansion device described in claim 12, wherein
the function expansion processing converts a first command in the print data performed by the data processing to a second command for the second printer when the print data is being output to the second communication port.
14. The function expansion device described in claim 10, wherein:
the data acquisition unit acquires the print data from an operating system kernel layer of the device that executes processes according to one or more applications on an application layer of the device;
the application program, the data acquisition unit, and the function expansion unit are on the application layer;
the function expansion unit outputs the print data processed by the function expansion processing from the application layer to the operating system kernel layer.
15. The function expansion device described in claim 10, wherein the function expansion processing is executed outside an operating system kernel layer of the device.
16. The function expansion device described in claim 10, further comprising a processor that executes the function expansion unit and the data acquisition unit.
US13/955,272 2010-09-06 2013-07-31 Function expansion method using print data for a point-of-sale terminal Expired - Fee Related US8861009B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/955,272 US8861009B2 (en) 2010-09-06 2013-07-31 Function expansion method using print data for a point-of-sale terminal
US14/470,295 US9030704B2 (en) 2010-09-06 2014-08-27 Function expansion method using print data for a point-of-sale terminal
US14/686,250 US10248944B2 (en) 2010-09-06 2015-04-14 Function expansion method in a point-of-sale system using print data

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010-198643 2010-09-06
JP2010198643A JP2012058810A (en) 2010-09-06 2010-09-06 Function enhancement program using print data, function enhancement device, and function enhancement method
US13/225,909 US8526045B2 (en) 2010-09-06 2011-09-06 Expanding application functionality without changing the existing application
US13/955,272 US8861009B2 (en) 2010-09-06 2013-07-31 Function expansion method using print data for a point-of-sale terminal

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/225,909 Continuation US8526045B2 (en) 2010-09-06 2011-09-06 Expanding application functionality without changing the existing application

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/470,295 Continuation US9030704B2 (en) 2010-09-06 2014-08-27 Function expansion method using print data for a point-of-sale terminal

Publications (2)

Publication Number Publication Date
US20130314727A1 US20130314727A1 (en) 2013-11-28
US8861009B2 true US8861009B2 (en) 2014-10-14

Family

ID=44897610

Family Applications (4)

Application Number Title Priority Date Filing Date
US13/225,909 Active US8526045B2 (en) 2010-09-06 2011-09-06 Expanding application functionality without changing the existing application
US13/955,272 Expired - Fee Related US8861009B2 (en) 2010-09-06 2013-07-31 Function expansion method using print data for a point-of-sale terminal
US14/470,295 Expired - Fee Related US9030704B2 (en) 2010-09-06 2014-08-27 Function expansion method using print data for a point-of-sale terminal
US14/686,250 Expired - Fee Related US10248944B2 (en) 2010-09-06 2015-04-14 Function expansion method in a point-of-sale system using print data

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/225,909 Active US8526045B2 (en) 2010-09-06 2011-09-06 Expanding application functionality without changing the existing application

Family Applications After (2)

Application Number Title Priority Date Filing Date
US14/470,295 Expired - Fee Related US9030704B2 (en) 2010-09-06 2014-08-27 Function expansion method using print data for a point-of-sale terminal
US14/686,250 Expired - Fee Related US10248944B2 (en) 2010-09-06 2015-04-14 Function expansion method in a point-of-sale system using print data

Country Status (7)

Country Link
US (4) US8526045B2 (en)
EP (1) EP2426593A1 (en)
JP (1) JP2012058810A (en)
KR (1) KR101364808B1 (en)
CN (2) CN102446074B (en)
BR (1) BRPI1105920A2 (en)
RU (2) RU2011136833A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9030704B2 (en) 2010-09-06 2015-05-12 Seiko Epson Corporation Function expansion method using print data for a point-of-sale terminal
US9030706B2 (en) 2010-09-22 2015-05-12 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102385489B (en) 2010-09-06 2014-11-19 精工爱普生株式会社 Distribution processing method, distribution processing device, print data processing method, and print data processing device
JP5807343B2 (en) 2011-02-25 2015-11-10 セイコーエプソン株式会社 Function expansion program, function expansion device, and function expansion method using print data
JP5966523B2 (en) * 2012-03-30 2016-08-10 株式会社リコー Information processing apparatus, program, and recording medium
JP6064715B2 (en) 2013-03-21 2017-01-25 セイコーエプソン株式会社 Print control program, print control apparatus, and print control method
JP6065761B2 (en) * 2013-06-20 2017-01-25 セイコーエプソン株式会社 Control device and control method of control device
JP6236943B2 (en) * 2013-07-11 2017-11-29 セイコーエプソン株式会社 Communication control method and information processing apparatus
JP6236949B2 (en) * 2013-07-18 2017-11-29 セイコーエプソン株式会社 Communication control method and information processing apparatus
GB201314732D0 (en) 2013-08-16 2013-10-02 Sparkle Coupon Services Ltd A data transmission method and system
GB201314733D0 (en) 2013-08-16 2013-10-02 Sparkle Coupon Services Ltd A data processing method and system
JP6424438B2 (en) 2014-02-24 2018-11-21 セイコーエプソン株式会社 POS system and data processing apparatus
JP6331608B2 (en) * 2014-04-07 2018-05-30 セイコーエプソン株式会社 POS system and print control apparatus
KR102226608B1 (en) * 2020-09-07 2021-03-11 (주)시큐어포인트 Method for sharing POS printers and devices for sharing POS printers

Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869427A (en) 1994-02-18 1996-03-12 At & T Corp Equipment and method for execution of modem function in personal computer
JPH10187393A (en) 1996-12-27 1998-07-14 Canon Inc Method for controlling printing and device therefor and storage medium
JPH11134272A (en) 1997-10-29 1999-05-21 Brother Ind Ltd Virtual communication system and recording medium
US20010032266A1 (en) 2000-03-27 2001-10-18 Masahiro Minowa Receipt printing and issuing system, an added-value printing processing method and a data storage medium using the same
JP2001357457A (en) 2000-06-12 2001-12-26 Family Mart Co Ltd Merchandise sales managing terminal device and merchandise sales managing system
US20020089687A1 (en) 2001-01-11 2002-07-11 Ferlitsch Andrew Rodney Methods and systems for print-processor-based printer status detection and print task distribution
US20020154333A1 (en) 2001-03-06 2002-10-24 Masamichi Akashi Image processing apparatus and communicating method in image processing apparatus
US20030036979A1 (en) 2001-08-15 2003-02-20 Nec Infrontia Corporation Advertisement request brokering server system, advertisement request brokering method, and advertisement request brokering program product
US20050028093A1 (en) 2003-07-31 2005-02-03 Paul Michel Methods and apparatus for analyzing electronic documents and digital printing systems
US20050211773A1 (en) 2004-03-25 2005-09-29 Tsutomu Nobutani POS system, input/output control apparatus for use in a POS system, and method
JP2005321873A (en) 2004-05-06 2005-11-17 Seiko Epson Corp Electronic journal creation system, method, and program
US7014110B2 (en) 2002-06-10 2006-03-21 Seiko Epson Corporation POS system, network system, method of generating printing data for POS system, and method of managing sales and advertisement information in network system
US20060197969A1 (en) 2005-03-01 2006-09-07 Canon Kabushiki Kaisha Print control apparatus, control method thereof, and device driver
JP2006260455A (en) 2005-03-18 2006-09-28 Ricoh Co Ltd Data output device, program and recording medium
JP2006338443A (en) 2005-06-03 2006-12-14 Seiko Epson Corp Filter device driver, duplication printing control method and its control program
JP2007004558A (en) 2005-06-24 2007-01-11 Toshiba Tec Corp Commodity sales data processor and commodity sales data processing program
JP2007058463A (en) 2005-08-23 2007-03-08 Star Micronics Co Ltd Receipt image printing system, control method for receipt image printing system, and program
EP1764680A2 (en) 2005-09-02 2007-03-21 Star Micronics Co., Ltd. Print system
US7239413B2 (en) 2002-10-29 2007-07-03 Hewlett-Packard Development Company, L.P. Printer replaceable component
KR20070107765A (en) 2005-05-17 2007-11-07 세이코 엡슨 가부시키가이샤 Printing system, pos system, connecting device, and method and program for controlling printing system
JP2007304799A (en) 2006-05-10 2007-11-22 Hypergear:Kk Program for printing
US20080165285A1 (en) 2007-01-05 2008-07-10 Infocus Corporation Auxiliary Input for Streaming Content to a Display Device
US7454762B2 (en) 2004-12-07 2008-11-18 International Business Machines Corporation Method and computer program product for handling application references to undefined operating system services
US20090116053A1 (en) * 2007-11-02 2009-05-07 Selvaraj Senthil K Approach For Managing Print Errors Using A Print Agent
US20090237717A1 (en) 2008-03-21 2009-09-24 Seiko Epson Corporation Printer and information managing system
JP2009226689A (en) 2008-03-21 2009-10-08 Seiko Epson Corp Printer
US7731084B2 (en) 2005-05-23 2010-06-08 Seiko Epson Corporation Devices and methods for monitoring transaction data from point-of-sale devices
US20100182638A1 (en) 2009-01-19 2010-07-22 Ricoh Company, Ltd. Recording medium and information processor
US20110184822A1 (en) 2010-01-22 2011-07-28 Naviit, Inc. Point of sale network router
US20120057202A1 (en) 2010-09-06 2012-03-08 Seiko Epson Corporation Distribution processing method, distribution processing device, print data processing method, print data processing device, and recording medium
US20120057184A1 (en) 2010-09-06 2012-03-08 Seiko Epson Corporation Function expansion method using print data, function expansion device, and recording medium
US20120069404A1 (en) 2010-09-22 2012-03-22 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
US8348750B2 (en) 2002-09-13 2013-01-08 Igt System for electronic game promotion

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889676A (en) 1996-06-03 1999-03-30 Matsushita Electric Industrial Co., Ltd. Point of sales system
JPH11184649A (en) * 1997-07-25 1999-07-09 Seiko Epson Corp System and method for printing, and printer
JP3714804B2 (en) 1998-10-14 2005-11-09 株式会社リコー Distributed printing method, distributed printing system, and recording medium
JP2002307783A (en) 2001-04-10 2002-10-23 Seiko Epson Corp Printer, pos system, method for controlling radio communication, and information recording medium
JP4241101B2 (en) 2002-03-08 2009-03-18 セイコーエプソン株式会社 Printing system, printer, printer driver, printing control method, program, and recording medium recording the program
ES2257609T3 (en) 2002-03-08 2006-08-01 Seiko Epson Corporation PRINTING SYSTEM THAT GENERATES MULTICOLOR PRINT DATA FROM MONOCOLOR PRINT DATA.
AUPS331402A0 (en) * 2002-07-01 2002-07-25 S4 Technology Pty Limited Intelligent printer interface for managing data content and presentation
JP2004213111A (en) 2002-12-26 2004-07-29 Canon Inc Computer program
KR100720922B1 (en) 2003-02-26 2007-05-23 싸이언스 파크 가부시키가이샤 Computer storing print control program, and storing medium recording the program and capable of being read by computer
DE10358967B4 (en) 2003-12-15 2006-11-16 Universität Kassel Micromirror array
US20060027434A1 (en) * 2004-08-04 2006-02-09 Capito Russell T Positive clutch with staggered teeth height
JP4627683B2 (en) 2005-06-02 2011-02-09 スター精密株式会社 Printing system, printing system control method and program
EP1736863B1 (en) * 2005-06-02 2017-04-19 Star Micronics Co., Ltd. Print system
JP2007179353A (en) 2005-12-28 2007-07-12 Star Micronics Co Ltd Printing system, print data supply device, method for controlling print data supply device and program
JP2008027153A (en) 2006-07-20 2008-02-07 Ricoh Co Ltd Information processing program, information processor, and information processing method
CN100498848C (en) * 2006-10-26 2009-06-10 深圳市穗彩科技开发有限公司 Lottery ticket terminal
US20080278517A1 (en) 2007-05-10 2008-11-13 Poirier Arthur J System and method for manipulation of document data intercepted through port redirection
EP2083404A3 (en) 2008-01-24 2010-01-06 Seiko Epson Corporation Receipt printing processing method, printer and receipt printing processing system
JP4663754B2 (en) * 2008-04-16 2011-04-06 シャープ株式会社 Printing system
CN101344869A (en) 2008-08-22 2009-01-14 北京中星微电子有限公司 USB cam drive settling scheme on Mac OS X operating system
JP5807343B2 (en) 2011-02-25 2015-11-10 セイコーエプソン株式会社 Function expansion program, function expansion device, and function expansion method using print data

Patent Citations (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678059A (en) 1994-02-18 1997-10-14 Lucent Technologies Inc. Technique for time-sharing a microprocessor between a computer and a modem
JPH0869427A (en) 1994-02-18 1996-03-12 At & T Corp Equipment and method for execution of modem function in personal computer
JPH10187393A (en) 1996-12-27 1998-07-14 Canon Inc Method for controlling printing and device therefor and storage medium
JPH11134272A (en) 1997-10-29 1999-05-21 Brother Ind Ltd Virtual communication system and recording medium
US6263384B1 (en) 1997-10-29 2001-07-17 Brother Kogyo Kabushiki Kaisha First and second virtual serial ports utilized to perform virtual transmissions through parallel port via first and second transmission/reception buffer region
US20010032266A1 (en) 2000-03-27 2001-10-18 Masahiro Minowa Receipt printing and issuing system, an added-value printing processing method and a data storage medium using the same
JP2001357457A (en) 2000-06-12 2001-12-26 Family Mart Co Ltd Merchandise sales managing terminal device and merchandise sales managing system
US20020089687A1 (en) 2001-01-11 2002-07-11 Ferlitsch Andrew Rodney Methods and systems for print-processor-based printer status detection and print task distribution
US20020154333A1 (en) 2001-03-06 2002-10-24 Masamichi Akashi Image processing apparatus and communicating method in image processing apparatus
US20030036979A1 (en) 2001-08-15 2003-02-20 Nec Infrontia Corporation Advertisement request brokering server system, advertisement request brokering method, and advertisement request brokering program product
US7014110B2 (en) 2002-06-10 2006-03-21 Seiko Epson Corporation POS system, network system, method of generating printing data for POS system, and method of managing sales and advertisement information in network system
US8348750B2 (en) 2002-09-13 2013-01-08 Igt System for electronic game promotion
US7239413B2 (en) 2002-10-29 2007-07-03 Hewlett-Packard Development Company, L.P. Printer replaceable component
US20050028093A1 (en) 2003-07-31 2005-02-03 Paul Michel Methods and apparatus for analyzing electronic documents and digital printing systems
US20050211773A1 (en) 2004-03-25 2005-09-29 Tsutomu Nobutani POS system, input/output control apparatus for use in a POS system, and method
JP2005321873A (en) 2004-05-06 2005-11-17 Seiko Epson Corp Electronic journal creation system, method, and program
US7454762B2 (en) 2004-12-07 2008-11-18 International Business Machines Corporation Method and computer program product for handling application references to undefined operating system services
US20060197969A1 (en) 2005-03-01 2006-09-07 Canon Kabushiki Kaisha Print control apparatus, control method thereof, and device driver
JP2006239946A (en) 2005-03-01 2006-09-14 Canon Inc Printing control unit, control method therefor, and device driver
US20100157348A1 (en) 2005-03-01 2010-06-24 Canon Kabushiki Kaisha Print control apparatus, control method thereof, and device driver for converting comands from one format to another
JP2006260455A (en) 2005-03-18 2006-09-28 Ricoh Co Ltd Data output device, program and recording medium
KR20070107765A (en) 2005-05-17 2007-11-07 세이코 엡슨 가부시키가이샤 Printing system, pos system, connecting device, and method and program for controlling printing system
US20130057885A1 (en) 2005-05-17 2013-03-07 Seiko Epson Corporation Printing System, POS System, Connection Device, Control Method of Printing System, and Program Therefor
US20090066996A1 (en) 2005-05-17 2009-03-12 Seiko Epson Corporation Printing System, POS System, Connection Device, Control Method of Printing System, and Program Therefor
US7731084B2 (en) 2005-05-23 2010-06-08 Seiko Epson Corporation Devices and methods for monitoring transaction data from point-of-sale devices
JP2006338443A (en) 2005-06-03 2006-12-14 Seiko Epson Corp Filter device driver, duplication printing control method and its control program
JP2007004558A (en) 2005-06-24 2007-01-11 Toshiba Tec Corp Commodity sales data processor and commodity sales data processing program
JP2007058463A (en) 2005-08-23 2007-03-08 Star Micronics Co Ltd Receipt image printing system, control method for receipt image printing system, and program
EP1764680A2 (en) 2005-09-02 2007-03-21 Star Micronics Co., Ltd. Print system
JP2007304799A (en) 2006-05-10 2007-11-22 Hypergear:Kk Program for printing
US20080165285A1 (en) 2007-01-05 2008-07-10 Infocus Corporation Auxiliary Input for Streaming Content to a Display Device
US20090116053A1 (en) * 2007-11-02 2009-05-07 Selvaraj Senthil K Approach For Managing Print Errors Using A Print Agent
JP2009226689A (en) 2008-03-21 2009-10-08 Seiko Epson Corp Printer
US20090237717A1 (en) 2008-03-21 2009-09-24 Seiko Epson Corporation Printer and information managing system
JP2009226690A (en) 2008-03-21 2009-10-08 Seiko Epson Corp Printer and information management system
US20100182638A1 (en) 2009-01-19 2010-07-22 Ricoh Company, Ltd. Recording medium and information processor
JP2010186458A (en) 2009-01-19 2010-08-26 Ricoh Co Ltd Program, recording medium, and information processing apparatus
US20110184822A1 (en) 2010-01-22 2011-07-28 Naviit, Inc. Point of sale network router
US20120057184A1 (en) 2010-09-06 2012-03-08 Seiko Epson Corporation Function expansion method using print data, function expansion device, and recording medium
US20120057202A1 (en) 2010-09-06 2012-03-08 Seiko Epson Corporation Distribution processing method, distribution processing device, print data processing method, print data processing device, and recording medium
US8526045B2 (en) 2010-09-06 2013-09-03 Seiko Epson Corporation Expanding application functionality without changing the existing application
US8693036B2 (en) 2010-09-06 2014-04-08 Seiko Epson Corporation Distribution processing method, distribution processing device, print data processing method, print data processing device, and recording medium
US20120069404A1 (en) 2010-09-22 2012-03-22 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Extended European Search Report issued Dec. 27, 2011 for Application No. 11179255.2. *
Machine translation of JP 2006-338443 to Takamoto. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9030704B2 (en) 2010-09-06 2015-05-12 Seiko Epson Corporation Function expansion method using print data for a point-of-sale terminal
US10248944B2 (en) 2010-09-06 2019-04-02 Seiko Epson Corporation Function expansion method in a point-of-sale system using print data
US9030706B2 (en) 2010-09-22 2015-05-12 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium
US9262106B2 (en) 2010-09-22 2016-02-16 Seiko Epson Corporation Method of adding value to print data, a value-adding device, and a recording medium

Also Published As

Publication number Publication date
US9030704B2 (en) 2015-05-12
BRPI1105920A2 (en) 2015-11-03
EP2426593A1 (en) 2012-03-07
US20140362413A1 (en) 2014-12-11
KR20120024506A (en) 2012-03-14
US10248944B2 (en) 2019-04-02
RU2011136833A (en) 2013-03-10
CN102446074B (en) 2015-04-01
US20150220903A1 (en) 2015-08-06
CN104699429B (en) 2018-03-16
US20120057184A1 (en) 2012-03-08
CN102446074A (en) 2012-05-09
JP2012058810A (en) 2012-03-22
KR101364808B1 (en) 2014-02-19
CN104699429A (en) 2015-06-10
US20130314727A1 (en) 2013-11-28
US8526045B2 (en) 2013-09-03
RU2013145945A (en) 2015-04-20

Similar Documents

Publication Publication Date Title
US10248944B2 (en) Function expansion method in a point-of-sale system using print data
US9262106B2 (en) Method of adding value to print data, a value-adding device, and a recording medium
US9058139B2 (en) Function expansion method using print data, and function expansion device
JP5867563B2 (en) Function expansion program, function expansion device, and function expansion method using print data
JP5867564B2 (en) Print data processing program for distributing output destinations, print data processing apparatus, and print data processing method
US8693036B2 (en) Distribution processing method, distribution processing device, print data processing method, print data processing device, and recording medium
JP5708012B2 (en) Printer changing program, printer changing method, and host device
US20180034898A1 (en) Content distribution system
JP2012058846A (en) Print data processing program for distributing output destination, print data processing device, and print data processing method
US10069982B2 (en) Content distribution server
US10178244B2 (en) Server network and method for determining an amount of exposure of an image attached to receipts
JP6075427B2 (en) Print control method and printer driver
JP5842971B2 (en) Distributed processing method, distributed processing apparatus, and program
JP5609453B2 (en) Distributed processing method, distributed processing apparatus, and program

Legal Events

Date Code Title Description
AS Assignment

Owner name: SEIKO EPSON CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FURUHATA, TADASHI;TAKAMOTO, AKIO;KODAMA, TOMOHIRO;AND OTHERS;REEL/FRAME:031173/0418

Effective date: 20130904

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20221014