`
`a2) United States Patent
`US 10,067,942 B2
`do) Patent No.:
`Manzano
`*Sep. 4, 2018
`(45) Date of Patent:
`
`(54) ARCHITECTURE FOR MANAGEMENTOF
`DIGITAL FILES ACROSS DISTRIBUTED
`NETWORK
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`(71) Applicant: Topia Technology, Inc., Tacoma, WA
`(US)
`
`(72)
`
`Inventor: Michael R. Manzano, Seattle, WA
`(US)
`
`(73) Assignee: TOPIA TECHNOLOGY,Tacoma, WA
`(US)
`
`EP
`WO
`WO
`
`5,600,834 A
`5,806,078 A *
`
`2/1997 Howard
`9/1998 Hug .... GO6F 17/2288
`707/999 202
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`1130511
`WO 98/56149
`WO 2007047302
`
`9/2001
`* 12/1998
`4/2007
`
`OTHER PUBLICATIONS
`
`
`
`U.S. Office Action dated Aug. 13, 2014 for U.S. Appl. No.
`11/739,083.
`
`(Continued)
`
`Primary Examiner — Srirama Channavajjala
`(74) Attorney, Agent, or Firm — Pillsbury Winthrop Shaw
`Pittman LLP
`
`ABSTRACT
`(57)
`Jan. 14, 2016
`US 2016/0012067 Al
`A system includes a first application executable onafirst
`Related U.S. Application Data
`electronic device. The system further includes a second
`application executable on a second electronic device in
`communication with the first electronic device. The second
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 345 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21) Appl. No.: 14/860,289
`
`(22)
`
`Filed:
`
`Sep. 21, 2015
`
`(65)
`
`Prior Publication Data
`
`(63) Continuation of application No. 12/267,852, filed on
`Nov. 10, 2008, now Pat. No. 9,143,561.
`(Continued)
`
`(51)
`
`(2006.01)
`(2006.01)
`(2006.01)
`
`Int. CL.
`GO06F17/30
`GO6F 15/16
`HO4E 29/08
`(52) U.S. Cl.
`CPC wae. GO06F 17/30082 (2013.01): GO6F 15/16
`(2013.01); G06F 17/38 (2013.01);
`(Continued)
`(58) Field of Classification Search
`CPC .. GO6F 17/30; GOGF 17/132; GO6F 17/30017;
`GO6F 17/30067; GO6F 17/3007;
`(Continued)
`
`STORAGE
`aio
`
`electronic device is configured to store a first electronicfile.
`Subsequent to a user modifying the first electronic file, the
`second application is operable to automatically transfer the
`modified first electronic file, or a copy thereof, to the first
`electronic device. The system further includesa third appli-
`cation executable on a third electronic device in communi-
`cation with the first electronic device. The third electronic
`device is configured to store a second electronic file. Sub-
`sequent to the user modifying the secondelectronicfile, the
`third application is operable to automatically transfer the
`moditied secondelectronicfile, or a copy thereof, to the first
`electronic device. The first application is operable to auto-
`matically transfer the modified first electronicfile or copy to
`the third electronic device, and automatically transfer the
`(Continued)
`
`
`
`
`
`
`
`
`210
`USER DEVICE
`
`370
`
`STORAGE
`0
`
`
`280
`| USER DEVICE
`t
`
`
`
`360
`
`Box & Dropbox Exhibit 1002
`Page 1
`
` 1
`
`
`
`DATABASE
`e242
`
`
`
`
`
`ead
`
`COMPUTER SYSTEM i
`280
`
`
`
`
`[USER DEVICE —
`| DISPLAY
`L280.a
`
`USER DEVICE
`
`DISPLAY
`220
`
`Fa
`
`/200
`
`Box & Dropbox Exhibit 1002
`Page 1
`
`
`
`modified second electronic file or copy to the second clec-
`tronic device.
`
`18 Claims, 3 Drawing Sheets
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/986,896,filed on Nov.
`9, 2007.
`
`(52) U.S. Cl.
`CPC ...... G06F 17/301 (2013.01); GO6F 17/30088
`(2013.01); GO6F 170091 (2013.01); GO6F
`17/30165 (2013.01); GO6F 17/30174
`(2013.01); HO4L 67/1095 (2013.01)
`(58) Field of Classification Search
`CPC oe GO6F 17/3023; GO6F 17/2288; GO6F
`17/30091; GO6F 17/30176; GO6F
`17/30194; GO6F 8/71; GO6F 17/30082;
`GOG6F 17/30165; GO6F 17/301; GO6F
`17/30174; GO6F 17/30088
`See application file for complete search history.
`
`7,680,885
`7,752,166
`7,761,414
`7,788,303
`7,895,334
`7,987,420
`8,009,966
`8,112,549
`8,244,288
`8,321,534
`8,370,423
`8,386,558
`9,143,561
`2002/0026478
`2002/0035697
`
`2002/0087588
`2003/00285 14
`2003/0028542
`2003/0038842
`2003/0078946
`2003/0125057
`2003/0135565
`2004/0049345
`2004/0093361
`2004/0107225
`2004/0133629
`
`B2
`B2
`B2
`B2
`Bl
`Bl
`B2
`B2
`B2
`Bl
`B2
`B2
`B2*
`Al
`Al*
`
`Al
`Al*
`Al
`Al
`Al*
`Al
`Al
`Al
`Al
`Al
`Al*
`
`2004/0158817
`
`Al*
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`10
`3/2
`10
`7/2
`10
`72
`10
`8/2
`2/2011
`T2011
`8/2011
`2/2
`8/2
`11/2
`2/2
`2/2
`9/2
`2/2
`3/2
`
`7/2
`2/2
`2/2
`2/2
`4/2
`7/2
`7/2
`3/2
`5/2
`6/2
`7/2
`
`8/2
`
`9/2
`4/2
`5/2
`10/2
`1/2
`3/2
`4/2
`6/2
`
`05
`05
`06
`06
`06
`06
`
`2004/0172424
`2005/0091316
`2005/0097225
`2005/0220080
`2006/00 10150
`2006/0058907
`2006/0074985
`2006/0129627
`
`Al
`Al
`Al
`Al
`Al
`Al
`AL*
`Al*
`
`2006/0143129
`
`Al*
`
`6/2
`
`2006/0168118
`
`2006/0189348
`2007/00 143 14
`2007/00 16629
`2007/0027936
`2007/01009 13
`2007/0180084
`
`2007/0191057
`2007/0238440
`2008/0005114
`2008/0005280
`2008/0086494
`2008/0168526
`2008/0288578
`2009/00 13009
`2009/0063711
`2013/0226871
`
`Al
`Al
`
`7/2
`
`8/2
`1/2
`1/2
`2/2
`5/2
`8/2
`
`8/2
`10/2
`1/2
`1/2
`4/2
`7/2
`11/2
`1/2
`3/2
`8/2
`
`6/1999) Park wee GO6F 8/65
`TAT/170
`
`5,909,581 A *
`
`
`
`
`
`2/2000 Anglin
`6,026,414 A
`11/2000 Mohan etal.
`6,154,817 A
`7/2001 Anglin
`6,260,069 B
`9/2002 Hammack etal.
`6,449,624 B
`10/2002 Godfrey et al.
`6,463,463 B
`1/2003 Kawamuraetal.
`6,504,994 B2
`1/2003 Imsetal.
`6,505,200 B
`8/2003 Feigenbaum
`6,606,646 B2
`8/2003 Raff et al.
`6,611,849 B
`12/2003 Creemeret al.
`6,671,700 B
`3/2004 Mendezetal.
`6,708,221 B
`6/2004 Multer ctal.
`6,757,696 B2
`7/2004 Chan
`6,760,759 B
`10/2004 Larueet al.
`6,810,405 B
`12/2004 Beyda
`6,829,622 B2
`3/2005 Abram et al.
`6,874,037 B
`8/2005 Deshpandeet al.
`6,931,454 B2
`1/2006 Wu
`6,990,522 B2
`4/2006 Huangetal.
`7,024,428 B
`5/2006 Bloch etal.
`7,054,594 B2
`6/2006 Baraban et al.
`7,065,658 B
`8/2006 Zintel et al.
`7,089,307 B2
`11/2006 Carter et al.
`7,136,934 B2
`12/2006 Lunsford et al.
`7,155,488 B
`5/2007 Tsutazawa etal.
`7,224,973 B2
`7/2007 Friend etal.
`7,243,163 B
`8/2007 Stefanik et al.
`7,260,646 B
`9/2007 Vargas et al.
`7,269,433 B2
`10/2007 Pecket al.
`7,290,244 B2
`1/2008 Wang
`7,325,038 B
`3/2008 Cameron etal.
`7,340,534 B2
`Management & Real-time File Mirroring Solution; < https://web.
`7/2008 Lee
`7,398,327 B2
`archive.org/web/20040804020435/http://www.foldershare.com:
`8/2008 Skygebjer
`7A15,615 B2
`80/>; Aug. 4, 2004.
`11/2008 Yach et al.
`7,457,631 B2
`7,467,353 B2=12/2008 Kurlanderet al
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`7,483,925 B2
`1/2009 Koskimies etal.
`20030808 183932/http://www.foldershare.com:80/>; Aug. 8, 2003.
`7,526,575 B2
`4/2009 Rabbersetal.
`FolderShare—Secure Remote Access VPN Solution; Need your
`7,574,711 B2
`8/2009 Zondervan etal.
`files on more than one computer?; <https://web.archive.org/web/
`7,584,186 B2
`9/2009 Chenetal.
`200408 140 15727/http://www.foldershare.com:80/>; Aug. 14, 2004.
`7,587,446 Bl
`9/2009 Onyonet al.
`FolderShare—Scecure Remote Access VPN Solution; Need your
`7,613,773 B2
`11/2009 Watt
`7,639,116 B2
`12/2009 Saunders
`files on more than one computer?; <https://web.archive.org/web/
`7,657,271 B2
`2/2010 Kim
`20040820052 105/http://www.foldershare.com:80/>; Aug. 20, 2004.
`
`US 10,067,942 B2
`
`Page 2
`
` e Access VPN Solution; Document
`06
`
`Schauseretal.
`Quinlan et al.
`Freedman
`Mikesell et al.
`Tu etal.
`Klobaetal.
`Bloom etal.
`Srinivasan et al.
`Chipchase
`Roskind et al.
`Ozzic ctal.
`Schleifer et al.
`Manzano .......... GO6F 17/30174
`Rodgerset al.
`MeCurdy .......... GOG6F 17/30011
`726/3
`McBride ctal.
`Lord wee GO6F 11/2064
`Muttik et al.
`Peck etal.
`Costello vw. GO6F 11/2064
`Pesola
`Estrada
`McDonough et al.
`Therrien et al.
`Rudo
`Reynolds .......... GO6F 17/30902
`709/202
`Okachi oe GO6F 8/65
`T7122
`
`Edelstein et al.
`Ponceetal.
`Glatt et al.
`Ronkainen etal.
`Shaath et al.
`Suderman
`
`Wolfish ........ we GO6Q 20/322
`
`Phillips ou . HO4L 63/10
`709/200
`Holm wee GOG6F 8/61
`705/52
`Godlin wn. GO6T' 17/30212
`709/218
`
`Montulli ct al.
`O'Neil
`Reinsch ...
`.. GOG6F 8/71
`
`Stakutis ...
`... GO6F 11/1451
`Sumneretal.
`Mohanty ............. GO6F 11/1451
`709/223
`
`Kamada
`Sengupta et al.
`Li ieee GO6F 17/30209
`Adams
`Helleret al.
`Robbin et al.
`Silfverborg
`Nakayama .....
`Finkelstein
`Sarnowski
`
`awe GOOF 11/1453
`
`
`
`OTHER PUBLICATIONS
`
`FolderShare—Secure Remo
`
`Box & Dropbox Exhibit 1002
`Page 2
`
`Box & Dropbox Exhibit 1002
`Page 2
`
`
`
`US 10,067,942 B2
` Page 3
`
`
`
`(56)
`
`References Cited
`
`
`
`FolderShare Secure Remote Access VPN Solution; Your Smart
`File Transfer & Real-time File Mirroring Solution; <https://web.
`OTHER PUBLICATIONS archive. org/web/200403 16235151/http://foldershare.com:80/>;
`Mar. 16, 2004.
`FolderShare—Secure Remote Access VPN Solution; Your Smart
`FolderShare—Secure Remote Access VPN Solution; Need your
`File Transfer & Real-time File Mirroring Solution; <https://web.
`files on more than one computer?; <https://web.archive.org/web/
`archive.org/web/20040325034239/http://www.foldershare.com:
`200412 11020957/http://foldershare.com :80/>; Dec. 11, 2004.
`80/>; Mar. 25, 2004.
`FolderShare
`Secure Remote Access VPN Solution; Need your
`FolderShare—Secure Remote Access VPN Solution; Document
`files on more than one computer?; <https://web.archive.org/web/
`Management & Real-time File Mirroring Solution; <https://web.
`archive.org/web/200405 1221141 7/http:/(www.foldershare.com:
`2004 1217041726/http://foldershare.com:80/>; Dec. 17, 2004.
`80/>; May 12, 2004.
`TolderShare; Your Smart Tile Transfer Solution; <https://web.ar-
`FolderShare; Your Files Anywhere; <hitps://web.archive.org/web/
`chive.org/web/2003 1220151508/http://www.foldershare.com:80/>;
`2003053 1180252/http://www.foldershare.com:80/>; May 31, 2003.
`Dec. 20, 2003.
`FolderShare—Secure Remote Access VPN Solution; Need your
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one computer?: <https://web.archive.org/web/
`files on more than one computer?; <https://web.archive.org/web/
`2004110403 1510/http:/Avww.foldershare.com:80/>: Nov. 4, 2004.
`4
`«
`sh
`ons.
`,
`.
`\
`200412302 11050/http://www.foldershare.com:80/>; Dec. 30, 2004.
`FolderShar—Secure Remote Access VPN Solution; Need yourfiles
`:
`:
`,
`-
`>.
`7”
`:
`FolderShare—Secure Remote Access VPN Solution; Document
`on more
`than one
`computer?; <https://web.archive.org/web/
`:
`:
`i,
`.
`,
`—_9941117092357/http:/www.foldershare.com:80/>: Nov. 17, 2004.
`Management & Real-time File Mirroring Solution; <https:/‘web.
`FolderShare—Secure Remote Access VPN Solution, Need your
`archive.org/web/20040701113739/http://foldershare.com:80/>; Jul.
`files on more than one computer?; <https://web.archive.org/web/
`1, 2004.
`20 41123085254/http://www.foldershare.com:8 >; Nov. 23, 2004.
`FolderShare—Secure Remote Access VPN Solution; Document
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`Management & Real-time File Mirroring Solution; <https://web.
`20031128 143634/http://foldershare.com:80/>, Nov. 28, 2003.
`archive.org/web/200407 11062548/http://wwwfoldershare.com:
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`80/>: Jul. L1. 2004.
`%
`.
`4
`.
`>
`ad
`ae
`fs
`arc
`,
`2003100107163 1 /http://foldershare.com:80/>; Oct.
`1, 2003.
`.
`.
`,
`FolderShare—Secure Remote Access VPN Solution; Need your
`FolderShare; Your Files Anywhere; <hUps://web.archive.org/web/
`files on more than one computer?; <https://web.archive.org/web/
`20030722054342/http://foldershare.com:80/>; Jul. 22, 2003.
`FolderShare—Secure Remote Access VPN Solution, Document—_29941012083 127/http://www.foldershare.com:80/>; Oct. 12, 2004.
`Management & Real-time File Mirroring Solution; <https://web.
`FolderShare—Secure Remote Access VPM Solution; Need. your
`archive.org/web/20040730030655/http://www.foldershare.com:
`files on more than one computer?; <https://web.archive.org/web/
`80/>; Jul. 30, 2004.
`200410290858 20/http://www.foldershare.com:80/>; Oct. 29, 2004.
`FolderShare—Secure Remote Access VPN Solution; Document
`FolderShare—Secure Remote Access VPN Solution; Need your
`files on more than one compuler?; <hUps://web.archive.org/web/
`Management & Real-time File Mirroring Solution; <https://web.
`2040901034646/http://
`oldershare.com:80/>; Sep.
`1, 2004
`archive.org/web/20040603205 | 13/http://wwwfoldershare.com:
`FolderShare—Sccure Remote Access VPN Solution; Need your
`80/>; Jun. 3, 2004.
`.
`files on more than one computer?; <https://web.archive.org/web/
`TolderShare—Secure Remote Access VPN Solution; Document
`20040909075254/http://www.foldershare.com:80/>; Sep. 9, 2004.
`Management & Real-time File Mirroring Solution; <https://web.
`FolderShare; Your Files Anywhere; <https://web.archive.org/web/
`archive.org/web/200406 13 161906/hiip://www.foldershare.com:
`20030920051943/http://www.foldershare.com:80/>; Sep. 20, 2003.
`80/>; Jun. 13, 2004.
`FolderShare—Secure Remote Access VPN Solution; Need your
`FolderShare—Secure Remote Access VPN Solution; Document
`files on more than one computer?; <https://web.archive.org/web/
`Management & Real-time File Mirroring Solution; <https:/Aveb.
`20040924032 146/http://www.foldershare.com:80/>; Sep. 24, 2004.
`archive.org/web/20040629075057/http://www.foldershare.com:
`80/>; Jun. 29, 2004.
`
`
`
`
`
`
`
`
`
`
`
`* cited by examiner
`
`Box & Dropbox Exhibit 1002
`Page 3
`
`Box & Dropbox Exhibit 1002
`Page 3
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 1 of 3
`
`US 10,067,942 B2
`
`
`
`ioy——
`
`
`
`
`
`LAGLAG
`
`“WHdHdiuad
`
`SOWANE
`
`aaaUNA
`
`SNISSIOOUd
`
`SNLEVY3d0
`
`WSLSAS
`
`
`
`
`
`
`fearSwwuedud|L_WOLWONedy
`
`
`
`WYHEOUdWIKIO|
`
`
`asin|Leyeta||EM|AHOWSINTOANON
`
`YHOALSNwauyTwooTYBSNwash TISwongy
`LNusin||JOVIHSLME
`‘‘/>zli:‘ywadcW—,
`oevlOPESPLFi
`
`asnowviveSTINGOWSWVEDOUd|—WAISAS
`
`
`
`
`
`
`C)WwHS50d|WYHDOUdHIHLO)NOLIWOPdd¥ ONLIVHdO
`
`bobscP"Saino
`
`x=
`
`SLOW
`
`HAINAO
`
`aL
`
`
`
`/UOMIINVaeWSdiMY“
`
`
`
`
`
`cetSWWYDOHd
`
`__HOWSH
`NOLWOMdd
`
`
`
`LOld
`
`Box & Dropbox Exhibit 1002
`Page 4
`
`Box & Dropbox Exhibit 1002
`Page 4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 2 of 3
`
`US 10,067,942 B2
`
`FIG,2
`
`200
`
`
`
`
`ww
`
`>z
`
`t_i
`o
`QQO
`
`
`
`USERDEVICE
`
`9A
`
`
`
`COMPUTERSYSTEM
`
`
`
`STORAGE 270
`
`7 O
`
`o
`SERVER
`
`3
`“
`
`
`
`USERDEVICE
`
`
`>f
`
`tmd
`
`a
`
`a®Q
`
`4
`
`DATABASE
`
`Box & Dropbox Exhibit 1002
`Page 5
`
`Box & Dropbox Exhibit 1002
`Page 5
`
`
`
`U.S. Patent
`
`Sep. 4, 2018
`
`Sheet 3 of 3
`
`US 10,067,942 B2
`
`
`
` USERDEVICE 280
`
`
`
`
`
`
`
`
`STORAGE
`
`
`
`
`
`
`oD
`
`OQ
`7
`N
`
`FIG.3
`
`
`
`USERDEVICE 210
`
`Qo
`
`Box & Dropbox Exhibit 1002
`Page 6
`
`Box & Dropbox Exhibit 1002
`Page 6
`
`
`
`US 10,067,942 B2
`
`1
`ARCHITECTURE FOR MANAGEMENT OF
`DIGITAL FILES ACROSS DISTRIBUTED
`NETWORK
`
`
`CROSS-REFERENCE TO RELAT!
`APPLICATIONS
`
` eslD
`
`This application is a continuation of U.S. patent applica-
`tion Ser. No. 12/267,852, filed Nov. 10, 2008, which claims
`priority to U.S. Provisional Application No. 60/986,896
`entitled “ARCHITECTURE FOR MANAGEMENT OF
`
`DIGITAL FILES ACROSS DISTRIBUTED NETWORK”
`and filed Nov. 9, 2007, the contents of which are hereby
`incorporated by reference in their entirety.
`
`FIELD OF THE INVENTION
`
`This inventionrelates generally to computer-implemented
`processes and, more specifically, to sharing of electronic
`files among electronic devices.
`
`
`
`BACKGROUND OF 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 mayhave a desktop computer at home,
`oneat work, and a constantly connected “smart phone”. Due
`to the confluence of these two trends, file management
`across these devices has become 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.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`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 5
`image. If that imagefile is not transferred along with
`the desktop publishing file, the image will appear as a
`brokenlink.
`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.
`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
`modern file systems. File systems in use today are direct
`offspring of systems used when graphical customerinter-
`faces were nonexistent. Modern file system customerinter-
`
`60
`
`65
`
`2
`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. ‘hey 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 storage mechanism, and any compu-
`tation performed on that machine serves to supports its use
`as such. Distributed file systems generally provide the right
`functionality for customers to share files between their
`devices. However, 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 connectedtoit. Tiles
`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 remote files. Whenthese 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 when they 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.
`Further, the directory may not reflect the existenceofthe file
`at all until synchronization finishes.
`FTPis similar to a distributed file system with regards to
`files being hosted on a remote server. However I'lP gener-
`ally does manifest as a “disk drive” on the customer’s
`desktop; the customer must use special I’TP client software
`
`Box & Dropbox Exhibit 1002
`Page 7
`
`Box & Dropbox Exhibit 1002
`Page 7
`
`
`
`US 10,067,942 B2
`
`
`
`3
`to access an FTP server. It shares the same problem as
`distributed file 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.
`Fmail was originally invented for messaging. From the
`beginning, the model it employs to makefiles 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 customer to 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 inthis way is even
`worse than FTP as the process is even more manual: a
`customer mustfind the message containing the file before
`can even access it. T'urther,
`the location in which the
`attachmentlives is read only. If the customer, for examp
`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 censure 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 follow the
`associated protocols for mounting and dismounting the
`device.
`Other problems with theprior art not described above can
`also be overcome using the teachings of embodimentsof the
`present invention, as would be readily apparent to one of
`ordinary skill in the art after reading, this disclosure.
`
`SUMMARY OF THE INVENTION
`
`In an embodiment, a system includes a first application
`executable on a first electronic device. The system further
`includes a second application executable on a second elec-
`tronic device in communication with the first electronic
`device. The second electronic device is configured to store
`a first electronic file. Subsequent to a user modifyingthefirst
`electronic file, the second application is operable to auto-
`matically transfer the modified first electronicfile, or a copy
`thereof, to the first electronic device. The system further
`includes a third application executable on a third electronic
`device in communication with the first electronic device.
`
`The third electronic device is configured to store a second
`electronic file. Subsequent to the user modifying the second
`electronic file, the third application is operable to aulomati-
`cally transfer the modified second electronic file, or a copy
`thereof, to thefirst electronic device.‘Lhefirst application is
`operable to automatically transfer the modified first elec-
`tronic file or copy to the third electronic device, and auto-
`
`20
`
`25
`
`40
`
`45
`
`60
`
`65
`
`4
`matically transfer the modified secondelectronic file or copy
`to the second electronic device.
`
`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 embodimentof 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 itselfto a second
`(“remote host”) computer system while preserving its cur-
`rent execution state. The operation of a mobile agent object
`is described briefly below.
`The instructions of the mobile agent object, its preserved
`execution state, 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. ‘he decoded mobile agent object includes those
`objects encoded as described above and remains in its
`preserved execution state. 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-
`cation Ser. No. 11/739,083, entitled “Electronic File Shar-
`ing,”the entirety of which is incorporated by referenceasif
`fully set forth herein.
`FIG. 1 illustrates an example ofa 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
`
`Box & Dropbox Exhibit 1002
`Page 8
`
`Box & Dropbox Exhibit 1002
`Page 8
`
`
`
`US 10,067,942 B2
`
`5
`well known computing systems, environments, and/or con-
`figurations that may he 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 compuler-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,
`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 storage devices, or
`any other medium which can be used to store the desired
`information and which can accessed by computer 110.
`Communication media typically embodies computer read-
`able instructions, data structures, program modules or other
`data in a modulated data signal such as a carrier wave or
`other transport mechanism and includes any information
`delivery media. The term “modulated data signal” means a
`signal
`that has one or more of ils characteristics set or
`changed. in such a manneras to encode information in the
`signal. By way of example, and not limitation, communi-
`cation media includes wired media such as a wired network
`or direct-wired connection, and wireless media such as
`
`ra 0
`
`5
`
`w 0
`
`45
`
`5
`
`wi on
`
`60
`
`65
`
`6
`acoustic, RF, infrared and other wireless media. Combina-
`tions of the any of the above should also be included within
`the scope of computer readable media.
`The system memory 130 includes computer storage media
`in the form of volatile and/or nonvolatile memory such as
`read only memory (ROM) 131 and random access memory
`(RAM) 132. A basic input/output system 133 (BIOS), con-
`taining the basic routines that help to transfer information
`between elements within computer 110, such as during
`start-up, is typically stored in ROM 131. RAM 132 typically
`contains data and/or program modules that are immediately
`accessible to and/or presently being operated on by process-
`ing unit 120. By wayof example, and notlimitation, FIG. 1
`illustrates operating system 134, application programs 135,
`other program modules 136, and program data 137.
`The computer 110 may also include other removable/non-
`removable, volatile/nonvolatile computer storage media. By
`way of example only, FIG.1 illustrates a hard disk drive 140
`that reads from or writes to non-removable, nonvolatile
`magnetic media, a magnetic disk drive 151 that reads from
`or writes to a removable, nonvolatile magnetic disk 152, and
`an optical disk drive 155 that reads from or writes to a
`removable, nonvolatile optical disk 15