`
`(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
`
`
`
`US. Patent
`
`Jan. 10, 2006
`
`Sheet 2 0f 15
`
`US 6,985,927 B2
`
`e
`N
`
`a:
`
`S
`
`2
`
`‘1'
`
`QL
`
`IJ
`(n
`:>
`
`g:L)
`
`Ea:
`I—Lu
`3%}_.
`525
`1001—1—12
`gems
`mmsa
`(mLLJl—LJ
`‘3: m2
`I—fi—DI
`QUOr—I
`
`C:
`
`H
`
`a
`N
`
`S
`(V
`
`s-
`N
`
`o
`a
`
`_
`.
`
`Mme
` OSFILESYSTEM
`1!
`[I'll] M w
`\\§\\\\\\O-
`BIGSEARCH
`IRANSACT‘ON
`
`224
`
`ED:
`.3
`Lu
`(I)
`
`3(
`
`ZOh
`
`—fl
`(I)
`(J)Lu
`(J)
`
`p _
`
`I
`
`236
`
`DATABASE
`
`SEARCH
`
`—
`
`'
`
`202
`
`._.
`
`Q
`:4-
`
`x
`
`....
`
`<
`
`Hem re,
`L:
`g;D
`E
`
`N
`
`L:
`
`274
`
`276
`
`22.?
`
`Exhibit 1016
`Unified Patents v. Synkloud Technologies
`Page 004
`
`
`
`US. Patent
`
`J
`
`2
`
`2B729,589,6
`
`memmoomaJoz232%?m02m35.5
`0,NE,
`
`can.DV553%$9.55:58a:miM.oz5%wemg@5250x85\
`
`
`
`.azemmgfim6i
`
`x25%5:E.035:
`
`
`
`MWN35%95:8”.55%
`
`
`
`92.5mozEn2mm
`
`2.0309vnm.
`
`SE559%.05
`
`man85a»99(E<ND,
`
`Da,3Tmg:
`
`NE
`
`cm.“
`
`V9
`
`
`
`S550U9ME:22»:
`
`
`
` ea25%oz_H_$535:95,25
`
`:55mm»,%DES9325_H_.5323%%£832%mo?
`
`55%ME2:12:85E5288”5%afcan.i0maZenaa:wi953%.
`
`92mmawn
`5<£5a»“235%”5%:
`
`
`
` $3528n;QNM.MwWE,we;553m930
`
`Exhibit 1016
`Unified Patents v. Synkloud Technologies
`Page 005
`
`
`
`
`
`
`
`US. Patent
`
`Jan. 10, 2006
`
`Sheet4 0f15
`
`US 6,985,927 B2
`
`
`
`5:me@381<22T:55
`
`.05ESE:
`
`
`
`5:.055:E9859
`
`352%:
`
`:383x95325%?
`
`._:xEfizmnéuzm
`
`oz<xmoEzmo“
`
`O3%
`
`ozx42x55%
`
`
`
`momyfimmammozmm
`
`Em:
`
`92¢55E59.
`
`Em:9m>mmm
`
`£339
`
`EEEZUIRZ
`
`zowmmmmm3<§
`
`.5”..me
`
`550mmmmfim
`
`xmofi:
`
`
`
` Eimmm.9550mm:53
`
`
`
`pmmDOmmEOE
`
`
`
`
`
`E42532mmmEVNM.
`
`
`
`8%E.E558:“Em
`
`bobmomEh:
`
`22;me
`
`53:00
`
`
`
`NIMGE0gm,an
`
`
`
`>3mm;28m
`
`SE283H880
`
`
`
`
`
`IE9835mmmow—Ezofimmmm
`
`Nam.
`
`
`
`
`
`mommmonmmmmmmfi.
`
`
`
`
`
`Dmm>mmm29585;,“(>5.
`
`090252333EB
`
`mm>~mmmm;
`
`xoim
`
`
`
`25m<><ammEmmmEm
`
`mm>$m
`
`
`
`
`
`
`
`
`
`5530«gum20:53;<><_..u<_._
`
`
`
`
`
`85sz$5228225.5“ix
`
`26m(33mmEnEmzzM”mi
`
`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
`
`
`
`US. Patent
`
`Jan.10,2006
`
`Sheets 0f15
`
`US 6,985,927 B2
`
`SK“0:20:
`
`«mmETETRN\\48m2/.\\400m/_50:82on.
`
`
`ME9a:$25a:aWigJaWe?“40:8350282200:87.202$220_\wmizmm:2$115“«mnnunmuwwmmmnnunmmw
`82$MESS,2,.3,QR
`
`
`
`50:82on.5888SE258
`
`5:5meg/:3J“;me555Jive
`
`
`
`F8305553
`
`an58qmm58SE38
`
`
`
`
`
`zozézsmam2025505225:5QOamazoEuEBQm
`
`NQCmm
`
`Imeg
`
`QRa
`
`amso.m>V:m:a:moEsmaomg,‘%%WWWWm7mmmmmwm999.5:amMZHEEQ
`En.mengfim.
`
`mo52%mi2
`
`
`
`mm»fiméwmzé
`
`ww“5mgme2mm:oa?2mo2mm:oz
`
`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
`
`
`
`US. Patent
`
`Jan. 10, 2006
`
`Sheet12 0f15
`
`US 6,985,927 B2
`
`No:KNQC
`
`xomzo
`
`)52E$62:£25£55mm:\5&9”a;
`
`58%2035iiiiiiiiiiiiiiiii
`
`
`mmwmmrmwmwmfiflmmomaximnEE85w:5Em:
`@E:x25(:5mm:
`
`mm»#5m5<-zoo2H<25”Em;oh(:3”Emzfit
`
`99:\\
`
`NA:VA:5138<25
`
`ES#5
`
`
`
`em:mazeEm:9:
`
`mane9m9Egg:2amafiam£25222%we:
`
`253>5mm5
`
`IE;38
`
`#3
`
`pmmaomm
`
`Em:
`
`
`
`.E:mZEmzm
`
`em1310
`
`5%EDGE
`
`Q24was$3
`
`muéem139
`
`zmcmzéh
`
`mzoo
`
`
`
`mzoa>Sn_m5
`
`Em:EmEEm
`
`
`
`mom”:yfiamE
`
`Em:C.mafim
`
`3:
`
`mpflzmzmgm:
`
`2242Em:E:
`
` omoimmi
` mum:OF
`
`825Enema
`
`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
`
`
`
`US. Patent
`
`Jan. 10, 2006
`
`Sheet 14 0f 15
`
`US 6,985,927 B2
`
`
`
`Em
`
`Baum.EOU
`
`
`
`_£Efimamtang—05:3U285%23:5.U£0332~&Eowflfuflzcs!@
`
`
`
`._a«8.0m25.xmm:2.wnwmozueymfim.
`
`355.£33€88.2.8an.”Eu;n.sznn555m
`
`
`
`
`
`
`
`3.2MJ\.,0\Q9?
`
`
`
`bSanu>2-5.5.5.me&
`
`
`
`.559;:38.a3.
`
`
`
` 3w:minim
`
`
`
`
`E3388:55.8W....I.“8,5088:552m
`
`
`
`
`
`SEEKmmmgfiwo.530“.J;
`
`
`
`AEm@ma.aumA«EuEzuaqG
`
`
`“Emao'E:alum“.[n8:032922xmA£53aA2.885.a
`
`'a_ol..I$Eo>£0mm26$:3mi2.3Q.cal:mucucfifi
`
`
`echo
`
`Eng
`
`
`
`:25":.oooSSB.523«E
`
`
`
`S<mmumoooqmflmo5:2m5
`
`
`
`583$5
`
`on?
`
`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 commu
`nity for the use and processing of electronic information.
`The virtual disk drive provided by the present invention
`may be selectively shared with others or kept entirely
`private. Additionally, and as Set forth in more detail below,
`the use of a metadatabase provides quicker acceSS and the
`ability to distribute the information regarding the legion of
`X: Drive accounts over a wide geographic area, enabling
`redundant preservation of user information by Server clus
`ters implementing Enterprise JavaBeans(R (EJBs), or other
`wise.
`The Shared Internet Stora