Techniques for automatic form creation by combining partial operations

Abstract: An automatically created form (20) includes a field (28) for requesting a combined operation. A processor (66) creates the form in response to another form (10) that includes fields (12,16) that are marked to indicate a sequence of partial operations (A and C). The partial operations together constitute the combined operation (AC). The combined operation can, for example, be a facsimile transmission, in which case the partial operation fields (122,124,126) can specify the digits of a fax machine's telephone number. The automatically created form(140)can then include a single check box next to the name of the recipient. When the check box (150) is marked, the processor (66) responds to the form by performing the sequence of partial operations. The processor can execute input instructions (90) to receive data defining the image of each form and can execute response instructions (92) to respond to each form.

Description: The present invention relates to forms from which a system obtains information for use in controlling subsequent operations of the system. Johnson et al., US-A 5,060,980 or EP-A-0 459 793, describe a form on which a user can impart or modify markings representing data. As shown and described in relation to Fig. 1, the markings are located so that a form interpreter can be instructed where to look for data to be read. The form can include printing, such as an outline of field regions to be filled in, borders, titles, and instructions. The form also includes encoded information representing a structural description of the form, including a description of the locations of fields on the form and a description of the types of fields. The encoded information can also include instructions for specific processing of selected data, dialing instructions to a facsimile machine, network addresses for routing selected data, data to be processed, etc. A system for processing such a form is shown and described in relation to Fig. 3, and a techniques for generating such a form are shown and described in relation to Figs. 4 and 5. The user can view an image of the form, select or create fields and other items on the form, specify operations to be performed on contents of a field, and enter operations and data independent of the contents of any field. One aspect of the invention deals with a basic inefficiency in the use of control sheets and other forms used to control machine operations. Such a form often includes a set of fields that can be used together to request an operation, with each field specifying a partial operation. For example, a telephone number to which a facsimile is transmitted can be specified with a series of fields, in each of which a user inserts a digit. Each time the same operation is requested, a number of fields must be completed. This aspect is further based on the discovery of a technique that alleviates this problem. When a user specifies a sequence of partial operations on a form, the technique can automatically produce a new form with a single field to request a complete operation that includes the sequence of partial operations. This technique can be implemented in a system that includes image input circuitry, image output circuitry, and a processor connected for receiving data defining images from the image input circuitry and for providing data defining images to the image output circuitry. The image input circuitry could be connected to receive facsimile transmissions, and the image output circuitry could be connected to provide facsimile transmissions. The processor can receive first input image data defining an image of a first form with a number of fields that are marked so that they together indicate a sequence of partial operations. The indicated sequence constitutes a complete operation. The processor can use the data to automatically produce created form data defining an image of a second form that includes a field for indicating a request for the complete operation. The processor can provide the created form data to the image output circuitry. Then, the processor can receive second input image data defining an image of the second form that is marked to indicate a request for the complete operation. In response, the processor can perform the sequence of partial operations that constitutes the complete operation. A machine in accordance with the invention can include, stored in memory, input instructions for receiving data defining an input form's image and response instructions for responding to an input form. In response to the first input image data, the processor can execute the response instructions to automatically produce the created form data. In response to the second input image data, the processor can execute the response instructions to perform the sequence of partial operations. The invention also provides an article of manufacture for use in a system that includes a storage medium access device such as a floppy disk drive or a CD drive. The article can include a data storage medium such as a floppy disk or a CD-ROM and data stored by the medium. The stored data can indicate input instructions and response instructions as described above. A closely related aspect of the invention is based on the recognition that a user may require some flexibility in obtaining an automatically created form. In the case where the user desires a form with a number of recipients, for example, the user may desire to add several recipients, then obtain a new form that lists all the added recipients. This problem can be solved if one form specifies the partial operations that constitute the complete operation and another form requests the automatically created form for requesting the complete operation. This allows the user to obtain the automatically created form after adding a number of recipients, for example. By way of example only, embodiments of the invention will now be described with reference to the accompanying drawings, in which: Fig. 1 is a schematic flow diagram showing how a first form specifying partial operations can be used to automatically produce a second form with a field for requesting a combined operation. Fig. 2 is a flow chart showing general acts in automatically producing a form as in Fig. 1. Fig. 3 is a schematic block diagram showing a software product that can be accessed by a system to automatically produce forms as in Fig. 2. Figs. 4A-4D are schematic diagrams of a series of fax control forms automatically produced by the techniques of Figs. 1-3. Fig. 5 is a schematic block diagram showing software components of a system that can automatically create a form with a field for requesting a combined operation. Fig. 6 is a schematic diagram showing a batch that can be handled by the components in Fig. 5. Fig. 7 is a schematic diagram showing input forms and a created form produced by a system that includes a fax server executing software like that in Fig. 5. Fig. 8 is a flow chart showing acts in automatically creating a form with a field for requesting a combined operation in Fig. 7. General Features Figs. 1-4D illustrate general features of the invention. Fig. 1 is a schematic flow diagram showing how a first form specifying partial operations can be used to automatically produce a second form specifying a combined operation. Fig. 2 is a flow chart showing general acts in automatically producing a form as in Fig. 1. Fig. 3 is a schematic block diagram showing a software product that can be accessed by a system to automatically produce forms as in Fig. 2. Figs. 4A-4D are schematic diagrams of a series of fax control forms automatically produced by the techniques of Figs. 1-3. Form 10 in Fig. 1 includes three partial operation fields, each for indicating a respective partial operation. Field 12 is for indicating partial operation A, field 14 partial operation B, and field 16 partial operation C. As shown, a user has inserted check marks in fields 12 and 16 to indicate a sequence that includes partial operations A and C. In response to form 10, form 20 is automatically produced. Like form 10, form 20 illustratively includes partial operation fields 22, 24, and 26 respectively for indicating partial operations A, B, and C. But form 20 also includes complete operation field 28 for indicating the complete operation constituted by the sequence of partial operations A and C. As a result, a user can more efficiently request the complete operation. The act in box 40 in Fig. 2 receives data defining an image showing a first form in which partial operation fields are marked to indicate a sequence of partial operations, like form 10 in Fig. 1. The act in box 42 uses the data defining the first form to automatically create a second form that includes a complete operation field for indicating the complete operation constituted by the sequence of partial operations. The act in box 44 then provides data defining the second form as output. As indicated by the dashed line leading to the act in box 46, the user may then optionally mark the second form so that the complete operation field is marked to indicate the complete operation. If so, the act in box 48 responds by performing the sequence of partial operations that constitutes the complete operation. Fig. 3 shows software product 60, an article of manufacture that can be used in a system that includes components like those shown in Fig. 3. Software product 60 includes data storage medium 62 that can be accessed by storage medium access device 64. Data storage medium 62 could, for example, be a magnetic medium such as a set of one or more floppy disks, an optical medium such as a set of one or more CD-ROMs, or any other appropriate medium for storing data. Data storage medium 62 stores data that storage medium access device 64 can provide to processor 66. Processor 66 is connected for receiving data defining images from image input circuitry 70. The data could be obtained from facsimile (fax) machine 72; from scanner 74; from editor 76, which could be a forms editor or other interactive image editor controlled by user input devices such as a keyboard and mouse or a pen- or stylus-based input device; or from network 78, which could be a local area network or other network capable of transmitting data defining an image. Processor 66 is also connected for providing data defining images to image output circuitry 80. The data could in turn be provided to fax machine 82, to printer 84, to display 86, or to network 88. In addition to data storage medium 62, software product 60 includes data stored by storage medium 62. The stored data include data indicating image receiving instructions 90, which can be executed to perform the acts in boxes 40 and 46 in Fig. 2. The stored data also include data indicating response instructions, which can be executed both to automatically create and transmit a form as in boxes 42 and 44 in Fig. 2 and also to perform a complete operation by performing a sequence of partial operations, as in box 48. Figs. 4A-4D show images of forms resulting from an application of the invention to a fax machine. Some current fax machines have speed dialing buttons. A user can program a speed dialing button by providing a phone number to be associated with the button. After the button is programmed, activation of the button causes the fax machine to dial the associated number and transmit. Use of speed dialing buttons is limited, however, because a large number of steps are necessary to program a button and because the programming, once completed, is limited to a single machine. The technique illustrated in Figs. 4A-4D provides a function similar to speed dialing that can be programmed through a small number of steps and that can be used on multiple fax machines. In form 120 in Fig. 4A, field 122 is marked to indicate that a new fax recipient is being programmed. Field 124 is filled in with a name for the new fax recipient. Numerical grid 126 is filled in to indicate the new fax recipient's telephone number. When the completed form 120 is received, form 140 in Fig. 4B is automatically created. Fields 142, 144, and 146 have the same respective functions as fields 122, 124, and 126 in Fig. 4A and have been filled in to request programming of another new fax recipient. In addition, field 150 allows a user to request the previous fax recipient with a single mark, and field 152 contains an image obtained from field 124 in Fig. 4A. If more than one recipient were checked, fields 160 and 162 could be completed to request a new group. When the completed form 140 is received, form 170 in Fig. 4C is automatically created. Fields 172, 174, and 176 have the same respective functions as fields 122, 125, and 126 in Fig. 4A, but have been left blank. Field 180 has the same respective function as field 150 in Fig. 4B, with field 182 containing the image from field 124, and field 184 has been added, allowing the user to request the previous fax recipient with a single mark, field 186 containing an image obtained from field 144 in Fig. 4B. Fields 190 and 192 have the same respective function as fields 160 and 162 in Fig. 4B, but fields 180, 184, and 190 have been checked to indicate that a new group should be formed, and field 192 has been filled in with a name for the new group. When the completed form 170 is received, form 220 in Fig. 4D is automatically created. Fields 222, 224, 226, 230, 232, 234, 236, 240, and 242 have the same respective functions as fields 172, 174, 176, 182, 184, 186, 190, and 192 in Fig. 4C. Fields 244 and 246 have been added, so that the user can request the new group of recipients with a single mark in field 244, with field 246 containing an image obtained from field 192 in Fig. 4C. Each of the forms shown in Figs. 4A-4D can be followed by a document to be transmitted to the indicated recipient or recipients. In each case, the user only needs to check a few boxes with a pencil and, if appropriate, write in a name or other mnemonic identifier in order to program the speed dial operation. The programmed information could be stored for access by multiple fax machines, any of which could then respond to each form. The simple technique illustrated in Figs. 4A-4D could be extended in various ways. For example, as each new recipient is added to the form, the list of recipients could be ordered based on frequency of transmission or some other criterion. Similarly, when the form becomes full, a second form could be created with the overflow or a recipient could be deleted to make room for a new recipient based on frequency or recency of transmission or some other criterion. Implementation The general features described above could be implemented in numerous ways on various machines. A current implementation runs on an IBM PC compatible machine (a "PC") with at least an 80386 microprocessor. The PC is equipped with a "fax card," meaning a combination of a board and software that enables the PC to transmit and receive facsimile images in a standard format, such as CCITT Group 3. The fax card could, for example, be SatisFAXtion™ from Intel Corporation; The Complete Communicator™ or The Complete Fax™ from The Complete PC, Inc.; or proFAX™ from Charter Electronics Industries Pte. Ltd. Because the current implementation is closely linked to a fax card, it is referred to herein as a "fax server." 1. General Fax Server Software Features Fig. 5 shows general software components of the current implementation. Fig. 6 illustrates the organization of a batch that is set up in response to a request from a user. Fig. 5 shows general software components and some of the communication paths between components. Fax server software 300 includes instructions executed by a processor that is executing DOS instructions 302. In the current implementation, the processor is also executing at least the 3.0 version of Microsoft® Windows™, shown as windows instructions 304. The communication path between fax server software 300 and the fax card goes through two DOS resident components, fax card terminate and stay resident instructions 306 and fax server terminate and stay resident instructions (TSR) 310. For most fax cards, fax card terminate and stay resident instructions 306 can be installed when the fax card is installed. For each of these fax cards, fax server software 300 includes a respective TSR 310 that can be loaded when the user installs fax server software 300 in response to a signal from the user indicating the type of fax card. Some fax cards, such as proFax, have a separate driver for programming. In these cases, the fax card is installed and TSR 310 is loaded during installation of fax server software 300. Fax card terminate and stay resident instructions 306 and TSR 310 communicate to receive and send facsimile transmissions. When a facsimile transmission is received, the fax card automatically stores the received data in a directory in the DOS filing system. When TSR 310 next polls fax card terminate and stay resident instructions 306, TSR 310 receives data indicating that a received transmission is in a file in the directory. In response, TSR 310 assigns an event number to the file and creates an event file. The event file includes the event number and other information, such as the DOS file name of the received file and the telephone number of the sending fax machine (or an empty identifier if a telephone number is not available). When fax server application instructions 312 next poll TSR 310, TSR responds with the event number of the next unprocessed event file. Fax server application instructions 312 can then handle the received transmission as described below. Similarly, before fax server application instructions 312 signal TSR 310 to send a facsimile transmission, they create an event file with the next available event number. This event file can include the event number, the telephone number of the destination, a temporary file number identifying a temporary file containing data to be transmitted, and such other information as a user name for a header on transmitted pages, and so forth. In response to the event file, TSR 310 provides data to fax card terminate and stay resident instructions 306 indicating the destination. TSR 310 can temporarily save the items to be sent in a directory in the DOS filing system. Then fax card terminate and stay resident instructions 306 can put a request on a queue of requests to the fax card. Subsequently, in response to status checks from fax server application instructions 312, TSR 310 can request data from fax card terminate and stay resident instructions 306 indicating whether the items have been successfully sent. Fax server application instructions 312 perform the central functions of fax server software 300. In addition to the above, fax server application instructions 312 also call image processing instructions 314 to perform image processing operations and database instructions 320 to manage data in information database 322 and job database 324. A user can interact with fax server application instructions 312 through windows instructions 304. In the current implementation, database instructions 320 include the instructions of db_Vista™, a commercial database product from Raima Corporation. Information database 322 and job database 324 are both implemented using db_Vista. Information database 322 includes two lists, a list of distribution lists and a list of categories of documents and forms. Each list appears as a top level container within the user interface provided by windows instructions 304, and the user can set up new distribution lists and categories through the user interface. Each distribution list includes information about a set of recipients, including data identifying recipients and telephone numbers of their fax machines; one distribution list, named "All Recipients," includes all of the recipients. Each category of documents and forms includes a set of items, each of which is either a document or a form. For each document, the category includes a pointer to the name of the DOS file in which data defining the document is stored. For each form, the category includes a pointer to the name of the DOS file in which the definition or description of the form is stored. Job database 324, on the other hand, acts as an automatic scheduler for processing a series of images. Job database 324 therefore includes data indicating any pending batches, jobs, actions, and pages, as described more fully below. As can be understood from Fig. 5, fax server application instructions 312 can receive requests from a user through the user interface provided by windows instructions 304, based on a display and a user input device such as a keyboard and mouse. In the current implementation, these requests are received as a data structure indicating contents of a form. Fax server application instructions 312 can also receive user requests on forms in facsimile transmissions received by the fax card. Fax server application instructions 312 can respond to a request from either user interface by setting up a batch in job database 324. Fig. 6 shows batch 350, which includes a series of m jobs, each of which includes data defining one or more images. The images are illustratively pages, such as pages of a facsimile transmission. Job 0 includes n pages, with pages 352 and 354 being the first and last respectively. Job 1 includes p pages, with the first, page 360, defining a form and with pages 362 and 364 being the second and last respectively. Similarly, the following jobs each begin with a form, as illustrated by the last job, with q pages beginning with page 370 defining a form and with pages 372 and 374 being the second and last respectively. Fig. 6 illustrates several general features in the operation of job database 324 in the current implementation: A batch includes one or more jobs. Each job includes one or more pages. The first job in a batch may not begin with a form, but every job after the first begins with a form which may be followed by a set of pages. Each job thus includes one of the following: a single blank sheet; a number of non-form pages, also referred to as a document; a single form; or a single form followed by a document. The basic scheduling operation is a cycling operation that, on each cycle, selects an action to be performed from those currently existing in job database 324. The current implementation has a number of different types of actions, many of which may be used to handle a received facsimile transmission. An action of a given type may be "created," meaning that an instance of the type is set up in job database 324. An action in job database 324 includes various items of information including data indicating the action's function and data that can be used in scheduling performance or execution of the action's function. The scheduling data includes the action's state, whether ready or done; the earliest time to start performing the action's function; a priority to ensure that a retrieve function will be completed before a send function; and, optionally, a special function called a readyproc to determine whether the action is ready for performance of its function. The Input action is a default action whose function is performed when no other action is ready, based on a readyproc that checks whether other actions are ready. Therefore, job database 324 always includes an Input action. The Input action's function polls TSR 310 to obtain data indicating whether or not a facsimile transmission has been received. If so, the function obtains an event file for the newly received images, sets up a new batch in job database 324, and creates a Batch action. The Batch action is created by an Input action, as described above. The Batch action's function calls a converter procedure that is appropriate for the fax card being used, as indicated by the user at the time fax server software 300 is installed; the converter procedures convert a received file from the fax card's format to a DOS file in fax server format; the DOS file name can be based on an integer identifier to facilitate communication between windows instructions 304 and TSR 310. Conversion can be performed by calls to modules that can be independently modified and extended. The Batch action's function also creates, for each page in the received file, a page entry and a Page action to be performed on that page in job database 324; if only a single page is received, the function includes data in the page entry indicating a single page batch; the function also creates a Job Set action. The function also creates a Cleanup action. The Page action is created by a Batch action, as described above. Each Page action has a respective page entry for storing data relating to the respective page. If the page is a single page batch, the Page action's function calls image processing instructions 314 to determine whether the page is blank. If the page is not blank or if the batch has more than one page, the function calls image processing instructions 314 to determine whether the page is a form or a data (non-form) page. Data indicating whether the page is a form or a data page is stored in the page entry; if the page is a form, data identifying the form is also obtained from the image and stored in the page entry. If every form includes a distinctive registration mark such as a logo, image processing instructions 314 could first search for the logo and determine whether the page is a form using the result of the search. Then, if each form includes machine readable identifying information, the image processing instructions 314 could operate on data defining the image of the form to obtain identifying data identifying the form. Form identifying information could be encoded and included in the image in the manner described in European Patent Application No. 0 469 864. The Job Set action is also created by the Batch action, as described above. The Job Set action has a readyproc that determines that it is ready when there are no pages in the batch whose type remains unknown, meaning that all Page actions for the batch have been completed. In accordance with Fig. 5, a job is created in job database 324 for each job in the batch. Each job is also added to an activity log that lists all jobs, transactions, and transmissions. If a job includes only a single blank sheet, the Job Set action converts an initial form called the "Starter Form," to the fax card format and creates a Retrieve action to transmit the converted Starter Form, as discussed in greater detail below. If a job begins with a form, a Form action is created for the job. The Form action is created by the Job Set action, as described above. The Form action uses the data identifying the form from the page entry, as stored by the Page action, to access the form's definition from information database 322. The Form action then uses the form's definition to construct calls to image processing instructions 314. A call to image processing instructions 314 can include data indicating a segment of the form's image, such as a rectangle, or a position within the form's image, such as a corner of a check box. Each call can also include data indicating an operation to be performed; examples include an operation that determines whether a segment has been marked and an operation that clips a segment that has been marked and returns its contents in the form of an array such as a bitmap. The Form action uses the form's definition and the results returned by image processing instructions 314 to create actions and other items within job database 324. For example, the form definition can indicate that, if a given check box is marked, a Store action should be created to store a document in response to a Store form; or that a Delete action should be created to delete a document in response to a Delete form; or that a Pre-Send action should be created to prepare to provide a facsimile transmission in response to a Send form; or that a Pre-Retrieve action should be created to prepare to provide a facsimile transmission to a destination indicated on the form or back to the fax machine that sent the form, typically in response to a Retrieve or List Contents form; and so forth. When the Form action must obtain a destination for a Retrieve action, it begins by using a destination indicated on the form, such as a telephone number of a fax machine. If none is indicated, the Form action uses the telephone number in the current event file, indicating the fax machine from which the Retrieve action was requested. If none, the Form action leaves the destination blank. As discussed in greater detail below for certain cases, the form's definition can indicate that a new form, a cover sheet, or another image should be automatically created, in which case the Form action obtains data defining the new form, cover sheet, or other image. If a new form is created, it is added to a special category called "All Forms." The Store action can be created by the Form action, as described above, in response to a Store form that precedes a set of one or more data pages. The Store action obtains a system identifier, such as a file location of the data pages, stores the system identifier in any categories indicated in check boxes on the form and, even if no categories are indicated, stores the system identifier in a special category called "All Documents." The Store action can also associate data defining an identifying image from the Store form with the system identifier in the manner described in EP-A-0 561 606. The Delete action can be created by the Form action, as described above, in response to a Delete form that includes check boxes indicating a set of one or more documents. The Delete action deletes entries in information database 322 for the indicated documents and also deletes the files in which the pages of the documents are stored. The Pre-Send action can be created by the Form action, as described above, in response to a Send form that includes check boxes indicating a request to provide a facsimile transmission to a set of one or more indicated recipients. The Pre-Send action converts the items to be transmitted, such as forms, cover sheets, and documents, from the fax server's format to the appropriate format for the fax card being used, and stores each converted item in a respective DOS file. For each indicated recipient, the Pre-Send action obtains data indicating a transmission path, such as a fax machine's telephone number. If the recipient is a new recipient, the Send form includes check boxes indicating the recipient's transmission path. If the Send form also includes a check box requesting that the recipient be added to the recipient index, the Pre-Send action adds data indicating the recipient's transmission path to indicated distribution lists in information database 322 and, in any event, to a special distribution list called "All Recipients." The Pre-Send action can also associate data defining an identifying image from the Send form with the recipient's transmission path in the manner described in EP-A-0 561 606. If the recipient is indicated by a check box, the Pre-Send action retrieves the recipient's transmission path data from information database 322. Similarly, if all recipients in a distribution list are indicated by a check box, the Pre-Send action retrieves each recipient's transmission path data. In either case, the Pre-Send action creates a Send action for each recipient. The Send action can be created by the Pre-Send action as described above. The Send action orders the DOS files containing items to be transmitted to the specified recipient into a single queue. The Send action submits a request to TSR 310 to send the DOS files in the queue to the specified recipient. The Send action concludes by creating a Verify action. The Pre-Retrieve action can be created by the Form action, as described above, in response to any request for a facsimile transmission other than a Send form. Like the Pre-Send action, the Pre-Retrieve action converts the items to be transmitted to the appropriate format for the fax card being used, and stores each converted item in a respective DOS file. Then the Pre-Retrieve action creates a Retrieve action. The Retrieve action can be created by the Pre-Retrieve action as described above. The Retrieve action obtains data indicating a transmission path as obtained by the Form action, either from a return address section on the form or from the data defining the received transmission. If the Form action did not obtain a destination, the Retrieve action fails. The Retrieve action orders the DOS files containing items to be transmitted to the destination into a single queue. The Retrieve action submits a request to TSR 310 to send the DOS files in the queue to the destination. Like the Send action, the Retrieve action creates a Verify action. The Verify action can be created by the Send action or the Retrieve action, as described above. The Verify action submits a request to TSR 310 for data indicating the status of the facsimile transmission that resulted from the Send action or Retrieve action that created the Verify action. If the facsimile transmission has not yet completed, the Verify action resets its start time so that it will be performed again later. The fax card will redial according to its configuration, and if the fax card reports a failure, the Verify action reports the failure to the activity log before completing. The Cleanup action can be created by the Batch action as described above. The Cleanup action has a readyproc that determines that it is ready to be performed only when all other actions associated with the Batch action that created it are completed. The Cleanup action deletes any temporary files created by the other actions associated with the Batch action. Each cycle of the basic scheduling operation selects an appropriate action to be performed next. For example, if the only actions that are ready are a Batch action and its Cleanup action, the Batch action is selected and performed. In addition to selecting an action to be performed next, each cycle of the basic scheduling operation branches based on whether a user interface action is waiting from the user interface provided by windows instructions 304. If so, a waiting user interface action is performed. It would be straightforward to extend the current implementation to handle forms that request more than one type of operation or to handle a special form indicating a new recipient but not requesting a Send action. Similarly, it would be straightforward to extend the current implementation so that all the facsimile transmissions to a single destination from a single batch would be combined into a single continuous transmission rather than being transmitted independently. 2. Automatic Form Creation--New Recipient Figs. 7 and 8 show how the general fax server features described above can be used. Fig. 7 illustrates schematically how a user can obtain automatic creation of a form showing a new recipient. Fig. 8 shows general acts performed by the fax server in automatically creating the form. Network 500 in Fig. 7 includes requester's fax machine 502, fax server 504, and recipient's fax machine 506. Fax server 504 is running software like that described above in relation to Figs. 5-6. As shown, the requester uses fax machine 502 to transmit data defining images of forms 510 and 512 to fax server 504. Forms 510 and 512 could be transmitted as part of a single batch or in separate batches. In response, fax server 504 transmits data defining an image of document A 520 to recipient's fax machine 506 and transmits data defining an image of form 522 to requester's fax machine 502. Form 510 in Fig. 7 is a form that includes a Send section for requesting facsimile transmission of documents to recipients. Form 510, like the other forms shown, includes logo 530 for use in registration and to determine that it is a form. Form 510 also includes machine readable form identifying information, illustratively in a distinct field 532. The form identifying information could be encoded in the manner described in EP-A-0 469 864. Each form shown has its own unique identifying information, and this information can be generated at the time the form is created, based on a function of an identifier of the software installation that creates the form. In addition to the fields shown, each form can also have human readable name, date and time of creation, and other information. A user can write a name or other mnemonic identifier of a recipient in field 534 in form 510. When a marked version of form 510 is received, data defining the contents of field 534, such as a bitmap, can be stored in information database 322 for subsequent use in performing the requested Send action and in automatic form creation. EP-A-0 561 606 describes ways of handling such bitmap images. A user can mark boxes in fields 536, 538, and 540 in form 510 to further specify the requested operation. The box in field 536 is marked to specify that the recipient identified in field 534 should be added to the recipient index in information database 322. The box in field 538 is marked to specify that Document A should be sent to the recipient. Boxes in field 540 are marked to specify the recipient's fax number. Form 512 in Fig. 7 is a form that includes a List Contents section that can be used for requesting facsimile transmission of an automatically created form back to the requester. A user can mark boxes in fields 550, 552, 554, and 556 to specify the requested operation. The box in field 550 is marked to specify that the automatically created form should include a list of all recipients in information database 322, which now includes the recipient identified in field 534 in form 510. The box in field 552 is marked to specify that the automatically created form should also include a list of all documents in information database 322. The box in field 554 is marked to specify that the recipients and documents should be listed in a Send section for requesting a send operation. Boxes in field 556 are marked to specify the requester's fax number or another number to which the automatically created form should be transmitted. The requester could thus indicate a fax number of another location or of a third party in field 556. Form 522 in Fig. 7 is an automatically created form that includes a Send section as specified by the marked boxes in form 512. Like the other forms shown in Fig. 7, form 522 includes a logo and machine readable form identifying information, and can also include other machine and human readable information. A user can mark the boxes in fields 560 and 562 to specify a requested operation. The user can mark the box in field 560 to specify that a facsimile transmission should be made to the recipient identified in field 534 in form 510. To assist the user in interpreting form 522, field 560 can also include a version of the image from field 534, identifying the recipient. In response to a mark in the box in field 560, fax server 504 can retrieve the identified recipient's fax number and use it to establish connection with recipient's fax machine 506. The user can mark the box in field 562 to specify a document to be included in the fax transmission to the recipient. In response to a mark in the box in field 562, fax server 504 can retrieve and transmit data defining an image of the specified document from its DOS file, as illustrated by document A 520, thus completing the requested operation. For simplicity of illustration, new form 522 includes only one field for selecting a recipient, field 560, and only one field for selecting a document, field 562. In general, an automatically produced form could include as many fields as will fit within the space available. If a request for automatic form creation exceeds the space available, fax server 504 can create one or more additional new forms for the overflow. Fig. 8 illustrates acts performed by fax server 504 in producing new form 522. Each act is an action of one of the types described above. The act in box 580 is a Form action that responds to form 510 by modifying the recipient index in information database 322. As shown, the recipient index is modified so that it can be used to retrieve the recipient's bitmap identifier from field 534 in form 510 and the recipient's fax number from field 540 in form 510. These items can be accessible as described in EP-A-0 561 606. As a result, a system identifier is set up that can be used to access one or both of the recipient's bitmap identifier and the recipient's fax number. This system identifier is included in the special category All Recipients in the recipient index. The act in box 582 is another Form action that responds to form 512 by automatically creating form 522 with a Send section that includes a listing of the contents of the All Recipients category. This Form action also creates a Pre-Retrieve action. The act in box 584 is the Pre-Retrieve action created by the Form action in box 582. The Pre-Retrieve action converts the automatically created form to the appropriate format for the fax card being used. The Pre-Retrieve action also creates a Retrieve action. The act in box 586 is the Retrieve action created by the Pre-Retrieve action in box 584. The Retrieve action submits a request to TSR 310 to send the converted form to the destination indicated in field 556 of form 512. The Retrieve action also creates a Verify action. The act in box 588 is the Verify action created by the Retrieve action in box 586. The Verify action verifies successful completion of facsimile transmission of the converted form to the destination. A form like form 522 in Fig. 7 could be created in many ways. In the current implementation, each automatically created form has an upper segment with a logo, a title, and machine readable form identifying information. Below this portion, an automatically created form with a Send section can include a recipient listing segment, a write-in recipient segment, an options segment, and a cover note segment. Alternatively, it could include a write-in recipient segment, a documents segment, an options segment, and a cover note segment. At the bottom of each automatically created form is a segment with the user's name and a date. A recipient listing segment includes a set of fields like field 560 in form 522, each including a box that can be checked to request transmission to a distribution list or recipient and an identifier of the distribution list or recipient. These fields can be arranged in a number of columns across an image. A write-in recipient segment includes fields similar to fields in form 510. A field with a rectangular outline like field 534 permits a user to write a name or other identifying mnemonic of a new recipient. A field like field 536 includes a box that can be checked to request that the new recipient be added to the recipient index as described above. A field like field 540 includes boxes that can be checked to indicate the new recipient's fax number, together with instructions and a small-scale example. A document segment includes a set of fields like field 562 in form 522, each including a box that can be checked to indicate a document and an identifier of the document. These fields can be arranged in a number of columns across an image and the check boxes can be implemented for detection as described above. An options segment similarly includes a set of fields, each including a box that can be checked to indicate an optional operation. For example, a user can request a copy of a transmitted document be sent to the user's in basket, that the transmission be done at a prespecified time such as a time when telephone rates are cheaper, or that a cover sheet showing all recipients be automatically created and transmitted. The cover note segment includes a field with a rectangular outline, permitting a user to write a cover note for an automatically created cover sheet. In creating a form, fax server 504 also produces an identifier of the form and creates a definition of the form. The identifier of the form is used to produce machine readable form identifying information and is also included in a list of forms in information database 322. A definition of each form is also stored such that each form's identifier can be used to obtain its definition. The form definitions could be implemented in many ways. In the current implementation, the form definition indicates the type of each segment of the form, such as Send, Retrieve, List, Delete, and Store. Each type of form section has a respective set of segments, and the form description also indicates the type, location, size, and contents of each segment. Each segment can, in turn, contain a set of smaller segments, and the form description indicates for each smaller segment its type, its location, its size, and its contents. The types of sections of a form and of their segments are also used to determine how to retrieve and operate on the forms contents. When a form is automatically created, it can be transmitted to the requested fax number. The fax number could be modified if necessary. Applications The invention could be applied in many other ways other than in a system that performs facsimile transmissions. In general, the invention could be applied to any system in which images of forms can be transmitted, such as a system that includes a scanner and a printer. The invention could be applied to document filing, in which a sequence of partial operations to access a directory pathway could be combined into a single request field on an automatically created form. The invention could be applied to routing of documents within an electronic mail system or other network. For instance, a sequence of partial operations to send a document to a particular location could be combined into a single request field on an automatically created form. The invention could also be applied to image processing operations. For instance, a sequence of partial operations on a document could be combined into a single request field on an automatically created form, including such operations as removing noise, deskewing, extracting specified types of regions, producing a copy of the document, producing a cover sheet describing the document, and so forth. The invention could also be applied to set up copier jobs in response to a form. For example, the first time a user requests a complex copier job, the user would mark a form to indicate a sequence of partial operations that make up the job, including, for example, whether the copies should be on one or two sides, whether the copies should be stapled, and so forth. In response, the copier could produce a burst sheet for the job. This sheet can include machine-readable information indicating the sequence of partial operations. The burst sheet can be a form that includes a check box for requesting the same job set up or a field for specifying a number of copies to be made. The burst sheet can also include a human-readable summary of the specified partial operations and an identifier of the copied document, such as a reduced version of an image of the first page. These other applications of the invention could include extensions of the implementations described above. For example, in the above description, a sequence of partial operations is indicated by checking a sequence of telephone numbers. Another way would be to write a sequence of numbers in which each number indicates an operation, such as by writing the digits of a telephone number. Yet another way would be to write a number next to a name of each partial operation, the numbers indicating the sequence in which the partial operations are to be performed; this technique could be implemented by including in each field a box for writing a number and a description or identifier of the field's respective operation. Also, in the above description, a user could write a name of a recipient in a field, in which case an image of the name would appear on the automatically created form in a field for requesting a combined operation. If the combined operation is not a transmission to a recipient, the user could write another type of identifier, such as words describing the combined operation. Miscellaneous The invention has been described mainly in relation to implementations in which a form is produced requesting a facsimile transmission. The invention might also be implemented to produce various other types of forms. The invention is not limited to forms related to fax machines, although it is especially useful for such forms. The invention has been described mainly in relation to implementations that transmit images of forms on paper sheets. The invention might also be implemented with forms on media other than paper, and with forms that are not on sheets as such, but on other types of marking media. For example, the invention might be implemented with a form on a marking surface on which a user can make marks that are electronically scanned. The invention has been described in relation to software implementations, but the invention might be implemented with specialized hardware. The invention has been described in relation to a software product that can be run on a personal computer with a fax card to provide fax services. In addition to the specific personal computer described, the invention could be implemented on any other personal computer, workstation, fax machine, or other system with suitable processing capabilities. In addition to the specific fax cards described, the current implementation could be extended to support other fax cards that can run in the Microsoft Windows environment and that have a programmable interface. In addition, the invention could be implemented with any other fax card or similar device for receiving and transmitting images, provided it has suitable processing capabilities. The invention could also be implemented in a dedicated server that provides fax services. The invention has been described in relation to an implementation that also includes a user interface with a display and user input device such as a keyboard with a mouse. The user interface could be used to edit an automatically created form or to personalize a user profile to provide parameters used during automatic form creation. For example, a user could personalize the profile to indicate how fields appear within the segments of the automatically created form. The invention has been described in relation to implementations in which a user can request automatic form creation using one or two forms. A larger number of forms could be used to indicate a sequence of partial operations that constitute a complete operation and to request automatic form creation. The invention has been described in relation to check boxes that are rectangular or two-sided, but any other appropriate type of marking field could be defined on a form, including a field defined by parentheses, a field defined by shading, and a field of any appropriate shape.

Claims: A method of operating a system that includes: image input circuitry (70) for obtaining data defining images as input; image output circuitry (80) for providing data defining images as output; a processor (66) connected for receiving data defining images from the image input circuitry (70) and for providing data defining images to the image output circuitry (80); the method comprising: operating the processor (66) to receive first input image data from the image input circuitry (70); the first input image data defining a first image set, the first image set showing a first form; the first form including plural partial operation fields, the partial operation fields being marked to indicate together a sequence of partial operations that constitutes a complete operation; operating the processor (66) to use the first input image data to automatically produce created form data and to provide the created form data to the image output circuitry (80); the created form data defining a second image set, the second image set showing a second form; the second form including an operation request field, the operation request field being for indicating a request for the complete operation; operating the processor (66) to receive second input image data from the image input circuitry (70); the second input image data defining a third image set, the third image set showing the second form with the complete operation request field being marked to indicate a request for the complete operation; and in response to the second input image data, operating the processor (66) to perform the sequence of partial operations that constitutes the complete operation. A method as claimed in claim 1, in which the first form further includes a form request field indicating a request for the second form; the act of operating the processor (66) to use the first input image data being performed in response to the form request field. A method as claimed in claim 1 or claim 2, further comprising the act of operating the processor (66) to receive third input image data from the image input circuitry (70); the third input image data defining a fourth image set, the fourth image set showing a third form; the third form including a form request field that is marked to indicate a request for the second form; the act of operating the processor (66) to use the first input image data being performed in response to the form request field. A method as claimed in claim 1, in which the first form is further marked to indicate a request to perform the sequence of partial operations; the method further comprising, in response to the first input image data, the act of operating the processor (66) to perform the sequence of partial operations. A method as claimed in any one of claims 1 to 4, in which the image output circuitry (80) is connected to provide a facsimile transmission, the plural partial operation fields of the first form being marked to indicate a telephone number of a recipient to which a facsimile transmission can be made; the complete operation field of the second form including a check box and an identifier of the recipient; the second input image data defining the second form's image with the check box being marked; the act of operating the processor (66) to perform the sequence of partial operations comprising the act of providing data defining an image for facsimile transmission to the telephone number indicated by the plural partial operation fields. A method as claimed in any one of claims 1 to 4, in which the image output circuitry (80) is connected to provide a facsimile transmission, the first form further including a second number requesting field indicating a telephone number to which a facsimile transmission of data defining the second form is requested; the act of operating the processor (66) to use the first input image data to automatically produce created form data and to provide the created form data to the image output circuitry (80) comprising the act of providing the created form data for facsimile transmission to the telephone number indicated by the number requesting field. A system comprising: image input circuitry (70) for obtaining data defining images as input; image output circuitry (80) for providing data defining images as output; memory (62) for storing data; and a processor (66) connected for receiving data defining images from the image input circuitry (70) and for providing data defining images to the image output circuitry (80); the processor (66) further being connected for accessing the memory (62); the data stored in the memory (62) comprising: image receiving instruction data indicating input instructions the processor (66) can execute to receive input image data from the image input circuitry (70); the input image data defining an image set; and operation performing instruction data indicating response instructions the processor (66) can execute to perform operations in response to input image data; when the input image data define a first image set that shows a first form that includes plural partial operation fields that are marked to indicate together a sequence of partial operations that constitutes a complete operation, execution of the response instructions causing the processor (66) to use the input image data to automatically produce created form data and to provide the created form data to the image output circuitry (80); the created form data defining an image of a second form; the second form including a complete operation request field, the complete operation request field being for indicating a request for the complete operation; when the input image data define a second image set that shows the second form and the complete operation request field is marked to indicate a request for the complete operation, execution of the response instructions causing the processor (66) to perform the sequence of partial operations that constitutes the complete operation. A system as claimed in claim 7, in which the image input circuitry (70) is connected for receiving facsimile transmissions. A system as claimed in claim 7 or claim 8, in which the image output circuitry (80) is connected for providing facsimile transmissions.

Inventors: CARD STUART K, COOPER MARTIN F N, JOHNSON WALTER A L, CARD, STUART K., COOPER, MARTIN F.N., JOHNSON, WALTER A.L.
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1993
Main classification: G06F17
IPC codes: H04N1, G06F3, G06F17