Abstract:
Systems and methods enforce an expiration date for an electronic document and represent the expiration visually. In various exemplary embodiments, the author specifies an expiration date for an electronic document. The expiration date is either a date stamp or is an integer representing a period of time from the creation date. In one embodiment, the access to the document is unavailable to a user after the expiration date. In various exemplary documents, the visual representation of the document ages after a milestone date is reached. In one embodiment, random pixels are added to the visual representation until the document expires. In another embodiment, an algorithm applies visual metaphor bitmaps to the document&#39;s visual representation. In one embodiment, the bitmaps are templates. In one embodiment, the document is mapped to the applied bitmaps. The document may be rendered illegible after the expiration date is reached.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of Invention  
           [0002]    This invention generally relates to systems and methods for visually representing electronic documents.  
           [0003]    2. Description of Related Art  
           [0004]    An electronic document is a file created by a software application. In addition to text, an electronic document can include graphics, charts, or other objects. Since electronic documents are not physical entities, they may remain in existence for as long as the computer system in which they have been saved remains active.  
           [0005]    The extended lifetime of these documents engenders version-control problems in organizations utilizing digital document technology. For example, time-dependent documents, such as draft proposals for contracts, are frequency created in digital form. These draft documents may then be erroneously circulated as final contracts or final versions, despite the existence of more recent versions.  
           [0006]    Several methods for the management of electronic document versions are currently in use. The document itself may be marked as “Draft” or “Concept” using standard text or watermarks. Alternatively, a document management system, such as DocuShare™ or Outlook™, may be configured to automatically delete electronic documents after a given time.  
         SUMMARY OF THE INVENTION  
         [0007]    This invention provides systems and methods that limit the life of an electronic document.  
           [0008]    This invention separately provides systems and methods that limit the life of an electronic document and represent an end of life visually.  
           [0009]    This invention separately provides systems and methods that visually represent aging and/or expiration of an electronic document.  
           [0010]    In various exemplary embodiments of the systems and methods according to the invention, an expiration date is set for an electronic document. A software component inserts an icon into the header of the visual representation of an electronic document. The icon defines the date authored and/or the expiration date. As the expiration date passes, the document expires. If the document is accessed after the expiration date, a dialog box is presented with information explaining the expiration of the document.  
           [0011]    In various exemplary embodiments of the systems and methods according to the invention, an electronic document&#39;s visual representation changes to resemble crumpled and/or damaged paper as the expiration date approaches. When the expiration date is reached, the document becomes unreadable and a dialog box appears that instructs the user to contact the author for a recent version.  
           [0012]    The various exemplary embodiments of the systems and methods according to the invention are intuitive and avoid confusion as to the most recent version of a draft document. Moreover, the embodiments provide adequate forewarning as to the impending deletion of an electronic document and thus prevents disruption of workflow and the loss of data.  
           [0013]    These and other features and advantages of this invention are described in or are apparent from the following detailed description of exemplary embodiments of the apparatus/systems and methods according to this invention. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]    Various exemplary embodiments of this invention will be described in detail, with reference to the following figures, wherein:  
         [0015]    [0015]FIG. 1 illustrates a visual representation of an electronic document in accordance with various exemplary embodiments of the invention;  
         [0016]    [0016]FIG. 2 shows an informational icon according to this invention;  
         [0017]    [0017]FIG. 3 is a flowchart outlining a first exemplary embodiment of a method according to this invention for limiting the life of an electronic document and representing this end of life visually;  
         [0018]    [0018]FIG. 4 is a flowchart outlining a second exemplary embodiment of a method according to this invention for limiting the life of an electronic document and representing this end of life visually;  
         [0019]    [0019]FIG. 5 shows an exemplary dialog box according to this invention;  
         [0020]    [0020]FIG. 6 is a flowchart outlining a third exemplary embodiment of a method according to this invention for limiting the life of an electronic document and representing this end of life visually;  
         [0021]    [0021]FIG. 7 shows an expiration icon according to an embodiment of this invention;  
         [0022]    [0022]FIG. 8 illustrates a first stage of an aged visual document representation according to a fourth embodiment of this invention;  
         [0023]    [0023]FIG. 9 illustrates a second stage of the aged visual document representation according to the fourth embodiment of this invention;  
         [0024]    [0024]FIG. 10 illustrates a third stage of the aged visual document representation according to the fourth embodiment of this invention;  
         [0025]    [0025]FIG. 11 illustrates an illegible visual document representation according to the fourth embodiment of this invention;  
         [0026]    [0026]FIG. 12 is a flowchart outlining an exemplary embodiment of a method according to the fourth embodiment of this invention; and  
         [0027]    [0027]FIG. 13 is a block diagram showing an embodiment of a system according to this invention that limits the life of an electronic document and represents this end of life visually. 
     
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS  
       [0028]    In various exemplary embodiments, the systems and methods according to this invention provide a visual representation of the aging and expiration of an electronic document. Various exemplary embodiments of this invention provide a method of limiting the life of an electronic document and representing this end of life visually.  
         [0029]    [0029]FIG. 1 illustrates a visual representation of an electronic document  100  in accordance with various embodiments of the invention. The document  100  is characterized by one or more edges  120  and one or more lines of text  130 . In various exemplary embodiments, the electronic document  100  displays visual information, such as, for example, .gif files, bitmaps, and the like. In fact, the document  100  may display any visual information, either known or hereafter developed, that can be incorporated into an electronic document. In various embodiments of the invention, the document  100  contains an informational icon  110 , as shown in FIG. 2, in the document header  105 .  
         [0030]    The document  100  is enclosed in a window  140 . The window  140  may comprise any enclosed, rectangular area on a display screen in which an operating system implements a graphical user interface. The operating system may display different data in each window. Thus, the window  140  may display a document view in a word processor or a web browser.  
         [0031]    [0031]FIG. 2 illustrates the informational icon  110  in accordance with various embodiments of the present invention. The informational icon  110  contains a visual alert  111 . The visual alert  111  may be graphical in nature, for example, an iconic representation of an alarm clock. The graphical alert  111  may also be the presence of the icon  110  itself in the document  100 . The informational icon  110  also contains a text field  112  indicating the creation date of the document  100 . The informational icon  110  further contains a text field  113  indicative of the expiration date of the document  100 . In addition to the date, fields  112  and  113  may contain a time indicator.  
         [0032]    In various exemplary embodiments of this invention, the methods limiting the lifetime of an electronic document and visually representing this end of life are implemented as computer hardware or software routines.  
         [0033]    [0033]FIG. 3 is a flowchart representing a method of limiting the life of an electronic document according to a first embodiment of the invention. As shown in FIG. 3, operation begins in step S 100  and continues to step S 110 , where the electronic document is instantiated in a computer system. The document may be instantiated in computer memory, for example, RAM, and in some instances, in a temporary file on a disk drive.  
         [0034]    Next, in step S 120 , date information associated with the electronic document is analyzed. In various exemplary embodiments, the date information includes the date and time the document was created, and the document&#39;s expiration date. The expiration time may be a system-wide constant, for example, 12:00 AM. This value may be stored in any suitable manner, for example, in a database on a networked computer. The expiration time may also be specific to each electronic document. In this configuration, the expiration time is also associated with the electronic document. In still other configurations, the expiration date may be determined algorithmically, based on the creation date and time and, for example, a separate integer variable indicating days to expiration from the creation date. Thus, a value of one in the expiration date field indicates that the document will expire one day from the creation date. Similarly, the document creation date may contain a time stamp indicative of the last day and time that the document was modified by the author.  
         [0035]    Operation continues to step S 130 , where a determination is made as to whether the document has a time limit. In various exemplary embodiments, a negative determination is based on an expiration date value preceding the creation date value associated with the document. For example, an expiration value of Jan. 1, 1900 for a document created Jan. 1, 2001 indicates that the document does not expire. Alternatively, where the expiration date field contains an integer determining the number of days to expiration from the creation date, a negative value in this field indicates that the document has no expiration date.  
         [0036]    If a negative determination is made in step S 130 , then operation jumps to step S 160  where access to the document is granted. The process then ends at step S 170 .  
         [0037]    If a positive determination is made at step S 130 , then operation continues to step S 140  where a determination is made as to whether the document expiration condition has been reached. In various exemplary embodiments, the document expiration condition is reached when the system date and time exceeds the expiration date and time analyzed in step S 120 . In other embodiments, the document expiration condition is reached when a period of days has elapsed from the creation date, as determined by an integer value extracted in step S 120 .  
         [0038]    If a negative determination is made in step S 140 , then operation jumps to step S 160  where access to the document is granted. If a positive determination is made in step S 140 , then operation continues to step S 150  where access to the document is denied. Operation then jumps to step S 170  where the process ends.  
         [0039]    [0039]FIG. 4 is a flowchart outlining a second exemplary embodiment of a method for limiting the life of an electronic document and representing this end of life visually. The method outlined in FIG. 4 is similar to that outlined in FIG. 3. As shown in FIG. 4, operation begins in step S 200 , and continues to step S 210 , where an electronic document is instantiated. Then, in step S 220 , date information associated with the electronic document is analyzed. Next, in step S 230 , a determination is made as to whether the document has a time limit. If a negative determination is made in step S 230 , then operation jumps to step S 280  where access to the electronic document is granted. Then, the process ends in step S 290 .  
         [0040]    If a positive determination is made in step S 230 , then operation continues to step S 240  where a determination is made as to whether the document expiration condition has been reached. If a positive determination is made in step S 240 , then operation continues to step S 250  where access to the electronic document is denied. Next, in step S 260 , an informational dialog box is shown to the user informing him of the expiration condition. Then, operation jumps to step S 290  where the process ends.  
         [0041]    If a negative determination is made in step S 240 , operation jumps to step S 270  where an informational icon is inserted into the visual representation of the electronic document. Next, operation continues to step S 280  where access to the electronic document is granted. Then the process ends in step S 290 .  
         [0042]    [0042]FIG. 5 illustrates an example of a dialog box  200  in accordance with step S 260  of FIG. 4 and various embodiments of the invention. Dialog box  200  is contained in a window  250 . The dialog box  200  contains a text portion  210 . In various embodiments of the invention, the text portion  210  explains that the document has expired. The text portion  210  may also instruct the user to contact the author for a recent document version. The dialog box  200  contains an icon  220  indicative of the informational or alert status of the text portion  210 .  
         [0043]    The dialog box  200  also contains an OK button  230 . Clicking the OK button  230  closes the dialog box  200 . In various exemplary embodiments of the invention, clicking the OK button  230  also launches the user&#39;s e-mail program so that the user may contact the author to obtain the latest version of the electronic document. Alternatively, clicking the OK button  230  may launch the user&#39;s internet telephone program and dial the telephone of the author of the electronic document  100 . In still other embodiments, clicking the OK button  230  of the dialog box  200  may launch a computer software application presenting a number of contact options for the author of the electronic document. These contact options include, for example, e-mail and internet telephone options.  
         [0044]    In various exemplary embodiments, the dialog box  200  contains a cancel button  240 . Clicking the cancel button  240  closes the dialog without further action.  
         [0045]    [0045]FIG. 6 is a flowchart outlining a third exemplary embodiment of a method of limiting the life of an electronic document and representing this end of life visually. The method outlined in FIG. 6 is similar to that outlined in FIG. 4. As shown in FIG. 6, operation begins in step S 300 , and continues to step S 310 , where an electronic document is instantiated. Then, in step S 320 , date information associated with the electronic document is analyzed. Next, in step S 330 , a determination is made as to whether the document has a time limit. If a negative determination is made in step S 330 , then operation jumps to step S 380  where access to the document is granted. The process then ends in step S 390 .  
         [0046]    If a positive determination is made in step S 330 , then operation continues to step S 340  where a determination is made as to whether the document expiration condition has been reached. If a negative determination is made in step S 340 , then operation jumps to step S 370  where an informational icon is inserted into the visual representation of the electronic document. Next, operation continues to step S 380  where the user is granted access to the electronic document. Then, in step S 390 , the process ends.  
         [0047]    If a positive determination is made in step S 340 , then operation continues to step S 350  where an expiration icon is inserted into the visual representation of the electronic document. Then, in step S 360 , the informational dialog box  200  is shown to the user. Operation then jumps to step S 390  where the process ends.  
         [0048]    In one embodiment, the user continues to have read privileges to the document after the expiration condition has been reached. The expiration event is indicated to the user by the insertion of a separate expiration icon in step S 350  and the launch of the dialog box  200  in step S 360 .  
         [0049]    [0049]FIG. 7 illustrates an expiration icon  115  in accordance with various exemplary embodiments of the present invention. The expiration icon  115  is similar to the informational icon  110  shown in FIG. 2. The expiration icon  115  contains “date authored” information  117  and “expiration date” information  118  which is based on the field  112  and  113  of the icon  110 . However, the expiration icon contains an expiration alert  116  that is visually different from the information alert  111  of the icon  110 .  
         [0050]    In a fourth exemplary embodiment of the invention, the screen representation of the electronic document progressively changes to resemble crumpled and/or damaged paper as the expiration date approaches. When the expiration date is reached, the document becomes illegible. The aging process employs visual metaphors to create the impression of document decrepitude. In various exemplary embodiments, these visual metaphors include, for example crumpling, tearing, cracking, yellowing, staining, fading, folding and/or disjointed text. The display function may be provided by a plug-in module to the document viewer application. Alternatively, the display function may be provided by a separate computer program accompanying the electronic document. The display function may also be implemented at a website when the document is viewed through a browser. A different aging rate may be set for each user through the use of cookies.  
         [0051]    FIGS.  8 - 11  illustrate an example of an incremental aging representation of an electronic document in accordance with the fourth exemplary embodiment. In FIG. 8, a first stage  101  of the aged document  100  is displayed in a window  140 . The first stage  101  is substantially identical to the document  100 . In particular, the first stage  101  includes the edges  120  and the textual information  130 . In various exemplary embodiments, the informational icon  110  is inserted into the screen representation of the first stage  101 . However, the damaged document  101  has a damaged corner  150  exhibiting crumpling or tear.  
         [0052]    In FIG. 9, a second stage  102  of the aged document  100  is displayed in the window  140 . The second stage  102  is substantially similar to the first stage  101 . However, the second stage  102  is more aged than the first  101 , and therefore displays one or more damaged corners  151  exhibiting crumpling and/or folding in addition to the damaged corner  150 .  
         [0053]    [0053]FIG. 10 shows a third stage  103  that is older than the second stage  102 . In the third stage  103  of the aged document  100 , the damaged edges at  150  and  151  exhibit noticeable decrepitude. For example, the corner at  150  shows a fold  160  in addition to crumpling and the corner at  151  shows advanced crumpling. Moreover, another corner at  152  displays crumpling as well. In the third stage  103 , the corner at  150  partially obscures the textual information  130 . The third stage  103  may further include a damaged edge  125  showing tearing and cracking. The third stage  103  may include several crumples  170  associated with the damaged edge at  150 , and a text covering crumple  175 .  
         [0054]    [0054]FIG. 11 illustrates a substantially illegible document stage  105 . The illegible document stage  105  incorporates several aging metaphors. In particular, the stage  105  displays disjointed text  135 . The document representation also incorporates the crumpling or tear  150 , crumples  170  and text covering crumples  175 . In one embodiment, the illegible document stage  105  also incorporates the expiration icon  115  into the visual representation.  
         [0055]    [0055]FIG. 12 is a flowchart illustrating an exemplary embodiment of a method according to the fourth exemplary embodiment of the invention. As shown in FIG. 12, operation begins in step S 400 , and continues to step S 410 , where an electronic document is instantiated. Then, in step S 420 , date information associated with the electronic document is analyzed. Next, in step S 430 , a determination is made as to whether the document has a time limit. If a negative determination is made in step S 430 , then operation jumps to step S 470  where a new document representation is displayed to the user. Operation then jumps to step S 500  where the process ends.  
         [0056]    If a positive determination is made in step S 430 , then operation continues to step S 440  where a determination is made as to whether the document expiration condition has been reached. If a positive determination is made in step S 440 , then operation jumps to step S 480 , where an illegible document representation is shown to the user. An example of an illegible document representation according to various exemplary embodiments is illustrated by the illegible document stage  105  in FIG. 11. Next, in step S 490 , an informational dialog box is shown to the user. Operation continues to step S 500  where the process ends.  
         [0057]    If a negative determination is made in step S 440 , then operation continues to step S 450  where a determination is made as to whether a progressive document decrepitude milestone has been reached. In various exemplary embodiments, a progressive document decrepitude milestone is an elapsed period of time at which the document&#39;s screen representation begins to show decrepitude.  
         [0058]    If a negative determination is made in step S 450 , then operation jumps to step S 470 , and a new document representation is shown to the user. If a positive determination is made in step S 450 , then operation continues to step S 460 , where a progressive document decrepitude representation is implemented. In step S 460 , the visual representation of the document shows a progressive aging in accordance with the time that has elapsed since the progressive document decrepitude milestone was reached and the time remaining to the expiration date. In various exemplary embodiments, progressive document decrepitude is implemented by a routine generating random pixels over time. In still other various exemplary embodiments, progressive document decrepitude is implemented by a routine inserting a set of decrepitude templates either in front of the viewable area of the document, or as a background. The templates may be developed for specific document sizes and/or orientations. Alternatively, the templates may be scalable. As the document continues to age, successive templates may replace previous templates, or may be added to them. Thus, additional aging may be created through a process of layering templates. In various exemplary embodiments, the electronic document may be mapped onto one or more templates. The application of the set of templates to the document may be periodic in nature, and the period may be determined by the total time between the milestone and the expiration date.  
         [0059]    After step S 460 , operation jumps to step S 500  where the process ends.  
         [0060]    [0060]FIG. 13 shows an exemplary embodiment of a system  1100  that limits the life of an electronic document and represents this end of life visually. As shown in FIG. 13, the system  1100  includes an input/output interface  1110 , a controller  1120 , a memory  1140 , an access control routine or application  1130 , a time limit comparing routine or application  1150 , a document representation determining routine or application  1160 , and a document representation modifying routine or application  1170 , each interconnected by one or more data/control buses or application programming interfaces  1180 .  
         [0061]    The memory  1140  includes one or more of a prestored mapping portion  1142 , a random mapping portion  1144 , an original electronic document data portion  1146 , an application logic portion  1148 , and an aged document representation portion  1149 . The prestored mapping portion  1142  stores any bitmap representations of document aging parts and aged document maps. Thus, prestored mapping portion  1142  may store bitmaps, for example, of the crumpling or tear  150 , the damaged edge  125 , the fold  160 , and the crumples  170 , as illustrated in FIGS.  5 - 8 . The prestored mapping portion  1142  may also store one or more aged document masks incorporating the bitmaps. The random mapping portion  1144  stores any randomly generated aging bitmaps and any randomly generated document maps. The document portion  1146  stores the original representation of the electronic document, including all formatting codes and file descriptors. The application logic portion  1148  stores the program instructions necessary to implement various exemplary embodiments of the invention. The aged document portion  1149  stores any aged document representations resulting from the application of any prestored mappings or random mappings to the original document.  
         [0062]    The memory  1140  can be implemented using any appropriate combination of alterable, volatile or non-volatile memory or non-alterable, or fixed, memory. The alterable memory, whether volatile or non-volatile, can be implemented using any one or more of static or dynamic RAM, a floppy disk and disk drive, a writeable or re-writeable optical disk and disk drive, a hard drive, flash memory or the like. Similarly, the non-alterable or fixed memory can be implemented using any one or more of ROM, PROM, EPROM, and EEPROM, an optical ROM disk, such as CD-ROM or DVD-ROM disk, and disk drive or the like.  
         [0063]    Each of the routines or applications shown in FIG. 13 can be implemented as portions of a suitably programmed general purpose computer. Alternatively, each of the routines or applications shown in FIG. 13 can be implemented as physically distinct hardware circuits within an ASIC, or using an FPGA, a PDL, a PLA or a PAL, a digital signal processor, for using discrete logic elements or discrete circuit elements. The particular form each of the routines or applications shown in FIG. 13 will take is a design choice and will be obvious and predictable to those skilled in the art.  
         [0064]    In operation, the input/output interface  1110  receives a request to view an electronic document from a user. The electronic document may be located, for example, on a networked server or on a hard drive local to the user&#39;s computer.  
         [0065]    The controller  1120  then executes the electronic document viewing application. A copy of the electronic document may be instantiated in memory  1140  at the document data portion  1146 . Next, the time limit comparing routine or application  1150  determines whether the electronic document stored in the document data portion  1146  has an expiration date and whether that expiration date has passed. If the document has an expiration date, then the document representation determining routine or application  1160  determines a prestored mapping stored in the prestored mapping portion  1142  or a random mapping stored in the random mapping portion  1144  on which to map the original document stored in the document data portion  1146 . Then, the document representation modifying routine or application  1170  maps the initial document according to the mapping located in the prestored mapping portion  1142  or the random mapping portion  1144  to produce an aged document representation stored in aged document representation portion  1149 . Then the input/output interface  1110  displays the aged document in a window. In one embodiment the access control, routine or application  1130  alters the file access codes so that the user cannot access the file after the expiration date.  
         [0066]    In the various exemplary embodiments outlined above, the system  1100  can be implemented using a programmed general purpose computer. However, the system  1100  can be implemented using a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit elements, and ASIC or other integrated circuit, a digital signal processor, a hardware electronic or logic circuit, such as a discrete element circuit, a programmable logic device, such as PLD, PLA, FPGA or PAL or the like. In general, any device, capable of implementing a finite state machine that is in turn capable of implementing one or more of the flowcharts shown in FIGS. 3, 4,  6  and  12 , can be used to implement the system  1100 .  
         [0067]    Moreover, the various exemplary embodiments of the system  1100  outlined above and/or each of the various elements discussed above can be implemented as software routines, managers or objects executing on a programmed general purpose computer, a special purpose computer, a microprocessor or the like. In this case, the various exemplary embodiments of the system  1100  and/or each of the various elements discussed above can each be implemented as one or more routines embedded in the communication network, as a resource residing on a server, as a resource of a printer driver, or the like. The various exemplary embodiments of the system  1100  and the various routines discussed above can also be implemented by physically incorporating one or more of system  1100  into a software and/or hardware system such as the hardware and software system of a web server or a client device.  
         [0068]    It should be appreciated that, in FIGS. 2, 5 and  7 - 11 , the various icon and/or bitmaps can be implemented by one or more software objects that can be reused and instantiated with different sets of displayed data. Thus, the various screens of this invention can be easily provided with little programming overhead.  
         [0069]    While this invention has been described in conjunction with the exemplary embodiments outlined above, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the exemplary embodiments of the invention, as set forth above, are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the invention.