throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2007/0016621 A1
`(43) Pub. Date:
`Jan. 18, 2007
`HaVeWala et al.
`
`US 20070016621A1
`
`(54) MOVING DATA FROM FILE ON STORAGE
`VOLUME TO ALTERNATE LOCATION TO
`FREE SPACE
`
`(22) Filed:
`
`Jul. 14, 2005
`
`Publication Classification
`
`(75) Inventors: Sarosh Cyrus Havewala, Redmond,
`WA (US); Guhan Suriyanarayanan,
`Redmond, WA (US); Christophe
`Franck Robert, Newcastle, WA (US);
`Shobana Balakrishnan, Redmond, WA
`(US); Dan Teodosiu, Bellevue, WA
`(US); Nikolaj S. Bjorner, Woodinville,
`WA (US)
`Correspondence Address:
`WOODCOCKWASHIBURN LLP
`(MICROSOFT CORPORATION)
`ONE LIBERTY PLACE - 46TH FLOOR
`PHILADELPHIA, PA 19103 (US)
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(21) Appl. No.:
`11/181,440
`
`(51) Int. Cl.
`(2006.01)
`G06F 7/30
`(52) U.S. Cl. .............................................................. 707/200
`
`(57)
`
`ABSTRACT
`
`A computing device has a file stored on a storage Volume by
`a file system and accessed through Such file system. The file
`is defined to include data and metadata relating to the data,
`and at least a portion of the data of the file is removed from
`the file and stored at an alternate location such that the data
`does not occupy Substantially any space on the Volume and
`the file is in a reduced, ghosted form. The ghosted file is
`reconstituted for use by retrieving the data from the alternate
`location and associating Such retrieved data with Such
`ghosted file to form the reconstituted file.
`
`
`
`ALTERNATE LOCATION | HUBSERVER / SINK 18
`DATA2O FROM GHOSTED
`FILE14
`
`AP. 30, ETC.
`
`GHOSTING MANAGER 28
`
`GHOSTING FILTER 26
`
`FILE SYSTEM 16
`
`STORAGE VOLUME 12
`NON-GHOSTEDFILE14
`GHOSTEDFILE14
`- METADATA22
`- METADATA22
`- DATA 20
`- GHOSTING INFO 24
`(DATA20 ATSINK 18
`
`COMPUTING DEVICE 1 BRANCHSERVER / SOURCE 10
`
`Dropbox Exhibit 1005 - Page 1
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 1 of 13
`
`US 2007/0016621 A1
`
`
`
`
`
`55? Sng ISOS
`
`
`
`
`
`
`
`
`
`Áddol
`
`
`
`??T ?AIJCI
`
`Dropbox Exhibit 1005 - Page 2
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 2 of 13
`
`US 2007/0016621 A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ALTERNATE LOCATION | HUBSERVER / SINK 18
`DATA20 FROM GHOSTED
`FILE14
`
`STORAGE VOLUME12
`NON-GHOSTEDFILE14
`GHOSTED FILE 14
`- METADATA22
`- METADATA22
`- DATA 20
`- GHOSTING INFO 24
`(DATA20 ATSINK18)
`
`COMPUTING DEVICE 1 BRANCHSERVER / SOURCE 10
`
`Fig. 2
`
`Dropbox Exhibit 1005 - Page 3
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 3 of 13
`
`US 2007/0016621 A1
`
`
`
`NON-GHOSTED FILE14
`
`- METADATA22
`-- LOGICAL FILE SIZE
`-- SIZE ON VOLUME12
`-- CREATE TIME
`-- MODIFY TIME
`-- ACCESS TIME
`-- ACCESS PERMISSIONS
`-- FILEATTRIBUTES
`
`- DATA 20
`-- PRIMARY DATA20
`-- ALTERNATE DATA2
`
`GHOSTED FILE 14
`
`- METADATA22
`- LOGICAL FILE SIZE SAME)
`-- SIZE ONVOLUME 12 LESS
`-- CREATE TIME
`-- MODIFY TIME
`-- ACCESS TIME
`-- ACCESS PERMISSIONS
`- FILEATTRIBUTES
`--- GHOSTED A TRIBUTE
`- GHOSTING INFO 24
`-- ID
`--- STORAGE
`
`- DATA 20
`- ALTERNATE DATA20
`
`SINK 18
`
`- ID
`- PRIMARY DATA20
`
`FIG. 3A
`
`Dropbox Exhibit 1005 - Page 4
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 4 of 13
`
`US 2007/0016621 A1
`
`
`
`NON-GHOSTED FILE14
`
`- METADATA22
`-- LOGICAL FILE SIZE
`-- SIZE ONVOLUME 12
`-- CREATE TIME
`- MODIFY TIME
`-- ACCESS TIME
`-- ACCESS PERMISSIONS
`- FILEATTRIBUTES
`
`- DATA 20
`- PRIMARY DATA20
`- ALTERNATE DATA 20
`
`GHOSTEDFILE14
`
`- METADATA22
`-- LOGICAL FILE SIZE SAME)
`-- SIZE ON VOLUME 12 (LESS)
`-- CREATE TIME
`-- MODIFY TIME
`-- ACCESS TIME
`-- ACCESS PERMISSIONS
`-- FILEATTRIBUTES
`--- GHOSTED ATTRIBUTE
`- GHOSTING INFO 24
`--- D
`--- STORAGE
`
`- DATA 20
`- ALTERNATE DATA20
`
`SINK 18
`
`- ID
`- NON-GHOSTED FILE14
`
`FIG. 3B
`
`Dropbox Exhibit 1005 - Page 5
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 5 of 13
`
`US 2007/0016621 A1
`
`IDENTIFY FILE 14 - 401
`
`IDENTIFY DATA20 TO BE REMOVED FROM FILE 14 - 403
`
`MOVE DENTIFIED DATA20 FROM SOURCE 10 TO SINK 18 - 405
`
`STORE MOVED DATA2O AT SINK 18 - 407
`
`MARKALLOCATED SPACE FOR MOVED DATA 20 AS FREE-409
`
`SET GHOSTED ATTRIBUTE IN METADATA 22 FOR FILE 14 - 411
`
`ADD GHOSTING INFO 24 TO METADATA 22 FOR FILE 14 - 413
`
`FIG. 4
`
`Dropbox Exhibit 1005 - Page 6
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 6 of 13
`
`US 2007/0016621 A1
`
`RECEIVE REGUEST TO ACCESS DATA20 OF GHOSTED FILE 14 - 501
`
`LOCATE FILE 14 ON VOLUME 12 - 503
`
`IDENTIFY GHOSTING INFO 24 N METADATA FOR FILE 14 - 505
`
`LOCATE DATA20 OF FILE 14 AS STOREDAT SINK 18 BASED ON
`IDENTIFIED GHOSTING INFO 24 - 507
`
`ALLOCATE SPACE TO BE OCCUPIED BY DATA20 ON VOLUME 12
`- 509
`
`MOVE LOCATED DATA 20 FROM SINK 18 TO SOURCE 10 - 511
`
`RESET GHOSTED ATTRIBUTE IN METADATA 22 FOR FILE 14 - 513
`
`REMOVE GHOSTING INFO FROM METADATA 22 FOR FILE 14 - 515
`
`F.G. 5
`
`Dropbox Exhibit 1005 - Page 7
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 7 of 13
`
`US 2007/0016621 A1
`
`FILE SYSTEM 16 - RECEIVE OPEN COMMAND FOR GHOSTED FILE
`14 FROMAP 30 - 601
`
`RETURNERROR - 603
`
`GHOSTING FILTER 26 - INTERCEPT RETURNED ERROR - 605
`
`RETRIEVE GHOSTING INFORMATION 24 FOR GHOSTED FILE 1.4 VIA
`FILE SYSTEM 16 - 607
`
`DELIVER HANDLE FOR GHOSTED FILE 14 TO AP 30 - 609
`
`RECEIVE READ COMMAND FOR GHOSTED FILE 14 FROMAP 30
`611
`
`STORE READ COMMAND IN OUEUE - 613
`
`
`
`INITIATE RECONSTITUTING OF GHOSTED FILE 14 - 615
`
`GHOSTING FILTER 26 - ISSUE REGUEST TO GHOSTING
`MANAGER 28 TO OBTAIN PORTION OF DATA20 - 615A
`
`GHOSTING MANAGER 28 - OBTAIN RECQUESTED PORTION OF
`DATA20 FROM SINK 18 - 615B
`
`DELIVER TO GHOSTING FILTER 26 - 615C
`
`GHOSTING FILTER 26 - WRITE RECRUESTED PORTION TO
`FILE 1.4 VIAFILE SYSTEM 16 - 615D
`
`GHOSTING FILTER 26 - FIX METADATA 22 OF NOW
`RECONSTITUTED FILE 14 - 617
`
`RETRIEVES READ COMMANDS FOR FILE 14 FROM CRUEUE AND
`PASS TO FILE SYSTEM 16 - 619
`
`FIG. 6
`
`Dropbox Exhibit 1005 - Page 8
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 8 of 13
`
`US 2007/0016621 A1
`
`AP 30 - OPEN GHOSTED FILE 14 - 701
`
`GHOSTING FILTER 26 - CREATE BUFFER, HANDLE - 703
`
`OBTAIN GHOSTING INFO 24 FROM GHOSTED FILE 14, STORE IN
`BUFFER - 705
`
`AP 30 - READ COMMAND WI HANDLE, OFFSET, LENGTH-707
`
`GHOSTING FILTER 26 - DET FROM BUFFER WHETHER PORTION
`ALREADY PRESENT IN GHOSTED FILE 14 - 709
`
`ALL PRESENT - DO
`NOTHING - 711A
`
`
`
`PARTLY PRESENT -
`OBTAIN REM. FROM
`SNK 18 - 711B
`
`
`
`NOT PRESENT -
`OBTAINALL FROM
`SINK 18 - 711C
`
`
`
`
`
`UPDATE GHOSTING INFO 24 IN THE BUFFER
`TO REFLECT - 713
`
`AP 30 - READ REGUESTED PORTION- 715
`
`GHOSTING FILTER 26 - PERIODICALLY WRITE GHOSTING INFO 24
`FROM BUFFER TO GHOSTED FILE 14 - 717
`
`AP 3O - CLOSE GHOSTED FILE 14 - 719
`
`GHOSTING FILTER 26 - CLOSE OUT GHOSTING INFO 14 NBUFFER
`TO GHOSTED FILE 14 - 721
`
`FIG. 7
`
`Dropbox Exhibit 1005 - Page 9
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 9 of 13
`
`US 2007/0016621 A1
`
`DATA20 IN GHOSTED FLE 14
`
`
`
`
`
`
`
`
`
`DATA 20
`PRESENT
`
`DATA 20
`DATA 20
`PENDING | NOT PRESENT
`
`
`
`
`
`DATA20 IN REGUESTED RANGE
`
`FIRST
`SEGMENT
`
`SECOND
`SEGMENT
`
`THIRD
`SEGMENT
`
`FIG. 8
`
`Dropbox Exhibit 1005 - Page 10
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 10 of 13
`
`US 2007/0016621 A1
`
`RECEIVE READ COMMAND FROMAP 30 WRANGE OF DATA 30 - 901
`
`IDENTIFY INRANGE FIRST
`SEGMENTS ALREADY
`PRESENT - 903
`
`
`
`FIRST SEGMENTS >= RANGE -
`COMPLETE READ COMMAND -
`905
`
`FIRST SEGMENTS < ALL OF RANGE - COMPUTE FIRST SET =
`RANGE NOT FIRST SEGMENT - 907
`
`IDENTIFY IN FIRST SET
`SECOND SEGMENTS
`PENDING - 909
`
`
`
`SECOND SEGMENTS >=
`FIRST SET - 911
`
`
`
`SECOND SEGMENTS < FIRST SET - COMPUTE THIRD SEGMENTS
`= RANGE NOT FIRST OR SECOND SEGMENT - 913
`
`REOUEST THIRD SEGMENTS COPIED FROM SINK 18 - 915
`
`COPYING COMPLETE - 917
`
`
`
`RANGE READ BY AP 30 - 919
`
`FIG.9
`
`Dropbox Exhibit 1005 - Page 11
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 11 of 13
`
`US 2007/0016621 A1
`
`RECEIVE TRIGGER FOR RE-GHOSTING ALGORITHM - 1001
`
`SELECTS FILES 14 FOR RE-GHOSTING - 1003
`
`
`
`RE-GHOST SELECTED FILES
`14 - 1005
`
`DESIGNATE SELECTED FILES
`14 AS CANDIDATE FILES 14
`FOR RE-GHOSTING - 1 OO7
`
`
`
`
`
`
`
`SELECT GROUP OF
`CANDDATE FILES 14 - 1009
`
`STOP TRIGGER NOT
`ACTIVATED - CONTINUE - 1015
`
`RE-GHOST SELECTED GROUP
`- 1011
`
`STOP TRIGGER ACTIVATED -
`END - 1013
`
`FIG. 10
`
`Dropbox Exhibit 1005 - Page 12
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 12 of 13
`
`US 2007/0016621 A1
`
`
`
`SINK 18
`DATA20 FROM GHOSTED
`FILE14
`
`SINK 18
`DATA20 FROM GHOSTED
`FILE14
`
`GHOSTING MANAGER 28
`- ID'A' N,
`
`GHOSTING MANAGER 28
`- D 'B' ------------- '',
`
`GHOSTING FILTER 26
`
`FILE SYSTEM 16
`
`STORAGE VOLUME 12
`GHOSTED FILE14
`GHOSTED FILE14
`- METADATA22
`- METADATA22
`- GHOSTING INFO 24
`-- GHOSTING INFO 24
`- ID'A'.
`-- ID 'B'-...............--"
`
`:
`
`SOURCE 10
`
`Fig.11
`
`Dropbox Exhibit 1005 - Page 13
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`Patent Application Publication Jan. 18, 2007 Sheet 13 of 13
`
`US 2007/0016621 A1
`
`RECEIVE GHOSTING REOUEST W/ ID OF REGUESTING GHOSTING
`MANAGER 28, IDENT OF FILE 14 - 1201
`
`
`
`REMOVE DATA20 FROM FILE 14 - 12O3
`
`FORWARD REMOVED DATA20 TO REOUESTING GHOSTING
`MANAGER 28 BY WAY OF ID THEREOF - 1205
`
`ADD GHOSTING INFO 24 W/ ID OF GHOSTING MANAGER 28 TO
`METADATA22 OF GHOSTED FILE 14-1207
`
`RECEIVE REGUEST FOR ACCESS TO DATA20 OF GHOSTED FILE 14
`- 1209
`
`LOCATE GHOSTING INFO 24 IN METADATA 22 OF FILE 14-1211
`
`LOCATED OF GHOSTING MANAGER 28 W/IN GHOSTING INFO 24
`- 1213
`
`REGUEST D'D GHOSTING MANAGER 28 OBTANDATA20 FROM
`CORR. SINK 18 - 1215
`
`RECEIVE DATA20 FROM ID'D GHOSTING MANAGER 28 - 1217
`
`RECONSTITUTE DATA20 TO FILE 14 - 1219
`
`FIG. 12
`
`Dropbox Exhibit 1005 - Page 14
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`US 2007/0016621 A1
`
`Jan. 18, 2007
`
`MOVING DATA FROM FILE ON STORAGE
`VOLUME TO ALTERNATE LOCATION TO FREE
`SPACE
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`0001. The present application shares a common disclo
`sure with:
`(Attorney
`0002 U.S. patent application Ser. No.
`Docket No. Msift-5019/313836.1) and entitled “MOVING
`DATA FROM FILE ON STORAGE VOLUME TO ALTER
`NATE LOCATION TO FREE SPACE,
`(Attorney
`0003 U.S. patent application Ser. No.
`Docket No. Msift-5020/313837.1) and entitled “MOVING
`DATA FROM FILE ON STORAGE VOLUME TO ALTER
`NATE LOCATION TO FREE SPACE,
`(Attorney
`0004 U.S. patent application Ser. No.
`Docket No. Msift-5021/313838.1) and entitled “MOVING
`DATA FROM FILE ON STORAGE VOLUME TO ALTER
`NATE LOCATION TO FREE SPACE,
`(Attorney
`0005 U.S. patent application Ser. No.
`Docket No. Msift-5022/313839.1) and entitled “MOVING
`DATA FROM FILE ON STORAGE VOLUME TO ALTER
`NATE LOCATION TO FREE SPACE, and
`(Attorney
`0006 U.S. patent application Ser. No.
`Docket No. Msft-5053/313951.1) and entitled “MOVING
`DATA FROM FILE ON STORAGE VOLUME TO ALTER
`NATE LOCATION TO FREE SPACE,
`0007 all of which are filed concurrently with the present
`application, and all of which are hereby incorporated by
`reference in their entirety.
`
`TECHNICAL FIELD
`0008. The present invention relates to an architecture and
`methods that allow data from a computer file stored on a
`storage Volume to be moved or 'ghosted to an alternate
`location to free space on the storage Volume. More particu
`larly, the present invention relates to Such an architecture
`and methods whereby the remainder of the ghosted file stays
`on the storage Volume and the ghosted data at the alternate
`location can if necessary be retrieved and placed back into
`the ghosted file to result in a de-ghosted file.
`
`BACKGROUND OF THE INVENTION
`0009. In a computing device such as a personal computer,
`a computer server, or the like, and as is known, data is
`typically persistently stored on the computing device in the
`form of local computer files resident on one or more local
`storage Volumes of the computing device. Each Such storage
`Volume may reside on a hard drive of the computing device
`or the like, and Such storage Volume may be organized by,
`accessed through, and otherwise controlled by a file system
`running on the computing device, as is also known.
`0010. At times, it can be the case that some, many, and
`perhaps even most of the computer files on the storage
`volume are not of interest and can be considered to have
`become cold. That is to say, such cold files have not been
`accessed for some extended length of time and/or likely will
`
`not be accessed for Some extended length of time, for
`example, and therefore have little if any real value in
`remaining on the Volume.
`0011. Of course, such cold files could simply be deleted
`from the storage Volume, especially if there is a need for
`space on Such volume. However, it is to be appreciated that
`most users are loathe to delete files simply to create space.
`In addition, it is considered bad practice to delete a cold file
`merely because of perceived disuse. At any rate, it can and
`likely will be the case that a cold file though not considered
`needed and not foreseen as needed may nevertheless become
`needed at Some future point.
`0012. In such a situation, then, it would be useful to be
`able to create space on the Volume by moving data from Such
`cold files to an alternate location, while still allowing such
`cold files to maintain a presence on the Volume. That is, it
`would be useful to be able to ghost a cold file by moving
`data from such cold files to the alternate location or to copy
`the entire file to the alternate location, while leaving the cold
`file in a smaller, ghosted form on the volume. Thus, if in
`fact the ghosted file is needed on the computing device, the
`data for such ghosted file may be retrieved from the alternate
`location, the ghosted file may be reconstituted based on
`thereon, and Such reconstituted file may then be employed.
`0013 In another scenario, it can be the case that data files
`of an organization or the like are to be replicated at multiple
`branch locations of the organization, perhaps from a central
`location such as a hub. For example, an architectural design
`firm may wish to have all architectural design files thereof
`available at any one of several branches of such firm.
`0014. In such a situation, a networked system can be
`constructed to replicate a copy of each file to each branch,
`and to keep all files at all branches current. In Such a system,
`for example, a centralized hub server would store each such
`file, and a replication service would be employed to distrib
`ute a copy of each file at the hub over a network to a branch
`server or the like at each branch. However, it is to be
`appreciated that as the number of files of the organization
`increases, and as the size of each file increases, and as the
`number of branches increases, the amount of traffic over the
`network also increases, perhaps to a point that exceeds
`available bandwidth. Moreover, as the overall size of all the
`files at the hub server increases, it may in fact become the
`case that each branch server does not have enough space
`available thereon to store all of such files as replicated from
`the hub server.
`0015 Similar to the previous scenario, though, it can be
`the case that some, many, and perhaps even most of the
`computer files on the branch server of a particular branch are
`not of interest and can be considered to be superfluous. Such
`Superfluous files may for example relate to matters that are
`not relevant to the particular branch, likely will not be
`accessed through the particular branch, and therefore have
`little if any real value in being replicated on the branch
`server for the particular branch. For example, a branch office
`of an architectural design firm in Wilkes-Barre, Pa.. likely
`has very little if any need to have architectural design files
`relating to a project handled by a branch office of the firm in
`Boynton Beach, Fla.
`0016.
`In such a situation, then, and similar to previous
`scenario, it would be useful to be able to wholly store on a
`
`Dropbox Exhibit 1005 - Page 15
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`US 2007/0016621 A1
`
`Jan. 18, 2007
`
`branch server of a particular branch only those files relevant
`to the particular branch, while only partially storing on Such
`branch server of such particular branch all other non
`relevant files as available from the hub server for the
`organization. Thus, in a manner akin to that of the previous
`scenario, it would be useful to be able to ghost the
`non-relevant files at the branch server of the particular
`branch, Such that each non-relevant file remains on the
`branch server in a smaller, ghosted form. Thus, and again,
`if in fact the ghosted file is needed at the branch server, the
`data for such ghosted file may be retrieved from the hub
`server, the ghosted file may be reconstituted based on
`thereon, and Such reconstituted file may then be employed.
`0017 Accordingly, a need exists for a method and
`mechanism by which a file at a source Such as a local Volume
`or a branch server may be replicated or ghosted such that the
`data thereof is stored at a sink such as an alternate location
`or a hub server, and the file at the source is thus in a reduced
`or ghosted form that can be reconstituted if need be. In
`particular, a need exists for Such a method and mechanism
`by which such a ghosted file may be formed and reconsti
`tuted, as necessary.
`
`SUMMARY OF THE INVENTION
`0018. The aforementioned needs are satisfied at least in
`part by the present invention in which a computing device
`has a storage Volume, a file system managing the storage
`volume, and a file stored on the storage volume by the file
`system and accessed through Such file system. The file is
`defined to include data and metadata relating to the data, and
`at least a portion of the data of the file is removed from the
`file and stored at an alternate location Such that the data does
`not occupy Substantially any space on the Volume and the
`file is in a reduced, ghosted form. The ghosted file is
`reconstituted for use by retrieving the data from the alternate
`location and associating Such retrieved data with Such
`ghosted file to form the reconstituted file.
`0019. To ghost the file, the file is identified, at least a
`portion of the data to be removed from the file is identified,
`and the identified data is moved from the file to the alternate
`location for being stored thereat such that the file is in a
`reduced, ghosted form. Space on the volume formerly
`occupied by the moved data is thus marked as being free. In
`addition, the metadata of the now-ghosted file is amended to
`include ghosting information including information that
`may be employed to retrieve the moved data for the file from
`the alternate location.
`0020. The ghosted file is reconstituted upon receiving a
`request to access the moved data of the ghosted file. In
`response, the ghosted file is located on the Volume, the
`ghosting information is identified in the metadata of the file,
`and the moved data of the file at the alternate location is
`located based on the identified ghosting information. There
`after, the located data is moved from the alternate location
`to the computing device, and the moved data is associated
`with such ghosted file to form the reconstituted file.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0021. The foregoing summary, as well as the following
`detailed description of the embodiments of the present
`invention, will be better understood when read in conjunc
`tion with the appended drawings. For the purpose of illus
`
`trating the invention, there are shown in the drawings
`embodiments which are presently preferred. As should be
`understood, however, the invention is not limited to the
`precise arrangements and instrumentalities shown. In the
`drawings:
`0022 FIG. 1 is a block diagram representing a general
`purpose computer system in which aspects of the present
`invention and/or portions thereof may be incorporated;
`0023 FIG. 2 is a block diagram showing a file ghosted at
`a source Such that the data thereof is stored at a sink in
`accordance with embodiments of the present invention;
`0024 FIGS. 3A and 3B are block diagrams showing the
`file and data of FIG. 2, whereby only the data is stored at the
`sink (FIG. 3A) and whereby the entire file is stored at the
`sink (FIG. 3B) in accordance with embodiments of the
`present invention;
`0025 FIG. 4 is a flow diagram showing key steps per
`formed in ghosting a file to the sink of FIG. 2 in accordance
`with one embodiment of the present invention;
`0026 FIG. 5 is a flow diagram showing key steps per
`formed in reconstituting the ghosted file from the sink of
`FIG. 2 in accordance with one embodiment of the present
`invention;
`0027 FIG. 6 is a flow diagram showing in more detail
`key steps performed in reconstituting the ghosted file from
`the sink of FIG. 2 in accordance with one embodiment of the
`present invention;
`0028 FIG. 7 is a flow diagram showing key steps per
`formed in partially reconstituting the ghosted file from the
`sink of FIG. 2 in accordance with one embodiment of the
`present invention;
`0029 FIG. 8 is a block diagram showing various statuses
`for the data of the file of FIG. 2 in accordance with one
`embodiments of the present invention;
`0030 FIG. 9 is a flow diagram showing key steps per
`formed in efficiently reconstituting at least a portion of the
`ghosted file from the sink of FIG. 2 based on the status of
`the segments of the data of the portion as set forth in FIG.
`8 in accordance with one embodiment of the present inven
`tion;
`FIG. 10 is a flow diagram showing key steps
`0031
`performed when re-ghosting files to the sink of FIG. 2 in
`accordance with one embodiment of the present invention;
`0032 FIG. 11 is a block diagram showing the source of
`FIG. 2 associated with a plurality of sinks, whereby the
`Source has a single generic ghosting filter and a ghosting
`manager corresponding to each sink, in accordance with one
`embodiment of the present invention; and
`0033 FIG. 12 is a flow diagram showing key steps
`performed by the ghosting filter of FIG. 11 in ghosting and
`reconstituting a file at the Source in accordance with one
`embodiment of the present invention.
`
`Dropbox Exhibit 1005 - Page 16
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`US 2007/0016621 A1
`
`Jan. 18, 2007
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`Computer Environment
`0034 FIG. 1 and the following discussion are intended to
`provide a brief general description of a Suitable computing
`environment in which the present invention and/or portions
`thereof may be implemented. Although not required, the
`invention is described in the general context of computer
`executable instructions, such as program modules, being
`executed by a computer, such as a client workstation or a
`server. Generally, program modules include routines, pro
`grams, objects, components, data structures and the like that
`perform particular tasks or implement particular abstract
`data types. Moreover, it should be appreciated that the
`invention and/or portions thereof may be practiced with
`other computer system configurations, including hand-held
`devices, multi-processor Systems, microprocessor-based or
`programmable consumer electronics, network PCs, mini
`computers, mainframe computers and the like. The inven
`tion may also be practiced in distributed computing envi
`ronments where tasks are performed by remote processing
`devices that are linked through a communications network.
`In a distributed computing environment, program modules
`may be located in both local and remote memory storage
`devices.
`0035. As shown in FIG. 1, an exemplary general purpose
`computing system includes a conventional personal com
`puter 120 or the like, including a processing unit 121, a
`system memory 122, and a system bus 123 that couples
`various system components including the system memory to
`the processing unit 121. The system bus 123 may be any of
`several types of bus structures including a memory bus or
`memory controller, a peripheral bus, and a local bus using
`any of a variety of bus architectures. The system memory
`includes read-only memory (ROM) 124 and random access
`memory (RAM) 125. A basic input/output system 126
`(BIOS), containing the basic routines that help to transfer
`information between elements within the personal computer
`120, such as during start-up, is stored in ROM 124.
`0036) The personal computer 120 may further include a
`hard disk drive 127 for reading from and writing to a hard
`disk (not shown), a magnetic disk drive 128 for reading from
`or writing to a removable magnetic disk 129, and an optical
`disk drive 130 for reading from or writing to a removable
`optical disk 131 such as a CD-ROM or other optical media.
`The hard disk drive 127, magnetic disk drive 128, and
`optical disk drive 130 are connected to the system bus 123
`by a hard disk drive interface 132, a magnetic disk drive
`interface 133, and an optical drive interface 134, respec
`tively. The drives and their associated computer-readable
`media provide non-volatile storage of computer readable
`instructions, data structures, program modules and other
`data for the personal computer 120.
`0037 Although the exemplary environment described
`herein employs a hard disk, a removable magnetic disk 129,
`and a removable optical disk 131, it should be appreciated
`that other types of computer readable media which can store
`data that is accessible by a computer may also be used in the
`exemplary operating environment. Such other types of
`media include a magnetic cassette, a flash memory card, a
`digital video disk, a Bernoulli cartridge, a random access
`memory (RAM), a read-only memory (ROM), and the like.
`
`0038 A number of program modules may be stored on
`the hard disk, magnetic disk 129, optical disk 131, ROM 124
`or RAM 125, including an operating system 135, one or
`more application programs 136, other program modules 137
`and program data 138. A user may enter commands and
`information into the personal computer 120 through input
`devices such as a keyboard 140 and pointing device 142.
`Other input devices (not shown) may include a microphone,
`joystick, game pad, satellite disk, Scanner, or the like. These
`and other input devices are often connected to the processing
`unit 121 through a serial port interface 146 that is coupled
`to the system bus, but may be connected by other interfaces,
`Such as a parallel port, game port, or universal serial bus
`(USB). A monitor 147 or other type of display device is also
`connected to the system bus 123 via an interface. Such as a
`video adapter 148. In addition to the monitor 147, a personal
`computer typically includes other peripheral output devices
`(not shown), Such as speakers and printers. The exemplary
`system of FIG. 1 also includes a host adapter 155, a Small
`Computer System Interface (SCSI) bus 156, and an external
`storage device 162 connected to the SCSI bus 156.
`0039 The personal computer 120 may operate in a net
`worked environment using logical connections to one or
`more remote computers, such as a remote computer 149. The
`remote computer 149 may be another personal computer, a
`server, a router, a network PC, a peer device or other
`common network node, and typically includes many or all of
`the elements described above relative to the personal com
`puter 120, although only a memory storage device 150 has
`been illustrated in FIG. 1. The logical connections depicted
`in FIG. 1 include a local area network (LAN) 151 and a wide
`area network (WAN) 152. Such networking environments
`are commonplace in offices, enterprise-wide computer net
`works, intranets, and the Internet.
`0040. When used in a LAN networking environment, the
`personal computer 120 is connected to the LAN 151 through
`a network interface or adapter 153. When used in a WAN
`networking environment, the personal computer 120 typi
`cally includes a modem 154 or other means for establishing
`communications over the wide area network 152, such as the
`Internet. The modem 154, which may be internal or external,
`is connected to the system bus 123 via the serial port
`interface 146. In a networked environment, program mod
`ules depicted relative to the personal computer 120, or
`portions thereof, may be stored in the remote memory
`storage device. It will be appreciated that the network
`connections shown are exemplary and other means of estab
`lishing a communications link between the computers may
`be used.
`Ghosting and Reconstituting a File
`0041. In the present invention, and turning now to FIG. 2,
`a computing device 10 Such as a personal computer or a
`computer server or the like has a storage Volume 12 Such as
`a hard drive or a persistent RAM drive or the like, the
`volume 12 has stored thereon a number of computer files 14,
`and the files 14 on the Volume 12 are organized by, accessed
`through, and otherwise controlled by a file system 16
`running on the computing device 10. As may be appreciated,
`the computing device 10, volume 12, files 14, and file
`system 16 may be any type of computing device, Volume,
`file, and file system without departing from the spirit and
`Scope of the present invention.
`
`Dropbox Exhibit 1005 - Page 17
`Dropbox, Inc. v. Entangled Media, LLC
`IPR2024-00285 - U.S. Patent No. 8,484,260
`
`

`

`US 2007/0016621 A1
`
`Jan. 18, 2007
`
`0042. In one embodiment of the present invention, the
`computing device 10 is a personal computer or the like and
`at least some of the files 14 on the volume 12 thereof have
`been determined to be cold in that such files 14 for example
`have not been accessed for Some extended length of time
`and/or likely will not be accessed for some extended length
`of time, and therefore have little if any real value in
`remaining on the Volume 12. Note, though, that coldness of
`a file 14 may be defined in any appropriate manner without
`departing from the spirit and scope of the present invention.
`0043. At any rate, upon being determined to be cold, a file
`14 is not deleted from the volume 12 but instead is reduced
`in size on the volume 12 by removing at least some data 20
`thereof to an alternate location 18. Such alternate location 18
`may be local to the computing device or may be remote
`therefrom. In general. Such alternate location 18 is appro
`priately coupled to the computing device 10 and may be any
`appropriate storage location without departing from the
`spirit and scope of the present invention. For example, the
`alternate location 18 may be another volume 12 on the
`storage device 10, another Volume 12 on another computing
`device 10, a file warehouse at a server, a long-term storage
`device at a remote server, or the like.
`0044) With the alternate location 18, then, space on the
`volume 12 may be freed by moving the aforementioned data
`20 from such cold files 14 to such alternate location 18.
`Significantly, although the data 20 from such a cold file 14
`has been moved. Such cold file 14 remains as a presence or
`ghost on the volume 12, albeit in a reduced or ghosted
`form. Thus, if in fact the ghosted file 14 is needed on the
`computing device 10, such ghosted file 14 is reconstituted by
`retrieving the data 20 thereof from the alternate location 18
`and re-associating Such retrieved data 20 with Such ghosted
`file 14 to form the reconstituted file 14. As may be appre
`ciated, then, once reconstituted, the file 14 may then in fact
`be employed.
`0045. In another embodiment of the present invention,
`the computing device 10 is a branch server or the like and
`at least some of the files 14 on the vo

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket