U.S. patent application number 11/586869 was filed with the patent office on 2007-02-22 for systems and methods for manipulating and managing computer archive files.
Invention is credited to Yuri Basin, Michael J. Beirne, James C. Peterson, Karen L. Peterson.
Application Number | 20070043780 11/586869 |
Document ID | / |
Family ID | 25186323 |
Filed Date | 2007-02-22 |
United States Patent
Application |
20070043780 |
Kind Code |
A1 |
Basin; Yuri ; et
al. |
February 22, 2007 |
Systems and methods for manipulating and managing computer archive
files
Abstract
A computer program for managing and manipulating archive zip
files of a computer. The program includes a system and method for
opening, creating, and modifying, and extracting zip archive files.
The program is fully integrated into Microsoft Windows Explorer and
is accessed via Explorer menus, toolbars, and/or drag and drop
operations. An important feature of the program is the archive
manager which may be used to open a zip file, create a new zip
file, extract zip files, modify zip files, etc. The program is
integrated into Microsoft Windows Explorer using the shell name
space extension application program interface developed by
Microsoft.
Inventors: |
Basin; Yuri; (Thiensville,
WI) ; Beirne; Michael J.; (Chicago, IL) ;
Peterson; James C.; (Menomonee Falls, WI) ; Peterson;
Karen L.; (Menomonee Falls, WI) |
Correspondence
Address: |
MCANDREWS HELD & MALLOY, LTD
500 WEST MADISON STREET
SUITE 3400
CHICAGO
IL
60661
US
|
Family ID: |
25186323 |
Appl. No.: |
11/586869 |
Filed: |
October 26, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10970897 |
Oct 21, 2004 |
|
|
|
11586869 |
Oct 26, 2006 |
|
|
|
09803355 |
Mar 9, 2001 |
6879988 |
|
|
10970897 |
Oct 21, 2004 |
|
|
|
60187969 |
Mar 9, 2000 |
|
|
|
Current U.S.
Class: |
1/1 ;
707/999.2 |
Current CPC
Class: |
G06F 11/1451 20130101;
Y10S 707/99943 20130101; H03M 7/30 20130101; H04L 69/329 20130101;
Y10S 707/99931 20130101; G06F 16/1744 20190101; Y10S 707/99953
20130101; H04L 67/16 20130101; Y10S 707/99942 20130101 |
Class at
Publication: |
707/200 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1. A system for modifying a file archive, said system including: a
graphical user interface provided by a browser; and a file archive
management application, wherein said file archive management
application allows a user to modify a file archive using said
graphical user interface.
2. The system of claim 1 wherein said graphical user interface
allows said user to modify said file archive using a pulldown
menu.
3. The system of claim 1 wherein said graphical user interface
allows said user to modify said file archive using a toolbar.
4. The system of claim 1 wherein said graphical user interface
allows said user to modify said file archive using a drag-and-drop
operation.
5. The system of claim 1 wherein said graphical user interface
allows said user to modify said file archive using a paste
operation.
6. The system of claim 1 wherein said graphical user interface
allows said user to modify said file archive using a right-click
operation.
7. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by
creating said file archive.
8. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by
extracting a file from said file archive.
9. The system of claim 8 wherein said file is compressed and said
file archive management application decompresses said file.
10. The system of claim 8 wherein said file is encrypted and said
file archive management application decrypts said file.
11. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by adding
a file to said file archive.
12. The system of claim 11 wherein said file is compressed by said
file archive management application before said file is added to
said file archive.
13. The system of claim 11 wherein said file is encrypted by said
file archive management application before said file is added to
said file archive.
14. The system of claim 13 wherein said encryption is
asymmetric.
15. The system of claim 14 wherein said encryption uses a public
key.
16. The system of claim 15 wherein said encryption uses the X.509
format.
17. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by
creating a copy of said file archive.
18. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by
digitally signing said file archive.
19. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by
splitting said file archive.
20. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by
spanning said file archive.
21. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by forming
a CRC for said file archive.
22. The system of claim 1 wherein said file archive includes
storage for at least one stored option indication, and wherein said
file archive management application allows said user to modify said
file archive by modifying said at least one stored option
indication for said file archive.
23. The system of claim 1 wherein said file archive includes a data
file, and wherein said file archive management application allows
said user to modify said file archive by creating a shortcut to
said data file.
24. The system of claim 1 wherein said file archive management
application allows said user to modify said file archive by
converting the contents of said file archive to a .arj archive.
25. The system of claim 1 wherein said file archive management
application receives a .arj archive, and wherein said file archive
management application allows said user to modify said file archive
by converting said arj archive to a file archive.
26. A method for modifying a file archive, said method including:
providing a graphical user interface using a browser; providing a
file management application, wherein said file management
application allows a user to modify a file archive using said
graphical user interface; and modifying a file archive using said
graphical user interface.
27. The method of claim 26 wherein said graphical user interface
allows said user to modify said file archive using a pulldown
menu.
28. The method of claim 26 wherein said graphical user interface
allows said user to modify said file archive using a toolbar.
29. The method of claim 26 wherein said graphical user interface
allows said user to modify said file archive using a drag-and-drop
operation.
30. The method of claim 26 wherein said graphical user interface
allows said user to modify said file archive using a paste
operation.
31. The method of claim 26 wherein said graphical user interface
allows said user to modify said file archive using a right-click
operation.
32. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by
creating said file archive.
33. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by
extracting a file from said file archive.
34. The method of claim 33 wherein said file is compressed and said
file archive management application decompresses said file.
35. The method of claim 33 wherein said file is encrypted and said
file archive management application decrypts said file.
36. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by adding
a file to said file archive.
37. The method of claim 36 wherein said file is compressed by said
file archive management application before said file is added to
said file archive.
38. The method of claim 36 wherein said file is encrypted by said
file archive management application before said file is added to
said file archive.
39. The method of claim 38 wherein said encryption is
asymmetric.
40. The method of claim 39 wherein said encryption uses a public
key.
41. The method of claim 40 wherein said encryption uses the X.509
format.
42. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by
creating a copy of said file archive.
43. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by
digitally signing said file archive.
44. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by
splitting said file archive.
45. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by
spanning said file archive.
46. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by forming
a CRC for said file archive.
47. The method of claim 26 wherein said file archive includes
storage for at least one stored option indication, and wherein said
file archive management application allows said user to modify said
file archive by modifying said at least one stored option
indication for said file archive.
48. The method of claim 26 wherein said file archive includes a
data file, and wherein said file archive management application
allows said user to modify said file archive by creating a shortcut
to said data file.
49. The method of claim 26 wherein said file archive management
application allows said user to modify said file archive by
converting the contents of said file archive to a .arj archive.
50. The method of claim 26 wherein said file archive management
application receives a .arj archive, and wherein said file archive
management application allows said user to modify said file archive
by converting said .arj archive to a file archive.
51. A system for accessing a file in a file archive, said system
including: a graphical user interface provided by a browser; and a
file archive management application, wherein said file archive
management application provides access to a file in a file archive
using said graphical user interface.
52. The system of claim 51 wherein said file archive management
application provides access to said file in said file archive to
read said file.
53. The system of claim 51 wherein said file archive management
application provides access to said file in said file archive to
authenticate said file.
54. The system of claim 51 wherein said file archive management
application provides access to said file in said file archive to
test said file.
55. The system of claim 51 wherein said file archive management
application provides access to said file in said file archive to
view a log for said file.
56. The system of claim 51 wherein said file archive management
application provides access to said file in said file archive to
show options associated with said file.
57. The system of claim 51 wherein said graphical user interface
allows said user to access said file in said file archive using a
pulldown menu.
58. The system of claim 51 wherein said graphical user interface
allows said user to access said file in said file archive using a
toolbar.
59. The system of claim 51 wherein said graphical user interface
allows said user to access said file in said file archive using a
drag-and-drop operation.
60. The system of claim 51 wherein said graphical user interface
allows said user to access said file in said file archive using a
paste operation.
61. The system of claim 51 wherein said graphical user interface
allows said user to access said file in said file archive using a
right-click operation.
62. The system of claim 51 wherein said file archive management
application allows said user to access said file in said file
archive by extracting said file from said file archive.
63. The system of claim 51 wherein said file is compressed and said
file archive management application decompresses said file.
64. The system of claim 51 wherein said file is encrypted and said
file archive management application decrypts said file.
65. The system of claim 64 wherein said decryption is
asymmetric.
66. The system of claim 65 wherein said decryption uses a public
key.
67. The system of claim 66 wherein said decryption uses the X.509
format.
68. The system of claim 51 wherein said file archive management
application allows said user to access a digital signature
associated with said file.
69. The system of claim 51 wherein said file archive management
application allows said user to access said file in said file
archive by using a shortcut to said data file.
70. A method for accessing a file in a file archive, said method
including: providing a graphical user interface using a browser;
providing a file management application, wherein said file
management application allows a user to access a file in a file
archive using said graphical user interface; and accessing a file
in a file archive using said graphical user interface.
71. The method of claim 70 wherein accessing a file in said file
archive includes reading said file.
72. The method of claim 70 wherein said file archive management
application provides access to said file in said file archive to
authenticate said file.
73. The method of claim 70 wherein accessing a file in said file
archive includes testing said file.
74. The method of claim 70 wherein accessing a file in said file
archive includes viewing a log for said file.
75. The method of claim 70 wherein accessing a file in said file
archive includes showing options associate with said file.
76. The method of claim 70 wherein said graphical user interface
allows said user to access said file in said file archive using a
pulldown menu.
77. The method of claim 70 wherein said graphical user interface
allows said user to access said file in said file archive using a
toolbar.
78. The method of claim 70 wherein said graphical user interface
allows said user to access said file in said file archive using a
drag-and-drop operation.
79. The method of claim 70 wherein said graphical user interface
allows said user to access said file in said file archive using a
paste operation.
80. The method of claim 70 wherein said graphical user interface
allows said user to access said file in said file archive using a
right-click operation.
81. The method of claim 70 wherein said file archive management
application allows said user to access said file in said file
archive by extracting said file from said file archive.
82. The method of claim 70 wherein said file is compressed and said
file archive management application decompresses said file.
83. The method of claim 70 wherein said file is encrypted and said
file archive management application decrypts said file.
84. The method of claim 83 wherein said decryption is
asymmetric.
85. The method of claim 84 wherein said decryption uses a public
key.
86. The method of claim 85 wherein said decryption uses the X.509
format.
87. The method of claim 70 wherein said file archive management
application allows said user to access a digital signature
associated with said file.
88. The method of claim 70 wherein said file archive management
application allows said user to access said file in said file
archive by using a shortcut to said data file.
Description
BACKGROUND OF THE INVENTION
[0001] The present invention relates to managing and manipulating
computer archive files, and more particularly to a system and
method for managing and manipulating zip files through a computer
program integrated into Microsoft Windows Explorer.
[0002] Compression of computer files has been around for years.
Compressing files can save tremendous amounts of disk space, and
transfer time when downloading files from the Internet or
transferring files through email. These days, almost any file one
downloads from the Internet is compressed in some way. A standard
compressed file or folder as it is sometimes called contains one or
more files that were compressed into a single file or folder. A lot
of different compression formats have been developed over the
years. The zip format, created by the assignee of the present
invention, is the most common compressed file format for the
personal computer, but there are many others in use today. Any file
with a ".zip" extension is most likely a compressed file in the zip
format. Zipping a file means compressing the file into the zip
format archive so that it occupies less disk space, and unzipping a
file means uncompressing a compressed file in the zip format. A zip
file is a file which has been compressed with PKZIP.RTM., from
PKWare, Inc., or another compatible archiver. Zip files are
indicated by a ".zip" filename extension.
[0003] A computer file is compressed through the use of one or more
compression algorithms. A compression algorithm is essentially a
mathematical formula that scans the data in the file for
compressible information. For example, compressible information may
be any repeating pattern or string that can be represented once.
The compression algorithm will then represent the repeated patterns
in a coded manner to save space. For standard compression, most of
the compression algorithms work basically the same way. Some are
just more efficient or faster than others.
[0004] Generally, the contents of a compressed file cannot be
accessed unless the archive is uncompressed. In order to uncompress
a file, a user needs to either use the same program used to
compress the file, or use another program that is compatible with
the particular compression format. That meant that users were
required to use standalone programs to compress and uncompress
their files. The same problem occurs when trying to work with and
manipulate compressed archived files. For example, a user wanting
to open an existing compressed file, modify the file, or extract
data from the file and transfer it to another file would have to
command a standalone program to uncompress the original file and
command the standalone program to compress the modified file. This
process is often burdensome and inconvenient to the user.
Therefore, it would be beneficial to create a product that would
eliminate the need for separate standalone compression programs,
and eliminate the need to separately command a file to be
uncompressed or compressed each time the file is opened, modified,
or saved.
[0005] Such products have been developed by many companies,
including products used in a Microsoft Windows Explorer
environment. Microsoft Windows Explorer is a browser program in
Windows for exploring directories, files, and folders in a computer
system. In connection with Windows Explorer, Microsoft provides a
shell name space extension application program interface (API) for
software developers to use to integrate other software utility
programs into Windows Explorer. Several companies have developed
compression file manipulation programs using the Microsoft Windows
Explorer interface. Some of these products include: ArjFolder by
Raphael Mounier; Cab Viewer by Microsoft Corporation; CleverZip by
Cleverness, Inc.; Zip Explorer Pro by Aeco Systems; Internet
Neighborhood by KnoWare, Inc.; Net Explore; ZipMagic by Mijenix
Corporation; and Netzip Classic by Netzip Inc. The Internet
Neighbrohood and Net Explore products are file transfer protocol
(FTP) products which integrate FTP sites into Windows Explorer.
ZipMagic and Netzip Classic are device driver products.
[0006] ZipMagic, patented under U.S. Pat. No. 5,907,703, is
directed to a device driver for accessing computer files. The
ZipMagic patent utilizes a device driver implemented in the
operating system of Windows Explorer that makes all zip files
appear to be folders.
[0007] However, all of the above products are implemented
differently from the present invention, and do not include many of
the features of the present invention. Many of the above programs
have increased performance overhead in processing
(compressing/uncompressing) files continuously in and out, and it
is often difficult for a user to determine if he is in a zip file
or rather in a folder.
[0008] Accordingly, there is a need for a system and method for
easy management and manipulation of archive files. The program of
the present invention is intended for use on Microsoft Windows 9x,
Me (Millennium Edition), NT 4.0, and 2000 systems. Windows 95 and
NT 4.0 systems require Microsoft Internet Explorer 4.0 or
greater.
BRIEF SUMMARY OF THE INVENTION
[0009] The present invention provides a software utility program
that is seamlessly integrated into Microsoft Windows Explorer. The
program allows users to manage and manipulate their zip archive
files without leaving the Explorer environment. Users may open,
archive, compress, extract, create, modify and add to their zip
archive files using Windows Explorer's context and pull-down menus,
toolbars, copy and paste operators, and drag and drop operators. A
mail compressor attachment module integrates into Microsoft Outlook
to automatically archive files sent via email. An Internet plug-in
module works with Internet Explorer 4.0+ or Netscape Communicator
4.0+ to facilitate the handling of downloaded zip files from the
Internet. The Internet module allows a user to view and manipulate
zip archive files downloaded from the Internet.
[0010] An archive manager provides quick access to a user's zip
files stored on the computer. The archive manager can create a
hierarchical tree representation of a zip file which allows quick
and easy management and manipulation of complex zip archives.
Shortcuts may also be optionally created and/or deleted by the
archive manager. Double-clicking a shortcut will open a zip file
under the archive manager. File shortcuts may be created using copy
and paste operators, dragging a file into the archive manager, or
via the scan and add function. File shortcuts are deleted by
highlighting the shortcut and selecting delete on the keyboard or
Windows Explorer menu. Shortcuts may be created that branch to a
zip file's contents under a specified working directory as an
alternative to working within the archive manager. Archive files
may be extensively modified before the actual changes are saved. As
a result, system overhead is minimized, as the resources required
for such operations are only needed when the archive is actually
saved. An edit mode of the archive manager during archive
modification illustrates graphic instruction cue icons (indicating
Add and Delete states) in the far left column of the Explorer
Window.
[0011] In addition to easily opening, extracting, creating and
modifying archive files, the present invention also includes
several miscellaneous features or functions selectable by the user.
These functions include edit-before-saving, digital certificate
based file authentication and encryption, selecting compression
methods by file type and spanning/splitting of archive files.
[0012] In one aspect of the invention, an edit-before-saving
function that is useful during creating, opening, modifying or
extracting an archive file. The edit-before-saving function
provides graphic instruction cue icons (indicating Add and Delete
states) next to archives that have been modified. Archives may be
extensively modified before the actual changes are saved. As a
result, system overhead is minimized, as the resources required for
compressing and uncompressing are used only when the archives are
actually saved.
[0013] In another aspect of the invention, a Public Key
Infrastructure (PKI) based digital signature, file authentication
and encryption function adds a layer of authenticity to the zip
archive files. The invention includes a X.509 based authentication
and encryption function which allows a user to digitally sign and
encrypt individual files archived in a zip file and subsequently
authenticate and decrypt those files upon extraction. Digitally
signing a zip file allows one to detect whether the integrity of a
zip file has been compromised. Encrypting a file denies access to
the file's contents by unauthorized users. The ability to store a
PKI based digital signature using standard X.509 based certificate
(e.g., VeriSign Digital ID) information is a significant
enhancement to the zip archive file format. This function allows
users to digitally sign an archive file and its contents using a
standard X.509 based digital certificate.
[0014] This function also allows a user to digitally sign the
central directory of the zip file and to encrypt file names and
supplemental information such as, but not limited to, file system
security descriptor information.
[0015] In a further aspect of the invention, a user may select a
compression method based on the type of file being saved. The
compression methods include Store, Deflate, and DCL Implode. By
default, the present invention compresses all files using the
Deflate algorithm. A user may choose to compress all files using
the Deflate algorithm, or may optionally modify the default method
of compression, as well as the method to be used on a specified
file type. In addition, a user may specify to use the 64k
dictionary version of the Deflate algorithm for improved
compression.
[0016] The spanning function of the invention allows a user to span
large zip archives over multiple removable media diskettes. The
splitting function of the invention allows a user to divide an
archive file into specified file segment sizes.
[0017] Various other features, objects, and advantages of the
invention will be made apparent to those skilled in the art from
the following detailed description and accompanying drawings.
BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
[0018] FIG. 1 is a diagram illustrating the software components
underlying the system of the present invention;
[0019] FIGS. 2a-2e are diagrams illustrating the different
compression and extraction chains used in the present
invention;
[0020] FIG. 3 displays a right-click context menu of the present
invention;
[0021] FIG. 4 displays a progress dialog screen of the present
invention;
[0022] FIG. 5 displays a save as dialog screen of the present
invention;
[0023] FIG. 6a displays a table of toolbar buttons used in the
present invention;
[0024] FIG. 6b displays a table of menu items used in the present
invention;
[0025] FIG. 7 displays an extract dialog screen of the present
invention;
[0026] FIG. 8 displays an add dialog screen of the present
invention;
[0027] FIG. 9 displays a log dialog screen of the present
invention;
[0028] FIG. 10A displays a "General" screen of a series of
selection properties dialog screens of the present invention;
[0029] FIG. 10B displays a "Comment" screen of a series of
selection properties dialog screens of the present invention;
[0030] FIG. 10C displays a "Digital Signature" screen of a series
of selection properties dialog screens of the present
invention;
[0031] FIG. 11A displays a "General" screen of a series of
authenticity/certificate dialog screens of the present
invention;
[0032] FIG. 11B displays a "Comment" screen of a series of
authenticity/certificate dialog screens of the present invention;
and
[0033] FIG. 11C displays a "Digital Signature" screen of a series
of authenticity/certificate dialog screens of the present
invention.
DETAILED DESCRIPTION OF THE INVENTION
[0034] FIG. 1 is a diagram illustrating the software components
underlying the system 10 of the present invention. There are three
basic components of the underlying software. These components are
the user interface (UI) 20, the file management (FM) component 30,
and the compression/extraction engine (CE) 40.
[0035] The lowest level component is the compression/extraction
engine 40. The compression/extraction component 40 consists of the
actual compression, extraction, and crc-32 algorithms. These are
written as a set of portable C language routines, with higher level
C++ routines interfacing with the higher level file management
component 30. The file management component 30 consists of the
central directory 32 which holds a cached tree-like structure of
the archive independent of the actual archive type. Actual archive
implementation is used by the central directory 22 to read/write
data to the archives 34 and the user interface 20. The central
directory 32 consists of folder objects and file objects 36. A
services object 38 is also part of the file management component
30. The services object 38 acts as a helper interface between the
user interface component 20 and the file management component 30.
The user interface 20 consists of a shell 22, a graphical user
interface (GUI) 24, and a call level interface (CLI) 26.
[0036] The data object 36 supports one or more standard file
formats (Explorer or File Manager drag and drop), and one or more
custom formats (zip compressed non-encrypted and zip compressed).
When files are dropped from Explorer to the archive, the archive
requests available standard data formats to compress the data. When
files are dropped from archive to Explorer, Explorer requests
available standard data formats. In this instance, the data object
will need to uncompress the data. When files are dropped from one
zip archive to another zip archive, the target archive will be able
to detect the native data and copy it without modification. When
files are dropped from an ARJ archive to a zip archive, the zip
archive will be able to recognize only standard formats, as a
result, the ARJ data object will uncompress the data and the zip
archive will compress the data. So it is possible to convert data
between different archives.
[0037] FIGS. 2a-2e illustrate the different compression and
extraction used by the present invention. In FIG. 2a, regular
compression and extraction chains are shown. In FIG. 2b,
compression data chains are shown, including the use of a generic
converter involving no compression. In FIG. 2c, data here
compression chains are shown. In FIG. 2d, GetData extraction chains
are shown. In FIG. 2e, GetDataHere extraction chains are shown.
[0038] The compression/extraction engine 40 and the file management
component 30 form the data compression library that is used to
build applications, such as the present invention, needing zip
compatible compression and file management.
[0039] The present invention provides a software utility program
that is integrated into Microsoft Windows Explorer for managing and
manipulating archive files without leaving the Explorer
environment. The invention includes an archive manager which allows
a user to open, view, modify (add/delete), and extract data from an
existing archive, or create a new archive using modified Windows
Explorer right-click context menus, pull-down menus, toolbars, copy
and paste operators, or drag and drop operators.
[0040] FIG. 3 displays a right-click context menu 50 of the present
invention which may be used to open, modify and extract files from
an exiting zip file, or create a new zip file. In opening a zip
file, a user may simply double-click the file to view the contents
of the file. Alternatively, the following is an example of the
steps one might follow to open and view the contents of a zip file.
First, the zip archive to be opened is located by using Windows
Explorer. Then, the user right-clicks on the zip file he wants to
open. A context menu appears. PKZIP/Explore is selected. The
contents of the zip file will be displayed in the right pane under
the archive manager. As another alternative, a user may select
PKZIP/Explore PKZIP Folder to create a folder shortcut under the
current folder, and display the contents of the zip file via this
folder.
[0041] To extract individual files and/or folders archived in a zip
file, a user opens the zip file in Explorer as discussed above and
invokes the extract dialog, by selecting the Extract menu item in
the right-click context menu. The Extract dialog appears, FIG. 7,
allowing the user to manually specify a destination directory.
Alternatively, a user may select PKZIP/Extract Here to extract the
contents of the archive into the directory where the zip archive
resides. To create a directory (e.g., "Test") under the directory
where the zip archive resides, and extract all files in that
directory, the user selects the "Extract-to" menu item.
Alternatively, files may be extracted using a drag and drop
operation. The user highlights the files and/or folders he wishes
to extract, drags the files to a destination, and drops the files
in the enabled destination. The files and/or folders will be
automatically extracted into the drop destination. As the
extraction process proceeds, the progress is displayed in a
progress dialog, as shown in FIG. 4. If there is an error
encountered during the extraction process, the error is indicated
in the progress dialog and a log dialog, shown in FIG. 9.
[0042] The present invention also allows a user to create a new zip
file. The following is an example of the steps one might follow to
create a new zip file. First, the user highlights the files and/or
folders he wishes to archive. The user then clicks his right mouse
button to bring up the context menu. PKZIP/Compress is then
selected. The "Save as" dialog appears, FIG. 5. A name and
destination are specified for the zip file, and the save button is
clicked to proceed. The progress dialog appears to monitor
completion and to indicate errors in the process. The new zip file
should now reside in the specified destination directory. A user
may alternatively create a new zip file by other means as well. A
user may create a new folder in an archive by selecting the New
Folder menu toolbar item and specifying a folder name as
desired.
[0043] Adding or deleting files in a zip file works somewhat
differently than these same operations do in Explorer. For example,
in Explorer, when a user highlights a file and clicks the delete
key, that file is immediately deleted. The present invention
includes an edit-before-saving function, so that when a user
highlights a file and clicks the delete key, a graphic instruction
cue icon is displayed directly to the left of the file icon,
indicating that this file is to be deleted. Similarly, when a file
is added to an archive, the program will display an add icon
directly to the left of the file icon indicating that this file is
to be added. In other words, a zip file is not actually modified
until the user specifically instructs the program to save the zip
file.
[0044] The following is an example of the steps one might follow to
modify an existing zip file. A user first locates and opens the zip
file he wishes to modify. Next, the files and/or folders to add to
the archive are specified by clicking the add toolbar button,
thereby invoking the add dialog, or by dragging the files and/or
folders from their source and dropping them at a destination. A
user may alternately use the copy and past operation to specify
files and/or folders to add to the archive. The program will
display an add icon (such as plus symbol) indicating that these
files and/or folders are to be added when the archive is saved.
[0045] In a similar manner, a user may specify files and/or folders
to delete in the archive by highlighting the files the user wishes
to delete, and clicking the delete key, or by selecting the Delete
menu item. The program will display a Delete icon (such as a circle
with a slash through it) indicating that these files and/or folders
are to be deleted when the archive is saved.
[0046] After the user is finished modifying the zip file, the file
may be saved by selecting the Save menu item available under the
File menu, or by use of the right-click context menu. A user may
also click the Save button on the toolbar. To save the
modifications to another zip file, select the Save As or Save Copy
As menu items.
[0047] FIGS. 6a and 6b display modifications and additions to the
Explorer toolbar buttons and menu items used in the present
invention.
[0048] The present invention may also include many options which
may be configured in the options tab dialog accessible via the
menu/tool bar or via the right-click context menu. One option is
the compression method. Under this option, a user may specify a
compression algorithm other than the default algorithm. The
compression algorithms to choose from may include Store, DCL
Implode, and Deflate. By default, all files are compressed using
the Deflate algorithm. As one example, a user may wish to use the
Store feature for all JPEG files, since the compression ratios on
files of this type are typically negligible. A user may specify a
default method or extension specific method under the extension
column. Depending on the compression method specified, a user may
wish to configure one or more of the storage parameters, as
described below.
[0049] There are no available settings for the store method. The
program simply archives the specified files without compression.
Since the program does not expend time compressing files, this is
the fastest method of archival.
[0050] Under the DCL Implode method of compression, the dictionary
byte size (i.e., 1024, 2048, 4096) a user wishes to use when
compressing files is configurable along with the data type. The
binary setting should be selected to optimize compression of
program files or other non-text files. The ASCII setting should be
selected to optimize compression of text files.
[0051] Most zip utilities use the Deflate algorithm to compress
files. Under this algorithm, the compression level may be set using
a slide bar to specify the level of compression you wish to apply
when archiving files. Moving the slide bar all the way left
instructs the program to use the fastest method of compression.
Moving the slide bar right increases the time the program expends
compressing the file which, as a result, improves compression.
Moving the slide bar all the way right instructs the program to
apply maximum compression to files. This is the slowest method of
file archival because the program must expend time maximizing
compression on the files. Typically, applying maximum compression
results in the smallest zip file.
[0052] In addition, the dictionary kilobyte size may be selected
when using the Deflate algorithm. The dictionary size is selectable
between a 32K dictionary and a 64K dictionary. The 64K dictionary
provides slightly better compression ratios, but may not be
compatible with all zip utilities.
[0053] The present invention also allows the user to digitally sign
and encrypt the individual files archived in a zip file as well as
the central end directory, and subsequently to authenticate and
decrypt those files upon extraction. The signing and encrypting
functionality is based on PKCS No. 7, and related public key
encryption standards and is therefore compatible with security
functionality in other applications such as Microsoft's Internet
Explorer. Signing a zip file allows one to detect whether a zip
file's integrity has been compromised. Encrypting a file denies
access to the file's contents by unauthorized users.
[0054] Before a user can sign or encrypt files, he must first have
a digital certificate with which to sign or encrypt. A digital
certificate may be obtained from VeriSign or Thawte or from another
certificate authority.
[0055] The present invention also provides a software utility
program that integrates the compression/extraction engine into
Microsoft Outlook to compress, encrypt and authenticate email
attachments without leaving the Outlook environment. The invention
includes a toolbar button and a tooltray menu that allows turning
the compression of email attachments on or off. The compression of
email attachments reduces the storage and transfer time of email
messages and can reduce the spread of common email attachment
viruses.
[0056] The system of the present invention may further include a
more generally applicable mail attachment compressor module. Most
email programs support sending file attachments along with the main
body of the email message. Most users can choose to send the
attached file as it originally exists, or compress it prior to
attachment to the mail message so it is smaller and more efficient
to send and store. Currently, the file to be attached must be
manually compressed outside the email program and then attached
using the attachment features of the email program. The mail
attachment compressor module of the present invention integrates
compression into the standard Microsoft Outlook mail message edit
form so compressing attachments can be done automatically as the
message is sent. The mail attachment compressor module also
provides the ability to digitally sign attachments as they are sent
for greater security.
[0057] After installing the program of the present invention, the
mail form of Microsoft Outlook will have two additional buttons in
its "standard" toolbar. These buttons include a Toggle Compression
button and an Options button. If the Toggle Compression button is
not depressed (the default state), all mail attachments will be
compressed automatically when the standard "send" button is used to
send the message. Attachments already compressed when attached will
be left as is, while attachments that are not compressed will be
compressed into a single ZIP file that will replace the original
uncompressed attachments. When the Toggle Compression button is
depressed, the compression will not be done and the files will be
sent as attached. The Options button will display the Options
configuration dialogs from the compression/extraction engine so
that the compression actions can be configured. The primary use of
this button is to configure digital certificates, but any
configurable parameters supported by the compression/extraction
engine can be set. These parameters include digital certificates,
passwords and compression method options.
[0058] Operation of the mail attachment compressor program is
initiated by installing the mail attachment compressor module
software onto the users system, and initiating Microsoft Outlook.
If the mail attachment compression feature is enabled through the
toggle button, the attachments will automatically be compressed
when the message is sent using the send button. If the mail
attachment compression feature is not enabled, then the attachments
will be sent unaltered.
[0059] The components of the mail attachment compressor module
provide the functionality to be implemented within Microsoft
Outlook and provide integration between this module and the
underlying compression/extraction engine. When compressing an
attachment, the files to be compressed will be passed off to the
compression/extraction engine of the underlying software program.
After compression, the compressed file will be reattached to the
original message, the original copies of the attachments that are
now compressed will be removed from the message, and any temporary
files created during compression will be deleted.
[0060] The mail attachments module uses the compression/extraction
engine to hook directly into Microsoft Outlook to allow users to
compress email attachments into zip files. This module provides an
automation hook so that email attachments appended to Outlook mail
messages can be automatically compressed when the message is
sent.
[0061] The Scan and Add dialog of the archive manager is invoked
via the Scan and Add toolbar button or the Explorer
File/right-click menu. Once the user is finished specifying files
to add to the archive manager list, the user clicks OK to add the
selected file shortcuts to his list and return to Explorer, or he
clicks Apply to add the selected files and remain in the Scan and
Add dialog. The options available via this dialog include Files and
Folders, multiple selection scan, and Scan and Add form. The
archive manager allows the user to add unopened archives to the
archive manager list, and to add multiple files using the multiple
selection scan option under the archive manager.
[0062] While the invention has been described with reference to
preferred embodiments, those skilled in the art will appreciate
that certain substitutions, alterations and omissions may be made
without departing from the spirit of the invention. Accordingly,
the foregoing description is meant to be exemplary only, and should
not limit the scope of the invention set forth in the following
claims.
* * * * *