`Prust
`
`USOO6735623B1
`(10) Patent No.:
`US 6,735,623 B1
`(45) Date of Patent:
`May 11, 2004
`
`(54) METHOD AND SYSTEM FOR ACCESSINGA
`REMOTE STORAGE AREA
`(75) Inventor: Mitch Prust, 16244 Ramsey Blvd.
`N.W., Ramsey, MN (US) 55303
`(73) Assignee: Mitch Prust, Saint Paul, MN (US)
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(22) Filed:
`
`Feb. 9, 2000
`
`(51) Int. Cl." ................................................ G06F 15/16
`(52) U.S. Cl. .................
`709/219; 709/206
`(58) Field of Search ................................. 709/206, 201,
`709/217-219, 207, 203; 707/1, 10, 201
`References Cited
`U.S. PATENT DOCUMENTS
`
`(56)
`
`5,659,746 A * 8/1997 Bankert et al. ............. 707/205
`5,748.896. A
`5/1998 Daly et al.
`5.937,160 A * 8/1999 Davis et al. ................ 709/203
`6,018,774 A * 1/2000 Mayle et al. ..
`... 709/250
`6,044.205 A * 3/2000 Reed et al. ....
`... 709/201
`6,072,982 A * 6/2000 Haddad ....................... 725/93
`6.216,168 B1
`4/2001 Dev et al.
`6.256,666 B1 * 7/2001 Singhal ...................... 709/217
`6,289,382 B1 : 9/2001 Bowman-Amuah
`E. 18: No.
`al. ............ 705/9
`6,327.60s B1 - 12/2001 Dillingham. 700203
`6,356,863 B1
`3/2002 Sayle
`6,356,941 B1
`3/2002 Cohen
`6,363,384 B1
`3/2002 Cookmeyer, II et al.
`6,366,987 B1
`4/2002 Tzelnic et al.
`6,393,466 B1
`5/2002 Hickman et al.
`6,397.261 B1
`5/2002 Eldridge et al. .......... 709/217
`6,424.996 B1 * 7/2002 Killcommons et al. ..... 709/206
`6,449,688 B1
`9/2002 Peters et al.
`6,453,325 B1
`9/2002 Cabrera et al.
`6,466.978 B1 10/2002 Mukherjee et al.
`6,519,612 B1 * 2/2003 Howard et al. ............. 707/200
`
`
`
`40 y
`
`EP
`wo
`WO
`
`FOREIGN PATENT DOCUMENTS
`O881.587 A2 12/1998
`WO ..
`A3
`R:
`WO 98/24025
`6/1998
`OTHER PUBLICATIONS
`"Client Application for Integrating a Development Environ
`ment with a Web Distributed Authoring (WEBDAV)
`Server', Research Disclosure, Kenneth mason Publications,
`Hampshire, GB, NR. 420, Page(s) 578–579, XP000888651,
`Goals for a configuration management network protocol,
`Whitehead, E.J., System Configuration Management, 9"
`International Symposium. SCM-9, Proceedings, Toulouse,
`France Sep. 5–7, 1999, ISBN: 3–540–66484-X, 18 pages.
`WebDAV: A Panacea for Collaborative Authoring?, Suss
`man, D., Siemens Corporate Research, Apr.-Jun. 1999, pp.
`76-79.
`
`(List continued on next page.)
`Primary Examiner David Wiley
`Assistant Examiner Joseph E. Avellino
`(74) Attorney, Agent, or Firm-Shumaker & Sieffert, P.A.
`(57)
`ABSTRACT
`A data Storage System is described that provides SeamleSS
`access to remote data storage areas via a global computer
`network. The data Storage System includes one or more
`Storage Servers coupled to one or more Storage devices. The
`Storage devices provide a plurality of Virtual Storage areas,
`where each Virtual Storage area is assigned to a user. AcceSS
`to the virtual storage areas is fully integrated with an
`operating System executing on a client computer Such that
`the user, or Software applications executing on the client
`computer, can Seamlessly access the corresponding virtual
`Storage area using Standard file management routines pro
`Vided by the operating System. In addition, the invention
`provides a wide range of other remote acceSS methods to the
`Virtual data Storage areas including access via electronic
`mail.
`
`24 Claims, 8 Drawing Sheets
`
`Adobe - Exhibit 1004, page 1
`
`
`
`US 6,735,623 B1
`Page 2
`
`OTHER PUBLICATIONS
`World Wide Web Distributed Authoring and Versioning:
`Web DAV, Whitehead, E.J., WebDAV Information, Feb.
`1999, pp. 1-2.
`Requirements for Distributed Authoring and Versioning on
`the World Wide Web, Slein, J.A.; Vitali, F.; Whitehead, Jr.,
`E.J.; Durand, D.G.; Standard View VI. 5, No. 1, Mar. 1997,
`ISSN: 1067–9936, pp. 17–24.
`How to implement Web-based groupware systems based on
`WebDAV, Dridi, F.; Neumann, G., Enabling Technologies:
`Infrastructure for Collaborative Enterprises, Jun. 1999, Pro
`ceedings IEEE 8', ISBN: 0-7695-0365-9, pp. 114-119.
`Open Door Networks Introduces New Products for Apple
`share Servers, pp. 1-2, Sep. 1997.
`ShareWay IP 2.0, pp. 1-2, Feb. 1997.
`Open Door Network Products Enhance MAC OS 8, p. 1,
`Aug. 1997.
`U.S. patent application entitled, “Method and System for
`SeamleSS Access to a Remote Storage Area,” Ser. No.
`09/501,041, filed Feb. 9, 2000.
`U.S. patent application entitled, “Remote Storage Area
`Having Multiple Access Interfaces,” Ser. No. 09/500,868,
`filed Feb. 9, 2000.
`International Search Report from Application No. PCT/US
`01/04352 mailed Oct. 9, 2003 (3 pages).
`
`http://www.webdav.org WebDAV Resources, pp. 1-3,
`printed Jun. 15, 2000.
`http://www.backup.com-G) Backup(E), p. 1, printed Jun.
`15, 2000.
`http://www.bitlocker.com-Bitlocker, p. 1, printed Jun. 15,
`2OOO.
`http://www.datahubonline.com-datahubonline.com, p. 1,
`printed Jun. 15, 2000.
`http://www.diskonnet.com-DiskOnNet.com, p. 1, printed
`Jun. 15, 2000.
`http://www.docSpace.com-Critical Path Inc., p. 1, printed
`Jun. 15, 2000.
`http://www.driveway.com-Driveway Corporation, p. 1,
`printed Jun. 15, 2000.
`http://www.itools.mac.com-Apple-iTools, p. 1, printed
`Jun. 15, 2000.
`http://www.filemonkey.com-File Monkey Software Devel
`opment Services, p. 1, printed Jun. 15, 2000.
`http://www.freedrive.com-FreeDrive, Inc., p. 1, printed
`Jun. 15, 2000.
`http://www.xinet.com-Xinet, Inc., p. 1, printed Jun. 15,
`2OOO.
`
`* cited by examiner
`
`Adobe - Exhibit 1004, page 2
`
`
`
`U.S. Patent
`
`May11, 2004
`
`Sheet 1 of 8
`
`US 6,735,623 B1
`
`
`
`
`
`WYOMILAINVAUVTVOOT
`
`1s
`
`=
`
`Joyndwo0;)
`9]0W9y6b
`
`[JE
`
`(_
`
`cr
`
`Or
`
`6cl
`
`est©
`
`fy
`
`1‘Ol4
`
`vel
`
`Arrdsiq
`
`07
`
`STI
`
`$oll
`
`OSplA
`
`iadepy
`
`
`
`Jajjoquoegsng
`
`cll
`
`FOssoo0lg
`
`oor
`
`it
`
`Sold
`
`rlWOU
`
`
`
`AYOWFAWWALSAS
`
`aIeAyOS
`
`suoreoddy
`
`suyeisdg
`
`wash
`
`aoTAaq
`
`SIdALIG
`
`aoBypIOU]
`
`syog
`
`ylomjon
`nding/induy
`
`satiqfeondg
`
`aaulysiqyAddoy.q
`
`preypeurayuy
`
`sid
`
`Adobe- Exhibit 1004, page 3
`
`Adobe - Exhibit 1004, page 3
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`May 11, 2004
`
`Sheet 2 of 8
`
`US 6,735,623 B1
`
`2O5
`
`205
`
`
`
`User Computer
`
`User Computer
`
`Global computer
`network
`215
`
`
`
`
`
`20-
`
`Storage Server
`
`t
`
`
`
`
`
`
`
`
`
`Metadata
`database
`222
`
`Storage
`Area
`
`
`
`
`
`Virtual
`Storage
`Area
`
`FIG. 2
`
`Adobe - Exhibit 1004, page 4
`
`
`
`U.S. Patent
`
`May 11, 2004
`
`Sheet 3 of 8
`
`US 6,735,623 B1
`
`
`
`Šx:
`
`FG. 3
`
`Adobe - Exhibit 1004, page 5
`
`
`
`U.S. Patent
`
`May 11, 2004
`
`Sheet 4 of 8
`
`US 6,735,623 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`-3 3: Floppy Al
`is (C)
`l!"
`(D:
`(-3. Audio CD (E:
`..S. Corrick Paris
`-
`Firles
`Melwork Neighborhood
`recrat righborhood
`Élisa
`E-3 OpenStep
`3-3 Applications
`3 library
`E-83 & ailboxes
`-?i i usic
`ti-83. WWW
`... Recycle Bin
`SWS_FIP ProExplorer
`& Edy Briefcase
`
`400
`
`
`
`
`
`
`
`age. Emp3
`tigroublesp.mp3
`SEC
`epgirlsR, IP3
`
`& & r & & & & S. & &
`
`
`
`in hotelrig3
`list
`of .mp3
`Power mp3
`Island.pres?.imp3
`timidamp3
`
`:
`
`8
`
`8
`
`
`
`
`
`FG. 4
`
`Adobe - Exhibit 1004, page 6
`
`
`
`U.S. Patent
`
`May 11, 2004
`
`Sheet 5 of 8
`
`US 6,735,623 B1
`
`
`
`AppleScript Example:
`On adding contents to folder this folder
`Set folder content to the contents of
`this folder
`Set the selected SiLO directory to the
`COmments of this folder
`Tell application "SiLO access layer"
`ACtivate
`Upload folder content to the
`selected SiLO directory
`End tell
`
`FIG. 5
`
`Adobe - Exhibit 1004, page 7
`
`
`
`U.S. Patent
`
`May 11, 2004
`
`Sheet 6 of 8
`
`US 6,735,623 B1
`
`
`
`RESELO E.
`
`trust
`
`Ele
`& 9-1499Raskup
`E3AppleScript. Extras.l.).S.Ed
`. & IgnaScripts
`Saga:
`& Mit:Test
`* 8: My Assoited Staff
`& My Flee
`Y& My Personal Eiles
`* Säkiavir.
`n-
`
`8 titchles.jpg
`gadieyattsiips
`iskinnyiki.jpg
`
`Listic
`File:S
`1D/15/1999 11:(438 CDT
`3.g430 Mbytes
`li1, 1999 11:43: 38 Gr
`97.57 Ebytes
`1119:53: IT
`Triad Ibytes
`Eggg. 15:3:33 IT
`(E2 in Ebytes
`18 lif1995 li:7 LT
`bytes
`(130E, 1999 (13:3:05 CD's
`1.20 Maytes
`1805, 1999 li:D933 city's
`175 Cr Khyes
`JSF14f13:07:13:5SET
`34,23 May's
`OSyl41999 (5575 CET
`28:5) Mayes
`(15:14f1996:03:3BCET
`3.23 M bytes
`150.33 Eyes FFSET
`5.36 E.bytes
`(9,141599 GEJ2:15 IT
`5D.C4 xbytes
`(94-1999 05:13:19 CDT
`689: Kytes
`CSI:459s J333; 18 DT
`349.35 Kbytes
`(9,34.999 D6:2:17 CLT
`i88,
`8.bytes
`SS E::S CIT
`999,
`
`88.883
`
`&
`
`F.G. 6
`
`Adobe - Exhibit 1004, page 8
`
`
`
`U.S. Patent
`
`May 11, 2004
`
`Sheet 7 of 8
`
`US 6,735,623 B1
`
`
`
`705
`
`ritehmegs.jpg
`
`FG. 7
`
`Adobe - Exhibit 1004, page 9
`
`
`
`U.S. Patent
`
`May 11, 2004
`
`Sheet 8 of 8
`
`US 6,735,623 B1
`
`800 \
`
`User accesses the remote storage servers via a global
`Computer network, such as the Internet, and request a
`Corresponding virtual storage area.
`
`803 \
`
`805 \
`
`807
`
`Prompt the user for information such as a username,
`passWord, and billing address.
`Y
`\Upon approval, automatically allocate a remote storage area to
`the user and Stores the user information in metadata
`database. Inform user of approval as well as necessary
`access information.
`
`809 \
`
`Upon allocation, users can access the respective remote
`storage area via a variety of access interfaces.
`
`FIG. 8
`
`Adobe - Exhibit 1004, page 10
`
`
`
`1
`METHOD AND SYSTEM FOR ACCESSINGA
`REMOTE STORAGE AREA
`
`US 6,735,623 B1
`
`TECHNICAL FIELD
`This invention relates to Storage of digital data, and more
`particularly to a data Storage System that provides access to
`a remote Storage area.
`
`BACKGROUND
`
`1O
`
`The Internet is a worldwide collection of networks that
`spans over 100 countries and connects millions of comput
`erS. Reports indicate that the Internet is growing faster than
`all preceding information technologies including radio and
`television. Remote data Storage over the Internet is one of
`the fastest growing facets of the Internet. Numerous com
`panies provide a wide range of an Internet data Storage
`Services for remotely storing and managing data files. Many
`of these Services, however, have limited modes for accessing
`the data files. For example, many require that a user load
`proprietary Software on his computer in order to communi
`cate data files to the remote Storage. Other Services only
`Support access via a web browser or Similar communication
`utility.
`
`15
`
`25
`
`SUMMARY
`The present invention is directed to a data Storage System
`and method capable of providing a variety of access meth
`ods. In one embodiment, a data Storage System includes a
`plurality of Storage Servers coupled to a plurality of Storage
`devices. The Storage devices provide a plurality of Virtual
`Storage areas and each virtual storage area is assigned to a
`user. According to the invention, the assigned user can easily
`access the assigned virtual Storage area using a client
`computer communicatively coupled to the Storage Servers
`via a global computer network Such as the Internet. More
`Specifically, in order to Store data files within the remote
`Virtual Storage area, the user Sends an electronic mail mes
`Sage that includes the data file as well as user information
`and target data file information. The Storage Server parses the
`electronic mail message and Stores the data file within the
`Storage area according to the target data file information. In
`addition, the user can request one or more data files from the
`Storage area and electronically mail the data files to the user.
`In this manner, authorized users can easily Store date files to
`or retrieve data files from his or her remote Storage area from
`anywhere in the World via a global computer network Such
`as the Internet or a private wide-area network. The details of
`one or more embodiments of the invention are set forth in
`the accompanying drawings and the description below.
`Other features, objects, and advantages of the invention will
`be apparent from the description and drawings, and from the
`claims.
`
`DESCRIPTION OF DRAWINGS
`FIG. 1 is a diagram showing an exemplary hardware and
`operating environment of a Suitable computer for use with
`embodiments of the invention;
`FIG. 2 illustrates one embodiment of a computing System
`in which a storage Server provides Seamless access to remote
`Storage areas,
`FIG. 3 illustrates a user interface displayed by one
`embodiment of an operating System for directly accessing a
`remote Storage area using Standard file management routines
`provided by the operating System;
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`FIG. 4 illustrates a user interface displayed by another
`embodiment of an operating System for directly accessing a
`remote Storage area,
`FIG. 5 illustrates an example operating System Script
`written in AppleScript for the Macintosh& operating System
`that automatically copies a file from a local directory to a
`Similarly named remote directory located within a Storage
`area,
`FIG. 6 illustrates a window displayed by a conventional
`web browser when a user accesses a virtual Storage area;
`FIG. 7 illustrates a window displayed by a conventional
`electronic mail Software application when a user mails one
`or more data files to a corresponding Storage area;
`FIG. 8 is a flow chart 800 providing a high-level overview
`of one mode of operation in which storage network 220
`allocates Storage areas.
`DETAILED DESCRIPTION
`In the following detailed description, references are made
`to the accompanying drawings that illustrate Specific
`embodiments in which the invention may be practiced.
`Electrical, mechanical, programmatic and Structural changes
`may be made to the embodiments without departing from
`the Spirit and Scope of the present invention. The following
`detailed description is, therefore, not to be taken in a limiting
`Sense and the Scope of the present invention is defined by the
`claims.
`The detailed description is divided into three sections. The
`first Section provides definitions for various terms used
`throughout the detailed description. The Second Section
`describes an exemplary hardware and operating environ
`ment in conjunction with which embodiments of the inven
`tion can be practiced. Finally, the third Section describes
`various Systems, methods, potential benefits and alternative
`embodiments of the invention.
`Definitions
`File Transport Protocol (FTP)-A networking protocol spe
`cifically for transporting files from one computer on the
`network to another.
`HyperText Markup Language (HTML)-an authoring lan
`guage that defines the Syntax and Semantics used to create
`documents on the World Wide Web.
`Internet-a worldwide collection of networks that spans
`hundreds of countries and connects millions of comput
`ers. p0 Internet Protocol (IP)-A low level communica
`tions protocol that Specifies the format of individual
`communication packets and an addressing Scheme.
`Redundant Array of Independent Disks (RAID)-A high
`Volume Storage device having multiple Storage drives and
`fault recovery procedures.
`Server Message Block (SMB)--a message format used by to
`share files, directories and devices.
`Transmission Control Protocol (TCP)-a higher-level net
`work communication protocol that establishes a virtual
`connection between a destination and a Source.
`Transmission Control Protocol/Internet Protocol (TCP/IP)-
`the Suite of network communications protocols including
`both TCP and IP
`Web Distributed Authoring and Versioning (WebDAV) is a
`set of extensions to the Hypertext Transfer Protocol
`(HTTP) that seeks to make the World Wide Web a
`collaborative, writeable medium.
`World Wide Web (WWW)—A system of Internet servers
`that support documents specially formatted in the HTML
`language that Supports links to other documents, as well
`as graphics, audio, and Video files.
`
`Adobe - Exhibit 1004, page 11
`
`
`
`US 6,735,623 B1
`
`15
`
`3
`An Exemplary Operating Environment
`FIG. 1 illustrates a computer 100 suitable for supporting
`the operation of an embodiment of the present invention. AS
`shown in FIG. 1, the computer 100 includes a processor 112
`that in one embodiment belongs to the PENTIUM(R) family
`of microprocessors manufactured by the Intel Corporation of
`Santa Clara, Calif. However, it should be understood that the
`invention can be implemented on computers based upon
`other microprocessors, such as the MIPS(R) family of micro
`processors from the Silicon Graphics Corporation, the
`POWERPC(R) family of microprocessors from both the
`Motorola Corporation and the IBM Corporation, the PRE
`CISION ARCHITECTURE(R) family of microprocessors
`from the Hewlett-Packard Company, the SPARCOR family of
`microprocessors from the Sun MicroSystems Corporation, or
`the ALPHACR family of microprocessors from the Compaq
`Computer Corporation. Computer 100 represents any server,
`personal computer, laptop or even a battery-powered,
`pocket-sized, mobile computer known as a hand-held PC or
`personal digital assistant (PDA).
`Computer 100 includes system memory 113 (including
`read only memory (ROM) 114 and random access memory
`(RAM) 115), which is connected to the processor 112 by a
`system data/address bus 116. ROM 114 represents any
`device that is primarily read-only including electrically
`erasable programmable read-only memory (EEPROM),
`flash memory, etc. RAM 115 represents any random access
`memory Such as Synchronous Dynamic Random AcceSS
`Memory.
`Within the computer 100, input/output bus 118 is con
`nected to the data/address bus 116 via bus controller 119. In
`one embodiment, input/output buS 118 is implemented as a
`standard Peripheral Component Interconnect (PCI) bus. The
`bus controller 119 examines all signals from the processor
`112 to route the Signals to the appropriate bus. Signals
`between the processor 112 and the system memory 113 are
`merely passed through the bus controller 119. However,
`Signals from the processor 112 intended for devices other
`than System memory 113 are routed onto the input/output
`bus 118.
`Various devices are connected to the input/output bus 118
`including hard disk drive 120, floppy drive 121 that is used
`to read floppy disk 151, and optical drive 122, such as a
`CD-ROM drive that is used to read an optical disk 152. The
`video display 124 or other kind of display device is con
`nected to the input/output bus 118 via a video adapter 125.
`A user enters commands and information into the com
`puter 100 by using a keyboard 40 and/or pointing device,
`Such as a mouse 42, which are connected to bus 118 via
`input/output ports 128. Other types of pointing devices (not
`shown in FIG. 1) include track pads, track balls, joy Sticks,
`data gloves, head trackers, and other devices Suitable for
`positioning a cursor on the Video display 124.
`As shown in FIG. 1, the computer 100 also includes a
`modem 129. Although illustrated in FIG. 1 as external to the
`computer 100, those of ordinary skill in the art will quickly
`recognize that the modem 129 may also be internal to the
`computer 100. The modem 129 is typically used to com
`municate over wide area networks (not shown), Such as the
`60
`global Internet. Modem 129 may be connected to a network
`using either a wired or wireleSS connection.
`Software applications 136 and data are typically Stored
`Via one of the memory Storage devices, which may include
`the hard disk 120, floppy disk 151, CD-ROM 152 and are
`copied to RAM 115 for execution. In one embodiment,
`however, software applications 136 are stored in ROM 114
`
`4
`and are copied to RAM 115 for execution or are executed
`directly from ROM 114.
`In general, the operating System 135 executes Software
`applications 136 and carries out instructions issued by the
`user. For example, when the user wants to load a Software
`application 136, the operating system 135 interprets the
`instruction and causes the processor 112 to load Software
`application 136 into RAM 115 from either the hard disk 120
`or the optical disk 152. Once software application 136 is
`loaded into the RAM 115, it can be used by the processor
`112. In case of large Software applications 136, processor
`112 loads various portions of program modules into RAM
`115 as needed.
`The Basic Input/Output System (BIOS) 117 for the com
`puter 100 is stored in ROM 114 and is loaded into RAM 115
`upon booting. Those skilled in the art will recognize that the
`BIOS 117 is a set of basic executable routines that have
`conventionally helped to transfer information between the
`computing resources within the computer 100. Operating
`system 135 or other software applications 136 use these
`low-level Service routines.
`In one embodiment computer 100 includes a registry (not
`shown) which is a System database that holds configuration
`information for computer 100. For example, Windows(R 95
`and Windows(R NT by Microsoft maintain the registry in
`two hidden files, called USER.DAT and SYSTEM.DAT,
`located on a permanent Storage device Such as an internal
`disk.
`
`Methods and Systems of the Invention
`FIG. 2 is a block diagram illustrating one embodiment of
`a computing environment 200 that provides Seamless access
`to remote Storage areas. In the illustrated embodiment, client
`computers 205 are communicatively coupled to remote
`storage network 220 via storage servers 210 and global
`computer network 215 such as the Internet. Storage network
`220 represents one or more interconnected Storage devices,
`Such as a RAID, for Storing data files. The Storage network
`220 defines a pool of virtual storage areas 225 that can be
`individually assignable to different users. Initially, a user
`accesses Storage Servers 210 via global computer network
`and requests a virtual Storage area 225. For each request,
`Storage Server 210 prompts the user for demographic infor
`mation Such as a username, password, billing address, etc.
`Upon approval, Storage network 220 allocates a Storage area
`225 to the user Such that, as described in detail below, the
`user can remotely access the corresponding virtual Storage
`area via client computers 205. Metadata database 222 stores
`metadata associated with the data files by the user. Storage
`server 210 and client computers 205 represent computing
`devices such as computer 100 described in FIG. 1.
`According to various embodiments of the invention, a Set
`of communication Software applications execute on Storage
`servers 210 and provide a set of interfaces such that client
`computers 205 can access virtual Storage areas 225 using
`any one of several different methods. Each method offers
`different advantages in control, performance and ease of use.
`For example, in one embodiment, access to the Virtual
`Storage areas 225 is fully integrated with operating System
`135 executing on each client computer 205. In this
`embodiment, the user can directly access a virtual Storage
`area 225 via the operating Systems user interface. Software
`applications 136 executing on client computer 205 can
`access the corresponding virtual Storage area 225 through
`operating System 135 by calling Standard file management
`routines provided by operating system 135. In this
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`Adobe - Exhibit 1004, page 12
`
`
`
`US 6,735,623 B1
`
`15
`
`35
`
`40
`
`25
`
`S
`embodiment, operating System 135 packetizes data files and
`metadata received from the management routines and com
`municates the data to storage servers 210 via network 215.
`In this embodiment, operating system 135 handles all com
`munication with Storage ServerS210 Such that Virtual Storage
`area 225 can be accessed as if it were local to client
`computer 205.
`In another embodiment, the user can access virtual Storage
`area 225 by invoking a communications application 136
`such as a web browser or an FTP utility. In this embodiment,
`the communications application 136 handles communica
`tion acroSS network 215. The underlying communications
`between client computers 205 and storage servers 210 can
`follow a variety of protocols. Typically, the communications
`use TCP/IP as a base protocol and additionally use the HTTP
`protocol, the FTP protocol or even a proprietary data-backup
`protocol.
`The following sub-sections describe the various tech
`niques by which, according to the invention, client comput
`erS 205 acceSS Virtual Storage areas 225 via Storage Servers
`210 and global computer network 215.
`Access via the Operating System
`According to the invention, in one embodiment, the user
`can acceSS Virtual Storage area 225 via operating System 135
`in the same manner by which the user accesses local Storage
`devices 120, 121 and 122. In this embodiment, the user
`interacts with the user interface presented by operating
`System 135 and manages virtual Storage area 225 as if it
`were a local Storage Volume. For example, by interacting
`with operating System 135 the user can perform all common
`file management tasks including coping files between hard
`disk 120 and remote Storage area 225, as well as renaming
`and deleting data files. The user is able to browse directory
`Structures within virtual storage area 225 as if it were a local
`Storage Volume. Indeed, in Some embodiments, Virtual Stor
`age area 225 may be represented as an icon on the desktop
`of the user's computer.
`FIG. 3 illustrates window 300 as displayed by operating
`System 135 for accessing a virtual Storage area 225. In the
`illustrated embodiment, operating system 135 is the Macin
`tosh E) operating System from Apple Computer, Inc. Window
`300 presented by operating system 135 lists the directories
`and files of Virtual Storage area 225 as if the directories and
`files were local. The user is able to browse the directories
`within virtual storage area 225 and perform the file man
`agement operations Supported by operating System 135 Such
`45
`as copying, renaming, moving and deleting files and direc
`tories. Similarly, applications 136 executing on client com
`puter 205 access virtual storage area 225 through standard
`file management routines provided by an application pro
`gramming interface (API) of operating System 135. In one
`embodiment, operating system 135 of client computers 205
`is the Macintosh operating system, such that the API
`includes the Apple File Services (AFS), and storage servers
`225 are Support accessing remote data files within Storage
`area virtual 225 via the Apple Filing Protocol (AFP) services
`over TCP/IP.
`FIG. 4 illustrates another embodiment in which operating
`system 135 is the Windows(R operating system from
`Microsoft. Here, operating system 135 displays window 400
`that presents an integrated list of those files and directories
`that are available locally as well as those available from
`Virtual Storage area 225. In this embodiment, operating
`system 135 incorporates the SMB protocol or the WebDAV
`protocol in order to provide SeamleSS access to virtual
`Storage area 225.
`One particular advantage of this embodiment is that
`Software applications 136 executing on computer 100 can
`
`50
`
`55
`
`60
`
`65
`
`6
`access virtual Storage area 225 without modification.
`Because operating System 135 provides Seamless access to
`Virtual Storage area 225 via conventional file management
`routines, Software applications 136 treat Virtual Storage area
`225 as if it were a local Storage Volume. Another advantage
`is that the user can write Scripts for operating System 135,
`such as an OSAX AppleScript for the Macintosh(R) operating
`System, in order to control access to virtual Storage area 225.
`FIG. 5 illustrates an operating system script 500 written in
`AppleScript that automatically copies a file from a local
`directory to a similarly named remote directory located
`within virtual storage area 225.
`According to one aspect of the invention, the user can
`asSociate metadata with each data file as the data file is
`uploaded to remote Storage areas 225 in order to facilitate
`the quick cataloging and quick retrieval of the data file.
`Operating System 135 captures the metadata from the user
`via an input form and communicates the metadata to Storage
`Servers 210.
`Direct Access From a Communication Software Application
`In Some embodiments, the user can invoke conventional
`communication applications and utilities Such as a web
`browser, an FTP utility, a data Storage backup utility, or even
`a conventional email Software application, to acceSS Virtual
`Storage area. During this method of access, the communi
`cation Software application 136 handles all communications
`with storage servers 210. The file management routines of
`operating System 135 are not invoked. In addition, the
`communication Software 136 is responsible for capturing the
`metadata from the user and communicating the metadata to
`Storage Servers 210 for Storage within metadata database
`222.
`FIG. 6 illustrates the user accessing one of the virtual
`Storage areas 225 via a conventional web browser executing
`on client computer 205. The web browser displays window
`600 that lists each directory within virtual storage area 225.
`Storage Servers 210 maintain a set of image icons for
`representing the Stored data file according to file and creator
`type information. Storage Servers 210 Select and display an
`appropriate icon as a finction of the file and creator infor
`mation stored within virtual storage area 225. Window 600,
`therefore, closely resembles windows 300 and 400 as dis
`played by operating System 135. Using the browser, the user
`can browse the directories within virtual storage area 225
`and can perform many common file management operations
`including uploading, downloading and deleting files, as well
`as creating and removing directories.
`FIG. 7 illustrates the user accessing virtual Storage area
`225 using a conventional electronic mail Software applica
`tion 136. Electronic mail software application 136 displays
`window 700 by which the user creates an email message
`having user information 702 and target data file information
`710. The user addresses the email to his or her email address
`at Storage Servers 210. For uploading files, as displayed in
`window 700, the user attaches one or more data files 705.
`Upon receiving the email, Storage Server 210 parses the user
`information 702 and the target data file information 710 in
`order to extract one or more target directories. Thus, user
`information 702 may take the form of a destination elec
`tronic mail address, while target data file information 710
`may take the form of text in the subject field of an electronic
`mail message. Storage server 210 stores attached files 705 to
`the target directory within the appropriate virtual Storage
`area 225 assigned to the user. In this manner, the user is able
`to email one or more files directly into a specified directory
`within Virtual Storage area 225 from any remote location via
`network 215. In an alternative embodiment, the user does
`
`Adobe - Exhibit 1004, page 13
`
`
`
`7
`not attach a data file but includes within the electronic mail
`message a universal resource locator (URL) that indicates
`where storage server 210 can retrieve the data file to be
`stored. In order to retrieve one or more data files from
`Storage Server 210, the user Sends a similar email requesting
`one or more target data files. In response, Storage Server 210
`Sends the user a response electronic mail message with the
`requested data files attached. In one embodiment Storage
`Server 210 temporarily places received data files in a holding
`area until the user access Storage Server and Selectively
`authorizes the Storage of each data file to his or her virtual
`Storage area. Files that were not authenticated within a
`predetermine period of time, Such as ten days, can be deleted
`from the holding area.
`Remote Processing via Centrally Hosted Applications
`The above Sections described how, according to the
`invention, client computers 205 acceSS Virtual Storage area
`225 for remote data Storage. The invention, however, is not
`limited to data Storage. According to one aspect of the
`invention, client computers 205 communicate data files to
`Storage Servers 210 for remote processing by one or more
`applications executing on Storage Servers 210. For example,
`the communicated data files may be electronic imageS Such
`that applications executing on Storage Servers 210 perform
`color correction, color proofing and other prepress opera
`tions. Other examples include data conversion, compression,
`decompression, encryption and decryption. AS Such, a user
`is able to Submit data files for remote processing by Simply
`instructing operating System 135 to copy the data files to a
`designated directory within Virtual Storage area 225. AS
`Such, this operation can be performed by Simply dragging
`and dropping the file onto the appropriate window presented
`by operating system 135.
`Allocation of a Remote Storage Area
`FIG. 8 is a flow chart 800 that p