METHOD OF OPERATING AN ELECTRONIC INFORMATION PROCESSING SYSTEM FOR TRANSFERRING DOCUMENTS BETWEEN END USERS

Abstract: In an electronic interactive information processing system with plural terminals, data is stored in the form of documents. An end user A can enter a request for a copy of a document, owned by an end user B, to be furnished when end user B initiates deletion of the document from the system. The request is stored in the system. On initiation of deletion of the document by end user B at a terminal, the request is retrieved and displayed at that terminal. End user B can then decide whether the request is to be honoured, and, if so, send a copy to end user A, who then becomes owner of that copy.

Description: This invention relates in general to a method of managing the retention and deletion of electronic documents stored in an electronic interactive information processing system and in particular to a method which allows an end user to store a request in the system for a copy of a document which request can be selectively honoured by the document owner at the time the original is deleted from the system. The prior art has disclosed various interactive information handling systems which store electronic documents. These systems vary in complexity and sophistication from the very simple personal computer employed in the home for writing letters, to the very large main frame data processing systems in which thousands of users nodes interact with each other and with a centralized library or file of information. An example of a sophisticated system that is currently in use by several large governmental agencies and private corporations is the system referred to as PROFS that is marketed by International Business Machines Corporation. These types of system store and manage millions of documents ranging from one page memos and messages to multi-page reports that might involve several printed volumes. In many of these systems, the need for hard copy no longer exists, so the only copy of the information is the originally generated electronic copy. The management and control of the paper flow in any large enterprise, be it a governmental agency or a private corporation, requires a set of procedures which define how various types of communications or documents are to be handled. This is a necessity in both manually implemented systems which deal in nothing but hard copy as well as electronically implemented systems that deal only with electronic copies. It is generally recognized by both types of systems, that there are two basic document control strategies that must be enforced in order to have an effective and efficient system. The first is that documents that are no longer needed should be deleted from the system as soon as possible and the second is that a document that is required should be maintained as long as it is needed by the document owner or the enterprise. It is obvious that in implementing these two basic concepts it is not always possible to obtain an agreement, much less a consensus, on such items as to who makes the decision to keep or delete a document, does this decision apply to all documents types or does it change with the type of document, can there be exceptions and changes in the criteria, who determines the time period for document types, etc. The prior art systems that involve a large number of users who create electronic documents that are stored in the system at a logically centralized location, do generally impose a number of structured formatting constraints on the manner by which documents are identified in the system. In most systems, some type of document classification system is established, either on a formal basis or a de facto basis. A bank might use a functional business classification for documents. For example a customer's loan folder might include a "loan application", a "credit history", a "payment history" etc. These various documents have different retention requirements and there is generally no provision made to permit any deviations from the established retention criteria. In prior art systems, a search is performed on a specific term contained in a plurality of documents to be deleted. The term may have a different meaning within each of the documents. Thus, this form of document management may result in the deletion of documents which should not be deleted or the omission of documents which do not contain the term and should be deleted. A batch type of approach to document retention where the date to delete the document is controlled by the enterprise creates a problem when the date has to be changed. JP-A-59 123 071 shows an example where an automatic selective discard is made when a document reaches a certain retention period. If the date that the document is to be deleted is shortened, there is undoubtedly some persons who are relying on the fact that the document is to be available up to the previously established date. How does the system administrator evaluate whether these documents can be destroyed. If the documents are deleted there is likely to be some direct adverse consequence to those persons who were relying on the document for their work. A more serious long term consequence however results when documents are destroyed early , in that there is a loss of integrity of the system which soon results in users operating their own backup document storage system which defeats the many advantages of a centralized system. It is therefore important in electronic document storage system to provide the user with as much flexibility as possible in as many areas as possible. The problem of providing flexibility to the user however almost always adds to the complexity of the process and requires the user to obtain and retain an understanding of all the various options available and the nuances of their differences. It is extremely important to have the data that is used to manage the retention and deletion of the documents, entered correctly into the system. The data entry process for the end user of the system must therefore be simple to use, yet permit a more sophisticated user to take advantage of the more advance features. The data entry process must also be fail safe to insure that only valid descriptors are entered into the system. The present invention is directed to a general solution in which the non-owner end user is allowed to enter a request for a delayed copy of the document which is acted upon by the document owner at the time the document owner takes an explicit action to delete the document. According to the invention, there is provided a method of operating an electronic interactive information processing system including a plurality of end user terminals for entering and displaying data in the form of documents stored in the system, comprising the steps of entering into the system, through one of said end user terminals, a request by a second end user for a document owned by a first end user, said request being conditioned on the deletion of the document from the system by the first end user; storing said request in the system; determining initiation of deletion of the requested document from the system; and upon said determination, providing a copy of the document to said second end user. An embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings, in which: Fig. 1 is a block diagram of an information handling system in which the method of the present invention may be advantageously employed; Fig. 2 is a block diagram of one of the interactive terminals employed by a user in the system of Fig. 1; Figs. 3a and 3b illustrate an overview of the document generation and storage process; Figs. 4a-4f illustrate the screens presented to the end user who has indicated to the system that a delayed copy request is to be entered into the system; Figs. 5a-5d form a flow chart summarizing the steps involved in entering the delayed copy request and storing it in the system; Figs. 6 illustrates the screen presented to the end user owner of a document which has a delayed copy request attached at the time the owner's copy is to be deleted; Figs 7a-7f illustrate the screens presented to end user owner in deleting the document; and Figs. 8a-8b form a flow chart setting forth the steps involved in the process of servicing the delayed copy requests attached to the owner's copy of the document. Fig. 1 illustrates an information handling system comprising network of interactive type terminals or workstations of the type shown in detail in Fig. 2. As illustrated, the network includes a plurality of terminals which are interconnected with each other and to a host central processing unit 23. As shown in Fig. 1 host 23 in turn is connected via communication link 24 to a second host processing unit 25, which also connects to another network 26 of interactive workstations. Functionally, the system operates to allow each terminal to communicate with the host and to one or more other terminals using established communication protocols, so that the various serially connected communication links are transparent to the users. A user at one terminal can generate a document such as a letter and send that letter to the addressee at a designated node on the network. The user can then store the document in the system at some logically central system location. Each user of the system has the theoretical capability of retrieving that document at a later time. Such systems are well known in the art, and are currently in extensive commercial use. Since the general organization and operations of such systems is well known, only those details that are necessary for an understanding of the document storage method of the present invention will be described. It should therefore be assumed in the following description, that each workstation on the network has a system node address and a "post office" address, and that to simplify the description, there is only one individual assigned to each node on the network. It should further be assumed that conventional communication services are provided by the system, such as directory listings of individual users or owners etc. It may also be assumed that the system shown in Fig. 1 processes information as various types of data objects such as text data objects, graphic data objects, and calendar data objects etc.. Fig. 2 illustrates the functional components of one of the interactive type data processing terminals shown in Fig.. 1. The terminal comprises a processing unit 31 which includes a microprocessor block 32, a semiconductor memory 33, and a control block 34 which functions to control input/output operations in addition to the interaction between the micro processor block 32 and the memory unit 33. The terminal further includes a group of conventional peripheral units including a display device 36, a keyboard 37, a printer 38, a disk storage unit 39, and a modem 40. Since the details of the above described functional blocks form no part of the present invention and can be found in the prior art, only a brief functional description of each block is set forth, along with a description of their interactions, sufficient to provide a person of ordinary skill in the art with a basis of understanding applicants' improved electronic document storage method. Processing unit 31 corresponds for example to the "system unit" of a personal computer system such as the IBM XT, IBM AT or an IBM PS/2 system. Unit 31 is provided with an operating system program which may be one of the many versions of DOS (Disk Operating System) which is normally employed to run the systems. The operating system program is stored in memory 33 along with one or more application programs that the user has selected to run. Depending on the capacity of memory 33 and the size of the application programs, portions of these programs, as needed, may be transferred to memory 33 from the disk storage unit 39 which may include, for example, a 30 megabyte hard disk drive and a diskette drive. The basic function of the disk storage unit is to store programs and data that are employed by the system and which may readily be transferred to the memory unit 33 when needed. The function of the diskette drive is to provide a removable storage function for entering programs and data into the system, and a vehicle for storing data in a form that is readily transportable for use on other terminals or systems. Display device 36 and keyboard 37 together provide for the interactive nature of the terminal, in that in normal operation, the interpretation that the system gives to a specific keystroke by the operator depends, in substantially all situations, on what is being displayed to the operator at that point in time. In some situations, the operator, by entering commands into the system, causes the system to perform a certain function. In other situations, the system requests the entry of certain data, generally by displaying a prompt type of menu/message screen. The depth of the interaction between the operator and the system varies by the type of operating system and the application program, but is a necessary characteristic of terminals on which the method of the present invention may be employed. The terminal shown in Fig. 2 further includes a printer 38, which functions to provide hard copy output of data developed or stored in the system at some central location. Lastly, the modem 40 functions to transfer data from the terminal of Fig. 2 to a host system through one or more communication links which may be a commercial type link or a dedicated communication link. Fig. 3a represents an overview of the system from the standpoint of the major interactive steps involved in storing a document that has been created by an End User (EU). Block 50 represents the EU. Blocks 51 and 52 represent programs stored at the terminal while block 53 represents local disk storage. Blocks 54 and 55 represent the library server function located at the host and is the central depository for stored system documents. The program represented by block 51 is referred to as the Dialogue Manager application and functions to provide the necessary menus and prompts to obtain information from the user. It is essentially the interface to the user from the terminal. The program represented by block 52 is referred to as the requester application and functions to build requests and send them to the library server. The function of the library server is to validate/set labels and expiration dates and to file the document. The major steps involved include, first creating a document; second selecting the sub-action menu in order to set the document descriptors; thirdly setting the actual descriptors in the set document descriptor menu; and lastly filing the document. The main action menu as described in the cross-referenced applications has three separate actions that the EU can designate. The action is selected in the normal manner by positioning the cursor adjacent the line on the menu and hitting the "enter" key. The system responds with a series of prompts which allows the user to create a document. For purposes of this description it can be assumed that the document is filed after it is created. In order to store the document, descriptors must be assigned which assists in controlling the retention of the document up to a specified time and automatic deletion of the document after that time, in accordance with some predetermined strategy. A sub-action menu includes an option to "SET DESCRIPTORS" which is selected to enter the criteria that will be used to manage the retention and automatic deletion of documents from the system. When this option is selected the screen described in the cross-referenced application (AT987-014) is displayed to the EU. The end user responds to the various prompts displayed by entering a name for the document label and a name for the ownership label. It should be assumed for purpose of this discussion that the respective names have been pre-established which is not necessarily a requirement of the system, but does simplify the description of the present invention. The expiration dates for the document and the ownership may be provided in a number of different ways. A list of allowable values can be obtained by placing the cursor under the appropriate field and pressing a predesignated key such as the "HELP" key. The allowable values which have been pre-established then appear in a "window" or on a separate screen which permits the user to copy or just select the choice by positioning the cursor and pressing the "ENTER" key. In the alternate a date can be inserted automatically based on the user's name, and the labels which have been entered providing an index into a stored table of approved dates. The document name and subject may be optional entries. After all the data is entered and displayed on the screen, the end user presses the ENTER key and is returned to the sub-action menu. The "FILE" i.e. file document option is selected by positioning the cursor and again pressing the ENTER key. The newly created document along with the labels and expiration dates are then stored in the system by the library server. When an end user decides that a non owned document, that has been accessed on a regular basis by that end user, is an important resource and that the deletion of the document would have an adverse effect, the end user requests a delayed copy of the document by selecting a DCR option an a menu screen. In response to that selection the end user is presented with the screen shown in Fig. 4e which prompts the end user for information that is require by the system to service the DCR. As shown in Fig. 4a through 4f, a plurality of screens are presented to the end user in requesting the delayed copy of the document. The information defining the DCR is stored in specific fields of the data structure that is used by the system to manage the retention of that document in the system. The flow chart shown in Figs. 5a and 5b summarizes the steps involved in entering the DCR into the system. Fig. 6 shows a flow chart of menus which will be presented to the document owner in deleting a document from the system. Figs. 7a through 7f illustrate a plurality of screens which are presented to the end user owner of a document that is to be deleted from the system. The event that causes the screen shown in Fig. 7e to be presented to the end user could be for example, the end user document owner explicitly deciding that the document should be deleted; the ownership expiration date being reached; or the document expiration date being reached. As shown in Fig. 7e, the document owner end user may view additional information regarding the DCRs such as the date of the DCR and the name of the requestor. The system may be set up to purge DCR requests that are no longer valid by some pre-established standards. For example, end users who are no longer on the system, or DCRs that are more than a year old, etc. The document owner in the preferred embodiment has the final decision on who gets a copy of the document. The system is preferably arranged to permit DCRs to be serviced selectively in that each request is treated independently of the others. In some situations because of the nature of the enterprise, the documents or the end users, the requests are either all denied or all allowed. The preferred embodiment does not allow DCRs to be selected. All requests are serviced or no requests are serviced. In special situations, a predesignated individual could be given blanket approval for DCRs. The flow charts of Figs. 8a and 8b sets forth the steps involved in the process of the requester server processing a DCR (Fig. 8a) and the library server processing a delete request (Fig. 8b). The flow chart is at a level of detail to make it self explanatory so no additional description of the steps involved is deemed necessary. The following is a list of pseudo-code programming statements which will be of interest and assistance to persons skilled in the art of programming interactive systems, who desire to practice the method of the present invention. REQUESTER - DCR The routine is called from a routine that interfaces with the End User (EU) to create the DCR. INPUT Requester/Principal IDs Information about the document including; Library document ID (LDID) Folder level of nesting(optional) PROCESS: Set the LDID for the document to be copied. (1) Set the requester and principal IDs (2) If the folder level of nesting is specified (3) Then, set the folder level of nesting as specified (4) Endif (folder level of nesting is specified) Send completed request to Library Server (LS) (1) The Requester builds an operand for the document specified to be copied in the request. The operand includes a pointer to the physical location of the document. (2) The Requester builds operands specifying the requester and principal identifiers for this command. (3) If the document to be copied is a folder then all of the documents in the folder can be copied. If the folder level of nesting is not specified than only the document explicitly specified for copying is copied. (4) An operand is built by the Requester, if the folder level of nesting is specified. OUTPUT: Requester/principal IDs For the document specified to be copied in this request an operand is built containing a pointer to the location of the document. Folder level of nesting. Library Server: This routine is called after the requester routine has processed the DCR. INPUT: The output of the requester. Notes: (1) This is a loop for the Library Server (LS) to process each document explicitly specified to be delayed copied. More than one document may be specified. (2) The LS creates a new entry in the DCA for each document will be copied later. (3) The EU can request that all or part of a folder be delayed copied. (4) This is a loop for the LS to process each folder level. (5) This is a loop for the LS to process each document within the current level. OUTPUT: An entry in the DCA for each document to be delayed copied. REQUESTER: (Delete Request) The routine is called from a routine that interfaces with the End User (EU) to create a delete request for a user with delete authority . INPUT Requester/Principal IDs Information about the document including; Library document ID (LDID) Folder level of nesting(optional) Conditional or unconditional delete. PROCESS: Set the LDID for the document to be deleted. (1) Set the requester and principal IDs (2) If the folder level of nesting is specified (3) Then, set the folder level of nesting as specified (4) Endif (folder level of nesting is specified) If the conditional delete option is specified (5) Then, set the conditional delete option as specified. Endif (conditional delete option is specified) Send completed request to Library Server (LS) NOTES: (1) The Requester builds an operand for the document specified to be deleted in the request. The operand includes a pointer to the physical location of the document. (2) The Requester builds operands specifying the requester and principal identifiers for this command. (3) If the document to be deleted is a folder then all of the eligible documents in the folder can be deleted. If the folder level of nesting is not specified than only the document explicitly specified for deleting is deleted. (4) An operand is built by the Requester, if the folder level of nesting is specified. (5) An operand is built by the Requester, if the conditional delete option is specified. OUTPUT: Requester/principal IDs For the document specified to be deleted in this request an operand is built containing a pointer to the location of the document. Folder level of nesting. Conditional delete option. Library Server: This routine is called after the requester routine has processed the Delete Requester (DR). INPUT: The output of the requester. Notes: (1) This is a loop for the Library Server (LS) to process each document explicitly specified to be deleted. More than one document may be specified. (2) The include process will do the following; Make a copy for each delayed copy principal. Enter the copy into each folder owned by the principal that currently contains the original. Save the folder table of contents for folder documents. Delete the document. (3) If the document to be deleted is a folder document and the delete requester wishes to delete documents within the folder then the LS must process the folder nesting levels as specified. (4) This is a loop for the LS to process each folder level. (5) The LS gathers the list of documents at the next level in the next level table. When it is time to process the next level the list in the current level table must be set to next level table. During the processing of this level, the LS will gather the list of documents for the next level. (6) This is a loop for the LS to process each document within the current level. NOTES: (1) If the document is to be conditionally deleted, then a copy must be made for each principal requesting a delayed copy. (2) This is a loop for the LS to process each entry in the delayed copy area for this document. (3) The LS will create a new document for the principal. The document content will be copied exactly as will all of the user assigned descriptors. System assigned descriptors such as file-date-time and library assigned name will be set appropriately. (4) This is a loop for the LS to process each document in folder entry for the original document. If the principal owns the folder, then the new copy will be entered into the folder. (5) If the document to be deleted is a folder document, then the LS must process the folder nesting levels as specified. (6) The LS gathers the list of documents at the next level in the next level table. (7) The LS will delete the original document regardless of any options specified. OUTPUT: A new document for each delayed copy request, if the delete request specified a conditional delete. Entries into each folder owned by the delayed copy requester.

Claims: A method of operating an electronic interactive information processing system including a plurality of end user terminals for entering and displaying data in the form of documents stored in the system, comprising the steps of: entering into the system, through one of said end user terminals, a request by a second end user for a document owned by a first end user, said request being conditioned on the deletion of the document from the system by the first end user; storing said request in the system; determining initiation of deletion of the requested document from the system; and upon said determination, providing a copy of the document to said second end user. A method according to claim 1, including the step of: on initiation by said first end user of said deletion through a terminal, displaying, on said terminal, the stored request by said second end user. A method according to claim 2 including the step of: providing a copy of said requested document to the second end user under the control of an input from the first end user in response to the display of the stored request. A method according to any one of the previous claims in which said document is stored in the system within at least one folder group of documents owned by the second end users, including the step of: entering a copy of the requested document in the, or each, folder group owned by the second end user and containing the document immediately prior to initiation of deletion of the document.

Inventors: MACPHAIL, MARGARET GARDNER
Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1988
Main classification: G06F15
IPC codes: G06F17, G06F12