US20170090834A1 - System and method of connecting a computer to a printer - Google Patents

System and method of connecting a computer to a printer Download PDF

Info

Publication number
US20170090834A1
US20170090834A1 US14/865,791 US201514865791A US2017090834A1 US 20170090834 A1 US20170090834 A1 US 20170090834A1 US 201514865791 A US201514865791 A US 201514865791A US 2017090834 A1 US2017090834 A1 US 2017090834A1
Authority
US
United States
Prior art keywords
computer
peripheral
virtual printer
printing device
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.)
Granted
Application number
US14/865,791
Other versions
US9606758B1 (en
Inventor
Kevin Mitchell Chandler
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.)
JPMorgan Chase Bank NA
NCR Voyix Corp
Original Assignee
NCR 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 NCR Corp filed Critical NCR Corp
Priority to US14/865,791 priority Critical patent/US9606758B1/en
Assigned to NCR CORPORATION reassignment NCR CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHANDLER, KEVIN MITCHELL
Application granted granted Critical
Publication of US9606758B1 publication Critical patent/US9606758B1/en
Publication of US20170090834A1 publication Critical patent/US20170090834A1/en
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NCR CORPORATION
Assigned to JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT reassignment JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE PATENT APPLICATION: 15000000 PREVIOUSLY RECORDED AT REEL: 050874 FRAME: 0063. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Assignors: NCR CORPORATION
Assigned to BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT reassignment BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NCR VOYIX CORPORATION
Assigned to NCR VOYIX CORPORATION reassignment NCR VOYIX CORPORATION RELEASE OF PATENT SECURITY INTEREST Assignors: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Assigned to NCR VOYIX CORPORATION reassignment NCR VOYIX CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: NCR CORPORATION
Active 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/1236Connection management
    • 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/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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/1226Discovery of devices having required properties
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/1232Transmitting printer device capabilities, e.g. upon request or periodically
    • 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/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • 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/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1289Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
    • 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

Definitions

  • Computer systems typically include one or more processors, memory, program and data storage, a display, and other circuitry for connecting to peripherals, such as a keyboard or other input device.
  • each POS terminal In some environments, such as retail point-of-sale (POS) environments, equipping each POS terminal with a set of peripherals is expensive and causes each POS terminal to have a large footprint in a store.
  • POS point-of-sale
  • a system and method of connecting a computer to a printer is provided.
  • An example system includes a processor connected to a network and to first computers and to second computers through the network.
  • the first computers execute application software and the second computers each include one or more peripherals organized with the second computers as peripheral stations.
  • Some peripheral stations may include a virtual printer.
  • Other peripheral stations may include a virtual printer, a print spooler, and physical printer or hardware printing device.
  • the virtual printers direct jobs to the print spooler for ultimate printing by the physical printer.
  • An example method of connecting a first computer to a virtual printer of a second computer includes determining that a virtual printer is available for use, broadcasting over a network that the peripheral is available for use, receiving a request from the first computer through a web service to connect to the virtual printer, mapping the virtual printer to the first computer, and sending information to the first computer through the web service to facilitate connection by the first computer to the virtual printer through the second computer.
  • An example peripheral station includes a computer configured with a virtual printer to receive requests from a software application of another computer to print using the virtual printer and to send print jobs from the virtual printer to a print spooler and a hardware printing device.
  • FIG. 1 is a block diagram of an example system.
  • FIG. 2 is a diagrammatic view of the example system.
  • FIG. 3 is a block diagram of another example system.
  • FIG. 4 is a portion of an example configuration file of a peripheral station.
  • FIG. 5 is a portion of an example configuration file of another peripheral station.
  • FIG. 6 is a flow diagram illustrating a method of connecting a computer to a peripheral.
  • an example system includes computer 18 connected by network 60 to computer 14 and one or more peripherals 16 , and to computer 12 .
  • Computer 12 includes one or more processors, memory, and program and data storage. Computer 12 may execute an operating system, such as a Microsoft, Google, Apple, or Linux operating system. Computer 12 further includes network circuitry for connecting to network 60 , via wire and/or wireless, and other circuitry for connecting to one or more peripherals, such as an input device and display (e.g., a touch overlay to the display). For example, computer 12 may include Universal Serial Bus (USB) circuitry and/or Bluetooth standard circuitry.
  • USB Universal Serial Bus
  • Computer 12 may include, but not be limited to, a personal computer, a portable computer, or a mobile computing/communication device, such as a smart phone, tablet, or personal digital assistant. Since computer 12 shares peripherals 16 coupled to computer 14 , computer 12 may be used in environments requiring a computing solution with a smaller footprint than a computer with peripherals 16 . Sharing of peripherals 16 may also provide cost advantages. For example, one or more computers 12 may be used in a retail point-of-sale (POS) environment.
  • POS point-of-sale
  • Computer 12 executes other computer software that may be stored in a computer readable medium.
  • computer 12 executes application software 20 and World Wide Web (web) service software 22 .
  • Application software 20 performs one or more functions which may require use of peripherals 16 .
  • application software 20 may include POS transaction software that requires use of a printer to print a receipt, a barcode reader to scan a product barcode, or a payment peripheral, such as a payment terminal with a keypad and a card reader.
  • Application software 20 can be written in any software language.
  • Application software 20 connects to peripherals 16 through web service software 22 .
  • Application 20 may use configuration data 26 to identify peripherals that are locally connected to computer 12 , for example, directly connected to a USB port of computer 12 , from peripherals 16 , which are remotely accessible through a network connection to computer 14 .
  • Configuration data 26 may also include settings governing when the local and remote peripherals should be used.
  • configuration data 26 includes a remote peripheral 16
  • application software 20 sends a request to peripheral station manager 40 at computer 18 .
  • Peripheral manager software 40 sends a message to application software 20 through web service software 24 and 42 with information identifying computer 14 and peripheral 16 .
  • Web service software 22 facilitates communication of data between application software 20 and other applications on other computers, including computer 14 .
  • web service software 22 may include one or more standard web services 24 .
  • web service software 22 may include web service support software, such as application server software for hosting the web service 24 , and Hypertext Transfer Protocol (HTTP) or web server software for providing HTTP protocol message support.
  • HTTP Hypertext Transfer Protocol
  • Web service 24 may include an Extensible Markup Language (XML) document in a Web Services Description Language (WSDL) describing operations, messages, bindings, and a location or address at which web service 24 may be called. Web service 24 may communicate using open protocols, such as Simple Object Access Protocol (SOAP) over HTTP.
  • XML Extensible Markup Language
  • WSDL Web Services Description Language
  • SOAP Simple Object Access Protocol
  • Web service 24 is tailored to meet the interoperability requirements of application software 20 .
  • application software 20 calls web service application 24 and requests use one or more of peripherals 16
  • web service 24 communicates with computer 14 using XML messages to establish a connection between application software 20 and peripherals 16 .
  • the web service of computer 14 supports WSDL, which has known methods for controlling peripherals 16 .
  • Computer 14 includes one or more processors, memory, and program and data storage.
  • Computer 14 may execute an operating system, such as a Microsoft, Google, Linux, or Apple operating system.
  • Computer 14 may execute other computer software that may be stored in a computer readable medium, such as a memory.
  • Computer 14 may include network circuitry for connecting to network 60 , via wire and/or wireless, and circuitry for connecting to peripherals 16 , such as network, USB and/or Bluetooth standard circuitry.
  • Computer 14 may be logically grouped with peripherals 16 into a peripheral station 50 .
  • One or more peripheral stations 50 are envisioned, depending upon environment. For example, in a retail POS environment, any of a plurality of POS computers 12 may connect to any of a plurality of peripheral stations 50 . Further, any of a plurality of mobile computers 12 may connect to any of plurality of peripheral stations 50 via wireless networking.
  • Computer 14 may have one or more other purposes besides establishing peripheral connections. As such, computer 14 may further include software and components necessary for its purpose.
  • computer 14 may include graphics circuitry for connecting to a display and may couple to other peripherals, such an input device (e.g., a touch overlay to the display), and operate as a POS terminal.
  • graphics circuitry for connecting to a display and may couple to other peripherals, such an input device (e.g., a touch overlay to the display), and operate as a POS terminal.
  • computer 14 may be combined with computer 18 into a single computer system or peripheral connection appliance 70 connected to network 60 that is primarily dedicated to coupling other computers 12 , such as computer 12 A through 12 C, to peripherals 16 ( FIG. 2 ).
  • Computer 14 executes other computer software that may be stored in a computer readable medium.
  • computer 14 executes peripheral control software 30 .
  • Peripheral control software 30 configures peripherals 16 and stores configuration settings in driver configuration data 34 .
  • Driver software or ‘drivers’ for peripherals 16 may be bundled with the operating system.
  • peripheral control software 30 may use a driver configuration utility within the operating system to configure peripherals 16 .
  • peripheral control software 30 may use an OPOS driver configuration utility to configure peripherals 16 based upon settings in configuration data 34 .
  • Configuration data 34 contains a list of peripherals 16 listed as locally connected to computer 14 and may include settings governing when peripherals 16 should be used. If configuration data 26 indicates that a peripheral is an OPOS peripheral, configuration data 34 may indicate any OPOS software, such as OPOS service objects, that are needed to assist in controlling the OPOS peripheral.
  • Peripheral control software 30 maintains a list 36 of peripherals 16 that are configured. Peripheral control software 30 includes only peripherals 16 that are online and working, i.e., not peripherals that are powered off or malfunctioning. Peripheral control software 30 additionally makes list 36 available to other applications and computers by periodically broadcasting messages identifying availability of peripherals 16 . For example, peripheral control software 30 may send messages with a peripheral station name. Peripheral control software 30 may further include web server software for hosting a web page containing list 36 .
  • peripheral control software 30 may be written in C-Sharp, Visual Basic Script, Javascript, or other suitable language, and may be combined with hypertext markup language (HTML) or other suitable web development language in a web page.
  • HTML hypertext markup language
  • peripheral control software 30 Associated with peripheral control software 30 is web service software 32 , which, like web service software 22 , includes a standard web service and associated web service support software. Web service software 32 facilitates communication of data between peripheral control software 30 and other applications.
  • Computer 18 includes one or more processors, memory, and program and data storage.
  • Computer 18 may execute an operating system, such as a Microsoft, Google, Linux, or Apple operating system.
  • Computer 18 may execute other computer software that may be stored in a computer readable medium, such as a memory.
  • Computer 18 may include network circuitry for connecting to network 60 , via wire and/or wireless, and circuitry for connecting to peripherals 16 , such as network, USB and/or Bluetooth standard circuitry.
  • Computer 18 may primarily manage peripheral stations 50 and coupling of other computers, such as computer 12 , to peripheral stations 50 .
  • computer 18 may include a server computer with a network interface with connections to network 60 .
  • Computer 18 may have one or more other purposes besides establishing peripheral connections. As such, computer 18 may further include software and components necessary for its purpose.
  • computer 18 may include graphics circuitry for connecting to a display and may couple to other peripherals, such an input device (e.g., a touch overlay to the display).
  • graphics circuitry for connecting to a display and may couple to other peripherals, such an input device (e.g., a touch overlay to the display).
  • computer 18 may be combined with computer 14 into a single computer system or peripheral connection appliance 70 connected to network 60 that is primarily dedicated to coupling other computers 12 , such as computer 12 A through 12 C, to peripherals 16 ( FIG. 2 ).
  • Computer 18 executes other computer software that may be stored in a computer readable medium.
  • computer 18 executes peripheral manager software 40 and web service software 42 .
  • Web service software 42 like web service software 22 , includes a standard web service and associated web service support software. Web service software 42 facilitates communication of data between peripheral manager software 40 and other applications. Web service software 42 acts as a discovery service for helping computers like computer 12 find and connect to peripherals 16 .
  • Peripheral manager software 40 receives the broadcast messages from peripheral control software 30 , obtains the name of the peripheral station 50 from the message and determines the internet protocol (IP) address of computer 14 from the message. Peripheral manager software 40 lists the peripheral stations 50 in configuration data 49 .
  • IP internet protocol
  • Peripheral manager software 40 further obtains list 36 of configured peripherals 16 from peripheral control software 30 , maintains list 36 as list 46 of active peripherals 16 , regularly receives updated lists 36 , and updates list 46 as peripherals 16 become available or unavailable. Peripheral manager software 40 may manage connections to peripherals 16 of a plurality of computers 14 .
  • Peripheral manager software 40 maintains a list 44 of computers 14 that have peripherals 16 to share, establishes logical groups, and assigns peripherals 16 to the logical groups or device clusters. For example, peripheral manager software 40 may group all peripherals 16 associated with a first computer 14 into a first peripheral station 50 or “PeripheralStation1”.
  • Peripheral manager software 40 further maintains a list 48 of computers 12 requesting connections to peripherals 16 and manages connection and release of peripherals 16 in list 48 , or groups of peripherals 16 , from computers in list 44 .
  • Peripheral manager software 40 may combine, in any combination, lists 44 , 46 , and 48 into a mapping of computers 12 to peripherals 16 as configuration data 49 .
  • peripheral control software 40 may be written in C-Sharp, Visual Basic Script, Javascript, or other suitable language, and may be combined with hypertext markup language (HTML) or other suitable web development language in a web page.
  • HTML hypertext markup language
  • Network 60 may include one which uses the transmission control protocol/internet protocol (TCP/IP).
  • TCP/IP transmission control protocol/internet protocol
  • Network 60 may include a combination of local area and wide area networks.
  • Network 60 may include any combination of wireless or wired networks.
  • Network 60 may include a combination of private and public networks, including a global communication network, also known as the Internet.
  • an example system configuration includes one or more computers 12 , computer 18 , and a plurality of peripheral stations 50 A and 50 B.
  • Computers 12 may include POS computers and peripheral stations 50 A and 50 B may be located in or around the POS computers where customers complete purchase transactions.
  • Example peripheral station 50 A may include computer 14 A and one or more peripherals 16 including printer 52 , print spooler 54 , and virtual printer 56 A.
  • Printer 52 is a physical printer or hardware printing device for printing receipts and other items.
  • Print spooler 54 spools received jobs for printing by printer 52 .
  • Virtual printer 56 A is a software interface for printing the receipts and other items.
  • Peripheral station 50 A may include additional peripherals 16 suited to its purpose.
  • Configuration information for example peripheral station 50 A is stored in configuration file 59 A ( FIG. 4 ).
  • printer spooler 54 is defined with the name “PrintSpooler” and is configured as a standard OPOS printer.
  • Virtual printer 56 A is defined with the name “Printer”. Output from virtual printer 56 A is configured to be redirected to print spooler 54 .
  • virtual printer 56 A is configured to be used directly by a client computer, such as computer 12 , because it is configured with a “StubOptions” tag.
  • print spooler 54 cannot be used directly by a client computer, such as computer 12 , because it is not configured with a “StubOptions” tag.
  • Print spooler 54 is only configured to be used by virtual printers 54 .
  • Example peripheral station 50 B may include computer 14 B and one or more peripherals 16 including a logical or virtual printer 56 B.
  • Virtual printer 56 B is a software interface for printing receipts and other items. Actual printing of receipts and other items occurs at a hardware printing device, such as printer 52 of peripheral station 50 A.
  • Peripheral station 50 B may include additional peripherals 16 suited to its purpose.
  • Configuration information for example peripheral station 50 B is stored in configuration file 59 B ( FIG. 5 ).
  • virtual printer 56 B is defined with the name “Printer” and output from virtual printer 56 B is configured to be redirected to print spooler 54 of peripheral station 50 A, identified as “Station1” in configuration file 59 B.
  • virtual printer 56 B is configured to be used directly by a client computer, such as computer 12 , because it is configured with a “StubOptions” tag.
  • the example configuration reduces the number of peripherals 16 in a store configuration by reducing the number of physical printers 52 . Further, printer 52 effectively becomes part of peripheral station 50 B, or any other peripheral station 50 that does not have a hardware printing device.
  • step 80 a method of connecting a computer to a printer is illustrated beginning with step 80 .
  • peripheral manager software 40 updates configuration information, for example, peripheral computer list 44 and active peripheral list 46 , to reflect that peripheral stations 50 A and 50 B and their peripherals 16 are active and available for use by applications 20 . Peripheral manager software 40 uses this information to display the status of peripherals 16 and to show the overall status of peripheral stations 50 A and 50 B.
  • peripheral manager software 40 receives a message from peripheral control software 30 of peripheral station 50 A through corresponding web service software 32 and 42 indicating that printer 52 , print spooler 54 , virtual printer 56 A, and any other associated peripherals 16 are active and available for use.
  • Peripheral manager software 40 also receives a message from peripheral control software 30 of peripheral station 50 B through corresponding web service software 32 and 42 indicating that virtual printer 56 B and any other associated peripherals 16 are active and available for use.
  • peripheral manager software 40 updates active peripheral list 46 to reflect that printer 52 , print spooler 54 , virtual printers 56 A and 56 B, and any other associated peripherals 16 are active and available for use.
  • peripheral manager software 40 adds information identifying computers 14 A and 14 B of peripheral stations 50 A and 50 B to peripheral computer list 44 .
  • peripheral manager software 40 adds available peripherals 16 to logical groupings in configuration data 49 , or updates configuration data 49 to reflect changes from a previous list 46 .
  • peripheral manager software 40 may track and monitor printer 52 and print spooler 54 differently from virtual printers 56 A and 56 B, since printer 52 and print spooler 54 are not directly accessible to application software 20 when configured this way.
  • peripheral manager software 40 may track and monitor printer 52 and print spooler 54 for operation, e.g., as being on or offline, but only list virtual printers 56 A and 56 B as available printers in configuration data 49 for use by application software 20 .
  • peripheral manager software 40 may list one grouping for peripheral station 50 A to include virtual printer 56 A.
  • Peripheral manager software 40 may list another grouping for peripheral station 50 B to include virtual printer 56 B. If peripheral manager software 40 determines that printer 52 is unavailable, then peripheral manager software 40 lists all virtual printers 56 in all stations that utilize printer 52 , including stations 50 A and 50 B, as offline.
  • peripheral manager software 40 receives a message from application software 20 of computer 12 through web service software 24 and 42 requesting a connection to a particular type of printer, such as a receipt printer.
  • peripheral manager software 40 adds information identifying computer 12 to client computer list 48 , and/or updates client computer list 48 to reflect changes in received identifying information.
  • peripheral manager software 40 establishes a mapping in configuration data 49 of computer 12 to a printer of the type requested in a logical grouping in configuration data 49 .
  • printer 52 is not a choice for a printer, but virtual printers 56 A and 56 B are choices in configuration data 49 .
  • peripheral manager software 40 maps computer 12 to virtual printer 56 A associated with peripheral station 50 A.
  • peripheral manager software 40 maps computer 12 to virtual printer 56 B associated with peripheral station 50 B.
  • peripheral manager software 40 sends a message to application software 20 through web service software 24 and 42 with information identifying computer 14 and the mapped printer. For example, peripheral station manager 40 sends application 20 a URL for the web services used to control the mapped printer, virtual printer 56 A or 56 B. Peripheral station manager 40 steps aside and allows application 20 to communicate with the mapped printer through web service software 32 .
  • step 90 computer 14 at the mapped peripheral station 50 receives a web services request from application software 20 to connect to a corresponding virtual printer 56 .
  • computer 14 A of peripheral station 50 A receives the request.
  • computer 14 B of peripheral station 50 B receives the request.
  • step 92 computer 14 at the mapped peripheral station 50 routes the job to print spooler 54 of peripheral station 50 A according to settings in the corresponding configuration file 59 .
  • computer 14 A of peripheral station 50 A receives the request and routes the job to print spooler 54 in accordance with settings in configuration file 59 A.
  • computer 14 B of peripheral station 50 B receives the request and routes the job to print spooler 54 in accordance with settings in configuration file 59 B.
  • print spooler 54 spools jobs from both virtual printer 56 A and virtual printer 56 B and printer 52 prints the jobs.
  • Print spooler 54 spools jobs from one or a plurality of different virtual printers 56 configured to use print spooler 54 .
  • peripheral manager software 40 receives and monitors messages sent from computer 12 and computer 14 at the mapped peripheral station 50 and releases the connection when application software 20 no longer claims either virtual printer 50 A or 50 B, or when computer 12 , computer 14 , or any mapped peripheral 16 go offline. Peripheral manager software 40 removes the corresponding mapping in configuration data 49 .
  • the number of physical printers 52 may be reduced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

A system and method of connecting a computer to a printer which reduces the number of hardware printing devices. An example method includes determining that a virtual printer is available for use, broadcasting over a network that the peripheral is available for use, receiving a request from the first computer through a web service to connect to the virtual printer, mapping the virtual printer to the first computer, and sending information to the first computer through the web service to facilitate connection by the first computer to the virtual printer through the second computer.

Description

    BACKGROUND
  • Computer systems typically include one or more processors, memory, program and data storage, a display, and other circuitry for connecting to peripherals, such as a keyboard or other input device.
  • In some environments, such as retail point-of-sale (POS) environments, equipping each POS terminal with a set of peripherals is expensive and causes each POS terminal to have a large footprint in a store.
  • One solution for minimizing the number of peripherals is disclosed in commonly-assigned U.S. Pat. No. 8,886,842, issued Nov. 11, 2014. This patent is hereby incorporated by reference.
  • It would be desirable to further improve upon this solution and further minimize the number of peripherals by minimizing the number of hardware printing devices.
  • SUMMARY
  • A system and method of connecting a computer to a printer is provided.
  • An example system includes a processor connected to a network and to first computers and to second computers through the network. The first computers execute application software and the second computers each include one or more peripherals organized with the second computers as peripheral stations. Some peripheral stations may include a virtual printer. Other peripheral stations may include a virtual printer, a print spooler, and physical printer or hardware printing device. The virtual printers direct jobs to the print spooler for ultimate printing by the physical printer.
  • An example method of connecting a first computer to a virtual printer of a second computer includes determining that a virtual printer is available for use, broadcasting over a network that the peripheral is available for use, receiving a request from the first computer through a web service to connect to the virtual printer, mapping the virtual printer to the first computer, and sending information to the first computer through the web service to facilitate connection by the first computer to the virtual printer through the second computer.
  • An example peripheral station includes a computer configured with a virtual printer to receive requests from a software application of another computer to print using the virtual printer and to send print jobs from the virtual printer to a print spooler and a hardware printing device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of an example system.
  • FIG. 2 is a diagrammatic view of the example system.
  • FIG. 3 is a block diagram of another example system.
  • FIG. 4 is a portion of an example configuration file of a peripheral station.
  • FIG. 5 is a portion of an example configuration file of another peripheral station.
  • FIG. 6 is a flow diagram illustrating a method of connecting a computer to a peripheral.
  • DETAILED DESCRIPTION
  • Referring now to FIG. 1, an example system includes computer 18 connected by network 60 to computer 14 and one or more peripherals 16, and to computer 12.
  • Computer 12 includes one or more processors, memory, and program and data storage. Computer 12 may execute an operating system, such as a Microsoft, Google, Apple, or Linux operating system. Computer 12 further includes network circuitry for connecting to network 60, via wire and/or wireless, and other circuitry for connecting to one or more peripherals, such as an input device and display (e.g., a touch overlay to the display). For example, computer 12 may include Universal Serial Bus (USB) circuitry and/or Bluetooth standard circuitry.
  • Computer 12 may include, but not be limited to, a personal computer, a portable computer, or a mobile computing/communication device, such as a smart phone, tablet, or personal digital assistant. Since computer 12 shares peripherals 16 coupled to computer 14, computer 12 may be used in environments requiring a computing solution with a smaller footprint than a computer with peripherals 16. Sharing of peripherals 16 may also provide cost advantages. For example, one or more computers 12 may be used in a retail point-of-sale (POS) environment.
  • Computer 12 executes other computer software that may be stored in a computer readable medium. For example, computer 12 executes application software 20 and World Wide Web (web) service software 22.
  • Application software 20 performs one or more functions which may require use of peripherals 16. For example, application software 20 may include POS transaction software that requires use of a printer to print a receipt, a barcode reader to scan a product barcode, or a payment peripheral, such as a payment terminal with a keypad and a card reader. Application software 20 can be written in any software language.
  • Application software 20 connects to peripherals 16 through web service software 22. Application 20 may use configuration data 26 to identify peripherals that are locally connected to computer 12, for example, directly connected to a USB port of computer 12, from peripherals 16, which are remotely accessible through a network connection to computer 14. Configuration data 26 may also include settings governing when the local and remote peripherals should be used.
  • If configuration data 26 includes a remote peripheral 16, application software 20 sends a request to peripheral station manager 40 at computer 18. Peripheral manager software 40 sends a message to application software 20 through web service software 24 and 42 with information identifying computer 14 and peripheral 16.
  • Web service software 22 facilitates communication of data between application software 20 and other applications on other computers, including computer 14. For example, web service software 22 may include one or more standard web services 24. In addition, web service software 22 may include web service support software, such as application server software for hosting the web service 24, and Hypertext Transfer Protocol (HTTP) or web server software for providing HTTP protocol message support.
  • Web service 24 may include an Extensible Markup Language (XML) document in a Web Services Description Language (WSDL) describing operations, messages, bindings, and a location or address at which web service 24 may be called. Web service 24 may communicate using open protocols, such as Simple Object Access Protocol (SOAP) over HTTP.
  • Web service 24 is tailored to meet the interoperability requirements of application software 20. For example, when application software 20 calls web service application 24 and requests use one or more of peripherals 16, web service 24 communicates with computer 14 using XML messages to establish a connection between application software 20 and peripherals 16. The web service of computer 14 supports WSDL, which has known methods for controlling peripherals 16.
  • Computer 14 includes one or more processors, memory, and program and data storage. Computer 14 may execute an operating system, such as a Microsoft, Google, Linux, or Apple operating system. Computer 14 may execute other computer software that may be stored in a computer readable medium, such as a memory. Computer 14 may include network circuitry for connecting to network 60, via wire and/or wireless, and circuitry for connecting to peripherals 16, such as network, USB and/or Bluetooth standard circuitry.
  • Computer 14 may be logically grouped with peripherals 16 into a peripheral station 50. One or more peripheral stations 50 are envisioned, depending upon environment. For example, in a retail POS environment, any of a plurality of POS computers 12 may connect to any of a plurality of peripheral stations 50. Further, any of a plurality of mobile computers 12 may connect to any of plurality of peripheral stations 50 via wireless networking.
  • Computer 14 may have one or more other purposes besides establishing peripheral connections. As such, computer 14 may further include software and components necessary for its purpose.
  • For example, computer 14 may include graphics circuitry for connecting to a display and may couple to other peripherals, such an input device (e.g., a touch overlay to the display), and operate as a POS terminal.
  • Alternatively, the functions of computer 14 may be combined with computer 18 into a single computer system or peripheral connection appliance 70 connected to network 60 that is primarily dedicated to coupling other computers 12, such as computer 12A through 12C, to peripherals 16 (FIG. 2).
  • Computer 14 executes other computer software that may be stored in a computer readable medium. For example, computer 14 executes peripheral control software 30.
  • Peripheral control software 30 configures peripherals 16 and stores configuration settings in driver configuration data 34. Driver software or ‘drivers’ for peripherals 16 may be bundled with the operating system. For this purpose, peripheral control software 30 may use a driver configuration utility within the operating system to configure peripherals 16.
  • Alternatively, some drivers may be provided separately and installed in accordance with instructions from manufacturers of peripherals 16. For example, in a retail store environment, the drivers for peripherals 16 may include Object Linking and Embedding for Retail POS (OPOS) drivers. For this purpose, peripheral control software 30 may use an OPOS driver configuration utility to configure peripherals 16 based upon settings in configuration data 34.
  • Configuration data 34 contains a list of peripherals 16 listed as locally connected to computer 14 and may include settings governing when peripherals 16 should be used. If configuration data 26 indicates that a peripheral is an OPOS peripheral, configuration data 34 may indicate any OPOS software, such as OPOS service objects, that are needed to assist in controlling the OPOS peripheral.
  • Peripheral control software 30 maintains a list 36 of peripherals 16 that are configured. Peripheral control software 30 includes only peripherals 16 that are online and working, i.e., not peripherals that are powered off or malfunctioning. Peripheral control software 30 additionally makes list 36 available to other applications and computers by periodically broadcasting messages identifying availability of peripherals 16. For example, peripheral control software 30 may send messages with a peripheral station name. Peripheral control software 30 may further include web server software for hosting a web page containing list 36.
  • In an example embodiment, peripheral control software 30 may be written in C-Sharp, Visual Basic Script, Javascript, or other suitable language, and may be combined with hypertext markup language (HTML) or other suitable web development language in a web page.
  • Associated with peripheral control software 30 is web service software 32, which, like web service software 22, includes a standard web service and associated web service support software. Web service software 32 facilitates communication of data between peripheral control software 30 and other applications.
  • Computer 18 includes one or more processors, memory, and program and data storage. Computer 18 may execute an operating system, such as a Microsoft, Google, Linux, or Apple operating system. Computer 18 may execute other computer software that may be stored in a computer readable medium, such as a memory. Computer 18 may include network circuitry for connecting to network 60, via wire and/or wireless, and circuitry for connecting to peripherals 16, such as network, USB and/or Bluetooth standard circuitry.
  • Computer 18 may primarily manage peripheral stations 50 and coupling of other computers, such as computer 12, to peripheral stations 50. As such, computer 18 may include a server computer with a network interface with connections to network 60.
  • Computer 18 may have one or more other purposes besides establishing peripheral connections. As such, computer 18 may further include software and components necessary for its purpose.
  • For example, computer 18 may include graphics circuitry for connecting to a display and may couple to other peripherals, such an input device (e.g., a touch overlay to the display).
  • Alternatively, the functions of computer 18 may be combined with computer 14 into a single computer system or peripheral connection appliance 70 connected to network 60 that is primarily dedicated to coupling other computers 12, such as computer 12A through 12C, to peripherals 16 (FIG. 2).
  • Computer 18 executes other computer software that may be stored in a computer readable medium. For example, computer 18 executes peripheral manager software 40 and web service software 42.
  • Web service software 42, like web service software 22, includes a standard web service and associated web service support software. Web service software 42 facilitates communication of data between peripheral manager software 40 and other applications. Web service software 42 acts as a discovery service for helping computers like computer 12 find and connect to peripherals 16.
  • Peripheral manager software 40 receives the broadcast messages from peripheral control software 30, obtains the name of the peripheral station 50 from the message and determines the internet protocol (IP) address of computer 14 from the message. Peripheral manager software 40 lists the peripheral stations 50 in configuration data 49.
  • Peripheral manager software 40 further obtains list 36 of configured peripherals 16 from peripheral control software 30, maintains list 36 as list 46 of active peripherals 16, regularly receives updated lists 36, and updates list 46 as peripherals 16 become available or unavailable. Peripheral manager software 40 may manage connections to peripherals 16 of a plurality of computers 14.
  • Peripheral manager software 40 maintains a list 44 of computers 14 that have peripherals 16 to share, establishes logical groups, and assigns peripherals 16 to the logical groups or device clusters. For example, peripheral manager software 40 may group all peripherals 16 associated with a first computer 14 into a first peripheral station 50 or “PeripheralStation1”.
  • Peripheral manager software 40 further maintains a list 48 of computers 12 requesting connections to peripherals 16 and manages connection and release of peripherals 16 in list 48, or groups of peripherals 16, from computers in list 44. Peripheral manager software 40 may combine, in any combination, lists 44, 46, and 48 into a mapping of computers 12 to peripherals 16 as configuration data 49.
  • In an example embodiment, peripheral control software 40 may be written in C-Sharp, Visual Basic Script, Javascript, or other suitable language, and may be combined with hypertext markup language (HTML) or other suitable web development language in a web page.
  • Network 60 may include one which uses the transmission control protocol/internet protocol (TCP/IP). Network 60 may include a combination of local area and wide area networks. Network 60 may include any combination of wireless or wired networks. Network 60 may include a combination of private and public networks, including a global communication network, also known as the Internet.
  • With reference to FIG. 3, an example system configuration includes one or more computers 12, computer 18, and a plurality of peripheral stations 50A and 50B. Computers 12 may include POS computers and peripheral stations 50A and 50B may be located in or around the POS computers where customers complete purchase transactions.
  • Example peripheral station 50A may include computer 14A and one or more peripherals 16 including printer 52, print spooler 54, and virtual printer 56A. Printer 52 is a physical printer or hardware printing device for printing receipts and other items. Print spooler 54 spools received jobs for printing by printer 52. Virtual printer 56A is a software interface for printing the receipts and other items. Peripheral station 50A may include additional peripherals 16 suited to its purpose.
  • Configuration information for example peripheral station 50A is stored in configuration file 59A (FIG. 4). In an example configuration, printer spooler 54 is defined with the name “PrintSpooler” and is configured as a standard OPOS printer.
  • Virtual printer 56A is defined with the name “Printer”. Output from virtual printer 56A is configured to be redirected to print spooler 54.
  • Under this configuration, virtual printer 56A is configured to be used directly by a client computer, such as computer 12, because it is configured with a “StubOptions” tag. On the other hand, print spooler 54 cannot be used directly by a client computer, such as computer 12, because it is not configured with a “StubOptions” tag. Print spooler 54 is only configured to be used by virtual printers 54.
  • Example peripheral station 50B may include computer 14B and one or more peripherals 16 including a logical or virtual printer 56B. Virtual printer 56B is a software interface for printing receipts and other items. Actual printing of receipts and other items occurs at a hardware printing device, such as printer 52 of peripheral station 50A. Peripheral station 50B may include additional peripherals 16 suited to its purpose.
  • Configuration information for example peripheral station 50B is stored in configuration file 59B (FIG. 5). In an example configuration, virtual printer 56B is defined with the name “Printer” and output from virtual printer 56B is configured to be redirected to print spooler 54 of peripheral station 50A, identified as “Station1” in configuration file 59B.
  • Under this configuration, virtual printer 56B is configured to be used directly by a client computer, such as computer 12, because it is configured with a “StubOptions” tag.
  • Advantageously, the example configuration reduces the number of peripherals 16 in a store configuration by reducing the number of physical printers 52. Further, printer 52 effectively becomes part of peripheral station 50B, or any other peripheral station 50 that does not have a hardware printing device.
  • Referring now to FIG. 6, a method of connecting a computer to a printer is illustrated beginning with step 80.
  • In step 80, peripheral manager software 40 updates configuration information, for example, peripheral computer list 44 and active peripheral list 46, to reflect that peripheral stations 50A and 50B and their peripherals 16 are active and available for use by applications 20. Peripheral manager software 40 uses this information to display the status of peripherals 16 and to show the overall status of peripheral stations 50A and 50B.
  • In an example embodiment, peripheral manager software 40 receives a message from peripheral control software 30 of peripheral station 50A through corresponding web service software 32 and 42 indicating that printer 52, print spooler 54, virtual printer 56A, and any other associated peripherals 16 are active and available for use.
  • Peripheral manager software 40 also receives a message from peripheral control software 30 of peripheral station 50B through corresponding web service software 32 and 42 indicating that virtual printer 56B and any other associated peripherals 16 are active and available for use.
  • In an example embodiment, peripheral manager software 40 updates active peripheral list 46 to reflect that printer 52, print spooler 54, virtual printers 56A and 56B, and any other associated peripherals 16 are active and available for use.
  • In the example embodiment, peripheral manager software 40 adds information identifying computers 14A and 14B of peripheral stations 50A and 50B to peripheral computer list 44.
  • In the example embodiment, peripheral manager software 40 adds available peripherals 16 to logical groupings in configuration data 49, or updates configuration data 49 to reflect changes from a previous list 46.
  • In an example embodiment, peripheral manager software 40 may track and monitor printer 52 and print spooler 54 differently from virtual printers 56A and 56B, since printer 52 and print spooler 54 are not directly accessible to application software 20 when configured this way.
  • For example, peripheral manager software 40 may track and monitor printer 52 and print spooler 54 for operation, e.g., as being on or offline, but only list virtual printers 56A and 56B as available printers in configuration data 49 for use by application software 20. In one example configuration, peripheral manager software 40 may list one grouping for peripheral station 50A to include virtual printer 56A. Peripheral manager software 40 may list another grouping for peripheral station 50B to include virtual printer 56B. If peripheral manager software 40 determines that printer 52 is unavailable, then peripheral manager software 40 lists all virtual printers 56 in all stations that utilize printer 52, including stations 50A and 50B, as offline.
  • In step 82, peripheral manager software 40 receives a message from application software 20 of computer 12 through web service software 24 and 42 requesting a connection to a particular type of printer, such as a receipt printer.
  • In step 84, peripheral manager software 40 adds information identifying computer 12 to client computer list 48, and/or updates client computer list 48 to reflect changes in received identifying information.
  • In step 86, peripheral manager software 40 establishes a mapping in configuration data 49 of computer 12 to a printer of the type requested in a logical grouping in configuration data 49.
  • In the example embodiment, printer 52 is not a choice for a printer, but virtual printers 56A and 56B are choices in configuration data 49.
  • In an example embodiment, peripheral manager software 40 maps computer 12 to virtual printer 56A associated with peripheral station 50A.
  • In another example embodiment, peripheral manager software 40 maps computer 12 to virtual printer 56B associated with peripheral station 50B.
  • In step 88, peripheral manager software 40 sends a message to application software 20 through web service software 24 and 42 with information identifying computer 14 and the mapped printer. For example, peripheral station manager 40 sends application 20 a URL for the web services used to control the mapped printer, virtual printer 56A or 56B. Peripheral station manager 40 steps aside and allows application 20 to communicate with the mapped printer through web service software 32.
  • In step 90, computer 14 at the mapped peripheral station 50 receives a web services request from application software 20 to connect to a corresponding virtual printer 56.
  • In an example embodiment, computer 14A of peripheral station 50A receives the request.
  • In another example embodiment, computer 14B of peripheral station 50B receives the request.
  • In step 92, computer 14 at the mapped peripheral station 50 routes the job to print spooler 54 of peripheral station 50A according to settings in the corresponding configuration file 59.
  • In an example embodiment, computer 14A of peripheral station 50A receives the request and routes the job to print spooler 54 in accordance with settings in configuration file 59A.
  • In another example embodiment, computer 14B of peripheral station 50B receives the request and routes the job to print spooler 54 in accordance with settings in configuration file 59B.
  • Regardless, print spooler 54 spools jobs from both virtual printer 56A and virtual printer 56B and printer 52 prints the jobs. Print spooler 54 spools jobs from one or a plurality of different virtual printers 56 configured to use print spooler 54.
  • In step 92, peripheral manager software 40 receives and monitors messages sent from computer 12 and computer 14 at the mapped peripheral station 50 and releases the connection when application software 20 no longer claims either virtual printer 50A or 50B, or when computer 12, computer 14, or any mapped peripheral 16 go offline. Peripheral manager software 40 removes the corresponding mapping in configuration data 49.
  • Advantageously, by configuring one or more of the peripheral stations 50 with virtual printers 56, the number of physical printers 52 may be reduced.
  • Although the present invention has been described with particular reference to certain preferred embodiments thereof, variations and modifications of the present invention can be effected within the spirit and scope of the following claims.

Claims (20)

1. A method of connecting a first computer to a virtual printer of a second computer comprising:
determining by a peripheral manager that a virtual printer of a second computer is available for use, including receiving a printer availability message from the second computer;
broadcasting, by the peripheral manager, over a network to other computers that the virtual printer is available for use;
receiving a request from the first computer through a web service to connect to the virtual printer by the peripheral manager;
mapping the virtual printer to the first computer by the peripheral manager; and
sending, by the peripheral manager, information to the first computer through the web service to facilitate connection by the first computer to the virtual printer through the second computer.
2. The method of claim 1, wherein the second computer is configured to send print jobs from the virtual printer to a print spooler associated with a hardware printing device.
3. The method of claim 2, wherein the second computer is configured with the virtual printer, the print spooler, and the hardware printing device as a peripheral station.
4. The method of claim 2, wherein the second computer is configured with the virtual printer as a peripheral station.
5. The method of claim 4, wherein the print spooler and the hardware printing device are coupled to a third computer and the second computer is configured to send the print jobs from the virtual printer to the third computer.
6. The method of claim 5, wherein the third computer is configured with the print spooler and the hardware printing device as another peripheral station.
7. The method of claim 2, wherein determining comprises determining whether the hardware printing device is available for use.
8. The method of claim 2, further comprising:
determining that the hardware printing device is unavailable for use; and
listing the virtual printer as unavailable for use when the hardware printing device is unavailable for use.
9. A printing method comprising:
broadcasting availability of a virtual printer of a peripheral station to other computers on a network by a first computer of the peripheral station, wherein the virtual printer is associated with a hardware printing device and a print spooler of the hardware printing device;
receiving a print request from a second computer in receipt of the availability by the virtual printer through the first computer of the peripheral station; and
sending the print request to the print spooler associated with the hardware printing device by the first computer of the peripheral station.
10. The printing method of claim 9, wherein the peripheral station also includes the print spooler and the hardware printing device.
11. The method of claim 9, wherein sending comprises sending the print request by the first computer to a third computer of another peripheral station that includes the print spooler and the hardware printing device.
12. The method of claim 9, further comprising:
determining, by the first computer prior to broadcasting, that the hardware printing device is available for use;
wherein broadcasting further includes broadcasting over the network that the virtual printer is available for use.
13. The method of claim 9, further comprising:
determining, by the first computer prior to broadcasting, that the hardware printing device is unavailable for use;
wherein broadcasting further includes broadcasting over the network that the virtual printer is unavailable for use.
14. A peripheral station comprising:
a computer coupled to a network and including a processor configured with a virtual printer, the processor being further configured to send a printer availability message specifying availability of the virtual printer to other computers on the network, including a client computer, to receive a request from a software application of the client computer to print using the virtual printer, and to send print jobs from the virtual printer to a print spooler and a hardware printing device.
15. The peripheral station of claim 14, wherein the processor is also configured to determine that the hardware printing device is available for use, and broadcast over the network that the virtual printer is available for use prior to receiving the print job.
16. The peripheral station of claim 14, wherein the processor is also configured to determine that the hardware printing device is unavailable for use, and broadcast over the network that the virtual printer is unavailable for use.
17. The peripheral station of claim 14, further comprising the print spooler and the hardware printing device.
18. The peripheral station of claim 14, further comprising at least one of a payment peripheral and a barcode reader.
19. The peripheral station of claim 14, further comprising a barcode reader.
20. The peripheral station of claim 14, wherein the print spooler and the hardware printing device are included within another peripheral station, and wherein the processor is further configured to send the print jobs to the other peripheral station for printing by the hardware printing device.
US14/865,791 2015-09-25 2015-09-25 System and method of connecting a computer to a printer Active US9606758B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/865,791 US9606758B1 (en) 2015-09-25 2015-09-25 System and method of connecting a computer to a printer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/865,791 US9606758B1 (en) 2015-09-25 2015-09-25 System and method of connecting a computer to a printer

Publications (2)

Publication Number Publication Date
US9606758B1 US9606758B1 (en) 2017-03-28
US20170090834A1 true US20170090834A1 (en) 2017-03-30

Family

ID=58360024

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/865,791 Active US9606758B1 (en) 2015-09-25 2015-09-25 System and method of connecting a computer to a printer

Country Status (1)

Country Link
US (1) US9606758B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787869B1 (en) * 2016-04-05 2017-10-10 Hewlett-Packard Development Company, L.P. Print job access provision
JP2020197972A (en) * 2019-06-04 2020-12-10 キヤノン株式会社 Information processing device, method for controlling information processing device, program, virtual device service and method for generating virtual device
US11455608B2 (en) * 2019-10-18 2022-09-27 Hewlett-Packard Development Company, L.P. Operating modes for a point of sale peripheral device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006125885A1 (en) * 2005-05-26 2006-11-30 France Telecom Method for controlling connection of a peripheral to an access point, corresponding access point and peripheral
US7941504B2 (en) * 2006-02-07 2011-05-10 Efraim Gershom Global peripheral device sharing system and method
JP5800579B2 (en) * 2011-05-31 2015-10-28 キヤノン株式会社 Information processing apparatus, print control method, and computer program
US8886842B2 (en) * 2012-09-27 2014-11-11 Ncr Corporation System and method of connecting a computer to a peripheral of another computer

Also Published As

Publication number Publication date
US9606758B1 (en) 2017-03-28

Similar Documents

Publication Publication Date Title
US9396139B2 (en) System and method of connecting a computer to a peripheral of another computer
JP3958246B2 (en) Remote creation of printer instances on workstations
US8762544B2 (en) Selectively communicating data of a peripheral device to plural sending computers
US9804809B2 (en) Print control system
US8542390B2 (en) Content printing system, print relay system, control method, and storage medium
CN101866292B (en) Information processing apparatus and control method
TW201035889A (en) Interface module, system and method
US20060168079A1 (en) System and method for automatically connecting a client computer to a server
US9606758B1 (en) System and method of connecting a computer to a printer
WO2008134527A1 (en) Method and apparatus for cluster data processing
CN109462659B (en) Remote access control system, method and storage medium for embedded device
US20120019865A1 (en) Content printing system, print relay system, control method, and storage medium
US8271574B1 (en) Content sharing and collaboration
CN112882895A (en) Health examination method, device, computer system and readable storage medium
US20170249604A1 (en) Electronic receipt system
CN102301359B (en) Providing An Indication Of Change At A User Interface Device Over A Network Between Computers
US20100063999A1 (en) Software on-demand service interlocking system and method of operating the same
US10410199B2 (en) Print control system and print control method
CN113596164A (en) Data access method, device, system, equipment and medium
WO2018159224A1 (en) Operation assistance device, operation assistance method, and computer-readable recording medium
JP4451339B2 (en) Load balancing system and load balancing method
JP2002099495A (en) Client server system, server and client
US9098362B1 (en) Operating system (OS) independent application and device communication
CN113747185B (en) Information interaction method, device, system, equipment and storage medium
WO2024066638A1 (en) Remote assistance method and apparatus, electronic device, cloud desktop server, and medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: NCR CORPORATION, GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHANDLER, KEVIN MITCHELL;REEL/FRAME:036659/0699

Effective date: 20150826

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT

Free format text: SECURITY INTEREST;ASSIGNOR:NCR CORPORATION;REEL/FRAME:050874/0063

Effective date: 20190829

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:NCR CORPORATION;REEL/FRAME:050874/0063

Effective date: 20190829

MAFP Maintenance fee payment

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

Year of fee payment: 4

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE PATENT APPLICATION: 15000000 PREVIOUSLY RECORDED AT REEL: 050874 FRAME: 0063. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:NCR CORPORATION;REEL/FRAME:057047/0161

Effective date: 20190829

Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE PATENT APPLICATION: 150000000 PREVIOUSLY RECORDED AT REEL: 050874 FRAME: 0063. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST;ASSIGNOR:NCR CORPORATION;REEL/FRAME:057047/0161

Effective date: 20190829

AS Assignment

Owner name: NCR VOYIX CORPORATION, GEORGIA

Free format text: RELEASE OF PATENT SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:065346/0531

Effective date: 20231016

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNOR:NCR VOYIX CORPORATION;REEL/FRAME:065346/0168

Effective date: 20231016

AS Assignment

Owner name: NCR VOYIX CORPORATION, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:NCR CORPORATION;REEL/FRAME:065820/0704

Effective date: 20231013