In order to facilitate networked communication, for example, most personal computers come equipped with an internal modem or have the ability to connect with an external modem. The type of modem used depends, for example, upon the transmission media for the network. For example, the modem may be for telephone line, cable or digital subscriber line (DSL) connection.
In order to reduce the amount of circuitry necessary to implement a modem, software modems can be used. Software modems replace some of the circuitry on a modem with software programs and drivers that perform a similar function. This can result in a cost saving on the price of a modem, since software modems remove some of the components from the actual modem itself. One big drawback with this design is that the main system processor of the computer system is forced to perform tasks that were formerly done with dedicated hardware on the modem. This can cause a slowdown of operation of the computer system since the software modem requires central processing unit (CPU) cycles to perform its work.
Another drawback of software modems is that software compatibility is not necessary uniform across operating systems. For example, a WinModem based software modem can be used on a Windows based computer system, but is not currently compatible with the Macintosh operating system or the Linux operating system.
In accordance with an embodiment of the present invention, a printer includes print circuitry, an input/output interface, a modem interface and a controller. The input/output interface provides connection to a computer. The modem interface allows the printer to connect to the internet. The controller handles computing overhead when the computer connects to the internet through the modem interface.
Operation of printer 11 is controlled by a controller 21. Controller 29 is also used to control fax/modem interface 29. Firmware 20 contains program code for controller 21. A user can interface with controller 21 through a user interface panel 22. Print data is buffered by a data buffer 24 before being printed by print circuitry 23. For example, print circuitry 23 includes all the circuitry and mechanics necessary to print documents using laser printing technology, inkjet technology or another printing technology. A display 26 informs a user of print progress, provides error messages and so on. For example, display 26 is implemented as a liquid crystal display (LCD) or is implemented as a light emitting device (LED) display.
A document feeder/scanner 28 is used to scan in a document 38, for example, to perform a fax of the document or to provide user PC 12 with a scanned image of document 13. When a fax is being performed, scanned in data is stored in a data buffer 25 before being transferred to fax/modem interface 29 for transmission to telephone/cable jack 14.
In a block 34, controller 21 sends commands to fax/modem interface 29 instructing fax/modem interface 29 to connect to the internet. In a block 35, fax/modem interface 29 establishes a connection to the internet through telephone/cable jack 14. For example, to establish the connection, fax/modem interface 29 operates as a telephone line modem, a DSL modem or a cable modem, depending upon the transmission medium available to make the internet connection.
Once the connection is established, fax/modem interface 29 responds to controller 21 with a connection successful response. In a block 36, controller 21 relays the connection successful response to I/O interface 27. In a block 37, I/O interface 27 sends the connection successful response to user PC 12. In a block 38, the connection is successfully established.
Once an internet connection is achieved, the user on user PC 12 communicates on the internet through the datapath established through printer 11. The user, thus, is able to communicate on the internet using fax/modem interface 29. CPU overhead for the connection is borne primarily by controller 21 and not by user PC 12. This can be a significant performance improvement over computer systems that use a software modem to communicate over the internet.
In one embodiment of the present application, user interface panel 22 provides for alphanumeric input. This allows a user using user interface panel 22 to directly instruct controller 21 to establish an internet connection. In this case controller 21 displays information from the internet on display 26. This allows for simplified browsing of the internet to perform simple tasks, such as to print out information from the internet directly using printer circuitry 23. This is useful for tasks such as quickly obtaining a map or directions to a particular location without the necessity of booting up user PC 12.
The foregoing discussion discloses and describes merely exemplary methods and embodiments of the present invention. As will be understood by those familiar with the art, the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.