`
`(12) United States Patent
`O'Brien et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,985,927 B2
`Jan. 10, 2006
`
`(54) SHARED INTERNET STORAGE RESOURCE,
`USER INTERFACE SYSTEM, AND METHOD
`
`(75) Inventors: Brett O’Brien, Pacific Palisades, CA
`(US); Sean Whiteley, Millbrae, CA
`(US); Lucas McGregor, Santa Monica,
`&(s). Martin Hald, Irvine, CA
`
`(73) Assignee: XDrive, LLC., Dulles, VA (US)
`*) Notice:
`Subject to any disclaimer, the term of this
`(*)
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 426 days.
`(21) Appl. No.: 10/073,775
`(22) Filed:
`Feb. 11, 2002
`
`(65)
`
`Prior Publication Data
`US 2002/0133561 A1
`Sep. 19, 2002
`
`Related U.S. Application Data
`(63) Continuation of application No. 09/570,583, filed on
`May 12, 2000, now Pat. No. 6,351,776.
`(60) Provisional application No. 60/163,626, filed on Nov.
`4, 1999.
`
`(51) Int. Cl.
`(2006.01)
`G06F 15/167
`(52) U.S. Cl. .......................... 709/213; 709/218; 707/1;
`707/8; 707/10, 707/100; 707/201
`(58) Field of Classification Search ................ 709/213,
`709/218; 707/8, 10, 201,100, 1
`See application file for complete Search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`5,544,320 A 8/1996 Konrad ....................... 709/203
`5,696,901 A 12/1997 Konrad ....................... 709/203
`5,771,354 A 6/1998 Crawford .................... 709/229
`5,861,883 A 1/1999 Cuomo et al. .............. 345/733
`
`5,901.228 A 5/1999 Crawford ..................... 705/34
`5,940,823 A 8/1999 Schreiber et al. .............. 707/3
`5,956,490 A 9/1999 Buchholz et al. .....
`... 709/245
`5.987,454. A 11/1999 Hobbs ........................... 707/4
`
`(Continued)
`OTHER PUBLICATIONS
`U.S. Appl. No. 09/570,583, filed May 12, 2000, O'Brien et
`a1.*
`
`(Continued)
`Primary Examiner-Frantz B. Jean
`(74) Attorney, Agent, or Firm-Cislo & Thomas, LLP
`(57)
`ABSTRACT
`
`The Shared Internet Storage Resource provides Internet
`based file Storage, retrieval, access, control, and manipula
`tion for a user. Additionally, an easy-to-use user interface is
`provided both for a browser or stand-alone application. The
`entire
`th EE th E. which users can establish,
`maintain eS On the Internet
`a manner remote
`rom their local computers yet in a manner that is similar to
`the file manipulation used on their local computers. A high
`capacity or other Storage System is attached to the Internet
`via an optional internal network that also serves to generate
`and direct metadata regarding the Stored files. A web server
`using a CGI, Java(E)-based, or other interface transmits and
`retrieves TCP/IP packets or other Internet information
`through a load balancer/firewall by using XML to wrap the
`data packets. File instructions may be transmitted over the
`Internet to the Shared Resource System. The user's account
`may be password protected So that only the user may access
`his or her files. On the user's Side, a Stand-alone client
`application or JavaScript object interpreted through a
`browser provide two means by which the XML or other
`markup language data Stream may be received and put to use
`by the user. Internet-to-Internet file transfers may be effected
`by directly downloading to the user's account Space.
`
`21 Claims, 15 Drawing Sheets
`
`N-Rouss
`TRANSF NERK 148.
`TRANSACTION PROCESSOR
`i25
`
`O-ROU88
`E8 KETRK
`
`£NERPR)SEIA RE CLSTER
`
`MKX-ROUAEE
`PFICATOR
`
`WA. APPLICATION CLUSER
`
`3.2
`
`as:
`
`i20
`
`NO-ROTALE
`'EBSERVER TORK
`O
`
`
`
`WES SERVERS
`
`cLENT ES!
`WINDisatiation
`
`-/ 102
`
`Dis FiferoR n
`
`
`
`US 6,985,927 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`709/213
`5987.506 A 11/1999 Carter et all
`6,003,030 A 12/1999 Kenner et al. ................ 707/10
`6009,427 A 12/1999 Wolff .......................... 707/10
`6,009.433. A 12/1999 Kurano et al.
`707/100
`6,014,651 A 1/2000 Crawford .................... 705/400
`6,021,433 A 2/2000 Payne et al. ................ 709/219
`6,035,325 A 3/2000 Potts, Jr. .....
`... 709/203
`6,049,877 A 4/2000 White ........................ 713/201
`6061798 A 5/2000 Coley et al
`713/201
`6,119,229 A 9/2000 Martinez et al...
`713,200
`6,128,624. A 10/2000 Papierniak et al. ......... 707/104
`6,128,627 A 10/2000 Mattis et al. ............... 707/202
`6,138,158 A 10/2000 Boyle et al. ......... ... 709/225
`6,151,601. A 11/2000 Papierniak et al. ........... 707/10
`
`
`
`6,154,738 A * 11/2000 Call .............................. 707/4
`6,173,318 B1
`1/2001 Jackson et al. ............. 709/219
`6,175,842 B1
`1/2001 Kirk et al. .................. 707/513
`6,321,254 B1* 11/2001 Meyer et al. ............... 709/213
`
`OTHER PUBLICATIONS
`Knoware, Inc. web site describing ftpNetDriveTM internet
`file Storage, 2 pp
`66
`.
`.
`vis-
`Publication of Patricia Seybold Group entitled, “Enterprise
`JavaBeans'M Technology, Server Component Model for the
`JavaTM Platform,” by Anne Thomas, Revised Dec. 1998,
`prepared for Sun MicroSystems, Inc., 22 pp.
`* cited by examiner
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 1 of 15
`
`US 6,985,927 B2
`
`104
`S-a NON-ROUTABLE
`RESOURCE NETWORKS
`
`sir-
`
`DATA
`BASE
`
`- -
`
`- - ---
`
`152
`
`DATA
`BASE
`
`DATA
`BASE
`
`
`
`NSF DISK
`ARRAY
`
`NSF DISK
`ARRAY
`O
`is
`
`NSF DISK
`ARRAY
`
`
`
`f
`
`NON-ROUTABLE
`TRANSACTION NETWORK
`
`/
`126
`
`FIG. 1
`
`NON-ROUTABLE
`EJB NETWORK
`
`/
`124
`
`NON-ROUTABLE
`APPLICATION NETWORK
`
`/
`122
`
`12O
`
`NON-ROUABE
`WEB SERVER NETWORK
`
`O
`
`
`
`106
`
`ENERPRISE JANA BEAN CLUSTER
`
`/
`144 a.
`
`
`
`
`
`AVA. APPLICATION CLUSTER
`
`142
`
`/
`"
`
`
`
`a
`
`al
`R 1.
`
`/ \
`
`WEB SERVERS
`
`LOAD BALANCER
`
`N to
`
`PUBLIC NETWORK
`
`CLIENT (WEB/
`WINDOWS X APPLICATION)
`
`- 102
`
`DNS REDIRECTOR
`
`N 108
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 2 of 15
`
`US 6,985,927 B2
`
`2
`‘
`
`2|
`By
`
`.
`
`|sL8
`|
`
`SWw
`
`= a
`
`s B
`
`oa
`=
`-EE8
`24 * =
`223838
`ea gz
`Gite
`
`N
`_—
`N
`
`&
`~™
`Cy
`
`i=]
`NWN
`
`S
`NNN,
`
`a
`&
`
`ha
`2
`oO
`a
`LS
`4S
`LS
`ie
`Wk2 =
`
`es a ee a ee
`
`f—_—_L, © w[|aic Se
`
`
`WO2
`EIS]
`og
`P /e
`
`fh q C5
`
`Le
`rq EY >
`©a~~ {sé
`
`N
`
`
`
`=
`
`(2
`|Si\a
`oO
`Ny
`on
`
`—S
`
`=>
`
`SS]
`ZIAie|
`-
`a
`=
`
`\
`
`A
`
`214
`
`216
`
`222
`
`Exhibit 1016
`Unified Patents v. Synkloud Technologies
`Page 004
`
`g
`N
`
`9}
`<<
`oO
`
`=
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 3 of 15
`
`US 6,985,927 B2
`
`
`.VI¥0_1N3ANO9
`oN[]MYONOLAVEUIS
`“YOUNAMOLISNI0‘93)
`
`
`YOWLSX*NUyO‘OMNIS
`INITIOOLese
`OseL]YOVISree
`ONNOTLOVSNVAL
`SIHI$i
`76)
`oe6LL-SOO
`
`
`SNOLWLIAT?¥iond“93)
`
`O41LsandgaLINENS8cr
`
`
`
`ase33H)SakQYYVIVO¥ace
`
`
`
`SNLWLSMOMMAANSrol
`
`
`
`ONaraFILOXx;(avayOLIS3no3aLINENS
`
`SSINISN7ChESu4YOSSI00Nd
`ONeeroF,SIWNe
`
`9Fl
`
`Ss300nSGNIS
`
`InalaOLSilvis
`
`
`
`YOM:GNIS
`
`INIITDOLSALWLS
`
`afdNOLLJL
`
`(SNOISSIMY3d
`
`O£e
`
`ose”SSHOMHLHHL‘SHN000YOwYTJI
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`OWA]NOISSISJHLOLLIoze&nuWAL1S3903Yoareo¥SIHLSakZoeSNIAGIIG
`
`ONYWYGULS
`
`
`
`OLSILLLINSNYUL
`
`INgIv0
`
`Exhibit 1016
`Unified Patents v. Synkloud Technologies
`Page 005
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 4 of 15
`
`US 6,985,927 B2
`
`
`
`GN¥W1YO1d300¥
`
`¥ASNDL3AY3S
`
`
`
`SUVOLLNGHLAV,
`
`
`
`ONYTWX1d399¥aIN3TTSOLONAS
`
`TAXSIVINSdYON3
`
`ONYMYOMI3NYOd
`
`TMl4Yd1S3NO3Y¥ST_STHLNHL
`
`
`
`03)vIVOVLaN
`
`
`
`Tid‘ONILST)AYOLOIUIO
`
`(SangTay
`
`
`
`O1VIVO3LVISNVUL
`
`
`
`LYAYOSTAX
`
`
`
`
`
`YO4M1dST0YG0NIY
`
`C)OPE
`
`yasn
`
`VVTid3ay3s!
`
`90£
`
`Sanday
`
`OLIVES4Q4
`
`LNALNOD
`
`iWydLIN3SYvd
`
`WidWYO
`
`bee
`
`NOISSSS@f3YIA
`
`30¥dNI9O110arao
`
`
`
`
`
`738OL1O9uTdyYOUNNOISS3S
`
`wee
`
`Lo3arao
`
`
`
`LSan03YASu¥d
`
`d30vdH
`
`
`
`Lsan0a4LInANS
`
`LATAMIS:OL
`
`
`
`LSaNDINAXIAd
`
`
`
` YaAuISGI[YIANISNOLOdd¥YAWe
`
`
`
`N38YAW?3STHdYSINI
`
`YaAMaS
`
`
`
`C)(NOLIVOMdd¥/838)LN3I19
`
`
`
`AWS
`
`
`
`YONANOISSIS9f¢
`
`C-£OldC)outoor
`
`WIA1S30034_IN3S
`
` AW63MNCOSC)139/1S0ddilH
`
`
`
`
`YaLSM1YIANSSNOTLVOTTdd¥WAPDvP
`JOVNSNY]cAAYWAGIONSLXA“WX
`
`
`
`
`
`
`
`
`
`
`
`NW3@WAVJSTdaSING-4°9
`
`Exhibit 1016
`Unified Patents v. Synkloud Technologies
`Page 006
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 5 of 15
`
`US 6,985,927 B2
`
`FIG. 4
`
`400
`
`DATABASE TRANSACTION
`FILE
`
`FILE I)
`
`
`
`
`
`448
`
`
`
`RETURN FATAL ERROR
`
`ROLLBACK CHANGES
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`COPY READ
`p
`
`MOVE COPY
`?
`YES
`NO
`
`
`
`FILE OS ACTION
`
`440
`
`
`
`
`
`YN
`SUCCESSFULYES
`
`423
`
`
`
`406
`DATABNSE
`
`YES
`
`NO
`
`424
`
`NO
`
`RETURN SUCCESS
`
`ROLLBACK CHANGES
`
`408
`
`490
`
`436-1
`
`RETURN FATAL ERROR
`
`
`
`
`
`
`
`472
`— —
`RETURN TO MOVE FOR
`DELETE
`
`RETURN TO COPY FORY
`WRITE
`
`
`
`464
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 6 of 15
`
`US 6,985,927 B2
`
`FIG. 5
`
`
`
`IC ACTION
`CONTAINER
`
`OPERATION:
`
`OPERATION:
`
`506
`
`USER DATA
`STATEFUL BEAN
`ATTRIBUTE:
`OPERATION:
`
`PROCESS REQUEST
`STATEFUL BEAN
`ATRIBUTE:
`
`OPERATION:
`
`508
`
`USER INFO
`ENTITY BEAN
`ATTRIBUTE:
`OPERATION:
`
`SECURITY
`STATELESS BEAN
`ATTRIBUTE:
`OPERATION:
`
`512
`
`XDFILE
`CONTAINER
`ATTRIBUTE:
`OPERATION:
`
`510
`
`5.30
`
`520
`
`526
`
`RECOVERY
`CONTAINER
`ATTRIBUTE:
`
`OPERATION:
`
`53
`
`RECOVERY ID
`STATEFUL BEAN
`ATTRIBUTE:
`OPERATION:
`
`522
`
`DATABASE ID
`STATEFUL BEAN
`ATTRIBUTE
`OPERATION:
`
`FILE ID
`STATEFUL BEAN
`ATTRIBUTE:
`OPERATION:
`
`524
`
`ADMIN
`STATEFUL BEAN
`ATTRIBUTE:
`
`OPERATION:
`
`534
`MOUNT STATUS
`RECOVERY ADMIN
`STATEFUL BEAN
`STATEFUL BEAN
`ATTRIBUTE:
`ATTRIBUTE:
`OPERATION:
`OPERATION:
`
`538
`
`36
`RECOVERY ADMIN
`STATEFUL BEAN
`ATTRIBUTE:
`OPERATION:
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 7 of 15
`
`US 6,985,927 B2
`
`FIG. 6
`
`102
`
`
`
`
`
`
`
`s
`
`SERVER
`
`
`
`
`
`CLIENT
`
`USER
`AUTHENTICATION
`REQUEST
`ories
`REQUEST
`1.
`6O4
`
`
`
`PROCE
`OPERATION
`
`612
`
`
`
`
`
`
`
`
`
`LOADED ON -
`DEPLOYMENT
`/
`Pir 520
`
`FAILED OFERATION 530
`REQUEST
`/
`
`RECOVERY
`BEAN,
`
`6.30
`
`PROPERTY
`FILE
`
`
`
`
`
`538
`
`Y 532
`LOADED ON -O
`DEPLOYMENT
`536
`
`
`
`RECOVERY
`BEAN
`ADMIN
`BEAN Y536
`
`
`
`MOUNT STATUS
`BEAN
`
`
`
`FILE N.
`A
`504
`CONTAENER
`6 fo
`USER INFO
`ENTITY
`BEAN
`
`SECURITY
`BEAN
`
`USER
`INFORMATION
`
`520
`
`f52
`
`DATARASE
`
`JAVA
`TRANSACTION
`
`se
`
`62O
`
`OS FILE
`SYSTEM
`640
`
`532
`
`RECOVERY
`QUEUE
`
`534
`
`MOUNT
`STATUS
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`292JLALOcZ
`SnViS3Svavivd|\\962
`
`
`
`
`i93ra03SVeVLYd
`
`OzZ100dO22100d100d100d
`
`
`
`NOILYII4193dSNOILVOI4I03dSNOLLYOL4193¢SWsSINOLLYOL4IIIdS
`
`
`oeSNLVIS092YOLINON——C4RR3SVEVLYdSsavagTyo
`3IVdOLdNSNLWISday¢RANEYCoRR
`LOdBEL
`ONédNadgdLivJSh
`70S(NO‘SAXLSI)AdALG0FIVINdONddy
`tecrarssadfeeeseecad|ISVIVINO10
`
`(ii{
`
`{NOLIOBNNOQ!(NOTLaaNNOg!
`rae100d‘Sa100d
`QLGN3S—3dALTOSJNIWAGLIAY4SNSIHLdTNOd3Sve
`
`
`
`
`SATlevuasnvel
`
`
`
`Sheet $ of 15
`
`US 6,985,927 B2
`
`
`YOuddTWLV4
`iSvalQNIg
`gddadvol
`
`
`
`oCSI!ggIvaSON
`
`Old;
`
`
`
`ovaINIS3@OlSOIIN
`
`€aanys3H!OL
`
`Exhibit 1016
`Unified Patents v. Synkloud Technologies
`Page 010
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 9 of 15
`
`US 6,985,927 B2
`
`---
`SET MPS BEAN
`MODE FOR A MOUNT
`POINT TO RECOVER AND
`CALL RECOVER METHOD
`EXTERNAL MOUNT
`POINT CHECKED
`
`
`
`
`
`
`
`
`
`
`
`r
`
`F/G 3
`
`808
`
`
`
`RECOVERY
`OBJECT ALREADY
`RECOVERN
`
`
`
`
`
`THROW
`I
`AEXCEPTIONE
`
`3O4
`
`
`
`
`
`
`GET LIST OF MOUNT
`POINTS IN DOWN
`MODE
`
`
`
`GET LIST OF MOUNT
`POINTS IN RECOVERY
`MODE
`
`WHILE
`AVAILABLE
`RECOVERY OBJECTS
`IN OUEUE
`
`330
`
`YES
`
`812
`
`2
`
`342
`
`YES LOCK QUEUE
`FOR DISK ID
`a Y. RECOVERY
`
`PUT STATUS IN
`REQUESTER ALERT
`QUEUE
`
`
`
`
`
`
`
`840
`
`864
`
`
`
`
`
`
`
`
`
`
`
`
`
`IS SERN
`THAN FILE
`
`SUBMIT REQUEST TO
`XD FILE
`(UNRECOVERABLE)
`B2O
`
`
`
`SET DISK IN
`RECOVERY TO UP
`
`REMOVE RECOVERY
`OBJECT FROM
`QUEUE
`NO
`
`860
`NO
`
`UNo.55 FOR
`
`ENESIGNORE REQUEST
`9 FIN
`FROM THIS MOUNT
`po)
`POINT
`
`852
`
`322 854
`UNLOCK QUEUE FOR
`DISK N RECOVERY
`
`
`
`824
`
`862
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 10 Of 15
`
`US 6,985,927 B2
`
`534
`
`MOUNT POINT STATUS
`BEAN
`UP
`DOWN
`RECOVERY
`
`
`
`
`
`
`
`RECOVERY ADMIN
`BEAN
`
`LOCK COUNT
`
`FILE DB
`
`USER OISK
`- -
`970
`
`f50 Gr
`
`972
`- --
`
`RECOVERY DISK 1
`
`974
`
`
`
`Trr-all-ar
`
`RECOVERY DISK 2
`
`976
`
`
`
`
`
`RECOVERY DB
`
`
`
`
`
`980
`
`FIG. 9
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 11 Of 15
`
`US 6,985,927 B2
`
`go
`SEND TO SUN
`WEBSERVER
`
`:
`
`N---
`
`DATABASE
`a a
`a
`f074
`
`a ma as a ar a raa- a-- r
`
`m r m r
`
`- m an arm
`
`r
`
`- or
`
`1024
`
`------------ --------- T
`
`a
`
`YES
`1028
`
`I
`PROCESS
`
`CRON TO KILL OLD
`te
`1022
`TRANSCTION
`P - FLEETE---------.
`
`NO
`i. Move to final
`) --------- -
`
`3. 3.
`5
`Sg
`
`|
`
`1006
`
`1003
`
`m
`
`a
`as
`O3
`1004
`
`5
`3.
`.."
`t;
`
`the niglio
`
`1036
`the status
`PROCESS
`
`NAV SCANNERH
`IS NUI
`1026
`JAVA SERVLET/
`DAEMONTHAT LIVES :
`ON SPECIALIZED NI
`(SERs
`
`NO
`
`FETCH LOCATION
`
`
`
`:
`
`U
`
`i
`
`1070
`
`MOVE TO
`FINAL
`
`-
`
`N1064
`
`DELETE
`
`SEND TO SUN
`WEBSERVER N too
`
`DATA
`SINKS
`
`CONTROL
`FOW
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 12 of 15
`
`US 6,985,927 B2
`
`COLE
`
`AOIHO
`
`é3190]
`
`008Lx
`
`ALISTaN
`
`
`
`
`
`
`
`LiOW
`
`Isand3d$$3008d
`
`$S3004dNOW
`Jn3ndalsWON
`JAWNYasTaN
`NIOOTAVIdSIG
`
`SLINAASY3SN
`
`SSINISN
`HLMWdOs
`S3A|ynSLOV_NOD
`-4043L[S
`SCVOINNOGde
`
`TafSLINENS
`
`NMWdS[PsL1s3nd3yLINANSSSI00udéSMIVIS
`anandalsol
`NEViV@JLTYMOLVIVOYSdSNVYL
`J0¥dSAlJOVdSWIVYSN
`
`Z/LLatJOuNOSYLVA
`
`SNIVLS3lVvddnZBILJavadlsdal
`
`
`
`Gls303H9
`
`(OVHOLSdL
`
`anyanand3sn)
`Srivis1S3NDIY
`
`US4SNVAL
`
`INOQ
`
`Pik
`
`QUOMSS¥d
`
`
`
`Taf
`
`d3sfOLSALVIS
`
`Y3SfO.SNLWLS
`
`JNOQAVIdSIO
`
`4OdNTAVIdSIC
`
` uasnOL
`
`
`
`SALWLSA¥1dS10
`
`Exhibit 1016
`Unified Patents v. Synkloud Technologies
`Page 014
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 13 of 15
`
`US 6,985,927 B2
`
`XORIVE
`
`F/G, 12
`
`f200
`?
`
`
`
`
`
`
`
`1220-N XML GENERATION
`1218
`LAYER
`1218
`f216
`
`RESOURCE ACCESS
`LAYER
`
`
`
`fO2
`
`REQUEST FORYYFS
`METADATA
`p
`
`1212
`
`REQUEST
`PROCESSING LAYER
`
`1210
`
`t
`
`f2O2
`...:
`
`
`FILE ACCESS SERVICEACCESS SERVICE
`- NETwork I/O LAYER
`
`
`
`REQUEST
`PROCESSING LAYER
`
`1204
`
`1230
`FILE MANIPULATION
`SERVICE
`
`
`
`f232
`
`1234
`
`XML PARSER LAYER
`
`1236
`
`
`
`DATA
`STRUCTURE
`
`1258
`
`DATA DISPLAY
`LAYER
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 14 of 15
`
`US 6,985,927 B2
`
`
`
`GnGO'SE-lqweyegDmw@(wpAddas§uanoocp4dJennyasSHIPStaadupry§vancemaspuy”
`
`
`
`womenEX)UloraNIirAWNBe(3)aud"
`
`9
` a9PqCpunaisegAdo>INDdrpueMioy430gsf(SoWoaey5MIAUPIally
`esSuiuinwac“yods)
`
`
`
`Papo[afons
`ICLOZLEGOOZ/rLAOJapyOsS14av|WVLS:2
`WVBS-8OOOUEZ/EDJOPIOYalyCZpequaogaindasCJ
`
`
`
`6661/07/80Japjolay!J
`
`
`
`
`
`
`
`
`
`
`
`
`5
`
`
`
`JoyWuatsksueg}O.U0D(>OyWayShs,sd
`
`
`
`& O
`
`“AALDIXBsnOL‘SWONOTUISUI_a-
`fO492]26
`
`
`
`ObS|‘OfOSfi
`
`
`
`weiboigVOr2>ydy9
`
`Jaynduic>Ay-Bujoawt
`
` SBWJOARS
`
`
`
`
`
`
`
`ayAUNDOBONOASNfe
`
`
`
`uawinsegexlyqusd<4
`
`
`
`syopdysmopuin,GY
`
`Ufa3j2/00yQ
`
`
`
`Offs
`
`Exhibit 1016
`Unified Patents v. Synkloud Technologies
`Page 016
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jan. 10, 2006
`
`Sheet 15 0f 15
`
`US 6,985,927 B2
`
`• ... * - * *
`
`
`
`
`
`
`
`GIFTS & GEETxDGOETTERTIET?s [GERTENE ?L??I?I?l?,
`
`Tindt-Jaeld?,
`
`
`
`US 6,985,927 B2
`
`1
`SHARED INTERNET STORAGE RESOURCE,
`USER INTERFACE SYSTEM, AND METHOD
`
`CROSS-REFERENCES TO RELATED
`APPLICATIONS
`
`This application is related U.S. Provisional Patent Appli
`cation No. 60/163,626 filed Nov. 4, 1999. This application is
`a continuation of U.S. patent application Ser. No. 09/570,
`583 filed May 12, 2000 now U.S. Pat. No. 6,351,776. All
`applications to which the present application is related are
`incorporated herein by this reference thereto.
`COPYRIGHT AUTHORIZATION
`
`Portions of the disclosure of this patent document may
`contain material which is Subject to copyright protection.
`The copyright owner has no objection to the facsimile
`reproduction by anyone of the patent disclosure as it appears
`in the U.S. Patent and Trademark Office patent files or
`records, but otherwise reserves all copyright rights whatso
`CWC.
`
`15
`
`BACKGROUND OF THE INVENTION
`
`2
`Enterprise JavaBeansTM/EJBs allow serialization of
`beans. Such Serialization allows the bean to be represented
`as a data Stream of determined length. In essence, this is just
`a data file that is interpreted in the proper context, much the
`Same as any electronic information file. Such Serialization of
`the EJB allows it to be replicated and stored in case of
`catastrophic failure of a preferred Server or the like.
`If the server upon which the instantiated EJB dies, goes
`down, or fails, a previously replicated twin can be used to
`continue the proceSS and allow for error recovery. More
`information about Enterprise JavaBeansTM technology can
`be found in the white paper, “Enterprise JavaBeansTM Tech
`nology: Server Component Model for the JavaTM Platform”
`by Anne Thomas, revised December 1998, prepared for Sun
`Microsystems, Inc. and published/made available by the
`Patricia Seybold Group of Boston, Mass.
`Due to the nature of new technologies, terms Such as
`“bean” or “instantiated” may seem unfamiliar to those new
`to the pertinent art. Reasons for this include the difficulty of
`communicating quickly new and complex Subjects as well as
`the good-humored nature of those who intensely pursue the
`establishment of new technology, particularly Software Sys
`tems. Consequently, for JavaE)-related Systems, a coffee
`theme is often present that indicates to those knowledgeable
`in the art the general Subject matter of interest. While
`distinctions may be Subtle in the art, they can be very
`important and Serve the ends of those attempting to estab
`lish, Share, and forward the technology.
`Generally, home pages or other web pages are requested
`by the user through designation of the URL (Uniform
`Resource Locator). With the transmission to the user via
`TCP/IP protocol, the information present at the URL (and
`generally a file located Somewhere on a computer) is trans
`mitted to the user. The file may have links, or pointers, to
`other resources including images, graphics, audio or video
`Streams, or other resources. Mark-up language is used on the
`Internet in an attempt to provide an open-ended Structure by
`which information of any Sort that can be Stored electroni
`cally (or perhaps even otherwise) can be made available to
`an end user on demand. AS Such, the Internet is seen as a
`powerful tool making almost any information resource
`available to any computer or to any perSon using a computer.
`Over the past Several years, the personal computer has
`increased in power and capacity as commercial demand has
`driven the research and development of producers and
`vendors. It is now not uncommon to be able to easily find an
`Intel-manufactured 500 megahertz, Pentium(R)-based system
`having well over 10 gigabytes of hard disk Space, as well as
`32-256 megabytes of RAM. As such, the power by which
`files may be received and acted upon by the local user
`through his or her PC has kept pace with the advances in
`technology.
`However, there currently remain obstacles to universal
`access to an individual’s own information Stored on his or
`her computer. First of all, computers are very heavy. They
`are bulky. They generally weigh Several kilograms and are
`not easily transportable. Lightweight laptop computers or
`the like generally do not have the same resources available
`to the user as a regular PC. Additionally, access to local area
`networks (LANS) is generally not available once the com
`puter leaves the premises occupied by the LAN. Addition
`ally, Internet access is often restricted by the use of a
`modem. Modems generally provide data transmission
`speeds on the order of 56 kilobits per second. This is
`approximately the same as 7 kilobytes per Second. However,
`
`1. Field of the Invention
`This invention relates to resources on computer networks,
`particularly the Internet, and more particularly to a file
`Storage and retrieval System that is available worldwide via
`the Internet which additionally allows a direct transfer of
`Internet files to an Internet Storage, retrieval, and Sharing
`resource. The present invention acts in the manner of a
`“Internet hard disk” or “Internet hard drive” to provide
`online Storage and retrieval resources for users.
`2. Description of the Related Art
`The Internet is the worldwide computer network making
`available a vast number of computer and information
`resources to institutions and individuals. A significant part of
`the Internet is the worldwide web that allows for web pages
`to be written in HTML and transmitted upon demand
`throughout the Internet. Recent developments have better
`established the use of XML (Extensible Markup Language)
`as a subset of SGML (Standard Generalized Markup Lan
`guage, ISO standard 8879: 1986). FTP (File Transfer Proto
`col) provides means by which files may be transferred over
`the Internet. All of these protocols are generally well known
`in the art, and collateral resources can easily be obtained to
`describe these further.
`Additionally, portable programming Systems. Such as
`Java(R), JavaBeans, and JavaScript have been extensively
`developed with an anticipation of future portability acroSS
`the vast network that is the Internet. Java(F)-related systems
`allow for object-oriented programming whereby objects or
`“beans” allow the passing of self-contained modules with
`asSociated processing methods that are used to act upon the
`accompanying data. Consequently, the “bean” can travel
`through a network and, under appropriate circumstances,
`have certain processes activated allowing manipulation of
`the information contained in the bean.
`Advancements in JavaErelated Systems have given rise to
`the Enterprise JavaBeanTM (EJB). The Enterprise Java
`BeanTM allows for clustering of servers such that the bean is
`given independence from Specific Servers on the System, yet
`can be activated or “instantiated” Such that error recovery is
`easier, the System as a whole is more robust, and processing
`of the bean can be performed asynchronously So that all
`events do not have to happen at a pre-Set time or Serially/one
`after the other.
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`3
`headers and other information are required to properly
`transmit information over the Internet and increase the
`effective size of files.
`Even with the increased availability of broadband access
`to the Internet, it becomes an important feature of electronic
`information processing and the like in order to provide
`resident resources on the Internet. Such resources could
`include the sharing of files and the like in a manner that are
`easy to use and understand.
`Due to these and other restrictions regarding data trans
`port, transmission, and reception, a need has arisen for
`means by which files and other data may be available
`worldwide through the Internet and not tied to a local
`computer. The present invention addresses this demand by
`providing means by which files and other data may be stored
`on the Internet and made available worldwide through the
`Internet.
`
`15
`
`SUMMARY OF THE INVENTION
`
`The present invention provides an “Internet hard drive” or
`“Internet hard disk” to and from which files may be stored
`and retrieved. Denominated commercially as “X: Drive,” the
`present invention allows users to Store files of foreseeably
`any type on a resource available throughout the Internet.
`Once available to the Internet, the files stored on the user's
`X: Drive are available to the same extent as the Internet,
`namely worldwide.
`Note should be made that the term “X: Drive' refers both
`to the System as a whole and to the individual space
`allocated to an individual user. Consequently, reference is
`sometimes made herein to the X: Drive system or to X: Drive
`to refer to the System as a whole. At other times, the term
`X: Drive indicates the user's individual X: Drive, or allocated
`Space. The different uses are indicated by context.
`In order to effect the Shared Internet Storage Resource of
`the present invention, a central or distributed Storage facility
`is provided. First and foremost is the high-Speed acceSS
`Storage facility where files are actually Stored. Such indi
`vidual Storage areas may be allocated in individual limited
`allotments, or be left open-ended and limited only by the
`capacity of the physical devices responsible for Storage.
`Metadata, that is data about the files stored on the network
`hard drives or other Storage devices, is generated and Stored
`in a separate database. The database of metadata (the meta
`database) and the network-attached storage facility may be
`linked by an internal network. It is possible for the database
`to be Stored on the same network Storage facility or device
`on which user files are also stored. System management may
`Select whether or not to distribute or consolidate the data
`base with the network Storage.
`Also attached to the internal network is a web server that
`Serves to generate and transmit the information to the
`Internet, and ultimately the user. The web server files may
`pass through a load balancer and/or firewall before proceed
`ing on to the Internet. The same is similarly true for
`information coming into the Web Server from the Internet.
`XML may be used in combination with JavaScript or the
`like to provide two means by which the Shared Internet
`Storage ReSource of the present invention may be achieved.
`The first is a JavaScript object which may be transmitted to
`a browser program running on the user's computer. Such
`browserS may include ones that are well known, including
`Netscape(R) Communicator and Microsoft(R) Internet
`Explorer. Alternatively, a Stand-alone application may be
`installed and Stored upon the user's computer. This Stand
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,985,927 B2
`
`4
`alone application Serves to intermediate the user commands
`with the web server and ultimately the metadatabase in the
`Internet Storage device.
`AS an additional enhancement, the user interface may be
`a client program that meshes Seamlessly with Standard user
`presentations in WYSIWYG (what you see is what you get)
`graphic user interfaces (GUIs). AS Such, a drive may be
`shown on the user's computer and may be denominated "X:
`(or "y:” or “Z:”, etc., depending upon user preferences). The
`user can then read from or write to the X:\Shared Internet
`Storage ReSource drive much in the same way as you would
`the local a:\ and c:\ hard drive.
`When the user shuts down his or her computer, informa
`tion that is stored on the Shared Internet Storage Resource
`of the present invention remains on the Internet. The user
`can then acceSS Such information from another computer,
`another geographic location, or even give permission to
`share files on the Shared Internet Storage Resource with
`others. Password protection or other Security protocols may
`be used to limit or discriminate access to the user's files.
`The Shared Internet Storage Resource of the present
`invention allows for direct Internet-to-Internet file transfer to
`a user's allocated X: Drive file Space in a process referred to
`as “Skip the Download” or “Save to My Xdrive.”
`
`OBJECTS OF THE INVENTION
`
`It is an object of the present invention to provide a Shared
`Internet Storage ReSource on which users may store and
`retrieve files to make them available to themselves, or
`possibly others, throughout the Internet.
`It is an additional object of the present invention to
`provide all manner of file access and control generally
`available to files local to the users for Such Internet-stored
`files.
`It is an additional object of the present invention to
`provide an easy-to-use and readily understood user interface
`through which files may be Stored, retrieved, and manipu
`lated on the Internet.
`It is an additional object of the present invention to gather
`metadata regarding Such files and to Store Such metadata in
`a database.
`It is yet another object of the present invention to provide
`a plurality of means by which Internet-stored files may be
`manipulated and controlled.
`It is yet another object of the present invention to provide
`a browser-based access to Internet-Stored files.
`It is yet another object of the present invention to provide
`Stand-alone application access to Internet-Stored files.
`It is yet another object of the present invention to provide
`means by which Internet files may be stored on an Internet
`resource by a direct Internet-to-Internet transfer Subject to
`the control of a remote or limited-resource user.
`These and other objects and advantages of the present
`invention will be apparent from a review of the following
`Specification and accompanying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a schematic view of the X: Drive system of the
`present invention. The different tier levels are shown, along
`with the marking indicia of a circle, triangle, Square, and
`Star/asterisk corresponding to the same indicia in FIG. 3.
`FIG. 2 is a schematic view of Java(E) library objects
`operating in the transactions or data eXchanges occurring in
`the present invention.
`
`
`
`US 6,985,927 B2
`
`S
`FIG. 3 is a detailed flow diagram showing the operation
`of the present invention. Indicia including a circle, a triangle,
`a Square, and a Star/asterisk correspond to tier levels shown
`in FIG. 1 and indicate the level of operation of the steps
`shown in the flowchart of FIG. 3.
`FIG. 4 is a flowchart showing the operation of the XDFile
`Enterprise JavaBeanTM (EJB) used in the present invention.
`FIG. 5 is an overview of the Java(E) architecture used to
`effect transactions in the present invention.
`FIG. 6 is an alternative schematic diagram of the Java(E)
`architecture shown in FIG. 5.
`FIG. 7 is a schematic and flowchart diagram showing the
`IO (input/output) for the database transactions of the present
`invention.
`FIG. 8 is a Schematic diagram of the data recovery proceSS
`as effected by the FileIO component of the XDFile object
`used in the present invention.
`FIG. 9 is a schematic depiction of failure recovery ele
`mentS.
`FIG. 10 is a schematic and flowchart diagram showing
`Virus protection effected in the present invention.
`FIG. 11 is a schematic and flowchart diagram of the
`Internet-to-resource transfer ("Skip the Download”/"Save to
`My Xdrive”) as set forth in the present invention.
`FIG. 12 is a schematic and flowchart diagram of the client
`System used in the present invention.
`FIG. 13 is a WindowsTM desktop display showing both the
`client and web-browser applications.
`FIG. 14 is a display of a web browser pointing to a user's
`X: Drive.
`
`BRIEF DESCRIPTION OF THE APPENDICES
`
`The following appendices are incorporated herein by this
`reference thereto.
`Appendix 1 is a listing of web site/server code use to
`achieve the present invention.
`Appendix 2 is a listing of the code used on the client Side
`to achieve the present invention in a Microsoft(R) WindowsTM
`environment.
`Appendix 3 is a listing of the JavaScript code used to
`achieve the present invention in a Sun Microsystems(R)
`JavaE) environment (including one on a browser).
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT(S)
`
`The detailed description set forth below in connection
`with the appended drawings is intended as a description of
`presently-preferred embodiments of the invention and is not
`intended to represent the only forms in which the present
`invention may be constructed and/or utilized. The descrip
`tion Sets forth the functions and the Sequence of Steps for
`constructing and operating the invention in connection with
`the illustrated embodiments. However, it is to be understood
`that the same or equivalent functions and Sequences may be
`accomplished by different embodiments that are also
`intended to be encompassed within the Spirit and Scope of
`the invention.
`Appendices 1, 2, and 3 provide the Source code for,
`respectively, the Web Site/Server Code of the X: Drive
`Shared Internet Storage ReSource System of the present
`invention; the Windows Client Code; and the JavaScript
`Listings for the present invention. These Appendices are
`incorporated herein by this reference thereto as if Set out in
`their entirety. It is contemplated that these Appendices
`
`6
`provide a full, complete, and enabling disclosure to those of
`ordinary skill in the art or less by which the present
`invention may be achieved.
`Additionally, the reference numbers used in conjunction
`with the figures are numbered such that the 100's place of
`the number indicates the number of the drawing figure. For
`example, the 600 series of reference numbers refers to FIG.
`6, while the 200 series refers to elements shown in FIG. 2.
`The present invention provides a method by which an
`Internet hard disk or hard drive may be achieved in a manner
`similar to a hard disk or hard drive available locally to the
`individual on the local computer. Additionally, as Internet
`use becomes a more familiar and everyday event for people,
`the resources provided by the present invention may allow
`the actual use of the Internet hard drive or X: Drive set forth
`herein to act as Such a resource with the files being called up
`for execution for programs available and processed either
`locally and/or over the Internet. In light of the foregoing, it
`can be seen that the present invention may act as a bridge or
`may pave the way towards a more inter-networked com