CA2258596A1 - Dynamic device driver - Google Patents
Dynamic device driver Download PDFInfo
- Publication number
- CA2258596A1 CA2258596A1 CA002258596A CA2258596A CA2258596A1 CA 2258596 A1 CA2258596 A1 CA 2258596A1 CA 002258596 A CA002258596 A CA 002258596A CA 2258596 A CA2258596 A CA 2258596A CA 2258596 A1 CA2258596 A1 CA 2258596A1
- Authority
- CA
- Canada
- Prior art keywords
- peripheral device
- device driver
- host computer
- computer system
- peripheral
- 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.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
- G06F9/4415—Self describing peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0382—Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S715/00—Data processing: presentation processing of document, operator interface processing, and screen saver display processing
- Y10S715/961—Operator interface with visual structure or function dictated by intended use
Abstract
A data communication system for allowing communication between various devices and various operating systems across various types of networking systems. The data communication system includes a host computer system (10) with a display device (15) and a processor (17) for generating signals for the display device, at least one peripheral device (56), and a dynamic device driver (42) for allowing two-way communication between the peripheral device and the host computer system. The dynamic device driver includes an operating system specific portion (33), configured for the operating system of the host computer system, and an operating system independent device driver portion (34), configured for the peripheral device. The operating system includes a linking mechanism (19) for allowing two-way communication between the operating system specific portion and the operating system independent device driver portion, thus allowing two-way communication between the processor and the peripheral device.
Description
WO 97/49023 1 rCT/USg7/09705 DYNAMIC DEVICE DRlVER
Field of the Invention This invention relates to the field of data procPs.ein~ and, more particularly, to an improved dynamic device driver that provides ccs..~ n;c~tion between various S devices and various ope.~ g systems across various types of nelwoll ing systems.
BacL~ uund of the Invention Device drivers are programs or routines which control and manage the flow of data to and from input/output (I/O) devices. The drivers form part of and interact with an ope.~ 1g system. An opelal;,-g system normally incllldes a basic set of device 10 drivers for I/O devices, such as a keyboard, fixed and floppy disk drives, display, and printer, col~,...only used with a personal computer. When an I/O device is added to a data processing system, and such device is not operable under an e~ ti~ driver stored within the data processing system, a new driver must be added to the system in order to use the device. A new driver is customarily supplied by the maker of the I/O
15 device and is in~t~lled in the system in accold~-ce with procedures established by the ope~li"~ system. In personal co...p.lle,s ope.~Ling with DOSTM or OS/21M operating systems, such drivers are in~tAlle~ at start or reboot time, using col.. Al-rls or instructions in a CONFIG.SYS file.
Typically device drivers are created for use with a particular ope,a~h-g system.20 A device driver written for one ope,~liilg system cannot be used with anotheroperating system without extensive mo~ificAtion~ Many have tried to find solutions to this dependency problem in order to create a universal device driver. One example is U.S. Patent No. 5,265,252 to Rawson, III et al., which discloses a device driver, with one part that int~rf~ces with the ope,~Ling system and a second part that CA 022~8~96 1998-12-17 interfaces with the plurality of di~re,-~ ope~aling systems. Rawson's device driver system handles a great variety of di~re"l I/O devices with di~erenl operating systems. Another example is U.S. Patent No. 4,975,829 to Clarey et al. Clarey et al.
also discloses a device driver that is independent of a computer operating system for 5 comm~lnie~tion with peripheral device jobs.
The prior art, as noted above, exhibits an apparel~l universal com1e~ ity feature with operating systems and peripheral devices whose protocols are preprogrammed into the device driver. However, these device drivers are activated at compile time and thus cannot interact with operating systems or device drivers not 10 previously conceived of during the authoring of the initial device driver. Thus, the systems fail to be truly independent. Also, the prior art fails to address a ~ignific~nt amount of user friendly two-way communication between the operating system and the connected peliphe,~l devices.
Recently, Tektronix and others are linking peripherals to the Internet by 15 writing Hyper-Text Mark Up T .~n~ e (HTML) software for the peripheral. HTML
allows for two-way communication between a connected host and the peripheral.
However, the host must include the device driver software to operate with the peripheral. ~or PY~mple, if a user were to print an MS Word document to a printer identified by an addressed site on the Internet or similar type network, the user must 20 first send the document through the device driver associated with this printer. Then the user must utilize a send document function, such as a File Transfer Protocol (FTP) procedure, to efficiently deliver the docllmPnt to the printer.
As will be readily appreciated from the foregoing s~mm~ry, the invention provides a dynamic device driver for providing two way communication between a~5 computer operating system and a connected peripheral device at run time.
Summary of the Invention The present invention provides a dynarnic device driver system that provides two-way communication between various peripheral devices and various operating systems coupled across various types of networking systems. The host computer 30 system controls a peripheral device coupled to a host computer system having an opel~ling system with a translation layer and a processor, wherein the peripheral device has an associated peripheral device driver and the host computer system is coupled to the peripheral device via a connection selected from the group of a direct connection, local area network connection and public data network connection. The 35 host computer system assigns an address to the peripheral device to ~listinctly identify the peripheral device to the host computer system and selects the peripheral device CA 022~8~96 1998-12-17 W097/490~3 3 PCT/US97/09705 according to the ~cci~en~d address. Also the host computçr system retrieves the stored peripheral device driver of the selected peripheral device, inlel~,e~s the retrieved p~iph~al device driver and controls the pc.il)he,~l device according to user initi~ted controlling cG..~ c in the operating system through the ~ slaLion layer to the 5 interpreted peripheral device driver.
In accordance with still other aspects of the present invention, the host computer system compiles the peripheral device driver instead of int~"~ing the peripheral device driver, wl~erein the compilin~ performed is just-in-time compili"g that ...~in~inc processor and operating system independence for the peripheral device 10 driver.
In accordance with still other aspects of the present invention, the host computer system retrieves the peripheral device driver from a stored location in the host computer system, the peripheral device or an independent server.
In accordance with yet other aspects of the present invention, the peripheral 15 device is a printer, a scanner, a high density storage merli~m, a fAccimile device, and home appliances such as audio/video components and display devices.
In accordance with still yet other aspects of the present invention, the peripheral device driver inçllldes a graphical user interface (GUI) for entering of user initi~ted controlling co...~ s The GUI of the peripheral device driver displays the 20 status of the peripheral device and a list of predPfined user-selectable options for the selected peliphe.al device In accordance with further aspects of the present invention, the peripheral device driver displays an a~lminic~rative m~inten~nce menu, wherein the a~iminictrative m~inten~nce menu allows a user to perform at least one of the following functions:
25 connect additional peripheral devices; limit user access to specific peripheral devices;
install fonts from various pred~fined font servers connected to the operating system;
install a proxy cnnnection; display the most recent users of the selected pe~iph.,l~l device and predetermined details of the most recent user peripheral device episodes;
set default peripheral device h~nrlling options; set default global peripheral device 30 parameter options and set default im~ging options.
Brief Description of the Drawin~s The foregoing aspects and many of the ~tten(l~nt advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the 35 accompanying drawings, wherein:
. . ..
CA 022~8~96 1998-12-17 FIGURE 1 is a pictorial of some system and network coîm~ctionc possible with the present invention;
FIGURE2 is a block diagram of the system components of the present invention;
FIGURES 3-8 are interactive menus of the present invention; and FIGURES 9 and 10 are flow diagrams of data access of the present invention.
Detailed Desc.;l,lion ofthe Prerel,ed Embodiment As will be better understood from the following description, the present invention is directed to a system for dyn~miç~lly connecting any peripheral devices to 10 any host computer system, wherein virtually any electronically controllable pe.iph~
device equipped with the nece~s~ry interface can be connected. While the following description explains the invention in connection with printers, it is to be understood that the invention can be used with other peripheral devices. In addition, the invention easily ~ccommodates peripheral devices and host computer systems 15 produced by various m~mlf~cturers. The invention employs a host computer system, a network, interfaces for connecting the computer and the peripheral devices to the network, and a dynamic device driver with an operating system (OS) independent device driver portion and an OS specific device driver portion.
As described previously, the prior art allows for file transfer protocol sending20 or FTPing of various docl.m~nt~, such as Excel, Word, MacWrite, etc., to a pe~i~)hel~l device for execution. However, the document must be col~ ly formatted by a device driver specific to the peripheral device. In the pl~relled embodiment of the present invention, the dynamic device driver uses the fi~n~m~nt~l aspects of an object oriented l~n~ e, such as JavaTM computer l~n~1~ge, to provide for a dynamic 25 connection of peripheral devices.
The filntl~ment~l aspects of object-oriented prog,~...-.-;~-g l~n~ge are that objects are org~ni7ed into classes in a hierarchical fashion and that objects are interoperable. Classes are abstract generic descriptions of objects and their behaviors.
A class defines a certain category or grouping of methods and data within an object.
30 Methods comprise procedures or code that operate upon data. Methods as applied to data define the behavior of the object. R~r"~ell,enl of the methods of the class is achieved by the creation of "sub-classes." In other words, a class can be thought of as a genus, and its subclass as the species. Subclasses allow the introduction of a new class into the class hierarchy, and inherit the behaviors of its superclass while adding 35 new behaviors to the subclass.
CA 022~8~96 1998-12-17 An in.~t~nce of a class is a specific individual entity, s~ e concrete having observable behavior. An in.ct~nce is a specific object with the behaviors defined by its - class. Tn~t~nces are created and deleted dynamically in an object-oriented prog~ g l~n~l~e. The class, however, is the broad, yet abstract, concept under 5 which the in.~t~nce belongs. The il~ ce inherits all the methods of its class, but has particular individual values associated with it that are unique. There is only one location in the memory of a computer for the class. There may, however, be numerous in~t~nces of the class, each of which has di~el~,nl values and di~re physical locations in memory.
Object-oriented programs have greatly increased the operability of applications, such as PagemakerTM, running on an OS. However, appliG~tions typically considered part of the OS have not displayed a require,n~;lll or need to use object-oriented prog~ g An example of an application con.eidçred part of the OS is a device driver. The present invention incorporates object oriented programs to create a single device driver that provides communication between any host computer system and any peripheral device.
FIGURE 1 illustrates the environment in which the present invention operates.
Components of the dynamic device driver 42 are located on each of the componentsillustrated in FIGURE 1. Thus, each opel~Lhlg system can effectively comml.nicate with peripherals connected locally or remotely. For example, if a user is ope~alh~g from a Windows 3.1 PC 23, the dynamic device driver 42 allows communication withperipherals directly ~tt~hed, such as a printer27, peripherals connected on an intranet network 20, such as printers 29-31, or peripherals connected on the Internet 22, such as printer 36.
FIGURE 2 illustrates the basic components of a dynamic device driver 42 and the enviror~llenl in which it resides. Driver 42 in~ dçs two components: an OS
specific device driver portion 33; and an OS independent device driver portion 34.
The OS specific device driver portion 33 is written specifically for the OS of a host computer system 10 in which it resides. An OS specific device driver portion written for a Windows 95TM operating system is significantly di~elenl than an OS specific device driver portion written for a Macintosh or Sun opel~lhlg system. The host - computer system 10 also incl~ldes a display device 15, a processor 17, conlmllnic~tion code21 for linking the host computer system 10 to any connected network, an - interpreter 19, an OS independent device driver portion loader 50 and applic~tion~
software 32 such as Word or Excel.
CA 022~8~96 1998-12-17 The OS specific device driver portion 33 is the two-way tr~n~l~tin~
commlmic~tion layer b~lw~ the OS of the host computer system 10 and the OS
independent device driver portion 34. The OS independent device driver portion 34 resides either in the host computer system 10, in the peripheral device that it is 5 specific to (such as pe.;phe~al device 56), or in an independent server conl-ecled either directly to the host computer system 10 (such as secondary server 57) or indirectly through a local area network, such as an intranet, or a public data network such as the Internet. The OSindependent device driver portion34 incl~des il~.ll.alion re~3arding peripheral device operation, peripheral specific data objects 54 and may 10 include graphical user interface (GUI) objects 52. The peripheral specific data objects 54 are associated with a particular peripheral device and include hlrol.,.alion relating to the particular peripheral device. For example, if the peripheral device is a printer, the peripheral specific data objects 54 include il~.malion about the p.hlle,'s paper trays, the printer's fo.~ requirements, etc. The GUI objects 52 provide 15 the user a way to view and manipulate the peripheral specific data objects 54.
When the OS independent device driver portion 34 is written in the Java l~n~ e, as multiple Java applets (small independent Java l~n~l~ge programs), thehost computer system 10 must include a Java applet loader 50, a Java data channel 58 and a Java interpreter 19. The interpreter 19 is a virtual machine or CPU for the Java 20 applets, thus allowing run time eYec~ltion of the OS independent device driver portion 34 on the host computer system 10. The inlell)reler 19 also provides processor independence for any OS independent device driver written in interpreted code. The OS specific device driver portion 33 provides for communication between the OS of host computer system 10 and the executing OS independent device driver25 portion 34. It can be appreciated by one of ordinary skill that an object oriented l~n~ge with similar characteristics as Java may be used in the present inventionprovided the object oriented l~n~l~ge incl~ldes OS independent code with the device driver i~ull~lation required for the peripheral device for multi-network access and OS
specific code for tr~n~l~tin~ between the OS and the OS independent code. It can30 also be appreciated that a just-in-time compiler could replace the interpreter 19 to compile interpreted code into machine specific code.
FIGURES 3-8 illustrate ex~mples of displayed menus of GUI objects 52 that include printer specific objects 54. Another embodiment, not shown, incorporates the GUI objects 52 into the menus of the application software32 running on the 35 operating system. For example, a printer options window of the common commandwindows for Word 6.0 of a printer connected to the host computer system through a CA 022~8~96 1998-12-17 standard device driver and a printer c(mnected to the host through the dynamic device driver 42 would be visually the same and may include similar printer options.
The menus of FIGURES 3-8 illustrate either printer set up i.~ alion, menu item selectionc or status il~"~.alion of the printer. FIGURE 3 illustrates a topS menu 60 that allows the user to interact with the p~;cGl-l-ecled printer. The top menu 60 is an example of a GUI object that provides six di~le~-l selectable buttons:
"printer status" 61; "available printers" 62; "em~ tion~ 63; "printer set up" 64;
"admin menus" 65; and "help set up" 66. Each selection links to a sepa,~le menu.The menus may be written in either HTML and Java or just Java, depending on user10 requi-e-l.el~ls and the type of data fetched from the peripheral device. Referring to FIGURE 4, the selection of "printer status" 61 displays the connected printer's current status 70, such as printer idle, needs paper, paper jam, etc. FIGURE 4 is an example of a status monitor object 59. Referring to FIGURE 5, the selection of "available printers" 62 displays a GUI object list of available printers acc~,ccible through direct or 15 network connection. A list of features for each of the printers is provided to help the user select which printer to use. The list of features include printer emulation, resolution, print speed, paper and envelope sizes, cn..~.2~1 n~c or additional printer features.
FIGURES 6A-D illustrate displ~ys ~csori~ted with the third select~ble button, 20 "emulation" 63. An emulation selection menu 72 allows a user to set up various options for each çm~ tion available for the printer. The emulation selection menu 72 provides printer emulation section72a and printer options section72b within an çm~ qtion The printer emulation section 72a allows the user to choose the printer emulation desired for use on the selected printer. Printer options section 72b allows 25 the user to personalize the options available for each emulation. For example, as shown in FIG~1RE 6C, paper size, print orientation, print resolution and scaling are four })e.~on~li7ed options available under the ADOBETM AcrobatTM emulation option available for HDE/Meister printer id~ntified Each window in FIGURES A-D is an example of a GUI object 52 with inrl~ded peripheral specific data object 54 30 1ep-c;s~ the printer values displayed with the windows.
Referring to FIGURE 7, the printer set up menu 76, activated by selection of the "printer setup" button 64, allows a user to change and verify printer settin~.C. The user can select the paper source to use (upper tray, lower tray, manual feed, etc.), the - paper size to print on, the paper group, the jam recovery feature, the paper reserve 35 feature, the paper feeder orientation, the paper thickness and the manual feed timeollt.
For example, the user selects the US paper group with a normal size selection, an CA 022~8~96 1998-12-17 ~utQmRtiC tray 1 selection due to the paper size selection, a disable feature of the jam lecov~ly and paper reserve, a short edge feed of manual paper feeder orientRt;on~ a normal thickness on the paper and a time of twenty secQ~ c for the manual feed timeout. Printer set up menu 76 is also a GUI object 52 with in~ ded pc.ip~le.~l5 specific data objects 54. The paper size value data displayed is an example of a peripheral specific data object 54.
FIGURE 8A illustrates an a~lministrative mRint~nRn-~e menu 74 displayed upon selection of the "admin menus" button 65. Presently, the a~ e ,..~;..l~nAn~.e menu 74 incl~lcles nine s~lect~hle buttons that allow the user to interact with various 10 features of the GUI of the present invention. ~lministrative mRintçnRnce menu 74 includes a "set printer name or password" button 75 that provides for inctRllRtion of a new printer on the network in an install new printer menu 75a, see FIGI~RE 8B. In the install new printer menu 75a, a user assigns a printer by entering the address that identifies the printer. Also, if printer access is to be password protected, the system 15 ~ cl . ~lor can assign a password to menu 76a. FIGURES 8B-8J are examples of GUI objects 52 with peripheral specific data objects 54.
FIGURE 8C illustrates a printer access mRint~nRnce menu 80a accecsed through selection of button 80 of the a~lminictrative mRintçnRn~.e menu 74. A system ~minictrator using the printer access m~intçn~nce menu 80a can limit or expand 20 printer access by ~.hRnein~ acceccihle user address or can add or remove users from an existing access list.
FIGURE 8D illustrates a font management menu 81a accessed through the selection of "font management" button 81 ofthe a-lminictrative mRintenRnce menu 74.
The font management menu 81a inçl~ldes three sections: a display inctRlled fonts25 section 81b; an inctRllin~ fonts section 81c; and an add or delete secondary font server section 81d. The display installed fonts section 81b displays a list of fonts available to the selected printer. The fonts may be stored on and accessed from the host computer system 10, a printer connected locally, or a remote server 57. The inct~llin~ fonts section 81c allows instRllRtion of new fonts on a particular font server. Add or delete 30 secondary font servers section 81d allows the addition or removal of font server I~RLs to a list of secondary font servers. Password access is available for eachsection of the font management menu 8 la.
FIGURE 8E illustrates recent user statistics display 82a of the printer ~ccec.ced through the "examine user statistics" button 82 of the arlminictrative mRintenRnce 35 menu 74. The user statistics display 82a of the present invention illustrates the name CA 022~8~96 1998-12-17 W097/4gO23 9 PCT/US97/09705 of the person and pages printed in the last ten episodes pelrulllled on the printer.
Other i,~-..alion relating to previous episodes may also be displayed.
FIGURE 8F illustrates a llcLwolh option menu 83a sfle~ hle through the "set nelwo~king options" button 83 of the a~l...;~.;~l.a~ e m~int~n~nee menu 74. In the 5 llelwulk option menu 83a, the arlminictrator can assign a proxy server on neLwu-~which have a galeway to the Intemet and the firewall of the ~timini~tratorls network.
With a firewall in~t~lle-l, there is a need to assign a server which will act as a proxy on the outside of the firewall. The proxy server will handle requests and/or data destined for m~r.hines located inside the firewall.
FIGURE 8G illustrates a menu 74 that is ~ccç~.~ed through selection of "set printer d~f~--lts" button 84 of the ~tlminictrative m~int~n~nce menu 74. The menu 74 incl~ldes three subsecfiQns with multiple options: paper h~n~linE options 84b; global printer parameters 84c; and im~ing options 84d. The paper h~ndlinE options 84b allow the user to set d~f~llt~ of printer options. The global printer parameters 84c allow a user to set the default of the printer emulation, a start page option, a disk font caching option and a power saver option. SPlectine on for the start page option causes the printer to print a start page for every print job. S~lectin~ on for the disk font caching option causes the printer to cache fonts internally which may improve throughput but is dependent upon the amount of RAM available to the printer.
F.n~blin.f~ the power saver option allows the printer to enter a reduced power con~1mption mode after st~n-linE idle for a specific period of time. The im~in~
options 84d allow the user to set certain im~ing characteristics for the printer. In the im~in~ options 84d, the user can orient the image portrait or l~n~lsc~re~ set the default scan of the image and set the avai}able range for scaling in images, for example between 20% to 300%. Dots per inch (DPI) is also a user definable option under the im~ing options 84d. The final default option under the im~ging options 84d is edge smoothing for enabling a desired edge smoothing characteristic. The available options listed in the printer default set up of FIGI~RE 10G are for the specific preselected printer, HDE/Meister. It can be appreciated by one of ordinaly skill in the art that one or more ofthe default settings may be di~elenl than that shown according to the make and model ofthe presPlected printer.
FIGllRE 8H illustrates a help file set up menu 85a acces.ced upon selection of "set URL for printer help files" button 85 of the admini~trative m~intçn~nce menu 74.
~ The help file set up GUI allows the network a~mini~trator to set up a p~ a~y and secondary link to the printer's help file. The network a~ministrator is plol.ll~led to ... .. . ... ~ .
CA 022~8S96 1998-12-17 W 0 97/49023 lo rCTrUS97/09705 insert URL codes that access the help files that are in HTML format. The HTML
forrnatted help files may be stored in the printer or remotely from the printer.Another menu ~ccçssed through selection of "r"",~a,e manageme"l"
button 86 of the a~rnini~trative m~intçn~nce menu 74 is the printer L""v~,a~e 5 m~int~n~nce menu 86a, as shown in FIGURE 8I. Using the r"",w~e m~int~n~nce menu 86a a user can reprogram flash proglall~lllable read only memory (PROMS) with a new version of the printer fil~ e. Also, the latest f"",~are revision is displayed from the rl""w~e m~inten~nce menu 86a.
A final menu displayed through selection of "perform printer m~int~n~nce"
10 button 87 of the ~lministrative m~ nce menu 74 is the printer m~intpn~nce menu 87a, as shown in FIGURE 8J. Through the printer m~intçn~nce menu 87a, the system ~ .dlor can execute a ~ no.stic program on the printer and obtain a current status of the printer. Diagnostics relating to toner, covers and door positions, paper jams, etc. can be determined by diagnostics with the results displayed in the 15 printer m~inten~nce menu 87a.
The menus and displays of the pr~;rt;"ed embodiment of the present invention, FIGURES 3-8, can be easily modified to incorporate the hlfol",a~ion required forwhatever type of peripheral device desired. The OS specific device driver portion 33 and the OS independent device driver portion 34 can be easily modified to incorporate 20 the information required for dirrelen~ types of peripheral devices, such as CD ROM
storage, scanners, f~c.~imile devices, and home appli~nces such as audio/video components and display devices 55. Also, objects associated with the OS
independent device driver portion34 may vary greatly or may not be nec~ ry depending on the type peripheral device. For example, a status monitor object 5925 may be important to a user sen-ling print jobs to a printer, but might be of significant lesser concern to the user sending storage jobs to remote CD ROM storage.
The interaction between a periphe,~l device 56 and a host computer system 10 which include the dynamic device driver 42 will now be ~i~cu~ed The ope,~Li,lg system of the host computer system 10 is preprogrammed with the location 30 i,~",-a~ion of desired peripheral devices. The location i,~,n-~ion could be in a form for identifying the peripheral device directly connected to a port of the host computer system or identifying the peripheral device's network location, such as an Universal Resource Locator (URL) for identifying an intranet or Internet location.
The communi~tion code 21 (FIGURE 2) receives and sends packets specific to the 35 type of network connected A user preselects an identified peripheral from menus in the application software 32. For and additional example in Word, if the peripheral t -' .
CA 022~8~96 1998-12-17 device is a printer and the operating system is Windows, the user selects identified printers in a Printer Options menu.
With reference now to FIGURE 9, if a user chooses to change a setting of the i~Pntified peripheral at 102, the loader50 retrieves the GUI ob3ects 52 from theS pe,il)he,~l device 56 and loads it on the host computer system at 104. The interpreter 19 ~recl~te~ the retrieved and loaded GUI objects at 106. Peripheralspecific data objects may be required at dil~len~ times during execution of the GUI
object. The data channel 58 retrieves and loads pe.;,~h~ l specific data objects at 108 when required. The operating system generates a display of the GUI objects and the 10 peripheral specific data objects on display device 15 of the host computer system 10 at 110. The display of the GUI objects and peripheral specific data objects can be dç.~igned identical to the GUIs presently used by the application software 32.
The system then allows the user to change settings by selection of various graphically displayed pe.;phe.al specific data object options within the GUI objects 52 15 at 112. If the user decides no changes are necess,y, the system exits the GUI objects at 114. ~owever, if the user makes cl~ es at 116, but is c~i.cc~ti~fied with the~.h~es at 118 the user can alter any changes made. If the user is s~tiefied with the changes, the data channel 58 stores peripheral specific data object changes in the peripheral device 56 at 120 and the peripheral specific data object changes are impl~n~ ted in OS specific code at 122 by the OS specific portion 33. Lastly, the OS
specific portion 33 passes the peripheral specific data object changes implçm~nted in OS specific code to the application so~lw~le 32.
Referring to FIGIJRE 10, once the peripheral specific data objects are set, the peripheral device 56 is set to the user's desires and the system is ready to execute a function with the peripheral device 56 at 126. The user may exit at 127, if the user desires not to continue. If the user selects function execution, the loader 50 retrieves peripheral specific data objects and retrieves the status monitor object if required.
The interpreter 19 ~xecutes the loader retrieved objects at 130. An executed status monitor object 59 presents real-time information regarding operating status of the peripheral device, such as printer idle, needs paper and paper jam on the display device 15, and may present a pause comm~nd for a user defined function hold. If a peripheral specific data object is required during execution at 132, the data channel loads any required peripheral specific data objects not loaded from the peripheral at 134. If a peripheral specific data object is not required, the application software 32 executes the function with the peripheral at 136. Execution of the objects on the interpreter 19 creates the OS independent device driver portion 34. The OS specific device driver portion33 allows the OS independent device driver portion34 to co.,ul,unicate with the applications software 32 While the pr~..ed embodiment of the invention has been illustrated and described, it will be appreciated that various cl-anges can be made therein without 5 departing from the spirit and scope of the invention , ~ . ,,
Field of the Invention This invention relates to the field of data procPs.ein~ and, more particularly, to an improved dynamic device driver that provides ccs..~ n;c~tion between various S devices and various ope.~ g systems across various types of nelwoll ing systems.
BacL~ uund of the Invention Device drivers are programs or routines which control and manage the flow of data to and from input/output (I/O) devices. The drivers form part of and interact with an ope.~ 1g system. An opelal;,-g system normally incllldes a basic set of device 10 drivers for I/O devices, such as a keyboard, fixed and floppy disk drives, display, and printer, col~,...only used with a personal computer. When an I/O device is added to a data processing system, and such device is not operable under an e~ ti~ driver stored within the data processing system, a new driver must be added to the system in order to use the device. A new driver is customarily supplied by the maker of the I/O
15 device and is in~t~lled in the system in accold~-ce with procedures established by the ope~li"~ system. In personal co...p.lle,s ope.~Ling with DOSTM or OS/21M operating systems, such drivers are in~tAlle~ at start or reboot time, using col.. Al-rls or instructions in a CONFIG.SYS file.
Typically device drivers are created for use with a particular ope,a~h-g system.20 A device driver written for one ope,~liilg system cannot be used with anotheroperating system without extensive mo~ificAtion~ Many have tried to find solutions to this dependency problem in order to create a universal device driver. One example is U.S. Patent No. 5,265,252 to Rawson, III et al., which discloses a device driver, with one part that int~rf~ces with the ope,~Ling system and a second part that CA 022~8~96 1998-12-17 interfaces with the plurality of di~re,-~ ope~aling systems. Rawson's device driver system handles a great variety of di~re"l I/O devices with di~erenl operating systems. Another example is U.S. Patent No. 4,975,829 to Clarey et al. Clarey et al.
also discloses a device driver that is independent of a computer operating system for 5 comm~lnie~tion with peripheral device jobs.
The prior art, as noted above, exhibits an apparel~l universal com1e~ ity feature with operating systems and peripheral devices whose protocols are preprogrammed into the device driver. However, these device drivers are activated at compile time and thus cannot interact with operating systems or device drivers not 10 previously conceived of during the authoring of the initial device driver. Thus, the systems fail to be truly independent. Also, the prior art fails to address a ~ignific~nt amount of user friendly two-way communication between the operating system and the connected peliphe,~l devices.
Recently, Tektronix and others are linking peripherals to the Internet by 15 writing Hyper-Text Mark Up T .~n~ e (HTML) software for the peripheral. HTML
allows for two-way communication between a connected host and the peripheral.
However, the host must include the device driver software to operate with the peripheral. ~or PY~mple, if a user were to print an MS Word document to a printer identified by an addressed site on the Internet or similar type network, the user must 20 first send the document through the device driver associated with this printer. Then the user must utilize a send document function, such as a File Transfer Protocol (FTP) procedure, to efficiently deliver the docllmPnt to the printer.
As will be readily appreciated from the foregoing s~mm~ry, the invention provides a dynamic device driver for providing two way communication between a~5 computer operating system and a connected peripheral device at run time.
Summary of the Invention The present invention provides a dynarnic device driver system that provides two-way communication between various peripheral devices and various operating systems coupled across various types of networking systems. The host computer 30 system controls a peripheral device coupled to a host computer system having an opel~ling system with a translation layer and a processor, wherein the peripheral device has an associated peripheral device driver and the host computer system is coupled to the peripheral device via a connection selected from the group of a direct connection, local area network connection and public data network connection. The 35 host computer system assigns an address to the peripheral device to ~listinctly identify the peripheral device to the host computer system and selects the peripheral device CA 022~8~96 1998-12-17 W097/490~3 3 PCT/US97/09705 according to the ~cci~en~d address. Also the host computçr system retrieves the stored peripheral device driver of the selected peripheral device, inlel~,e~s the retrieved p~iph~al device driver and controls the pc.il)he,~l device according to user initi~ted controlling cG..~ c in the operating system through the ~ slaLion layer to the 5 interpreted peripheral device driver.
In accordance with still other aspects of the present invention, the host computer system compiles the peripheral device driver instead of int~"~ing the peripheral device driver, wl~erein the compilin~ performed is just-in-time compili"g that ...~in~inc processor and operating system independence for the peripheral device 10 driver.
In accordance with still other aspects of the present invention, the host computer system retrieves the peripheral device driver from a stored location in the host computer system, the peripheral device or an independent server.
In accordance with yet other aspects of the present invention, the peripheral 15 device is a printer, a scanner, a high density storage merli~m, a fAccimile device, and home appliances such as audio/video components and display devices.
In accordance with still yet other aspects of the present invention, the peripheral device driver inçllldes a graphical user interface (GUI) for entering of user initi~ted controlling co...~ s The GUI of the peripheral device driver displays the 20 status of the peripheral device and a list of predPfined user-selectable options for the selected peliphe.al device In accordance with further aspects of the present invention, the peripheral device driver displays an a~lminic~rative m~inten~nce menu, wherein the a~iminictrative m~inten~nce menu allows a user to perform at least one of the following functions:
25 connect additional peripheral devices; limit user access to specific peripheral devices;
install fonts from various pred~fined font servers connected to the operating system;
install a proxy cnnnection; display the most recent users of the selected pe~iph.,l~l device and predetermined details of the most recent user peripheral device episodes;
set default peripheral device h~nrlling options; set default global peripheral device 30 parameter options and set default im~ging options.
Brief Description of the Drawin~s The foregoing aspects and many of the ~tten(l~nt advantages of this invention will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the 35 accompanying drawings, wherein:
. . ..
CA 022~8~96 1998-12-17 FIGURE 1 is a pictorial of some system and network coîm~ctionc possible with the present invention;
FIGURE2 is a block diagram of the system components of the present invention;
FIGURES 3-8 are interactive menus of the present invention; and FIGURES 9 and 10 are flow diagrams of data access of the present invention.
Detailed Desc.;l,lion ofthe Prerel,ed Embodiment As will be better understood from the following description, the present invention is directed to a system for dyn~miç~lly connecting any peripheral devices to 10 any host computer system, wherein virtually any electronically controllable pe.iph~
device equipped with the nece~s~ry interface can be connected. While the following description explains the invention in connection with printers, it is to be understood that the invention can be used with other peripheral devices. In addition, the invention easily ~ccommodates peripheral devices and host computer systems 15 produced by various m~mlf~cturers. The invention employs a host computer system, a network, interfaces for connecting the computer and the peripheral devices to the network, and a dynamic device driver with an operating system (OS) independent device driver portion and an OS specific device driver portion.
As described previously, the prior art allows for file transfer protocol sending20 or FTPing of various docl.m~nt~, such as Excel, Word, MacWrite, etc., to a pe~i~)hel~l device for execution. However, the document must be col~ ly formatted by a device driver specific to the peripheral device. In the pl~relled embodiment of the present invention, the dynamic device driver uses the fi~n~m~nt~l aspects of an object oriented l~n~ e, such as JavaTM computer l~n~1~ge, to provide for a dynamic 25 connection of peripheral devices.
The filntl~ment~l aspects of object-oriented prog,~...-.-;~-g l~n~ge are that objects are org~ni7ed into classes in a hierarchical fashion and that objects are interoperable. Classes are abstract generic descriptions of objects and their behaviors.
A class defines a certain category or grouping of methods and data within an object.
30 Methods comprise procedures or code that operate upon data. Methods as applied to data define the behavior of the object. R~r"~ell,enl of the methods of the class is achieved by the creation of "sub-classes." In other words, a class can be thought of as a genus, and its subclass as the species. Subclasses allow the introduction of a new class into the class hierarchy, and inherit the behaviors of its superclass while adding 35 new behaviors to the subclass.
CA 022~8~96 1998-12-17 An in.~t~nce of a class is a specific individual entity, s~ e concrete having observable behavior. An in.ct~nce is a specific object with the behaviors defined by its - class. Tn~t~nces are created and deleted dynamically in an object-oriented prog~ g l~n~l~e. The class, however, is the broad, yet abstract, concept under 5 which the in.~t~nce belongs. The il~ ce inherits all the methods of its class, but has particular individual values associated with it that are unique. There is only one location in the memory of a computer for the class. There may, however, be numerous in~t~nces of the class, each of which has di~el~,nl values and di~re physical locations in memory.
Object-oriented programs have greatly increased the operability of applications, such as PagemakerTM, running on an OS. However, appliG~tions typically considered part of the OS have not displayed a require,n~;lll or need to use object-oriented prog~ g An example of an application con.eidçred part of the OS is a device driver. The present invention incorporates object oriented programs to create a single device driver that provides communication between any host computer system and any peripheral device.
FIGURE 1 illustrates the environment in which the present invention operates.
Components of the dynamic device driver 42 are located on each of the componentsillustrated in FIGURE 1. Thus, each opel~Lhlg system can effectively comml.nicate with peripherals connected locally or remotely. For example, if a user is ope~alh~g from a Windows 3.1 PC 23, the dynamic device driver 42 allows communication withperipherals directly ~tt~hed, such as a printer27, peripherals connected on an intranet network 20, such as printers 29-31, or peripherals connected on the Internet 22, such as printer 36.
FIGURE 2 illustrates the basic components of a dynamic device driver 42 and the enviror~llenl in which it resides. Driver 42 in~ dçs two components: an OS
specific device driver portion 33; and an OS independent device driver portion 34.
The OS specific device driver portion 33 is written specifically for the OS of a host computer system 10 in which it resides. An OS specific device driver portion written for a Windows 95TM operating system is significantly di~elenl than an OS specific device driver portion written for a Macintosh or Sun opel~lhlg system. The host - computer system 10 also incl~ldes a display device 15, a processor 17, conlmllnic~tion code21 for linking the host computer system 10 to any connected network, an - interpreter 19, an OS independent device driver portion loader 50 and applic~tion~
software 32 such as Word or Excel.
CA 022~8~96 1998-12-17 The OS specific device driver portion 33 is the two-way tr~n~l~tin~
commlmic~tion layer b~lw~ the OS of the host computer system 10 and the OS
independent device driver portion 34. The OS independent device driver portion 34 resides either in the host computer system 10, in the peripheral device that it is 5 specific to (such as pe.;phe~al device 56), or in an independent server conl-ecled either directly to the host computer system 10 (such as secondary server 57) or indirectly through a local area network, such as an intranet, or a public data network such as the Internet. The OSindependent device driver portion34 incl~des il~.ll.alion re~3arding peripheral device operation, peripheral specific data objects 54 and may 10 include graphical user interface (GUI) objects 52. The peripheral specific data objects 54 are associated with a particular peripheral device and include hlrol.,.alion relating to the particular peripheral device. For example, if the peripheral device is a printer, the peripheral specific data objects 54 include il~.malion about the p.hlle,'s paper trays, the printer's fo.~ requirements, etc. The GUI objects 52 provide 15 the user a way to view and manipulate the peripheral specific data objects 54.
When the OS independent device driver portion 34 is written in the Java l~n~ e, as multiple Java applets (small independent Java l~n~l~ge programs), thehost computer system 10 must include a Java applet loader 50, a Java data channel 58 and a Java interpreter 19. The interpreter 19 is a virtual machine or CPU for the Java 20 applets, thus allowing run time eYec~ltion of the OS independent device driver portion 34 on the host computer system 10. The inlell)reler 19 also provides processor independence for any OS independent device driver written in interpreted code. The OS specific device driver portion 33 provides for communication between the OS of host computer system 10 and the executing OS independent device driver25 portion 34. It can be appreciated by one of ordinary skill that an object oriented l~n~ge with similar characteristics as Java may be used in the present inventionprovided the object oriented l~n~l~ge incl~ldes OS independent code with the device driver i~ull~lation required for the peripheral device for multi-network access and OS
specific code for tr~n~l~tin~ between the OS and the OS independent code. It can30 also be appreciated that a just-in-time compiler could replace the interpreter 19 to compile interpreted code into machine specific code.
FIGURES 3-8 illustrate ex~mples of displayed menus of GUI objects 52 that include printer specific objects 54. Another embodiment, not shown, incorporates the GUI objects 52 into the menus of the application software32 running on the 35 operating system. For example, a printer options window of the common commandwindows for Word 6.0 of a printer connected to the host computer system through a CA 022~8~96 1998-12-17 standard device driver and a printer c(mnected to the host through the dynamic device driver 42 would be visually the same and may include similar printer options.
The menus of FIGURES 3-8 illustrate either printer set up i.~ alion, menu item selectionc or status il~"~.alion of the printer. FIGURE 3 illustrates a topS menu 60 that allows the user to interact with the p~;cGl-l-ecled printer. The top menu 60 is an example of a GUI object that provides six di~le~-l selectable buttons:
"printer status" 61; "available printers" 62; "em~ tion~ 63; "printer set up" 64;
"admin menus" 65; and "help set up" 66. Each selection links to a sepa,~le menu.The menus may be written in either HTML and Java or just Java, depending on user10 requi-e-l.el~ls and the type of data fetched from the peripheral device. Referring to FIGURE 4, the selection of "printer status" 61 displays the connected printer's current status 70, such as printer idle, needs paper, paper jam, etc. FIGURE 4 is an example of a status monitor object 59. Referring to FIGURE 5, the selection of "available printers" 62 displays a GUI object list of available printers acc~,ccible through direct or 15 network connection. A list of features for each of the printers is provided to help the user select which printer to use. The list of features include printer emulation, resolution, print speed, paper and envelope sizes, cn..~.2~1 n~c or additional printer features.
FIGURES 6A-D illustrate displ~ys ~csori~ted with the third select~ble button, 20 "emulation" 63. An emulation selection menu 72 allows a user to set up various options for each çm~ tion available for the printer. The emulation selection menu 72 provides printer emulation section72a and printer options section72b within an çm~ qtion The printer emulation section 72a allows the user to choose the printer emulation desired for use on the selected printer. Printer options section 72b allows 25 the user to personalize the options available for each emulation. For example, as shown in FIG~1RE 6C, paper size, print orientation, print resolution and scaling are four })e.~on~li7ed options available under the ADOBETM AcrobatTM emulation option available for HDE/Meister printer id~ntified Each window in FIGURES A-D is an example of a GUI object 52 with inrl~ded peripheral specific data object 54 30 1ep-c;s~ the printer values displayed with the windows.
Referring to FIGURE 7, the printer set up menu 76, activated by selection of the "printer setup" button 64, allows a user to change and verify printer settin~.C. The user can select the paper source to use (upper tray, lower tray, manual feed, etc.), the - paper size to print on, the paper group, the jam recovery feature, the paper reserve 35 feature, the paper feeder orientation, the paper thickness and the manual feed timeollt.
For example, the user selects the US paper group with a normal size selection, an CA 022~8~96 1998-12-17 ~utQmRtiC tray 1 selection due to the paper size selection, a disable feature of the jam lecov~ly and paper reserve, a short edge feed of manual paper feeder orientRt;on~ a normal thickness on the paper and a time of twenty secQ~ c for the manual feed timeout. Printer set up menu 76 is also a GUI object 52 with in~ ded pc.ip~le.~l5 specific data objects 54. The paper size value data displayed is an example of a peripheral specific data object 54.
FIGURE 8A illustrates an a~lministrative mRint~nRn-~e menu 74 displayed upon selection of the "admin menus" button 65. Presently, the a~ e ,..~;..l~nAn~.e menu 74 incl~lcles nine s~lect~hle buttons that allow the user to interact with various 10 features of the GUI of the present invention. ~lministrative mRintçnRnce menu 74 includes a "set printer name or password" button 75 that provides for inctRllRtion of a new printer on the network in an install new printer menu 75a, see FIGI~RE 8B. In the install new printer menu 75a, a user assigns a printer by entering the address that identifies the printer. Also, if printer access is to be password protected, the system 15 ~ cl . ~lor can assign a password to menu 76a. FIGURES 8B-8J are examples of GUI objects 52 with peripheral specific data objects 54.
FIGURE 8C illustrates a printer access mRint~nRnce menu 80a accecsed through selection of button 80 of the a~lminictrative mRintçnRn~.e menu 74. A system ~minictrator using the printer access m~intçn~nce menu 80a can limit or expand 20 printer access by ~.hRnein~ acceccihle user address or can add or remove users from an existing access list.
FIGURE 8D illustrates a font management menu 81a accessed through the selection of "font management" button 81 ofthe a-lminictrative mRintenRnce menu 74.
The font management menu 81a inçl~ldes three sections: a display inctRlled fonts25 section 81b; an inctRllin~ fonts section 81c; and an add or delete secondary font server section 81d. The display installed fonts section 81b displays a list of fonts available to the selected printer. The fonts may be stored on and accessed from the host computer system 10, a printer connected locally, or a remote server 57. The inct~llin~ fonts section 81c allows instRllRtion of new fonts on a particular font server. Add or delete 30 secondary font servers section 81d allows the addition or removal of font server I~RLs to a list of secondary font servers. Password access is available for eachsection of the font management menu 8 la.
FIGURE 8E illustrates recent user statistics display 82a of the printer ~ccec.ced through the "examine user statistics" button 82 of the arlminictrative mRintenRnce 35 menu 74. The user statistics display 82a of the present invention illustrates the name CA 022~8~96 1998-12-17 W097/4gO23 9 PCT/US97/09705 of the person and pages printed in the last ten episodes pelrulllled on the printer.
Other i,~-..alion relating to previous episodes may also be displayed.
FIGURE 8F illustrates a llcLwolh option menu 83a sfle~ hle through the "set nelwo~king options" button 83 of the a~l...;~.;~l.a~ e m~int~n~nee menu 74. In the 5 llelwulk option menu 83a, the arlminictrator can assign a proxy server on neLwu-~which have a galeway to the Intemet and the firewall of the ~timini~tratorls network.
With a firewall in~t~lle-l, there is a need to assign a server which will act as a proxy on the outside of the firewall. The proxy server will handle requests and/or data destined for m~r.hines located inside the firewall.
FIGURE 8G illustrates a menu 74 that is ~ccç~.~ed through selection of "set printer d~f~--lts" button 84 of the ~tlminictrative m~int~n~nce menu 74. The menu 74 incl~ldes three subsecfiQns with multiple options: paper h~n~linE options 84b; global printer parameters 84c; and im~ing options 84d. The paper h~ndlinE options 84b allow the user to set d~f~llt~ of printer options. The global printer parameters 84c allow a user to set the default of the printer emulation, a start page option, a disk font caching option and a power saver option. SPlectine on for the start page option causes the printer to print a start page for every print job. S~lectin~ on for the disk font caching option causes the printer to cache fonts internally which may improve throughput but is dependent upon the amount of RAM available to the printer.
F.n~blin.f~ the power saver option allows the printer to enter a reduced power con~1mption mode after st~n-linE idle for a specific period of time. The im~in~
options 84d allow the user to set certain im~ing characteristics for the printer. In the im~in~ options 84d, the user can orient the image portrait or l~n~lsc~re~ set the default scan of the image and set the avai}able range for scaling in images, for example between 20% to 300%. Dots per inch (DPI) is also a user definable option under the im~ing options 84d. The final default option under the im~ging options 84d is edge smoothing for enabling a desired edge smoothing characteristic. The available options listed in the printer default set up of FIGI~RE 10G are for the specific preselected printer, HDE/Meister. It can be appreciated by one of ordinaly skill in the art that one or more ofthe default settings may be di~elenl than that shown according to the make and model ofthe presPlected printer.
FIGllRE 8H illustrates a help file set up menu 85a acces.ced upon selection of "set URL for printer help files" button 85 of the admini~trative m~intçn~nce menu 74.
~ The help file set up GUI allows the network a~mini~trator to set up a p~ a~y and secondary link to the printer's help file. The network a~ministrator is plol.ll~led to ... .. . ... ~ .
CA 022~8S96 1998-12-17 W 0 97/49023 lo rCTrUS97/09705 insert URL codes that access the help files that are in HTML format. The HTML
forrnatted help files may be stored in the printer or remotely from the printer.Another menu ~ccçssed through selection of "r"",~a,e manageme"l"
button 86 of the a~rnini~trative m~intçn~nce menu 74 is the printer L""v~,a~e 5 m~int~n~nce menu 86a, as shown in FIGURE 8I. Using the r"",w~e m~int~n~nce menu 86a a user can reprogram flash proglall~lllable read only memory (PROMS) with a new version of the printer fil~ e. Also, the latest f"",~are revision is displayed from the rl""w~e m~inten~nce menu 86a.
A final menu displayed through selection of "perform printer m~int~n~nce"
10 button 87 of the ~lministrative m~ nce menu 74 is the printer m~intpn~nce menu 87a, as shown in FIGURE 8J. Through the printer m~intçn~nce menu 87a, the system ~ .dlor can execute a ~ no.stic program on the printer and obtain a current status of the printer. Diagnostics relating to toner, covers and door positions, paper jams, etc. can be determined by diagnostics with the results displayed in the 15 printer m~inten~nce menu 87a.
The menus and displays of the pr~;rt;"ed embodiment of the present invention, FIGURES 3-8, can be easily modified to incorporate the hlfol",a~ion required forwhatever type of peripheral device desired. The OS specific device driver portion 33 and the OS independent device driver portion 34 can be easily modified to incorporate 20 the information required for dirrelen~ types of peripheral devices, such as CD ROM
storage, scanners, f~c.~imile devices, and home appli~nces such as audio/video components and display devices 55. Also, objects associated with the OS
independent device driver portion34 may vary greatly or may not be nec~ ry depending on the type peripheral device. For example, a status monitor object 5925 may be important to a user sen-ling print jobs to a printer, but might be of significant lesser concern to the user sending storage jobs to remote CD ROM storage.
The interaction between a periphe,~l device 56 and a host computer system 10 which include the dynamic device driver 42 will now be ~i~cu~ed The ope,~Li,lg system of the host computer system 10 is preprogrammed with the location 30 i,~",-a~ion of desired peripheral devices. The location i,~,n-~ion could be in a form for identifying the peripheral device directly connected to a port of the host computer system or identifying the peripheral device's network location, such as an Universal Resource Locator (URL) for identifying an intranet or Internet location.
The communi~tion code 21 (FIGURE 2) receives and sends packets specific to the 35 type of network connected A user preselects an identified peripheral from menus in the application software 32. For and additional example in Word, if the peripheral t -' .
CA 022~8~96 1998-12-17 device is a printer and the operating system is Windows, the user selects identified printers in a Printer Options menu.
With reference now to FIGURE 9, if a user chooses to change a setting of the i~Pntified peripheral at 102, the loader50 retrieves the GUI ob3ects 52 from theS pe,il)he,~l device 56 and loads it on the host computer system at 104. The interpreter 19 ~recl~te~ the retrieved and loaded GUI objects at 106. Peripheralspecific data objects may be required at dil~len~ times during execution of the GUI
object. The data channel 58 retrieves and loads pe.;,~h~ l specific data objects at 108 when required. The operating system generates a display of the GUI objects and the 10 peripheral specific data objects on display device 15 of the host computer system 10 at 110. The display of the GUI objects and peripheral specific data objects can be dç.~igned identical to the GUIs presently used by the application software 32.
The system then allows the user to change settings by selection of various graphically displayed pe.;phe.al specific data object options within the GUI objects 52 15 at 112. If the user decides no changes are necess,y, the system exits the GUI objects at 114. ~owever, if the user makes cl~ es at 116, but is c~i.cc~ti~fied with the~.h~es at 118 the user can alter any changes made. If the user is s~tiefied with the changes, the data channel 58 stores peripheral specific data object changes in the peripheral device 56 at 120 and the peripheral specific data object changes are impl~n~ ted in OS specific code at 122 by the OS specific portion 33. Lastly, the OS
specific portion 33 passes the peripheral specific data object changes implçm~nted in OS specific code to the application so~lw~le 32.
Referring to FIGIJRE 10, once the peripheral specific data objects are set, the peripheral device 56 is set to the user's desires and the system is ready to execute a function with the peripheral device 56 at 126. The user may exit at 127, if the user desires not to continue. If the user selects function execution, the loader 50 retrieves peripheral specific data objects and retrieves the status monitor object if required.
The interpreter 19 ~xecutes the loader retrieved objects at 130. An executed status monitor object 59 presents real-time information regarding operating status of the peripheral device, such as printer idle, needs paper and paper jam on the display device 15, and may present a pause comm~nd for a user defined function hold. If a peripheral specific data object is required during execution at 132, the data channel loads any required peripheral specific data objects not loaded from the peripheral at 134. If a peripheral specific data object is not required, the application software 32 executes the function with the peripheral at 136. Execution of the objects on the interpreter 19 creates the OS independent device driver portion 34. The OS specific device driver portion33 allows the OS independent device driver portion34 to co.,ul,unicate with the applications software 32 While the pr~..ed embodiment of the invention has been illustrated and described, it will be appreciated that various cl-anges can be made therein without 5 departing from the spirit and scope of the invention , ~ . ,,
Claims (34)
1. A method for controlling a peripheral device coupled to a host computer system having an operating system with a translation layer and a processor, wherein the peripheral device has an associated peripheral device driver and the host computer system is coupled to the peripheral device via a connection selected from the group of a direct connection, a local area network connection, and a public data network connection, said method comprising the steps of:
assigning addresses to the peripheral device to distinctly identify the peripheral device to the host computer system;
selecting, at the host computer system, the peripheral device according to said assigned address;
retrieving, at the host computer system, the peripheral device driver of the selected peripheral device;
interpreting the retrieved peripheral device driver; and controlling, at the host computer system, the peripheral device according to the interpreted peripheral device driver through user commands initiated in the operating system of the host computer system and filtered through the translation layer.
assigning addresses to the peripheral device to distinctly identify the peripheral device to the host computer system;
selecting, at the host computer system, the peripheral device according to said assigned address;
retrieving, at the host computer system, the peripheral device driver of the selected peripheral device;
interpreting the retrieved peripheral device driver; and controlling, at the host computer system, the peripheral device according to the interpreted peripheral device driver through user commands initiated in the operating system of the host computer system and filtered through the translation layer.
2. The method of Claim 1, wherein the step of retrieving retrieves the peripheral device driver from a stored location in the host computer system.
3. The method of Claim 1, wherein the step of retrieving retrieves the peripheral device driver from a stored location in the peripheral device.
4. The method of Claim 1, wherein the host computer system is coupled to an independent server via a connection selected from the group of a direct connection, local area network connection, and public data network connection and the step of retrieving retrieves the peripheral device driver from a stored location in the independent server.
5. The method of Claim 1, wherein the peripheral device is any server equipped device.
6. The method of Claim 1, wherein the peripheral device is a printer.
7. The method of Claim 1, wherein the peripheral device is a scanner.
8. The method of Claim 1, wherein the peripheral device is high density storage.
9. The method of Claim 1, wherein the peripheral device is a facsimile device.
10. The method of Claim 1, wherein the step of interpreting is independent of the processor.
11. The method of Claim 1, wherein the interpreted peripheral device driver is independent of the operating system.
12. The method of Claim 1, wherein the peripheral device driver includes a graphical user interface (GUI) for entering of user initiated controlling commands.
13. The method of Claim 12, wherein the GUI of the peripheral device driver displays the status of the peripheral device.
14. The method of Claim 12, wherein the GUI of the peripheral device driver displays a list of predefined user-selectable options for the selected peripheral device.
15. The method of Claim 12, wherein the GUI of the peripheral device driver displays an administrative maintenance menu, wherein said administrative maintenance menu allows a user to perform at least one of the following functions:
connect additional peripheral devices; limit user access to specific peripheral devices;
install fonts from various predefined font servers connected to the operating system;
install a proxy connection; display the most recent users of the selected peripheral device and predetermined details of the most recent user peripheral device episodes;
set default peripheral device handling options; set default global peripheral device parameter options and set default imaging options.
connect additional peripheral devices; limit user access to specific peripheral devices;
install fonts from various predefined font servers connected to the operating system;
install a proxy connection; display the most recent users of the selected peripheral device and predetermined details of the most recent user peripheral device episodes;
set default peripheral device handling options; set default global peripheral device parameter options and set default imaging options.
16. A system for controlling a peripheral device coupled to a host computer system having an operating system with a translation layer and a processor, wherein the peripheral device has an associated peripheral device driver and the host computer system is coupled to the peripheral device via a connection selected from the group of a direct connection, a local area network connection, and a public data network connection, said system comprising:
a means for assigning an address to the peripheral device to distinctly identify the peripheral device to the host computer system;
a means for selecting, at the host computer system, the peripheral device according to said assigned address;
a means for retrieving, at the host computer system, the peripheral device driver of the selected peripheral device;
a means for interpreting the retrieved peripheral device driver; and a means for controlling, at the host computer system, the peripheral device according to user initiated controlling commands in the operating system and the interpreted peripheral device driver.
a means for assigning an address to the peripheral device to distinctly identify the peripheral device to the host computer system;
a means for selecting, at the host computer system, the peripheral device according to said assigned address;
a means for retrieving, at the host computer system, the peripheral device driver of the selected peripheral device;
a means for interpreting the retrieved peripheral device driver; and a means for controlling, at the host computer system, the peripheral device according to user initiated controlling commands in the operating system and the interpreted peripheral device driver.
17. The system of Claim 16, wherein the means of retrieving retrieves the peripheral device driver from a stored location in the host computer system.
18. The system of Claim 16, wherein the means of retrieving retrieves the peripheral device driver from a stored location in the peripheral device.
19. The system of Claim 16, wherein the host computer system is coupled to an independent server via a connection selected from the group of a direct connection, local area network connection, and public data network connection and the means of retrieving retrieves the peripheral device driver from a stored location in an independent server.
20. The system of Claim 16, wherein the peripheral device is any server equipped device.
21. The system of Claim 16, wherein the peripheral device is a printer.
22. The system of Claim 16, wherein the peripheral device is a scanner.
23. The system of Claim 16, wherein the peripheral device is high density storage.
24. The system of Claim 16, wherein the peripheral device is a facsimile device.
25. The system of Claim 16, wherein the means of interpreting is independent of the processor.
26. The system of Claim 16, wherein the interpreted peripheral device driver is independent of the operating system.
27. The system of Claim 16, wherein the peripheral device driver includes a graphical user interface (GUI) for entering of user initiated controlling commands.
28. The system of Claim 27, wherein the GUI of the peripheral device driver displays the status of the peripheral device.
29. The system of Claim 27, wherein the GUI of the peripheral device driver displays a list of predefined user-selectable options for the selected peripheral device.
30. The system of Claim 27, wherein the GUI of the peripheral device driver displays an administrative maintenance menu, wherein said administrative maintenance menu allows a user to perform at least one of the following functions:
connect additional peripheral devices; limit user access to specific peripheral devices;
install fonts from various predefined font servers connected to the operating system;
install a proxy connection; display the most recent users of the selected peripheral device and predetermined details of the most recent user peripheral device episodes;
set default peripheral device handling options; set default global peripheral device parameter options and set default imaging options.
connect additional peripheral devices; limit user access to specific peripheral devices;
install fonts from various predefined font servers connected to the operating system;
install a proxy connection; display the most recent users of the selected peripheral device and predetermined details of the most recent user peripheral device episodes;
set default peripheral device handling options; set default global peripheral device parameter options and set default imaging options.
31. A method for controlling a peripheral device coupled to a host computer system having an operating system with a translation layer and a processor, wherein the peripheral device has an associated peripheral device driver and the host computer system is coupled to the peripheral device via a connection selected from the group of a direct connection, a local area network connection, and a public data network connection, said method comprising the steps of:
assigning addresses to the peripheral device to distinctly identify the peripheral device to the host computer system;
selecting, at the host computer system, the peripheral device according to said assigned address;
retrieving, at the host computer system, the peripheral device driver of the selected peripheral device;
compiling the retrieved peripheral device driver; and controlling, at the host computer system, the peripheral device according to the compiled peripheral device driver through user commands initiated in the operating system of the host computer system and filtered through the translation layer.
assigning addresses to the peripheral device to distinctly identify the peripheral device to the host computer system;
selecting, at the host computer system, the peripheral device according to said assigned address;
retrieving, at the host computer system, the peripheral device driver of the selected peripheral device;
compiling the retrieved peripheral device driver; and controlling, at the host computer system, the peripheral device according to the compiled peripheral device driver through user commands initiated in the operating system of the host computer system and filtered through the translation layer.
32. The method of Claim 31, wherein the step of compiling is performing just-in-time compiling to maintain processor and operating system independence for the peripheral device driver.
33. The method for controlling communication between at least two coupled computer controlled devices with at least one computer controlled devicehaving an operating system with a translation layer, wherein the computer controlled devices are coupled via a connection selected from the group of a direct connection, a local area network connection, and a public data network connection, said methodcomprising the steps of:
assigning addresses to computer controlled devices;
selecting at a first one of the computer controlled devices, a second computer controlled device according to the assigned address;
retrieving, at the first computer controlled device, the computer controlled device driver of the selected second computer controlled device;
interpreting the retrieved computer controlled device driver; and controlling at the first computer controlled device, the second computer controlled device according to the interpreted computer controlled device driverthrough the operating system of the first computer controlled device and filtered through the translation layer of the first computer controlled device.
assigning addresses to computer controlled devices;
selecting at a first one of the computer controlled devices, a second computer controlled device according to the assigned address;
retrieving, at the first computer controlled device, the computer controlled device driver of the selected second computer controlled device;
interpreting the retrieved computer controlled device driver; and controlling at the first computer controlled device, the second computer controlled device according to the interpreted computer controlled device driverthrough the operating system of the first computer controlled device and filtered through the translation layer of the first computer controlled device.
34. The method of Claim 33, wherein the computer controlled devices are facsimile devices.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/667,026 | 1996-06-20 | ||
US08/667,026 US6148346A (en) | 1996-06-20 | 1996-06-20 | Dynamic device driver |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2258596A1 true CA2258596A1 (en) | 1997-12-24 |
Family
ID=24676505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002258596A Abandoned CA2258596A1 (en) | 1996-06-20 | 1997-06-17 | Dynamic device driver |
Country Status (5)
Country | Link |
---|---|
US (1) | US6148346A (en) |
EP (1) | EP0974090A4 (en) |
JP (1) | JP2001511920A (en) |
CA (1) | CA2258596A1 (en) |
WO (1) | WO1997049023A2 (en) |
Families Citing this family (207)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161126A (en) * | 1995-12-13 | 2000-12-12 | Immersion Corporation | Implementing force feedback over the World Wide Web and other computer networks |
EP0825506B1 (en) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Methods and apparatus for remote process control |
US6411276B1 (en) | 1996-11-13 | 2002-06-25 | Immersion Corporation | Hybrid control of haptic feedback for host computer and interface device |
US6553428B1 (en) * | 1996-11-18 | 2003-04-22 | International Business Machines Corporation | Distributed object instantiation of native objects in java |
US6401109B1 (en) * | 1996-11-18 | 2002-06-04 | International Business Machines Corp. | Virtual socket for JAVA interprocess communication |
US20050038747A1 (en) * | 1996-11-27 | 2005-02-17 | Diebold, Incorporated | Automated banking machine configuration system |
DE69713268T2 (en) * | 1997-02-07 | 2002-09-26 | Hewlett Packard Co | Computer peripherals management |
JP2959545B2 (en) * | 1997-03-25 | 1999-10-06 | セイコーエプソン株式会社 | Image information input / output device, control method for image information input / output device, and image information processing system |
US7103834B1 (en) * | 1997-06-25 | 2006-09-05 | Samsung Electronics Co., Ltd. | Method and apparatus for a home network auto-tree builder |
JP2000513916A (en) * | 1997-06-25 | 2000-10-17 | サムソン エレクトロニクス カンパニー リミテッド | Method and apparatus for home network automatic tree generator |
US7086001B1 (en) * | 1997-10-22 | 2006-08-01 | OCÉ-USA, Inc. | Automatic network device selection and document delivery system |
JP3201319B2 (en) * | 1997-11-01 | 2001-08-20 | 日本電気株式会社 | Electronic devices that can be connected to a network |
US6330010B1 (en) * | 1997-11-21 | 2001-12-11 | Xsides Corporation | Secondary user interface |
US6337717B1 (en) * | 1997-11-21 | 2002-01-08 | Xsides Corporation | Alternate display content controller |
US6018332A (en) * | 1997-11-21 | 2000-01-25 | Ark Interface Ii, Inc. | Overscan user interface |
US7016811B2 (en) * | 2001-08-15 | 2006-03-21 | National Instruments Corporation | Network-based system for configuring a programmable hardware element in a measurement system using hardware configuration programs generated based on a user specification |
US6119129A (en) * | 1998-05-14 | 2000-09-12 | Sun Microsystems, Inc. | Multi-threaded journaling in a configuration database |
US6161125A (en) * | 1998-05-14 | 2000-12-12 | Sun Microsystems, Inc. | Generic schema for storing configuration information on a client computer |
US6119157A (en) * | 1998-05-14 | 2000-09-12 | Sun Microsystems, Inc. | Protocol for exchanging configuration data in a computer network |
US6351751B1 (en) | 1998-05-14 | 2002-02-26 | Sun Microsystems, Inc. | Persistent storage managers for configuring client/server environments |
US6052720A (en) * | 1998-05-14 | 2000-04-18 | Sun Microsystems, Inc. | Generic schema for storing configuration information on a server computer |
GB2340267B (en) * | 1998-07-31 | 2003-02-05 | Sony Uk Ltd | Data storage in ole stystems |
FR2785404B1 (en) * | 1998-10-30 | 2001-08-24 | Bull Sa | METHOD FOR CONTROLLING A FUNCTION EXECUTABLE BY COMMANDS SPECIFIC TO DIFFERENT SOFTWARE |
US6470397B1 (en) * | 1998-11-16 | 2002-10-22 | Qlogic Corporation | Systems and methods for network and I/O device drivers |
US6618767B1 (en) * | 1998-11-17 | 2003-09-09 | Sun Microsystems, Inc. | Mechanism by which devices on unforeseen platform variants may be supported without re-release of core platform kernel software |
US6694354B1 (en) * | 1998-11-30 | 2004-02-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Host computer access to peripheral device drivers |
US20020073218A1 (en) * | 1998-12-23 | 2002-06-13 | Bill J. Aspromonte | Stream device management system for multimedia clients in a broadcast network architecture |
US6594690B2 (en) * | 1999-02-24 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | Network peripheral device driver installer |
US6952831B1 (en) * | 1999-02-26 | 2005-10-04 | Microsoft Corporation | Driverless printing |
US6782426B1 (en) * | 1999-04-09 | 2004-08-24 | Canon Kabushiki Kaisha | Shared device control method and server-client system |
US6349336B1 (en) * | 1999-04-26 | 2002-02-19 | Hewlett-Packard Company | Agent/proxy connection control across a firewall |
US6684260B1 (en) * | 1999-05-04 | 2004-01-27 | Hewlett-Packard Development Company, L.P. | Maintaining consistency of device driver settings |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
WO2000070417A1 (en) | 1999-05-17 | 2000-11-23 | The Foxboro Company | Process control configuration system with parameterized objects |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US7159192B2 (en) | 1999-08-13 | 2007-01-02 | Hotbar.Com, Inc. | System and method for customizing electronic messages |
US7222303B2 (en) | 1999-07-15 | 2007-05-22 | Hotbar.Com, Inc. | System and method for the dynamic improvement of internet browser navigability |
IL130972A0 (en) | 1999-07-15 | 2001-01-28 | Hotbar Com Israel Ltd | Method for the dynamic improvement of internet browser appearance and connectivity |
US7610559B1 (en) * | 1999-07-27 | 2009-10-27 | Samsung Electronics Co., Ltd. | Device customized home network top-level information architecture |
DE60032426T2 (en) * | 1999-09-06 | 2007-09-27 | Seiko Epson Corp. | Send the printer settings to a host device |
US6630943B1 (en) * | 1999-09-21 | 2003-10-07 | Xsides Corporation | Method and system for controlling a complementary user interface on a display surface |
US6618750B1 (en) * | 1999-11-02 | 2003-09-09 | Apple Computer, Inc. | Method and apparatus for determining communication paths |
US7532339B1 (en) * | 1999-12-08 | 2009-05-12 | Lexmark International, Inc. | Self-describing device interface system |
FI109951B (en) * | 1999-12-29 | 2002-10-31 | Valtion Teknillinen | Controller and its control method |
US7079166B1 (en) * | 2000-01-07 | 2006-07-18 | Ricoh Company, Ltd. | Graphical user interface with enhanced operations when changing display screen |
US6498611B1 (en) * | 2000-01-28 | 2002-12-24 | Lexmark International, Inc. | System and method for providing a virtual operator panel for a peripheral device |
US7554684B1 (en) * | 2000-02-17 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Configurable printer menu structure |
US6727918B1 (en) | 2000-02-18 | 2004-04-27 | Xsides Corporation | Method and system for controlling a complementary user interface on a display surface |
US20040226041A1 (en) * | 2000-02-18 | 2004-11-11 | Xsides Corporation | System and method for parallel data display of multiple executing environments |
US6977661B1 (en) * | 2000-02-25 | 2005-12-20 | Microsoft Corporation | System and method for applying color management on captured images |
EP1134692A3 (en) * | 2000-03-16 | 2003-03-05 | Seiko Epson Corporation | Printer for managing a plurality of print job data |
JP2001273243A (en) * | 2000-03-27 | 2001-10-05 | Canon Inc | Data processor, peripheral equipment, data processing method and storage medium |
EP1143695A3 (en) * | 2000-03-29 | 2004-01-21 | Canon Kabushiki Kaisha | Control method for image processing apparatus connectable to computer network |
US7089562B1 (en) * | 2000-05-04 | 2006-08-08 | International Business Machines Corporation | Universal driver server |
US7237198B1 (en) * | 2000-05-22 | 2007-06-26 | Realnetworks, Inc. | System and method of providing for the control of a music player to a device driver |
US7155672B1 (en) | 2000-05-23 | 2006-12-26 | Spyglass, Inc. | Method and system for dynamic font subsetting |
JP2002041257A (en) * | 2000-07-24 | 2002-02-08 | Minolta Co Ltd | Install method of printer driver, recording medium which records installation program for printer deriver, and installation device for printer driver |
JP2002055824A (en) * | 2000-08-09 | 2002-02-20 | Sony Corp | Electronic device, equipment using the device and data reading method |
US7171442B1 (en) * | 2000-09-18 | 2007-01-30 | Canon Kabushiki Kaisha | Printer maintenance scheme for a network centric printing system |
US7076518B1 (en) * | 2000-10-24 | 2006-07-11 | Hewlett-Packard Development Comapny, L.P. | System and method for linking a web server in a peripheral to a network through a host |
US6641312B1 (en) * | 2000-10-31 | 2003-11-04 | Hewlett-Packard Development Company, Lp. | Printer and method for executing a print job and storing print usage information |
US20020059415A1 (en) | 2000-11-01 | 2002-05-16 | Chang William Ho | Manager for device-to-device pervasive digital output |
US7805720B2 (en) * | 2003-04-11 | 2010-09-28 | Flexiworld Technologies, Inc. | Autorun for integrated circuit memory component |
US10915296B2 (en) | 2000-11-01 | 2021-02-09 | Flexiworld Technologies, Inc. | Information apparatus that includes a touch sensitive screen interface for managing or replying to e-mails |
US10860290B2 (en) | 2000-11-01 | 2020-12-08 | Flexiworld Technologies, Inc. | Mobile information apparatuses that include a digital camera, a touch sensitive screen interface, support for voice activated commands, and a wireless communication chip or chipset supporting IEEE 802.11 |
US11204729B2 (en) | 2000-11-01 | 2021-12-21 | Flexiworld Technologies, Inc. | Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service |
US11467856B2 (en) * | 2002-12-12 | 2022-10-11 | Flexiworld Technologies, Inc. | Portable USB device for internet access service |
US7450258B2 (en) * | 2000-11-07 | 2008-11-11 | Hewlett-Packard Development Company, L.P. | Systems and methods for remote management of printing devices |
US7107330B1 (en) * | 2000-11-09 | 2006-09-12 | International Business Machines Corporation | Data processing system and method for distributing a device driver to a plurality of client computer systems each executing different operating systems |
AU2002226948A1 (en) | 2000-11-20 | 2002-06-03 | Flexiworld Technologies, Inc. | Tobile and pervasive output components |
US7076536B2 (en) * | 2000-12-21 | 2006-07-11 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier |
US7480068B2 (en) * | 2001-01-11 | 2009-01-20 | Sharp Laboratories Of America, Inc. | Methods and systems for page-independent spool file sheet assembly |
US8456665B2 (en) * | 2001-01-11 | 2013-06-04 | Sharp Laboratories Of America, Inc. | Methods and systems for printing error recovery |
US7548331B2 (en) * | 2001-01-11 | 2009-06-16 | Sharp Laboratories Of America, Inc. | Methods and systems for print system component-based remote printing |
US8411298B2 (en) * | 2001-01-11 | 2013-04-02 | Sharp Laboratories Of America, Inc. | Methods and systems for printing device load-balancing |
US20030227644A1 (en) * | 2001-01-11 | 2003-12-11 | Sharp Laboratories Of America, Inc. | Methods and systems for driver independent customized printing |
US20020089687A1 (en) * | 2001-01-11 | 2002-07-11 | Ferlitsch Andrew Rodney | Methods and systems for print-processor-based printer status detection and print task distribution |
US7165109B2 (en) * | 2001-01-12 | 2007-01-16 | Microsoft Corporation | Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device |
US20020097408A1 (en) | 2001-01-19 | 2002-07-25 | Chang William Ho | Output device for universal data output |
US7533333B2 (en) * | 2001-02-14 | 2009-05-12 | Ricoh Co., Ltd. | Object-oriented method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols |
US6982802B2 (en) * | 2001-02-20 | 2006-01-03 | Hewlett-Packard Development Company, L.P. | Systems and methods for collecting printing device usage data |
US20020138564A1 (en) * | 2001-03-21 | 2002-09-26 | Treptow Jay A. | Universal printing and document imaging system and method |
JP3685083B2 (en) * | 2001-04-05 | 2005-08-17 | セイコーエプソン株式会社 | Image and audio output system via network |
DE50207109D1 (en) * | 2001-04-27 | 2006-07-20 | Oce Printing Systems Gmbh | METHOD, MAINTENANCE COMPUTER AND COMPUTER PROGRAM PRODUCT FOR MAINTAINING A PRINTING OR COPYING SYSTEM |
US6754725B1 (en) * | 2001-05-07 | 2004-06-22 | Cypress Semiconductor Corp. | USB peripheral containing its own device driver |
US20020191205A1 (en) * | 2001-05-31 | 2002-12-19 | Stringham Gary G. | Apparatus for selectively distributing document production job output |
US6922812B2 (en) * | 2001-07-12 | 2005-07-26 | International Business Machines Corp. | System and method for presenting text upon the display of a server that employs and X window graphical interface |
US20030011640A1 (en) * | 2001-07-12 | 2003-01-16 | Green Brett A. | System and methods for implementing peripheral device front menu panels |
US8214849B2 (en) * | 2001-07-13 | 2012-07-03 | Advanced Micro Devices, Inc. | System for loading device-specific code and method thereof |
WO2003014917A1 (en) * | 2001-08-09 | 2003-02-20 | Primelayer Software Inc. | A universal driver apparatus and method |
US8103752B2 (en) * | 2001-09-12 | 2012-01-24 | Hewlett-Packard Development Company, L.P. | System and method for facilitating distribution of a translator |
US20030063305A1 (en) * | 2001-09-28 | 2003-04-03 | Mcintyre C. Kevin | Method and system for saving and restoring printer control panel settings |
US7191322B2 (en) * | 2001-10-12 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for tuning multiple instances of kernel modules |
US7171468B2 (en) * | 2001-11-10 | 2007-01-30 | Kabushiki Kaisha Toshiba | System and method for accessing a document management repository |
US20040205544A1 (en) * | 2002-01-03 | 2004-10-14 | International Business Machines Corporation | Inline error highlighting |
US20030145127A1 (en) * | 2002-01-03 | 2003-07-31 | Unice W. Kyle | Method and computer program product for providing a device driver |
US7216303B2 (en) * | 2002-01-03 | 2007-05-08 | International Business Machines Corporation | Menu emulation for content browser clients |
US7552265B2 (en) * | 2002-01-23 | 2009-06-23 | Xerox Corporation | System and method for providing context information |
US7464134B2 (en) * | 2002-01-24 | 2008-12-09 | Hewlett-Packard Development Company, L.P. | Mechanism and method for sharing imaging information from an enterprise resource planning computing environment |
US20030145089A1 (en) * | 2002-01-29 | 2003-07-31 | Xerox Corporation | System and method for enabling arbitrary components to transfer data between each other |
US7366799B2 (en) * | 2002-03-06 | 2008-04-29 | Pharos Systems International, Inc. | Document processing system including multi-device compatible interface and related methods |
US7107331B2 (en) * | 2002-03-25 | 2006-09-12 | Kabushiki Kaisha Toshiba | System and method for configuring digital image devices |
JP3962649B2 (en) * | 2002-07-31 | 2007-08-22 | キヤノン株式会社 | Font downloading apparatus and method |
US7305680B2 (en) * | 2002-08-13 | 2007-12-04 | Sharp Laboratories Of America, Inc. | Listening module for asynchronous messages sent between electronic devices of a distributed network |
US7689724B1 (en) | 2002-08-16 | 2010-03-30 | Cypress Semiconductor Corporation | Apparatus, system and method for sharing data from a device between multiple computers |
JP2004086809A (en) * | 2002-08-29 | 2004-03-18 | Fuji Xerox Co Ltd | Image formation system and back-end processor |
JP4109938B2 (en) * | 2002-09-13 | 2008-07-02 | キヤノン株式会社 | Information processing apparatus, control method therefor, and program |
US7293118B1 (en) | 2002-09-27 | 2007-11-06 | Cypress Semiconductor Corporation | Apparatus and method for dynamically providing hub or host operations |
WO2004055638A2 (en) * | 2002-12-12 | 2004-07-01 | Flexiworld Technologies, Inc. | Wireless communication between computing devices |
US8081323B2 (en) * | 2003-01-31 | 2011-12-20 | Canon Kabushiki Kaisha | Apparatus and method for transferring data to remote printer |
US20040203358A1 (en) * | 2003-03-17 | 2004-10-14 | Anderson Jeff M. | Mobile-printing desktop assistant |
US9106526B2 (en) | 2003-03-21 | 2015-08-11 | Hewlett-Packard Development Company, L.P. | Traversing firewalls |
JP4238618B2 (en) | 2003-03-28 | 2009-03-18 | ブラザー工業株式会社 | Compound machine |
US7636584B2 (en) * | 2003-10-17 | 2009-12-22 | Hewlett-Packard Development Company, L.P. | Computing device and methods for mobile-printing |
US7861162B2 (en) * | 2003-11-14 | 2010-12-28 | Samsung Electronics Co., Ltd. | Help file generating method and apparatus |
KR100530235B1 (en) * | 2003-12-15 | 2005-11-22 | 삼성전자주식회사 | Common driver device and method |
JP4574344B2 (en) * | 2004-01-20 | 2010-11-04 | キヤノン株式会社 | Information processing apparatus and method |
US20050225795A1 (en) * | 2004-04-12 | 2005-10-13 | Jayasimha Nuggehalli | Automatic customization of printer drivers |
ATE539522T1 (en) * | 2004-06-29 | 2012-01-15 | Nokia Corp | CONTROL OF PERIPHERAL DEVICES IN A SHORT RANGE WIRELESS COMMUNICATIONS SYSTEM |
US7653123B1 (en) | 2004-09-24 | 2010-01-26 | Cypress Semiconductor Corporation | Dynamic data rate using multiplicative PN-codes |
US8384925B2 (en) | 2004-10-08 | 2013-02-26 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting data management |
US8065384B2 (en) | 2004-10-08 | 2011-11-22 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device event notification subscription |
US7870185B2 (en) | 2004-10-08 | 2011-01-11 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device event notification administration |
US7684074B2 (en) | 2004-10-08 | 2010-03-23 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device metadata management |
US7920101B2 (en) | 2004-10-08 | 2011-04-05 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device display standardization |
US7633644B2 (en) | 2004-10-08 | 2009-12-15 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device job management |
US8035831B2 (en) | 2004-10-08 | 2011-10-11 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device remote form management |
US8001587B2 (en) | 2004-10-08 | 2011-08-16 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential management |
US8156424B2 (en) | 2004-10-08 | 2012-04-10 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device dynamic document creation and organization |
US8051125B2 (en) | 2004-10-08 | 2011-11-01 | Sharp Laboratories Of America, Inc. | Methods and systems for obtaining imaging device event notification subscription |
US8032579B2 (en) | 2004-10-08 | 2011-10-04 | Sharp Laboratories Of America, Inc. | Methods and systems for obtaining imaging device notification access control |
US7873718B2 (en) | 2004-10-08 | 2011-01-18 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting server recovery |
US8120797B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for transmitting content to an imaging device |
US8060921B2 (en) | 2004-10-08 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential authentication and communication |
US7969596B2 (en) | 2004-10-08 | 2011-06-28 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device document translation |
US8001183B2 (en) | 2004-10-08 | 2011-08-16 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device related event notification |
US7873553B2 (en) | 2004-10-08 | 2011-01-18 | Sharp Laboratories Of America, Inc. | Methods and systems for authorizing imaging device concurrent account use |
US7978618B2 (en) | 2004-10-08 | 2011-07-12 | Sharp Laboratories Of America, Inc. | Methods and systems for user interface customization |
US7826081B2 (en) | 2004-10-08 | 2010-11-02 | Sharp Laboratories Of America, Inc. | Methods and systems for receiving localized display elements at an imaging device |
US8018610B2 (en) * | 2004-10-08 | 2011-09-13 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device remote application interaction |
US8006176B2 (en) | 2004-10-08 | 2011-08-23 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging-device-based form field management |
US8120799B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for accessing remote, descriptor-related data at an imaging device |
US8001586B2 (en) | 2004-10-08 | 2011-08-16 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential management and authentication |
US8171404B2 (en) | 2004-10-08 | 2012-05-01 | Sharp Laboratories Of America, Inc. | Methods and systems for disassembly and reassembly of examination documents |
US8006293B2 (en) | 2004-10-08 | 2011-08-23 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential acceptance |
US8115944B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for local configuration-based imaging device accounting |
US8023130B2 (en) | 2004-10-08 | 2011-09-20 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting data maintenance |
US8032608B2 (en) | 2004-10-08 | 2011-10-04 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device notification access control |
US8006292B2 (en) | 2004-10-08 | 2011-08-23 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential submission and consolidation |
US8115947B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for providing remote, descriptor-related data to an imaging device |
US8115945B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device job configuration management |
US8120793B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for displaying content on an imaging device |
US8125666B2 (en) | 2004-10-08 | 2012-02-28 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device document management |
US8237946B2 (en) | 2004-10-08 | 2012-08-07 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device accounting server redundancy |
US8120798B2 (en) | 2004-10-08 | 2012-02-21 | Sharp Laboratories Of America, Inc. | Methods and systems for providing access to remote, descriptor-related data at an imaging device |
US8051140B2 (en) | 2004-10-08 | 2011-11-01 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device control |
US8213034B2 (en) | 2004-10-08 | 2012-07-03 | Sharp Laboratories Of America, Inc. | Methods and systems for providing remote file structure access on an imaging device |
US8115946B2 (en) | 2004-10-08 | 2012-02-14 | Sharp Laboratories Of America, Inc. | Methods and sytems for imaging device job definition |
US8015234B2 (en) | 2004-10-08 | 2011-09-06 | Sharp Laboratories Of America, Inc. | Methods and systems for administering imaging device notification access control |
US7970813B2 (en) | 2004-10-08 | 2011-06-28 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device event notification administration and subscription |
US8024792B2 (en) | 2004-10-08 | 2011-09-20 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential submission |
US8049677B2 (en) | 2004-10-08 | 2011-11-01 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device display element localization |
US8060930B2 (en) | 2004-10-08 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device credential receipt and authentication |
US7738808B2 (en) | 2004-10-08 | 2010-06-15 | Sharp Laboratories Of America, Inc. | Methods and systems for imaging device concurrent account use with remote authorization |
US8230328B2 (en) | 2004-10-08 | 2012-07-24 | Sharp Laboratories Of America, Inc. | Methods and systems for distributing localized display elements to an imaging device |
US7934217B2 (en) | 2004-10-08 | 2011-04-26 | Sharp Laboratories Of America, Inc. | Methods and systems for providing remote file structure access to an imaging device |
US7966396B2 (en) | 2004-10-08 | 2011-06-21 | Sharp Laboratories Of America, Inc. | Methods and systems for administrating imaging device event notification |
KR100640060B1 (en) * | 2004-12-16 | 2006-11-01 | 삼성전자주식회사 | Printing control apparatus for controlling and Audio Vedio connection display method thereof |
US8428484B2 (en) | 2005-03-04 | 2013-04-23 | Sharp Laboratories Of America, Inc. | Methods and systems for peripheral accounting |
JP2006252480A (en) * | 2005-03-14 | 2006-09-21 | Fuji Xerox Co Ltd | Computer, image processing system, and image processing method |
JP4591148B2 (en) * | 2005-03-25 | 2010-12-01 | 富士ゼロックス株式会社 | FUNCTION CONVERSION DEVICE, FUNCTION CONVERSION METHOD, FUNCTION CONVERSION PROGRAM, DEVICE DATA GENERATION DEVICE, DEVICE DATA GENERATION METHOD, AND DEVICE DATA GENERATION PROGRAM |
US7804617B2 (en) * | 2005-04-18 | 2010-09-28 | Brother Kogyo Kabushiki Kaisha | Network system, remote setup method and connection data edit program |
KR100727945B1 (en) * | 2005-06-29 | 2007-06-14 | 삼성전자주식회사 | Printing apparatus and method using tool bar |
US20070077405A1 (en) * | 2005-09-30 | 2007-04-05 | Basf Corporation | Inorganic/organic-filled styrenic thermoplastic door skins |
US8345272B2 (en) | 2006-09-28 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for third-party control of remote imaging jobs |
US7894111B2 (en) * | 2006-12-18 | 2011-02-22 | Xerox Corporation | Method and system to determine preferred color management settings for printing documents |
CN101204871B (en) * | 2006-12-23 | 2011-06-29 | 海德堡印刷机械股份公司 | Operation interface for peripheral equipment based on browser |
JP4986693B2 (en) * | 2007-04-17 | 2012-07-25 | キヤノン株式会社 | Information processing apparatus, control method therefor, and program |
US20080309665A1 (en) * | 2007-06-13 | 2008-12-18 | 3D Systems, Inc., A California Corporation | Distributed rapid prototyping |
KR101345342B1 (en) * | 2007-07-18 | 2013-12-27 | 삼성전자주식회사 | Image forming apparatus for setting emulation addition functions and image processing method thereof |
US8214548B2 (en) * | 2007-08-29 | 2012-07-03 | Ricoh Company, Ltd. | Capability-based control device driver of a computer peripheral device |
US8589866B2 (en) * | 2007-08-29 | 2013-11-19 | Ricoh Company, Ltd. | Automatically generating capability-based computer peripheral device drivers |
US8305609B2 (en) * | 2008-05-07 | 2012-11-06 | International Business Machines Corporation | Prioritizing print requests for a configurable shared network printer |
US8176499B2 (en) * | 2008-05-30 | 2012-05-08 | Microsoft Corporation | Defining, distributing and presenting device experiences |
RU2495476C2 (en) | 2008-06-20 | 2013-10-10 | Инвенсис Системз, Инк. | Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control |
US8271703B2 (en) * | 2008-10-17 | 2012-09-18 | Ricoh Company, Ltd. | Providing device defined user interface modifiers to a computer system |
WO2010057526A1 (en) * | 2008-11-19 | 2010-05-27 | Nec Europe Ltd. | Virtualization mediated system and method |
US8314950B2 (en) * | 2009-01-26 | 2012-11-20 | Ricoh Company, Ltd. | Approach for using settings mismatch tolerance levels to handle mismatches between print job settings and printing device settings |
US8427675B2 (en) * | 2009-01-27 | 2013-04-23 | Ricoh Company, Ltd. | Automatically updating a printer driver with new printing device features |
US8526020B2 (en) * | 2009-03-06 | 2013-09-03 | Ricoh Company, Ltd. | Paper size support for a print system |
US8520225B2 (en) * | 2009-03-06 | 2013-08-27 | Ricoh Company, Ltd. | Print driver localization support from printing device to support multiple user profiles |
US8773687B2 (en) * | 2009-03-06 | 2014-07-08 | Ricoh Company, Ltd. | Driverless architecture for printing systems |
US20100245885A1 (en) * | 2009-03-24 | 2010-09-30 | Selvaraj Senthil K | Techniques For Printing To Hotspot Printers |
US8264722B2 (en) * | 2009-04-03 | 2012-09-11 | Kabushiki Kaisha Toshiba | Building dynamic user interfaces based on interactive query of device and workflow capabilities |
KR101646097B1 (en) * | 2009-05-20 | 2016-08-12 | 엘지전자 주식회사 | Method of providing active user interface and Mobile Terminal thereof |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
JP4889776B2 (en) * | 2009-09-29 | 2012-03-07 | シャープ株式会社 | Printer control apparatus, printer control method, printing system, program, and recording medium |
US8658676B2 (en) | 2010-10-12 | 2014-02-25 | The Medicines Company | Clevidipine emulsion formulations containing antimicrobial agents |
US8683428B2 (en) | 2011-03-23 | 2014-03-25 | Microsoft Corporation | Automated generation of client/driver communication interfaces |
JP5234131B2 (en) * | 2011-03-29 | 2013-07-10 | ブラザー工業株式会社 | Printer driver and information processing apparatus |
WO2012162687A1 (en) * | 2011-05-26 | 2012-11-29 | Candi Controls, Inc. | System |
JP5743333B2 (en) * | 2012-08-02 | 2015-07-01 | 京セラドキュメントソリューションズ株式会社 | Image forming system and program for image forming system |
US9323543B2 (en) | 2013-01-04 | 2016-04-26 | Microsoft Technology Licensing, Llc | Capability based device driver framework |
US9811319B2 (en) * | 2013-01-04 | 2017-11-07 | Microsoft Technology Licensing, Llc | Software interface for a hardware device |
US10002007B2 (en) * | 2014-05-29 | 2018-06-19 | Ncr Corporation | Operating system (OS) independent device drivers |
US11278727B2 (en) | 2017-11-22 | 2022-03-22 | Medtronic, Inc. | Efficient delivery of multi-site pacing |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4975829A (en) * | 1986-09-22 | 1990-12-04 | At&T Bell Laboratories | Communication interface protocol |
US5182806A (en) * | 1989-06-30 | 1993-01-26 | Digital Equipment Corporation | Incremental compiler for source-code development system |
CA2010591C (en) * | 1989-10-20 | 1999-01-26 | Phillip M. Adams | Kernels, description tables and device drivers |
US5432705A (en) * | 1991-05-31 | 1995-07-11 | Itronix Corporation | Administrative computer and testing apparatus |
JP2661416B2 (en) * | 1991-06-29 | 1997-10-08 | ブラザー工業株式会社 | Printing system |
US5442779A (en) * | 1992-06-25 | 1995-08-15 | International Business Machines Corporation | System and method for enabling an interpreted programming language to be executed in a database management system environment |
US5566278A (en) * | 1993-08-24 | 1996-10-15 | Taligent, Inc. | Object oriented printing system |
US5621789A (en) * | 1993-09-01 | 1997-04-15 | Teknekron Infoswitch Corporation | Method and system for integrating a plurality of call center agent performance enhancement modules |
US5533174A (en) * | 1993-10-26 | 1996-07-02 | Digital Equipment Corporation | Network font server |
US5519851A (en) * | 1994-03-14 | 1996-05-21 | Sun Microsystems, Inc. | Portable PCMCIA interface for a host computer |
US5580177A (en) * | 1994-03-29 | 1996-12-03 | Hewlett-Packard Company | Printer/client network with centrally updated printer drivers and printer status monitoring |
JP3434038B2 (en) * | 1994-09-22 | 2003-08-04 | 株式会社日立製作所 | Network construction support system |
US5699493A (en) * | 1995-06-23 | 1997-12-16 | Lexmark International, Inc. | Method and apparatus for providing job accounting information to a host computer from a printer |
US5706502A (en) * | 1996-03-25 | 1998-01-06 | Sun Microsystems, Inc. | Internet-enabled portfolio manager system and method |
US5720015A (en) * | 1996-04-22 | 1998-02-17 | Lexmark International, Inc. | Method and apparatus for providing remote printer resource management |
-
1996
- 1996-06-20 US US08/667,026 patent/US6148346A/en not_active Expired - Fee Related
-
1997
- 1997-06-17 EP EP97933133A patent/EP0974090A4/en not_active Withdrawn
- 1997-06-17 CA CA002258596A patent/CA2258596A1/en not_active Abandoned
- 1997-06-17 JP JP50304798A patent/JP2001511920A/en not_active Withdrawn
- 1997-06-17 WO PCT/US1997/009705 patent/WO1997049023A2/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP0974090A2 (en) | 2000-01-26 |
JP2001511920A (en) | 2001-08-14 |
WO1997049023A2 (en) | 1997-12-24 |
WO1997049023A3 (en) | 1998-07-16 |
EP0974090A4 (en) | 2004-09-01 |
US6148346A (en) | 2000-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2258596A1 (en) | Dynamic device driver | |
JP3848318B2 (en) | Printer, printer system, configuration update method, and configuration update program | |
US7239409B2 (en) | Remote access to print job retention | |
US7057747B1 (en) | Management of printer settings | |
CN100407127C (en) | Information processing apparatus capable of customizing device driver, information processing method, and control program | |
US7075670B1 (en) | Server apparatus for managing print attribute information and print controlling | |
US7607102B2 (en) | Dynamically changing appearances for user interface elements during drag-and-drop operations | |
US7177040B2 (en) | Remote printer control | |
US5937150A (en) | LCD panel controlled by two process elements | |
KR101101101B1 (en) | Information processing apparatus and information processing method | |
US8259315B2 (en) | Information processing apparatus, print setting method, and storage medium for changing default setting information | |
CN102893253B (en) | Print system, client and control method | |
US8208152B2 (en) | Printer controlled default driver configuration | |
US20070038946A1 (en) | Systems, methods and devices for controlling a multifunctional product using a scriptable user interface | |
JP2006297632A (en) | Image processor | |
US20080022212A1 (en) | System And Method For Generating A Custom Default User Interface On A Document Processing Device | |
JP2001506036A (en) | Method and apparatus for establishing internet / intranet remote user interface to copier, printer | |
JP5436187B2 (en) | Image processing apparatus, control method therefor, and program | |
JP2002149297A (en) | Menu controlling method, suppressing method, recording medium and program | |
CN101551738B (en) | Printing control apparatus | |
US6104395A (en) | Graphical interface method, apparatus and application for opening window of all designated container objects | |
US6999188B1 (en) | Dynamically configurable printer and method of use thereof | |
US8218159B2 (en) | Data processing apparatus for transmitting resources to an image processing apparatus | |
US7106467B2 (en) | Information processing apparatus, device management apparatus, network system, method of coping with a device problem, and storage medium | |
JPH09104151A (en) | Printer, data processor, menu display treatment method and setting of printer of data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued |