Method and system for communicating with a device attached to a computer using electronic mail messages

A method, system, and computer program product for communicating with machines connected to a network. Information sent to or from the machines is transmitted using electronic mail. The electronic mail may be transmitted over the Internet, but also may remain within a local or wide area network. When receiving electronic mail, the electronic mail message may be sent to a user who reads information regarding the purpose of the electronic mail message in the body of the message. When the user is satisfied that it is safe to perform the functions requested by the email, the user may execute a file which is attached to the incoming email message in order to perform the appropriate diagnostic or control operations. Alternatively, the incoming email message may contain a code or is sent to an address which causes automatic execution of the desired functions. In this embodiment, it may not be necessary for the user to manually perform any action in order to allow the appropriate processing to begin. Email messages may also be transmitted from the computer which is attached to the device which is being monitored or controlled and include information regarding the status or capabilities of the attached device.

CROSS-REFERENCES TO RELATED APPLICATIONS

The present application is related to U.S. patent application Ser. No. 08/883,492 filed Jun. 26, 1997 entitled “Method and System for Diagnosis and Control of Machines Using Connectionless Modes Having Delivery Monitoring and an Alternate Communication Mode,” U.S. patent application Ser. No. 08/820,633 filed Mar. 19, 1997 entitled “Method and System to Diagnose a Business Office Device Based on Operating Parameters Set by a User,” U.S. patent application Ser. No. 08/733,134 filed Oct. 16, 1996 entitled “Method and System for Diagnosis and Control of Machines Using Connectionless Modes of Communication,” U.S. patent application Ser. No. 08/624,228 filed Mar. 29, 1996, now U.S. Pat. No. 5,818,603, entitled “Method and System for Controlling and Communicating with Machines Using Multiple Communication Formats,” U.S. patent application Ser. Nos. 08/738,659 and 08/738,461, both of which are entitled “Method and System for Diagnosis and Control of Machines Using Connection and Connectionless Modes of Communication,” filed Oct. 30, 1996, and are divisions of U.S. patent application Ser. No. 08/463,002 filed Jun. 5, 1995, entitled “Method and System for Diagnosis and Control of Machines Using Connection and Connectionless Modes of Communication”, now U.S. Pat. No. 5,819,110, and U.S. patent application Ser. No. 08/852,413 filed May 7, 1987, entitled “Method and System for Controlling and Communicating with Business Office Devices,” now U.S. Pat. No. 5,774,678, which is a continuation of U.S. patent application Ser. No. 08/698,068 filed Aug. 15, 1996, entitled “Method and Apparatus for Controlling and Communicating With Business Office Devices”, now U.S. Pat. No. 5,649,120 which is a continuation of U.S. patent application Ser. No. 08/562,192 filed Nov. 22, 1995, which is a continuation of U.S. patent application Ser. No. 08/473,780 filed Jun. 6, 1995, entitled “Method and Apparatus for Controlling and Communicating With Business Office Devices”, now U.S. Pat. No. 5,544,289, which is a continuation of U.S. patent application Ser. No. 08/426,679 filed Apr. 24, 1995, now U.S. Pat. No. 5,537,554, entitled “Method and Apparatus for Controlling and Communicating With Business Office Devices” which is a continuation of U.S. patent application Ser. No. 08/282,168 filed Jul. 28, 1994 and entitled “Method and Apparatus for Controlling and Communicating With Business Office Devices”, now U.S. Pat. No. 5,412,779, which is a continuation of U.S. patent application Ser. No. 07/902,462 filed Jun. 19, 1992, now abandoned, which is a continuation of U.S. patent application Ser. No. 07/549,278, filed Jul. 6, 1990, now abandoned, the disclosure of each is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention generally relates to the use of electronic mail messages for communicating information to and from a device connected to a computer. The invention is more particularly related to the processing performed within the computer in order to forward the appropriate information to or from the device. The invention is further related to a method and system for receiving an electronic mail message by the computer and determining if the electronic mail message contains information which is designated for the attached device. Still further, the invention is related to the transmission of information originating from a device attached to a computer using electronic mail as a transmission device.

2. Discussion of the Background

Electronic mail (“email”) has become very popular for communicating information between people and provides the benefits of being inexpensive and convenient to a user. Extensive information and protocols are available explaining how email including Internet email operates and many commercially available programs are available to implement email functions.

While there exists many commercially available programs specifically designed to communicate electronic mail messages between humans, there are no known commercially available email programs for communicating information which originates from or is intended to be delivered to control a machine.

SUMMARY OF THE INVENTION

Accordingly, it is an object of this invention to provide a method, system, and computer program product for implementing communication using electronic mail messages.

It is another object of this invention to provide a method, system, and computer program product in which a message is received from, processed by, and transmitted to a device connected to the computer which receives the electronic mail message.

It is yet another object of the invention to provide a method, system, and computer program product which transmits information originating from a device through a computer.

These and other objects are accomplished by a method, system, and computer program product in which an electronic mail message is received by a computer. When it is determined that the electronic mail message contains information for a device associated with the computer, a communication is transmitted from the computer to the device. In an embodiment of the invention, a person may read the email to determine that the email is for the attached device. The user may then manually perform an action which causes information to be transmitted from the computer to the device. Such an action by a user may include executing a file attached to an electronic mail message which causes a device driver to transmit the appropriate information to the attached device. The device may be any type of device including a business office device, a digital camera, or any other electronic device which is desired to be remotely monitored and/or controlled including equipment for remotely monitoring and controlling utility meters.

As an alternative way of forwarding information from an email message to an attached device, the computer may automatically analyze a received email and determine that information is to be transmitted to the device, without any type of user invention. A program which monitors received email may be executing in the computer and this program may determine that the received email message is for the device by detecting a code within the message. Such a function may be implemented by monitoring the subject of the message or alternatively detecting a code which exists in the body of the message, for example.

The invention also relates to the transmission of an outgoing email message from the computer containing information from the attached device. Information from the device may be transmitted to a device driver of the computer and subsequently to a Messaging Application Programing Interface (“MAPI”) of the computer. If desired, the transmission of the electronic mail message from the device may establish a TCP (“Transmission Control Protocol”) connection between the computer which functions as a message transfer agent. As a further alternative, one or more files may be created within the computer and these files may be written to a mail spool directory of the computer. When the computer detects the existence of the file(s) in the mail spool directory, an email message is transmitted from the computer.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to the drawings, wherein like numerals designate identical or corresponding parts throughout the several views, and more particularly toFIG. 1thereof, there is illustrated a figure showing various machines and computers for monitoring, diagnosing and controlling the operation of the machines. InFIG. 1, there is a first network16, such as a Local Area Network (LAN) connected to computer workstations17,18,20and22. The workstations can be any type of computers including IBM Personal Computer compatible devices, Unix based computers, or Apple Macintoshes. Also connected to the network16are a digital copier/printer24, a facsimile machine28, and a printer32. The devices24,28and32are referred to as machines or monitored devices and other types of devices may be used as the machines or monitored devices, including any of the devices discussed below. Also, a facsimile server (not illustrated) may be connected to the network16and have a telephone, ISDN (Integrated Services Digital Network), or cable connection. In addition to the digital copier/printer24, facsimile machine28, and printer32being connected to the network16, these devices may also include conventional telephone and/or ISDN and/or cable connections26,30and34, respectively. As is explained below, the business office machines or business devices24,28and32communicate with a remote monitoring, diagnosis and control station, also referred to as a monitoring device, through the Internet via the network16or by a direct telephone, ISDN, or cable connection.

InFIG. 1, the Internet is generally designated by10. The Internet10includes a plurality of interconnected computers and routers designated by12A-12B. The manner of communicating over the Internet is known through RFC documents obtained by FTP at NIC.DDN.MIL or at FTP NISC.SRI.COM. TCP/IP related communication is described for example in the book “TCP/IP Illustrated,” Vol. 1, The Protocols, by Stevens, from Addison-Wesley Publishing Company, 1994, which is incorporated herein by reference.

InFIG. 1, a firewall14is connected between the Internet10and the network16. A firewall is a device that allows only authorized computers to access a network or other computer via the Internet. Firewalls are known and commercially available devices and/or software and, for example, include SunScreen from Sun Microsystems Inc. Similarly, a firewall50is connected between the Internet10and a network52. Also, a firewall40is connected between the Internet10and a workstation42.

The network52is a conventional network and includes a plurality of workstations56,62,68and74. These workstations may be different departments within a company such as a marketing, manufacturing, design engineering and customer service departments. In addition to the workstations connected via the network52, there is a workstation42which is not directly connected to the network52. Information in a data base stored in a disk46may be shared using proper encryption and protocols over the Internet to the workstations connected directly to the network52. Also, the workstation42includes a direct connection to a telephone line and/or ISDN and/or cable44and the data base in disk46may be accessed through the telephone line, ISDN, or cable. The cable used by this invention may be implemented using a cable which typically is used to carry television programming, cable which provides for high speed communication of digital data typically used with computers or the like, or may be implemented using any desired type of cable.

Information of the business office machines24,28and32may be stored in one or more of the data bases stored in the disks46,54,58,64,70and76. Each of the customer service, marketing, manufacturing, and engineering departments may have their own data base or may share from one or more data bases. Each of the disks used to store data bases is a non-volatile memory such as a hard disk or optical disk. Alternatively, the data bases may be stored in any storage device including solid state and/or semiconductor memory devices. As an example, disk64contains the marketing data base, disk58contains the manufacturing data base, disk70contains the engineering data base and disk76contains the customer service data base. Alternatively, the disks54and46store one or more of the data bases.

In addition to the workstations56,62,68,74and42being connected to the Internet, these workstations may also include a connection to a telephone line, ISDN, or cable which provides a secure connection to the machine being monitored diagnosed and/or controlled and is used during a connection-mode of communication. Additionally, if one of the Internet, telephone, ISDN, or cable is not operating properly, one of the others can be automatically used for communication.

A feature of the present invention is the use of a connectionless-mode of communication (e.g., Internet email) or transmission between a machine and a computer for diagnosing and controlling the machine. Alternatively, the email which is transmitted may be implemented using a connection mode of communication. The IBM Dictionary of Computing by George McDaniel, 1994, defines a connectionless-mode transmission to be the transmission of a single unit of data from a source service access point to one or more destination service access points without establishing a connection. The IBM Dictionary also defines a connection-mode transmission to be the transmission of units of data from a source service access point to one or more destination service access points via a connection. The connection is established prior to data transfer and released following data transfer. Additional information about the connection-mode and the connectionless-mode of operation is described in the Handbook of Computer-Communications Standards, Vol. 1, 2nd Edition, by William Stallings, 1990, which is incorporated herein by reference. In order to transfer data from one DTE (Data Terminal Equipment) to another DTE, there is a unique identifier or address for each DTE. This unique identifier or address is usable in both connectionless-modes and connectionless-modes of communication.

FIG. 2illustrates the mechanical layout of the digital copier/printer24illustrated inFIG. 1. InFIG. 2,101is a fan for the scanner,102is a polygonal mirror used with a laser printer, and103designates an Fθ lens used to collimate light from a laser (not illustrated). Reference numeral104designates a sensor for detecting light from the scanner,105is a lens for focusing light from the scanner onto the sensor104, and106is a quenching lamp used to erase images on the photoconductive drum132. There is a charging corona unit107and a developing roller108. Reference numeral109designates a lamp used to illustrate a document to be scanned and110,111and112designate mirrors used to reflect light onto the sensor104. There is a drum mirror113used to reflect light to the photoconductive drum132originating from the polygon mirror102. Reference numeral114designates a fan used to cool the charging area of the digital copier/printer, and115is a first paper feed roller used for feeding paper from the first paper cassette117, and116is a manual feed table. Similarly,118is a second paper feed roller for the second cassette119. Reference numeral120designates a relay roller,121is a registration roller,122is an image density sensor and123is a transfer/separation corona unit. Reference numeral124is a cleaning unit,125is a vacuum fan,126illustrates a transport belt,127is a pressure roller, and128is an exit roller. Reference numeral129is a hot roller used to fix toner onto the paper,130is an exhaust fan and131is the main motor used to drive the digital copier.

FIG. 3illustrates a block diagram of the electronic components illustrated inFIG. 2. The CPU160is a microprocessor and acts as the system controller. There is a random access memory162to store dynamically changing information including operating parameters of the digital copier. A read only memory164stores the program code used to run the digital copier and also information describing the copier (static-state data) such as the model number, serial number of the copier, and default parameters.

There is a multi-port communication interface166which allows the digital copier to communicate with external devices. Reference numeral168represents a telephone, ISDN, or cable line and170represents a network. Further information of the multi-port communication interface is described with respect toFIG. 4. An interface controller172is used to connect an operation panel174to a system bus186. The operation panel174includes standard input and output devices found on a digital copier including a copy button, keys to control the operation of the copier such as number of copies, reducement/enlargement, darkness/lightness, etc. Additionally, a liquid crystal display may be included within the operation panel174to display parameters and messages of the digital copier to a user.

A storage interface176connects storage devices to the system bus186. The storage devices include a flash memory178which can be substituted by a conventional EEPROM and a disk182. The disk182includes a hard disk, optical disk, and/or a floppy disk drive. There is a connection180connected to the storage interface176which allows for additional memory devices to be connected to the digital copier. The flash memory178is used to store semi-static state data which describes parameters of the digital copier which infrequently change over the life of the copier. Such parameters include the options and configuration of the digital copier. An option interface184allows additional hardware such as an external interface to be connected to the digital copier. A clock/timer187is utilized to keep track of both the time and date and also to measure elapsed time.

On the left side ofFIG. 3, the various sections making up the digital copier are illustrated. Reference numeral202designates a sorter and contains sensors and actuators used to sort the output of the digital copier. There is a duplexer200which allows a duplex operation to be performed by the digital copier and includes conventional sensors and actuators. The digital copier includes a large capacity tray unit198which allows paper trays holding a large number of sheets to be used with the digital copier. The large capacity tray unit198includes conventional sensors and actuators.

A paper feed controller196is used to control the operation of feeding paper into and through the digital copier. A scanner194is used to scan images into the digital copier and includes conventional scanning elements such as a light, mirror, etc. Additionally, scanner sensors are used such as a home position sensor to determine that the scanner is in the home position and a lamp thermistor to ensure proper operation of the scanning lamp. There is a printer/imager192which prints the output of the digital copier and includes a conventional laser printing mechanism, a toner sensor, and an image density sensor. The fuser is used to fuse the toner onto the page using a high temperature roller and includes an exit sensor, a thermistor to assure that the fuser is not overheating, and an oil sensor. Additionally, there is an optional unit interface188used to connect to optional elements of the digital copier such as an automatic document feeder, a different type of sorter/collator, or other elements which can be added to the digital copier.

FIG. 4illustrates details of the multi-port communication interface166. The digital copier may communicate to external devices through a Centronics interface220which receives or transmits information to be printed, a cable modem unit221which has a high speed connection over cable, a SCSI interface222, a conventional telephone interface224which connects to a telephone line168A, an ISDN interface226which connects to an ISDN line168B, an RS-232 interface228, and a LAN interface230which connects to a LAN170. A single device which connects to both a Local Area Network and a telephone line is commercially available from Megahertz and is known as the Ethernet-Modem.

The CPU or other microprocessor or circuitry executes a monitoring process to monitor the state of each of the sensors of the digital copier, and a sequencing process is used to execute the instructions of the code used to control and operate the digital copier. Additionally, there is a central system control process executed to control the overall operation of the digital copier and a communication process used to assure reliable communication to external devices connected to the digital copier. The system control process monitors and controls data storage in a static state memory such as the ROM164ofFIG. 3, a semi-static memory such as the flash memory178or disk182, or the dynamic state data which is stored in a volatile or non-volatile memory such as the RAM162or the flash memory or disk182. Additionally, the static state data may be stored in a device other than the ROM164such as a non-volatile memory including either of the flash memory178or disk182.

The above details have been described with respect to a digital copier but the present invention is equally applicable to other business office machines or devices such as an analog copier, a facsimile machine, a scanner, a printer, a facsimile server, or other business office machines. Additionally, the present invention includes other types of machines which operate using a connection-mode or connectionless-mode of communication, and also email, such as a metering system including a gas, water, or electricity metering system, vending machines, or any other device which performs mechanical operations, such as automobiles, has a need to be monitored, and performs a function. In addition to monitoring special purpose machines, and computers, the invention can be used to monitor, control, and diagnose a general purpose computer which would be the monitored and/or controlled device.

FIG. 5illustrates an alternative system diagram of the invention in which different devices and sub-systems are connected to the Internet10. However, there is no requirement to have each of these devices or sub-systems as part of the invention but any individual component or subsystem illustrated inFIG. 5is also part of the invention. Further, the elements illustrated inFIG. 1may be connected to the Internet10which is illustrated inFIG. 5. InFIG. 5, there is illustrated a fire wall250connected to an intranet252. One of the computers or devices connected to the intranet252is a service machine254which includes therein or has connected thereto data256which may be stored in a data base format. The data256includes history, performance, malfunction, and any other information including statistical information of the operation or failure or set-up and components or optional equipment of devices which are being monitored. The service machine254may be implemented as the device or computer which requests the monitored devices to transmit data or which requests that remote control and/or diagnosis tests be performed on the monitored devices. The service machine254may be implemented as any type of device and is preferably implemented using a computerized device such as a general purpose computer.

Another sub-system ofFIG. 5includes a fire wall258, an intranet260, and a printer262connected thereto. In this sub-system, there is not a separate general purpose computer connected between the intranet260(or a different type of computer network) but the functions of sending and receiving electronic mail messages by the printer262(and similarly by a copier286) are performed by circuitry, a microprocessor, or any other type of hardware contained within or mounted to the printer262.

An alternate type of sub-system includes the use of an Internet service provider264which may be any type of Internet service provider including known commercial companies such as America Online, Netcom, CompuServe, Niftyserve, the Internet service provider Erols, or any other Internet service provider. In this sub-system, a computer266is connected to the Internet service provider264, through a modem, for example, such as a telephone line modem, a cable modem, modems which use any type of wires such as modems used over an ISDN (Integrated Services Digital Network) line, ASDL (Asymmetric Digital Subscriber Line), modems which use frame relay communication, any digital or analog modem, wireless modems such as a radio frequency modem, a fiber optic modem, or a device which uses infrared light waves. Further, a business office device268is connected to the computer266. As an alternative to the business office device268(and any other device illustrated inFIG. 5), a different type of machine may be monitored or controlled such as a digital copier, any type of appliance, security system, or utility meter such as an electrical, water, or gas utility meter, or any other device discussed herein.

Also illustrated inFIG. 5is a fire wall270connected to a network274. The network274may be implemented as any type of computer network, such an Ethernet network, for example. Networking software which may be used to control the network includes any desires networking software including software commercially available from Novell or Microsoft. The network274may be implemented as an Intranet, if desired. A computer272connected to the network274may be used to obtain information from a business office device278and generate reports such as reports showing problems which occurred in various machines connected to the network and a monthly usage report of the devices connected to the network274. In this embodiment, a computer276is connected between the business office device278and the network274. This computer receives email communications from the network and forwards the appropriate commands or data, or any other information, to the business office device278. While it has been stated that the business office device278is connected to the computer276, there is no requirement for a wired connection between the business office device and the computer and communication between the business office device278and the computer276may be accomplished using wires or wireless methods including through the use of radio frequency connections and light connections which may be through an infrared connection, or through fiber optics. Similarly, each of the various networks and intranets illustrates inFIG. 5may be established using any desired manner including through the establishment of wireless networks such as radio frequency networks. The wireless communication described herein may be established using spread spectrum techniques including techniques which use a spreading code and frequency hopping techniques such as the frequency hopping wireless network which is disclosed in the Bluetooth Specification which is described at the world wide web site www.bluetooth.com, which is incorporated herein by reference.

Another sub-system illustrated inFIG. 5includes a fire wall280, an intranet284, a computer282connected thereto, and a copier286. The computer282may be used to generate reports and request diagnostic or control procedures. These diagnostic and control procedures may be performed with respect to the copier286or any of the other devices illustrated in or used withFIG. 5. WhileFIG. 5illustrates a plurality of fire walls, the fire walls are preferable but optional equipment and therefore the invention may be operated without the use of fire walls, if desired.

FIG. 6Aillustrates a device300connected to a typical email exchange system which includes components302,304,306,308,310,312,314,316, and318which may be implemented in a conventional manner and are taken from FIG. 28.1 of Stevens, above. The device300may be any of the devices described herein and the user at a terminal302may correspond to any of the illustrated computers, such as the computer276illustrated inFIG. 5. WhileFIG. 6Aillustrates the user at a terminal302as being a sender, the sending and receiving functions may be reversed inFIG. 6A. Further, if desired, there may not be a need for having a user at the terminal. Connected to the user at a terminal302is the user agent304. Popular user agents for Unix include MH, Berkeley Mail, Elm, and Mush. The user agent creates email messages to be sent and if desired, places these messages to be sent in a queue306. The mail to be sent is forwarded to a Message Transfer Agent (MTA)308. A common MTA for Unix systems is Sendmail. Typically, the message transfer agents308and312exchange communications using a TCP (Transfer Communication Protocol) connection or a TCP/IP (Internet Protocol) connection or protocol. It is to be noted that the communication between the message transfer agents308and312may occur over the Internet, but alternatively may occur over any type of connection including any network connection such as a local area network, wide area network and/or an intranet. Further, any desired connection between the message transfer agents308and312may be utilized.

From the message transfer agents312, email messages are stored in user mailboxes314which are transferred to the user agent316and ultimately transmitted to the user at a terminal318which functions as a receiving terminal.

The TCP provides a connection-mode of transmission. However, a direct connection is usually not established between the sending terminal302and receiving terminal318. Thus, the transmission of an electronic mail message may be considered a connectionless-mode of communication when it is being referred to as between two users or terminals, but when considering the transfer between MTAs, the communication is usually a connection-mode of communication.

As the Internet is a network accessible by many people and organizations, it is not considered to be secure. Therefore, messages transmitted over the Internet should be encrypted to keep the messages confidential. Encryption mechanisms are known and commercially available which may be used with the present invention. For example, a C library function, crypto, is available from Sun Microcomputers for use with the Unix operating system, and other encryption and decryption routines are known and commercially available and may also be used with this invention.

As an alternative to the general structure ofFIG. 6A, a single computer may be used which functions as the user terminal, and also the message transfer agent. As illustrated inFIG. 6B, the device300is connected to a computer301which includes the message transfer agent308. If desired, the other components on the sending side ofFIG. 6Amay be included in the computer301ofFIG. 6Bincluding the user agent304and the queue of mail to be sent306.

FIG. 7illustrates an alternative implementation of transferring mail and is based on FIG. 28.3 of Stevens.FIG. 7illustrates an electronic mail system having a relay system at each end. The arrangement ofFIG. 7allows one system at an organization to act as a mail hub. InFIG. 7, there are four MTAs connected between the two user agents304and318. These MTAs include local MTA322, relay MTA328, relay MTA332, and local MTA340. The most common protocol used for mail messages is SMTP (Simple Mail Transfer Protocol) which may be used with this invention, although any desired mail protocol may be utilized. InFIG. 7,320designates a sending host which includes the user at a terminal302, the user agent306, and the local MTA322. The device300is connected to, or alternatively included within, the sending host320. Other local MTAs include local MTA324and326. Mail to be transmitted and received may be queued in a queue of mail330of the relay MTA328. The messages are transferred across the TCP connection310, which may be, for example, the Internet, or may be any other type of network or connection.

The transmitted messages are received by the relay MTA322and if desired, stored in a queue of mail334. The mail is then forwarded to the local MTA340of a receiving host342. The mail may be placed in one or more of the user mailboxes314and subsequently forwarded to the user agent316and finally forwarded to the user at a terminal318. If desired, the user may not be required to be at the terminal and the mail may be directly forwarded to the terminal without user interaction. Other local MTAs at the receiving side include MTA338and local MTA336which may have their own mailboxes, user agents, and terminals.

The various computers utilized by the present invention including the computers266,276, and286ofFIG. 5may be implemented as illustrated inFIG. 8. Further, any other computer utilized by this invention may be implemented in a similar manner to the computer illustrated inFIG. 8, if desired, including the service machine254, computer272, and computer282ofFIG. 5. However, not every element illustrated inFIG. 8is required in each of these computers. InFIG. 8, the computer360includes a CPU362which may be implemented as any type of processor including commercially available microprocessors from companies such as Intel, Motorola, Hitachi and NEC, for example. There is a working memory such as a RAM364, and a wireless interface366which communicates with a wireless device368. The communication between the interface366and device368may use any wireless medium such as radio waves, or light waves, for example. The radio waves may be implemented using a spread spectrum technique such as Code Division Multiple Access (CDA) communication or using a frequency hopping technique such as that disclosed in the Bluetooth specification.

There is a ROM370, and a flash memory371, although any other type of nonvolatile memory may be utilized in addition to or in place of the flash memory371such as an EPROM, or an EEPROM, for example. An input controller372has connected thereto a keyboard374and a mouse376. There is a serial interface378connected to a serial device380. Additionally, a parallel interface382is connected to a parallel device384, a universal serial bus interface386is connected to a universal serial bus device388, and also there is an IEEE 1394 device, commonly referred to as a fire wire device, connected to an IEEE 1394 interface398. The various elements of the computer360are connected by a system bus390. A disk controller396is connected to a floppy disk drive394and a hard disk drive392. A communication controller406allows the computer360to communicate with other computers, or send email messages, for example over a telephone line402, or a network404. An I/O (Input/Output) controller408is connected to a printer410and a hard disk412, for example using a SCSI (Small Computer System Interface) bus. There is also a display controller416connected to a CRT (Cathode Ray Tube)414, although any other type of display may be used including a liquid crystal display, a light emitting diode display, a plasma display, etc.

FIG. 9illustrates various objects such as software objects and modules contained within the computer306. The computer306is connected to a mail server430through which mail is sent and received. The mail server430may be located at the Internet service provider264ofFIG. 5, may be located on a network, may be owned by the company owning the computer360, or may even be located inside of the computer360, for example. An email processor432is utilized to control the transmitting and receiving of electronic mail messages. The email processor may be implemented in any desired or known manner and may be based on commercially available electronic mail programs such as Microsoft's Outlook Express, or GroupWise by Novell, although any other email program may be used, if desired. As a specific implementation, the email system may retrieve email from the server using POP3 (Post Office Protocol) and to access the email server in order to send emails using SMTP (Simple Mail Transfer Protocol), although any other protocol may be used, if desired. If the computer360utilizes an operating system such as an operating system from Unix, then the computer will usually have an IP address and a mail system built-in. Therefore, there may be no need to utilize the mail server430with such a system. A registry434contains various information of the system and may be implemented in the same or similar manner as the registry of Windows 95, Windows 98, and/or Windows NT, for example. Incoming mail information436may be utilized to store incoming mail. Additionally, if desired the incoming mail information436may be implemented to store the POP3 location, and store file information about the incoming emails. Outgoing mail information438contains information regarding SMTP and file information for outgoing mail. A device driver440, such as printer driver, scanner printer, or other driver, for example may be used to communicate with the device442which may be any type of device from which information is desired or to which information or control signals are to be sent. The device driver440is implemented to translate commands or signals from the email processor432to signals which are transmitted to the device442and vice versa. Alternatively, the email processor432may perform more of the processing functions and the device driver440may have more simple programming and few responsibilities. Further, any other implementation of the software may be utilized as long as the function of proper communication and control of the device442using email messages is performed.

A more detailed exemplary implementation of the device driver440ofFIG. 9is illustrated inFIG. 10. The device driver440includes a device function support module454which may be implemented to perform the conventional and/or desired functions of a device driver. The device driver440also includes a remote control and diagnostic module452. If desired, the remote control and diagnostic module452may be implemented to perform some or all of the control and/or diagnostic functions which are described in the related patent and patent applications and are incorporated by reference above. By implementing the control and diagnostic module452in the device driver440, the cost of the device442may be reduced and the resources and capabilities of the device442may be eliminated or reduced such as by reducing the amount of memory in the device442such as DRAM (Dynamic Random Access Memory) or flash memory, for example. This reduced cost is possible as the hardware resources of the computer360may be utilized in place of constructing additional hardware to go into the device442, if desired. Various information including log information and error information may be stored in a data base which includes device data456using any desired hardware and data or data base management software. Further, software within the device442may be reduced by increasing the functions performed by the device driver440including functions performed by the remote control and diagnostic module452and the device function support module454. These two software modules may be implemented in one software module, if desired. Additionally, the software which keeps track of the usage of the device may be removed from the device itself and included in the device driver440.

FIG. 11Aillustrates an exemplary email message utilized by the invention. InFIG. 11A, lines1-7are part of the email header. Each header field contains a name, followed by a colon, followed by the field value. RFC (Request For Comments)822specifies the format and interpretation of the header fields, which is incorporated by reference. The fields of the header illustrated inFIG. 1IA are fairly standard and self-explanatory. Line1indicates from where the email originated, line2indicates the date the email was sent, line3indicates a name associated with the email address (Service Center), line4indicates to whom the email is addressed and line5indicates the subject of the email message. Line6indicates the MIME version utilized by attachment encodings. MIME is utilized to send binary files in electronic mail messages which permit only ASCII characters. MIME allows the binary encoding to be converted to these ASCII characters which are subsequently converted back to the original binary files at the appropriate time. Such a use of MIME encoding is well known. Line7designates one or more content fields such as the type of text, the length of the message and any other desired information.

Additionally, email messages also contain what is referred to as an envelope which is used by the message transfer agents for delivery. The envelope may be specified by SMTP commands such as “mail from” and “RCPT2”. Further information about the envelope is specified in RFC821, which is incorporated herein by reference. A third part of an email message is the message body which is the content of the message. RFC822specifies the body as lines of ASCII text. InFIG. 11A, the body is set forth in lines9-18.

There may be files attached to electronic mail messages, for example as illustrated inFIG. 11B. The attached file inFIG. 11Bis an executable file which allows a user to execute the programming code contained within the file. The attachment of files including executable files to electronic mail messages is a known feature of email messages.

FIG. 12illustrates a typical screen display of a computer executing an electronic mail program and displaying the email message ofFIG. 11A. When theFIG. 11Ais displayed, the various encoding information is not shown to the user but is displayed in an appropriate format. At the bottom of the display470is a section relating to attachments. The message displayed inFIG. 12shows an executable file “MAINTENANCE.EXE” as an attached file. As explained in the body or message of the email, by executing the attached file, the attached file will cause certain testing, gathering of information, controlling, or logging of information of the attached printer. Typically, the attached file is executed by “clicking” or “double-clicking” on the attachment. Alternatively, the attachment may be saved as a separate file and then executed using the appropriate commands available within the operating system. Further, any other desired method may be used to execute the file.

FIG. 13illustrates a process of receiving an email message which is ultimately used to transmit information such as data, control commands, or diagnostic commands to an attached device according to a first embodiment of the invention. This method may be performed with any desired type of computerized or other type of hardware and/or software and may be performed using the hardware and software organization, as described above. In the embodiment ofFIG. 13, the email message is received in any conventional or desired manner and it is a manual action by the user which causes the email message to perform the desired operation. InFIG. 13, after starting, the computer receives an incoming email message. In step492, the user opens the email message in accordance with the requirements of the email program which is executing on the user's computer and in step494, the message body of the email messages displays instructions and requests the user to execute the attached file. Step494corresponds to the display ofFIG. 12.FIG. 12shows that the message displays to the user the origin of the email message, the purpose of the email message, and how the user should execute the attached file in order to perform the desired operations. Alternatively, any desired message may be displayed to the user. The operations which are performed are determined by the attached file MAINTENANCE.EXE.

Step496determines if the user “clicked” the attached file which causes the attached file to be executed. Alternative manners of executing the attached file may be performed such as double clicking the attached file, saving the attached file, and using a command of the operating system to cause the file to execute, or the attached file may be executed in any other way. After the user causes the execution of the attached file to begin, flow proceeds to step498which executes the attached file. In the preferred form of the invention, the attached file causes commands to be transmitted to the device driver. In step500, the device driver receives the commands from the executing attachment and sends the appropriate commands and information to the attached device. In step502, the operation specified by the attached file is performed by the device. Such an operation may be any type of operation including any of the operation, control functions, or data requests or manipulations described in any of the related patents and patent applications specified above. Exemplary operations performed by the device including remote control and diagnostic operations, the transmitting of information pertaining to the operation or failures which have occurred within the device, and also operating parameters utilized by or stored in the device.

While the process ofFIG. 13has been explained with respect to the use of a device driver, the device driver is a convenient label for the routine which allows control of the attached device, and any other type of software which controls the attached device may be utilized in place of the device driver. For example, the email program itself may be able to send commands and/or data directly to the attached device. The attached device may be any of the devices which have been explained above.

One manner of causing the execution of the program code is to use a graphical pointing device such as a mouse connected to the computer, having the user place a pointer on the object representing the file (e.g., the attached file maintenance.exe), and subsequently having the user press a button while the user points to the file.

FIG. 14illustrates an alternative embodiment of receiving email messages in which the computer or program executing therein automatically detects that the incoming email message is used for communication with the attached device. Thus, in this embodiment, there may be no need for the user to execute an attached file. InFIG. 14, after starting, step520receives an incoming email message. In step522, a program, such as an electronic mail processing program, detects that there is an incoming email message. The detection of incoming email may be performed in any desired manner. Currently, commercially available email programs have the capability to automatically detect incoming email messages and such conventional automatic detecting capabilities may be utilized. Further, in Unix, a specific directory labeled “/var/mail” which contains a file with a user name receives files corresponding to incoming email messages and when this file changes in size, appears, or more files appear, the system can detect that there is an incoming email message. In step524, the executing program parsing the email to determine if the email is for the attached device. Such parsing is performed by determining if a predetermined code exists at a predetermined place in the email message. Exemplary positions of such a code may be in the subject line of the email message, may be a special code which appears within the message body, may be a code which appears in the message header, including a user defined field within the header, or may even be in the message envelope. It may also be possible for the incoming email message to have an address which is routed to the computer which is attached to the device and such messages are not displayed to the user but are directly used for processing. Step526performs an analysis of the parsed email to determine if the email is for the user or for the attached device. When the email is determined to be for the attached device, flow proceeds to step528which performs an operation in response to the email for the device. This performed operation may be any of the previously described operations including operations described in the related patents and patent applications including the performing of a mechanical action, such as movement of a scanning head or printer head or causing any other type of mechanical actions typically performed by the device in question, and also operations including the transmitting of parameters.

When step526determines that the attached email is for a user (e.g., the email is unassociated with the attached device and is not used to control or monitor the attached device), flow proceeds from step526to step530which allows the user to view, reply to, forward, or perform any other desired function on this email. From steps530and528, control flows to step532which determines if there are additional email messages. If there are more messages, flow proceeds back to step524. If there are no more messages, the process of step532ends.

In addition to receiving electronic mail messages which are used for monitoring and/or controlling an attached device, the invention also includes the transmission of email messages which contain information of the device attached to the computer. The present invention prepares data for transmission in email messages, such as the information which is illustrated inFIGS. 17-20which are explained below.

FIG. 15illustrates a first embodiment of transmitting an email message. After starting, the message is prepared to be transmitted in step540. In order to prepare the message to be sent, data which is part of the message is obtained or generated. This data may be obtained by querying the device attached to the computer, or alternatively, is already stored in the computer. The data may also be obtained as disclosed in the related applications, if desired. The email message is prepared to have a format of conventional email systems including the envelope, header, and body of the email message, as explained above, although any desired format may be used.

Step542then sends the message to an outmail object. An outmail object is preferably a software object or routine executing within the computer which performs the transmission out of the computer. The manner in which the transmission is performed in the Microsoft Windows environment is through the use of the Messaging Application Programming Interface (MAPI). The MAPI allows interaction with messaging system and does not require a programmer to write all code which is utilized to transmit messages. By setting the MAPI in windows to a specific program, such as the Microsoft Outlook Express email program, when a message is transmitted to the outmail object (the MAPI client), the message transmission may become automated. Details regarding the implementation and use of MAPI are set forth in the book “Inside MAPI” by Irving De la Cruz and Les Thalaer, published by the Microsoft Press, 1996, which is incorporated herein by reference. Any feature regarding the use of MAPI disclosed in this book may be utilized to implement the present invention using the MAPI client. In step544, the email message is transmitted out of the client, preferably using the outmail object.

The outmail object has been described as being the Windows MAPI. However, any other outmail object may be used to assist in the transmission of email messages. Alternatively, a software object does not have to be used but any desired code which assists in the transmission of the outmail object may be utilized.

An alternative manner of transmitting email messages according to the present invention is illustrated inFIG. 16. The method ofFIG. 16is preferably performed in a Unix environment, although any other software or operating system environment may be utilized as long as the desired steps are performed. InFIG. 16, after starting, step560prepares the message to be sent. This step is utilized to obtain the information which is to be transmitted and may be performed in a similar manner of step540ofFIG. 15is performed, if desired. In step562, the mail output files are prepared and include the message which was prepared in step560. In step564, the output files which may be one or more files, the number of files being the number appropriate to the operating system, are stored in an outgoing mail directory which in Unix is referred as the mail spool directory. This directory in Unix may be located at /var/spool/mqueue, although any other appropriate directory may be used. Once the appropriate file(s) is (are) stored in the desired location, step566is performed which transmits an electronic mail message corresponding to the file(s) which has been stored. The process ofFIG. 16then ends.

FIG. 17illustrates a data structure580containing device information. This is information which is preferably transmitted from the device to the computer and/or from the computer out to a network using an email format.FIG. 17is an exemplary format and any desired format or information of the attached device which is of interest may be transmitted. The data structure580illustrated inFIG. 17includes a device identification582, a model of the device584, a device type586which indicates information such as whether the device is a scanner, digital copier, printer, fax machine, multifunction device, or any other information regarding the type of the device. Field588illustrates the capabilities of the device such as the optional equipment and capabilities of the device such as the type of output trays (e.g., a sorter), or whether the device has an automatic document feeder, for example, as explained in the related applications and patents. Further, information relating to the operation of the device may be transmitted. The information illustrated inFIG. 17relates to a printer, copier, or multifunction device, and different information may be utilized for different type of devices. Exemplary information which may be included in the device information data structure580include a total number of page or paper jams590, a total number of jobs which were performed592, a total number of pages printed594, a total number of color pages printed596which is applicable only to color printers or devices, an average number of pages per job598, a number of jobs since the last report600, a number of pages since the last report606, a field608which stores information of the last 20 jobs including the time stamps related to when these jobs occurred, and a field610which includes information of the last 20 abnormal jobs (e.g., jobs which did not finish in accordance with normal or standard procedures) including the time stamps of when these jobs or abnormalities occurred, if desired.

The present invention may be utilized to create informational reports regarding status or other information of the device which is being monitored. The information of the devices may be transmitted over the Internet to another company or to a computer of the same company, or alternatively may be transmitted as an email which remains within the private network such as the local area network or a wide area network of a company. A machine which receives email messages prepared and transmitted in accordance with the teachings of this invention may be transmitted to a device such as the service machine254illustrated inFIG. 5. The service machine may then notify an appropriate entity such as a third party service center, a service center of the device manufacturer such as the copier or printer manufacturer's service center or other authorized service center, or any other entity and indicate that a specific problem exists. Such notification may be performed through electronic mail, through a direct computer connection, through a telephone call to a person using a facsimile transmission, through the indication of a voice message, or in any other desired manner.

FIG. 18illustrates a log of collected data from various machines which indicates a problem with the machine. The log contains the identification of the machine which is having the problem, the location of the machine, the particular problem with the machine, and the entity which has been notified. The information which is received and transmitted in accordance with the log ofFIG. 18may operate in accordance with the teachings of any of the cross-referenced applications. The log may be generated at and/or stored in any of the computers ofFIG. 5, for example.

FIG. 19illustrates an example of data which has been collected through an inquiry. The inquiry in the example ofFIG. 19may be utilized to indicate the total number of installed machines of a particular model (e.g., the FT6650), the number of these devices having a sorter, the average of number of copies per job per machine, and the average use of the sorter. Any other desired information may also be included in the status report. The status report may be generated at and/or stored in any of the computers ofFIG. 5, for example.

FIG. 20illustrates a monthly usage report670. This report could have been generated for a computer network having four printers and three copiers which are located on the network. The report was preferably generated according to the teachings in this invention using email messages, although the report could also have been generated using the techniques described in the cross-referenced applications, if desired. The report ofFIG. 20and the other reports and information providing capabilities of this invention may be generated by or stored within computer272ofFIG. 5. Alternatively, computer282ofFIG. 5could be used to generate and/or store such a report. This type of report would allow in-company monitoring of machines which are connected to a network or intranet and the computer maintaining information and statistics about the machines attached to the network may be part of the network, whether it be a local area network, wide area network, or across the Internet, for example. Alternatively, the report could be generated for machines on one of the networks260,274, or284by the service machine254which stores the appropriate information in the data base256.

In its preferred implementation, the present invention utilizes computers having separate housings than the device to which they are attached. This would allow the invention to be inexpensively implemented for installations which already have an existing computer for performing the desired processing as the new hardware costs may be reduced. Such an arrangement may also permit implementation of the invention without hardware changes to the device. However, if desired, the present invention may be implemented by including the appropriate processing and data storage capabilities in the device which is being monitored and/or controlled in addition to or as an alternative to a separate computer connected to the device. Further, this invention may be particularly applicable to existing installations such as a print server. A print server is connected to a computer network and receives requests to perform printing operations and distributes these printing operations to appropriate printing devices connected to the print server.

This application relates to and builds on various concepts which have been disclosed in the cross-referenced patents and patent applications which have been incorporated into this application by reference. This patent application is intended to include not only the inventions disclosed in the related applications, but also the combinations of various features and functions of the individual embodiments which have been disclosed in this and each of the related applications. Thus, a feature disclosed in one of the related applications or patents may be readily applied a concept disclosed in this invention, and also, the concepts disclosed in one or more of the other applications may be applied concepts or features disclosed in other(s) of the applications. Further, an email message may be used for only one of sending and receiving, with communication in the other direction being performed using a different mode of communication, such as one of the other communication modes disclosed herein, or a communication mode disclosed in the related patents and patent applications.

This invention may be conveniently implemented using a conventional general purpose digital computer or microprocessor programmed according to the teachings of the present specification, as will be apparent to those skilled in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.

The present invention includes a computer program product which is a storage medium including instructions which can be used to program a computer to perform a process of the invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions.