`
`a2) United States Patent
`US 10,642,787 B1
`do) Patent No.:
`Manzano
`*May5, 2020
`(45) Date of Patent:
`
`(54) PRE-FILE-TRANSFER UPDATE BASED ON
`PRIORITIZED METADATA
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`(71) Applicant: TOPLA TECHNOLOGY, INC.,
`Tacoma, WA (US)
`
`(72)
`
`Inventor: Michael R. Manzano, Scattle, WA
`(US)
`
`(73) Assignee: TOPLA TECHNOLOGY,INC..,
`Tacoma, WA (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21) Appl. No.: 16/750,399
`
`(22)
`
`Filed:
`
`Jan. 23, 2020
`
`Related U.S. Application Data
`
`(63) Continuation of application No. 16/361,641, filed on
`Mar. 22, 2019, which is a continuation of application
`(Continued)
`
`(51)
`
`Int. Cl.
`GO6F 16/00
`GO6F 16/11
`
`(2019.01)
`(2019.01)
`(Continued)
`
`(52) U.S. Cl.
`CPC we G06F 16/122 (2019.01): G06F 15/16
`(2013.01); GO6F 16/00 (2019.01); GO6F
`16/128 (2019.01);
`
`(Continued)
`(58) Field of Classification Search
`CPC ...... GO6F 16/178; GO6F 16/27; GO6F 16/128;
`GO6F 16/182; GO6F 16/1844;
`(Continued)
`
`5,600,834 A
`5,806,078 A
`
`2/1997 Howard
`9/1998 Hug
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`WO
`WO
`
`1130 S11 A2
`WO 98/56149 Al
`WO 2007/047302 A2
`
`9/2001
`12/1998
`4/2007
`
`
`
`OTHER PUBLICATIONS
`
`FoldcrShare—Sccure Remote Access VPN Solution; Document
`Management & Real-time Tile Mirroring Solution; < https://web.
`archive.org/web/20040804020435/http://www.foldershare.com:
`80/>; Aug. 4, 2004.
`
`(Continued)
`
`Primary Examiner — Srirama Channavajjala
`(74) Attorney, Agent, or Firm — Pillsbury Winthrop Shaw
`Pittman LLP
`
`ABSTRACT
`(57)
`In some embodiments, responsive to a user modifying a
`contentofthefile at a first client device (associated with the
`user), a server system may automatically receive a copy of
`the file fromthefirst client device. where the file copy may
`be an updated version ofthe file that is generated from the
`user modifying the content of the file. After receiving
`metadata associated with the updated version of the file from
`the first client device, the server system may automatically
`transfer the metadata to a second client device associated
`with the user such that, before the file copy is transferred to
`the second client device, the transfer of the metadata to the
`second client device causes a file representation ofthe file
`presented on a user interface of the second client device to
`be updated based on the metadata.
`
`17 Claims, 3 Drawing Sheets
`
`STORAGE
`270,
`
`DATABASE,
`SERVER
`COMPUTER SYSTEM
`
`240
`230
`260
`
`
`
`
`
`
`
`
`
`UL
`¢ NETWORK sS
`Ne etwa
`
`
`
`
`
`DISPLAY
`
`290
`
`
`
`USER DEVICE
`280
`
`|
`
`a
`
`[User DEVICE
`t
`|
`210
`
`| 250Ld
`
`DISPLAY
`
`
`
`370
`
`
`
`USER DEVICE
`a1
`
`370
`
`
`4
`
`
`
`
` a 3
`
`370
`
`378
`
`
`STORAGE
`219
`
`
`
`
`370
`
`\fe
`
`362
`
`345
`oo’
`
`>
`
`320
`
`USER DEVICE
`280
`
`
`
`Box & Dropbox Exhibit 1004
`Page 1
`
`Box & Dropbox Exhibit 1004
`Page 1
`
`
`
`US 10,642,787 B1
`Page 2
`
`Related U.S. Application Data
`No. 16/017,348, filed on Jun. 25, 2018, now Pat. No.
`10,289,607, which is a continuation of application
`No. 14/860,289, filed on Sep. 21, 2015, now Pat. No.
`10,067,942, which is a continuation of application
`No. 12/267,852,filed on Nov. 10, 2008, now Pat. No.
`9,143,561.
`
`Provisional application No. 60/986,896,filed on Nov.
`9, 2007.
`
`(2006.01)
`(2019.01)
`(2019.01)
`(2006.01)
`(2019.01)
`(2019.01)
`
`Int. Cl.
`HOAL 29/08
`GO6F 16/178
`GO6F 16/176
`GO6F 15/16
`GO6F 16/14
`GO6F 16/13
`US. CL.
`CPC wee G06F 16/13 (2019.01): GO6F 16/14
`(2019.01); GO6F 16/176 (2019.01); G06F
`16/178 (2019.01); HO4E 67/1095 (2013.01)
`Field of Classification Search
`CPC .... GO6F 16/176; GO6F 16/10; GO6F 16/1873;
`GO6F 16/13; GO6F 16/152; GO6F 16/164
`See application file for complete search history.
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`(60)
`
`(61)
`
`(52)
`
`(58)
`
`(56)
`
`
`
`6/1999 Park
`2/2000 Anglin
`7/2000 Van Huben
`11/2000 Mohan etal.
`7/2001 Anglin
`9/2002 Hammacketal.
`10/2002 Godfreyet al.
`1/2003 Kawamuraetal.
`1/2003 Imset al.
`8/2003 Feigenbaum
`8/2003 Raff ct al.
`12/2003 Creemeret al.
`3/2004 Mendezetal.
`6/2004 Multer et al.
`7/2004 Chan
`10/2004 Larueetal.
`11/2004. McManus
`12/2004 Beyda
`3/2005 Abram etal.
`8/2005 Deshpandeei al.
`1/2006 Wu
`4/2006 Huanget al.
`4/2006 Brownet al.
`5/2006 Tackman
`5/2006 Blochet al.
`6/2006 Goldick
`6/2006 Baraban et al.
`8/2006 Zintel et al.
`11/2006 Carter etal.
`12/2006 Breuer
`12/2006 Lunsford et al.
`1/2007 Kupkova
`5/2007 Tsutazawaetal.
`7/2007 Friend et al.
`8/2007 Stefanik et al.
`8/2007 Provost
`9/2007 Vargas et al.
`10/2007 Pecket al.
`1/2008 Wang
`3/2008 Cameron etal.
`7/2008 Lee
`8/2008 [longetal.
`
`
`
`5,909,581 A
`6,026,414 A
`6,088,693 A
`6,154,817 A
`6,260,069 B
`6,449,624 B
`6,463,463 B
`6,504,994 B?
`6,505,200 B
`6,606,646 B2
`6,611,849 B
`6,671,700 B
`6,708,221 B
`6,757,696 B2
`6,760,759 B
`6,810,405 B
`6,826,626 B
`6,829,622 B2
`6,874,037 B
`6,931,454 B2
`6,990,522 B2
`7,024,428 B
`7,035,847 B2
`7,051,364 B
`7,054,594 B2
`7,058,667 B2
`7,065,658 B
`7,089,307 B2
`7,136,934 B2
`7,149,760 B
`7,155,488 B
`7,162,501 B2
`7,224,973 B2
`7,243,163 B
`7,260,646 B
`7,263,493 B
`7,269,433 B2
`7,290,244 B2
`7,325,038 B
`7,340,534 B2
`7,398,327 B2
`7,415,588 B2
`
`
`
`B2
`B2
`B2
`B2
`B2
`Bl *
`B2
`B2
`Bl
`B2
`B2
`B2
`Bl
`B2
`B1*
`
`B2
`B2
`B2
`Bl
`Bl
`Bl
`B2
`Bl
`B2
`B2
`Bl
`B2
`B2
`Bi *
`
`B2
`B2*
`
`B2 *
`B2 *
`B2 *
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al*
`
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al
`Al*
`
`7,A15,615
`757,631
`7 AGT 353
`7,483,925
`7,526,575
`7,529,778
`7,574,711
`7,584,186
`7,587,446
`7,613,773
`7,639,116
`7,657,271
`7,680,838
`7,680,885
`7,707,165
`
`7,752,166
`7,761,414
`7,788,303
`7,885,925
`7,895,334
`7,987,420
`8,009,966
`8,019,900
`8,112,549
`8,244,288
`8,321,534
`8,370,423
`8,386,558
`8,504,519
`
`8,565,729
`8,874,534
`
`9,143,561
`10,067,942
`10,289,607
`2002/0026478
`2002/0035697
`2002/0087588
`2002/0194382
`2003/00285 14
`2003/0028542
`2003/0038842
`2003/0078946
`2003/0115547
`2003/0125057
`2003/0135565
`2004/0031027
`
`2004/0049345
`2004/0093361
`2004/0107225
`2004/0133629
`2004/0158817
`2004/0172424
`2005/0091316
`2005/0097225
`2005/02 10371
`2005/0220080
`2005/0223047
`2006/00 10150
`2006/0058907
`2006/0074985
`2006/0101064
`2006/0129627
`2006/0143 129
`2006/0168118
`2006/0189348
`2007/00 14314
`2007/00 16629
`2007/0027936
`2007/0100913
`2007/0180084
`
`2007/0191057
`2007/0238440
`2008/0005114
`2008/0005 195
`
`Al
`Al
`Al
`Al
`
`8/2
`11/2
`(2/2
`1/2
`4/2
`$/2'
`8/2
`9/2
`9/2
`11/2
`12/2
`2/2
`3/2
`3/2
`4/2
`
`08
`08
`08
`09
`09
`09
`09
`09
`09
`09
`09
`10
`10
`10
`10
`
`10
`10
`
`10
`
`7/2
`7/2
`8/2
`2/2011
`2/2011
`T2011
`8/2011
`9/2011
`12
`2/2
`12
`8/2
`12
`11/2
`13
`2/2
`2/2
`13
`13
`8/2
`
`03
`
`13
`14
`
`15
`18
`19
`02
`02
`02
`02
`03
`03
`03
`03
`03
`03
`
`10/2
`10/2
`
`9/2
`9/2
`5/2
`2/2
`3/2
`7/2
`12/2
`2/2
`2/2
`2/2
`4/2
`6/2
`72
`7/2
`2/2
`
`3/2
`5/2
`6/2
`72
`8/2
`9/2
`4/2
`5/2
`9/2
`10/2
`10/2
`1/2
`3/2
`4/2
`5/2
`6/2
`6/2
`7/2
`8/2
`1/2
`1/2
`2/2
`5/2
`8/2
`
`8/2
`10/2
`1/2
`1/2
`
`Skygebjer
`Yach etal.
`Kurlanderetal.
`Koskimieset al.
`Rabbers et al.
`Dewey woecccccee GO6F 11/1451
`Zondervan et al.
`Chenet al.
`Onyonetal.
`Watt
`Saunders
`Kim
`Shaw
`Schauseret al.
`JUAN veces GOG6F 16/10
`707/806
`
`Quinlan ct al.
`Freedman
`Mikesell etal.
`Strong et al.
`Tu etal.
`Klobaetal.
`Bloom etal.
`Sekar et al.
`Srinivasan et al.
`Chipchase
`Roskind et al.
`Ozzie etal.
`Schleifer etal.
`Sachs .o...cccccccccseeeees GO6F 8/71
`F076 16
`
`Moseler et al.
`March wo GO6T 11/1435
`707/695
`
`Manzano.....
`... HOAL 67/1095
`Manzano .
`. HO4L 67/1095
`Manzano
`... HO4T, 67/1095
`
`Rodgerset al.
`McCurdy
`McBrideet al.
`Kausik
`Lord
`Muttik et al.
`Peck et al.
`Costello
`Ohwada
`Pesola
`Estrada
`Hiltgen ........
`
`
`
`testes GO06F 8/65
`717/170
`
`McDonough ctal.
`Therrien et al.
`Rudoff
`Reynolds
`Okachi
`Edelstein et al.
`Ponceetal.
`Glatt et al.
`Pollock
`Ronkainen etal.
`Shah etal.
`Shaath et al.
`Suderman
`Wolfish
`Strong et al.
`Phillips
`Holm
`Godlin
`Montulli et al.
`O'Neil
`Reinsch
`Stakutis
`Summeret al.
`Mohanty ............. GO6E11/1451
`709/223
`
`Kamada
`Sengupta et al.
`Li
`Li
`
`Box & Dropbox Exhibit 1004
`Page 2
`
`Box & Dropbox Exhibit 1004
`Page 2
`
`
`
`US 10,642,787 B1
`Page 3
`
`FolderShare Secure Remote Access VPN Solution; Document
`Management & Real-time File Mirroring Solution; <https://web.
`archive.org/web/20040629075057/http://www.foldershare.com:
`80/>; Jun. 29, 2004.
`FolderShare—Secure Remote Access VPN Solution; Your Smart
`File Transfer & Real-time File Mirroring Solution; <https://web.
`archive.org/web/200403 1623515 1 /http://foldershare.com:80/>; Mar.
`16, 2004,
`FolderShare—Secure Remote Access VPN Solution; Your Smart
`File ‘lransfer & Real-time File Mirroring Solution; <https://web.
`archive.org/web/200403 25034239/http://www.toldershare.com:
`80/>; Mar. 25, 2004.
`FolderShare—Secure Remote Access VPN Solution; Document
`Management & Real-time File Mirroring Solution; <https://web.
`archive.org/web/200405 122 11417/http:/Awww.foldershare.com:
`80/>; May 12, 2004.
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`20030531 180252/http://www.foldershare.com:80/>; May 31, 2003.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?;<https://web.archive.org/web/
`2004110403 1510/http://www.foldershare.com:80/>; Nov. 4, 2004.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?;<https://web.archive.org/web/
`20041117092357/hUp://www.foldershare.com:80/>; Nov. 17, 2004.
`FolderShare—Secure Remole Access VPN Solution; Need your
`files on more than one computer?;<https://web.archive.org/web/
`20041123085254http://www.foldershare.com:80/>; Nov. 23, 2004.
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`20031128143634/http://foldershare.com:80/>; Nov. 28, 2003.
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`20031001071631 /http://foldershare.com:80/>: Oct. 1, 2003.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?; <https://web.archive.org/web/
`20041012083 127/http://www.foldershare.com:80/>; Oct. 12, 2004.
`FolderShare—Scecure Remote Access VPN Solution; Need your
`files on more than one computer?; <https://web.archive.org/web/
`20041029085820/http://www.foldershare.com:80/>; Oct. 29, 2004.
`FolderShare Secure Remote Access VPN Solution; Need your
`files on more than one computer?; <https://web.archive.org/web/
`2004090 1034646/http://www.foldershare.com:80/>; Sep. 1, 2004.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?;<https://web.archive.org/web/
`20040909075254/http://www.foldershare.com:80/>; Sep. 9, 2004.
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`2003092005 1943http://www. foldershare.com:80/>; Sep. 20, 2003.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?;<https://web.archive.org/web/
`20040924032 146/http://www.foldershare.com:80/>; Sep. 24, 2004.
`Marshall, M., “The Y Combinator List,” Venture Beat, Aug. 2007,
`Retrieved from the Internet: URL: <https://venturebeat.com/2007/
`08/16/the-y-combinator-list/>, 4 pages.
`Jarvis, A., “Dropbox pitch deck to raise seed capital investment, ”
`Medium, Mar. 2018, Retrieved from the Internet: URL: <https://
`medium.com/@adjblog/dropbox-pitch-deck-to-rai se-seed-capital-
`investment-6a6cd6517e56>, 12 pages.
`
`
`
`
`
`
`
`
`
`
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`2008/0005280 Al
`20080086494 Al
`2008/0168526 Al
`2008/0288578 Al
`2009/0013009 Al
`2009/0024922 Al
`2009/0063711 Al
`2009/0282050 Al
`2013/0226871 Al
`
`1/2008 Adams
`4/2008 Helleret al.
`7/2008 Robbin et al.
`11/2008 Silfverberg
`1/2009 Nakayama
`1/2009 Markowitz etal.
`3/2009 Finkelstein
`11/2009 Thomasetal.
`8/2013 Sarnowski
`
`OTHER PUBLICALIONS
`
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`20030808 1 83932/http://www.foldershare.com:80/>; Aug. 8, 2003.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?; <https://web.archive.org/web/
`200408 140 15727/http://www.foldershare.com:80/>; Aug. 14, 2004.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?; <https://web.archive.org/web/
`20040820052 105/http://www.foldershare.com:80/>; Aug. 20, 2004.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?; <https://web.archive.org/web/
`2004 1211020957/http://foldershare.com:80/>; Dec. 11, 2004.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?; <https://web.archive.org/web/
`20041217041726/http://foldershare.com:80/>; Dec. 17, 2004.
`FolderShare: Your Smart File Transfer Solution; <https://web.archive.
`org/web/2003 1220151508/http://www.foldershare.com:80/>; Dec. 20,
`2003.
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?; <htps://web.archive.org/web/
`200412302 11050/http://www.foldershare.com:80/>; Dec. 30, 2004.
`FolderShare—Secure Remote Access VPN Solution; Document
`Management & Real-time File Mirroring Solution; <https://web.
`archive.org/web/20040701113739/http://foldershare.com:80/>; Jul.
`1, 2004.
`FolderShare—Secure Remote Access VPN Solution; Document
`Management & Real-time File Mirroring Solution; <https://web.
`archive.org/web/20040711062548/http://www.foldershare.com:
`80/>; Jul. 11, 2004.
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`20030722054342/http://foldershare.com:80/>; Jul. 22, 2003.
`FolderShare—Secure Remote Access VPN Solution; Document
`Management & Real-time File Mirroring Solution; <https://web.
`archive.org/web/20040730030655/http://www.foldershare.com:
`80/>; Jul. 30, 2004.
`FolderShare—Secure Remote Access VPN Solution; Document
`Management & Real-time File Mirroring Solution; <https://Aveb.
`archive.org/web/20040603205113/http://www.foldershare.com:
`80/>; Jun. 3, 2004.
`FolderShare—Secure Remote Access VPN Solution; Document
`Management & Real-time File Mirroring Solution; <https://web.
`archive.org/web/200406 13 161906/http://www-.foldershare.com:
`80/>; Jun. 13, 2004.
`
`
`
`* cited by examiner
`
`Box & Dropbox Exhibit 1004
`Page 3
`
`Box & Dropbox Exhibit 1004
`Page 3
`
`
`
`U.S. Patent
`
`May5, 2020
`
`Sheet 1 of 3
`
`US 10,642,787 B1
`
`_O3GIA
`
`
`|A
`
`
`
`UOWSINWALSAS
`
`indLAG
`
`JOVINSLNWHSHdSd
`
`|20vaUIINI
`
`
`
`ONISSJO0ud
`
`LMT
`
`
`
`
`
`ONIWUSdO
`
`
`
` =]SWWUOOUdO
`NOLWONiddy|
`
`—
`
`eL)|)|6OSRINCOM
`
`
`
`
`_WWHDOUdYIHLO|
`
`VELESA
`
`
`
`LetUNOU)
`
`|i
`
`<a4i:
`
`MUOMLINVVSGILLp--Lf{--_-
`7oswlyeaeone:Botan,:OSbs,eS‘
`
`|MHOMIIN|g-FIavnowse=)TISYAINGL-NON
`
`
`
`Sa)ST]SOvMGIN
`|-JOWJHAINE|L“TNAMOS“IOANON|
`
`
`
`“SOLHOOHd
`
`|
`
`WYHOOHd
`
`Weo0udYANLO
`
`VIVO
`
`STINCOW
`
`UhiWesd®
`
`“W3ISAS
`
`
`
`SLSWWHOOHd00k
`
`NOHO"ddfJLOWIY,pt
`
`L‘Sls
`
`Box & Dropbox Exhibit 1004
`Page 4
`
`Box & Dropbox Exhibit 1004
`Page 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`May5, 2020
`
`Sheet 2 of 3
`
`US 10,642,787 B1
`
`FIG.2
`
`200
`
`oS
`6
`
`
`
`DISPLAY
`
`5
`
`COMPUTERSYSTEM
`
`
`USERDEVICE
`
`
`STORAGE 270
`SERVER
`
`
`I |
`
`Lu
`QO
`>
`Por eeQ
`ti
`oO
`2
`
`oO
`
`
`
`
`
`
`DISPLAY
`
`Ww
`<
`oO}
`mo
`<Aer
`a
`
`<Q
`
`Box & Dropbox Exhibit 1004
`Page 5
`
`Box & Dropbox Exhibit 1004
`Page 5
`
`
`
`U.S. Patent
`
`May 5, 2020
`
`Sheet 3 of 3
`
`US 10,642,787 B1
`
`FIG.3
`
`Oo
`
`N7
`
`STORAGE
`
`280
`
`im
`Q
`
`>r
`
`fa
`
`th
`5
`
`
`
`
`
`
`
`©
`©
`
`oO}
`st
`oI
`
`
`
`
`
`
`oO
`™~
`oO
`
`Oo
`<O
`oO
`
`&oO
`
`a
`©
`
`oO
`oo
`
`315
`
`
`
`
`
`
`
`|
`g
`
`Oo
`CO}
`oF
`
`oOisp)
`
`
`
`370
`
`
`
`
`
`
`
`
` Qo
`
`o
`
`
`
`USERDEVICE 210
`
`Box & Dropbox Exhibit 1004
`Page 6
`
`370
`
`370
`
`Box & Dropbox Exhibit 1004
`Page 6
`
`
`
`US 10,642,787 Bl
`
`1
`PRE-FILE-TRANSFER UPDATE BASED ON
`PRIORITIZED METADATA
`
`T.
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`
`
`This application is a continuation of U.S. patent applica-
`tion Ser. No. 16/361,641, filed Mar. 22, 2019, which is a
`continuation of U.S. patent application Ser. No. 16/017,348,
`filed Jun. 25, 2018, which is a continuation of U.S. patent
`application Ser. No. 14/860,289, filed Sep. 21, 2015, now
`USS. Pat. No. 10,067,942, which is a continuation of U.S.
`patent application Ser. No. 12/267,852, filed Nov. 10, 2008,
`now U.S. Pat. No. 9,143,561, which claims priority to U.S.
`Provisional Application No. 60/986,896 entitled “ARCHI-
`TECTURE FOR MANAGEMENT OF DIGITAL FILES
`
`ACROSS DISTRIBUTED NETWORK”andfiled Nov. 9,
`2007,
`the contents of which are hereby incorporated by
`reference in their entirety.
`
`TVIELD OF THE INVENTION
`
`This invention relates generally to computer-implemented
`processes and, more specifically, to sharing of clectronic
`files among computer systems.
`
`
`
`BACKGROUNDOF THE INVENTION
`
`Users of modern computing systems are increasingly
`finding themselves in constantly-connected, high-speed net-
`worked environments. The Web continues to be a killer
`application, second only to email, on the Internet. Further,
`customers are increasingly using more than one computing
`device; a customer may have a desktop computer at home,
`one at work, and a constantly connected “smart phone”. Due
`to the confluence of these two trends, file management
`across these devices has became a problem.
`Although modern devices are easily connected, they do
`not provide the customer a seamless environment; the cus-
`tomer must manually handle manyaspects of that connec-
`tion. With regards to file management, customers must
`manually move files between their devices using some
`protocol like email, ftp, or by posting them on the Web.
`These practices lead to problems that include:
`The proliferation of redundantfile copies. This prolifera-
`tion creates a confusing environment where the cus-
`tomer is unclear where the“official” or newest version
`of a file exists.
`
`The creation of an error-prone environment. Some docu-
`ments, such as those associated with word processing
`and desktop publishing, externally reference otherfiles.
`Copying such a document can break these references
`causing, errors that the customer has to handle manu-
`ally. An example of such a document is a desktop
`publishing document that contains a reference to an
`image. If that imagefile is not transferred along with
`the desktop publishing file, the image will appear as a
`broken link.
`
`Unnecessary complexity. Because devices tend to have
`their own filing system, customers must manage a
`different filing model on each of his devices. For
`example, instead of having a single “Movies”folder, he
`may have to deal with many “Movies” folders, which
`may be in different locations on each of his devices.
`Each device may also have its own security model,
`further complicating the matter.
`
`20
`
`25
`
`40
`
`45
`
`60
`
`65
`
`2
`That a customer has to manually movefiles around to
`ensure their accessibility on his devices is unnecessary, and
`is an indicator of a lack of customer-focused design in
`modernfile systems. File systems in use today are direct
`offspring of systems used when graphical customer inter-
`faces were nonexistent. Modern file system customer inter-
`faces, such as Windows® Explorer and Mac OS X’s Finder
`are just nowstarting to provide experiences that are more in
`line to a customer’s workflow. Whereas, before, these inter-
`faces were concerned with representing files with abstracted
`icons, the file’s actual contents are becoming paramount in
`how files are organized and presented.
`Problems still exist with how these newer customer
`
`interfaces are implemented. They are not completely inte-
`grated with applications, suffer from performance problems,
`and do not generally work well outside of a device’s local
`file system.
`There are several! solutions to this problem that are in one
`way or another inadequate to the task:
`Remote Desktop software allows a customer to remotely
`“see” his desktop. Remote desktop software screen-scrapes
`a remote machine’s screen (a “server’”) and displays it on a
`screen local to the customer (a “client’?). Remote desktop
`gives a customeraccess to not only hisfiles, but also to his
`applications. However, this approach requires that the host
`machine be turned on and connected to the internet at all
`times. Consequently, this approach would not be appropriate
`for mobile hosts such as laptops. Remote desktop does not
`use the resources of a local machine. For full accessibility,
`the customer would haveto keep all files and application on
`the host machine as any files stored on a client are not
`guaranteed to be accessible.
`Distributed File Systems, like remote desktop software,
`place data on an always-connected host machine. Unlike
`remote desktop software, the host machine is not one on
`which the customer performs computing tasks. The host
`machine is used as a slorage mechanism, and any compu-
`tation performed on that machine serves to supportsits use
`as such. Distributed file systems generally provide the right
`functionality for customers to share files between their
`devices.
`Ilowever, distributed file systems are usually
`deployed as a shared resource; that is, other customers have
`access to it. Because of this sharing, a customer’s files may
`be buried deep in a filing structure, and it may not always be
`immediately evident to customers what kind of access they
`have to a particular file. Further, to use a distributed file
`system, the customer must always be connectedto it. Files
`stored on a distributed file system are generally inaccessible
`if the customer’s machine is not connected to it, unless the
`customer has copied or moved the files to his machine’s
`local hard drive. However, doing so immediately creates the
`problem of having two filing systems for the samefile,
`creating a mental burden on the customer.
`Additionally, accessing a file located on a distributedfile
`system tends to be slower than accessing files on the local
`hard drive. Modern applications are usually written to
`assumethatthe files they access are located locally, and thus
`are not optimized to access remotefiles. When these appli-
`cations are used with remotefiles, they can lose performance
`by an order of magnitude. ‘This problem can be fixed by
`automatically caching often-used files on the local
`file
`system, and only synchronizing them whenthey have been
`changed. However, this separate synchronization step intro-
`duces another problem: because the synchronization process
`can be lengthy, the customeris never entirely sure if the file
`he is remotely accessing is the latest version of the file,
`versus an earlier one that has been marked to be updated.
`
`Box & Dropbox Exhibit 1004
`Page 7
`
`Box & Dropbox Exhibit 1004
`Page 7
`
`
`
`US 10,642,787 Bl
`
`
`
`20
`
`25
`
`30
`
`3
`Further, the directory may notreflect the existenceofthefile
`at all until synchronization finishes.
`FTPis similar to a distributed file system with regards to
`files being hosted on a remote server. However FTP gener-
`ally does manifest as a “disk drive” on the customer’s
`desktop; the customer must use special FTP client software
`to access an FIP server. It shares the same problem as
`distributedfile systems, with the additional problem of weak
`integration with applications. Applications can generally
`write and read files directly to and from a distributed file
`system. This is not the case with FTP, as the customer has
`to manually use the client software to perform these opera-
`tions as a separate task.
`Email was originally invented for messaging. From the
`beginning,
`the model it employs to make files accessible
`remotely is necessarily inefficient. Email’s model for mak-
`ing files accessible is in the form of an email “attachment”.
`Attachments are so named because they piggy-back on a
`message sent from one customerto another. A customer can
`make a file remotely available using, email by attaching, the
`file to an email and sending it to himself. He can then
`retrieve the file from a remote location by accessing the
`message on the email server. Email used in this way is even
`worse than FTP as the process is even more manual: a
`customer must find the message containingthefile before
`can even access it. Further,
`the location in which the
`attachmentlives is read only. If the customer, for example,
`were to open the file, change it, then save it back out, the
`results would be ambiguous to the user because the email
`application, not the user, specified its location. Usually, the
`saved file would end up buried in an email file cache in an
`undisclosed area of the file system.
`Flash Drives and External Disk Drives, although seem-
`ingly the most “primitive” way to ensure file availability,
`avoid all the problemsrelated to network latency. However,
`these devices must be physically connected to the computer
`on which the files will be accessed. These restrictions
`preclude the customer from employing several effective
`work-flows including: using more than one computer to
`complete a single task (the files can only be accessed on one
`computer) and setting up an automated backup (the com-
`puter running the backup can’t guarantee that the storage
`device will be connected come backup time). Further, to
`ensure full availability of the files, the customer must carry
`the device with them at all times, and must followthe
`associated protocols for mounting and dismounting the
`device.
`Other problems with the prior art not described above can
`also be overcomeusing the teachings of embodimentsof the
`present invention, as would be readily apparent to one of 5
`ordinary skill in the art after reading, this disclosure.
`
`40
`
`SUMMARYOF THE INVENTION
`
`wi on
`
`In certain embodiments, automatic modification-triggered
`transfer of a file among two or more computer systems
`associated with a user. In some embodiments, a copy of a
`first file may be received, via a first application at a first
`computer system, from a second application at a second
`computer system associated with a user. ‘lhe first file copy
`may be automatically received from the second application
`responsive to the user modifying a content ofthefirst file,
`where the first file copy is a version of the first file that is
`generated. from the user modifying the content of the first
`file. Responsive to receiving the first file copy from the
`second computer system, the first file copy may be auto-
`matically transferred via the first application to a third
`
`4
`computer system associated with the userto replace an older
`version ofthefirst file stored on the third computer system.
`In some embodiments, responsive to a user modifying a
`contentof the file at a first client device (associated with the
`user), a server system may automatically receive a copy of
`thefile from the first client device, where the file copy may
`be an updated versionofthe file that is generated from the
`user modifying the content of the file. After receiving
`metadata associated with the updated version ofthe file from
`the first client device, the server system may automatically
`transfer the metadata to a second client device associated
`
`with the user such that, before the file copy is transferred to
`the second client device, the transfer of the mctadata to the
`second client device causes a file representation of the file
`presented on a user interface of the second client device to
`be updated based on the metadata.
`
`BRIEF DESCRIPTION OF THE DRAWING
`
`Preferred and alternative embodiments of the present
`invention are described in detail below with reference to the
`following drawings.
`FIG. 1 is a schematic view of an exemplary operating
`environment in which an embodiment of the invention can
`be implemented;
`FIG. 2 is a functional block diagram of an exemplary
`operating environment
`in which an embodiment of the
`invention can be implemented; and
`FIG. 3 is a functional block diagram illustrating file
`sharing and/or synchronization according to an embodiment
`of the invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`An embodiment of the invention leverages remote pro-
`gramming concepts by utilizing processes called mobile
`agents (sometimes referred to as mobile objects or agent
`objects). Generally speaking,
`these concepts provide the
`ability for an object (the mobile agent object) existing on a
`first (“host”) computer system to transplant itself'to a second
`(“remote host”) computer system while preserving its cur-
`rent execution state. The operation of a mobile agent object
`is described briefly below.
`Theinstructions of the mobile agent object, its preserved
`execution stale, and other objects owned by the mobile agent
`object are packaged, or “encoded,” to generate a string of
`data that is configured so that the string of data can be
`transported by all standard means of communication over a
`computer network. Once transported to the remote host, the
`string of data is decoded to generate a computerprocess,still
`called the mobile agent object, within the remote host
`system. The decoded mobile agent object includes those
`objects encoded as described above and remains in its
`preserved executionstate. The remote host computer system
`resumes execution of the mobile agent object which is now
`operating in the remote host environment.
`While nowoperating in the new environment, the instruc-
`tions of the mobile agent object are executed by the remote
`host to perform operations of any complexity,
`including
`defining, creating, and manipulating data objects and inter-
`acting with other remote host computer objects.
`File transfer and/or synchronization, according to an
`embodiment, may be accomplished using someorall of the
`concepts described in commonly owned U.S. patent appli-
`
`Box & Dropbox Exhibit 1004
`Page 8
`
`Box & Dropbox Exhibit 1004
`Page 8
`
`
`
`US 10,642,787 Bl
`
`5
`
`cation Ser. No. 11/739,083, entitled “Electronic File Shar-
`ing,” the entirety of which is incorporated by reference as if
`fully set forth herein.
`FIG. 1 illustrates an example of a suitable computing
`system environment 100 in which one or more embodiments
`of the invention may be implemented. The computing sys-
`tem environment 100 is only one example of a suitable
`computing environment and is not intended to suggest any
`limitation as to the scope of use or functionality of the
`invention. Neither should the computing environment 100
`be interpreted as having any dependency or requirement
`relating to any one or combination of componentsillustrated
`in the exemplary operating environment 100.
`Embodiments of the invention are operational with
`numerous other general purpose or special purpose comput-
`ing, system environments or configurations. Examples of
`well known computing systems, environments, and/or con-
`figurations that may be suitable for use with the invention
`include, but are not limited to, personal computers, server
`computers, hand-held or laptop devices, multiprocessor sys-
`tems, microprocessor-based systems, set top boxes, pro-
`grammable consumerelectronics, network PCs, minicom-
`puters, mainframe
`computers,
`distributed
`computing
`environments that include any of the above systems or
`devices, and the like.
`Embodiments of the invention may be described in the
`general context of computer-executable instructions, such as
`program modules, being executed by a computer and/or by
`computer-readable media on which such instructions or
`modules can be stored. Generally, program modules include
`routines, programs, objects, components, data structures,
`etc. that perform particular tasks or implement particular
`abstract data types. The invention mayalso be practiced in
`distributed computing environments where tasks are per-
`formed byremote processing devicesthat are linked through
`a communications network.
`In a distributed computing
`environment, program modules maybe located in both local
`and remote computer storage media including memory
`storage devices.
`With reference to FIG. 1, an exemplary system for imple-
`menting the invention includes a general purpose computing,
`device in the form of a computer 110. Components of
`computer 110 may include, but are not limited to, a pro-
`cessing unit 120, a system memory 130, and a system bus
`121 that couples various system components including the
`system memory to the processing unit 120. The system bus
`121 maybe any of several types of bus structures including
`a memorybus or memory controller, a peripheral bus, and a
`local bus using anyof a variety of bus architectures. By way
`of example, and not limitation, such architectures include
`Industry Standard Architecture (ISA) bus, Micro Channel
`Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video
`
`Electronics Standards Association (VESA) local bus, and
`Peripheral ComponentInterconnect (PCI) bus also known as
`Mezzanine bus.
`
`Computer 110 typically includes a variety of computer
`readable media. Computer readable media can be anyavail-
`able media that can be accessed by computer 110 and
`includes both volatile and nonvolatile media, removable and
`non-removable media. By way of example, and not limita-
`tion, computer readable media may comprise computer
`storage media and communication media. Computer storage
`media includes both volatile and nonvolatile, removable and
`non-removable media implemented in any method or tech-
`nology for storage of information such as computer readable
`instructions, data structures, program modules or other data.
`Computer storage media includes, but is not limited to,
`
`20
`
`25
`
`40
`
`45
`
`60
`
`65
`
`6
`RAM, ROM, EEPROM,flash memory or other memory
`technology, CD-ROM,digital versatile disks (DVD) or other
`optical disk storage, magnetic cassettes, magnetic tape,
`magnetic disk storage or other magnetic s