throbber
(12) United States Patent
`MOOre et al.
`
`USOO66787OOB1
`(10) Patent No.:
`US 6,678,700 B1
`(45) Date of Patent:
`Jan. 13, 2004
`
`(54) SYSTEM OF AND METHOD FOR
`TRANSPARENT MANAGEMENT OF DATA
`OBJECTS IN CONTAINERSACROSS
`DISTRIBUTED HETEROGENOUS
`RESOURCES
`
`(75) Inventors: Reagan W. Moore, San Diego, CA
`S. (EE Sea
`s
`s
`s
`(US)
`9.
`
`rr. A
`(73) Assignee: General Atomics, San Diego, CA (US)
`-
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/559,862
`(22) Filed:
`Apr. 27, 2000
`
`(56)
`
`2- Y-
`
`allad . . . . . . . . . . .
`
`5,819,296 A 10/1998 Anderson et al. ........... 707/204
`5,832,500 A 11/1998 Burrows ..................... 707/103
`5,832,506 A 11/1998 Kuzma ....................... 707/200
`5,864,843 A 1/1999 Carino, Jr. et al. .
`... 707/102
`5,864,864 A
`1/1999 Lerner ................
`5,870,742 A
`2/1999 Chang et al. .................. 707/8
`s: A : 3.
`st et al. ................7C.8.
`5,940,827 A * 8/1999 Hapner et al. ......
`... 707/8
`5,943,666 A 8/1999 Kleewein et al. .............. 707/2
`6,003,044 A 12/1999 Pongracz et al. ........... 707/204
`6,009,428 A 12/1999 Kleewein et al. ............. 707/10
`6,014,667 A 1/2000 Jenkins et al. .........
`... 707/10
`6,016,495 A 1/2000 McKeehan et al. ......... 707/103
`6,178,440 B1
`1/2001 Foster et al. ................ 709/201
`6.253,253 B1
`6/2001 Mason et al. ............... 709/315
`6,336,147 B1 * 1/2002 Brownell et al. ........... 709/310
`6,349,342 B1 * 2/2002 Menges et al. ............. 709/316
`6,601,195 B1 * 7/2003 Chirashnya et al. .......... 714/43
`y
`OTHER PUBLICATIONS
`Brochure on The Spring Implementation Conference; by The
`Data Warehousing Institute TM, 849-J Quince Orchard Bou
`levard, Gaithersburg, Maryland 20878, May 7-12, 2000, 3
`pages.
`Briefing. The Age of Petabytes, Red Herring, Mar. 2000,
`Selected pages (42 total).
`* cited by examiner
`Primary Examiner Shahid Alam
`(74) Attorney, Agent, or Firm-Howrey Simon Arnold &
`White, LLP
`(57)
`
`7
`(51) Int. Cl." ................................................ G06F 17/30
`(52) U.S. Cl. ..................... 707/200; 707/10; 707/103 R;
`709/201
`(58) Field of Search .......................... 707/3, 8, 10, 100,
`707/102, 103 R, 203, 205; 709/201, 203,
`310,316, 200; 714/43
`References Cited
`U.S. PATENT DOCUMENTS
`... 395/600
`5,325,524 A 6/1994 Black et al. ...
`... 395/200
`5,329,619 A 7/1994 Pagéet al. .........
`A System of and method for maintaining data objects in
`... 395/650
`5,345,586 A 9/1994 Hamala et al. ...
`containers acroSS a network of distributed heterogeneous
`... 395/600
`5,483.652 A 1/1996 Sudama et al. ...
`i. A 3.
`Ms. - - - - - - - - - 3.38 resources in a manner which is transparent to a client. A
`2 - - -a-
`a CCC. C. a.
`lient
`t
`taining t
`tai
`lved b
`5,495,607 A 2/1996 Pisello et al. ............... 395/600 Spring E.A.R.E.
`5,506.984. A 4/1996 Miller ..........
`... 395/600
`E. h one or more copies of the Sir Finant O
`5,596,744. A 1/1997 Dao et al.......
`... 395/610
`9.
`p
`5,606,693 A 2/1997 Nilsen et al. ............... 305610
`the E. play th meta data for the star SE
`5,721,916 A
`2/1998 Pardikar ..................... 305,617
`any changes made to the container as a result processing the
`5,727,145 A * 3/1998 Nessett et al. .
`... 713/200
`request, and, if a copy of the container has changed, chang
`5,727.203 A * 3/1998 Hapner et al. ...
`707/103 R
`ing the Status of the copy to indicate dirty status or Synchro
`5.737,607 A * 4/1998 Hamilton et al. ........... 709/316
`nizing the copy to one or more other copies that may be
`5,793.965 A * 8/1998 Vanderbilt et al. .......... 709/203
`present on the System.
`5,809,507 A 9/1998 Cavanaugh, III ........... 707/103
`5,819,275 A 10/1998 Badger et al. .............. 707/100
`
`ABSTRACT
`
`
`
`17 Claims, 27 Drawing Sheets
`
`-130
`(EE
`ANDF008JECT
`
`- 31
`
`i32
`
`-133
`
`-136
`
`WRITEEAA
`
`o; To
`
`upon SADT
`
`CANER
`
`-134
`
`SYNCHR032E
`WIfANY
`OTHER CPS
`
`35
`
`ARKCCPY
`AS
`BRiy T
`
`HPE, Exh. 1005, p. 1
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 1 of 27
`
`US 6,678,700 B1
`
`
`
`2.
`ars H
`9.
`2
`t
`-
`
`d
`
`d
`O
`a.
`
`Ysses
`
`V
`
`t
`e
`
`95
`
`O
`s
`
`C
`l
`2
`C
`
`HPE, Exh. 1005, p. 2
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 2 of 27
`Sheet 2 of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`LYOW
`
`
`
`NOWWWOMIdd¥
`
`
`
`(LN3IT19aus)
`
`
`
`HPE, Exh. 1005, p. 3
`
`HPE, Exh. 1005, p. 3
`
`
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 3 of 27
`Sheet 3 of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`xe
`
`> oo
`a 32 He
`oeFE i
`a Sc
`a_
`- 2
`aa
`a 92
`
`=2
`
`FIG.3
`
`HPE, Exh. 1005, p. 4
`
`HPE, Exh. 1005, p. 4
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 4 of 27
`
`US 6,678,700 B1
`
`d
`
`AWOW
`
`6
`
`auS3LOWSY
`
`XINNxn|SSdH|39¥INN|H3HLO|zea|a770v"0
`ablerIELGELeel
`(LNaIT9aus)\26NOMWONdd¥
`
`
`LI
`
`OL
`
`YAHLWdSid
`
`
`
`
`
`YATONVHLS3NDIYTSAI1HOH
`
`
`
`
`
`YITONVHLSANDIYT4A37MOI
`
`et
`
`
`
`SYSAIHGJdAL-8G
`
`HPE, Exh. 1005, p. 5
`
`HPE, Exh. 1005, p. 5
`
`
`
`
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 5 of 27
`
`US 6,678,700 B1
`
`Client
`
`20
`
`lsSue a Create COntainer
`Call - SrbContainerCreate().
`Input: Container Name,
`logical reSOUrce
`
`
`
`
`
`Server
`Interpret the request - Call
`SvrContainerCreate()
`
`21
`
`
`
`
`
`22
`
`Generate Container metadata
`and Store them in MCAT
`
`AllOCate reSOUrCe in the
`"permanent" resources
`
`
`
`23
`ReSOUrCe 1
`
`ReSOUrCe2
`
`
`
`
`
`
`
`Reply to client on
`SUCCeSS/failure
`
`FIG. 5
`
`HPE, Exh. 1005, p. 6
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 6 of 27
`
`US 6,678,700 B1
`
`30
`Client
`issue a Create Object Call
`SrbObjCreate().
`input. InContainer Object
`Name, Container Name
`
`Server
`Interpret the request - Call
`inContainerObjCreate()
`
`3.
`
`Query MCAT for Container
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`33
`
`
`
`An up-to-date Cache
`copy exists?
`NO
`34N Stage from "permanent”
`copy to Cache resourse
`
`Update container metadata
`35 N with MCAT to include Cache
`Copy
`
`SRB Server -
`"permanent
`COpy
`
`SRB Server 2 -
`
`reSOUCe
`
`Create metadata for
`inCOntainter object and
`register with MCAT
`
`Seek to the end of the Cache
`Copy. Allocate and fill in a
`SRB file descriptor
`
`
`
`Reply to Client
`Success - SRB File Descriptor
`Failure - error COde
`
`FIG. 6
`
`HPE, Exh. 1005, p. 7
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 7 of 27
`
`US 6,678,700 B1
`
`40
`Client
`SSUe a Create Object Write
`call - SrbObjWrite().
`Input. SRB File descriptor
`WriteSize
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`issue a SRB Object Close
`call - SrbObjectClose().
`Input: SRB File descriptor
`
`
`
`SerWer
`interpret the request - Call
`SvrObjWrite()
`
`41
`
`42
`
`SRB Server 2
`
`SOC
`
`43
`
`46
`
`SRB Server 2 -
`Cache
`eSOUCe
`
`LOCate the Opened File DeSC
`Use the parameters
`aSSOciated with the Opened
`File DeSC.
`Write to the Cache Copy
`Keep track of the object size
`and COntainer Size
`
`Reply to Client
`Success - Bytes Written
`Failure - error COde
`
`issues Call
`
`Locate the Opened File DeSC.
`• Close the Cache Copy
`Update MCAT On Object and
`COntainer sizes
`• Mark Cache Copy dirty
`
`Reply to Client
`SUCCeSS - 0
`Failure - error COde
`
`FIG. 7
`
`HPE, Exh. 1005, p. 8
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 8 of 27
`
`US 6,678,700 B1
`
`50
`Client
`issue a Sync Container call
`- SrbSyncContainer().
`input: Container Name
`Purge Flag
`
`SerWer
`Interpret the request - call
`SVrSyncContainer()
`
`5
`
`Query MCAT for Container
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ls there a "dirty" copy
`for this COntainer?
`
`YES
`53N Replicate the "dirty" Copy
`to archiva resOurces
`
`
`
`SRB Server 1 -
`"Dirty" Cache
`COpy
`
`SRB Server 2 -
`Archival
`reSOurce 1
`
`
`
`
`
`54
`
`Update MCAT On the archival
`COpies
`Mark all copies "Not-dirty"
`
`SRB Server 3
`Archival
`reSOUrce 2
`
`Purge Flag on?
`
`Purge the "cache" Copies
`
`Reply to Client
`Success - 0
`Failure - error COde
`
`FIG. 8
`
`HPE, Exh. 1005, p. 9
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 9 of 27
`
`US 6,678,700 B1
`
`60
`Client
`issue a Open Object Call-
`SrbObjOpen().
`input: Object Name to be
`Opened
`
`Server
`Interpret the request - call
`isrvObjOpen()
`
`61
`
`Query MCAT for Object's
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Handle
`Opening Of a
`nOrmal
`object
`
`64
`
`An inCOntainer
`Object?
`
`A Cache COpy
`exist?
`NO
`Stage from "permanent" to
`Cache reSOUrCe
`
`Update Container metadata
`With MCAT to include
`Cache Copy
`
`Seek to the offset in the
`cache copy where the object
`is located.
`AIOCate and fill in a SRB
`file descriptor.
`Reply to Client
`Success - SRB File descripto
`Failure - error COde
`
`
`
`
`
`B
`
`SRB Server 1 -
`permanent
`Copy
`
`SRB server 2
`Cache
`eSOCC
`
`FIG. 9
`
`HPE, Exh. 1005, p. 10
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 10 of 27
`
`US 6,678,700 B1
`
`70
`
`Server
`Interpret the request - call
`SVrObjRead()
`
`71
`
`Client
`issue a SRB Object Read
`Call - Srb0bjRead().
`Input: SRB File descriptor
`Read size
`
`-is "
`
`More
`Read
`NO
`
`
`
`
`
`
`
`
`
`
`
`
`
`• Locate the Opened File DeSC.
`Use the parameters
`aSSOciated with the Opened
`File DeSC.
`• Read from the Cache Copy
`
`Reply to Client
`SuCCeSS-Bytes read
`Failure - error COde
`
`72
`
`SRB Server 2
`Cache
`CSOUCe
`
`73
`
`76
`
`75
`issue a SRB Object Close
`call - SrbObjectClose().
`input. SRB File descriptor
`
`
`
`Interpret the request- call
`SVrObjClose()
`
`
`
`SRB Server 2
`Cache
`Locate the opened File Desc. "
`77N Close the Cache COpy
`MCAT
`
`
`
`
`
`
`
`Reply to Client-
`Success - 0
`Failure - error Code
`
`78
`
`FIG. O
`
`HPE, Exh. 1005, p. 11
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 11 of 27
`
`US 6,678,700 B1
`
`£8
`
`98
`
`&8
`
`8
`
`88
`
`8
`
`LB
`
`08
`
`Ge’21S1-92-10-000¢
`
`dAVLSSWILASIGOW
`
`GeLb'SL-91-10-0002
`
`AWVLSSWIL3LV3u0
`
`9€°L)SL-9¢-10-0002
`
`9°21'S1-91-40-000¢
`
`0
`
`Auld3zI§3OHNOSIYWINMO3ZISXV
`Z]U0903)/OSpS'qUs/19U!e]U09/
`
`Q}u0d-]sa)
`
`qus
`
`ooo000002
`
`
`
`JWYNYANIVINOD
`
`9€°21'S1-92-10-0002
`
`
`9E21'S1-92-10-0002
`
`L2'Sb'LE-92-10-0002
`
`LeGb'91-92-10-0002
`
`L
`
`PEL8¢
`
`LtOld
`
`HPE, Exh. 1005, p. 12
`
`HPE, Exh. 1005, p. 12
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 12 of 27
`
`US 6,678,700 B1
`
`
`
`
`
`
`
`
`
`#6
`
`86Z6
`
`8
`
`1
`
`HPE, Exh. 1005, p. 13
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 13 of 27
`
`US 6,678,700 B1
`
`
`
`
`
` 9SIM-XIUN-]U09|_fealyoue|yoeyeaAuuyol|waisAsayssdy]—yoayeo-ssdyyuoo||_—_309-189)|Psswiaousu[oS3QNOOT]——3dALOSHSINVNOHSHAHd|WANH|JOUNOS3H|901SO!pOl£0LckLO}
`
`[ayes[soempede|—uraistsayyun|pueyCeu-ayaeo-1woa|2
`
`
`[ayesArea|OpsTeAOBI
`Aewud|ospsgp-spw|welshsajssdy|asps-ssdy-ud-ju09
`
`
`
`
`
`ayoeogunyna| waysdsayyxiun
`LU9}SASallyXIUN
`
`Qsps-xIuNn-Ud-Ju0d||
`
`~UISUODS|M
`
`UOSIPBU
`
`001
`
`jEAIYDIE
`
`€}“Old
`
`HPE, Exh. 1005, p. 14
`
`HPE, Exh. 1005, p. 14
`
`
`
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 14 of 27
`Sheet 14 Of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`
`
`MCAT
`
`zS H
`
`S
`
`()
`
`)
`
`g
`
`s
`
`g) CL/
`
`w”
`f
`ocus
`
`>i
`
`o
`R
`2
`:
`f
`wn
`Lu
`c
`S
`O
`e
`=ia
`oS
`o
`tu
`
`2 O
`
`CY
`
`zc
`_
`2
`S5
`Se
`Sg
`<5
`So
`or
`—
`ao
`a 94.
`=z
`
`C
`St
`s
`
`
`
`FIG.14A
`
`CD
`-
`
`PE, Exh. 1005, p. 15
`
`HPE, Exh. 1005, p. 15
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 15 of 27
`Sheet 15 Of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`les
`B}-
`
`MCAT
`
`coe
`
`£9)
`
`2)
`
`FIG.14B
`
`HPE, Exh. 1005, p. 16
`
`oD
`c
`ocbij
`obus
`e
`it
`wn
`2
`oe
`wo
`VO
`hu
`c
`l
`5
`Oo
`s
`=ca
`C
`O
`L
`2
`o
`
`aw
`
`i=Q
`
`o
`
`=c
`
`=
`9
`=
`x
`a.
`Qo
`x!
`2
`re al
`a
`<
`
`(SRBCLIENT)
`
`_<
`
`
`
`HPE, Exh. 1005, p. 16
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 16 of 27
`Sheet 16 0f 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`
`
`
`
`uo C
`
`
`ONEORMORESRBSERVERS
`
`
`t
`9
`u—!
`oO
`2
`co
`-
`Cc
`A
`wn~—
`a
`se
`
`t
`
`-oL
`
`i
`
`Wo)
`Co
`
`—_
`
`o
`
`&u
`
`APPLICATION
`
`HPE, Exh. 1005, p. 17
`
`HPE, Exh. 1005, p. 17
`
`

`

`MCAT FIG.
`ONEORMORESRBSERVERS
`
`
`2 S5 3
`<azt
`C2 ed
`Soco
`a ge
`a 92
`c
`
`s
`
`
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`14D
`
`HPE, Exh. 1005, p. 18
`
`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 17 of 27
`Sheet 17 of 27
`
`2c
`
`ax
`
`
`
`HPE, Exh. 1005, p. 18
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 18 of 27
`Sheet 18 of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`Se
`S32
`ee
`
`co
`
`5s
`
`=
`
`0
`
`
`
`a
`
`ie
`2
`Gb.
`oe
`
`(s)
`y sy
`825
`
`_/
`
`
`
`LLJ
`+
`
`C5
`i
`
`ONEORMORESRBSERVERS
`
`op]
`
`
`
`
`
`
`
`x2 1
`
`=o
`2.
`' 62
`os
`ew<5
`a
`20a|
`C 5
`- s
`ofOo.
`R a 9
`
`HPE, Exh. 1005, p. 19
`
`HPE, Exh. 1005, p. 19
`
`

`

`—
`
`>a
`
`
`
`US 6,678,700 B1
`ONEORMORESRBSERVERS
`
`
`US 6,678,700 B1
`
`wo
`
`(3)
`Ors
`G
`
`LL
`~
`-
`J co
`Li
`
`HPE, Exh. 1005, p. 20
`
`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 19 of 27
`Sheet 19 of 27
`
`
`
`
`
`iEwo
`=
`
`™
`
`ON
`
`
`
`a C 32
`S&
`be Ww
`Sa—_t
`C2 CS
`- a 9 is
`e
`e S
`
`aa
`
`
`
`
`
`oe
`
`st
`la
`
`
`
`
`
`
`(SRBCLIENT)
`APPLICATION
`
`
`HPE, Exh. 1005, p. 20
`
`

`

`m™
`ONEORMORESRBSERVERS
`
`
`s
`1a
`
`
`(SRBCLIENT)
`APPLICATION
`
`
`~
`
`@
`
`WS
`
`uw
`
`>
`
`C5
`i
`
`HPE, Exh. 1005, p. 21
`
`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 20 of 27
`Sheet 20 Of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`
`
`nm
`
`:
`
`ze
`ofre
`ct
`eoco
`
`2x
`
`HPE, Exh. 1005, p. 21
`
`

`

`e
`
`ONEORMORESRBSERVERS
`
` APPLICATION
`(SRBCLIENT)
`
`(o)
`
`(3 (2)
`(82 -
`(&
`(o)
`(;
`<
`(s
`
`
`
`FIG.14H
`
`S.
`SD
`-
`
`HPE, Exh. 1005, p. 22
`
`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 21 of 27
`Sheet 21 of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`s
`CD
`s
`
`c
`
`
`
`a
`zc
`ein
`s
`<5
`Oe
`ao
`a go
`
`ac
`
`
`
`s
`la
`
`
`
`HPE, Exh. 1005, p. 22
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 22 of 27
`Sheet 22 of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`
`
`
`
`~N
`
`2c
`2 32 t g
`2a
`eS
`EO_I wo
`S2 C
`- A 2 5
`2 ox
`ce
`a St.
`
`nm FIG.141
` ™m
`la
`ONEORMORESRBSERVERS
` APPLICATION
`(SRBCLIENT)
`
`
`
`
`
`
`
`
`HPE, Exh. 1005, p. 23
`
`HPE, Exh. 1005, p. 23
`
`

`

`U.S. Patent
`U.S. Patent
`
`Jan. 13, 2004
`Jan. 13, 2004
`
`Sheet 23 of 27
`Sheet 23 Of 27
`
`US 6,678,700 B1
`US 6,678,700 B1
`
`
`
`
`
`=<
`
`req>
`=
`
`-
`
` ~
`
`zeoF
`= w
`Sa
`a
`
`x
`
`~
`
`i,
`2 a. 32
`SE
`eS
`Sg
`Ooo
`- a ge
`x
`O a 92
`
`|C
`
`—
`=
`
`.SL
`
`L.
`
`(0)
`Outs
`(2
`
`Yeas
`oS
`
`(0)
`gi
`(2
`
`Ts)
`
`HPE, Exh. 1005, p. 24
`
`ed
`
`e
`
`f)
`s
`C
`O
`LU
`
`ONEORMORESRBSERVERS
`
`O
`S
`
`O
`
`e
`O
`
`HPE, Exh. 1005, p. 24
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 24 of 27
`
`US 6,678,700 B1
`
`LBS-HBO
`HZIS
`
`89 O
`
`89
`
`1. (po e o X X- N
`
`
`
`| HV8TOO+
`
`HPE, Exh. 1005, p. 25
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 25 Of 27
`
`US 6,678,700 B1
`
`120
`
`121
`
`2
`22
`
`GENERATE
`META-DATA FOR
`CONTAINER
`
`STORE IN MCAT
`
`ALLOCATE
`RESOURCES
`FOR CONTAINER
`
`FIG. 16A
`
`
`
`125
`
`OUERY MEA-DATA
`FOR
`CONTANER
`
`REPLICATE DRY
`COPY TO ALL OTHER
`RESOURCES
`
`123
`
`24
`
`FIG. 160
`
`HPE, Exh. 1005, p. 26
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 26 of 27
`
`US 6,678,700 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`130
`
`QUERY MEA-DAA
`FOR CONANER
`AND/OR OBJECT
`
`LOCATE COPY
`ON SELECTED
`RESOURCE
`
`
`
`32
`
`SAGE COPY TO
`SELECTED
`RESOURCE
`
`
`
`
`
`WRITE DATA
`OBJECT TO
`COPY
`
`136
`
`UPDATE META-DAA
`FOR
`CONTAINER
`
`
`
`SYNCHRONIZE
`WTH ANY
`OTHER COPES
`
`135
`
`MARK COPY
`AS
`DRTY
`
`FIG. 16B
`
`HPE, Exh. 1005, p. 27
`
`

`

`U.S. Patent
`
`Jan. 13, 2004
`
`Sheet 27 Of 27
`
`US 6,678,700 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`140
`
`QUERY META-DATA
`FOR
`OBJECT
`
`N
`CONTAINER2
`
`YES
`
`14
`
`NO
`
`43
`
`QUERY META-DATA
`FOR CONTANER
`AND/OR OBJECT
`
`NORMAL
`OBJECT READ
`
`142
`
`145
`
`STAGE COPY TO
`SELECTED
`RESOURCE
`
`146
`
`READ OBJECT
`FROM COPY
`
`FIG. 16D
`
`
`
`
`
`
`
`
`
`
`
`LOCATE COPY ON
`SELECTED
`RESOURCE
`
`
`
`HPE, Exh. 1005, p. 28
`
`

`

`1
`SYSTEM OF AND METHOD FOR
`TRANSPARENT MANAGEMENT OF DATA
`OBJECTS IN CONTAINERSACROSS
`DISTRIBUTED HETEROGENOUS
`RESOURCES
`
`The U.S. Government has a paid-up license in this
`invention and the right in limited circumstances to require
`the patent owner to license others on reasonable terms as
`provided for by the terms of W7405-ENG-48 awarded by
`Department of Energy.
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`This invention generally relates to managing data objects
`in a distributed, heterogenous network environment, and,
`more Specifically, to managing aggregate forms of Such data
`objects acroSS distributed heterogenous resources Such that
`the aggregate forms of the data objects are transparent to the
`USC.
`2. Background
`Many applications require access to data objects distrib
`uted acroSS heterogeneous network resources. Examples of
`Such data objects include office automation products,
`drawings, images, and electronic E-mail. Other examples
`include Scientific data related to digital images of croSS
`Sections of the human brain, digital Sky Survey image files,
`issued patents, protein Structures, and genetic Sequences. In
`a typical Scenario, data objects are generated at multiple Sites
`distributed around the country. Data objects related to a
`common topic or project are organized into a collection for
`access. If the data Sets are located at different Sites, efficient
`access usually requires gathering the data Sets at a common
`location. The resulting collection must then be archived to
`guarantee accessibility in the future. The management of
`data objects is typically complicated by the fact that the data
`objects may be housed in diverse and. heterogeneous
`computer-based Systems, including database management
`Systems, archival Storage Systems, file Systems, etc. To
`efficiently make use of these data objects, a unified frame
`work is needed for accessing the data objects from the
`numerous and diverse Sources.
`Conventional Systems for managing data include those
`depicted in U.S. Pat. Nos. 6,016,495; 5,345,586; 5,495,607;
`5,940,827; 5,485,606; 5,884,310; 5,596,744; 6,014,667;
`5,727.203; 5,721,916; 5,819,296; and 6,003,044.
`U.S. Pat. No. 6,016,495 describes an object-oriented
`framework for defining Storage of persistent objects (objects
`having a longer life than the process that created it). The
`framework provides Some core functionalities, defined in
`terms of several classes (e.g., Access Mode, Cached Entity
`Instance, TransactionManager, Distributed ThreadContext,
`and ConnectionManager) and user extensible functionalities
`that can be modified to provide access according to the
`persistent Storage being used. The concept of a “container'
`as discussed in the patent Simply refers to a logical grouping
`of class Structures in a persistent Storage environment, and
`is different from the concept of “container of the subject
`invention as can be seen from the embodiment, later
`described.
`U.S. Pat. No. 5,345,586 describes a data processing
`System consisting of multiple distributed heterogeneous
`databases. The System uses a global data directory to provide
`a logical data model of attributes and domains (type, length,
`Scale, precision of data) and a mapping (cross-reference) to
`physical attributes (and tables) residing in multiple (possibly
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,678,700 B1
`
`2
`remote) databases. The global data directory stores route (or
`location) information about how to access the (remote)
`databases. The cross-reference information is used to con
`Vert the values from the physical databases into a consistent
`and uniform format.
`U.S. Pat. No. 5,495,607 describes a network administrator
`System that uses a virtual catalog to present an overview of
`all the file in the distributed system. It also uses a rule-based
`monitoring System to monitor and react to contingencies and
`emergencies in the System.
`U.S. Pat. No. 5,940,827 describes a method by which
`database Systems manage transactions among competing
`clients who seek to concurrently modify a database. The
`method is used for maintaining cache coherency and for
`copying the cache into the persistent State.
`U.S. Pat. No. 5,485,606 describes a method and system
`for backing up files into an archival Storage System and for
`retrieving them back into the same or different operating
`System. To facilitate this function, the System writes a
`directory file, for each data file, containing information that
`is Specific to the operating System creating the file as well as
`information common to other operating Systems that can be
`utilized when restoring the file later.
`U.S. Pat. No. 5,884,310 describes a method for integrat
`ing data Sources using a common database Server. The data
`Sources are organized using disparate formats and file Struc
`tures. The method extracts and transforms data from the
`disparate data Sources into a common format (that of the
`common database server) and stores it in the common
`database for further access by the user.
`U.S. Pat. No. 5,596,744 describes a method for sharing of
`information dispersed over many physical locations and also
`provides a common interface for adapting to incompatible
`database Systems. The patent describes a Federated Infor
`mation Management (FIM) architecture that provides a
`unified view of the databases to the end user and shields the
`end user from knowing the exact location or distribution of
`the underlying databases.
`The FIM uses a Smart Data Dictionary (SDD) to perform
`this integration. The SDD contains meta-data Such as the
`distribution information of the underlying databases, their
`schema and the FIM configuration. The SDD is used to
`provide information for parsing, translating, optimizing and
`coordinating global and local queries issued to the FIM.
`The SDD uses a Cache Memory Management (CMM) to
`cache meta-data from SDD into local Sites for Speeding up
`processing. The patent describes Several Services that use the
`FIM architecture. The patent also describes methods for
`SQL query processing (or DBMS query processing).
`U.S. Pat. No. 6,014,667 describes a system and method
`for caching directory information that may include identi
`fication information, location network addresses and replica
`information for objects stored in a distributed system. These
`directory caches are located locally and used for Speeding up
`acceSS Since directory requests need not be referred to a
`remote site. The patent deals with caching of directory
`information in order to reduce traffic. The patent also allows
`for replicated data addresses to be Stored in the cache.
`U.S. Pat. No. 5,727,203 is similar to U.S. Pat. No.
`5,940,827 but is restricted to object-oriented databases.
`U.S. Pat. No. 5,721,916 describes a method and system
`for making available a Shadow file System for use when a
`computer gets disconnected from a network which allowed
`it to access the original file System. The System transparently
`copies the file from the original file System to a local System
`
`HPE, Exh. 1005, p. 29
`
`

`

`US 6,678,700 B1
`
`3
`whose structure is recorded in a local file database. When no
`longer connected to the network, the access to the file is
`redirected to the shadow file.
`U.S. Pat. No. 5,819,296 describes a method and apparatus
`for moving (migrating) large number of files (volumes) from
`one computer System to another. Included are methods for
`moving files from primary Storage to Secondary Storage and
`from one System to another System. In this latter case, the
`System copies the directory information, and the files that
`need to be migrated are manually copied. Then, the directory
`Structure merged with the new storage System. The patent
`discusses moving files residing in Volumes which are physi
`cal Storage partitions created by System administrators.
`U.S. Pat. No. 6,003,044 describes a system and method to
`back up computer files to backup drives connected to
`multiple computer Systems. A controller System allocates
`each file in a backup Set System to one or more multiple
`computers. Each of the multiple computer Systems is then
`directed to back up files in one or more Subsets, which may
`be allocated to that computer System. The allocation may be
`made to optimize or load balance acroSS the multiple com
`puter Systems.
`A problem which plagues Such Systems is the overhead
`involved in accessing archived individual data objects from
`a remote site. Remote accesses Such as this are typically
`fraught with delay caused primarily by the high latency of
`archival resources Such as tape and, to a lesser degree, the
`network latency and system overhead. This delay limits the
`effectiveness of Such Systems. To overcome the delay, the
`user might manually aggregate data objects using tools
`provided by the operating Systems or third parties, and copy
`the data to a nearby facility. However, this requires the user
`to be familiar with the physical location of the data objects
`and manner in which they are aggregated and Stored, a factor
`which further limits the effectiveness of the system.
`Consequently, there is a need for a System of and method
`for managing data objects distributed acroSS heterogenous
`resources which reduces or eliminates the delay or latency
`characteristic of conventional Systems.
`There is also a need for a system of and method for
`managing data objects distributed acroSS heterogeneous
`resources in which the physical location of and manner in
`which the data objects are Stored is transparent to the user.
`There is also a need for a system of and method for
`providing a data aggregation mechanism which transpar
`ently reduces overhead and delay caused by the high latency
`of archival resources.
`There is further a need for a system of and method for
`managing data objects distributed acroSS heterogenous
`resources which Overcomes one or more of the disadvan
`tages of the prior art.
`The objects of the subject invention include fulfillment of
`any of the foregoing needs, Singly or in combination. Further
`objects and advantages will be set forth in the description
`which follows or will be apparent to one of ordinary skill in
`the art.
`
`15
`
`25
`
`35
`
`4
`executable on a Server, for responding to a request issued by
`a client; a meta-data catalog maintained on a Server, and
`accessible by the broker, for defining data objects and
`containers, and associating data objects with containers, and
`at least one data resource maintained on one or more Servers
`for Storing data objects in containers, wherein the broker,
`responsive to a request, is configured to access the meta-data
`catalog, process the request using the meta-data catalog, and
`then update the meta-data catalog to reflect changes inci
`dental to the request, whereby data objects, once aggregated
`into containers, are maintained therein transparent to users.
`Also provided is a method of creating a logical resource
`comprising the Steps of associating one or more physical
`resources with the logical resource; for each physical
`resource, Specifying a type thereof from the group compris
`ing an archive, a cache, a primary archive, and a primary
`cache; and for each physical resource, also specifying Size
`and access control information.
`A method of creating a container is also provided com
`prising the Steps of Specifying, in response to a user request,
`a name of a container and a logical resource to be allocated
`to the container, the logical resource being associated with
`one or more physical resources, including at least one
`archive and at least one cache; creating meta-data for the
`container, including meta-data Specifying the container
`name, the logical resource to be allocated to the container,
`and the one or more physical resources associated with the
`logical resource, Storing the meta-data for the container in a
`meta-data catalog, and reserving one or more of the archives
`allocated to the container.
`The invention further includes a method of importing a
`data object into a container comprising the Steps of Speci
`fying a container; querying meta-data for the container,
`including an offset within the container, finding or Staging to
`a Selected resource a current cache copy of the container;
`Writing the data object into the cache copy at the Specified
`offset, updating the meta-data for the container to reflect
`introduction of the data object into the container; and
`marking the cache copy as dirty or Synchronizing it with any
`other copies.
`A method of Synchronizing a plurality of copies of a
`container is also included comprising the Steps of: if no
`copies of the container are marked as dirty, ending the
`method; if a cache copy of the container is marked as dirty,
`Synchronizing Such to one or more archival copies that are
`not marked as dirty; if all archival copies are thereby written
`over, resetting the dirty flags of all Such archival copies, and
`if one or more but not all archival copies are thereby written
`over, Setting the dirty flags of the one or more archives that
`are written over.
`The invention also includes a method of reading a data
`object from a container comprising the Steps of querying
`meta data for the container, including an offset where the
`data object is Stored within the contain; finding or Staging to
`a Selected resource a current cached copy of the container;
`and using the offset to retrieve the data object from the
`cached copy of the container.
`DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a simplified view of Software Resource Broker
`(SRB) middleware.
`FIG. 2 illustrates the SRB process model.
`FIG. 3 illustrates federated SRB operation.
`FIG. 4 illustrates the SRB agent design.
`FIG. 5 illustrates an implementation of a method of
`container creation in accordance with the Subject invention.
`
`40
`
`45
`
`50
`
`55
`
`SUMMARY OF THE INVENTION
`In accordance with the purpose of the invention as
`broadly described herein, there is provided a system for
`transparent management of data objects in containers acroSS
`distributed heterogeneous resources comprising: a client
`configured to issue requests relating to data objects in
`containers in response to user commands, at least one server
`accessible by the client over a network, a broker process,
`
`60
`
`65
`
`HPE, Exh. 1005, p. 30
`
`

`

`S
`FIG. 6 illustrates an implementation of a method of
`importing objects into a container, including creating an
`object in a container, in accordance with the Subject inven
`tion.
`FIG. 7 illustrates an implementation of a method of
`importing objects into a container, including writing data
`objects into a pre-existing container, in accordance with the
`Subject invention.
`FIG. 8 illustrates an implementation of a method of
`Synchronizing copies of a container in accordance with the
`Subject invention.
`FIG. 9 illustrates a first implementation of a method of
`reading data objects in a container in accordance with the
`Subject invention.
`FIG. 10 illustrates a second implementation of a method
`of reading data objects in a container in accordance with the
`Subject invention.
`FIG. 11 illustrates an implementation example of meta
`data describing a container in accordance with the Subject
`invention.
`FIG. 12 illustrates an implementation example of meta
`data describing the data objects in a container in accordance
`with the subject invention.
`FIG. 13 illustrates an implementation example of meta
`data describing the physical resources associated with a
`logical resource in accordance with the Subject invention.
`FIG. 14a illustrates multiple containers maintained in a
`System configured in accordance with one embodiment of
`the Subject invention.
`FIG. 14b illustrates multiple physical resources allocated
`to a container in a System configured in accordance with one
`embodiment of the subject invention.
`FIG. 14c illustrates replication of a container acroSS
`multiple archival resources in a System configured in accor
`dance with one embodiment of the subject invention.
`FIG.14d illustrates purging one or more cached copies of
`a container in a System configured in accordance with one
`embodiment of the subject invention.
`FIG. 14e illustrates system configured in accordance with
`one embodiment of the subject invention in which different
`client requests are handled through different archived copies
`of a container.
`FIGS. 14f14g illustrates the process of caching one or
`more of the archived container copies in the system of FIG.
`14e.
`FIG. 14h illustrates the process of writing one or more
`data objects into one of the cached container copies in the
`system of FIG. 14.g.
`FIG. 14i illustrates the process of synchronizing a dirty
`cached copy of a container with one or more archival copies
`in the system of FIG. 14h.
`FIG. 14-i illustrates transparent replication of a container
`acroSS the network in a System configured in accordance
`with one embodiment of the subject invention.
`FIG. 15a illustrates an example implementation of con
`tainer meta data associating a container with one or more
`data objects Stored in the container.
`FIG. 15b illustrates an example implementation of con
`tainer meta data associating a container with one or more
`physical resources.
`FIG. 16a illustrates a method

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket