WO1994006230A2 - Multimedia message transmitter - Google Patents

Multimedia message transmitter Download PDF

Info

Publication number
WO1994006230A2
WO1994006230A2 PCT/US1993/008291 US9308291W WO9406230A2 WO 1994006230 A2 WO1994006230 A2 WO 1994006230A2 US 9308291 W US9308291 W US 9308291W WO 9406230 A2 WO9406230 A2 WO 9406230A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
address
user
state
message
Prior art date
Application number
PCT/US1993/008291
Other languages
French (fr)
Other versions
WO1994006230A3 (en
Inventor
Nolan Bushnell
Dan Ohlemacher
James Thayer
Julie Bendig
Original Assignee
Octus, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Octus, Inc. filed Critical Octus, Inc.
Priority to AU51005/93A priority Critical patent/AU5100593A/en
Publication of WO1994006230A2 publication Critical patent/WO1994006230A2/en
Publication of WO1994006230A3 publication Critical patent/WO1994006230A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information

Definitions

  • the present invention generally relates to data transmission and, more specifically, to a network for selectively communicating messages over various media. Description of the Related Technology
  • Such communication media may, for example, include electronic mail ("E-mail”) communication networks, printers, voice communication telephones, and facsimile transmittal devices (or fax machines) .
  • E-mail electronic mail
  • printers printers
  • voice communication telephones voice communication telephones
  • facsimile transmittal devices or fax machines
  • U.S. Patent No. 4,737,931 to Bourg, et al . includes a business telephone communication system wherein a user has access to a personal or a system-wide directory.
  • telephone calls may be placed from a personal computer terminal which provides a display menu.
  • the menu displays pertinent information about selected network destinations such as the name, phone number and E-mail address of the person at the specified destination.
  • the system automatically analyzes the data format of the message to be transmitted and, based thereon, selects a message transmission medium (e.g.,
  • E-mail E-mail
  • the transmission medium used by the system is determined by the format of the data to be transmitted (e.g., an E-mail formatted message is always transmitted via an E-mail communications network) .
  • the message sender must know a priori which communication medium will be used to reach a destination user and, after a message is composed, is unable to transmit the message via some other communications medium.
  • this system does not make provisions for transmitting the same data via various communications media to multiple destinations. For example, in such a system, the message sender could not send the same message to one destination via facsimile and to another destination via E-mail simultaneously.
  • Another communications network disclosed in U.S. Patent No. 4,941,170 to Herbst, transmits facsimile messages by means of an E-mail system.
  • this system is restricted to one transmission medium (i.e., facsimile) which is assigned to all destinations.
  • retrieving data by means of this device may be slow and cumbersome, especially if the user is operating in Windows ® application software where the user generally desires to use a mouse without the distraction of also using a keyboard. Furthermore, in this device the user has access to only a single list and must type in other characters to access additional lists of data.
  • a display window on a telephone displays a single name and telephone number.
  • a single letter which is part of an alphanumeric index indicating the first letter of the displayed name, is also displayed adjacent to the name and telephone number.
  • the telephone has a memory which contains a list of names and corresponding telephone numbers. The user accesses certain names within the list by means of scanning buttons. If the user wishes to call a displayed name, the user may activate a "call" button on the telephone which causes the telephone to automatically call the number displayed adjacent to the name.
  • this means of displaying or transferring data is also cumbersome since the user is provided with only a single name and must scroll through each of the names. The user is therefore required to depress the scroll button several times, or hold the scroll button down for an extended duration to obtain the desired data.
  • the number of buttons is limited and "hardwired" to the number and arrangement of buttons on a telephone.
  • One aspect of the present invention includes a message transmission system, comprising: a workstation, a plurality of communications media connecting to the workstation, each communications media having one or more destination addresses, means for creating a send list having one or more destination addresses, and means for sending a data file to each destination address in the send list.
  • Another aspect of the present invention includes, in a co ⁇ iputer network, a method of sending a data file to a destination, comprising the steps of: creating a send list having a plurality of addresses, each address comprising a name and a selected one of a plurality of types of communication medium, selecting one of a plurality of data files stored on the network, selecting at least first and second addresses from the send list wherein each address specifies a communication medium different from the other; and sending the selected data file across the network to each selected address.
  • Yet another aspect of the invention includes, in a computer having a displayed scrolling window containing a list of addresses, each address having a name and at least one of a plurality of communication media types, a method of sending a message, comprising the steps of: displaying a plurality of switches on the video display, wherein each button is displayed proximate to one or more distinct character strings, switching a selected one of the switches, scrolling the window to display a range of addresses, wherein the range is determined by indexing address names by the character string displayed in conjunction with the selected switch, selecting one of the displayed addresses by name, and sending the message to the address.
  • Figure 1 is a system level block diagram showing the major structural components of one exemplary multimedia data communications network constructed in accordance with the present invention
  • FIG. 2 is a block diagram showing the main internal components of the FAX server of Figure 1;
  • FIG 3 is a flowchart showing one presently preferred embodiment of the message launcher process, which is stored and executed in the multimedia data communications network shown in Figure 1;
  • Figures 4A and 4B are examples of presently preferred address and transmit menus which are presented to a user when the message launcher of Figure 3 is first activated;
  • Figure 5 is a flowchart of the "Display Range Within Address List Window" function of Figure 3 ;
  • Figures 6A and 6B are flowcharts of the "Special Functions" function of Figure 3;
  • Figures 7A, 7B and 7C are edit address menus which are presented to a user when the user selects the "Add”, “Modify” or “Delete” options, respectively, from the main menu of Figures 4A and 4B;
  • Figure 7D is a menu presented to a user when the "Create Group” option is selected from the "Add Address” menu of Figure 7A;
  • Figures 8A and 8B are screen displays which are presented to a user when the "Memo” and “Cover Page” options are selected, respectively, from the main menu of Figure 4A;
  • Figures 9A, 9B and 9C are screen displays presented to a user when the user selects the "File”, “Edit” or “Help” options, respectively, from the main menu of Figure 4A;
  • Figures 10A and 10B are a flowchart of the "Convert and Send Files" function of Figure 3;
  • Figure 11 is a flowchart of the "Convert File to E-Mail
  • Figure 12 is a flowchart of the "Convert File to Fax Data Format" function of Figure 10A;
  • Figure 13 is a flowchart of the "Convert File to Printer Data Format" function of Figure 10A.
  • Figure 14 is a flowchart of the "Send Header and Attachments" function of Figure 10B.
  • Figure 15 is a function input/output flow diagram which details the inter-relation among the functions performed by the system of the present invention, and the memory locations used during processing of these functions;
  • Figure 16 is a flowchart of the function to map com unication media buttons to addresss list entries.
  • Figure 17 is a flowchart of the function to determine which combination of destination and communications media has been selected.
  • FIG. 1 is a block diagram illustrating an exemplary multimedia communication network 100.
  • the network 100 comprises a plurality of workstations 110A, HOB, HOC which, for instance, may be IBM PC/AT or compatible computers, each having a processor and a memory.
  • each of the workstations 110 includes a plurality of input/output (I/O) devices.
  • I/O input/output
  • each of the workstations 110 as specifically shown at the workstation HOC, connects to a video display 112, a pointer device such as a track ball or mouse 114, a keyboard 116 and a secondary storage device such as a disk drive 118.
  • the network 100 further comprises an applications FAX server 120, described below, which connects to a facsimile machine 122 at a remote location via the telephone lines 124, which are typically not directly wired, but instead are switched via a switching network such as the public telephone network.
  • the network 100 also includes a network file server 127 and a printer 130, which may, for example, be a Hewlett Packard LaserJet II compatible laser printer.
  • the workstations 110, FAX server 120, network server 127, and printer 130 communicate via a bidirectional network bus 140, which, as an example, may be an Ethernet bus such as the one used by Novell Netware software.
  • users at the workstations 110 may communicate E-mail messages with one another via the bus 140, send documents to the printer 130 via the bus 140, or transmit facsimile messages to the FAX machine 122 via the FAX server 120.
  • the bus 140 further connects to a message handling system (MHS) server 141 which includes a modem (not shown) that communicates with a receiving MHS server 143 via telephone lines 144, which are typically routed via switches and which provide a means for data transmission.
  • MHS message handling system
  • the E-mail servers 141, 143 may be, for example, MHS servers available from Novell of Provo, Utah.
  • the receiving MHS server 143 may be included within a receiving network 145 at a remote location.
  • the receiving network 145 comprises a set of workstations 146, a network server 147, and a printer 148 which communicate with one another through a network bus 149.
  • the network 100 together with the network 145 define a wide area network over which data may be communicated according to the present invention.
  • the multimedia communication network 100 provides a means by which a user can selectively transmit information having various data formats to one or more recipients through multiple transmission media.
  • a user at one of the workstations 110 is able to transmit two documents (e.g., one document in text data format and another document in image data format) to one recipient by means of a facsimile, e.g., received at the remote FAX 122, and to a second recipient by means of E-mail, e.g., received at the workstation 146.
  • the user is provided with a list of names (referred to herein as an "address list") which may include the names of persons or companies in communication with the network 100.
  • Each name is associated with one or more network destinations. These destinations may comprise different kinds of communication media such as the presently preferred media of E-mail, printer, or fax machine. Nonetheless, it shall be understood that the present invention provides for flexibility so that other communications media, either now in existence or later developed can be optionally included in the network.
  • Other types of media which may be accessed by the present invention include, for example, data transmission via modems, telephonic voice data such as phone dialing, telex transfers, and a trasnfer to a service for formatting and posting a message in a mail system, such as the U.S. postal system.
  • a user, or message sender, at the terminal HOC may select by name a user at another one of the workstations 110, e.g., HOA and HOB, within the network 100 associated with the name as message destination, the FAX machine 122 associated with a name as a message destination, or the printer 130 associated with a name as a message destination.
  • the user may select one of the workstations 146A, 146B associated with a name as a message destination or the printer 148 associated with a name as a message destination.
  • the user also has access to a number of different documents, or data files, stored in the network 100.
  • These data files such as a text file created with a word processing program, e.g., a WordPerfect document, may be contained in the disk drive 118, or an additional network memory within the network file server 127.
  • Each data file may be stored in one of many different data formats such as image format, text format, page description format, or application specific format.
  • the user may also access data files within the network 145.
  • the general operation to send a message over the network 100 is as follows. To transmit a data file to a desired person or company, the user scans through the list of names, at a workstation HOC, until the desired recipient is found.
  • the user selects the recipient from the list by means of a series of keystrokes on the keyboard 116 or via the mouse 114, for example. If the user wishes to send information to more than one recipient, the user may continue to select other recipients or groups of recipients. Typically, the user has previously selected the transmission medium by which the information is to be sent to each recipient. Thus, in one presently preferred embodiment, the user may select a facsimile destination for one recipient, a printer destination for another recipient and an E-mail destination for another recipient. Once the user has selected a recipient(s) , the user selects the document, or documents, which the user wishes to send to the designated recipient(s) .
  • the user sends the information by, for example, activating the transmit function through the workstation HOC by means of the mouse 114.
  • the user is able to send information having differing data formats to one or more recipients at multiple destinations, each destination receiving information through its own defined communications media.
  • FIG. 2 is a simplified block diagram which shows the primary internal components of the FAX server 120 in the network 100 ( Figure 1) .
  • the FAX server 120 is a modified personal computer, such as an IBM PC/AT or compatible computer.
  • the FAX server 120 manages data transmission to facsimile destinations and is controlled by software such as, for example, the FacSys program licensed by Optus.
  • the FAX server 120 includes a central processing unit (CPU) 150, a memory 155, as well as other conventional internal PC components not explicitly shown here.
  • the FAX server 120 further includes a set of FAX boards 160 which, in one presently preferred embodiment, are Satisfaction 200 FAX Boards available from Intel.
  • a pair of FAX boards may be included within the FAX server 120.
  • Each of the FAX boards 160 connects to the telephone line 124 via a conventional on-board modem (not shown) .
  • a network interface board 170 which may be, for instance, an Ethernet I/O board, is also included within the FAX server 120.
  • the CPU 150, memory 155, FAX boards 160, and network interface board 170 communicate via a bidirectional server bus 175.
  • the FAX server 120 communicates with the bus 140 via a bidirectional communication line 180.
  • Message Launcher Main Loop Figure 3 is a flowchart which, in conjunction with the screen displays of Figures 4A-4B, illustrates one presently preferred embodiment of the message launcher software which transmits data via the network 100, and is a part of the present invention. It should be noted that, unless specified otherwise, the operation described with reference to the flowchart of Figure 3, and the function flowcharts of subsequent figures, is within one of the workstations 110, e.g., workstation HOC, and input and output functions described therein are performed via the input/output devices
  • the message launcher begins at a start state 200.
  • the message launcher may be executed from Microsoft Windows ® 3.X software running on the Microsoft MS- DOS operating system, preferably version 4.1 or higher.
  • the Windows ® software may be run from the RAM memory within any one of the workstations 110.
  • the message launcher software of -li ⁇ the network 100 is normally initiated at Windows ® start-up, although it may also be initiated from the Windows ® Program Manager, or the Windows ® File Manager, for example.
  • the software remains dormant until the user activates the transmission operation.
  • the message launcher may also activate automatically (e.g., by automatically capturing documents sent to the printer from a Windows ® application program, such as WordPerfect for Windows) , as called for by the specific application.
  • the message launcher moves from the start state 200 to a state 205 which displays an address and transmit menu 300 (Figure 4A) on the video display 112 of the workstation HOC.
  • the function of address and transmit menu 300 will be discussed in greater detail below.
  • the address and transmit menu 300 of Figure 4A includes an address index bar 305 comprising more than one on-off switches, or buttons, each button associated on the video display 112 with a character string, and an address list display 310.
  • the menu 300 further includes a transmission medium select display 315 located immediately to the right of the address list display 310, a destination display 320, a data file display 325, and a menu control display 330 including a file select button 332 and a send button 334.
  • the message launcher moves to a decision state 210 wherein a test is performed to determine if the user has activated one of the buttons on the address index bar 305 ( Figure 4A) .
  • the user activates functions on the menu 300 by the "point and click" method associated with pointer devices such as the mouse 114.
  • the index bar 305 the user simply positions the cursor (not shown) on the video display 112 over the desired button and depresses a button on the mouse 114.
  • other indication methods may be used, such as a keyboard, as called for by another specific embodiment of the present invention .
  • both the index bar 305 and the address list 310 are alphabetically ordered so that when the user selects an alphabetic character on the index bar 305, the names beginning with that letter, and possibly the names beginning with letters immediately above and below the selected letter, appear on the display menu 300 within the address list display 310.
  • the (alphabetically) first name beginning with the selected letter is automatically highlighted on the menu 300.
  • the names displayed within the address list display 310 comprise addresses from a personal address list, in addition to addresses from a network-wide address list both of which are stored in a memory within the network server 127 ( Figure 1) . It should be noted, however, that once the message launcher system is active, the personal and network-wide address lists are both downloaded to the memory disk 118 ( Figure 1) of the workstation 110.
  • the message launcher system must subsequently remap the transmission medium select display 315 so that the displayed transmission medium options (i.e., E-mail, FAX, or Printer) correspond to the name displayed in the immediately adjacent row of the address list display 310.
  • the method used by the message launcher system to remap the transmission medium select display 315 so that it corresponds with the address list display 310 is discussed in detail with reference to Figure 16 below.
  • the message launcher moves from the function 212 to a decision state 215. However, if it is determined in the decision state 210 that the user has not activated the index bar 305, the control moves directly from the decision state 210 to the decision state 215. In the decision state 215, a test is performed to determine if the user has selected a destination address and a transmission medium. To select a destination address and transmission medium, the user moves the mouse 114 ( Figure 1) to position the cursor over the transmission medium select display 315.
  • the transmission medium select display 315 is configured to have a row of transmission medium option buttons 316, 317, 318 adjacent to each name listed in the address list display 310.
  • the transmission medium options include E-mail (designated by an E, indicated by buttons 216) , facsimile (designated by an F, indicated by buttons 317) , and printer (designated by a P, indicated by buttons 318) .
  • E-mail designated by an E, indicated by buttons 216)
  • facsimile designated by an F, indicated by buttons 317)
  • printer designated by a P, indicated by buttons 318) .
  • the user may select a particular recipient and transmission medium (i.e., a "who and how" destination) by placing the cursor on the video display 112 in the row adjacent the desired recipient name, and over the button which designates the desired transmission medium.
  • the user clicks the button on the mouse 114 to complete the selection process.
  • the method which the message launcher system uses to determine the correct destination address and transmission medium is described in detail with reference to Figure 17
  • the message launcher proceeds to a decision state 216 which determines if the user has activated the "One Time FAX" function of the system.
  • the One Time FAX function allows a user to send a document, or list of documents to a single facsimile destination without accessing information associated with the addresses in the address list display 310.
  • the user activates the One Time FAX function by placing the cursor over the "*ONE TIME FAX*" listing at the top of the address list display 310 ( Figure 4A) , or over the adjacent row of buttons in the transmission medium select display 315, and clicking the mouse 114 (figure 1) .
  • the message launcher proceeds to a state 218 wherein the user is prompted to enter the FAX telephone number of the destination. From state 218, the message launcher transitions to a state 217. However, if the user has not activated the One Time FAX function, the message launcher moves immediately to the state 217 from the decision state 216. Within the state 217, the selected address and transmission medium are displayed within the destination box 320, as shown in Figure 4B, and information associated with the selected destination address, e.g., "Dan Ohlemacher" , is stored in the memory of the workstation 110 as a destination portion of a send list.
  • information associated with the selected destination address e.g., "Dan Ohlemacher"
  • the send list is a data structure within the memory of the workstation HOC which temporarily stores information associated with each selected address.
  • the send list comprises an attachments list and a destinations list.
  • the destinations list includes three main data fields as illustrated in Table I.
  • the first main data field stores an address list identification number which is a unique index address number that may be used to access information associated with a selected address on the address list.
  • each address is associated with a system data file stored in the network file server 127 ( Figure 1) and containing information about that address.
  • the associated file may contain a facsimile number, an E-mail address, a print location, a recipient's name, etc.
  • the data file associated with each address list also contains the address list identification number stored within the destinations list. This information is accessible by means of the address list identification number stored within the destinations portion of the send list and is utilized when it is time to actually send data files to the designated addresses.
  • the second main data field within the destinations list is a Personal/System flag which is used to indicate whether the selected destination resides within the user's personal address list or the system-wide address list.
  • the third main data field consists of three flags which indicate whether the selected destination is an E-mail, FAX, or printer destination.
  • the nature and function of information stored within the destinations list of Table I may be elucidated by means of the following example. If the user wishes to transmit information to Dan Ohlemacher, who is on the system address list, via the message launcher system of the present invention, the user activates one of the buttons in the transmission medium select display 315.
  • the message launcher system immediately sets one of the transmission medium flags to indicate the transmission medium selected by the user (i.e., E-mail, FAX, or Printer in this embodiment) .
  • the message launcher system sets the Personal/System flag to indicate that the destination is located in the system address list.
  • the message launcher system accesses the data file associated with the name "Dan Ohlemacher" within the address list display 310.
  • a number of data fields are contained including an identification number which uniquely identifies the data file.
  • the message launcher copies this identification number into the destinations list so that the "Dan Ohlemacher" data file may be later accessed from the destinations list.
  • Dan Ohlemacher' s address list identification number is 111
  • the first data field will contain the number 111
  • the second data field will contain a flag set to indicate that the destination address is on the system address list
  • the third data field will contain three flags, one of which is set to indicate that information is to be sent to a printer.
  • the destinations list will therefore comprise a plurality of data records each having the general format shown in Table I.
  • the message launcher moves to a decision state 220. However, if it was determined in the decision state 215 that the user has not selected a destination and transmission medium, the control moves directly to the decision state 220 without entering the state 216.
  • a test is made whether the user has activated the file button 332 ( Figure 4A) e.g., by means of the mouse pointer 118 ( Figure 1) . If the user has activated the file button 332, the system proceeds to a state 222 wherein the user is allowed to enter a file path name designating a file accessible through the network 100.
  • the designated file may be in one of many data formats such as, for example, text format, image format, page description language format, or Windows ® application specific format.
  • Information designating the location of the entered file is then entered into the attachments portion of the send list after a system check is performed to determine if the designated file already resides within the send list.
  • the file name is displayed within the data file display box 325 as shown in Figure 4A. From the state 222, or if the test at state 220 was unsuccessful from state 220, launcher message moves to a decision state 225.
  • the attachments portion of the send list includes three main data fields as illustrated in Table II below.
  • the first main data field is a character array which is advantageously the data path which specifies the location of a data file within a network accessible memory (e.g., the network server 127 ( Figure 1) ) .
  • This character array is copied into the attachments list when the user enters the data path of the file to be sent to the selected destinations as stated above.
  • the second main data field consists of four flags which are used to indicate the attachment of special file types.
  • the first flag indicates whether the attached file is a captured print document.
  • the message launcher system may be activated automatically whenever a user sends a document to a printer from the Windows ® application software. The document thus printed is called a captured print document. If the attachment is a captured print document, then the message launcher system sets the print capture flag.
  • the second and third flags within the second main data field are cover page and memo flags respectively. The cover page or memo flag is set if the attachment is a cover page or a memo respectively.
  • the fourth flag is a FAX routing flag.
  • the FAX routing flag is set to indicate that an attachment is an incoming FAX which is to be routed to a destination within the network 100 ( Figure 1) , and is not essential to the operation of the message launcher system.
  • the third main data field contains the file type of the attached data file.
  • the file type is automatically determined by the system by accessing the memory location specified by the user.
  • the user wishes to transmit an ASCII memo stored at a memory location specified by the data path S: ⁇ WPDATA ⁇ JMC ⁇ JMC-2387
  • the user activates the file button 332.
  • the message launcher then prompts the user to enter the data path of the data file. Once the user has entered the correct data path, the message launcher copies the entered data path into the first main data field.
  • the message launcher accesses the designated data file automatically and determines if this data file is one of the four special data types described above. In this example, the data file is a memo so that the memo flag is set within the second main data field. Finally, the message launcher automatically determines the data type of the designated file.
  • the first data field of the attachments list would contain the character array "S: ⁇ WPDATA ⁇ JMC ⁇ JMC-2387," the memo flag would be set in the second main data field, and an ASCII file type would be indicated within the third main data field of the attachments list.
  • multiple attachments may be included within the attachments list so that multiple data records, each having the same general format shown in Table II, may be included within the attachments list.
  • the message launcher transitions to the decision state 225.
  • a test is performed to determine whether the user has activated any other special functions available from the menu 300 of Figure 4A. Such functions include addition, modification, or deletion of information associated with the addresses shown on the video display 112 in the address list display 310, creation of a memo or a cover page, and other functions which will be described in greater detail below with reference to Figures 6A and 6B. If the user has activated one of the special functions, the message launcher moves to a function 227. At the function 227, the selected special function is performed, as detailed below, and the control moves to a decision state 230.
  • the system proceeds directly from the decision state 225 to the decision state 230.
  • a determination is made as to whether the user has activated the send button 334 ( Figure 4A) . If the user has not activated the send button 334, control proceeds directly to a decision state 235. Otherwise, the send button was depressed and the message launcher moves, wherein a test is performed to determine if valid data files and destinations are contained within the send list. If valid data files and destinations are not stored within the send list, this indicates that there is not enough information to execute the send function and the control moves to the decision state 235.
  • the message launcher instead transitions to a function 234.
  • the data files listed in the send list are converted to the appropriate data format and sent to the selected destinations stored within the send list.
  • the function 234 will be described in greater detail below with reference to Figures 10-14.
  • a decision is made as to whether the user wishes to terminate the data transmission operation of the network 100. In a windows embodiment, this may be accomplished in a variety of ways such as entering an ALT+F4 keystroke, or by pointing to and clicking a termination button 335 in the upper right hand corner of the menu 300.
  • control moves to an end state 240 where the data transmission system operations are switched from the active state to the dormant state. If, however, the user has not selected to terminate the operation, control returns to state 205 of the message launcher.
  • FIG. 5 is a flowchart which illustrates the general method of displaying an index selected range of addresses of the function 212 introduced in Figure 3.
  • the message launcher moves to a state 410.
  • state 410 the workstation 110 scans through the address list for the first letter of a character string which matches the letter activated on the index bar 305. Importing and exporting of the address list is accomplished from Windows ® via dynamic data exchange (DDE) as is understood by those skilled in the technology in conjunction with documentation provided by Microsoft Corporation of Redmond, Washington.
  • DDE dynamic data exchange
  • index bar 305 is shown in Figures 4A and 4B to list the 26 letters of the English alphabet, the index bar 305 may also be implemented to list other alphanumeric strings or patterns to be matched within each button.
  • the first address having the matching character string is scrolled into view, along with the addresses in the immediate vicinity of the selected character string, within the address list display 310. If no matching character string is found in the address list, the address "closest" to the selected character string is scrolled into view within the address list display 310. For example, if no addressed beginning with "A" are stored in the address list, the first address stored in the list will be displayed.
  • the message launcher proceeds to a state 420 wherein the first address beginning with the selected character string (or the address closest to the selected character string) is highlighted, and returns to the main loop ( Figure 3) via a return state 430.
  • Figures 6A and 6B are, together, a flowchart which illustrates the general method used in the function 227, introduced in the discussion of Figure 3 , to execute selected special functions from the menu 300 (Figure 4A) . These special functions will be described in conjunction with Figures 4A, 4B and 7-9.
  • the menu 300 further includes "up” and “down” scroll buttons 350, 352; add, modify and delete control buttons 360, 362, 364; print local, cover page, memo and clear control buttons 370, 372, 374, 376; delete destination and delete data file attachment displays 380, 385; and File, Edit and Help commands 390, 395, 398.
  • Each of these display regions designate special functions in the menu 300 which may be activated by means of a the mouse 114.
  • a subject entry box 399 ( Figure 4A) is also displayed in the menu 300, and allows a user to enter a comment relating to the subject of the current message.
  • a test is performed to determine if the scroll "down" button is activated by the user. If the user has not activated the scroll down button, the message launcher moves to a decision state 510. However, if the user has activated the scroll down button, the control moves to a state 508. Within the state 508, processing software and display circuitry within the workstation 110 causes the address list display 310 to scroll in the down direction. Until the user releases the mouse button or the bottom of the address list is reached, as in the case of the up scroll function, a series of names may be highlighted to indicate the address in the list which is currently accessible by clicking the mouse button. The message launcher then proceeds from state 508 to the decision state 510.
  • a test is performed to determine whether the "add" button 360 ( Figure 4A) has been activated. If the user has not activated the add button 360, the function moves immediately to a decision state 516. If the user has activated the add button 360, however, this indicates that the user wishes to add a new entry to the network address list (stored on the network file server 127 of Figure 1) or personal address list (also stored on the network file server 127 of Figure 1) . Thereafter, the function moves to a state 512 wherein the user is presented with an "add address" window 600 shown in Figure 7A.
  • the add address window 600 includes first and last name entry boxes 602, 604, an affiliation (e.g., company name) entry box 606, a postal address entry box 610, a comment box 612, voice mail 1 and 2 boxes 614, 616, an E-mail address box 618, a fax number entry box 620, and a printer queue entry box 622.
  • OK and Cancel buttons 624, 626, as well as a copy data button 627 and a create group button 629 are also displayed within the add address window 600.
  • Each of these entry boxes corresponds to a data field within an address list database.
  • the address list database comprises a plurality of records, each of which is associated with a single address within the address list display 310.
  • the format of the data fields within each record generally corresponds to the entry boxes 602-622 shown in Figure 7A. That is, a data field exists within the record for each entry box 602-622.
  • each record associated with an address in the address list display 310 includes a data field containing the address list identification number which uniquely identifies that record, and a data field containing a Group/Individual entry flag.
  • the Group/Individual entry flag indicates whether the record is an individual entry or part of a group entry. Group entries will be discussed in greater detail below with reference to Figure 7D.
  • the user is prompted to type in information using the keyboard 116, beginning with the destination recipient's first name (box 602) and ending with the print queue designation of the destination (box 622) . If the user does not have some of the information requested, the user may simply depress the "Enter” button on the keyboard 116 and leave the entry box blank. If the user enters an E-mail address in the box 618, this will cause a letter "E" to appear in the appropriate box of the transmission medium select region 315 adjacent the address name in the address list display 310. Likewise, when the user has entered a facsimile number or a printer queue location, a letter "F" or "P,” respectively, will appear in the appropriate boxes when the system returns to the main menu 300 ( Figure 4A) .
  • the user may opt to use the copy data button 627.
  • the user When the user activates the copy data button 627, the user is prompted with a request to enter an address name. After the user enters the address name, the information stored in the address entered by the user is then transferred to the currently displayed add address window 600. If the user desires to create a group from the add address window 600, the user activates the create group button 629.
  • the create group function allows the user to define a group of individual destinations as a single group so that all of the attachments, i.e., data files, are sent to each of the individual destinations defined in the group.
  • a create group display 650 (Figure 7D) appears on the user's display screen 112.
  • the create group display 650 is similar in appearance to the menu 300 of Figure 4A, and includes the address index bar 305, the address list display 310, and the transmission medium select region 315.
  • the create group display 650 also includes an enlarged destinations box 655 where the user enters the addresses of individuals which are to be included within the group.
  • the user finds the individual's address in the address list display 310 and activates the appropriate button (i.e., E- mail, Fax, or Printer, in the presently preferred embodiment) on the horizontal row of the transmission medium select region 315 adjacent the desired address.
  • the appropriate button i.e., E- mail, Fax, or Printer, in the presently preferred embodiment
  • the address name is then displayed within the destinations box 655 along with a designator indicating the selected transmission medium.
  • the user enters the group name into a box 660.
  • the name entered within the box 660 will be displayed within the address list display 310 to designate the group defined by the user e.g., "Fax Conductor Team" shown in the display 310.
  • the user then activates a "Done” button 665 to complete the group definition process.
  • the user can simply activate a "Cancel” button 670 which causes the add address window to reappear on the video display 112.
  • Figure 7D shows two examples of user defined groups. Both groups have a straight bar 670, rather than three individual E, F, and P, buttons, within the transmission medium display region 315 adjacent the group name. In one embodiment, the bar 670 may have the word "Group" displayed therein.
  • the new group is created and the Done button 665 is activated, the main menu 300 reappears on the display screen 112. However, if the user activates the Cancel option 670, the add address window 600 ( Figure 7A) reappears on the display screen 112.
  • the user is presented with an option to add the new address to the network-wide address list or to his own personal address list to which the user has exclusive access.
  • the user may select the personal or the system-wide address list by placing the cursor over a selection region 628 and clicking the mouse button over either the "personal" or "system” radio buttons 628, as shown in Figure 7A.
  • the administrator on the network 100 are typically provided with the option to add, modify or delete entries from the system-wide address list. All other users may only make such changes to their own personal address list.
  • the user may activate the OK button 624 which causes the entered information to be added to either the personal or the system-wide address database, as shown in the state 514.
  • the user may activate the cancel button 626.
  • the address database may comprise a single database having different portions accessible by different users, or the address database may comprise several parts, each of which is stored in a separate memory location.
  • both the personal and system address list data bases are stored within the network file server 127.
  • the system may also be implemented such that each user's personal address database is stored in the memory of that user's workstation terminal 110, while the system-wide address database may be stored in a memory accessible by all of the terminals 110 within the network 100 (e.g., within the network server 127) .
  • the memory containing the address database (either the personal or the system-wide) is the memory which the send list accesses to obtain pertinent transmission information such as the E-mail address, fax number or printer queue location of the destination.
  • the new address name is added to the address list display 310 (e.g., in alphabetical order) as the system returns to the menu 300.
  • the function continues to the decision state 516 to test whether the modify button 362 has been activated from the menu 300. If the user has not activated the modify button 362, the control moves from the decision state 516 to a decision state 522. If the user has activated the modify button 362, however, this indicates that the user wishes to modify information associated with an existing address displayed in the address list display 310.
  • the function proceeds to a state 518 wherein a "modify address" window 630 ( Figure 7B) is displayed.
  • the modify address window 630 contains information associated with the address currently highlighted in the address list display 310.
  • the modify address window 630 is substantially the same configuration as the add address window 600 with some exceptions.
  • the entry boxes in the modify address window 630 already contain information associated with the address which was highlighted when the user activated the modify button 362 ( Figure 4A) .
  • a create group button 629 ( Figure 7A) is not provided.
  • the modify address window 630 is presented, the user is able to change any of the information displayed in the modify address window 630. If the user does not wish to save the changes, the user need only activate the Cancel button 626 to return to the main menu 300. If the user wishes to save the changes, the user simply activates the OK button 624. When the user activates the OK button 624, the control moves to a state 520 wherein the new information replaces the old entries in the personal or system-wide database.
  • the menu 300 is once again displayed and the control moves from the state 520 to the decision state 522.
  • a test is performed to determine whether the user has activated the delete button 364 ( Figure 4A) . If the user has not activated the delete button 364, the function proceeds directly to a decision state 526. However, if the user has activated the delete button 364, the function moves to a state 524 wherein a delete address window 640 ( Figure 7C) is displayed.
  • the delete address window 640 displays information associated with the address which is highlighted in the address list display 310 ( Figure 4A) . This provides the user with the opportunity to see the data which is to be deleted so that accidental deletions are avoided. If the user still desires to delete this entry from the address list display 310, along with its associated information in the address database, the user may activate the OK button 624. However, if the user does not wish to delete this entry, the user may activate the Cancel button 626 to return to the main menu 300 .
  • decision state 526 a test is performed to determine if the print local button 370 ( Figure 4A) has been activated by the user. If the user has not activated the print local button 370, the program flow continues to a decision state 532 ( Figure 6B) through a continuation point "A". on the other hand, if the user has activated the print local button 370, control instead moves to a decision state 528, which determines if a document has been captured for printing.
  • a document may be captured, for example, automatically when the user prints a document from a Windows ® application program (e.g., Lotus 1-2-3 ® , Microsoft Word ® , etc.) .
  • the printing of the document from a Windows ® application program causes the dormant transmission operation (the flowchart of Figure 3) to activate automatically (in some applications) .
  • a document is captured and the user is provided with the option to print this document locally.
  • the control moves from the decision state 528 to a state 530, wherein the captured document is printed on the user's local printer.
  • control moves to the decision state 532 through the continuation point "A" .
  • a test is performed to determine if the user has activated the clear button 376 ( Figure 4A) .
  • a state 534 is entered wherein all the information relating to message transmission is cleared. That is, the send list is cleared and the destination box 320 and data file display box 325 are blanked.
  • the message launcher moves from either state 532 or 534 to the decision state 536, wherein a test is performed to determine whether the user has activated the memo button 374 ( Figure 4A) . If the user has not activated the memo button 374, the process flow continues to a decision state 542.
  • the edit box 700 includes an ASCII text entry box 705, an OK button 710, a Cancel button 720, a Clear button 730, a "save as" button 740, an Open button 750, and a Previous button 760.
  • the edit box 700 appears, the user may immediately begin typing to enter text (stored in ASCII text data format) into the text entry box 705.
  • the user may select one of the function buttons displayed to the right of the text entry box 705.
  • the user can activate the Previous button 760.
  • the user wants to open and read a system file (i.e., a file available through the network 100) for editing within the memo window 700, the user activates the Open button 750. T h e user is then prompted to enter the file name of the text which is to be entered into the text entry box 705. If the user wishes to save the memo under a particular name rather than the name automatically assigned to the memo by the network 100, the user may activate the "save as" button 740. The user is then prompted to type in the file name to be assigned to the memo.
  • the user can activate the Clear button 730. If the user wants to exit the memo window 700 without saving the memo, the user is required to activate the Cancel button 720. Finally, if the user desires to exit the memo window 700 and have the system automatically save the memo, the user can activate the OK button 710.
  • the function moves from the state 538 to a state 540 wherein the memo entered by the user is added to the send list as an additional document in ASCII text data format.
  • the designator "memo" or a document name given to the memo by the user is then displayed in the data file box 325 on the menu 300.
  • Figure 7B moving from state 540 to the decision state 542, a determination is made if the user has activated the cover page button 372 on the menu 300. If it is determined that the user has not activated the cover page button 372 ( Figure 4A) , the control moves immediately to a decision state 548.
  • an edit box 770 shown in Figure 8B is substantially the same as the edit box 700 ( Figure 8A) with the exception that the title bar of the edit box 770 reads "cover page” instead of "memo,” is displayed and the user is allowed to enter text just as when the memo button 374 ( Figure 4A) is activated.
  • the function proceeds from the state 544 to a state 546.
  • the cover page document created by the user is added to the beginning of the send list as an ASCII text data format document.
  • the cover page document will be communicated first.
  • the system displays a document name indicating the cover page at the top of the data file box 325 ( Figure 4A) .
  • the function moves to the decision state 548 to test whether one of the delete destination buttons 380 ( Figure 4A) has been activated by the user. If the user has not activated any of the delete destination buttons 380, the function proceeds immediately to a decision state 552. However, if the user has activated one of the delete destinations buttons 380, the function moves instead to a state 550.
  • the destination adjacent to the delete button 380 which was activated by the user is deleted from the send list.
  • the documents within the data files box 325 will not be transmitted to that destination.
  • the name designating that destination is deleted from the destinations box 320.
  • a test is performed to determine if the user has activated any of the delete data file buttons 385 ( Figure 4A) . If the user has not activated any of the delete data file buttons 385, the control moves directly to a decision state 556. However, if the user has activated one of the delete data file buttons 385 ( Figure 4A) , the function proceeds to a state 554, wherein the data file whose name is adjacent the activated delete button 385 is deleted from the send list. That is, the deleted data file will not be sent to any of the designated destinations. The data file name which is displayed within the data file display box 325 is also deleted.
  • a test is performed to determine if the user has activated the file display region 390 ( Figure 4A) . If the user has not activated the file display region 390, the control moves to a decision state 560. However, if the user has activated the file display region 390, the function proceeds to a state 558 wherein a file pull-down menu 800 ( Figure 9A) is displayed.
  • the file pull-down menu 800 contains a list of options which are available to the user. Most of the options available to the user through the file pull-down menu 800 are substantially the same as options provided on the display and transmit menu 300 ( Figure 4A) . As shown in Figure 9A, the file pull-down menu 800 includes a memo option 805, a cover page option 810, a file selection option 815, a clear option 820, a send option 825, a print local option 830, a print set-up option 835, a preferences option 840, and an exit option 845.
  • the cover page option 810, the file selection option 815, the clear option 820, the send option 825, and the print local option 830 function in substantially the same way as the cover page button 372, the file button 332, the clear button 376, the send button 334, and the print local button 370 respectively on the menu 300 shown in Figure 4A.
  • the print set-up option 835 allows the user to modify certain printer parameters as is well understood in the relevant technology.
  • the preferences option 840 allows the user to set certain system parameters and options, such as suppression of form feeds, E-mail receipt notification, designation of the local printer port, standard or fine resolution facsimile transmittal, etc.
  • the preferences option 840 is conventional and is typically found in most Windows ® applications software.
  • the exit option 845 causes the message launcher to quit.
  • the data transmission operation of the network 100 is returned to the dormant state until the user activates the data transmission operation, or the transmission operation is activated automatically.
  • a test is performed to determine whether the user has activated the edit display region 395 ( Figure 4A) .
  • an edit pull-down menu 850 ( Figure 9B) is displayed by the system.
  • the edit pull-down menu 850 also includes a list of options. These options include an add option 855, a modify option 860, and a delete option 865.
  • the add, modify, and delete options 855, 860, 865 perform substantially the same functions as the add, modify, and delete buttons 360, 362, 364 respectively, found in the menu 300 of Figure 4A.
  • the function moves to the decision state 564, wherein a test is made as to whether the user has activated the help display 398. If the user has not activated the help display 398, the control moves to a return state 568. If the user has activated the help display region 398, the function proceeds to a state 566, wherein the system displays a help pull-down menu 870 ( Figure 9C) .
  • the help pull-down menu 870 includes a list of help options.
  • the help options include an index option 875, a buttons option 880, a commands option 885, a glossary option 890, a procedures option 895, a general system help option 897, and a special message launcher system help option 898.
  • the index, buttons, commands, glossary, and procedure help options 875-895 are conventional and well understood in the technology.
  • the general system help option 897 is also conventional and gives the user access to information about the general Windows ® application software which the user is currently running.
  • the special help option 898 gives the user access to specific information about the data transmission operation of the present invention described with reference to Figure 3 generally and more specifically with reference to the flowcharts of Figures 5, 6A, 6B, 10A, 10B and 11-14.
  • the function of Figure 6B continues from the state 556 to the return state 568 wherein control is returned to the main loop of the message launcher (shown in Figure 3) and enters the decision state 230.
  • control begins in a state 900 when the user activates the Send button 334 on the menu 300 ( Figure 4A) .
  • the control flow then proceeds to a decision state 903 wherein a decision is made as to whether an E-mail destination has been designated by the user. If an E-mail destination has not been designated by the user, the function proceeds to a decision state 906. However, if an E- mail destination has been designated by the user, the function moves instead to a state 909.
  • a file to be transmitted to the E- mail destination is retrieved from the send list stored in the memory of the workstation 110.
  • the message launcher transitions to a function 912 wherein the retrieved data file is converted to E-mail compatible format.
  • the function 912 will be described in greater detail below with reference to Figure 11.
  • control flow moves from function 912 to a state 915 wherein the converted file is saved within the disk drive memory 118 of one of the workstations 110.
  • a test is performed to find whether another file needs to be converted into E-mail format. If another file needs to be converted into E-mail format, control moves from the decision state 918 to the state 909 and the cycle described above is repeated until all files which are to be sent to the designated E-mail destination have been converted.
  • the E-mail conversion process and the facsimile conversion process employed in accordance with the present invention may involve the same conversion scheme for a certain data file format, it is possible for the same file, which is to be sent to both a facsimile and an E- mail destination, to be converted into a the same data format by both the E-mail and facsimile conversion processes.
  • the decision state 927 therefore allows the network 100 to save valuable processing time if the same file, having the same conversion, is sent by E-mail and by facsimile. Thus, if one such file has already been converted into a suitable data format by means of the E-mail conversion process, the function proceeds immediately from the decision state 927 to a decision state 936.
  • the control moves to a function 930.
  • the file is converted into a facsimile data format.
  • a more detailed description of the conversion process employed within the facsimile conversion function 930 will be given below with reference to Figure 12.
  • Transitioning from the function 930 to a state 933 the converted file is saved within the disk drive 118 of one of the personal computer workstations 110.
  • the function moves the decision state 936 wherein a test is performed to determine if another file must be converted into facsimile data format. If another file is to be transmitted to a facsimile destination, control once again returns to the state 924 wherein the next file is retrieved from the send list. However, if there are no more files to be sent to the facsimile destination, control instead moves to the decision state 921.
  • a test is performed to determine whether there are any files to be sent to a printer destination.
  • control flow proceeds to a decision state 954. However, if it is determined that there are files to be sent to a printer destination, the function moves to a state 939 wherein a file to be sent to the printer destination is retrieved from the send list. Then, proceeding to the decision state 942, a determination is made as to whether the file just retrieved had already been converted into a suitable data format by means of the E-mail or facsimile conversion functions 912, 930.
  • control flow proceeds to a decision state 951.
  • the control moves instead to a function 945, wherein the file is converted into printer data format.
  • the method employed within the function 945 to convert the file into printer data format will be described in greater detail below with reference to Figure 13.
  • the converted file is saved within the disk drive 118 of the workstations 110.
  • Control flow then transitions from the state 948 into the decision state 951, wherein a test is performed to determine if another file is marked for sending to a printer destination. If another file is to be sent to a printer destination, the control flow returns to the state 939 wherein the next file to be sent to the designated printer destination is retrieved from the send list and the above- described process is repeated until there are no longer any files to be transmitted to the designated printer destination.
  • the convert and send files function continues from the decision state 951 ( Figure 10A) to the decision state 954 ( Figure 10B) via the continuation point A.
  • a determination is made as to whether there are any data files which are to be sent to a printer destination. If there are no files to be sent to a printer destination, the control flow moves from the decision state 954 to a decision state 957. However, if it is determined that files are to be sent to a designated printer destination, the function moves instead to a state 960. At the state 960, the files which have been converted and saved for printer destinations are concatenated. Control then passes to a state 963 wherein the designated printer destination is retrieved from the send list.
  • Control flow moves from the state 963 to a state 966 wherein the concatenated files are sent to the designated print queue. Then, moving to a decision state 969, a test is performed to determine whether another printer destination has been designated. If another printer destination has been designated, control returns to the state 963 from the decision state 969. The cycle therefore repeats until there are no longer any files to be sent to printer destinations.
  • a test is performed to determine whether there are any files to be sent to E-mail destinations. If there are no files to be sent to E-mail destinations, the function proceeds to a decision state 972. If, however, if it is determined that there are files to be sent to E-mail destinations, the function moves instead to a state 975 wherein an E-mail header, e.g., as provided for by the Novell Netware Standard, is created using the message text entered by the user via the cover text edit box 770 ( Figure 8B) . If the user has not entered a cover page, a blank E-mail header is created instead.
  • an E-mail header e.g., as provided for by the Novell Netware Standard
  • a test is conducted to determine whether a page description language (PDL) flag has been set.
  • PDL page description language
  • the PDL flag may be set within the E-mail conversion process 912, and the purpose of the PDL flag will be described with reference to Figure 11.
  • the PDL flag has not been set, the decision state 981 to a state 984, wherein the E-mail header and corresponding attachments are transmitted to the E-mail destinations designated by the user via the bus 140 ( Figure 140), and the function proceeds to the decision state 972.
  • the function moves from the decision state 981 to a function 987.
  • the E-mail header and attachments are sent from the workstation 110 to the FAX server 120 ( Figure 1) for further conversion and processing.
  • the conversion and processing method employed within the function 987 will be described in greater detail below with reference to Figure 14.
  • a test is performed to determine whether there are any files to be sent to facsimile destinations. If it is determined that there are no files to be sent to facsimile destinations, the control flow proceeds immediately to a return state 999 wherein control of the process returns to the main loop of the message launcher ( Figure 3) . If, however, if there are files to be sent to facsimile destinations, the function instead transitions to a state 990 wherein an E-mail header is created using the cover page text entered by the user. Again, if the user has not entered a cover page message text, a blank E-mail header is created by the system.
  • a test is performed to determine whether the incoming file is in one of the presently preferred formats of PDL, PCX/DCX, ASCII, binary file, or Windows ® application. If the user selected data file is not in any one of these data formats, the control flow continues to a decision state 1010. However, if the incoming data file is in one of the above-listed predetermined data formats, at a decision state 1015 a test queries whether any one of the files attached to the E-mail header is in PDL format. If one of the files attached to the E-mail header is in PDL format, the function moves to a state 1020 wherein a PDL flag is set.
  • the PDL flag indicates to the system that special processing must be performed by the FAX server 120 at a later time within the data transmission operation of the present invention.
  • the function completes via a return state 1025 from either the decision state 1015 (i.e., if it is determined that none of the attached files is in the PDL data format) or the state 1020. If, in the conversion function illustrated in Figure 11, it was determined within the decision state 1005 that the incoming file is not in one of the prespecified data formats, at the decision state 1010 the condition is tested as to whether the data file is in scanner data format, i.e., the format of data files produced by image scanning devices, for example, the PCX or BMP standard.
  • the function proceeds immediately to a state 1030 wherein the data file is ignored and a message is sent to the user indicating that the data file is not system compatible. Now moving from the state 1030 to the return state 1025, control is returned to the convert and send files function described with reference to the flowchart of Figure 10A.
  • the function proceeds from the decision state 1010 to a state 1035, wherein the file in scanner data for at is converted to a file in the PCX data format standard set forth by Zsoft or the DCX data format standard set forth by DCA and Intell.
  • the conversion from scanner data format to PCX/DCX data format is conventional and will be readily understood by one skilled in the technology.
  • the function proceeds from the state 1035 to the return state 1025 where control is returned to the process outlined in the flowchart of Figure 10A.
  • Figure 12 is a flowchart which details the specific method used to convert data files into facsimile compatible data formats within the facsimile conversion function 930 ( Figure 10A) .
  • the method begins at a start state 1100, and proceeds to a decision state 1105 wherein a test is performed to determine whether the incoming data file is in one of a preselected format, such as, for example, ASCII, PDL or PCX/DCX. If the incoming file is in any one of the preselected formats, this indicates that there is no need to convert these files prior to transmitting them via facsimile, and the function moves immediately to a return state 1110, wherein control of the method is returned to the process outlined in the flowchart of Figure 10A.
  • a preselected format such as, for example, ASCII, PDL or PCX/DCX.
  • the function moves instead to a decision state 1115, wherein a test is performed to determine whether the incoming data file is a Windows ® application specific file. If the incoming file is not a Windows ® application specific file, the function proceeds to a decision state 1120. However, if it is determined that the incoming file is a Windows ® application specific file, the control flow moves to a state 1125 wherein this file is converted to PDL via a DDE call to the Windows ® applications program and the function returns at state 1110.
  • FIG. 13 is a flowchart which details the specific method employed within the printer conversion function 945 identified in Figure 10A. The method begins at a start state 1200 and moves to a decision state 1205 wherein a test is performed to determine whether the data file is in the ASCII or PDL data format. If it is determined at the decision state 1205 that the data file is not in the ASCII or PDL data formats, the flow transitions to a decision state 1210.
  • a test is performed within the decision state 1210 to determine whether the data file is in the PCX/DCX or scanner data formats. If the data file is not in the PCX/DCX or scanner data formats, the function moves from the decision state 1210 to a decision state 1225. Alternatively, if the data file is in the PCX/DCX or scanner data formats, at a state 1230, the file is converted to PDL raster graphics and the function terminates at state 1220.
  • the conversion of files from the PCX/DCX or scanner data formats into PDL raster graphics is conventional and well-known to those of ordinary skill in the field of data conversion.
  • a test is performed within the decision state 1225 to determine whether the data file is a Windows ® application specific file. If the incoming data file is not a Windows ® application specific file, the control moves to a state 1235 wherein the data file is ignored and a message is sent to the user indicating that the file is system incompatible and the function completes to the return state 1220. If, however, it is determined that the data file is a
  • Figure 14 is a flowchart which details the method employed within the fax server functions 987, 996 ( Figure 10B) . These functions are executed in the fax server 120 of the network 100 shown in Figure 1.
  • the method begins at a state 1300 wherein an E-Mail header along with its attachments is retrieved. Then moving to a decision state 1305, a test is conducted to determine whether the E-mail header and the associated attachments are to be sent to a facsimile destination.
  • the function moves to a state 1310, wherein the header message (which is in the ASCII data format) , and all other attachments which are in the presently preferred set of formats, namely, ASCII, PDL, or PCX/DCX data formats, are converted to CCITT Group III facsimile data format.
  • the conversion of data files from the ASCII, PDL, and PCX/DCX data formats to the Group III fax data format is conventional and well-understood by those skilled in the relevant technology.
  • the converted files are sent to the designated facsimile destinations via the telephone lines 124 ( Figure 1) , and control of the process then returns to the state 1300 wherein the next E-mail header, with its associated attachments, is retrieved.
  • the function moves immediately to a state 1335. However, if it is determined within the decision state 1330 that the retrieved attachment is in PDL data format, control instead passes to a state 1340, wherein the PDL data format data file is converted to PCX/DCX data format.
  • the conversion of PDL data format files to PCX/DCX data format files is conventional and well understood by those skilled in the technology. Now moving from the state 1340 to the state 1335, the attachment (i.e., either the old, unconverted attachment or the newly converted PCX/DCX attachment) is attached to the newly created E-mail header.
  • the function next moves from the state 1335 to a decision state 1345 wherein a test is performed to determine whether another attachment remains to be processed. If another attachment still remains, control returns to the state 1325 wherein the next attachment is retrieved from the old cover page and the above-described cycle repeats until no more attachments remain.
  • the decision state 1345 to a state 1350, the newly created E-mail header, and the associated files attached to the E-mail header, are sent to their designated E-mail destinations from the FAX server 120 via the network bus 140.
  • the function moves from the state 1350 to the state 1300 wherein the next E-mail header and attachments are retrieved.
  • Figure 14 has been described as though it were a continuously running process, the method is . actually interrupt driven. That is, the FAX server 120 begins processing from the state 1300 once an interrupt signal is generated by one of the workstations 110 indicating that an E-mail header and attachments need to be processed by the fax server.
  • Figure 15 is a data flow diagram 1400 which shows the inter-relationships among the main functions of the message launcher system and the principal data files in the network 100 ( Figure 1) .
  • the flow diagram 1400 includes six sets of data wherein the information necessary to operate the message launcher system is stored.
  • a set of data files or messages 1405 is stored in a network accessible memory (i.e., any memory accessible to the user via a data path specified by the user) .
  • An attachments list 1410 is preferably stored in the system disk 118 of the workstation 110 ( Figure 1) (see Table II above) and a destinations list 1415 is stored in the workstation memory 118 (see Table I above) .
  • a set of converted files 1420 is stored in the workstation memory 118.
  • the converted files 1420 correspond to the data files 1405 after they have been converted into a suitable data format to be transmitted over the designated medium.
  • the personal and system-wide address lists 1425, 1430, are also stored within the workstation memory 118.
  • the personal and system-wide address lists 1425, 1430 are stored temporarily within the memory 118 of the user's workstation 110 during operation of the message launcher system, the permanent memory locations of the personal and system-wide address lists are presently preferred to be within the network server 127 ( Figure 1) .
  • the destination designation function 217 incorporates inputs from either the personal or the system-wide address list 1425, 1430, and from the user (not shown) .
  • the user supplies information relating to the personal/system flag data field, as well as information relating to the E-mail, FAX, or printer flag data fields.
  • the lists 1425, 1430 supply the address list identification number stored within the first data field.
  • the designate destinations function 217 then outputs the completed destination list to the destination list memory 1415.
  • the attachment designation function 222 incorporates inputs from the user and the data files 1405.
  • the user supplies the data path of the file to be transmitted while the data files memory supplies information, inherently in their internal format, relating to the file category and data type.
  • the designate attachments function 222 then outputs a completed attachments list 1410.
  • the files are first converted into a suitable data format within a convert files function 1445.
  • the convert files function 1445 corresponds to the portion of the convert and send files function depicted in Figure 10A.
  • the convert files function 1445 incorporates inputs from the user, the data files 1405, the attachments list 1410, and the destinations list 1415.
  • the user supplies the initial signal which commences conversion and transmission of the data files 1405.
  • the attachments list 1410 supplies the data path and data type of the files to be sent.
  • the data files 1405 comprise the data files as accessed through the data path, and the destinations list 1415 supplies the transmission medium over which the files are to be sent.
  • the convert files function 1445 utilizes these inputs to provide the data files 1420 which are in a suitable data format for transmission over the designated transmission media.
  • the convert files function 1445 then outputs the converted data files 1420 to a memory.
  • the converted files 1420 are input by a send files function 1450.
  • the operations performed within the send files function block 1450 generally correspond to the portion of the convert and send files routine depicted in Figure 10B.
  • the send files function 1450 incorporates inputs from the destinations list 1405, and the personal or the system-wide address lists 1425, 1430.
  • the destinations list 1415 supplies the address list identification number, information indicating whether the address is found within the personal or the system-wide address list 1425, 1430, and information indicating the transmission medium.
  • the send files function 1450 then accesses the appropriate memory (i.e., personal or system) and data file (via the address list identification number) and obtains the information appropriate to the selected transmission medium.
  • the send files function 1450 retrieves the facsimile number stored within the accessed address list 1425 or 1430.
  • the send file function 1450 then accesses the transmission medium and outputs the converted data files 1420 to the designated destinations (e.g., printer, FAX, or E-mail) .
  • the message launcher system also includes other peripheral functions as indicated by the create memo and create cover page functions 1455, 1465. These functions receive user inputs, as described with reference to Figures 8A and 8B above, and output completed ASCII text data files to the data memory 1405.
  • the create memo and create cover page functions 1455, 1465 also output data to a set memo flag function 1460 and a set cover page flag function 1470, respectively.
  • the set memo flag and set cover page flag functions 1460, 1470 access the attachments list 1410 and set the memo and cover page flags within the second data field as shown in Table II above.
  • delete attachments function 554 (corresponding to the function 554 in the flowchart of Figure 6B)
  • delete destinations function 550 (corresponding to the function 550 in the flowchart of Figure 6B)
  • the delete attachments and delete destinations functions 554, 550 receive inputs from the user (not shown) and access the attachments and destinations lists 1410, 1415 respectively to delete information stored within these lists.
  • An Add, Delete, or Modify function 1485 receives inputs from the user and accesses either the personal or the system address lists 1425, 1430 in response to the user inputs.
  • the Add, Delete, or Modify function block 1485 then performs operations on the address lists 1425, 1430 as described with reference to Figures 7A-7C above.
  • a dashed line is depicted from the function block 1485 to the system address list 1430 to indicate that only network administrators are able to Add, Modify, or Delete entries within the system-wide address list.
  • Figure 16 is a flowchart which illustrates the function of the message launcher system used to re-map the transmission medium via the display 315 of the menu 300 ( Figure 4A) so that the "E", "F” and "P" buttons correspond to the name displayed in the immediately adjacent row of the address list display 310.
  • This re-mapping of the transmission medium select display 315 is necessary each time the user scrolls through the list of names within the address display 310, or accesses a name by means of the index 305.
  • the function of Figure 16 would be applied by state 410 i Figure 5.
  • the message launcher enters a state 1500.
  • the message launcher transition from the state 1500 to a state 1505 which determines the address list identification number of the name or user group displayed at the top of the address list display 310.
  • each name displayed within the address list display 310 has an associated address list identification number which uniquely identifies a data file record associated with that name.
  • the message launcher system has immediate access to this identification number once the location of the name in the address list display 310 has been determined. The method of determining the location of a name within the address list display 310 will be described with reference to Figure 17 below.
  • the message launcher transitions from state 1505 to a state 1510 which determines whether or not the currently accessed name is from the system-wide address list 1430 or the user's personal address list 1425 ( Figure 15) .
  • the personal/system flag which indicates the address database in which the data record associated with the address name is contained, is also immediately accessible by the message launcher system once the location of the name within the address list display 310 has been determined. When the address list identification number and the personal/system flag have been determined, the message launcher system accesses the data record associated with the given address.
  • the message launcher system transitions from the state 1510 to a state 1515 which determines if the name associated with the accessed data record is a group entry. If the name is not a group entry, then the message launcher immediately moves to a state 1520. However, if the name is a group entry, the message launcher transitions from the state 1515 to a state 1525 which sets all of the communications media buttons (i.e., the "E", "F” and "P" buttons) in the row immediately adjacent to the group entry name to a group bar (see Figure
  • the message launcher then transitions to a state 1530.
  • the message launcher system moves from the state 1515 immediately to the state 1520 which determines if the name has an E-mail address.
  • the message launcher system determines whether or not the name has an associated E-mail address by accessing the data record associated with that name. If the name does have an E-mail address, the message launcher transitions from the state 1520 to the state 1535 wherein the E-mail button in the row immediately to the right of the listed name is enabled. Thus, a user is able to select an E-mail destination for that name.
  • a letter "E" is also displayed within the E-mail button immediately to the right of the listed name.
  • the message launcher transitions from the state 1520 to a state 1540. Within the state 1540, the message launcher disables the E-mail button in the row immediately to the right of the name. In addition, the E-mail button is blanked to indicate that name does not have an E-mail address.
  • the message launcher transitions from either the state 1540 or the state 1535 to a state 1545 which determines if the name associated with the accessed data record has a facsimile address. If the name does have a facsimile address, then the message launcher transitions to a state 1550 wherein the fax button in the row immediately to the right of that name is enabled. The message launcher also displays a letter "F" within the enabled facsimile button on the transmission medium select display 315. If the name associated with the accessed data record does not have a facsimile address, however, then the message launcher transitions from the state 1545 to a state 1555. Within the state 1555, the message launcher disables the fax button in the row immediately to the right of the name. The message launcher also blanks that fax button to indicate that no facsimile destination is available for the name.
  • the message launcher system transitions from either the state 1555 or the state 1550 to a state 1560 which determines if the name associated with the accessed data record has a print queue address. As is the case with the E-mail and fax destinations, the message launcher determines if the name has an available print queue address by accessing the data record associated with that name. If the name does have a print queue address, then the message launcher transitions to a state 1565 wherein the print button in the row immediately to the right of that name is enabled. A "P" is also displayed within the print button to the right of the displayed name. If the name associated with the accessed data record does not have an available print queue address, then the message launcher transitions from the state 1560 to a state 1570. Within the state 1570, the message launcher disables the print button in the row immediately to the right of the displayed name and blanks the print button to indicate that this address does not have an available printer destination.
  • the message launcher transitions to the state 1530 from any one of the states 1525, 1570, or 1565. Within the state 1530, the message launcher determines if the current name is the name at the bottom of the address list display 310. If the current name is not at the bottom of the address list display 310, then the message launcher transitions to a state 1575 which determines the address list identification number associated with the next displayed name (i.e., the name immediately beneath the last name) . The message launcher then transitions from the state 1575 to the state 1510 so that the processes repeats for each name displayed within the address list display 310.
  • FIG. 17 is a flowchart which illustrates the function of the message launcher system used to determine the destination address and transmission medium selected by a user when one of the transmission medium select buttons (i.e. , the "E", "F” or “P” buttons) has been activated (e.g., by means of the mouse 114 of Figure 1) .
  • the transmission medium select buttons i.e. , the "E", "F” or "P” buttons
  • Windows application programs operate on the basis of a mapping format wherein a Cartesian coordinate system of pixels are defined to correspond to areas on the video display screen 112 ( Figure 1) .
  • each of the buttons within the transmission medium select display 315 ( Figure 4A) has a unique X and Y position as defined within the Windows application program.
  • the message launcher system is therefore able to determine which options the user has selected by determining the X and Y position of the mouse cursor on the video display 112 when the user activates the mouse button 112.
  • the function of Figure 17 is applied, for example, during the decision state 215 of Figure 3.
  • the message launcher system enters a state 1600.
  • the message launcher transitions from the state 1600 to a state 1610 which determines the X and Y coordinate position values of the cursor location within the transmission medium select display 315.
  • the message launcher next moves to a state 1620 which determines which name is at the top of the address list display 310.
  • This name has a Y coordinate value which corresponds to the location of that name within the entire address list and not just the portion of the address list visible within the address list display 310.
  • the very first name in the list e.g., the One Time Fax option in one embodiment
  • the name immediately beneath the first name has a coordinate of two, and the name beneath that name has a coordinate of 3, and so on, throughout the entire list until all the address names are assigned a Y coordinate value.
  • the message launcher determines the Y coordinate value associated with that name.
  • the message launcher determines the Y coordinate value of the name displayed at the top of the address list display 310
  • the message launcher enters a state 1630 wherein the Y position of the mouse cursor within the transmission medium select display 315 is added to the Y position of the name at the top of the address list display 310.
  • the Y coordinate of the mouse cursor is measured absolutely with reference to the top of the transmission medium select display 315, and is in the same units as the Y coordinates assigned to the names within the address list display 310. Therefore, the message launcher simply adds the Y coordinate of the mouse cursor to the determined Y coordinate of the name at the top of the address list display 310 to obtain the Y position of the name in the row immediately to the left of the mouse cursor.
  • buttons 316, 317, 318 are aligned with a name in the address list display 310, the name which is four names down from the top is immediately adjacent the fourth row from the top of the transmission medium select display 315.
  • the resulting Y value obtained from the addition of the two Y values indicates the name immediately adjacent to the row where the mouse cursor is positioned.
  • the message launcher transitions from the state 1630 to a state 1640 which determines the appropriate transmission medium from the X position value obtained during the state 1610.
  • the transmission medium select display 315 has an X coordinate assigned to each column of buttons.
  • the "E" column may be assigned an X coordinate of zero
  • the "F” column may be assigned an X coordinate of one
  • the "P” column may be assigned an X coordinate of two, and so on for any additional columns which a skilled technologist may contemplate adding to the message launcher system.
  • the message launcher system is able to determine one out of a plurality of address names and one out of a plurality of transmission mediums by means of the X-Y mapping described above.
  • the message launcher transitions to the state 217 (corresponding to the state 217 shown in the flowchart of Figure 3) wherein the determined name and determined transmission medium are added to the send list.
  • the message launcher then transitions to a state 1660 to return to the main menu loop shown diagrammatically in Figure 3.
  • the present invention provides a system for seamlessly sending a message, having any one of a number of different data formats, to one or more destination addresses, wherein each address can be characterized as having a name and one among a number of different communication media.
  • the present invention further includes an efficient means for routing the message to a selected destination that merely requires movement of a pointer device and one or more depressions of a button.
  • the present invention may be embodied in other specific forms from the presently preferred embodiments described herein without departing from its spirit or central characteristics.
  • the multimedia data transmission operation of the present invention may be implemented in a network other than a Novell Ethernet network.

Abstract

A multimedia message transmission system includes a workstation in communication with a plurality of data communications media such as E-mail, facsimile machines, and printers, which serve as communication destinations. The user further has access to a list of names or addresses. Each name or address designates a recipient at one of the aforesaid communication destinations, and has associated information which indicates the destination and transmission medium available to the user for communicating with the given name or address. The user may specify one or more data files to be sent to recipients at one or more of the addresses within the user's address list. The data files may be in one of a variety of data formats such as text data format (e.g., ASCII), image data format (e.g., PCX/DCX), page description language (PDL), and application specific data format (e.g., Lotus 1-2-3R). The multimedia transmission system of the present invention automatically analyzes the data formats of each of the transmitted data files and converts the transmitted files into data formats compatible with the transmission medium of the selected destination.

Description

MULTI EDIA MESSAGE TRANSMITTER
Background of the Invention Field of the Invention The present invention generally relates to data transmission and, more specifically, to a network for selectively communicating messages over various media. Description of the Related Technology
In response to recent advances in communication network technology a number of multimedia communication schemes have been developed to provide increased access to, and improved interaction among, various communication media. Such communication media may, for example, include electronic mail ("E-mail") communication networks, printers, voice communication telephones, and facsimile transmittal devices (or fax machines) .
One previous communication network scheme, disclosed in
U.S. Patent No. 4,737,931 to Bourg, et al . , includes a business telephone communication system wherein a user has access to a personal or a system-wide directory. In this system, telephone calls may be placed from a personal computer terminal which provides a display menu. The menu displays pertinent information about selected network destinations such as the name, phone number and E-mail address of the person at the specified destination. When the user desires to transmit a message to a given destination, the system automatically analyzes the data format of the message to be transmitted and, based thereon, selects a message transmission medium (e.g.,
E-mail) . Such systems, however, include a number of significant limitations. In particular, the transmission medium used by the system is determined by the format of the data to be transmitted (e.g., an E-mail formatted message is always transmitted via an E-mail communications network) . Thus, the message sender must know a priori which communication medium will be used to reach a destination user and, after a message is composed, is unable to transmit the message via some other communications medium. Furthermore, this system does not make provisions for transmitting the same data via various communications media to multiple destinations. For example, in such a system, the message sender could not send the same message to one destination via facsimile and to another destination via E-mail simultaneously.
Another communications network, disclosed in U.S. Patent No. 4,941,170 to Herbst, transmits facsimile messages by means of an E-mail system. However, this system is restricted to one transmission medium (i.e., facsimile) which is assigned to all destinations.
To facilitate the selection of data which is to be displayed, or transferred to a destination, certain prior devices have provided a means for accessing data through a main list or an index. For example, in one prior device disclosed in U.S. Patent Number 4,879,648 issued to Cochran, et al., a user is prompted to type in a series of characters. When the user has entered the series of characters, the device displays a sub-list which corresponds to the entered characters. For example, if the user enters the character series "med" the device may display a list of names beginning with the letters "med", and other pertinent information relating to these names. The user may then send this data to a printer destination. However, retrieving data by means of this device may be slow and cumbersome, especially if the user is operating in Windows® application software where the user generally desires to use a mouse without the distraction of also using a keyboard. Furthermore, in this device the user has access to only a single list and must type in other characters to access additional lists of data.
In another prior device, disclosed in a defensive publication in the U.S. Patent Office under Publication Number T-966,005, a display window on a telephone displays a single name and telephone number. A single letter, which is part of an alphanumeric index indicating the first letter of the displayed name, is also displayed adjacent to the name and telephone number. The telephone has a memory which contains a list of names and corresponding telephone numbers. The user accesses certain names within the list by means of scanning buttons. If the user wishes to call a displayed name, the user may activate a "call" button on the telephone which causes the telephone to automatically call the number displayed adjacent to the name. However, this means of displaying or transferring data is also cumbersome since the user is provided with only a single name and must scroll through each of the names. The user is therefore required to depress the scroll button several times, or hold the scroll button down for an extended duration to obtain the desired data. Additionally, the number of buttons is limited and "hardwired" to the number and arrangement of buttons on a telephone.
Therefore, a need presently exists for a multimedia communications network which allows for flexible transmission of data over various transmission media and to multiple destinations. It would also be desirable to have a data display and accessing system which provides quick and easy access to a desired set of data by activation of a single button.
Summary of the Invention The above-mentioned needs are satisfied by the present invention which includes a system and method for sending messages across varying communication media, sending the same message to different individuals or entities, and sending messages comprising varying data formats. One aspect of the present invention includes a message transmission system, comprising: a workstation, a plurality of communications media connecting to the workstation, each communications media having one or more destination addresses, means for creating a send list having one or more destination addresses, and means for sending a data file to each destination address in the send list.
Another aspect of the present invention includes, in a coπiputer network, a method of sending a data file to a destination, comprising the steps of: creating a send list having a plurality of addresses, each address comprising a name and a selected one of a plurality of types of communication medium, selecting one of a plurality of data files stored on the network, selecting at least first and second addresses from the send list wherein each address specifies a communication medium different from the other; and sending the selected data file across the network to each selected address.
Yet another aspect of the invention includes, in a computer having a displayed scrolling window containing a list of addresses, each address having a name and at least one of a plurality of communication media types, a method of sending a message, comprising the steps of: displaying a plurality of switches on the video display, wherein each button is displayed proximate to one or more distinct character strings, switching a selected one of the switches, scrolling the window to display a range of addresses, wherein the range is determined by indexing address names by the character string displayed in conjunction with the selected switch, selecting one of the displayed addresses by name, and sending the message to the address.
These and other objects and features of the present invention will become more fully apparent from the following description and appended claims taken in conjunction with the accompanying drawings.
Brief Description of the Drawings Figure 1 is a system level block diagram showing the major structural components of one exemplary multimedia data communications network constructed in accordance with the present invention;
Figure 2 is a block diagram showing the main internal components of the FAX server of Figure 1;
Figure 3 is a flowchart showing one presently preferred embodiment of the message launcher process, which is stored and executed in the multimedia data communications network shown in Figure 1;
Figures 4A and 4B are examples of presently preferred address and transmit menus which are presented to a user when the message launcher of Figure 3 is first activated;
Figure 5 is a flowchart of the "Display Range Within Address List Window" function of Figure 3 ;
Figures 6A and 6B are flowcharts of the "Special Functions" function of Figure 3; Figures 7A, 7B and 7C are edit address menus which are presented to a user when the user selects the "Add", "Modify" or "Delete" options, respectively, from the main menu of Figures 4A and 4B;
Figure 7D is a menu presented to a user when the "Create Group" option is selected from the "Add Address" menu of Figure 7A;
Figures 8A and 8B are screen displays which are presented to a user when the "Memo" and "Cover Page" options are selected, respectively, from the main menu of Figure 4A; Figures 9A, 9B and 9C are screen displays presented to a user when the user selects the "File", "Edit" or "Help" options, respectively, from the main menu of Figure 4A;
Figures 10A and 10B are a flowchart of the "Convert and Send Files" function of Figure 3; Figure 11 is a flowchart of the "Convert File to E-Mail
Data Format" function of Figure 10A;
Figure 12 is a flowchart of the "Convert File to Fax Data Format" function of Figure 10A;
Figure 13 is a flowchart of the "Convert File to Printer Data Format" function of Figure 10A; and
Figure 14 is a flowchart of the "Send Header and Attachments" function of Figure 10B.
Figure 15 is a function input/output flow diagram which details the inter-relation among the functions performed by the system of the present invention, and the memory locations used during processing of these functions;
Figure 16 is a flowchart of the function to map com unication media buttons to adress list entries; and
Figure 17 is a flowchart of the function to determine which combination of destination and communications media has been selected.
Detailed Description of the Presently Preferred Embodiments The following detailed description of the preferred embodiments presents a description of certain specific embodiments to assist in understanding the claims. However, the present invention can be embodied in a multitude of different ways as defined and covered by the claims.
Reference is now made to the drawings wherein like numerals refer to like parts throughout.
I• Multimedia Communication Network
Figure 1 is a block diagram illustrating an exemplary multimedia communication network 100. The network 100 comprises a plurality of workstations 110A, HOB, HOC which, for instance, may be IBM PC/AT or compatible computers, each having a processor and a memory. Additionally, each of the workstations 110 includes a plurality of input/output (I/O) devices. For example, each of the workstations 110, as specifically shown at the workstation HOC, connects to a video display 112, a pointer device such as a track ball or mouse 114, a keyboard 116 and a secondary storage device such as a disk drive 118. It should be noted that, although the following description is provided as if a message sender, or user (not shown) , operates the workstation HOC via the input/output devices 112-118, the user may also employ the terminals HOA and HOB which are also understood to communicate with similar input/output devices. Of course, any number of workstations 110 may be provided in the network 100.
The network 100 further comprises an applications FAX server 120, described below, which connects to a facsimile machine 122 at a remote location via the telephone lines 124, which are typically not directly wired, but instead are switched via a switching network such as the public telephone network. The network 100 also includes a network file server 127 and a printer 130, which may, for example, be a Hewlett Packard LaserJet II compatible laser printer. The workstations 110, FAX server 120, network server 127, and printer 130, communicate via a bidirectional network bus 140, which, as an example, may be an Ethernet bus such as the one used by Novell Netware software. Thus, users at the workstations 110 may communicate E-mail messages with one another via the bus 140, send documents to the printer 130 via the bus 140, or transmit facsimile messages to the FAX machine 122 via the FAX server 120.
The bus 140 further connects to a message handling system (MHS) server 141 which includes a modem (not shown) that communicates with a receiving MHS server 143 via telephone lines 144, which are typically routed via switches and which provide a means for data transmission. The E-mail servers 141, 143 may be, for example, MHS servers available from Novell of Provo, Utah.
The receiving MHS server 143 may be included within a receiving network 145 at a remote location. The receiving network 145 comprises a set of workstations 146, a network server 147, and a printer 148 which communicate with one another through a network bus 149. Thus, the network 100 together with the network 145 define a wide area network over which data may be communicated according to the present invention.
The multimedia communication network 100, of the present invention, provides a means by which a user can selectively transmit information having various data formats to one or more recipients through multiple transmission media. For example, using the network 100 shown in Figure 1, a user at one of the workstations 110 is able to transmit two documents (e.g., one document in text data format and another document in image data format) to one recipient by means of a facsimile, e.g., received at the remote FAX 122, and to a second recipient by means of E-mail, e.g., received at the workstation 146. Generally, during operation of the network 100, the user is provided with a list of names (referred to herein as an "address list") which may include the names of persons or companies in communication with the network 100. Each name is associated with one or more network destinations. These destinations may comprise different kinds of communication media such as the presently preferred media of E-mail, printer, or fax machine. Nonetheless, it shall be understood that the present invention provides for flexibility so that other communications media, either now in existence or later developed can be optionally included in the network. Other types of media which may be accessed by the present invention include, for example, data transmission via modems, telephonic voice data such as phone dialing, telex transfers, and a trasnfer to a service for formatting and posting a message in a mail system, such as the U.S. postal system.
For example, a user, or message sender, at the terminal HOC may select by name a user at another one of the workstations 110, e.g., HOA and HOB, within the network 100 associated with the name as message destination, the FAX machine 122 associated with a name as a message destination, or the printer 130 associated with a name as a message destination. Furthermore, due to the connection established between the MHS server 141 and the MHS server 143, the user may select one of the workstations 146A, 146B associated with a name as a message destination or the printer 148 associated with a name as a message destination.
The user also has access to a number of different documents, or data files, stored in the network 100. These data files, such as a text file created with a word processing program, e.g., a WordPerfect document, may be contained in the disk drive 118, or an additional network memory within the network file server 127. Each data file may be stored in one of many different data formats such as image format, text format, page description format, or application specific format. The user may also access data files within the network 145. The general operation to send a message over the network 100 is as follows. To transmit a data file to a desired person or company, the user scans through the list of names, at a workstation HOC, until the desired recipient is found. The user then selects the recipient from the list by means of a series of keystrokes on the keyboard 116 or via the mouse 114, for example. If the user wishes to send information to more than one recipient, the user may continue to select other recipients or groups of recipients. Typically, the user has previously selected the transmission medium by which the information is to be sent to each recipient. Thus, in one presently preferred embodiment, the user may select a facsimile destination for one recipient, a printer destination for another recipient and an E-mail destination for another recipient. Once the user has selected a recipient(s) , the user selects the document, or documents, which the user wishes to send to the designated recipient(s) . Finally, the user sends the information by, for example, activating the transmit function through the workstation HOC by means of the mouse 114. Thus, the user is able to send information having differing data formats to one or more recipients at multiple destinations, each destination receiving information through its own defined communications media.
Figure 2 is a simplified block diagram which shows the primary internal components of the FAX server 120 in the network 100 (Figure 1) . In one embodiment, the FAX server 120 is a modified personal computer, such as an IBM PC/AT or compatible computer. The FAX server 120 manages data transmission to facsimile destinations and is controlled by software such as, for example, the FacSys program licensed by Optus. The FAX server 120 includes a central processing unit (CPU) 150, a memory 155, as well as other conventional internal PC components not explicitly shown here. The FAX server 120 further includes a set of FAX boards 160 which, in one presently preferred embodiment, are Satisfaction 200 FAX Boards available from Intel. To increase the processing capacity of the FAX server 120, another pair of FAX boards (not shown) may be included within the FAX server 120. Each of the FAX boards 160 connects to the telephone line 124 via a conventional on-board modem (not shown) . A network interface board 170, which may be, for instance, an Ethernet I/O board, is also included within the FAX server 120. The CPU 150, memory 155, FAX boards 160, and network interface board 170 communicate via a bidirectional server bus 175. The FAX server 120 communicates with the bus 140 via a bidirectional communication line 180.
II. Message Launcher Main Loop Figure 3 is a flowchart which, in conjunction with the screen displays of Figures 4A-4B, illustrates one presently preferred embodiment of the message launcher software which transmits data via the network 100, and is a part of the present invention. It should be noted that, unless specified otherwise, the operation described with reference to the flowchart of Figure 3, and the function flowcharts of subsequent figures, is within one of the workstations 110, e.g., workstation HOC, and input and output functions described therein are performed via the input/output devices
112-118 which communicate directly with the workstation HOC.
Software for the message launcher is, in a presently preferred embodiment, written in the "C" language. The software described herein, was translated from the source code into object code using the Borland "C" compiler, version 3.0. Nonetheless, one skilled in the technology will recognize that the steps in the accompanying flowcharts can be implemented by using a number of different languages, language translators, computers and circuitries.
Referring to Figure 3, the message launcher, or main loop, begins at a start state 200. In one presently preferred embodiment, the message launcher may be executed from Microsoft Windows® 3.X software running on the Microsoft MS- DOS operating system, preferably version 4.1 or higher. The Windows® software may be run from the RAM memory within any one of the workstations 110. The message launcher software of -li¬ the network 100 is normally initiated at Windows® start-up, although it may also be initiated from the Windows® Program Manager, or the Windows® File Manager, for example.
Once the message launcher software, or data transmission operation, is initiated, the software remains dormant until the user activates the transmission operation. The message launcher may also activate automatically (e.g., by automatically capturing documents sent to the printer from a Windows® application program, such as WordPerfect for Windows) , as called for by the specific application. After being activated, the message launcher moves from the start state 200 to a state 205 which displays an address and transmit menu 300 (Figure 4A) on the video display 112 of the workstation HOC. The function of address and transmit menu 300 will be discussed in greater detail below.
It is noted that the address and transmit menu 300 of Figure 4A includes an address index bar 305 comprising more than one on-off switches, or buttons, each button associated on the video display 112 with a character string, and an address list display 310. The menu 300 further includes a transmission medium select display 315 located immediately to the right of the address list display 310, a destination display 320, a data file display 325, and a menu control display 330 including a file select button 332 and a send button 334.
Again referring to Figure 3, once the menu 300 is displayed in the state 205, the message launcher moves to a decision state 210 wherein a test is performed to determine if the user has activated one of the buttons on the address index bar 305 (Figure 4A) . Typically, the user activates functions on the menu 300 by the "point and click" method associated with pointer devices such as the mouse 114. In the specific case of the index bar 305, the user simply positions the cursor (not shown) on the video display 112 over the desired button and depresses a button on the mouse 114. Of course, other indication methods may be used, such as a keyboard, as called for by another specific embodiment of the present invention .
Now referring generally to Figure 4A, if the user has activated one of the buttons on the index bar 305, the control moves to a function 212, (Figure 3) wherein the selected range of addresses is displayed within the address list display 310. In one presently preferred embodiment, both the index bar 305 and the address list 310 are alphabetically ordered so that when the user selects an alphabetic character on the index bar 305, the names beginning with that letter, and possibly the names beginning with letters immediately above and below the selected letter, appear on the display menu 300 within the address list display 310. In this embodiment, the (alphabetically) first name beginning with the selected letter is automatically highlighted on the menu 300. In a particularly preferred embodiment, the names displayed within the address list display 310 comprise addresses from a personal address list, in addition to addresses from a network-wide address list both of which are stored in a memory within the network server 127 (Figure 1) . It should be noted, however, that once the message launcher system is active, the personal and network-wide address lists are both downloaded to the memory disk 118 (Figure 1) of the workstation 110.
Once the selected range of addresses is displayed within the window, the message launcher system must subsequently remap the transmission medium select display 315 so that the displayed transmission medium options (i.e., E-mail, FAX, or Printer) correspond to the name displayed in the immediately adjacent row of the address list display 310. The method used by the message launcher system to remap the transmission medium select display 315 so that it corresponds with the address list display 310 is discussed in detail with reference to Figure 16 below.
As shown in Figure 3, once the selected range of addresses is displayed within the address list 310, and the transmission medium select display 315 has been remapped, the message launcher moves from the function 212 to a decision state 215. However, if it is determined in the decision state 210 that the user has not activated the index bar 305, the control moves directly from the decision state 210 to the decision state 215. In the decision state 215, a test is performed to determine if the user has selected a destination address and a transmission medium. To select a destination address and transmission medium, the user moves the mouse 114 (Figure 1) to position the cursor over the transmission medium select display 315.
As shown in Figures 4A and 4B, the transmission medium select display 315 is configured to have a row of transmission medium option buttons 316, 317, 318 adjacent to each name listed in the address list display 310. In a presently preferred embodiment, the transmission medium options include E-mail (designated by an E, indicated by buttons 216) , facsimile (designated by an F, indicated by buttons 317) , and printer (designated by a P, indicated by buttons 318) . After the user has positioned the cursor over the transmission medium select display 315, the user may select a particular recipient and transmission medium (i.e., a "who and how" destination) by placing the cursor on the video display 112 in the row adjacent the desired recipient name, and over the button which designates the desired transmission medium. The user then clicks the button on the mouse 114 to complete the selection process. The method which the message launcher system uses to determine the correct destination address and transmission medium is described in detail with reference to Figure 17 below.
In Figure 3, if it is determined that the user has selected a destination and transmission medium in the decision state 215, the message launcher proceeds to a decision state 216 which determines if the user has activated the "One Time FAX" function of the system. The One Time FAX function allows a user to send a document, or list of documents to a single facsimile destination without accessing information associated with the addresses in the address list display 310. The user activates the One Time FAX function by placing the cursor over the "*ONE TIME FAX*" listing at the top of the address list display 310 (Figure 4A) , or over the adjacent row of buttons in the transmission medium select display 315, and clicking the mouse 114 (figure 1) . If the user has activated the One Time FAX function, the message launcher proceeds to a state 218 wherein the user is prompted to enter the FAX telephone number of the destination. From state 218, the message launcher transitions to a state 217. However, if the user has not activated the One Time FAX function, the message launcher moves immediately to the state 217 from the decision state 216. Within the state 217, the selected address and transmission medium are displayed within the destination box 320, as shown in Figure 4B, and information associated with the selected destination address, e.g., "Dan Ohlemacher" , is stored in the memory of the workstation 110 as a destination portion of a send list. Before storing the address within the send list, the message launcher determines if that address has already been stored within the send list. This assures that the same address is not duplicated and the memory of the send list is not wasted. The send list is a data structure within the memory of the workstation HOC which temporarily stores information associated with each selected address. The send list comprises an attachments list and a destinations list. The destinations list includes three main data fields as illustrated in Table I.
TABLE I
DESTINATIONS LIST
ADDRESS LIST IDENTIFICATION NUMBER
PERSONAL/SYSTEM FLAG
E-MAIL FLAG FAX FLAG PRINT FLAG
The first main data field stores an address list identification number which is a unique index address number that may be used to access information associated with a selected address on the address list. As will be discussed in greater detail below, each address is associated with a system data file stored in the network file server 127 (Figure 1) and containing information about that address. For example, the associated file may contain a facsimile number, an E-mail address, a print location, a recipient's name, etc. The data file associated with each address list also contains the address list identification number stored within the destinations list. This information is accessible by means of the address list identification number stored within the destinations portion of the send list and is utilized when it is time to actually send data files to the designated addresses. The second main data field within the destinations list is a Personal/System flag which is used to indicate whether the selected destination resides within the user's personal address list or the system-wide address list. The third main data field consists of three flags which indicate whether the selected destination is an E-mail, FAX, or printer destination.
The nature and function of information stored within the destinations list of Table I may be elucidated by means of the following example. If the user wishes to transmit information to Dan Ohlemacher, who is on the system address list, via the message launcher system of the present invention, the user activates one of the buttons in the transmission medium select display 315. The message launcher system immediately sets one of the transmission medium flags to indicate the transmission medium selected by the user (i.e., E-mail, FAX, or Printer in this embodiment) . The message launcher system then sets the Personal/System flag to indicate that the destination is located in the system address list. The message launcher system then accesses the data file associated with the name "Dan Ohlemacher" within the address list display 310. Within the data file, a number of data fields are contained including an identification number which uniquely identifies the data file. The message launcher copies this identification number into the destinations list so that the "Dan Ohlemacher" data file may be later accessed from the destinations list. Thus, if Dan Ohlemacher' s address list identification number is 111, and the user has selected a printer destination, then the first data field will contain the number 111, the second data field will contain a flag set to indicate that the destination address is on the system address list, and the third data field will contain three flags, one of which is set to indicate that information is to be sent to a printer.
This process may be repeated for as many times as there are selected destinations, and the destinations list will therefore comprise a plurality of data records each having the general format shown in Table I. At state 217, once the selected address and transmission medium are displayed within the destination box 320, and the address list identification number of the selected destination address is stored in the send list, the message launcher moves to a decision state 220. However, if it was determined in the decision state 215 that the user has not selected a destination and transmission medium, the control moves directly to the decision state 220 without entering the state 216.
Within the decision state 220, a test is made whether the user has activated the file button 332 (Figure 4A) e.g., by means of the mouse pointer 118 (Figure 1) . If the user has activated the file button 332, the system proceeds to a state 222 wherein the user is allowed to enter a file path name designating a file accessible through the network 100. The designated file may be in one of many data formats such as, for example, text format, image format, page description language format, or Windows® application specific format. Information designating the location of the entered file is then entered into the attachments portion of the send list after a system check is performed to determine if the designated file already resides within the send list. Finally, the file name is displayed within the data file display box 325 as shown in Figure 4A. From the state 222, or if the test at state 220 was unsuccessful from state 220, launcher message moves to a decision state 225.
The attachments portion of the send list includes three main data fields as illustrated in Table II below.
TABLE II
Figure imgf000019_0001
The first main data field is a character array which is advantageously the data path which specifies the location of a data file within a network accessible memory (e.g., the network server 127 (Figure 1) ) . This character array is copied into the attachments list when the user enters the data path of the file to be sent to the selected destinations as stated above.
The second main data field consists of four flags which are used to indicate the attachment of special file types. The first flag indicates whether the attached file is a captured print document. As mentioned above, the message launcher system may be activated automatically whenever a user sends a document to a printer from the Windows® application software. The document thus printed is called a captured print document. If the attachment is a captured print document, then the message launcher system sets the print capture flag. The second and third flags within the second main data field are cover page and memo flags respectively. The cover page or memo flag is set if the attachment is a cover page or a memo respectively. Finally, the fourth flag is a FAX routing flag. The FAX routing flag is set to indicate that an attachment is an incoming FAX which is to be routed to a destination within the network 100 (Figure 1) , and is not essential to the operation of the message launcher system.
The third main data field contains the file type of the attached data file. The file type is automatically determined by the system by accessing the memory location specified by the user.
By way of example, if the user wishes to transmit an ASCII memo stored at a memory location specified by the data path S:\WPDATA\JMC\JMC-2387, then the user activates the file button 332. The message launcher then prompts the user to enter the data path of the data file. Once the user has entered the correct data path, the message launcher copies the entered data path into the first main data field. The message launcher then accesses the designated data file automatically and determines if this data file is one of the four special data types described above. In this example, the data file is a memo so that the memo flag is set within the second main data field. Finally, the message launcher automatically determines the data type of the designated file. Thus, in this example, the first data field of the attachments list would contain the character array "S:\WPDATA\JMC\JMC-2387," the memo flag would be set in the second main data field, and an ASCII file type would be indicated within the third main data field of the attachments list. Of course, multiple attachments may be included within the attachments list so that multiple data records, each having the same general format shown in Table II, may be included within the attachments list.
Once the appropriate data has been stored within the attachments portion of the send list, the message launcher transitions to the decision state 225. In the decision state 225, a test is performed to determine whether the user has activated any other special functions available from the menu 300 of Figure 4A. Such functions include addition, modification, or deletion of information associated with the addresses shown on the video display 112 in the address list display 310, creation of a memo or a cover page, and other functions which will be described in greater detail below with reference to Figures 6A and 6B. If the user has activated one of the special functions, the message launcher moves to a function 227. At the function 227, the selected special function is performed, as detailed below, and the control moves to a decision state 230. Otherwise, if it is determined that the user has not activated any of the special functions, the system proceeds directly from the decision state 225 to the decision state 230. In Figure 3, at the decision state 230 a determination is made as to whether the user has activated the send button 334 (Figure 4A) . If the user has not activated the send button 334, control proceeds directly to a decision state 235. Otherwise, the send button was depressed and the message launcher moves, wherein a test is performed to determine if valid data files and destinations are contained within the send list. If valid data files and destinations are not stored within the send list, this indicates that there is not enough information to execute the send function and the control moves to the decision state 235.
If valid data files and destinations are present within the send list, the message launcher instead transitions to a function 234. Within the function 234 the data files listed in the send list are converted to the appropriate data format and sent to the selected destinations stored within the send list. The function 234 will be described in greater detail below with reference to Figures 10-14. With reference to Figure 3, moving from either of states 230, 232 or function 234, to the decision state 235, a decision is made as to whether the user wishes to terminate the data transmission operation of the network 100. In a windows embodiment, this may be accomplished in a variety of ways such as entering an ALT+F4 keystroke, or by pointing to and clicking a termination button 335 in the upper right hand corner of the menu 300. If the user has terminated the operation, the control moves to an end state 240 where the data transmission system operations are switched from the active state to the dormant state. If, however, the user has not selected to terminate the operation, control returns to state 205 of the message launcher.
It should be noted that, although the flowchart of Figure 3 is described as though it represents a continually executing process, the process is preferably interrupt driven. That is, once any key (such as a mouse button or a keyboard key) is pressed, an interrupt is generated to signal a local interrupt controller within one of the workstations 110. The local interrupt controller then activates the process outlined in the flowchart of Figure 3.
Figure 5 is a flowchart which illustrates the general method of displaying an index selected range of addresses of the function 212 introduced in Figure 3. Once an index button in the index bar 305 has been activated by the depression of a button on the mouse 114 or the keyboard 116, as indicated at state 400, the message launcher moves to a state 410. In state 410, the workstation 110 scans through the address list for the first letter of a character string which matches the letter activated on the index bar 305. Importing and exporting of the address list is accomplished from Windows® via dynamic data exchange (DDE) as is understood by those skilled in the technology in conjunction with documentation provided by Microsoft Corporation of Redmond, Washington. Although the index bar 305 is shown in Figures 4A and 4B to list the 26 letters of the English alphabet, the index bar 305 may also be implemented to list other alphanumeric strings or patterns to be matched within each button. When a matching character string has been located in the address list, the first address having the matching character string is scrolled into view, along with the addresses in the immediate vicinity of the selected character string, within the address list display 310. If no matching character string is found in the address list, the address "closest" to the selected character string is scrolled into view within the address list display 310. For example, if no addressed beginning with "A" are stored in the address list, the first address stored in the list will be displayed. The message launcher proceeds to a state 420 wherein the first address beginning with the selected character string (or the address closest to the selected character string) is highlighted, and returns to the main loop (Figure 3) via a return state 430.
III. Special Functions Figures 6A and 6B are, together, a flowchart which illustrates the general method used in the function 227, introduced in the discussion of Figure 3 , to execute selected special functions from the menu 300 (Figure 4A) . These special functions will be described in conjunction with Figures 4A, 4B and 7-9. As shown in Figures 4A and 4B, the menu 300 further includes "up" and "down" scroll buttons 350, 352; add, modify and delete control buttons 360, 362, 364; print local, cover page, memo and clear control buttons 370, 372, 374, 376; delete destination and delete data file attachment displays 380, 385; and File, Edit and Help commands 390, 395, 398. Each of these display regions designate special functions in the menu 300 which may be activated by means of a the mouse 114. A subject entry box 399 (Figure 4A) is also displayed in the menu 300, and allows a user to enter a comment relating to the subject of the current message.
As shown in Figure 6A, when the system enters the function 227 from the main loop, control transfers to a start state 500 and continues to a decision state 502 wherein a test is performed to determine whether the "up" scroll button 350 has been activated. If the up scroll button has not been activated, the message launcher moves directly to a decision state 506. However, if the up scroll button has been activated, this indicates that the user wishes to scroll up the address list display 310 and control enters a state 540. Within the state 504 the address list display is scrolled in the up direction until the user releases the mouse button or until the top of the address list display 310 is reached. As the user scrolls up the address list display 310, a name may be highlighted within the address list display 310 to indicate the address in the list which is currently accessible by clicking the mouse button. The software then moves from the state 504 to the decision state 506.
Within the decision state 506, a test is performed to determine if the scroll "down" button is activated by the user. If the user has not activated the scroll down button, the message launcher moves to a decision state 510. However, if the user has activated the scroll down button, the control moves to a state 508. Within the state 508, processing software and display circuitry within the workstation 110 causes the address list display 310 to scroll in the down direction. Until the user releases the mouse button or the bottom of the address list is reached, as in the case of the up scroll function, a series of names may be highlighted to indicate the address in the list which is currently accessible by clicking the mouse button. The message launcher then proceeds from state 508 to the decision state 510.
Within the decision state 510, a test is performed to determine whether the "add" button 360 (Figure 4A) has been activated. If the user has not activated the add button 360, the function moves immediately to a decision state 516. If the user has activated the add button 360, however, this indicates that the user wishes to add a new entry to the network address list (stored on the network file server 127 of Figure 1) or personal address list (also stored on the network file server 127 of Figure 1) . Thereafter, the function moves to a state 512 wherein the user is presented with an "add address" window 600 shown in Figure 7A.
Turning now to Figure 7A, by means of the add address window 600, the user can enter pertinent communications data associated with the person or company the user wishes to enter into the address list. As shown in Figure 7A, the add address window 600 includes first and last name entry boxes 602, 604, an affiliation (e.g., company name) entry box 606, a postal address entry box 610, a comment box 612, voice mail 1 and 2 boxes 614, 616, an E-mail address box 618, a fax number entry box 620, and a printer queue entry box 622. OK and Cancel buttons 624, 626, as well as a copy data button 627 and a create group button 629 are also displayed within the add address window 600.
Each of these entry boxes corresponds to a data field within an address list database. The address list database comprises a plurality of records, each of which is associated with a single address within the address list display 310. The format of the data fields within each record generally corresponds to the entry boxes 602-622 shown in Figure 7A. That is, a data field exists within the record for each entry box 602-622. In addition to the information shown in Figure 7A, each record associated with an address in the address list display 310 includes a data field containing the address list identification number which uniquely identifies that record, and a data field containing a Group/Individual entry flag. The Group/Individual entry flag indicates whether the record is an individual entry or part of a group entry. Group entries will be discussed in greater detail below with reference to Figure 7D.
Once the add address box 600 appears on the video display, the user is prompted to type in information using the keyboard 116, beginning with the destination recipient's first name (box 602) and ending with the print queue designation of the destination (box 622) . If the user does not have some of the information requested, the user may simply depress the "Enter" button on the keyboard 116 and leave the entry box blank. If the user enters an E-mail address in the box 618, this will cause a letter "E" to appear in the appropriate box of the transmission medium select region 315 adjacent the address name in the address list display 310. Likewise, when the user has entered a facsimile number or a printer queue location, a letter "F" or "P," respectively, will appear in the appropriate boxes when the system returns to the main menu 300 (Figure 4A) .
If the new address which the user intends to add to the address list has substantially the same, or very similar, information, the user may opt to use the copy data button 627. When the user activates the copy data button 627, the user is prompted with a request to enter an address name. After the user enters the address name, the information stored in the address entered by the user is then transferred to the currently displayed add address window 600. If the user desires to create a group from the add address window 600, the user activates the create group button 629. The create group function allows the user to define a group of individual destinations as a single group so that all of the attachments, i.e., data files, are sent to each of the individual destinations defined in the group. Thus, the user may send all of the attachments to all of the destinations within the defined group without having to enter each destination within the group separately. This is particularly advantageous in situations where a number of individuals at various destinations commonly perform similar duties and, therefore, generally receive the same information. Once the user has activated the create group button 629, a create group display 650 (Figure 7D) appears on the user's display screen 112. Referring generally to Figure 7D, the create group display 650 is similar in appearance to the menu 300 of Figure 4A, and includes the address index bar 305, the address list display 310, and the transmission medium select region 315. The create group display 650 also includes an enlarged destinations box 655 where the user enters the addresses of individuals which are to be included within the group. To enter an individual address within the destinations box 655, the user finds the individual's address in the address list display 310 and activates the appropriate button (i.e., E- mail, Fax, or Printer, in the presently preferred embodiment) on the horizontal row of the transmission medium select region 315 adjacent the desired address.
The address name is then displayed within the destinations box 655 along with a designator indicating the selected transmission medium. Once all of the individual addresses which the user wishes to include within the group are displayed within the destinations box 655, the user enters the group name into a box 660. The name entered within the box 660 will be displayed within the address list display 310 to designate the group defined by the user e.g., "Fax Conductor Team" shown in the display 310. The user then activates a "Done" button 665 to complete the group definition process. However, if the user wishes to exit the create group display 650 at any time during the process without saving the data entered by the user, the user can simply activate a "Cancel" button 670 which causes the add address window to reappear on the video display 112.
Once the user has completed the group defining process, the newly defined group is listed in the address list display 310 under the group name designated by the user. Figure 7D shows two examples of user defined groups. Both groups have a straight bar 670, rather than three individual E, F, and P, buttons, within the transmission medium display region 315 adjacent the group name. In one embodiment, the bar 670 may have the word "Group" displayed therein. When the new group is created and the Done button 665 is activated, the main menu 300 reappears on the display screen 112. However, if the user activates the Cancel option 670, the add address window 600 (Figure 7A) reappears on the display screen 112.
Referring again to Figure 7A, in one embodiment of the invention, the user is presented with an option to add the new address to the network-wide address list or to his own personal address list to which the user has exclusive access. The user may select the personal or the system-wide address list by placing the cursor over a selection region 628 and clicking the mouse button over either the "personal" or "system" radio buttons 628, as shown in Figure 7A. It should be noted that for system security and integrity reasons, only the administrators on the network 100 are typically provided with the option to add, modify or delete entries from the system-wide address list. All other users may only make such changes to their own personal address list. Once all of the entries have been made, the user may activate the OK button 624 which causes the entered information to be added to either the personal or the system-wide address database, as shown in the state 514. However, if, at any time, while the add address window 600 is displayed the user wishes to return to the main menu 300 without adding the information entered in the add address window 600 to the address database, the user may activate the cancel button 626.
The address database may comprise a single database having different portions accessible by different users, or the address database may comprise several parts, each of which is stored in a separate memory location. In one preferred embodiment, both the personal and system address list data bases are stored within the network file server 127. However, the system may also be implemented such that each user's personal address database is stored in the memory of that user's workstation terminal 110, while the system-wide address database may be stored in a memory accessible by all of the terminals 110 within the network 100 (e.g., within the network server 127) .
The memory containing the address database (either the personal or the system-wide) is the memory which the send list accesses to obtain pertinent transmission information such as the E-mail address, fax number or printer queue location of the destination. Once the new address information is added to the address database, the new address name is added to the address list display 310 (e.g., in alphabetical order) as the system returns to the menu 300.
In Figure 6A, the function continues to the decision state 516 to test whether the modify button 362 has been activated from the menu 300. If the user has not activated the modify button 362, the control moves from the decision state 516 to a decision state 522. If the user has activated the modify button 362, however, this indicates that the user wishes to modify information associated with an existing address displayed in the address list display 310. The function proceeds to a state 518 wherein a "modify address" window 630 (Figure 7B) is displayed. The modify address window 630 contains information associated with the address currently highlighted in the address list display 310. The modify address window 630 is substantially the same configuration as the add address window 600 with some exceptions. In particular, the entry boxes in the modify address window 630 already contain information associated with the address which was highlighted when the user activated the modify button 362 (Figure 4A) . Furthermore, a create group button 629 (Figure 7A) is not provided. When the modify address window 630 is presented, the user is able to change any of the information displayed in the modify address window 630. If the user does not wish to save the changes, the user need only activate the Cancel button 626 to return to the main menu 300. If the user wishes to save the changes, the user simply activates the OK button 624. When the user activates the OK button 624, the control moves to a state 520 wherein the new information replaces the old entries in the personal or system-wide database. The menu 300 is once again displayed and the control moves from the state 520 to the decision state 522. With reference to Figure 6A, in the decision state 522 a test is performed to determine whether the user has activated the delete button 364 (Figure 4A) . If the user has not activated the delete button 364, the function proceeds directly to a decision state 526. However, if the user has activated the delete button 364, the function moves to a state 524 wherein a delete address window 640 (Figure 7C) is displayed.
As shown in Figure 7C, the delete address window 640 displays information associated with the address which is highlighted in the address list display 310 (Figure 4A) . This provides the user with the opportunity to see the data which is to be deleted so that accidental deletions are avoided. If the user still desires to delete this entry from the address list display 310, along with its associated information in the address database, the user may activate the OK button 624. However, if the user does not wish to delete this entry, the user may activate the Cancel button 626 to return to the main menu 300 .
Returning in the discussion to Figure 6A, the function continues to decision state 526 wherein a test is performed to determine if the print local button 370 (Figure 4A) has been activated by the user. If the user has not activated the print local button 370, the program flow continues to a decision state 532 (Figure 6B) through a continuation point "A". on the other hand, if the user has activated the print local button 370, control instead moves to a decision state 528, which determines if a document has been captured for printing. A document may be captured, for example, automatically when the user prints a document from a Windows® application program (e.g., Lotus 1-2-3®, Microsoft Word®, etc.) . The printing of the document from a Windows® application program causes the dormant transmission operation (the flowchart of Figure 3) to activate automatically (in some applications) . In these cases, a document is captured and the user is provided with the option to print this document locally. Thus, if a captured document is available, the control moves from the decision state 528 to a state 530, wherein the captured document is printed on the user's local printer. However, if a captured document is not available, control moves to the decision state 532 through the continuation point "A" . Now referring to Figure 6B, in the decision state 532, a test is performed to determine if the user has activated the clear button 376 (Figure 4A) . If the user has not activated the clear button 376, the function continues to a decision state 536. However, if the user has activated the clear button 376, a state 534 is entered wherein all the information relating to message transmission is cleared. That is, the send list is cleared and the destination box 320 and data file display box 325 are blanked. In Figure 6B, the message launcher moves from either state 532 or 534 to the decision state 536, wherein a test is performed to determine whether the user has activated the memo button 374 (Figure 4A) . If the user has not activated the memo button 374, the process flow continues to a decision state 542. If, however, the user has activated the memo button 374, this indicates that the user desires to compose a memo and the function moves to a state 538 wherein an edit box 700 (Figure 8) is displayed. Referring generally to Figure 8, the edit box 700 includes an ASCII text entry box 705, an OK button 710, a Cancel button 720, a Clear button 730, a "save as" button 740, an Open button 750, and a Previous button 760. When the edit box 700 appears, the user may immediately begin typing to enter text (stored in ASCII text data format) into the text entry box 705. When the user has finished typing in text, the user may select one of the function buttons displayed to the right of the text entry box 705. For example, if the user wants to retrieve the text from the memo which was last entered by the user, the user can activate the Previous button 760. Also, if the user wants to open and read a system file (i.e., a file available through the network 100) for editing within the memo window 700, the user activates the Open button 750. T h e user is then prompted to enter the file name of the text which is to be entered into the text entry box 705. If the user wishes to save the memo under a particular name rather than the name automatically assigned to the memo by the network 100, the user may activate the "save as" button 740. The user is then prompted to type in the file name to be assigned to the memo. If the user wants to erase the text entry box 705 and start over, the user can activate the Clear button 730. If the user wants to exit the memo window 700 without saving the memo, the user is required to activate the Cancel button 720. Finally, if the user desires to exit the memo window 700 and have the system automatically save the memo, the user can activate the OK button 710.
Once a user has activated the OK button 710, the "save as" button 740, or the Cancel button 720, the function moves from the state 538 to a state 540 wherein the memo entered by the user is added to the send list as an additional document in ASCII text data format. The designator "memo" or a document name given to the memo by the user is then displayed in the data file box 325 on the menu 300. In Figure 7B, moving from state 540 to the decision state 542, a determination is made if the user has activated the cover page button 372 on the menu 300. If it is determined that the user has not activated the cover page button 372 (Figure 4A) , the control moves immediately to a decision state 548. However, if the user has activated the cover page button 372, the function moves instead to a state 544. Within the state 544, an edit box 770 shown in Figure 8B, is substantially the same as the edit box 700 (Figure 8A) with the exception that the title bar of the edit box 770 reads "cover page" instead of "memo," is displayed and the user is allowed to enter text just as when the memo button 374 (Figure 4A) is activated. Once the user has entered the text message into the edit box 770, and activated the OK button 710, the "save as" button 740, or the Cancel button 720, the function proceeds from the state 544 to a state 546.
Within the state 546 of Figure 6B, the cover page document created by the user is added to the beginning of the send list as an ASCII text data format document. Thus, when the documents in the send list are transmitted to the designated destinations, the cover page document will be communicated first. The system then displays a document name indicating the cover page at the top of the data file box 325 (Figure 4A) .
In Figure 6B, the function moves to the decision state 548 to test whether one of the delete destination buttons 380 (Figure 4A) has been activated by the user. If the user has not activated any of the delete destination buttons 380, the function proceeds immediately to a decision state 552. However, if the user has activated one of the delete destinations buttons 380, the function moves instead to a state 550.
Within the state 550, the destination adjacent to the delete button 380 which was activated by the user is deleted from the send list. Thus, the documents within the data files box 325 will not be transmitted to that destination. In addition, the name designating that destination is deleted from the destinations box 320.
Moving to the decision state 552 of Figure 6B, a test is performed to determine if the user has activated any of the delete data file buttons 385 (Figure 4A) . If the user has not activated any of the delete data file buttons 385, the control moves directly to a decision state 556. However, if the user has activated one of the delete data file buttons 385 (Figure 4A) , the function proceeds to a state 554, wherein the data file whose name is adjacent the activated delete button 385 is deleted from the send list. That is, the deleted data file will not be sent to any of the designated destinations. The data file name which is displayed within the data file display box 325 is also deleted. Moving to the decision state 556 of Figure 6B, a test is performed to determine if the user has activated the file display region 390 (Figure 4A) . If the user has not activated the file display region 390, the control moves to a decision state 560. However, if the user has activated the file display region 390, the function proceeds to a state 558 wherein a file pull-down menu 800 (Figure 9A) is displayed.
In Figure 9A, the file pull-down menu 800 contains a list of options which are available to the user. Most of the options available to the user through the file pull-down menu 800 are substantially the same as options provided on the display and transmit menu 300 (Figure 4A) . As shown in Figure 9A, the file pull-down menu 800 includes a memo option 805, a cover page option 810, a file selection option 815, a clear option 820, a send option 825, a print local option 830, a print set-up option 835, a preferences option 840, and an exit option 845. If the user activates the memo option 805 by means of the mouse 114 (Figure 1) or the return key on the keyboard 116, for example, this causes the edit box 700 (Figure 8A) to be displayed by the system. The user may then enter text into the edit box 700 and add this document to the send list as a memo.
The cover page option 810, the file selection option 815, the clear option 820, the send option 825, and the print local option 830 function in substantially the same way as the cover page button 372, the file button 332, the clear button 376, the send button 334, and the print local button 370 respectively on the menu 300 shown in Figure 4A.
The print set-up option 835 allows the user to modify certain printer parameters as is well understood in the relevant technology. The preferences option 840 allows the user to set certain system parameters and options, such as suppression of form feeds, E-mail receipt notification, designation of the local printer port, standard or fine resolution facsimile transmittal, etc. The preferences option 840 is conventional and is typically found in most Windows® applications software. Finally, the exit option 845 causes the message launcher to quit. Thus, the data transmission operation of the network 100 is returned to the dormant state until the user activates the data transmission operation, or the transmission operation is activated automatically. Returning in the discussion to Figure 6B, moving to the decision state 560, a test is performed to determine whether the user has activated the edit display region 395 (Figure 4A) . If a user has not activated the edit display region 395, the function proceeds directly to a decision state 564. However, if the user has activated the edit display region 395, the message launcher moves instead to a state 562. Within the state 562, an edit pull-down menu 850 (Figure 9B) is displayed by the system. Referring to Figure 9B, the edit pull-down menu 850 also includes a list of options. These options include an add option 855, a modify option 860, and a delete option 865. The add, modify, and delete options 855, 860, 865 perform substantially the same functions as the add, modify, and delete buttons 360, 362, 364 respectively, found in the menu 300 of Figure 4A.
Turning back to Figure 6B, the function moves to the decision state 564, wherein a test is made as to whether the user has activated the help display 398. If the user has not activated the help display 398, the control moves to a return state 568. If the user has activated the help display region 398, the function proceeds to a state 566, wherein the system displays a help pull-down menu 870 (Figure 9C) .
Now referring to Figure 9C, the help pull-down menu 870 includes a list of help options. The help options include an index option 875, a buttons option 880, a commands option 885, a glossary option 890, a procedures option 895, a general system help option 897, and a special message launcher system help option 898. The index, buttons, commands, glossary, and procedure help options 875-895 are conventional and well understood in the technology. The general system help option 897 is also conventional and gives the user access to information about the general Windows® application software which the user is currently running. The special help option 898 gives the user access to specific information about the data transmission operation of the present invention described with reference to Figure 3 generally and more specifically with reference to the flowcharts of Figures 5, 6A, 6B, 10A, 10B and 11-14. Once the user has selected and utilized the desired help option, the function of Figure 6B continues from the state 556 to the return state 568 wherein control is returned to the main loop of the message launcher (shown in Figure 3) and enters the decision state 230.
IV. Convert and Send Files The general procedure employed by the convert and send files function 234 (Figure 3) is described in detail with reference to Figures 10A and 10B. The conversion portion of the method is generally represented by the portion of the flowchart shown in Figure 10A, while the sending portion of the method is generally represented by the portion of the flowchart shown in Figure 10B.
With specific reference to Figure 10A, control begins in a state 900 when the user activates the Send button 334 on the menu 300 (Figure 4A) . The control flow then proceeds to a decision state 903 wherein a decision is made as to whether an E-mail destination has been designated by the user. If an E-mail destination has not been designated by the user, the function proceeds to a decision state 906. However, if an E- mail destination has been designated by the user, the function moves instead to a state 909.
Within the state 909, a file to be transmitted to the E- mail destination is retrieved from the send list stored in the memory of the workstation 110. The message launcher transitions to a function 912 wherein the retrieved data file is converted to E-mail compatible format. The function 912 will be described in greater detail below with reference to Figure 11.
In Figure 10A, the control flow moves from function 912 to a state 915 wherein the converted file is saved within the disk drive memory 118 of one of the workstations 110.
Moving to a decision state 918 a test is performed to find whether another file needs to be converted into E-mail format. If another file needs to be converted into E-mail format, control moves from the decision state 918 to the state 909 and the cycle described above is repeated until all files which are to be sent to the designated E-mail destination have been converted.
Continuing from state 918 to the decision state 906, a determination is made as to whether the user has designated a facsimile destination. If the user has not designated a facsimile destination (i.e., there is no facsimile recipient listed within the send list or the destination list display 320 (Figure 4A) ) , control proceeds from the decision state 906 to a decision state 921. However, if the user has designated a facsimile destination then the function moves instead to a state 924 wherein a file to be sent to the designated fax destination is retrieved from the send list. Proceeding to a decision state 927, a determination is made if the data file just retrieved from the send list has already been converted into a suitable data format during the E-mail conversion function 912. Since the E-mail conversion process and the facsimile conversion process employed in accordance with the present invention may involve the same conversion scheme for a certain data file format, it is possible for the same file, which is to be sent to both a facsimile and an E- mail destination, to be converted into a the same data format by both the E-mail and facsimile conversion processes. The decision state 927 therefore allows the network 100 to save valuable processing time if the same file, having the same conversion, is sent by E-mail and by facsimile. Thus, if one such file has already been converted into a suitable data format by means of the E-mail conversion process, the function proceeds immediately from the decision state 927 to a decision state 936. However, if the retrieved file has not already been converted into a suitable data format, the control moves to a function 930. Within the function 930, the file is converted into a facsimile data format. A more detailed description of the conversion process employed within the facsimile conversion function 930 will be given below with reference to Figure 12.
Transitioning from the function 930 to a state 933 the converted file is saved within the disk drive 118 of one of the personal computer workstations 110. From the state 933, the function moves the decision state 936 wherein a test is performed to determine if another file must be converted into facsimile data format. If another file is to be transmitted to a facsimile destination, control once again returns to the state 924 wherein the next file is retrieved from the send list. However, if there are no more files to be sent to the facsimile destination, control instead moves to the decision state 921. Continuing to refer to Figure 4A, within the decision state 921, a test is performed to determine whether there are any files to be sent to a printer destination. If there are no files to be sent to a printer destination, the control flow proceeds to a decision state 954. However, if it is determined that there are files to be sent to a printer destination, the function moves to a state 939 wherein a file to be sent to the printer destination is retrieved from the send list. Then, proceeding to the decision state 942, a determination is made as to whether the file just retrieved had already been converted into a suitable data format by means of the E-mail or facsimile conversion functions 912, 930. Again, since certain file data format conversions are the same for the E-mail, facsimile and printer conversion processes, it is possible that certain files which were already sent to E-mail or facsimile destinations, and now are to be sent to a printer destination, have already been converted into a suitable data format for transmission to the destination printer.
At decision state 942, if it is determined that the file is already in suitable data format to be sent to the destination printer, the control flow proceeds to a decision state 951. However, if the file is not in a suitable data format, the control moves instead to a function 945, wherein the file is converted into printer data format. The method employed within the function 945 to convert the file into printer data format will be described in greater detail below with reference to Figure 13.
Moving from the function 945 into a state 948, the converted file is saved within the disk drive 118 of the workstations 110. Control flow then transitions from the state 948 into the decision state 951, wherein a test is performed to determine if another file is marked for sending to a printer destination. If another file is to be sent to a printer destination, the control flow returns to the state 939 wherein the next file to be sent to the designated printer destination is retrieved from the send list and the above- described process is repeated until there are no longer any files to be transmitted to the designated printer destination.
The convert and send files function continues from the decision state 951 (Figure 10A) to the decision state 954 (Figure 10B) via the continuation point A. At the decision state 954 of Figure 10B, a determination is made as to whether there are any data files which are to be sent to a printer destination. If there are no files to be sent to a printer destination, the control flow moves from the decision state 954 to a decision state 957. However, if it is determined that files are to be sent to a designated printer destination, the function moves instead to a state 960. At the state 960, the files which have been converted and saved for printer destinations are concatenated. Control then passes to a state 963 wherein the designated printer destination is retrieved from the send list. Control flow moves from the state 963 to a state 966 wherein the concatenated files are sent to the designated print queue. Then, moving to a decision state 969, a test is performed to determine whether another printer destination has been designated. If another printer destination has been designated, control returns to the state 963 from the decision state 969. The cycle therefore repeats until there are no longer any files to be sent to printer destinations.
Continuing from state 969 to the decision state 957, a test is performed to determine whether there are any files to be sent to E-mail destinations. If there are no files to be sent to E-mail destinations, the function proceeds to a decision state 972. If, however, if it is determined that there are files to be sent to E-mail destinations, the function moves instead to a state 975 wherein an E-mail header, e.g., as provided for by the Novell Netware Standard, is created using the message text entered by the user via the cover text edit box 770 (Figure 8B) . If the user has not entered a cover page, a blank E-mail header is created instead. Proceeding from the state 975 to a state 978, the files which were converted and saved for E-mail destinations are attached to the newly created E-mail header. At a decision state 981, a test is conducted to determine whether a page description language (PDL) flag has been set. The PDL flag may be set within the E-mail conversion process 912, and the purpose of the PDL flag will be described with reference to Figure 11. The PDL flag has not been set, the decision state 981 to a state 984, wherein the E-mail header and corresponding attachments are transmitted to the E-mail destinations designated by the user via the bus 140 (Figure 140), and the function proceeds to the decision state 972. However, if it was determined in the decision state 981 that the PDL flag has been set, the function moves from the decision state 981 to a function 987. Within the function 987, the E-mail header and attachments are sent from the workstation 110 to the FAX server 120 (Figure 1) for further conversion and processing. The conversion and processing method employed within the function 987 will be described in greater detail below with reference to Figure 14.
Moving from the function 987 to the decision state 972 in Figure 10B, a test is performed to determine whether there are any files to be sent to facsimile destinations. If it is determined that there are no files to be sent to facsimile destinations, the control flow proceeds immediately to a return state 999 wherein control of the process returns to the main loop of the message launcher (Figure 3) . If, however, if there are files to be sent to facsimile destinations, the function instead transitions to a state 990 wherein an E-mail header is created using the cover page text entered by the user. Again, if the user has not entered a cover page message text, a blank E-mail header is created by the system. Continuing to a state 993, the files which were converted and saved for facsimile destinations are attached to the newly created E-mail header. Then moving to a function 496, the header and corresponding attachments are transmitted from the workstation 110 to the FAX server 120 (Figure 1) for conversion and further processing. The method employed within the function 996 is substantially similar to the method employed within the function 987 and is therefore described in greater detail below with reference to Figure 14. Lastly, the function terminates via the return state 999 wherein control returns to the main loop of the message launcher (Figure 3). Figure 11 is a flowchart which details the preferred method of the convert file to E-mail data format function 912 identified in Figure 10A. Beginning at a start state 1000 and moving to a decision state 1005, a test is performed to determine whether the incoming file is in one of the presently preferred formats of PDL, PCX/DCX, ASCII, binary file, or Windows® application. If the user selected data file is not in any one of these data formats, the control flow continues to a decision state 1010. However, if the incoming data file is in one of the above-listed predetermined data formats, at a decision state 1015 a test queries whether any one of the files attached to the E-mail header is in PDL format. If one of the files attached to the E-mail header is in PDL format, the function moves to a state 1020 wherein a PDL flag is set.
The PDL flag indicates to the system that special processing must be performed by the FAX server 120 at a later time within the data transmission operation of the present invention. The function completes via a return state 1025 from either the decision state 1015 (i.e., if it is determined that none of the attached files is in the PDL data format) or the state 1020. If, in the conversion function illustrated in Figure 11, it was determined within the decision state 1005 that the incoming file is not in one of the prespecified data formats, at the decision state 1010 the condition is tested as to whether the data file is in scanner data format, i.e., the format of data files produced by image scanning devices, for example, the PCX or BMP standard. If the data file is not in the scanner data format, the function proceeds immediately to a state 1030 wherein the data file is ignored and a message is sent to the user indicating that the data file is not system compatible. Now moving from the state 1030 to the return state 1025, control is returned to the convert and send files function described with reference to the flowchart of Figure 10A.
Continuing to refer to Figure 11, assuming that the decision state 1010 determines that the data file is in scanner data format, the function proceeds from the decision state 1010 to a state 1035, wherein the file in scanner data for at is converted to a file in the PCX data format standard set forth by Zsoft or the DCX data format standard set forth by DCA and Intell. The conversion from scanner data format to PCX/DCX data format is conventional and will be readily understood by one skilled in the technology. As a final step, the function proceeds from the state 1035 to the return state 1025 where control is returned to the process outlined in the flowchart of Figure 10A.
Figure 12 is a flowchart which details the specific method used to convert data files into facsimile compatible data formats within the facsimile conversion function 930 (Figure 10A) . The method begins at a start state 1100, and proceeds to a decision state 1105 wherein a test is performed to determine whether the incoming data file is in one of a preselected format, such as, for example, ASCII, PDL or PCX/DCX. If the incoming file is in any one of the preselected formats, this indicates that there is no need to convert these files prior to transmitting them via facsimile, and the function moves immediately to a return state 1110, wherein control of the method is returned to the process outlined in the flowchart of Figure 10A.
On the other hand, if it is determined in the decision state 1105 that the incoming data file is not in one of the predetermined data formats, the function moves instead to a decision state 1115, wherein a test is performed to determine whether the incoming data file is a Windows® application specific file. If the incoming file is not a Windows® application specific file, the function proceeds to a decision state 1120. However, if it is determined that the incoming file is a Windows® application specific file, the control flow moves to a state 1125 wherein this file is converted to PDL via a DDE call to the Windows® applications program and the function returns at state 1110. Conversion of a Windows® application specific file to a PDL data format via DDE is also conventional and well-understood by those of ordinary skill in the field of data conversion. In Figure 12, assuming that at the decision state 1115 it is found that the data file is not a Windows® application specific file, the function moves to the decision state 1120 wherein a test is performed to determine if the file is in scanner data format, and if the data file is not in scanner data format, the function moves to a state 1130. At state 1130, the file is ignored and a message is sent to the user indicating that the data file is system incompatible and function terminates at return state 1110.
However, if it is determined that the file is in scanner data format, control moves from the decision state 1120 to a state 1135 wherein the scanner data format file is converted to PCX/DCX. The control flow then proceeds from the state 1135 to the return state 1110 wherein control returns to the method outlined within the flowchart of Figure 10A. Figure 13 is a flowchart which details the specific method employed within the printer conversion function 945 identified in Figure 10A. The method begins at a start state 1200 and moves to a decision state 1205 wherein a test is performed to determine whether the data file is in the ASCII or PDL data format. If it is determined at the decision state 1205 that the data file is not in the ASCII or PDL data formats, the flow transitions to a decision state 1210. However, if the incoming data file is in the ASCII or PDL data formats, this indicates that the data file is already in a suitable data format to be transmitted to the destination printer and the function terminates immediately at a return state 1220, wherein control is returned to the method outlined in the flowchart of Figure 10A.
Now, in Figure 13, if the data file is not in the ASCII or PDL data formats, a test is performed within the decision state 1210 to determine whether the data file is in the PCX/DCX or scanner data formats. If the data file is not in the PCX/DCX or scanner data formats, the function moves from the decision state 1210 to a decision state 1225. Alternatively, if the data file is in the PCX/DCX or scanner data formats, at a state 1230, the file is converted to PDL raster graphics and the function terminates at state 1220. The conversion of files from the PCX/DCX or scanner data formats into PDL raster graphics is conventional and well-known to those of ordinary skill in the field of data conversion. If the incoming data file was not found to be in the ASCII or PDL data formats in the decision state 1205, or in the PCX/DCX or scanner data formats within the decision state 1210, a test is performed within the decision state 1225 to determine whether the data file is a Windows® application specific file. If the incoming data file is not a Windows® application specific file, the control moves to a state 1235 wherein the data file is ignored and a message is sent to the user indicating that the file is system incompatible and the function completes to the return state 1220. If, however, it is determined that the data file is a
Windows® application specific file, control moves from the decision state 1225 to a state 1240 wherein the Windows® application specific file is converted to PDL via a DDE call to the Windows® application. Finally, the function moves from the state 1240 to the return state 1220 wherein control of the process returns to the procedure outlined within the flowchart of Figure 10A.
Figure 14 is a flowchart which details the method employed within the fax server functions 987, 996 (Figure 10B) . These functions are executed in the fax server 120 of the network 100 shown in Figure 1. The method begins at a state 1300 wherein an E-Mail header along with its attachments is retrieved. Then moving to a decision state 1305, a test is conducted to determine whether the E-mail header and the associated attachments are to be sent to a facsimile destination. If the E-mail header and the associated attachments are to be sent to a facsimile destination, the function moves to a state 1310, wherein the header message (which is in the ASCII data format) , and all other attachments which are in the presently preferred set of formats, namely, ASCII, PDL, or PCX/DCX data formats, are converted to CCITT Group III facsimile data format. The conversion of data files from the ASCII, PDL, and PCX/DCX data formats to the Group III fax data format is conventional and well-understood by those skilled in the relevant technology. Next, moving from the state 1310 to a state 1315, the converted files are sent to the designated facsimile destinations via the telephone lines 124 (Figure 1) , and control of the process then returns to the state 1300 wherein the next E-mail header, with its associated attachments, is retrieved.
In Figure 14, if it was decided within the decision state 1305 that the E-mail header and associated attachments are not for transmission to a facsimile destination, the function moves from the decision state 1305 to a state 1320. Within the state 1320, a new cover page message is created from the E-mail header. Again, if the original E-mail header was blank, then a new blank cover page message is created within the state 1320. Proceeding to a state 1325, the first attachment from the old cover page is retrieved. The control flow next moves to a decision state 1330, wherein a test is performed to determine whether the retrieved attachment is in PDL data format. If the retrieved attachment is not in PDL data format, this indicates that no further conversion needs to be performed, and the function moves immediately to a state 1335. However, if it is determined within the decision state 1330 that the retrieved attachment is in PDL data format, control instead passes to a state 1340, wherein the PDL data format data file is converted to PCX/DCX data format. The conversion of PDL data format files to PCX/DCX data format files is conventional and well understood by those skilled in the technology. Now moving from the state 1340 to the state 1335, the attachment (i.e., either the old, unconverted attachment or the newly converted PCX/DCX attachment) is attached to the newly created E-mail header. The function next moves from the state 1335 to a decision state 1345 wherein a test is performed to determine whether another attachment remains to be processed. If another attachment still remains, control returns to the state 1325 wherein the next attachment is retrieved from the old cover page and the above-described cycle repeats until no more attachments remain. Continuing from the decision state 1345 to a state 1350, the newly created E-mail header, and the associated files attached to the E-mail header, are sent to their designated E-mail destinations from the FAX server 120 via the network bus 140. Lastly, the function moves from the state 1350 to the state 1300 wherein the next E-mail header and attachments are retrieved. Although the method illustrated by the flowchart of
Figure 14 has been described as though it were a continuously running process, the method is . actually interrupt driven. That is, the FAX server 120 begins processing from the state 1300 once an interrupt signal is generated by one of the workstations 110 indicating that an E-mail header and attachments need to be processed by the fax server.
Figure 15 is a data flow diagram 1400 which shows the inter-relationships among the main functions of the message launcher system and the principal data files in the network 100 (Figure 1) . The flow diagram 1400 includes six sets of data wherein the information necessary to operate the message launcher system is stored.
A set of data files or messages 1405 is stored in a network accessible memory (i.e., any memory accessible to the user via a data path specified by the user) . An attachments list 1410 is preferably stored in the system disk 118 of the workstation 110 (Figure 1) (see Table II above) and a destinations list 1415 is stored in the workstation memory 118 (see Table I above) . A set of converted files 1420 is stored in the workstation memory 118. The converted files 1420 correspond to the data files 1405 after they have been converted into a suitable data format to be transmitted over the designated medium. The personal and system-wide address lists 1425, 1430, are also stored within the workstation memory 118. It should be noted that, although the personal and system-wide address lists 1425, 1430 are stored temporarily within the memory 118 of the user's workstation 110 during operation of the message launcher system, the permanent memory locations of the personal and system-wide address lists are presently preferred to be within the network server 127 (Figure 1) . When the user designates a destination within the function 217 (see flowchart of Figure 3) , the destination designation function 217 incorporates inputs from either the personal or the system-wide address list 1425, 1430, and from the user (not shown) . In one embodiment, the user supplies information relating to the personal/system flag data field, as well as information relating to the E-mail, FAX, or printer flag data fields. The lists 1425, 1430 supply the address list identification number stored within the first data field. The designate destinations function 217 then outputs the completed destination list to the destination list memory 1415.
When the user designates an attachment within the function 222 (see flowchart of Figure 3) , the attachment designation function 222 incorporates inputs from the user and the data files 1405. The user supplies the data path of the file to be transmitted while the data files memory supplies information, inherently in their internal format, relating to the file category and data type. The designate attachments function 222 then outputs a completed attachments list 1410. When the user transmits the data files 1405 to the designated destination(s) , the files are first converted into a suitable data format within a convert files function 1445. The convert files function 1445 corresponds to the portion of the convert and send files function depicted in Figure 10A. The convert files function 1445 incorporates inputs from the user, the data files 1405, the attachments list 1410, and the destinations list 1415. The user supplies the initial signal which commences conversion and transmission of the data files 1405. The attachments list 1410 supplies the data path and data type of the files to be sent. The data files 1405 comprise the data files as accessed through the data path, and the destinations list 1415 supplies the transmission medium over which the files are to be sent. The convert files function 1445 utilizes these inputs to provide the data files 1420 which are in a suitable data format for transmission over the designated transmission media. The convert files function 1445 then outputs the converted data files 1420 to a memory. The converted files 1420 are input by a send files function 1450. The operations performed within the send files function block 1450 generally correspond to the portion of the convert and send files routine depicted in Figure 10B. In addition to the inputs supplied by the files 1420, the send files function 1450 incorporates inputs from the destinations list 1405, and the personal or the system-wide address lists 1425, 1430. The destinations list 1415 supplies the address list identification number, information indicating whether the address is found within the personal or the system-wide address list 1425, 1430, and information indicating the transmission medium. The send files function 1450 then accesses the appropriate memory (i.e., personal or system) and data file (via the address list identification number) and obtains the information appropriate to the selected transmission medium. For example, if the user has selected a FAX destination, then the send files function 1450 retrieves the facsimile number stored within the accessed address list 1425 or 1430. The send file function 1450 then accesses the transmission medium and outputs the converted data files 1420 to the designated destinations (e.g., printer, FAX, or E-mail) .
The message launcher system also includes other peripheral functions as indicated by the create memo and create cover page functions 1455, 1465. These functions receive user inputs, as described with reference to Figures 8A and 8B above, and output completed ASCII text data files to the data memory 1405. The create memo and create cover page functions 1455, 1465 also output data to a set memo flag function 1460 and a set cover page flag function 1470, respectively. The set memo flag and set cover page flag functions 1460, 1470 access the attachments list 1410 and set the memo and cover page flags within the second data field as shown in Table II above.
Other special peripheral functions of the message launcher system include the delete attachments function 554 (corresponding to the function 554 in the flowchart of Figure 6B) , and the delete destinations function 550 (corresponding to the function 550 in the flowchart of Figure 6B) . The delete attachments and delete destinations functions 554, 550 receive inputs from the user (not shown) and access the attachments and destinations lists 1410, 1415 respectively to delete information stored within these lists.
An Add, Delete, or Modify function 1485 receives inputs from the user and accesses either the personal or the system address lists 1425, 1430 in response to the user inputs. The Add, Delete, or Modify function block 1485 then performs operations on the address lists 1425, 1430 as described with reference to Figures 7A-7C above. A dashed line is depicted from the function block 1485 to the system address list 1430 to indicate that only network administrators are able to Add, Modify, or Delete entries within the system-wide address list.
It should be understood that in one presently preferred embodiment, although not explicitly represented in Figure 15, the various functions and memories shown in Figure 15 have access to and operate in accordance with the main operation system or Windows® application program of the network 100 (Figure 1) .
It should also be noted that only the main functions associated with the message launcher system are depicted within the data flow diagram of Figure 15. It will be appreciated, however, that the implementation of other special functions as described herein, or as implemented in modifications of the invention, can be made by a skilled technologist.
Figure 16 is a flowchart which illustrates the function of the message launcher system used to re-map the transmission medium via the display 315 of the menu 300 (Figure 4A) so that the "E", "F" and "P" buttons correspond to the name displayed in the immediately adjacent row of the address list display 310. This re-mapping of the transmission medium select display 315 is necessary each time the user scrolls through the list of names within the address display 310, or accesses a name by means of the index 305. For example, the function of Figure 16 would be applied by state 410 i Figure 5.
Referring generally to Figures 16 and 4A, once the user has scrolled through the list of names by means of the scroll buttons 350, 352, or has accessed a segment of the address list display 310 by means of the index 305 so that the list of names displayed within the address list display 310 has changed, the message launcher enters a state 1500. The message launcher transition from the state 1500 to a state 1505 which determines the address list identification number of the name or user group displayed at the top of the address list display 310. As noted above, each name displayed within the address list display 310 has an associated address list identification number which uniquely identifies a data file record associated with that name. The message launcher system has immediate access to this identification number once the location of the name in the address list display 310 has been determined. The method of determining the location of a name within the address list display 310 will be described with reference to Figure 17 below.
The message launcher transitions from state 1505 to a state 1510 which determines whether or not the currently accessed name is from the system-wide address list 1430 or the user's personal address list 1425 (Figure 15) . The personal/system flag, which indicates the address database in which the data record associated with the address name is contained, is also immediately accessible by the message launcher system once the location of the name within the address list display 310 has been determined. When the address list identification number and the personal/system flag have been determined, the message launcher system accesses the data record associated with the given address.
The message launcher system transitions from the state 1510 to a state 1515 which determines if the name associated with the accessed data record is a group entry. If the name is not a group entry, then the message launcher immediately moves to a state 1520. However, if the name is a group entry, the message launcher transitions from the state 1515 to a state 1525 which sets all of the communications media buttons (i.e., the "E", "F" and "P" buttons) in the row immediately adjacent to the group entry name to a group bar (see Figure
7D) . The message launcher then transitions to a state 1530.
If the name associated with the accessed data record is not a group entry, then the message launcher system moves from the state 1515 immediately to the state 1520 which determines if the name has an E-mail address. The message launcher system determines whether or not the name has an associated E-mail address by accessing the data record associated with that name. If the name does have an E-mail address, the message launcher transitions from the state 1520 to the state 1535 wherein the E-mail button in the row immediately to the right of the listed name is enabled. Thus, a user is able to select an E-mail destination for that name. A letter "E" is also displayed within the E-mail button immediately to the right of the listed name. If the name associated with the accessed data record does not have an E-mail address, then the message launcher transitions from the state 1520 to a state 1540. Within the state 1540, the message launcher disables the E-mail button in the row immediately to the right of the name. In addition, the E-mail button is blanked to indicate that name does not have an E-mail address.
The message launcher transitions from either the state 1540 or the state 1535 to a state 1545 which determines if the name associated with the accessed data record has a facsimile address. If the name does have a facsimile address, then the message launcher transitions to a state 1550 wherein the fax button in the row immediately to the right of that name is enabled. The message launcher also displays a letter "F" within the enabled facsimile button on the transmission medium select display 315. If the name associated with the accessed data record does not have a facsimile address, however, then the message launcher transitions from the state 1545 to a state 1555. Within the state 1555, the message launcher disables the fax button in the row immediately to the right of the name. The message launcher also blanks that fax button to indicate that no facsimile destination is available for the name.
The message launcher system transitions from either the state 1555 or the state 1550 to a state 1560 which determines if the name associated with the accessed data record has a print queue address. As is the case with the E-mail and fax destinations, the message launcher determines if the name has an available print queue address by accessing the data record associated with that name. If the name does have a print queue address, then the message launcher transitions to a state 1565 wherein the print button in the row immediately to the right of that name is enabled. A "P" is also displayed within the print button to the right of the displayed name. If the name associated with the accessed data record does not have an available print queue address, then the message launcher transitions from the state 1560 to a state 1570. Within the state 1570, the message launcher disables the print button in the row immediately to the right of the displayed name and blanks the print button to indicate that this address does not have an available printer destination.
The message launcher transitions to the state 1530 from any one of the states 1525, 1570, or 1565. Within the state 1530, the message launcher determines if the current name is the name at the bottom of the address list display 310. If the current name is not at the bottom of the address list display 310, then the message launcher transitions to a state 1575 which determines the address list identification number associated with the next displayed name (i.e., the name immediately beneath the last name) . The message launcher then transitions from the state 1575 to the state 1510 so that the processes repeats for each name displayed within the address list display 310. Once the entire transmission medium select display 315 has been re-mapped to correspond to each of the names within the address list display 310, then the message launcher system enters a state 1580 which signals the end of the re-mapping process. Thus it will be understood that the name display 310 and button display 315 scroll together, allowing a user selection from more than one operation, e.g., E-mail, fax or print, for each name. Figure 17 is a flowchart which illustrates the function of the message launcher system used to determine the destination address and transmission medium selected by a user when one of the transmission medium select buttons (i.e. , the "E", "F" or "P" buttons) has been activated (e.g., by means of the mouse 114 of Figure 1) . As will be understood by those a skilled technologist, Windows application programs operate on the basis of a mapping format wherein a Cartesian coordinate system of pixels are defined to correspond to areas on the video display screen 112 (Figure 1) . Thus, each of the buttons within the transmission medium select display 315 (Figure 4A) has a unique X and Y position as defined within the Windows application program. The message launcher system is therefore able to determine which options the user has selected by determining the X and Y position of the mouse cursor on the video display 112 when the user activates the mouse button 112. The function of Figure 17 is applied, for example, during the decision state 215 of Figure 3.
Referring to Figures 17 and 4A, when the Windows applications program determines that the mouse button is active and the mouse cursor is within the transmission medium select display 315, the message launcher system enters a state 1600. The message launcher transitions from the state 1600 to a state 1610 which determines the X and Y coordinate position values of the cursor location within the transmission medium select display 315.
The message launcher next moves to a state 1620 which determines which name is at the top of the address list display 310. This name has a Y coordinate value which corresponds to the location of that name within the entire address list and not just the portion of the address list visible within the address list display 310. Thus, the very first name in the list (e.g., the One Time Fax option in one embodiment) has a Y coordinate of 1, for example. The name immediately beneath the first name has a coordinate of two, and the name beneath that name has a coordinate of 3, and so on, throughout the entire list until all the address names are assigned a Y coordinate value. The message launcher then determines the Y coordinate value associated with that name.
Once the message launcher determines the Y coordinate value of the name displayed at the top of the address list display 310, the message launcher enters a state 1630 wherein the Y position of the mouse cursor within the transmission medium select display 315 is added to the Y position of the name at the top of the address list display 310. The Y coordinate of the mouse cursor is measured absolutely with reference to the top of the transmission medium select display 315, and is in the same units as the Y coordinates assigned to the names within the address list display 310. Therefore, the message launcher simply adds the Y coordinate of the mouse cursor to the determined Y coordinate of the name at the top of the address list display 310 to obtain the Y position of the name in the row immediately to the left of the mouse cursor.
This procedure may be illustrated more clearly with an example. Let it be determined that the name at the top of the address list display has a Y coordinate value of 12. If the top button row of the transmission medium select display 315 is assigned a Y coordinate value of zero, and each successive row has a Y coordinate value which increases by one as the mouse cursor moves down the video screen 112 (Figure 1) , then if the mouse cursor is activated in the fourth row a Y value of 4 will be added to the value 12 to obtain a Y coordinate of 16. The name assigned a value of 16 will be the name which is four names down from the name at the top of the address list display 310. Because each row of buttons 316, 317, 318 (Figures 4A and 4B) is aligned with a name in the address list display 310, the name which is four names down from the top is immediately adjacent the fourth row from the top of the transmission medium select display 315. Thus, the resulting Y value obtained from the addition of the two Y values indicates the name immediately adjacent to the row where the mouse cursor is positioned.
The message launcher transitions from the state 1630 to a state 1640 which determines the appropriate transmission medium from the X position value obtained during the state 1610. In addition to having a Y coordinate assigned to each row of buttons 316, 317, 318, the transmission medium select display 315 has an X coordinate assigned to each column of buttons. For example, the "E" column may be assigned an X coordinate of zero, the "F" column may be assigned an X coordinate of one, and the "P" column may be assigned an X coordinate of two, and so on for any additional columns which a skilled technologist may contemplate adding to the message launcher system. Thus, the message launcher system is able to determine one out of a plurality of address names and one out of a plurality of transmission mediums by means of the X-Y mapping described above.
The message launcher transitions to the state 217 (corresponding to the state 217 shown in the flowchart of Figure 3) wherein the determined name and determined transmission medium are added to the send list. The message launcher then transitions to a state 1660 to return to the main menu loop shown diagrammatically in Figure 3.
V. Summary
The present invention provides a system for seamlessly sending a message, having any one of a number of different data formats, to one or more destination addresses, wherein each address can be characterized as having a name and one among a number of different communication media. The present invention further includes an efficient means for routing the message to a selected destination that merely requires movement of a pointer device and one or more depressions of a button. The present invention may be embodied in other specific forms from the presently preferred embodiments described herein without departing from its spirit or central characteristics. For example, the multimedia data transmission operation of the present invention may be implemented in a network other than a Novell Ethernet network. Thus, the described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within the scope.

Claims

CLAIMS :
1. A message transmission system, comprising: a workstation; a plurality of communications media connecting to the workstation, each communications media having one or more destination addresses; means for creating a send list having one or more destination addresses; and means for sending a data file to each destination address in the send list.
2. The system defined in Claim 1, wherein the workstation is connected to other workstations in a communications network.
3. The system defined in Claim 1, wherein one of the communications media is a facsimile machine.
4. The system defined in Claim 1, wherein one of the communications media is a printer.
5. The system defined in Claim 1, wherein one of the communications media is an electronic mail system.
6. The system defined in Claim 1, wherein the destination address comprises a name.
7. The system defined in Claim 1, wherein more than one destination address is associated with a name.
8. The system defined in Claim 1, wherein the send list is a subset of a predetermined address list.
9. The system defined in Claim 1, wherein the send list defines a preselected group of destination addresses.
10. The system defined in Claim 1, wherein the data file is stored in a memory as one of a preselected set of data formats.
11. The system defined in Claim 10, wherein the set of data formats includes text data.
12. The system defined in Claim 10, wherein the set of data formats includes image data.
13. The system defined in Claim 10, wherein the set of data formats includes page description data.
14. The system defined in Claim 10, wherein the set of data formats includes application specific data.
15. The system defined in Claim 1, wherein the data file is selectively converted to a communications media format.
16. In a computer network, a method of sending a data file to a destination, comprising the steps of: creating a send list having a plurality of addresses, each address comprising a name and a selected one of a plurality of types of communication medium; selecting one of a plurality of data files stored on the network; selecting at least first and second addresses from the send list wherein each address specifies a communication medium different from the other; and sending the selected data file across the network to each selected address.
17. The method defined in Claim 16, wherein the send list also includes one or more groups of addresses.
18. The method defined in Claim 16, wherein the types of communication media include a facsimile.
19. The method defined in Claim 16, wherein the types of communication media include an electronic mail.
20. The method defined in Claim 16, wherein the types of communication media include a printer.
21. The method defined in Claim 16, wherein at least one data file is stored on a network server.
22. The method defined in Claim 16, wherein more than one data file is selected to be sent.
23. The method defined in Claim 16, wherein the sending step includes the step of converting the selected data file to a format specific to the selected communication medium.
24. The method defined in Claim 24, wherein the data file is one of a preselected number of different data formats.
25. The method defined in Claim 16, wherein the data file is one of a preselected number of different data formats.
26. The method defined in Claim 16, wherein at least two of the addresses have the same name.
27. In a computer having a displayed scrolling window containing a list of addresses, each address having a name and at least one of a plurality of communication media types, a method of sending a message, comprising the steps of: displaying a plurality of switches on the video display, wherein each button is displayed proximate to one or more distinct character strings; switching a selected one of the switches; scrolling the window to display a range of addresses, wherein the range is determined by indexing address names by the character string displayed in conjunction with the selected switch; selecting one of the displayed addresses by name; and sending the message to the address.
28. The method defined in Claim 27, wherein the selected address name includes more than one communication media type and additionally comprising the step of selecting one of the communication media in the address.
29. The method defined in Claim 27, wherein the switches are buttons.
30. The method defined in Claim 27, wherein the character strings comprise individual letters of an alphabet.
31. The method defined in Claim 30, wherein the alphabet is the English alphabet.
32. The method defined in Claim 27, wherein the computer includes a mouse and the switching step includes the steps of: placing a cursor on one of the switches; and depressing the mouse button.
33. The method defined in Claim 27, wherein the range of addresses is displayed in lexicographical order.
34. The method defined in Claim 27, wherein the range of addresses includes both address names having character strings matching the selected character string and address names not having such a match.
35. The method defined in Claim 27, wherein the address selection step includes the steps of: placing a cursor on one of the address names; and depressing the mouse button.
36. The method defined in Claim 27, wherein the address name is adjacent to means for selecting a communication media type.
37. The method defined in Claim 36, wherein the selection means is a set of buttons, each button being associated with one communication media type.
38. The method defined in Claim 36, additionally comprising the step of using the selecting means to select a communication medium.
39. The method defined in Claim 27, additionally comprising the step of selecting the message to send from a plurality of messages.
40. The method defined in Claim 27, wherein the message is a data file.
41. A method of scrollable selection, comprising the steps of: scrolling a list of data entries on a display; scrolling a plurality of buttons assigned to each data entry simultaneously with the list scrolling, each button having ascribed to it a predetermined function different from the other buttons; and selecting one of the buttons assigned to one of the date entries so as to carry out a predetermined function on the assigned data entry.
42. The method defined in Claim 41, wherein each data entry comprises a name.
43. The method defined in Claim 41, wherein the buttons are ascribed the functions of sending a preselected message to one of a plurality of communications media.
44. The method defined in Claim 41, wherein one of the buttons is ascribed the function of sending to a facsimile machine.
45. The method defined in Claim 41, wherein one of the buttons is ascribed the function of sending to an E-mail system.
46. The method defined in Claim 41, wherein one of the buttons is ascribed the function of sending to a printer.
47. The method defined in Claim 41, wherein the selecting step causes a message to be sent to a destination over one of a plurality of communications media.
PCT/US1993/008291 1992-09-02 1993-09-02 Multimedia message transmitter WO1994006230A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU51005/93A AU5100593A (en) 1992-09-02 1993-09-02 Multimedia message transmitter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US94137492A 1992-09-02 1992-09-02
US07/941,374 1992-09-02

Publications (2)

Publication Number Publication Date
WO1994006230A2 true WO1994006230A2 (en) 1994-03-17
WO1994006230A3 WO1994006230A3 (en) 1994-05-26

Family

ID=25476363

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1993/008291 WO1994006230A2 (en) 1992-09-02 1993-09-02 Multimedia message transmitter

Country Status (2)

Country Link
AU (1) AU5100593A (en)
WO (1) WO1994006230A2 (en)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0770968A2 (en) * 1995-10-27 1997-05-02 Matsushita Electric Industrial Co., Ltd. Terminal device in document information communication system
EP0837592A2 (en) * 1996-10-18 1998-04-22 Murata Kikai Kabushiki Kaisha Communication terminal apparatus
WO1998032272A1 (en) * 1997-01-15 1998-07-23 British Telecommunications Public Limited Company Method and apparatus for messaging
EP0860966A2 (en) * 1997-02-20 1998-08-26 Kabushiki Kaisha Toshiba Distributed network computing system, and data exchange apparatus
EP0868066A2 (en) * 1997-03-25 1998-09-30 Deutsche Telekom AG Device for receiving and transmitting facsimile messages
EP0887755A2 (en) * 1997-06-27 1998-12-30 Murata Kikai Kabushiki Kaisha Electronic mail-capable communication terminal device and electronic mail communication method
EP0892527A2 (en) * 1997-07-14 1999-01-20 Murata Kikai Kabushiki Kaisha Electronic mail-capable communications terminal device and electronic mail communications method
EP0719016A3 (en) * 1994-12-01 1999-02-24 Sharp Kabushiki Kaisha Communication equipment
EP0907274A1 (en) * 1997-09-25 1999-04-07 Alcatel System with printing faculties for exchanging data between a terminal and access means
GB2330927A (en) * 1997-10-28 1999-05-05 Intelligent Instr Inc Multilingual communication terminal
WO1999057619A2 (en) * 1998-04-30 1999-11-11 Nokia Mobile Phones Limited A method and apparatus for processing electronic mail
EP0985297A2 (en) * 1996-11-18 2000-03-15 Premiere Communications, Inc. System for integrated management of messaging and communications
US6049596A (en) * 1997-09-25 2000-04-11 Alcatel Individualized system for exchanging data between a terminal and access means via a telephone network, and terminal, and access means
WO2000041064A1 (en) * 1999-01-08 2000-07-13 Sosnowski, Tom Method and apparatus for remote printing of a document
US6233321B1 (en) 1997-09-25 2001-05-15 Alcatel Push/pull system for exchanging data between a terminal and access means via a telephone network, and terminal, and access means
WO2001050680A2 (en) * 1999-12-20 2001-07-12 Infospace, Inc. Buddy list aggregation
FR2811102A1 (en) * 2000-06-28 2002-01-04 Michael Roger File transfer method for e-mails where document for transfer is transformed from one format to another to be included in the email
EP1225526A2 (en) * 2000-10-06 2002-07-24 Riso Kagaku Corporation Record media delivery system, record media delivery method, record media delivery program and information transmission device
US6463293B1 (en) 1998-09-25 2002-10-08 Alcatel Method for preparing a terminal to be used in a system, and system and terminal
US6469798B1 (en) 1995-03-06 2002-10-22 Matsushita Electric Industrial Co., Ltd. Electronic mail apparatus and method
US6477244B2 (en) 1995-03-06 2002-11-05 Matsushita Electric Industrial Co., Ltd. Electronic-mail apparatus
EP1355455A1 (en) * 2002-04-15 2003-10-22 Siemens Aktiengesellschaft Method for message distribution
EP1395032A2 (en) 1996-04-12 2004-03-03 Matsushita Electric Industrial Co., Ltd. Electronic mail system
US6857074B2 (en) 1995-04-28 2005-02-15 J2 Global Communication, Inc. Systems and methods for storing, delivering, and managing messages
EP1631028A1 (en) * 1997-07-25 2006-03-01 Canon Kabushiki Kaisha Communication device for information exchange between an e-mail system and a facsimile machine
EP1649337A2 (en) * 2003-08-01 2006-04-26 Estationer, LLC Method, system, and program product for automatically formatting electronic mail
EP1798978A2 (en) 1998-08-26 2007-06-20 United Video Properties, Inc. Television message system
US7624150B2 (en) 1997-07-25 2009-11-24 Canon Kabushiki Kaisha Communication device having the capability of performing information exchange between a facsimile medium and an electronic information medium such as an e-mail medium
US8897432B2 (en) 2010-07-01 2014-11-25 Etherfax, Llc System and method of remote fax interconnect technology
US8918818B2 (en) 1998-08-26 2014-12-23 United Video Properties, Inc. Television chat system
US8998720B2 (en) 2010-03-31 2015-04-07 Rovi Technologies Corporation Media appliance

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987007801A1 (en) * 1986-06-02 1987-12-17 American Telephone & Telegraph Company Communication system having unified messaging

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987007801A1 (en) * 1986-06-02 1987-12-17 American Telephone & Telegraph Company Communication system having unified messaging

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A. MACLEAN ET AL: 'User-Tailorable Systems: Pressing the Issues with Buttons' CHI '90 CONFERENCE PROCEEDINGS. EMPOWERING PEOPLE. 1-5 APRIL 1990, SEATTLE, US pages 175 - 182 *
AT & T TECHNOLOGY, vol.4, no.2, 1989, SHORT HILLS, NEW JERSEY US pages 18 - 24, XP000086284 J.G. DEFELICE & R.W. HENRY 'AT&T Mail Public Messaging Service' *
AT & T TECHNOLOGY, vol.4, no.2, 1989, SHORT HILLS, NEW JERSEY US pages 2 - 5, XP000086281 M.R. CROAK 'Unified Messaging Will Deliver The Message' *
COMPUTER, vol.18, no.12, December 1985, NEW YORK US pages 65 - 78 R.H. THOMAS ET AL 'Diamond: A Multimedia Message System Built on a Distributed Architecture' *
DATA COMMUNICATIONS, vol.20, no.8, 21 June 1991, NEW YORK US, XP000232468 D. GREENFIELD 'Fax Servers Succeed in Business by Really Trying' *

Cited By (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0719016A3 (en) * 1994-12-01 1999-02-24 Sharp Kabushiki Kaisha Communication equipment
US6477244B2 (en) 1995-03-06 2002-11-05 Matsushita Electric Industrial Co., Ltd. Electronic-mail apparatus
US6469798B1 (en) 1995-03-06 2002-10-22 Matsushita Electric Industrial Co., Ltd. Electronic mail apparatus and method
US6614891B2 (en) 1995-03-06 2003-09-02 Matsushita Electric Industrial Co., Ltd. Electronic-mail apparatus
US6862348B2 (en) * 1995-03-06 2005-03-01 Matsushita Electric Industrial Co., Ltd. Electronic-mail apparatus
US6493107B1 (en) 1995-03-06 2002-12-10 Matsushita Electric Industrial Co., Ltd. Electronic mail system
US6857074B2 (en) 1995-04-28 2005-02-15 J2 Global Communication, Inc. Systems and methods for storing, delivering, and managing messages
US7203739B2 (en) 1995-10-27 2007-04-10 Matsushita Electric Industrial Co., Ltd. Terminal device for controlling transmission size of documents with capability of receiving device
EP0770968A3 (en) * 1995-10-27 1998-12-02 Matsushita Electric Industrial Co., Ltd. Terminal device in document information communication system
US6327616B1 (en) 1995-10-27 2001-12-04 Matsushita Electric Industrial Co., Ltd. Terminal device in document information communication system
EP1471452A1 (en) * 1995-10-27 2004-10-27 Matsushita Electric Industrial Co., Ltd. Terminal device in document information communication system
EP0770968A2 (en) * 1995-10-27 1997-05-02 Matsushita Electric Industrial Co., Ltd. Terminal device in document information communication system
EP1395032B2 (en) 1996-04-12 2013-10-30 Panasonic Corporation Electronic mail system
EP1404107B2 (en) 1996-04-12 2013-10-30 Panasonic Corporation Electronic mail system
EP1395032A2 (en) 1996-04-12 2004-03-03 Matsushita Electric Industrial Co., Ltd. Electronic mail system
EP1404107A2 (en) 1996-04-12 2004-03-31 Matsushita Electric Industrial Co., Ltd. Electronic mail system
US6256114B1 (en) 1996-10-18 2001-07-03 Murata Kikai Kabushiki Kaisha Communication terminal apparatus
EP0837592A3 (en) * 1996-10-18 1999-11-10 Murata Kikai Kabushiki Kaisha Communication terminal apparatus
EP0837592A2 (en) * 1996-10-18 1998-04-22 Murata Kikai Kabushiki Kaisha Communication terminal apparatus
EP0985297A2 (en) * 1996-11-18 2000-03-15 Premiere Communications, Inc. System for integrated management of messaging and communications
EP0985297A4 (en) * 1996-11-18 2000-03-15 Premiere Communications Inc System for integrated management of messaging and communications
WO1998032272A1 (en) * 1997-01-15 1998-07-23 British Telecommunications Public Limited Company Method and apparatus for messaging
EP0860966B1 (en) * 1997-02-20 2005-09-14 Kabushiki Kaisha Toshiba Distributed network computing system, and data exchange apparatus
EP0860966A2 (en) * 1997-02-20 1998-08-26 Kabushiki Kaisha Toshiba Distributed network computing system, and data exchange apparatus
EP0868066A2 (en) * 1997-03-25 1998-09-30 Deutsche Telekom AG Device for receiving and transmitting facsimile messages
EP0868066A3 (en) * 1997-03-25 1999-09-22 Deutsche Telekom AG Device for receiving and transmitting facsimile messages
EP0887755A3 (en) * 1997-06-27 2000-05-31 Murata Kikai Kabushiki Kaisha Electronic mail-capable communication terminal device and electronic mail communication method
EP0887755A2 (en) * 1997-06-27 1998-12-30 Murata Kikai Kabushiki Kaisha Electronic mail-capable communication terminal device and electronic mail communication method
EP0892527A2 (en) * 1997-07-14 1999-01-20 Murata Kikai Kabushiki Kaisha Electronic mail-capable communications terminal device and electronic mail communications method
US6574670B1 (en) 1997-07-14 2003-06-03 Murata Kikai Kabushiki Kaisha Electronic mail-capable communications terminal device and electronic mail communications method
EP0892527A3 (en) * 1997-07-14 1999-09-15 Murata Kikai Kabushiki Kaisha Electronic mail-capable communications terminal device and electronic mail communications method
EP1631026A1 (en) 1997-07-25 2006-03-01 Canon Kabushiki Kaisha Communication device for information exchange between an e-mail system and a facsimile machine
US7624150B2 (en) 1997-07-25 2009-11-24 Canon Kabushiki Kaisha Communication device having the capability of performing information exchange between a facsimile medium and an electronic information medium such as an e-mail medium
EP1631028A1 (en) * 1997-07-25 2006-03-01 Canon Kabushiki Kaisha Communication device for information exchange between an e-mail system and a facsimile machine
US6233321B1 (en) 1997-09-25 2001-05-15 Alcatel Push/pull system for exchanging data between a terminal and access means via a telephone network, and terminal, and access means
US6067352A (en) * 1997-09-25 2000-05-23 Alcatel Printer-option system for exchanging data between a terminal and access means via a telephone network, and access means, and terminal
EP0907274A1 (en) * 1997-09-25 1999-04-07 Alcatel System with printing faculties for exchanging data between a terminal and access means
US6049596A (en) * 1997-09-25 2000-04-11 Alcatel Individualized system for exchanging data between a terminal and access means via a telephone network, and terminal, and access means
GB2330927A (en) * 1997-10-28 1999-05-05 Intelligent Instr Inc Multilingual communication terminal
US6629130B2 (en) 1998-04-30 2003-09-30 Nokia Mobile Phones Ltd. Method and apparatus for processing electronic mail
WO1999057619A2 (en) * 1998-04-30 1999-11-11 Nokia Mobile Phones Limited A method and apparatus for processing electronic mail
WO1999057619A3 (en) * 1998-04-30 1999-12-29 Nokia Mobile Phones Ltd A method and apparatus for processing electronic mail
US9832531B2 (en) 1998-08-26 2017-11-28 Rovi Guides, Inc. Systems and methods for providing a program as a gift using an interactive application
US8918818B2 (en) 1998-08-26 2014-12-23 United Video Properties, Inc. Television chat system
EP1798978A3 (en) * 1998-08-26 2011-02-23 United Video Properties, Inc. Television message system
AU2010202746B2 (en) * 1998-08-26 2013-05-09 Rovi Guides, Inc. Television Message System
EP1798978A2 (en) 1998-08-26 2007-06-20 United Video Properties, Inc. Television message system
US6463293B1 (en) 1998-09-25 2002-10-08 Alcatel Method for preparing a terminal to be used in a system, and system and terminal
WO2000041064A1 (en) * 1999-01-08 2000-07-13 Sosnowski, Tom Method and apparatus for remote printing of a document
WO2001050680A2 (en) * 1999-12-20 2001-07-12 Infospace, Inc. Buddy list aggregation
WO2001050680A3 (en) * 1999-12-20 2003-05-30 Infospace Inc Buddy list aggregation
FR2811102A1 (en) * 2000-06-28 2002-01-04 Michael Roger File transfer method for e-mails where document for transfer is transformed from one format to another to be included in the email
EP1225526A3 (en) * 2000-10-06 2003-04-09 Riso Kagaku Corporation Record media delivery system, record media delivery method, record media delivery program and information transmission device
EP1225526A2 (en) * 2000-10-06 2002-07-24 Riso Kagaku Corporation Record media delivery system, record media delivery method, record media delivery program and information transmission device
EP1355455A1 (en) * 2002-04-15 2003-10-22 Siemens Aktiengesellschaft Method for message distribution
EP1649337A4 (en) * 2003-08-01 2008-03-05 Estationer Llc Method, system, and program product for automatically formatting electronic mail
EP1649337A2 (en) * 2003-08-01 2006-04-26 Estationer, LLC Method, system, and program product for automatically formatting electronic mail
US8998720B2 (en) 2010-03-31 2015-04-07 Rovi Technologies Corporation Media appliance
US10454862B2 (en) 2010-03-31 2019-10-22 Rovi Technologies Corporation Media appliance
US8897432B2 (en) 2010-07-01 2014-11-25 Etherfax, Llc System and method of remote fax interconnect technology
US11909929B2 (en) 2010-07-01 2024-02-20 Etherfax, Llc Systems and methods for content transfer

Also Published As

Publication number Publication date
AU5100593A (en) 1994-03-29
WO1994006230A3 (en) 1994-05-26

Similar Documents

Publication Publication Date Title
WO1994006230A2 (en) Multimedia message transmitter
JP3277014B2 (en) Methods for manipulating data processing resources
US6784899B1 (en) Systems and methods for providing rich multimedia messages to remote users using telephones and facsimile machines
US7305075B2 (en) Telephone call messaging device
US5630079A (en) Document job key to tailor multifunctional user interfaces
US5309555A (en) Realtime communication of hand drawn images in a multiprogramming window environment
EP0917038B1 (en) Utilizing the contents of a message
US6348970B1 (en) Apparatus and method for interfacing a computer network to a facsimile machine
GB2276520A (en) Computer interface method and system
US5819040A (en) Image processing system for transferring electronic document and paper document as single mail
US6292271B1 (en) Soft labels for MFP panel display
JPH1155447A (en) Device for inputting image information and its method
US6252948B1 (en) Telephone note-taking device
JPH09152955A (en) Portable information communicating terminal equipment
US20030115169A1 (en) System and method for management of transcribed documents
JPH05204795A (en) Electronic mail system
JPH1083362A (en) Electronic mail destination directing method
JPH09294198A (en) Communication history information processing system for facsimile equipment
JPH1027141A (en) Electronic mail system
US7844046B2 (en) Method for generating a telephone number
JP3113139B2 (en) Document processor with fax function
JP2727456B2 (en) Character processor
JPH1124874A (en) Electronic mail system
JPH07183910A (en) Electronic mail device
JPS6346053A (en) Communication processing system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AU CA JP KR

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA