|Publication number||US6289371 B1|
|Application number||US 09/163,791|
|Publication date||Sep 11, 2001|
|Filing date||Sep 30, 1998|
|Priority date||Sep 30, 1998|
|Also published as||DE69929130D1, DE69929130T2, EP0991227A2, EP0991227A3, EP0991227B1|
|Publication number||09163791, 163791, US 6289371 B1, US 6289371B1, US-B1-6289371, US6289371 B1, US6289371B1|
|Inventors||David A. Kumpf, David W. McAnaney, Daniel R. Pearson|
|Original Assignee||Hewlett-Packard Company|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (5), Referenced by (144), Classifications (23), Legal Events (7)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention generally relates to scan control network software and firmware, i.e., software embedded on a system. More particularly, the present invention concerns software and firmware for interactive server-client support of peripherals including scan functions over a network with a web browser.
Scanning peripherals are becoming a larger segment of the peripheral industry. Users find such peripherals usefull as a means of input for text, graphics and images. Many software applications now permit manipulation and use of such data. Some peripherals combine scanning with other functions. These multifunction peripherals are popular, in part, because of their ability to combine multiple useful functions into a single device. Multifunction and scanning peripheral vendors typically provide custom software that takes advantage of features of the peripheral. Usually, however, the custom software is written to communicate only with a single device over a local interface, such as a SCSI bus or a parallel port. While such known local interface designs are simple, they fail to address issues that occur when the peripheral is attached to a network.
A problem exists for such peripheral use over a local interface because the custom software for the peripheral must be developed and tested to run on various computer operating systems such as WINDOWS®, WINDOWS NT®, MACINTOSH®, and UNIX®. Problems are multiplied on a network because software must be adapted to communicate with the device over the network using the device's unique control language. To accomplish scanning, for example, an end-user or a network administrator will have to install special software on each client that wishes to scan from the network peripheral.
Another problem with sharing a peripheral on a network is contention. Contention occurs when multiple users attempt to access the same device simultaneously. For example, two users may try to initiate a scan from their client personal computers (PC) to the same network peripheral. Contention occurs since the peripheral can only handle one scan request at a time. Additionally, contention develops when one user attempts to initiate a scan while another user is using the device as a printer or a walk-up copier. Contention can also occur when another user attempts to initiate a new scan between the pages of a multi-scan job.
Additional problems arise with existing scan servers that cannot dynamically detect and automatically display changes in the peripheral status as to user availability and use. Further, existing scan servers provide no ability for a client to preview and crop an image to scan only a region of interest. Similarly, there is no progress feedback provided from the server to the client as the scan progresses, leaving the client dependent upon its own progress update functionality which works only when the client has knowledge concerning the size of the scan job. These drawbacks are especially apparent in known methods for using a web browser to initiate a scan over a network, since such conventional methods provide no dynamic interaction between a client and a server. Instead, the web browser is only able to address the peripheral and receive the scan results. Thus, even conventional scan servers which can be accessed via a web browser over a network to avoid the need for special purpose software on each client could benefit from improvements including greater interaction between client and server, and greater functionality provided from the server to the client.
Accordingly, it is an object of the present invention to provide an improved network scan server method which addresses a scan server through a web browser and which creates dynamic interaction between client and server through a general purpose software program sent from the server to the client to provide improved scan control via a web browser over a network.
It is a further object of the present invention to provide such a method in which a server detects and provides information to the client so that the client may display changes in a peripheral's status in a web browser interface.
Another object of the present invention is to provide such an improved method which permits a client to communicate with a server through a web browser interface and control a scan job to preview and select a desired portion of a previewed scanned image for a final scan.
Still another object of the present invention is to provide such an improved method which can supply progress feedback from the server to the client as a preview scan progresses.
Yet another object of the present invention is to provide such an improved method which can run on various operating systems.
Another object of the present invention is to provide such an improved method which can handle multi page scans and contention problems which exist on the network.
The present invention provides an interactive networked client-server scan method launched and actively managed through a web browser interface on a client. A server of the method responds to a universal resource locator address identifying the server with a general purpose format software program that creates an interface in the client web browser and enables the client to interact with the server in initiating, altering and monitoring scan jobs and related data.
In a preferred embodiment of the invention, a server responds to a client scan request by sending the client a Java applet that runs in a Java Virtual Machine of the client web browser and permits client-server interactive scan control through user input to the web page. Parameter selection and alteration is also a preferred functionality enabled for selection and alteration in the client interface through the Java applet provided by the server. The server translates and formats data for the client, and also preferably performs an on-the-fly gamma correction to data prior to transmitting it to the client. Other preferred features include multipage scanning, preview and image area selection.
Other objects, features and advantages will become apparent upon reading the following detailed description, in conjunction with the attached drawings, in which:
FIG. 1 is an overview of network system in which the present method is preferably applied;
FIGS. 2A-2D are flow charts illustrating functions of the networked scan server method of the present invention;
FIG. 3 is a preferred web Scan home page;
FIG. 4 is a preferred web Scan user interface page;
FIG. 5 is a preferred web Scan user interface page with a preview progress bar;
FIG. 6 is a table displaying a preferred set of gamma correction values; and
FIG. 7 is a preferred web Scan user interface page showing a preview scanned image available for scan editing.
This patent utilizes several acronyms. The following table is provided to aid the reader in determining the meaning of the several acronyms:
ADF=automatic document feeder.
CPU=central processing unit.
dpi=dots per inch.
HTML=hypertext mark-up language.
HTTP=hypertext transfer protocol.
IFD=image file directory.
MFPDTF=multifunction peripheral data transfer format.
MIB=management information base.
RAM=random access memory.
SCL=scanner control language.
SNMP=simple network management protocol.
TIFF=tagged image file format.
URL=universal resource locator.
Broadly stated, the present invention is directed to a method realized through software, firmware, and hardware which uses a web browser to support scan peripherals over a network and which creates an interactive server-client scan relationship by providing the client with a general purpose software program permitting communication between the server and client to initiate and control actions of a server scan job program and provide user displays through the client.
The present method preferably utilizes JAVA® applets which are small applications written in the JAVA® language. The JAVA® applets run on a JAVA® Virtual Machine which exists as part of a general purpose web browser like NETSCAPE NAVIGATOR® or MICROSOFT INTERNET EXPLORER®. Since the web browser is written to run on most operating systems, including WINDOWS®, WINDOWS NT®, MACINTOSH®, and UNIX®, the JAVA® applet can run on the various operating systems without a need to produce and test different compiled versions of the applet for each system.
Turning now to the drawings, and particularly FIG. 1, the JAVA® applet is stored in persistent memory of a network peripheral server 10 such as a Hewlett-Packard JETDIRECT EX box. The JETDIRECT EX box is shown and described in a Hewlett-Packard user manual part no. 5967-2290, and is incorporated by reference herein. It should be understood, however, that the functions of the server 10 can be performed, for example, as part of a card that connects via a bus interface to the peripheral, or as part of an internal central processing unit (CPU) of the peripheral 16. The JAVA® applet is supplied to a client 12 when needed, thus the user or a system manager does not need to install new software onto each client 12 to perform, for example, network scans. The server 10 connects a network 14 to a peripheral 16 like a printer or a scanner. The standard functionalities of a JETDIRECT server to which the present method is preferably applied are preserved. Thus, a server of the invention may be part of a JETDIRECT or similar device which also serves as a network print server. As is known in the art, JETDIRECT print servers connect to a network port through a network interface unit and permit clients to use one or more print peripherals connected to the JETDIRECT server.
The general functionality of the preferred method for an interactive client-server network scan using a web browser is illustrated in FIGS. 2A-2D. Initially, the client 12 connects to the server 10 when the user enters a universal resource locator (URL) identifying the address of the server 10 into a web browser to open a hypertext transfer protocol (HTTP) connection to the server 10, or otherwise instructs the client's 12 browser to connect to the server 10 (block 18). A connection is established between the client browser and server 10 (block 19), and a scan management applet is sent from the server 10 to the client 12 (block 20). The applet runs on the Java Virtual Machine of the web browser to connect the web browser to the server 10 and provide a suitable interface for scan interaction by a user on the client side. A preferred initial interface is shown in FIG. 3, and is created by the applet.
The present method provides for the case where a single server connects multiple scan peripherals, preferably MFPs, to the network through a single network port. The management applets accordingly obtain configuration information such as the number of ports existing on the server 10, names of the peripheral or peripherals 16 connected to the server 10, and capabilities of the connected peripherals 16. Where multiple peripherals are connected, a user may use the home page of FIG. 3 to select a desired peripheral (block 22).
To obtain peripheral configuration information, the management applet requires information from the peripheral 16. One way for the server to obtain this information is from the device ID string that is part of the IEEE 1284 protocol. The device ID string is a text string describing the device and its capabilities. When the server 10 is started or a peripheral 16 is connected to the server 10, scan program gateway software on the server 10 queries the peripheral 16 and retrieves the device ID string. Subsequently, the server 10 parses the device ID string and determines whether the peripheral 16 supports the scan function and the language used to communicate with the scanner. The server 10 looks for specific device names, for example Hewlett-Packard OFFICEJET PRO® 1150 or OFFICEJET PRO® 1170C SERIES, and observes a command codes field for scan languages, like Scanner Control Language (SCL) and multifunction peripheral 16 data transfer format (WPDTF), an example of which is MFPDTF1 (version 1).
The applet retrieves the same device ID string from the server 10 when the applet is started on the client 12 via a simple network management protocol (SNMP) query. The SNMP is a protocol that communicates using management information base (MIB) object values and typically is used to configure and manage network devices. While the present invention uses the SNMP protocol, it is contemplated that other protocols embracing the same characteristics as the SNMP protocol can be used. Thus, the applet can recognize and command several different scan devices if the server 10 supports those devices. The applet will create the client web (FIG. 3) interface to indicate only those devices that are supported.
After selection of a peripheral through the FIG. 3 home page interface, if such option is available from the server, the user may access a scan page, through the home page of FIG. 3, by clicking, for example, a “SCAN” button on the client interface produced by the applet (block 24). A web Scan user interface page, shown in FIG. 4, is returned to the web browser from the server 10 upon selection of “SCAN”. The web browser then downloads scan applets from persistent memory on the server 10 (block 26) to enable communications with the server for the various user options and displays presented in the FIG. 4 scan interface. This launches separate status threads and scan threads, which individually enable client-server interaction for the web browser for respective peripheral status communications and scan service communications.
The periodically updated result of the status thread is preferably presented on the client browser interface as an indication such as “scanner status: ready”, “scanner status: offline”, “scanner status: in use”, etc. The client and server cooperate to produce the periodic indication as a parallel operation with any scan operations after a client 12 has selected a peripheral. The client queries the status and the server replies (block 28). The browser then displays the status (block 30). A predetermined length pause is made (block 32) before the browser again queries the status of the peripheral via a request to the server 10 (block 28). The peripheral 16 will return data to the server 10 to indicate that it is not available if, for example, a lid of the peripheral 16 is open or a user is making a copy with the peripheral 16. Other options on the FIG. 4 screen are also available to the user, including modification of parameters, while the status display runs cooperatively between the server 10 and the client 12.
Upon launch of the scan thread, the applet determines the capabilities of the peripheral 16 using the device ID string retrieved from the server 10. The applet determines whether the peripheral 16 supports a preview (block 34), i.e., utilizes a flatbed scanner, and if it does, the “preview” button on the scan page client interface (FIG. 4) is enabled so the user can select to preview the image being scanned (block 36). Since an image placed on a flatbed scanner remains stationary while it is being scanned, a flatbed scanner can support preview by repeatedly scanning the image multiple times. The applet subsequently determines other capabilities of the peripheral from the device ID string, such as the supported scan resolution, color depth, and paper size. The applet makes corresponding adjustments to the user interface of FIG. 4 so the user interface complies with the supported capabilities of the peripheral. This completes server-client interactions through the applet relating to presentation of the dynamic user interface of FIG. 4 to a user at the client 12, and the applet then waits for scan actions to be entered through the interface (step 38).
Preferred possible actions include scan download, preview download (if available) and scan parameter alteration, selections of which are made through the FIG. 4 interface and result in the management applet in the client 12 launching threads to accomplish each available function (block 40). Parameter changes are stored by the applet for use in scanjobs (block 42). Preferably, parameters include paper size, resolution in dots per inch (dpi), an image type, (i.e., color picture, color drawing, etc.), color depth, (i.e. color, black and white, or greyscale), and an image format, like TIFF, and similar parameters. If the user does not modify scan parameters, default settings are stored; for example, a paper size of 8½×11 inches, a resolution in dpi set to 300, a color depth of color, and the image format is set to TIFF. A preview may be launched, if available. Finally, selection of a “download scanned image” button results in the applet in the client 12 initiating a scan job (block 44). The latter two operations result in respective download scan, FIG. 2B, and preview, FIG. 2C, threads being launched by the applet. In each case after launching one of these actions, the client 12 continues to wait for additional action while the threads are executing (block 38). As mentioned above, the status client-server interaction loop (blocks 28-32) also continues to run.
Upon download scan selection, as seen in FIG. 2B, the client 12 opens a server connection and communicates a scan job to the server 10 including the stored parameters (block 46). The server 10 parses, or extracts, the scan parameters, like image type, image format, paper size, and resolution in dpi, one-by-one from a string of the parameters (block 48). If the user has not designated a required parameter, the server 10 fills in default parameters for a particular peripheral 16. Next, the server 10 checks an internal table to determine if the parameter is outside the scope of acceptable parameters for the particular peripheral 16 (block 50). The server 10 determines the type of peripheral 16 by the device ID string of the peripheral 16. Thus, if the peripheral 16 does not support a particular paper size, for example, the server 10 will return an error message to the client 12 (block 52) and terminate the download connection (block 54). Any further actions are initiated through the waiting for user input (block 38), which had continued in the client 12 upon launching to the download scan thread.
After setting the parameters, the user presses or clicks a “DOWNLOAD SCANNED IMAGE” button. For security reasons, namely to avoid information entering from the web and erasing a PC's hard drive, JAVA® applets can only access resources within their “JAVA® sandbox.” In the present invention, the “JAVA® sandbox” is defined by random access memory (RAM) on the PC and network connections back to the server 10. Since the applet in the client does not communicate directly with the scanner and the PC's hard drive, the applet invokes the web browser to download the scanned image (block 60) to achieve image storage on the client's hard drive. To download the scanned image, the JAVA® Scan Applet causes the browser to open a connection on a scan port and issue an HTTP request to start a scan. The web scan program in the server 10 serves the image up in a format the browser recognizes, such as TIFF. The browser will treat this like any file download and prompt a user to save the server formatted, e.g., TIFF, file to disk, or display it, for example, using an image processing application. Once a user selects a hard drive destination, the scan program in the server 10 streams scanned image data to the browser which then directs it to disk. It is contemplated, however, that scanned images can be directly loaded to a hard drive or computer application if applets obtain an adequate level of permission to access local resources.
If there were no parameter errors, the server 10 next checks to see if the peripheral requested by the client scan job is available (block 56). If it is not available, an error message is returned (block 58) and the thread terminates (block 54). The availability check is necessary here since a user may select to download despite an unavailable status indication in the client user interface. If the peripheral is available, the server 10 continues running its scan thread. Parameters are sent to the peripheral (block 60), and the server uses the parameters to build a TIFF header (block 62), assuming that a TIFF file format has been requested in the scan job sent by the client 12. Other server supported formats may be similarly handled by the server scan program. A scan operation is then initiated by the server scan program, which sets a MIB to ACTIVE (block 64) and launches a final scan thread (block 66). In building the TIFF header, the server 10 receives a response for each parameter from the peripheral 16 and uses the responses to form the header permitting a TIFF image that software on the user's PC can display. The TIFF format consists of a TIFF header followed by a TIFF image file directory (IFD), all followed by data for the actual image. The server 10 returns the TIFF header to the client scan applet and issues the command to the peripheral 16 to begin a scan (block 66). Setting of the MIB object to ACTIVE (block 64) informs other clients that the scanner is busy.
To preview the image, the user presses or clicks a “PREVIEW” button displayed on the client's scan interface. If the user clicks the “PREVIEW” button, the scan applet in the client launches a preview thread which opens a connection on the scan port of the server 10 (block 68). The success, such as availability of the peripheral, is checked (block 70), and failure results in an error message and the termination of the preview thread (block 72). A failure might also result if the scanner is unable to implement a preview function. Otherwise, the server scan program is initiated with preview parameters being sent to the peripheral and the final scan thread being launched (block 74). The preview scan parameters are preferably kept by the server, and are preferably low resolution, i.e. low dpi, parameters. The display of the preview image in the user interface allows selection of a portion of an image for a final scan, to enable, for example, image cropping and other operations during the final scan. These are carried out through parameter alteration, or by graphically selecting a portion of the preview image, information about which is sent to the server when a final scan thread is launched based upon a selection of a portion of a preview image. The preview thread also monitors the progress of the image download, as shown in FIG. 5, where a preview progress bar is displayed for a user as the server conducts the preview scan and the client scan applet updates the display. The applet divides the data sent to the client 12 by the content length of the scanned image to provide data necessary to update the progress bar. The preview button changes to “cancel preview” to allow the preview to be canceled before the job is complete.
Before an image is scanned, the server 10 returns a content length of the scanned image plus one byte to the scan applet in the client 12. The extra one byte is added to the content length so that the server 10 scan program can control the closing of the connection to the scanner before the web browser has a chance to close the connection. Subsequently, the server 10 receives data from the scanner and sends the data to the applet in the client 12. As shown in FIG. 5, the scan applet in the client updates the progress bar as it receives data.
Whether launched by the preview or download scan threads, the final scan thread functions executed by the server scan program are the same with only the parameters used being different. Referring to FIG. 2D, the server receives an event (block 76) in the form of a communication from the peripheral after commencing execution of a scan job. This may be an error, in which an error recovery algorithm is executed (block 76) and the final scan thread finishes (block 80). A preferred error recovery technique is disclosed in commonly owned co-pending application to Scoville et al. filed concurrently herewith and entitled Network Scan Server Ready State Recovery Method. That application is incorporated by reference herein. If data is received, the server checks (block 82) to see if the client scan job request has disabled the gamma correction which is preferably performed by default through the server scan program as data is received and sent on to the client. It is preferred that the server 10 gamma correct the color scan data before sending the data to the client 12. Thus, absent its disablement, gamma correction (block 84) is utilized to improve scanned image quality, the corrected images being necessary due to a nonlinear perception of the human eye. While a pixel value can have a value of 0 to 255 for example, where 0 is black and 255 is white, and the values in between contain a varying intensity. Thus, a nongamma corrected image will appear too dark to the human eye. Gamma correction modifies the intensity of pixels displayed by changing the value of the pixel returned by the scanner according to the following function:
Where x is a voltage (0<X<1).
GAMMA=1 for a nongamma corrected image and the intensity of the pixel displayed is the voltage used to display the pixel. It has been found that a GAMMA value of approximately 2.2 gives the viewer the best image. The server 10 uses a preferred table lookup, shown in FIG. 6, to mimic the voltage changes for GAMMA=2.2 and change each pixel value returned by the scanner, but other methods of making the voltage changes are contemplated. Hence, a value 0 is mapped to 0, 1 is mapped to 6, 2 is mapped to 12, etc.
The server also determines if the peripheral uses an MFPDTF format (block 86), and if it does the scan program in the server further strips MFPDTF header information so that it may build the TIFF format as discussed above, and send gamma corrected, TIFF format image data to the client 12. MFPDTF contains scan information such as the start of a page and an end of the page, followed by actual scan data. The stripping is also conducted to enable other formats which may be requested by a client and constructed by the server scan program as it passes image data on to the client. If a page has not been completed (block 90), the server scan program continues receiving data from the peripheral, performing the aforementioned steps, and sending it to the client 12. If the page had ended, and the peripheral has a document feeder, the server 10 checks for more sheets in the automatic document feeder (ADF) (block 92). The server 10 closes the scan connection to the client 12 and sets the MIB to idle, allowing use of the peripheral by other clients. This completes the final scan thread (block 80). If there is an additional sheet in an ADF capable peripheral being used by the scan job, then the MIB is set to a new page (step 96), a new client server connection is established, the server 10 has a new page loaded or the peripheral handles the page loading (some peripherals, like those using MFPDTF will automatically load the new page)(block 98), and the data transfer from the server to the peripheral continues (block 76). As shown in FIG. 7, after the scan operation is completed for a preview, the preview image is displayed with the web Scan user interface by the client scan applet. Final scan data is stored, and may be displayed with a suitable application.
In transferring data to the client during the final scan thread, the server 10 returns the TIFF header to the web browser, and the web browser prompts the user to either save the TIFF image to a file or open the TIFF image. The server 10 returns a content length of the scanned image plus one byte to the web browser which the web browser can use in conjunction with actual scan data received to update its status bar. The extra byte permits the server 10 to control close of a scan channel to the peripheral.
Also, the server 10 pads or truncates the scanned image data as required. For sheet feed scanners, it is impossible to know in advance the size of a piece of paper being inserted into the scanner. Additionally, a mechanism that pulls the paper through is mechanical, thus the paper may be shifted in the scanner which causes fluctuations in the amount of data that the scanner returns. However, the amount of data, measured in bytes, which the server 10 expects the scanner to return is known since the user was prompted to supply a page size as a scan parameter. The page size parameter is located in an image file directory (IFD) located after the TIFF header. If the number of bytes received by the server 10 is less than expected, then the scanned image is padded by generating white image data to an end of the existing data. Conversely, if the scanner sends more bytes than expected, the extraneous data is disregarded. In both cases, the server 10 sends the correct amount of data over the network.
If multiple users connect to the server 10, to prevent pages of a multi-page job of one user from mixing with scanning images of a job of another user, the scan applet assigns a random scan identification number, for example 1 to 1000, before initiating each scan. The scan applet maintains the scan identification number for the life of the scan session. The scan identification number is passed as a scan parameter to the server 10 for each scan command. Between multi-page scan pages, the server 10 will only accept connections from the user with the same scan identification.
From the foregoing description, it should be understood that an improved server 10 has been shown and described which has many desirable attributes and advantages. The present invention provides an interactive client-server network scan capability available to any client having browser with the requisite general purpose software program capability, such as a Java Virtual Machine that is a common feature of many web browsers. The interactive nature of the client-server scan provides for enhanced features through the client interface without the requirement for installation of special purpose client scan server software on the client machine. Status updates provided from server to client, preview capabilities, progress updates, image portion selection, and contention resolution are preferred features enabled through the interactive scan control and display interface provided by the invention.
While various embodiments of the present invention have been shown and described, it should be understood that other modifications, substitutions and alternatives are apparent to one of ordinary skill in the art. Such modifications, substitutions and alternatives can be made without departing from the spirit and scope of the invention, which should be determined from the appended claims.
Various features of the invention are set forth in the appended claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5913088 *||Sep 6, 1996||Jun 15, 1999||Eastman Kodak Company||Photographic system capable of creating and utilizing applets on photographic film|
|US5933580 *||Sep 2, 1992||Aug 3, 1999||Canon Kabushiki Kaisha||Scanner printer server|
|US5946458 *||Mar 24, 1997||Aug 31, 1999||Xerox Corporation||Network printing system for responding to remote print-related requests|
|US6020973 *||Apr 15, 1997||Feb 1, 2000||Xerox Corporation||Centralized print server for interfacing one or more network clients with a plurality of printing devices|
|US6101555 *||Jan 12, 1998||Aug 8, 2000||Adaptec, Inc.||Methods and apparatus for communicating between networked peripheral devices|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US6536037 *||May 27, 1999||Mar 18, 2003||Accenture Llp||Identification of redundancies and omissions among components of a web based architecture|
|US6553414 *||Sep 30, 1999||Apr 22, 2003||Canon Kabushiki Kaisha||System used in plural information processing devices for commonly using peripheral device in network|
|US6581098 *||Sep 27, 1999||Jun 17, 2003||Hewlett-Packard Development Company, L.P.||Server providing access to a plurality of functions of a multifunction peripheral in a network|
|US6615290 *||Jan 7, 2000||Sep 2, 2003||Umax Data Systems, Inc.||End-of-scan reporting system|
|US6622919 *||Nov 24, 1997||Sep 23, 2003||Metrologic Instruments, Inc.||System and method for accessing internet-based information resources by scanning Java-Applet encoded bar code symbols|
|US6629134 *||Sep 16, 1999||Sep 30, 2003||Xerox Corporation||Context sensitive web-based user support|
|US6636891 *||Nov 6, 1998||Oct 21, 2003||Seiko Epson Corporation||Methods and apparatus for controlling an input or output device over the internet|
|US6674901 *||Apr 21, 1999||Jan 6, 2004||Hewlett-Packard Development Company, L.P.||Document analysis system and method|
|US6678863 *||Aug 25, 1999||Jan 13, 2004||Canon Kabushiki Kaisha||Communication system, information processing apparatus, output apparatus, control method, and memory medium|
|US6691918 *||Sep 1, 2000||Feb 17, 2004||Kabushiki Kaisha Toshiba||Image reading system for reading image based on various parameters|
|US6747754 *||Dec 10, 1999||Jun 8, 2004||Panasonic Communications Co., Ltd.||Image processing apparatus and its status information notifying method|
|US6798997||Sep 14, 2000||Sep 28, 2004||Xerox Corporation||Supply ordering apparatus|
|US6799212||Jan 19, 2000||Sep 28, 2004||Panasonic Communications Co., Ltd.||Communication apparatus and method for reception notifying using the arrival notification and the end notification transmitted by the applet embedded in the html file|
|US6839755 *||Sep 30, 1998||Jan 4, 2005||Hewlett-Packard Development Company, L.P.||Network peripheral server discovery method|
|US6842777 *||Oct 3, 2000||Jan 11, 2005||Raja Singh Tuli||Methods and apparatuses for simultaneous access by multiple remote devices|
|US6889252 *||Oct 22, 2001||May 3, 2005||Jetcaps International Business Strategy Sas||Method and system for using a selected peripheral of a network using a server as a re-router|
|US6950869 *||Jan 16, 2001||Sep 27, 2005||Canon Kabushiki Kaisha||Information processing apparatus, method and memory medium therefor|
|US6985877||Sep 14, 2000||Jan 10, 2006||Xerox Corporation||Method for supply ordering|
|US7012234||Dec 13, 2002||Mar 14, 2006||Hewlett-Packard Development Company, L.P.||Apparatus and method for capturing oversize images for imaging devices|
|US7013092||Dec 15, 2003||Mar 14, 2006||Xerox Corporation||Supply ordering apparatus|
|US7035947||Sep 8, 2003||Apr 25, 2006||Canon Kabushiki Kaisha||Communication system, information processing apparatus, output apparatus, control method, and memory medium|
|US7069314 *||Jun 7, 2000||Jun 27, 2006||Fuji Photo Film Co., Ltd.||Method of performing a process and client server system|
|US7110152 *||Aug 31, 2001||Sep 19, 2006||Hewlett-Packard Development Company, L.P.||Virtual scanning from a scanned image preview|
|US7200647 *||Dec 2, 2002||Apr 3, 2007||Kyocera Mita Corporation||Communication device, function settable terminal device, function setting method and program for setting the function|
|US7206804 *||Nov 10, 2000||Apr 17, 2007||Sharp Laboratories Of America, Inc.||Methods and systems for transmitting digital images|
|US7254629 *||Jan 14, 1999||Aug 7, 2007||Brother Kogyo Kabushiki Kaisha||Network system, terminal and recording medium|
|US7383328 *||Jan 29, 2002||Jun 3, 2008||Panasonic Communications Co., Ltd.||Terminal apparatus, network system and communication method including opening of received document file|
|US7418506 *||Nov 12, 1999||Aug 26, 2008||International Business Machines Corporation||Apparatus for connection management and the method therefor|
|US7443548 *||Jan 31, 2003||Oct 28, 2008||Xerox Corporation||Systems and methods for creating a single electronic scanned job from multiple scanned documents|
|US7457008 *||Oct 5, 2000||Nov 25, 2008||Hewlett-Packard Development Company, L.P.||Adaptive scan driver and scan peripheral|
|US7505620 *||Apr 12, 2005||Mar 17, 2009||Sick Ag||Method for the monitoring of a monitored zone|
|US7515315 *||Oct 23, 2003||Apr 7, 2009||Sharp Laboratories Of America, Inc.||Scan description language|
|US7571355 *||Oct 10, 2003||Aug 4, 2009||Microsoft Corporation||Product support connected error reporting|
|US7644119 *||Feb 4, 2000||Jan 5, 2010||Canon Kabushiki Kaisha||Computer network scanning|
|US7720073||Dec 6, 2005||May 18, 2010||Shabbir Khan||System and/or method for bidding|
|US7779120||Aug 1, 2007||Aug 17, 2010||Brother Kogyo Kabushiki Kaisha||Network system, terminal and recording medium|
|US7839415||Mar 3, 2008||Nov 23, 2010||Verisign, Inc.||Method and system for improved internet color|
|US7843586||Sep 28, 2006||Nov 30, 2010||Sharp Laboratories Of America, Inc.||Systems and methods for facilitating direct scanning to network destinations by clients|
|US7894447||Dec 6, 2005||Feb 22, 2011||Lippershy Celestial Llc||Digital object routing|
|US7899902 *||Oct 15, 2004||Mar 1, 2011||Canon Kabushiki Kaisha||Distributed system control method and information processing apparatus|
|US7979055 *||Dec 5, 2001||Jul 12, 2011||Ntt Docomo, Inc.||Apparatus and method for providing contents|
|US7996490||Mar 18, 2009||Aug 9, 2011||Ricoh Company, Ltd.||System and method for changing a functionality of an image processing device based on a file corresponding to a network application|
|US8014389||Dec 6, 2005||Sep 6, 2011||Lippershy Celestial Llc||Bidding network|
|US8055897||Dec 6, 2005||Nov 8, 2011||Lippershy Celestial Llc||Digital object title and transmission information|
|US8069409 *||Sep 6, 2007||Nov 29, 2011||Sharp Laboratories Of America, Inc.||Customized remote access to imaging node front panels|
|US8194701||Dec 6, 2005||Jun 5, 2012||Lippershy Celestial Llc||System and/or method for downstream bidding|
|US8223356 *||Nov 16, 2004||Jul 17, 2012||Canon Kabushiki Kaisha||Printing service ordering system and ordering method|
|US8345060||Nov 22, 2010||Jan 1, 2013||Verisign, Inc.||Method and system for improved internet color|
|US8386634 *||Feb 5, 2004||Feb 26, 2013||Brother Kogyo Kabushiki Kaisha||Communication system with removable operation member providing internet access|
|US8416478 *||May 13, 2004||Apr 9, 2013||Canon Kabushiki Kaisha||Image reading and transmitting apparatus and method that generates image checking data for a read image, and computer-readable medium storing a computer program therefor|
|US8463878 *||Apr 10, 2001||Jun 11, 2013||Transpacific Optics Llc||Network server for providing scanning functionality to a computer|
|US8554905||Jul 8, 2010||Oct 8, 2013||Brother Kogyo Kabushiki Kaisha||Network system, terminal and recording medium|
|US8804169 *||Oct 16, 2009||Aug 12, 2014||Kyocera Document Solutions Inc.||Printing method, image forming apparatus, and web server|
|US8810839 *||May 25, 2012||Aug 19, 2014||Canon Kabushiki Kaisha||Information processing apparatus for transferring image data, server apparatus for receiving transferred image data, and control methods and storage media therefor|
|US8965953 *||Oct 15, 2009||Feb 24, 2015||Canon Kabushiki Kaisha||Computer network scanning|
|US8994973||Aug 1, 2013||Mar 31, 2015||Samsung Electronics Co., Ltd.||User terminal apparatus and method of controlling thereof|
|US9035958 *||Mar 11, 2010||May 19, 2015||Canon Kabushiki Kaisha||Electronic document delivery|
|US9113006||Mar 10, 2014||Aug 18, 2015||Brother Kogyo Kabushiki Kaisha||System, information processing apparatus and non-transitory computer readable medium|
|US9143633 *||Jun 9, 2011||Sep 22, 2015||Lexmark International Technology S.A.||Browser-based scanning utility|
|US9160878 *||May 31, 2012||Oct 13, 2015||Canon Kabushiki Kaisha||Server apparatus that enables easy use of image input apparatus, information processing apparatus, methods of controlling the apparatuses, control program, and storage medium|
|US9204004 *||May 3, 2012||Dec 1, 2015||Samsung Electronics Co.,Ltd.||User terminal device for performing scan job, and server device scan system including the same and methods thereof|
|US9258387 *||Apr 18, 2014||Feb 9, 2016||Raytheon Company||System for scan organizing, managing and running enterprise-wide scans by selectively enabling and disabling scan objects created by agents|
|US9270858||Mar 10, 2014||Feb 23, 2016||Brother Kogyo Kabushiki Kaisha||System, information processing apparatus and non-transitory computer readable medium|
|US9338314||Jul 15, 2013||May 10, 2016||Samsung Electronics Co., Ltd.||User terminal apparatus and method of control thereof|
|US9357013 *||Jul 26, 2002||May 31, 2016||International Business Machines Corporation||Client-side script to application communication system|
|US9398074 *||Feb 2, 2012||Jul 19, 2016||Seiko Epson Corporation||Network system, device server, and network system control method|
|US9686183||Dec 6, 2005||Jun 20, 2017||Zarbaña Digital Fund Llc||Digital object routing based on a service request|
|US20010009018 *||Jan 16, 2001||Jul 19, 2001||Toshiaki Iizuka||Information processing apparatus, method and memory medium therefor|
|US20020105681 *||Jan 29, 2002||Aug 8, 2002||Matsushita Graphic Communication System, Inc.||Network scanner and file transmitting/receiving system, and user terminal apparatus and file transmitting/receiving method|
|US20020126135 *||May 7, 2002||Sep 12, 2002||Keith Ball||Image sharing for instant messaging|
|US20020147798 *||Apr 10, 2001||Oct 10, 2002||Hsi-Hsun Huang||Network server for providing scanning functionality to a computer|
|US20030014529 *||Jul 12, 2001||Jan 16, 2003||Simpson Shell Sterling||Mediated access to production device options in a distributed environment|
|US20030043399 *||Aug 31, 2001||Mar 6, 2003||Johnston Kairi Ann||Virtual scanning from a scanned image preview|
|US20030050967 *||Sep 11, 2001||Mar 13, 2003||Bentley William F.||Apparatus and method for optimal selection of IP modules for design integration|
|US20030078998 *||Oct 22, 2001||Apr 24, 2003||Lacome D'estalenx Jean-Francois||Method and system for using a selected peripheral of a network|
|US20030105842 *||Dec 2, 2002||Jun 5, 2003||Kiyoshi Hori||Communication device, function settable terminal device, function setting method and program for setting the function|
|US20030126329 *||Dec 27, 2002||Jul 3, 2003||Lg Electronics Inc.||Apparatus and method for controlling a service control unit of a multi-service system|
|US20030140104 *||Dec 5, 2001||Jul 24, 2003||Yuko Watanabe||Apparatus and method for providing contents|
|US20030154258 *||Feb 26, 2003||Aug 14, 2003||Atsushi Kakimoto||System used in plural information processing devices for commonly using peripheral device in network|
|US20040019626 *||Jul 26, 2002||Jan 29, 2004||International Business Machines Corporation||Client-side script to application communication system|
|US20040024811 *||Sep 16, 2002||Feb 5, 2004||Hiroshi Kitada||System, computer program product and method for scanning and managing documents|
|US20040049719 *||Sep 8, 2003||Mar 11, 2004||Canon Kabushiki Kaisha||Communication system, information processing apparatus, output apparatus, control method, and memory medium|
|US20040113045 *||Dec 13, 2002||Jun 17, 2004||Tecu Kirk S.||Apparatus and method for capturing oversize images for imaging devices|
|US20040150854 *||Jan 31, 2003||Aug 5, 2004||Sprague Mary Ann||Systems and methods for creating a single electronic scanned job from multiple scanned documents|
|US20040205226 *||Feb 5, 2004||Oct 14, 2004||Brother Kogyo Kabushiki Kaisha||Communication system|
|US20040252338 *||May 13, 2004||Dec 16, 2004||Canon Kabushiki Kaisha||Image reading and transmitting apparatus, image checking data generating method, and program for implementing the method|
|US20050043916 *||Jul 16, 2004||Feb 24, 2005||Hon Hai Precision Industry Co., Ltd.||Point cloud data importing system and method|
|US20050050182 *||Aug 26, 2003||Mar 3, 2005||Xerox Corporation||Peripheral device diagnostic method and architecture|
|US20050074246 *||Dec 15, 2003||Apr 7, 2005||Xerox Corporation||Supply ordering apparatus|
|US20050078336 *||Oct 23, 2003||Apr 14, 2005||Sharp Laboratories Of America, Inc.||Scan description language|
|US20050081108 *||Oct 10, 2003||Apr 14, 2005||Microsoft Corporation||Product support connected error reporting|
|US20050108353 *||Nov 16, 2004||May 19, 2005||Canon Kabushiki Kaisha||Image processing device and control method of image processing device|
|US20050117719 *||Oct 15, 2004||Jun 2, 2005||Canon Kabushiki Kaisha||Distributed system control method and information processing apparatus|
|US20050122540 *||Nov 16, 2004||Jun 9, 2005||Canon Kabushiki Kaisha||Printing service ordering system and ordering method|
|US20050193340 *||Mar 1, 2004||Sep 1, 2005||Amburgey James T.||Apparatus and method regarding dynamic icons on a graphical user interface|
|US20050232465 *||Apr 12, 2005||Oct 20, 2005||Sick Ag||Method for the monitoring of a monitored zone|
|US20060146361 *||Dec 30, 2004||Jul 6, 2006||Lexmark International, Inc.||Network scanning from a scanning device|
|US20060184644 *||Apr 17, 2006||Aug 17, 2006||Hiroshi Kitada||System, computer program product and method for scanning and managing documents|
|US20060230286 *||Mar 30, 2005||Oct 12, 2006||Hiroshi Kitada||System and method for authenticating a user of an image processing system|
|US20060268362 *||May 26, 2005||Nov 30, 2006||Lexmark International, Inc.||Methods and apparatuses for executing custom scan jobs|
|US20070046990 *||Aug 29, 2006||Mar 1, 2007||Hsi-Hsun Huang||Network server for providing scanning functionality to a computer|
|US20070127372 *||Dec 6, 2005||Jun 7, 2007||Shabbir Khan||Digital object routing|
|US20070130046 *||Dec 6, 2005||Jun 7, 2007||Shabbir Khan||Quality of service for transmission of digital content|
|US20070133553 *||Dec 6, 2005||Jun 14, 2007||Shabbir Kahn||System and/or method for downstream bidding|
|US20070133570 *||Dec 6, 2005||Jun 14, 2007||Shabbir Khan||System and/or method for bidding|
|US20070133571 *||Dec 6, 2005||Jun 14, 2007||Shabbir Kahn||Bidding network|
|US20070136209 *||Dec 6, 2005||Jun 14, 2007||Shabbir Khan||Digital object title authentication|
|US20070271356 *||Sep 25, 2006||Nov 22, 2007||Etrovision Technology||Web-based equipment firmware control system and method therefor|
|US20070283019 *||Aug 1, 2007||Dec 6, 2007||Brother Kogyo Kabushiki Kaisha||Network system, terminal and recording medium|
|US20070291773 *||Dec 6, 2005||Dec 20, 2007||Shabbir Khan||Digital object routing based on a service request|
|US20080079985 *||Sep 28, 2006||Apr 3, 2008||Sharp Laboratories Of America, Inc.||Systems and methods for facilitating direct scanning to network destinations by clients|
|US20080126591 *||Nov 13, 2007||May 29, 2008||Kwang Hun Kwon||Media sink device, media source device and method of controlling the same|
|US20080208967 *||Mar 3, 2008||Aug 28, 2008||Hilliard William J||Method and System for Improved Internet Color|
|US20090066710 *||Sep 6, 2007||Mar 12, 2009||Rabindra Pathak||Customized remote access to imaging node front panels|
|US20090222534 *||Mar 18, 2009||Sep 3, 2009||Hiroshi Kitada||System and method for managing documents with multiple network applications|
|US20100005136 *||Jul 7, 2008||Jan 7, 2010||Andrew Rodney Ferlitsch||Method and system for follow-me scanning|
|US20100033763 *||Oct 15, 2009||Feb 11, 2010||Canon Kabushiki Kaisha||Computer network scanning|
|US20100195143 *||Oct 16, 2009||Aug 5, 2010||Kyocera Mita Corporation||Printing method, image forming apparatus, and web server|
|US20100245929 *||Mar 11, 2010||Sep 30, 2010||Canon Kabushiki Kaisha||Electronic document delivery|
|US20100290086 *||Jul 8, 2010||Nov 18, 2010||Brother Kogyo Kabushiki Kaisha||Network System, Terminal and Recording Medium|
|US20100299621 *||May 20, 2009||Nov 25, 2010||Making Everlasting Memories, L.L.C.||System and Method for Extracting a Plurality of Images from a Single Scan|
|US20120086989 *||Jun 9, 2011||Apr 12, 2012||John Collins||Browser-based scanning utility|
|US20120307277 *||May 25, 2012||Dec 6, 2012||Canon Kabushiki Kaisha||Information processing apparatus for transferring image data, server apparatus for receiving transferred image data, and control methods and storage media therefor|
|US20120307306 *||May 31, 2012||Dec 6, 2012||Canon Kabushiki Kaisha||Server apparatus that enables easy use of image input apparatus, information processing apparatus, methods of controlling the apparatuses, control program, and storage medium|
|US20120311452 *||May 23, 2012||Dec 6, 2012||Canon Kabushiki Kaisha||Server apparatus that makes it possible to effectively utilize driver function, information processing apparatus, method of controlling the apparatuses, and storage medium|
|US20130094042 *||May 3, 2012||Apr 18, 2013||Samsung Electronics Co., Ltd.||User terminal device for performing scan job, and server device scan system including the same and methods thereof|
|US20130188212 *||Jan 23, 2012||Jul 25, 2013||Salil Pardhan||Data Server, Network System, and Upload Method|
|US20130332520 *||Feb 2, 2012||Dec 12, 2013||Seiko Epson Corporation||Network System, Device Server, And Network System Control Method|
|US20140229522 *||Apr 18, 2014||Aug 14, 2014||Raytheon Company||System for organizing, managing and running enterprise-wide scans|
|US20140320932 *||Jan 29, 2014||Oct 30, 2014||Making Everlasting Memories, L.L.C.||System and Method for Extracting a Plurality of Images from a Single Scan|
|US20170134602 *||Jan 24, 2017||May 11, 2017||Seiko Epson Corporation||Network System, Device Server, And Network System Control Method|
|USRE40306 *||Sep 2, 2005||May 6, 2008||Transpacific Ip, Ltd||End-of-scan reporting system|
|USRE42528||Oct 3, 2007||Jul 5, 2011||Transpacific Systems, Llc||End-of-scan reporting system|
|CN1303779C *||Jul 14, 2004||Mar 7, 2007||三星电子株式会社||Network scanning method and apparatus, and packet format therefor|
|CN1332322C *||Sep 26, 2003||Aug 15, 2007||绍兴电力局||Interface integration method of two-layer and three-layer mixed mode|
|CN102811298A *||Jun 1, 2012||Dec 5, 2012||佳能株式会社||Information processing apparatus and control method thereof, and server apparatus and control method thereof|
|CN102811298B *||Jun 1, 2012||Sep 2, 2015||佳能株式会社||信息处理设备及其控制方法|
|CN104412244A *||Dec 26, 2013||Mar 11, 2015||精工爱普生株式会社||Evice control system, printer, and method for controlling device control system|
|CN104583984A *||Dec 26, 2013||Apr 29, 2015||精工爱普生株式会社||Device control system, printer, and method for controlling device control system|
|CN105120125A *||Feb 2, 2012||Dec 2, 2015||精工爱普生株式会社||客户终端及其控制方法|
|EP1089518A2 *||Sep 22, 2000||Apr 4, 2001||Hewlett-Packard Company||Decompressing data|
|EP1089518A3 *||Sep 22, 2000||Aug 28, 2002||Hewlett-Packard Company, A Delaware Corporation||Decompressing data|
|WO2003023599A1 *||Jul 8, 2002||Mar 20, 2003||Bentley William F||Apparatus and method for optimal selection of ip modules for design integration|
|WO2014065581A1 *||Oct 23, 2013||May 1, 2014||Samsung Electronics Co., Ltd.||User terminal apparatus and method of controlling thereof|
|U.S. Classification||709/203, 709/217|
|International Classification||H04N1/00, G06F3/048, H04L29/06, H04L29/08, G06F13/00|
|Cooperative Classification||H04L67/42, H04L67/16, H04L67/02, H04L69/329, H04N2201/0034, H04N2201/0075, H04L29/06, H04N1/00973, H04N1/00241, H04N1/00204|
|European Classification||H04N1/00C3H3, H04N1/00W4, H04L29/08N1, H04L29/06, H04N1/00C3, H04L29/08N15|
|Nov 9, 1998||AS||Assignment|
Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KUMPF, DAVID A.;MCANANEY, DAVID W.;PEARSON, DANIEL R.;REEL/FRAME:009571/0366
Effective date: 19981028
|Mar 11, 2005||FPAY||Fee payment|
Year of fee payment: 4
|Mar 11, 2009||FPAY||Fee payment|
Year of fee payment: 8
|Sep 22, 2011||AS||Assignment|
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS
Effective date: 20030131
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:026945/0699
|Apr 19, 2013||REMI||Maintenance fee reminder mailed|
|Sep 11, 2013||LAPS||Lapse for failure to pay maintenance fees|
|Oct 29, 2013||FP||Expired due to failure to pay maintenance fee|
Effective date: 20130911