WO2001006345A1 - Identification card printer with client/server - Google Patents

Identification card printer with client/server Download PDF

Info

Publication number
WO2001006345A1
WO2001006345A1 PCT/US2000/018962 US0018962W WO0106345A1 WO 2001006345 A1 WO2001006345 A1 WO 2001006345A1 US 0018962 W US0018962 W US 0018962W WO 0106345 A1 WO0106345 A1 WO 0106345A1
Authority
WO
WIPO (PCT)
Prior art keywords
identification card
data
card printer
server
printer
Prior art date
Application number
PCT/US2000/018962
Other languages
French (fr)
Inventor
Gary A. Lenz
Robert J. Innes
Original Assignee
Fargo Electronics, Inc.
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 Fargo Electronics, Inc. filed Critical Fargo Electronics, Inc.
Publication of WO2001006345A1 publication Critical patent/WO2001006345A1/en

Links

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/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/1222Increasing security of the print job
    • 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/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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • 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/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration

Definitions

  • the present invention relates to identification cards.
  • the present invention relates to printers which are used to print identification cards.
  • Identification cards have found widespread use for carrying identification and security related information for an individual. It is often desirable to create an identification card using an identification card printer.
  • identification card printers are often used to print large numbers of cards, such as drivers' licenses.
  • Such identification card printers have typically connected to the parallel port of a computer which is used for receiving print data and a serial part which is used for receiving a second type of data such as smart card encoder information.
  • printers are viewed as output devices which convert a text or image file from a computer application to a visual image on media such as paper or a plastic card.
  • Identification card printers are a unique application because they are both input and output devices. Identification card printers convert an image/text from a host computer application into a visual image on a plastic card.
  • the printer provides full duplex communications to an application resident on the host computer for secure encoding of information from the host to a data media on the card e.g. magnetic stripe, proximity transceiver memory, smart card memory or a microcontroller, for example.
  • Full duplex communications from the printer over a connection requires the customization of a software driver to provide the necessary Application Programmers Interface (API) to the plethora of applications that may be required to construct a card.
  • API Application Programmers Interface
  • Each driver is customized to the printer, host operating system, applications, API's and communications hardware. This customization leads to a large number of drivers which represent a large investment for the printer manufacturer in driver development and a significant confusion for the user as they sort through which driver to use .
  • An identification card printer for printing an image on an identification card, which includes a print mechanism adapted to deposit material on to the card.
  • a network adapter is configured to couple to a network.
  • a print drive module controls the print mechanism in response to a drive module input.
  • a client/server module is coupled to the network adapter functions as a client on the network to responsively provide data to the drive module input .
  • the client/server module is further functions as a server on the network and serve data to the network.
  • FIG. 2 is a simplified diagram showing a personal computer coupled to an identification card printer in accordance with one example embodiment of the present invention.
  • FIG. 3 is a more detailed diagram showing the different hardware and software layers in a personal computer and identification card printer in accordance with the invention.
  • the present invention includes an identification card printer, (i.e., a printer used to print onto identification cards) , which is capable of communicating using a standardized network communication protocol and/or a standardized object based data structure.
  • an identification card printer i.e., a printer used to print onto identification cards
  • Printers have been connected to host computers via a network or point-to-point communications link such as a serial or parallel port .
  • Applications resident on the host computer process information that is communicated over the network link to an output device, the printer, which converts the information to a visual image on a media such as a paper or plastic card.
  • Identification cards have over laminates that provide for increased card durability and security and use customized hologram secure markings.
  • the lamination process control settings time, temperature, speed and pressure
  • the lamination configuration is commonly provided by an application other than the print image generation application.
  • Identification cards may contain data on a variety of media including magnetic stripes, proximity transceivers with memory and smart card chips. The identification card printer provides the encoding for one or more of these data media.
  • the encoding applications are often provided by several software manufacturers and reside on the host computer.
  • the communication and validation of the information for card encoding adds further complexity to the development of drivers to configure and communicate the necessary data to manufacture a card.
  • Identification card printers are complex electro-mechanical devices often having several hundred component parts. It is desirable to provide information on the health of the printer and the status of the card printing and encoding process to a host computer or a networked remote computer for providing a visual alert of problems and for validation of successful encoding.
  • the need to accommodate full duplex communications between the identification card printer and host computer further complicates the development of a driver.
  • Standard operating system driver architectures such as
  • the invention provides for a printer with an embedded network hybrid client/server that uses standard networking technologies such as OPC, JAVA, and XML (extensible Markup Language) to eliminate or reduce the need for developing drivers that are operating system and printer specific.
  • this is achieved through the use of an object server data communication technique.
  • the data objects can be defined by the communication technique such that new objects can easily be added as new or different printers are introduced.
  • Identification card printers function as a card manufacturing system. Identification card printers are provided text and image data via a communication interface from a host computer which is running a resident application. Such applications often rasterize an image provided from a digital camera or scanned image and provide the required color settings for the printer's print engine.
  • a typical system is shown in Figure 1.
  • Figure 1 shows a prior art printer 22 running five example applications 12,14,16,18,20 which communicate with printer 22 over a communication link 24. Frequently, link 24 comprises multiple physical links (parallel, serial, etc.) to allow computer 10 to communicate with various hardware elements in printer 22 such as the print mechanism, magnetic stripe encoder, etc.
  • Applications 12-20 operate in accordance with the operating system 26 of the computer 10.
  • Operating system 26 is illustrated as including driver software configured to handle the communications with printer 22.
  • the various applications 12-20 provide, for example, photo-rasterizing, bar coding, smart card preparation and security.
  • the particular data generated by these applications is transferred to the printer 22 in accordance with a proprietary driver running in the operating system 26.
  • This driver also operates in accordance with the specifications of printer 22 and coordinates other printing parameters such as heating control, head control and also handles feedback received from printer 26, for example, which is provided to the smart card application 18.
  • driver software configured to handle the communications with printer 22.
  • the various applications 12-20 provide, for example, photo-rasterizing, bar coding, smart card preparation and security.
  • the particular data generated by these applications is transferred to the printer 22 in accordance with a proprietary driver running in the operating system 26.
  • This driver also operates in accordance with the specifications of printer 22 and coordinates other printing parameters such as heating control, head control and also handles feedback received from printer 26, for example, which is provided to the smart card application 18.
  • a large number of drivers must be created
  • FIG. 2 is a simplified block diagram showing an identification card printing system 50 which includes a host computer 52 coupled to an identification card printer 54 through a communication network 56.
  • Communication network 56 can be any type of data link, including direct links such as through a universal serial bus (USB) , a serial or parallel port of a computer, an infrared link, or more traditional networks such as Ethernet, etc.
  • Network media may be wireless, fiber, wire, coax cable or any future technology where messaging can be transported.
  • the preferred media is Ethernet lOBaseT or 100MB.
  • Other traditional cabling such as serial, parallel or newer networking such as USB or Firewire may also be used.
  • host computer 52 communicates with identification card printer 54 by sending and receiving data objects through network 56 which are formed in accordance with an industry standard.
  • host computer 52 includes a number of different identification card applications 58 and 60 along with a browser client 64 which couples through an IP (Internet Protocol) driver 66 to communication network 56.
  • Applications 58-60 can be configured, for example, as plug-ins to browser 64 and communicate with browser 64 through a plug-in interface.
  • Alternatives also include card applications which are configured in accordance with an HTML or XML form, XML objects, JAVA objects, etc.
  • Example card applications include text or graphics applications, smart card encoding applications, magnetic stripe encoding applications, printer security applications, printer diagnostic applications, bar code applications, etc.
  • a server 68 can provide a direct interface for card applications 58-60 to network 56 such that card applications 58-60 can communicate directly on network 56.
  • interface 68 can provide a data server in accordance with a standard such as (OPC) OLE for Process Control which is an extension to Microsoft OLE (Object Linking & Embedding) OPC, XML, etc.
  • Printer 54 includes a client 70 and a server 72 for coupling to network 56 and communicating with host 52.
  • Applications 74 run in a microprocessor 76 in the identification card printer 54 under the control of an operating system 78. As explained in more detail below, applications 74 receive data objects from network 56 through client 70. Examples of such objects include images, smart card data, text, video, animation, voice, bar code information or magnetic strip information.
  • Client 70 can be a browser client or a module of web server 72 which is configured to receive such objects.
  • Applications 74 responsively control hardware drivers 80 to control various types of hardware in printer 54 such as a print head 82 or a magnetic recording head 84 which are used to place data onto an identification card 85.
  • any type of hardware application can be provided such as those discussed with respect to Figure 1 including RFID writers for proximity cards, laminators, feed mechanisms, printer controls, bar code writers, etc.
  • applications 74 are capable of communicating with applications 58 and 60 in host computer 52 through communication network 56 using a server such as a web server 72.
  • Web server 72 can also communicate JAVA applets 86 over network 56.
  • server 72 can serve various data types such as FTP, XML, SMNP, POP including POP3 , any type of applet, etc.
  • the various types of data objects which are transferred through network 56 can be hardware independent and can be created in accordance with an industry standard data object format such as that provided by XML or OPC.
  • an image such as a rasterized photograph for printing on an identi ication card by printer 54
  • printer 54 is transferred to printer 54 in the form of a data object.
  • This data object is not printer specific.
  • applications 74 which reside in printer 54 are used to perform the final conversion from the standardized format into the particular format required by hardware drivers 80.
  • print head 82 may require a particular format of a bit stream in order to create the image.
  • the applications running on host computer 52 do not need any specific knowledge of this format or knowledge of the particular operation of the hardware within printer 54.
  • Server 72 is also capable of serving other types of data to host computer 52 such as diagnostic information, security lockout information, status information related to computer 54, video, sound, voice, etc.
  • server 72 can provide an output in the form of a webpage which contains information regarding the status or diagnostics of printer 54 for display on a browser 64 in host computer 52.
  • the present invention can utilize any industry standard which is capable of communicating data objects.
  • Two competing technologies are emerging in the personal computing and networking arena
  • the Microsoft and Intel based computer are based on the COM (Component Object Model) , DCOM (Distributed COM) and Active X Controls.
  • This object oriented technology base provides for wrapping software functions in a package or object with a standard interface and protocol. This technology enables a high degree of software reuse and permits the distribution of an application over a network. Networked applications permit the execution of an application between a collection of hardware platforms and operating systems.
  • the second competing technology family is CORBA, JAVA and RNII. These technologies are led by Hewlett Packard and Sun Microsystems. These technologies are also object based and are also capable of networking applications. Java is hardware independent, which results from its Java Virtual Machine (JVM) . However, the JVM does add overhead and can reduce performance. This technology is often used with the UNIX operating system. These technologies provide for a change in computing from the single CPU based machine to networked computing.
  • JVM Java Virtual Machine
  • the printer becomes a node on the network with capabilities for computing and sharing of networked objects.
  • This expanded role for the identification card printer, as both a client and server of data and objects, provides a new opportunity to solve the dilemma of many custom print drivers and well as providing for new printer functions .
  • HTML and XML are examples of page markup languages that can be used with the invention.
  • XML is a preferred architecture for defining data types, which can be easily parsed. This flexibility provides a clean solution for parsing card graphics, text, magstripe encoding, smart card encoding, etc. It also readily enables communicating new data types such as audio or video. The potential for providing audio instruction or alerting an operator of a printer malfunction from an audio message sent from the printer to a PC is possible.
  • identification card printers are embedded software systems consisting of a single or multiple embedded micro controller which are used for network communications, print head control and the other related card manufacturing control tasks .
  • the typical embedded controller is an 8 or 16 bit micro controller such as the Motorola 68HC11 or HC16 family.
  • An embedded micro controller such as the Motorola MPC823 can manage the network communication from a host or client, as well as controlling the electro-mechanical components of the printer.
  • the software control in such microprocessors typically employs a "round robin" or interrupts driven architecture with a single software thread.
  • the use of a kernel can improve performance and permits multi-threading similar to that used on PC platforms for running multiple applications at the same time.
  • One such architecture is shown and described in co-pending application Serial No.
  • an operating system or kernel provides efficient use of the CPU and to provide for multitasking of communications, printer control etc. for the embedded system of the invention.
  • the embedded system may use a custom, proprietary operating system or a commercial embedded operating system such as the RTXC, Nucleus, Wind River operating system, Microsoft CE or a JAVA based operating system with a Java Virtual Machine.
  • the present invention is applicable to any type of printer with a primary task receiving a file, object, or bit stream, of text and image data and printing the image and text to a media such as paper, or a plastic card.
  • server 72 of Figure 2 is a hybrid server embedded in the micro controller 72 which serves as a client to data hosted by a networked host such as a PC 64 or an additional printer.
  • the client subscribes to data such as the print file or encoding information or objects.
  • the hybrid server can also serve data such as printer health over the network to other clients such as a PC, a remote PC or another printer.
  • the hybrid server is capable of executing a networked application where part or all of the computing is performed in the printer and other portions may be performed on the networked hosts or other serving devices such as printers or cameras.
  • Example object servers include OPC and RPC, COBRA and JAVA. Other object based network servers can operate with compatible networked applications.
  • the protocol for the object based messaging is also not critical, but the preferred protocols will be the internet based protocols such as TCP, UDP, IP, ICC, RPC, XML, HTTP, SNMP, CDPD, RMI , HOP, etc. This protocol can run on top of IP.
  • TCP is preferred for Internet based usage due to its robustness.
  • UDP will suffice for direct connect or short distance Intranet usage where robustness is not as important.
  • the printer will typically include an appropriate media driver, e.g., Ethernet 10BT, 100MB, ATM, USB, parallel, serial, etc.
  • Internet webpage technologies include XML, HTML, etc.
  • the invention is capable of serving as a webpage host or client. A web browser based printer was previously disclosed. The printer must have the appropriate media driver.
  • the printer can serve or subscribe to objects such as the D- COM/Active X Controls or the JAVA derivative CORBA or Enterprise Java Beans (EJB) .
  • objects such as the D- COM/Active X Controls or the JAVA derivative CORBA or Enterprise Java Beans (EJB) .
  • the identification card printer can serve or subscribe to objects such as the DCOM/Active x Controls or the JAVA derivative EJB, or CORBA ORBS.
  • This invention can be used as a node of a network.
  • the network may include a computer such as a PC, a mainframe, etc.
  • the networked hybrid server printer uses a technology base that is compatible with the network and the host application.
  • a solution for the Microsoft family employs DCOM/Active X technologies with an OPC hybrid server.
  • One preferred embodiment combines a Java based embedded hybrid server with a DCOM object based host server, which enables the identification card printer to inter-operate with all host computer applications .
  • the printer also operates as a server to other networked printers.
  • the printer can serve data or objects to a second printer such as a load sharing printer, which acts as a client and is able to subscribe to objects being served from printer.
  • the invention can also be used as an integrated standalone unit where the host application runs on the printer.
  • the printer can be networked with other devices such as digital camera and other printers that are clients.
  • the printer 54 can provide audio and/or video data to the browser 64 to alert the user to problems with the printer. An audio message is sent to the PC speaker system to alert the user to the need to replace supplies, service the printer etc.
  • the web server 72 of the printer 54 can contain audio/video data files which can be uploaded to the network PC and played with a video application to illustrate to a user how to use the printer or show an animated video of where a problem is located in the printer (card jam, motor failed, out of supply etc) .
  • XML can also be used to communicate security data between the PC 52 and the printer 54. Cards for financial purposes often require a secure system to avoid the use of the printer to make fraudulent credit cards, driver's licenses, etc. A public key/private key system is often used to provide security. A database of public keys is included in the PC resident application and an operator is required to use their private key to operate the machine. XML provides an ability to identify a special data type for the public key and the encrypted private key. In general, the embedded XML parser in client 70 and/or server 72 in the printer 54 is able to parse incoming data based upon data type, and route the data to the appropriate application in the printer.
  • the print file image or text data is routed to the printing application
  • the magstripe encoding data is routed to the mag application
  • the XML parser can assemble a message sent by the printer over the network to other networked devices, such as the PC 52, and can include data such as alarms and alerts, security key, video and audio simulation of a card jam, email a message to service provider etc.
  • Examples of various types of data that can be transmitted to or from the printer 54 in accordance with a standardized data format include:
  • FIG. 3 is a simplified diagram of a networked system 150 which includes a personal computer 152 coupled to an identification card printer 154 through a network 156.
  • FIG. 3 illustrates the various layers of computer 152 and printer 154.
  • Computer 152 is shown running applications 158 and 160 along with a browser client 162. These applications interact and operate through an operating system 164 through a spooler 166 and GDI 168.
  • a language monitor 170 and port monitor 172 couples to operating system 164.
  • a language monitor and port monitor is shown and described in co-pending U.S. Patent Application Serial No. 09/571,110, filed May 15, 2000, and entitled IDENTIFICATION CARD PRINTER INTERFACE which is incorporated herein by reference.
  • XML parser 174 is also provided in personal computer 150.
  • Language monitor 170, port monitor 172 and XML parser 174 cooperate with a TCP/IP layer 176 which formats data and receives data from network 156.
  • Network 156 can be configured in accordance with any data communication standard and can be a point-to-point link such as that provided by a serial data bus or other extensions of such standards such as USB, fire wire or others that may become available.
  • Printer 154 includes a communication layer 180 configured to send and receive data on network 156 in accordance with the TCP/IP standard.
  • Software on printer 154 operates under the control of kernel and kernel services 182 which is run on a microprocessor 184 such as a Motorola MPC823.
  • Printer 154 also contains an XML parser 186 configured to parse data received from network 156.
  • Printer 154 runs a browser client 188 capable of receiving, for example, data formatted in accordance with the HTTP or XML standards. Further, printer 154 can run server software such as a web server 190 or an SNMP server 192. With these layers, printer 154 is capable of transmitting information to a browser client, such as browser client 162, over network 156.
  • printer 154 can be used to send notification in accordance with an e-mail standard to a remote location.
  • the various software layers in printer 154 interact with embedded printer applications 194 for printing and encoding an identification card 85 shown in Figure 1.
  • Other types of printer application include applications to laminate an identification card, security applications, smart card encoding applications, magnetic strip encoding applications, proximity card encoding applications, printer configuration applications, diagnostic and status applications, and others .
  • personal computer 152 is used to create an identification card using, for example, applications 158 and 160 and/or browser 162.
  • the applications can be standardized applications or, if a browser is used to prepare and identification card, a form embodied on a web page can be provided to an operator which is generated by web server 190 in printer 154.
  • printer 154 can provide pointers using, for example, the URL standard, to a remote web server which provides an identification card form.
  • a remote web server can exist at the manufacturer of the identification card printer or at a centralized location such as a central government office used to provide the format for drivers licenses.
  • Printer 154 can also provide operation instructions to browser client 162 or provide a pointer to a remote location which contains such instructions.
  • printer 154 is capable of receiving software updates through network 156 from a remote location using XML parser 186 or browser client 188.
  • printer 154 can provide diagnostic and status information over a network. This data can be provided in accordance with the techniques set forth herein. In this aspect, the printer can be monitored and conditions diagnosed from remote locations. Further, the diagnostics can be performed on a remote system which may have more advanced diagnostic algorithms and techniques and provide greater computational power than printer 154.
  • printer 154 is provided for printing an image onto a medium such as an identification card 85 shown in Figure 2.
  • a print mechanism such as print head 82 is adapted to deposit material onto the identification card.
  • a network adapter such as communication layer 180 is configured to couple to network 156.
  • a print driver module is part of the embedded printer applications 154 and is configured to drive the print head 82 in response to a drive module input which is provided by, for example, browser 188 or XML parser 186.
  • Browser 188, XML parser 186 and web server 190 provide a client/server module which is coupled to the communication layer 180 and is configured to function as a client on the network 186 and responsively provide data to the drive module input of embedded printer applications 194.
  • the client/server module is configured to function as a server on the network 156 and serve data onto the network.
  • the client/server module is adapted to communicate with the network 156 in accordance with a communication protocol.
  • printer 154 contains an Internet Protocol (IP) address for use by communication layer 180 which uniquely identifies printer 154 on network 156.
  • IP Internet Protocol
  • data is communicated to the printer using XML or extensible markup language.
  • XML allows for the generic description of data. That is, it can be used to define data without the application knowing what the. format is ahead of time. This is achieved through the use of a DTD, or Data Type Definition. Another type of data definition is called a SCHEMA.
  • the XML parser reads in this DTD and then formats the data in accordance to the rules contained. This allows the parser to check the syntax as well as resolve any entities.
  • An internet appliance can benefit from this through the use of ubiquitous data. This appliance can receive any data that may be of benefit and use it without knowing its format. Conversely, data can be presented in such a way that it can be resolved to mean different things to different appliances.
  • XML can contain any type of data, that is it can contain binary, replaceable text, processing instructions and tags. The following is a description of some of these types, it should be noted that these data types are not all inclusive.
  • Binary data in XML is represented by the CDATA tag. This tag allows anything that resides between the symbols ⁇ ! [CDATA and] ] > to be ignored by the parser. This allows any character, within the Unicode set that XML understands, to be inserted. This effectively allows any binary data to be included in this block.
  • sound is represented as a binary file. A program can translate the information into sound, for example. This technique can be used to encapsulate any type of data in an XML document . Doing so allows a document to contain very rich content.
  • Replaceable Text or an Entity can be parsed or non-parsed text. Replaceable text is of the parsed kind. This allows a parser to replace each occurrence with the contents of the defined entity.
  • An example of an entity definition would be:
  • a processing instruction allows a document to contain instructions for the application. This allows the application to use these instructions without the parser interpreting them.
  • An example would be :
  • This instruction is passed to the application as a printer instruction with the variable color set to blue.
  • the most common form of this instruction is the XML declaration itself.
  • a tag is denoted by the start tag/end tag sequence.
  • An example is ⁇ color> #x3 ⁇ /color>. This defines the value of color to be 3, as denoted by the hexadecimal number between the tags.
  • This tag sequence can be defined in the DTD and can be validated against the definition of the tag.
  • the data type used by the printer to render an image can be described. If an image is considered a collection of objects that form a document, then this document can be described in an orderly method using XML. Utilizing XML to provide the document description allows for a portable format that is removed from the application .
  • the printer To print a document on a printer, the printer first breaks down each element into a collection of objects that reside on the card. These can be different for each card. XML even includes syntax to describe data that does not need to be present for all documents . Taking this into account all the elements that comprise a card can be included and it can be specified what the minimum configuration is and printing then requires only those elements. As each object is included on the document, it is then possible to describe a set of rules that would come into effect when an application uses that particular object. This allows for the maximum flexibility without creating an overly complex document .
  • the DTD can contain definitions for such elements in the document as:
  • Image Data Each of these elements can be broken down to their component pieces.
  • Image Data could contain:

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

An identification card printer (54) for printing an image on an identification card (85), is provided which includes a print mechanism (82) adapted to deposit material on to the card (85). A network adapter is configured to couple to a network (56). A print drive module (74) controls the print mechanism in response to a drive module input. A client/server module (70, 72) is coupled to the network adapter and functions as a client on the network (56) to responsively provide data to the drive module input. The client/server module (70, 72) can further function as a server on the network (56) to serve data to the network (56).

Description

IDENTIFICATION CARD PRINTER WITH CLIENT/SERVER
BACKGROUND OF THE INVENTION The present invention relates to identification cards. In particular, the present invention relates to printers which are used to print identification cards.
Identification cards have found widespread use for carrying identification and security related information for an individual. It is often desirable to create an identification card using an identification card printer. In fact, identification card printers are often used to print large numbers of cards, such as drivers' licenses. Such identification card printers have typically connected to the parallel port of a computer which is used for receiving print data and a serial part which is used for receiving a second type of data such as smart card encoder information. In general, printers are viewed as output devices which convert a text or image file from a computer application to a visual image on media such as paper or a plastic card. Identification card printers are a unique application because they are both input and output devices. Identification card printers convert an image/text from a host computer application into a visual image on a plastic card. Further, the printer provides full duplex communications to an application resident on the host computer for secure encoding of information from the host to a data media on the card e.g. magnetic stripe, proximity transceiver memory, smart card memory or a microcontroller, for example. Full duplex communications from the printer over a connection requires the customization of a software driver to provide the necessary Application Programmers Interface (API) to the plethora of applications that may be required to construct a card. Each driver is customized to the printer, host operating system, applications, API's and communications hardware. This customization leads to a large number of drivers which represent a large investment for the printer manufacturer in driver development and a significant confusion for the user as they sort through which driver to use .
The nature of the communication techniques used to communicate with identification card printers has tended to limit their functionality and the efficiency with which they are used. Further, the communication techniques have resulted in a significant portion of the product development budget being consumed by software development required for driver compatibility. SUMMARY OF THE INVENTION
An identification card printer for printing an image on an identification card, is provided which includes a print mechanism adapted to deposit material on to the card. A network adapter is configured to couple to a network. A print drive module controls the print mechanism in response to a drive module input. A client/server module is coupled to the network adapter functions as a client on the network to responsively provide data to the drive module input . The client/server module is further functions as a server on the network and serve data to the network. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a simplified block diagram showing a prior art printer coupled to a personal computer.
Figure 2 is a simplified diagram showing a personal computer coupled to an identification card printer in accordance with one example embodiment of the present invention.
Figure 3 is a more detailed diagram showing the different hardware and software layers in a personal computer and identification card printer in accordance with the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention includes an identification card printer, (i.e., a printer used to print onto identification cards) , which is capable of communicating using a standardized network communication protocol and/or a standardized object based data structure.
Printers have been connected to host computers via a network or point-to-point communications link such as a serial or parallel port . Applications resident on the host computer process information that is communicated over the network link to an output device, the printer, which converts the information to a visual image on a media such as a paper or plastic card.
However, the plethora of host computer operating systems, networking protocols and application programmer's interfaces (API's) results in a confusing array of printer drivers which are narrowly optimized for a specific printer, host operating system, application API etc. This situation results in confusing for the user of the printer and considerable expense in the driver developer. Identification cards have over laminates that provide for increased card durability and security and use customized hologram secure markings. The lamination process control settings (time, temperature, speed and pressure) are commonly communicated to the printer via a host configuration application. The lamination configuration is commonly provided by an application other than the print image generation application. Identification cards may contain data on a variety of media including magnetic stripes, proximity transceivers with memory and smart card chips. The identification card printer provides the encoding for one or more of these data media. The encoding applications are often provided by several software manufacturers and reside on the host computer. The communication and validation of the information for card encoding adds further complexity to the development of drivers to configure and communicate the necessary data to manufacture a card. Identification card printers are complex electro-mechanical devices often having several hundred component parts. It is desirable to provide information on the health of the printer and the status of the card printing and encoding process to a host computer or a networked remote computer for providing a visual alert of problems and for validation of successful encoding. The need to accommodate full duplex communications between the identification card printer and host computer further complicates the development of a driver. Standard operating system driver architectures such as
Microsoft Windows, or Macintosh do not typically support full duplex communications and custom "work arounds" are needed for identification card printers.
In one aspect, the invention provides for a printer with an embedded network hybrid client/server that uses standard networking technologies such as OPC, JAVA, and XML (extensible Markup Language) to eliminate or reduce the need for developing drivers that are operating system and printer specific. In one aspect, this is achieved through the use of an object server data communication technique. In one aspect, the data objects can be defined by the communication technique such that new objects can easily be added as new or different printers are introduced.
Identification card printers function as a card manufacturing system. Identification card printers are provided text and image data via a communication interface from a host computer which is running a resident application. Such applications often rasterize an image provided from a digital camera or scanned image and provide the required color settings for the printer's print engine. A typical system is shown in Figure 1. Figure 1 shows a prior art printer 22 running five example applications 12,14,16,18,20 which communicate with printer 22 over a communication link 24. Frequently, link 24 comprises multiple physical links (parallel, serial, etc.) to allow computer 10 to communicate with various hardware elements in printer 22 such as the print mechanism, magnetic stripe encoder, etc. Applications 12-20 operate in accordance with the operating system 26 of the computer 10. Operating system 26 is illustrated as including driver software configured to handle the communications with printer 22. The various applications 12-20 provide, for example, photo-rasterizing, bar coding, smart card preparation and security. The particular data generated by these applications is transferred to the printer 22 in accordance with a proprietary driver running in the operating system 26. This driver also operates in accordance with the specifications of printer 22 and coordinates other printing parameters such as heating control, head control and also handles feedback received from printer 26, for example, which is provided to the smart card application 18. As discussed above, due to the number of different operating systems, applications and communication techniques, a large number of drivers must be created and must be properly configured by the manufacturer and the user. Figure 2 is a simplified block diagram showing an identification card printing system 50 which includes a host computer 52 coupled to an identification card printer 54 through a communication network 56. Communication network 56 can be any type of data link, including direct links such as through a universal serial bus (USB) , a serial or parallel port of a computer, an infrared link, or more traditional networks such as Ethernet, etc. Network media may be wireless, fiber, wire, coax cable or any future technology where messaging can be transported. The preferred media is Ethernet lOBaseT or 100MB. Other traditional cabling such as serial, parallel or newer networking such as USB or Firewire may also be used. In general, host computer 52 communicates with identification card printer 54 by sending and receiving data objects through network 56 which are formed in accordance with an industry standard. In the particular embodiment illustrated in Figure 2, host computer 52 includes a number of different identification card applications 58 and 60 along with a browser client 64 which couples through an IP (Internet Protocol) driver 66 to communication network 56. Applications 58-60 can be configured, for example, as plug-ins to browser 64 and communicate with browser 64 through a plug-in interface. Alternatives also include card applications which are configured in accordance with an HTML or XML form, XML objects, JAVA objects, etc. Example card applications include text or graphics applications, smart card encoding applications, magnetic stripe encoding applications, printer security applications, printer diagnostic applications, bar code applications, etc. In another alternative, a server 68 can provide a direct interface for card applications 58-60 to network 56 such that card applications 58-60 can communicate directly on network 56. For example, interface 68 can provide a data server in accordance with a standard such as (OPC) OLE for Process Control which is an extension to Microsoft OLE (Object Linking & Embedding) OPC, XML, etc.
Printer 54 includes a client 70 and a server 72 for coupling to network 56 and communicating with host 52. Applications 74 run in a microprocessor 76 in the identification card printer 54 under the control of an operating system 78. As explained in more detail below, applications 74 receive data objects from network 56 through client 70. Examples of such objects include images, smart card data, text, video, animation, voice, bar code information or magnetic strip information. Client 70 can be a browser client or a module of web server 72 which is configured to receive such objects. Applications 74 responsively control hardware drivers 80 to control various types of hardware in printer 54 such as a print head 82 or a magnetic recording head 84 which are used to place data onto an identification card 85. Any type of hardware application can be provided such as those discussed with respect to Figure 1 including RFID writers for proximity cards, laminators, feed mechanisms, printer controls, bar code writers, etc. Further, applications 74 are capable of communicating with applications 58 and 60 in host computer 52 through communication network 56 using a server such as a web server 72. Web server 72 can also communicate JAVA applets 86 over network 56. In one aspect, server 72 can serve various data types such as FTP, XML, SMNP, POP including POP3 , any type of applet, etc.
With present invention, the various types of data objects which are transferred through network 56 can be hardware independent and can be created in accordance with an industry standard data object format such as that provided by XML or OPC. Thus, an image, such as a rasterized photograph for printing on an identi ication card by printer 54, is transferred to printer 54 in the form of a data object. This data object is not printer specific. Instead, applications 74 which reside in printer 54 are used to perform the final conversion from the standardized format into the particular format required by hardware drivers 80. For example, print head 82 may require a particular format of a bit stream in order to create the image. However, the applications running on host computer 52 do not need any specific knowledge of this format or knowledge of the particular operation of the hardware within printer 54.
Server 72 is also capable of serving other types of data to host computer 52 such as diagnostic information, security lockout information, status information related to computer 54, video, sound, voice, etc. For example, server 72 can provide an output in the form of a webpage which contains information regarding the status or diagnostics of printer 54 for display on a browser 64 in host computer 52.
The present invention can utilize any industry standard which is capable of communicating data objects. Two competing technologies are emerging in the personal computing and networking arena The Microsoft and Intel based computer are based on the COM (Component Object Model) , DCOM (Distributed COM) and Active X Controls. This object oriented technology base provides for wrapping software functions in a package or object with a standard interface and protocol. This technology enables a high degree of software reuse and permits the distribution of an application over a network. Networked applications permit the execution of an application between a collection of hardware platforms and operating systems.
The second competing technology family is CORBA, JAVA and RNII. These technologies are led by Hewlett Packard and Sun Microsystems. These technologies are also object based and are also capable of networking applications. Java is hardware independent, which results from its Java Virtual Machine (JVM) . However, the JVM does add overhead and can reduce performance. This technology is often used with the UNIX operating system. These technologies provide for a change in computing from the single CPU based machine to networked computing.
By applying this technology to identification card printers, the printer becomes a node on the network with capabilities for computing and sharing of networked objects. This expanded role for the identification card printer, as both a client and server of data and objects, provides a new opportunity to solve the dilemma of many custom print drivers and well as providing for new printer functions .
HTML and XML are examples of page markup languages that can be used with the invention. XML is a preferred architecture for defining data types, which can be easily parsed. This flexibility provides a clean solution for parsing card graphics, text, magstripe encoding, smart card encoding, etc. It also readily enables communicating new data types such as audio or video. The potential for providing audio instruction or alerting an operator of a printer malfunction from an audio message sent from the printer to a PC is possible.
Typically, identification card printers are embedded software systems consisting of a single or multiple embedded micro controller which are used for network communications, print head control and the other related card manufacturing control tasks . The typical embedded controller is an 8 or 16 bit micro controller such as the Motorola 68HC11 or HC16 family. An embedded micro controller such as the Motorola MPC823 can manage the network communication from a host or client, as well as controlling the electro-mechanical components of the printer. The software control in such microprocessors typically employs a "round robin" or interrupts driven architecture with a single software thread. The use of a kernel can improve performance and permits multi-threading similar to that used on PC platforms for running multiple applications at the same time. One such architecture is shown and described in co-pending application Serial No. 09/477,970, filed January 5, 2000 and entitled PRINTER OR LAMINATOR WITH MULTI -THREADED PROGRAM ARCHITECTURE which is incorporated herein by reference. Preferably, an operating system or kernel provides efficient use of the CPU and to provide for multitasking of communications, printer control etc. for the embedded system of the invention. The embedded system may use a custom, proprietary operating system or a commercial embedded operating system such as the RTXC, Nucleus, Wind River operating system, Microsoft CE or a JAVA based operating system with a Java Virtual Machine.
The present invention is applicable to any type of printer with a primary task receiving a file, object, or bit stream, of text and image data and printing the image and text to a media such as paper, or a plastic card.
In one aspect, server 72 of Figure 2 is a hybrid server embedded in the micro controller 72 which serves as a client to data hosted by a networked host such as a PC 64 or an additional printer. The client subscribes to data such as the print file or encoding information or objects. The hybrid server can also serve data such as printer health over the network to other clients such as a PC, a remote PC or another printer. In one aspect, the hybrid server is capable of executing a networked application where part or all of the computing is performed in the printer and other portions may be performed on the networked hosts or other serving devices such as printers or cameras. Example object servers include OPC and RPC, COBRA and JAVA. Other object based network servers can operate with compatible networked applications. The protocol for the object based messaging is also not critical, but the preferred protocols will be the internet based protocols such as TCP, UDP, IP, ICC, RPC, XML, HTTP, SNMP, CDPD, RMI , HOP, etc. This protocol can run on top of IP. TCP is preferred for Internet based usage due to its robustness. UDP will suffice for direct connect or short distance Intranet usage where robustness is not as important. The printer will typically include an appropriate media driver, e.g., Ethernet 10BT, 100MB, ATM, USB, parallel, serial, etc. Internet webpage technologies include XML, HTML, etc. The invention is capable of serving as a webpage host or client. A web browser based printer was previously disclosed. The printer must have the appropriate media driver. In general, the printer can serve or subscribe to objects such as the D- COM/Active X Controls or the JAVA derivative CORBA or Enterprise Java Beans (EJB) . An OPC based hybrid server and/or an RPC and Java based server.
In one aspect, the identification card printer can serve or subscribe to objects such as the DCOM/Active x Controls or the JAVA derivative EJB, or CORBA ORBS. This invention can be used as a node of a network. The network may include a computer such as a PC, a mainframe, etc. Preferably, the networked hybrid server printer uses a technology base that is compatible with the network and the host application. A solution for the Microsoft family employs DCOM/Active X technologies with an OPC hybrid server. One preferred embodiment combines a Java based embedded hybrid server with a DCOM object based host server, which enables the identification card printer to inter-operate with all host computer applications .
In one embodiment, the printer also operates as a server to other networked printers. In this aspect, the printer can serve data or objects to a second printer such as a load sharing printer, which acts as a client and is able to subscribe to objects being served from printer. In one aspect, the invention can also be used as an integrated standalone unit where the host application runs on the printer. The printer can be networked with other devices such as digital camera and other printers that are clients. In one aspect, the printer 54 can provide audio and/or video data to the browser 64 to alert the user to problems with the printer. An audio message is sent to the PC speaker system to alert the user to the need to replace supplies, service the printer etc. The web server 72 of the printer 54 can contain audio/video data files which can be uploaded to the network PC and played with a video application to illustrate to a user how to use the printer or show an animated video of where a problem is located in the printer (card jam, motor failed, out of supply etc) .
XML can also be used to communicate security data between the PC 52 and the printer 54. Cards for financial purposes often require a secure system to avoid the use of the printer to make fraudulent credit cards, driver's licenses, etc. A public key/private key system is often used to provide security. A database of public keys is included in the PC resident application and an operator is required to use their private key to operate the machine. XML provides an ability to identify a special data type for the public key and the encrypted private key. In general, the embedded XML parser in client 70 and/or server 72 in the printer 54 is able to parse incoming data based upon data type, and route the data to the appropriate application in the printer. For example, the print file image or text data is routed to the printing application, the magstripe encoding data is routed to the mag application, etc. Conversely, the XML parser can assemble a message sent by the printer over the network to other networked devices, such as the PC 52, and can include data such as alarms and alerts, security key, video and audio simulation of a card jam, email a message to service provider etc. Examples of various types of data that can be transmitted to or from the printer 54 in accordance with a standardized data format include:
Table 1. - XML ID Card Printer Data Types Print File Image Data
Text Data Bar Code Data
Mag Stripe Encoding Data Public Key
Private Key
Prox Card Encoding Data Public Key Private Key
Smart card Encoding Data
Public Key
Private Key
Lamination Card Material Geometry Data
Film Material/Geometry Data Lamination Parameters Public Key Private Key
User ID (Security) Lamination ID (Security) Supplies History Configuration Print Head Settings
Lamination Settings Application Specific Settings Control Constants Lamination Tables Networking
Biometrics Public Key
Private Key Finger Print
Voice Print Instructions Audio Data Video Data Animation Data Diagnostics Printer Failure Data
Audio Data Security Data
Email Message Text Video
Audit
Prox Card Encoding Data Public Key Private Key
FIG. 3 is a simplified diagram of a networked system 150 which includes a personal computer 152 coupled to an identification card printer 154 through a network 156. FIG. 3 illustrates the various layers of computer 152 and printer 154. Computer 152 is shown running applications 158 and 160 along with a browser client 162. These applications interact and operate through an operating system 164 through a spooler 166 and GDI 168. A language monitor 170 and port monitor 172 couples to operating system 164. In one example, a language monitor and port monitor is shown and described in co-pending U.S. Patent Application Serial No. 09/571,110, filed May 15, 2000, and entitled IDENTIFICATION CARD PRINTER INTERFACE which is incorporated herein by reference. In XML parser 174 is also provided in personal computer 150. Language monitor 170, port monitor 172 and XML parser 174 cooperate with a TCP/IP layer 176 which formats data and receives data from network 156. Network 156 can be configured in accordance with any data communication standard and can be a point-to-point link such as that provided by a serial data bus or other extensions of such standards such as USB, fire wire or others that may become available.
Printer 154 includes a communication layer 180 configured to send and receive data on network 156 in accordance with the TCP/IP standard. Software on printer 154 operates under the control of kernel and kernel services 182 which is run on a microprocessor 184 such as a Motorola MPC823. Printer 154 also contains an XML parser 186 configured to parse data received from network 156. Printer 154 runs a browser client 188 capable of receiving, for example, data formatted in accordance with the HTTP or XML standards. Further, printer 154 can run server software such as a web server 190 or an SNMP server 192. With these layers, printer 154 is capable of transmitting information to a browser client, such as browser client 162, over network 156. Further SNMP server 192 can be used to send notification in accordance with an e-mail standard to a remote location. The various software layers in printer 154 interact with embedded printer applications 194 for printing and encoding an identification card 85 shown in Figure 1. Other types of printer application include applications to laminate an identification card, security applications, smart card encoding applications, magnetic strip encoding applications, proximity card encoding applications, printer configuration applications, diagnostic and status applications, and others .
In the embodiment illustrated in FIG. 3, personal computer 152 is used to create an identification card using, for example, applications 158 and 160 and/or browser 162. The applications can be standardized applications or, if a browser is used to prepare and identification card, a form embodied on a web page can be provided to an operator which is generated by web server 190 in printer 154. Further, printer 154 can provide pointers using, for example, the URL standard, to a remote web server which provides an identification card form. Such a remote web server can exist at the manufacturer of the identification card printer or at a centralized location such as a central government office used to provide the format for drivers licenses. Printer 154 can also provide operation instructions to browser client 162 or provide a pointer to a remote location which contains such instructions. In one aspect, printer 154 is capable of receiving software updates through network 156 from a remote location using XML parser 186 or browser client 188.
In one aspect, printer 154 can provide diagnostic and status information over a network. This data can be provided in accordance with the techniques set forth herein. In this aspect, the printer can be monitored and conditions diagnosed from remote locations. Further, the diagnostics can be performed on a remote system which may have more advanced diagnostic algorithms and techniques and provide greater computational power than printer 154.
In general, printer 154 is provided for printing an image onto a medium such as an identification card 85 shown in Figure 2. A print mechanism such as print head 82 is adapted to deposit material onto the identification card. A network adapter such as communication layer 180 is configured to couple to network 156. A print driver module is part of the embedded printer applications 154 and is configured to drive the print head 82 in response to a drive module input which is provided by, for example, browser 188 or XML parser 186. Browser 188, XML parser 186 and web server 190 provide a client/server module which is coupled to the communication layer 180 and is configured to function as a client on the network 186 and responsively provide data to the drive module input of embedded printer applications 194. Further, the client/server module is configured to function as a server on the network 156 and serve data onto the network. The client/server module is adapted to communicate with the network 156 in accordance with a communication protocol. In one aspect, printer 154 contains an Internet Protocol (IP) address for use by communication layer 180 which uniquely identifies printer 154 on network 156.
As discussed above, in one aspect of the invention data is communicated to the printer using XML or extensible markup language. XML allows for the generic description of data. That is, it can be used to define data without the application knowing what the. format is ahead of time. This is achieved through the use of a DTD, or Data Type Definition. Another type of data definition is called a SCHEMA. The XML parser reads in this DTD and then formats the data in accordance to the rules contained. This allows the parser to check the syntax as well as resolve any entities. An internet appliance can benefit from this through the use of ubiquitous data. This appliance can receive any data that may be of benefit and use it without knowing its format. Conversely, data can be presented in such a way that it can be resolved to mean different things to different appliances.
XML can contain any type of data, that is it can contain binary, replaceable text, processing instructions and tags. The following is a description of some of these types, it should be noted that these data types are not all inclusive.
Binary data in XML is represented by the CDATA tag. This tag allows anything that resides between the symbols < ! [CDATA and] ] > to be ignored by the parser. This allows any character, within the Unicode set that XML understands, to be inserted. This effectively allows any binary data to be included in this block. As an example, sound is represented as a binary file. A program can translate the information into sound, for example. This technique can be used to encapsulate any type of data in an XML document . Doing so allows a document to contain very rich content.
Replaceable Text or an Entity can be parsed or non-parsed text. Replaceable text is of the parsed kind. This allows a parser to replace each occurrence with the contents of the defined entity. An example of an entity definition would be:
< ! ENTITY%pub" &#xc ; ditionsFargo" > <! ENTITY rights "All rights reserved" >
<! ENTITY book "Instruction Manual,
&#xA9; 2000 %pub; . &rights ; " > This would then be resolved by the parser as:
Instruction Manual, ® 2000 Editions Fargo. krights;
The "&rights" reference would be expanded should the "&book" reference appear in the document.
A processing instruction allows a document to contain instructions for the application. This allows the application to use these instructions without the parser interpreting them. An example would be :
<? Printer color=blue?> This instruction is passed to the application as a printer instruction with the variable color set to blue. The most common form of this instruction is the XML declaration itself. A tag is denoted by the start tag/end tag sequence. An example is <color> #x3 </color>. This defines the value of color to be 3, as denoted by the hexadecimal number between the tags. This tag sequence can be defined in the DTD and can be validated against the definition of the tag.
Using the DTD that XML provides, the data type used by the printer to render an image can be described. If an image is considered a collection of objects that form a document, then this document can be described in an orderly method using XML. Utilizing XML to provide the document description allows for a portable format that is removed from the application .
To print a document on a printer, the printer first breaks down each element into a collection of objects that reside on the card. These can be different for each card. XML even includes syntax to describe data that does not need to be present for all documents . Taking this into account all the elements that comprise a card can be included and it can be specified what the minimum configuration is and printing then requires only those elements. As each object is included on the document, it is then possible to describe a set of rules that would come into effect when an application uses that particular object. This allows for the maximum flexibility without creating an overly complex document . The DTD can contain definitions for such elements in the document as:
Document Version
Image Data
Text Data Barcode Data
MagStripe Data
Smart card Data
Lamination Data
Configuration Data Biometric Data
Multimedia Data
Diagnostic Data
Video Instruction Data
Audio Data Each of these elements can be broken down to their component pieces. For example Image Data could contain:
Data Source
Color Heat Setting Image Type
Data Collection Method
Encryption Type
Encryption Key
Picture position Picture Gamma Correction
While not all of these elements are needed to describe a picture, they do describe all the properties that a picture can contain. Those not needed are set to optional. Once each element of a document is described, the complete layout of the card should be descriptive enough to handle any occurrence. When new methods for encryption, media collection, or data manipulation are created, the version number can be used to differentiate this data from the old data. This allows for flexibility without sacrificing the integrity of the data.
Although the present invention has been described with reference to preferred embodiments, workers skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.

Claims

WHAT IS CLAIMED IS:
1. An identification card printer for printing an image on an identification card, comprising: a print mechanism adapted to deposit material on to the identification card; a network adapter configured to couple to a network; a print drive module configured to control the print mechanism in response to a drive module input ; and a client/server module coupled to the network adapter configured to function as a client on the network and responsively provide data to the drive module input, the client/server module further configured to function as a server on the network and serve data to the network, the client/server module adapted to communicate with the network in accordance with a protocol .
2. The identification card printer of claim 1 including a network address in accordance with an Internet Protocol (IP) .
3. The identification card printer of claim 1 wherein the client module includes a data parser.
4. The identification card printer of claim 3 including a data writing device and wherein the data parser directs data to the data writing device.
5. The identification card printer of claim 1 wherein the server serves diagnostic information on the network.
6. The identification card printer of claim 1 wherein the client is configured to receive data in accordance with an object based data structure which contains data objects for writing onto an identification card.
7. The identification card printer of claim 6 wherein the object based data structure comprises XML.
8. The identification card printer of claim 1 wherein the server is configured to serve data in accordance with the HTML standard.
9. The identification card printer of claim 1 wherein the server is configured to serve a network address of another node on the network, the network address in accordance with the Internet Protocol
(IP) -
10. The identification card printer of claim 9 wherein the IP address is a pointer to an identification card printer manual located on a remote server.
11. The identification card printer of claim 9 wherein the IP address is a pointer which points to diagnostic information on a remote server.
12. The identification card printer of claim 11 wherein the client server module serves diagnostic data to a remote client.
13. The identification card printer of claim 9 wherein the IP address is a pointer which points to a card format located on a remote server.
14. The identification card printer of claim 9 wherein the IP address is a pointer which points to a location for receiving software updates from a remote server.
15. The identification card printer of claim 1 wherein the server is configured to provide printer status information.
16. The identification card printer of claim 1 wherein the network adapter is configured to couple to Ethernet .
17. The identification card printer of claim 1 including an operating system to support the client/server module, the operating system providing multi-threaded operation.
18. The identification card printer of claim 1 wherein the server comprises an SNMP server.
19. The identification card printer of claim 1 wherein the server comprises an SMTP server.
20. The identification card printer of claim 1 wherein the server comprises a POP3 email server.
21. The identification card printer of claim 1 including a data parser and a laminator and wherein the data parser directs laminator related data to the laminator.
22. The identification card printer of claim 4 wherein the data writing device comprises a magnetic stripe recorder.
23. The identification card printer of claim 4 wherein the data writing device comprises a smart code encoder.
24. The identification card printer of claim 4 wherein the data writing device comprises a bar code writer.
25. The identification card printer of claim 4 wherein the data writing device is configured to write RFID data to a proximity card.
26. The identification card printer of claim 1 wherein the server is configured to serve an apple .
27. The identification card printer of claim 26 wherein the applet is in accordance with JAVA.
28. The identification card printer of claim 6 wherein data objects are definable by a protocol of the object based data structure.
29. The identification card printer of claim 1 wherein the server is configured to serve audio data.
30. The identification card printer of claim 1 wherein the server is configured to serve video data.
31. The identification card printer of claim 1 wherein the server is configured to serve audio data.
32. The identification card printer of claim 1 wherein the server is configured to serve print data to a remote printer coupled to the network.
33. The identification card printer of claim 1 wherein the client is configured to receive data in accordance with the XML standard.
34. The identification card printer of claim 1 wherein the client is configured to receive security data in accordance with a public/private key encoding standard.
35. An identification card printer for printing an image on an identification card, comprising: a print mechanism adapted to deposit material on to the identification card; a network adapter configured to couple to a network; a print drive module configured to control the print mechanism in response to a drive module inp t; and a client module coupled to the network adapter configured to function as a client on the network and responsively provide data to the drive module input, the client module adapted to communicate with the network in accordance with a protocol .
36. The identification card printer of claim 35 including a network address in accordance with an Internet Protocol (IP) .
37. The identification card printer of claim 35 wherein the client module includes a data parser.
PCT/US2000/018962 1999-07-14 2000-07-12 Identification card printer with client/server WO2001006345A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14373199P 1999-07-14 1999-07-14
US60/143,731 1999-07-14

Publications (1)

Publication Number Publication Date
WO2001006345A1 true WO2001006345A1 (en) 2001-01-25

Family

ID=22505350

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/018962 WO2001006345A1 (en) 1999-07-14 2000-07-12 Identification card printer with client/server

Country Status (1)

Country Link
WO (1) WO2001006345A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003052658A1 (en) 2001-12-17 2003-06-26 Zih Corp. Xml printer system
EP1816558A3 (en) * 2006-02-06 2008-07-30 Seiko Epson Corporation Device driving method, computer and system
US7600685B2 (en) 2001-12-17 2009-10-13 Zih Corp. XML printer system with RFID capability
US7959083B2 (en) 2002-07-17 2011-06-14 Zih Corp. XML printer system
US7959082B2 (en) 2001-12-17 2011-06-14 Zih Corp. XML system
US8393540B2 (en) 2001-12-17 2013-03-12 Zih Corp. XML printer system with RFID capability

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996039656A1 (en) * 1995-06-06 1996-12-12 Apple Computer, Inc. Architecture for network printing systems
WO1999021713A1 (en) * 1997-10-24 1999-05-06 Fargo Electronics, Inc. Ink jet identification card printer with lamination station
EP0924597A2 (en) * 1997-12-16 1999-06-23 Lexmark International, Inc. Client/server printer driver system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996039656A1 (en) * 1995-06-06 1996-12-12 Apple Computer, Inc. Architecture for network printing systems
WO1999021713A1 (en) * 1997-10-24 1999-05-06 Fargo Electronics, Inc. Ink jet identification card printer with lamination station
EP0924597A2 (en) * 1997-12-16 1999-06-23 Lexmark International, Inc. Client/server printer driver system

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7959082B2 (en) 2001-12-17 2011-06-14 Zih Corp. XML system
EP2282270A3 (en) * 2001-12-17 2011-08-24 ZIH Corp. XML printer system
EP1456790A4 (en) * 2001-12-17 2008-04-09 Zih Corp Xml printer system
US9600463B2 (en) 2001-12-17 2017-03-21 Zih Corp. XML printer system
US7600685B2 (en) 2001-12-17 2009-10-13 Zih Corp. XML printer system with RFID capability
WO2003052658A1 (en) 2001-12-17 2003-06-26 Zih Corp. Xml printer system
EP1456790A1 (en) * 2001-12-17 2004-09-15 ZIH Corp. Xml printer system
US7988051B2 (en) 2001-12-17 2011-08-02 ZIP Corp. XML printer system with RFID capability
US9201845B2 (en) 2001-12-17 2015-12-01 Zih Corp. XML printer system
US8393540B2 (en) 2001-12-17 2013-03-12 Zih Corp. XML printer system with RFID capability
US9418322B2 (en) 2001-12-17 2016-08-16 Zih Corp. XML printer system with RFID capability
US8459555B2 (en) 2001-12-17 2013-06-11 Zih Corp. XML system
US8544746B2 (en) 2001-12-17 2013-10-01 Zih Corp. XML printer system
US8820642B2 (en) 2001-12-17 2014-09-02 Zih Corp. XML printer system with RFID capability
US8919652B2 (en) 2001-12-17 2014-12-30 Zih Corp. XML system
US7959083B2 (en) 2002-07-17 2011-06-14 Zih Corp. XML printer system
US9244893B2 (en) 2006-02-06 2016-01-26 Seiko Epson Corporation Method, computer, and system for an operating system independent device driver
EP3046021A1 (en) * 2006-02-06 2016-07-20 Seiko Epson Corporation Device driving method, computer, and system
US8416433B2 (en) 2006-02-06 2013-04-09 Seiko Epson Corporation Method, computer, and system for an operating system independent device driver
EP1816558A3 (en) * 2006-02-06 2008-07-30 Seiko Epson Corporation Device driving method, computer and system
US9690526B2 (en) 2006-02-06 2017-06-27 Seiko Epson Corporation Method, computer and printer system for converting binary data indicates printer status information into mark-up language data

Similar Documents

Publication Publication Date Title
US7339690B2 (en) Identification card printer with client/server
EP1638017B1 (en) Method, program and storage medium for controlling an embedded device
US8373874B2 (en) Using a web browser on a client to enable and disable a filter program on a printer
US7136941B2 (en) Print management architecture for computing devices having a set of filters functions wherein the functions are prevented from conflicting with one another
EP1240027B1 (en) Identification card personalization device with web browser
US7471405B2 (en) Augmented operating system printing architecture
US7483940B2 (en) Dynamic agent with embedded web server and mark-up language support for e-commerce automation
US20060092467A1 (en) Print job workflow system
US20050210227A1 (en) Multilevel ticket-based job management architecture for computing devices
JP4925960B2 (en) Method, apparatus, and machine-readable medium for processing a data processing request of a multifunction machine
WO2014106882A1 (en) Device control system, printer, and method for controlling device control system
JP2008192142A (en) Method for converting print stream, computer system and computer readable medium
US20020116480A1 (en) Data transfer process apparatus, device, status notifying method, storage medium storing program for status notification, and program for status notification
US9720885B2 (en) Detection of UTF-16 encoding in streaming XML data without a byte-order mark and related printers, systems, methods, and computer program products
EP2833252A1 (en) Printing system and printer
US20050165810A1 (en) Generating and providing device management data via network
JP4299738B2 (en) Method, system and computer readable medium for data input and output using non-standard I / O devices for web applications
US6633890B1 (en) Method for washing of graphic image files
TW504640B (en) System and method for performing a business process in a multi-enterprise, collaborating network
WO2001006345A1 (en) Identification card printer with client/server
WO2003105003A1 (en) Capturing digital data directly from an electronic device and processing the data into xml form
US6999188B1 (en) Dynamically configurable printer and method of use thereof
WO2004009361A1 (en) Network printing system, network printing device, and network printing method
US20040165216A1 (en) System for processing print jobs in a network
EP1102159A2 (en) Printer with web based input and control interface

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP