throbber
USOOS312226B2
`
`(12 V United States Patent
`(10) Patent No.:
`US 8,312,226 B2
`(45) Date of Patent:
`*Nov. 13, 2012
`Hughes
`
`(54)
`
`(75)
`
`(73)
`
`NETWORK MEMORY APPLIANCE FOR
`PROVIDING DATA BASED ON LOCAL
`ACCESSIBILITY
`
`Inventor: David Anthony Hughes. Los Altos
`Hills. CA (US)
`
`Assignee: Silver Peak Systems, Inc.. Mountain
`View. CA (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer. the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1335 days.
`This patent is subject to a terminal dis-
`claimer.
`
`(21)
`
`App]. No.: 11/240,110
`
`(22)
`
`Filed:
`
`Sep. 29, 2005
`
`(65)
`
`(63)
`
`(51)
`
`(52)
`
`(53)
`
`Prior Publication Data
`
`US 2007/0038815 A1
`
`Feb. 15. 2007
`
`Related U.S.Application Data
`
`Continuation of application No. 11l202.697. filed on
`Aug. 12. 2005.
`
`Int. Cl.
`(2006.01)
`G06F 12/00
`(2006.01)
`(7061‘7 13/00
`(2006.01)
`G06F 13/28
`(2006.01)
`G06F 15/16
`711/147: 711/100; 711/111; 711/112:
`US. Cl.
`711(113; 711/117: 711/118; 709/217: 709/218;
`709/219
`Field of Classification Search ........................ None
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5.307.413 A
`491994 Denzer
`5.359.720 A
`107'1994 Tarnura et al.
`5.483.556 A
`17'1996 Pillan et al.
`5.592.613 A
`171997 Miyazawa et a1.
`5.611.049 A
`3i'l997 Pitts
`5.675.587 A
`10"]997 Okuyama et al.
`5.754.774 A
`5"]998 Bittinger et al.
`5.802.106 A
`9"]998 Packer
`(Continued)
`
`EP
`
`FOREIGN PATENT DOCUMENTS
`1507353 A2
`22005
`OTHER PUBLICATIONS
`
`Muthitacharoen, Athicha et 31.. “A Low-bandwidth Network File
`System.” 2001. in Proc. of the 18th ACM Symposium on Operating
`Systems Principles. Banff. Canada. pp. 174-187.
`
`(Continued)
`
`Primary Eraminer 7 Sanjiv Shah
`Assistant Examiner i Marwan Ayash
`(74) Aflornev. Agent. or Firm 7 Carr & Ferrell LLP
`(57)
`ABSTRACT
`A first appliance of a network memory includes a processor
`configured to receive data. The processor determines whether
`the data is locally accessible to a second appliance of the
`network memory and generates an instruction based on the
`determination in order that the second appliance obtain the
`data. The processor then transfers the instruction over a com-
`munication network to the second appliance. In another first
`appliance ofa network memory. the first appliance includes a
`processor configured to receive an instruction over a commu-
`nication network from a second appliance of the network
`memory. The processor processes the instruction to deter-
`mine an action to perform to obtain the data. The processor
`performs the action to obtain the data if the data is locally
`accessible to the first appliance.
`12 Claims, 12 Drawing Sheets
`
`DATA NEWEST m
`DATA REQUEST m
`
`
`
`CENTRAL
`APPLIANCE
`m
`
`{2mm
`SERVERS
`310
`
`RESPWSE DATAEZE
`mas RESPONSE MTA TO DETERMINE
`
`METHER PCITI'IUI OFWEE DATA IS
`lDGALLYMZCESSIBLE TO BRANCH APP
`
`
`IF RESPONSE DATA IS NOT LOCALLY
`ACCESSIBLE TO BRANCHAPP. CBIERA‘I'E
`
`
` INDQ Wl'N-IN A DATABASE STCRE INST T0 STORE RESW DATA AT
`
`RESPOPEE DATA WITH STORE
`
`INSTRUCTION £4
`
`PROCESS RESPONSE DATAW STORE INST
`
`STORE RESPONSE DATA AT INDEX WlTl-IN
`
`
`FORWARD fiEfi'ONSE DATA
`
`RESPONSE DATA“
`
`
`RIV—1001 - Page 1 of 24
`
` m
`
`comma
`
`mm:m
`
`

`

`US 8,312,226 B2
`Page2
`
`U.S. PATENT DOCUMENTS
`
`59893999 A
`29332932?) i
`690819833
`6295541 31
`9
`9
`59311926“ Bl
`23242822) 3:
`9’49
`6.438.664 B1
`6.452.915 Bl
`6.587.985 B1
`595139397 B:
`695339953 39
`596439359 Bl
`596509644 Bl
`6.718.361 B1
`6.738.379 B1
`597699043 32
`597919945 BI
`6.859.842 B1
`23:39:23 3:
`9
`99
`7307”“ Bl
`790209750 32
`7903592“: B‘
`2222932; 3:
`‘
`‘
`A
`791209666 32
`7.145.889 B1
`1197.597 B1
`7.200.847 B2"
`792159567 Bl
`792429531 BI
`793439094 32
`79669645 32
`7.318.100 B2
`7.366.829 B1
`793809006 32
`7383329 BE
`22222:: g]
`“
`9
`73899357 32
`7.3 89.393 B1
`7.417.991 B1
`293332; E:
`9
`9
`5
`794539379 32
`7945793” B‘
`794719629 Bz
`7.532.134 B2
`7.555.484 BZ
`7.571.343 B1
`.6 9‘5
`2
`9.6208710 32
`7.639.700 Bl
`7.676.554 B1
`7.7142747 32
`7.746.781 B1
`200190054084 A1
`200290007413 A1
`200290040475 A1
`200290065998 Al
`200390078242 Al
`2%?3132388 2:
`200290116424 9“
`200290131434 Al
`2002990150041 A1
`200290163911 A1
`7
`,9
`2821931318321
`200290188871 A1
`200290194324 A1
`200390009558 A1
`200390123481 A1
`200390142658 A1
`200390149661 A1
`200390233431 A1
`
`................ 7199313
`
`9999 Wm ct 91-
`3:333 fiwmele‘a:
`3,000 1901151303211
`92.;00] 335:” “3‘:-
`2.;
`e‘
`9
`10“.;OO‘ 51"“ “‘9
`1
`39;;333 2161141110
`“~
`~ ”We”
`892002 McGrath et al.
`992002 Jalgensen
`792003 Fukushimaeta].
`9913003
`““3113
`1093003 599’"
`119‘1’003
`136161121 9”"-
`1199003 (‘O'leydal-
`492004 Basanietal.
`5,2004 Balazinski et a1.
`73004 Go'dberg‘fl 31-
`929004 Lawns?“ 2”“-
`292005 Nakmmchmta].
`1312332 1291696112152“:
`-“~
`-
`'1‘?“
`212006 Rafene‘“:
`39.2006 “"9"?“me eta:
`412006 59198“ 61:11.
`31.3332 £3511an
`‘7“
`.
`'
`109006 Md‘mme‘“
`1292006 Zhang e101.
`322007 Scheid etal.
`492007 Straube eta].
`513007 D51“
`7:20“ Va“ B9kkele“ 3”“-
`72.3007 741501166841.
`990‘” G313“:-
`192008 Demmer elal.
`492008 Lum'ell et a1.
`5'112008 5‘19““ W“-
`612008 E“°.ks°“
`2“,;333 39.1“ 3‘ ”1'1
`“5
`“’w“ “"9
`@7008 DufiieJIIetal.
`692008 K2111 el al.
`892008 Crawford eta].
`31233: $3813“:
`:11
`i.-
`e
`“"1 e‘
`“22008 “9999999199
`”12008 Sm'”!
`132008 Melp'gn‘m"
`592009 Samuels et al.
`692009 Kulkumietal.
`892009 Xiangela].
`_
`.2009 s
`1192009 sfifiifitgm.
`1392009 Nabhzu] et a].
`393010 Malmskog et a1.
`593010 Fallon
`692010 Xiang
`1292001 Kosmynin
`192002 GarciaALuna-Aceveset :1].
`492002 Yapetal.
`592002 Buckland
`692002 Viswanafh
`393333 35393321491 e! 991
`“F
`0‘
`“002 Rflde‘mBChe‘ e‘ ‘1]-
`992002 Vukovic e1 :11.
`1092002 Reinshmidletal.
`1192002 Weeetal.
`.9,
`7
`1516332 318;“ e‘ .1.
`1292002 Noehringeta].
`1292002 Guha
`192003 Ben-Yehe'zkel
`792003 Neale e181.
`792003 Ofujietal.
`892003 Mitchelletal,
`1292003 Reddyelzll.
`
`'
`
`.................. 7119162
`
`200490008711 A1
`
`192004 Lahti e1 81.
`.97
`’
`-
`31.95331 31:30?“
`533298213333 :21
`692004 Naden eta].
`200490114569 A1
`692004 Changeta].
`200490117571 A1'9
`692004 Aiello et a1.
`200490123139 A1
`100004 Morten 61:11.
`200490199771 A1
`1092004 Kim
`200490202110 A1
`1092004 Billhanz
`200490203820 A1
`1092004 Bouchardetal,
`200490205332 A1
`7‘
`7
`‘
`’2
`1292004 Lev Rim et :11.
`200490255048 A1
`142004 “dd
`“004’0743571 9’“
`11200; Mche
`”30570010623 4,
`2.0005 Grove elal.
`200590044270 A1
`392005 (‘ain et a1.
`200590053094 A1
`492005 Hsu e181.
`200590091234 A1
`592005 Sahila
`200590111460 A1
`,
`.
`3
`,
`692005 Fiferet :1].
`200590132252 Al
`692005 Dougllsetal.
`200590131939 A1
`692005 Foulds
`200590141425 A1
`892005 Hughes et a1.
`200590171937 A1
`8,7005 Sham
`2005,..0177602 A]
`992005 Ben-Nun eta].
`200590190694 A1
`9.92005 Abdo 13181.
`200590210151 A1
`1092005 Melpignano
`200590220019 A1
`100005 Sechmt e181.
`200590235119 A1
`110005 Kimura
`200590243743 A1
`1192005 Cochran eta].
`200590256972 A1
`1292005 301101101 et 81.
`200590278459 A1
`1292005 Soodetal.
`200590286526 A1
`‘
`’)
`'
`’)
`292006 Nelwn e121].
`200690031936 A1
`192006 Bordognaetal.
`200690013210 A1
`792006 Yan 4121
`,006,.0036901 A]
`292006 Raogetal.
`200690039354 A1
`392006 Bonhakuretal.
`200690059171 A1
`392006 Himch eta].
`200690059173 A1
`692006 Mester e1 .41.
`200690117385 A1
`.
`.,
`.
`692006 Zoharetal.
`200690143497 A1
`892006 Sundamljan et :11.
`200690195547 A1
`80006 Sundanajan et :11.
`200690195840 A1
`992006 Shakam et a1.
`200690212426 A1
`992006 Loughmnetal.
`200690218390 A1
`1092006 van den Bag and.
`200690227717 A1
`1192006 Irwin
`200690250965 A1
`7'
`'2
`‘
`'3
`7
`‘0080780705 M 179006 Ch"
`200790002804 A1
`192007 Xiong et al.
`200790011424 A1
`10007 Shanna et a1.
`200790110046 A1
`592007 Farrell et 01.
`200790115812 A1
`592007 Hughes
`200790127372 A1
`692007 Khan e1a1.
`200790130114 A1
`692007 Li et al.
`200790140129 A1
`692007 Bauer et al.
`200790174428 Al
`792007 Lev Rzm et all.
`
`200790195702 A1
`200790193533 A1
`200790226320 Al
`200790244987 A1
`200790245079 A1
`200790258468 A1
`200790263554 A1
`200790276983 A1
`200890005156 A1
`200890013532 A1
`200890028467 A1
`200890133536 A1
`200890184081 A1
`200890229137 A1
`200890243992 A1
`200890313318 A1
`200890320151 A1
`20090060999 99
`200990100483 A1
`200990158417 Al
`200990175172 A1
`200990234966 A1
`201090011125 A1
`201090115137 A1
`201090290364 A1
`
`892007 Yuenelal.
`393007 Hayim
`992007 Hageretal.
`1092007 Pedersen e131.
`1092007 Bhanachmjee eta].
`1192007 Bennett
`1192007 Finn
`1192007 Zoharetal,
`192008 Edwards elal.
`192008 Gamer et a1.
`192008 Kommm'eddy et a1.
`692008 Bjorner et a1.
`792008 HamaetaL
`992008 Samuelsetal.
`1092008 JaIdetZky et a].
`1292008 Vermelllen et a].
`12.92008 McCanneetal.
`92009 was
`499009 MCDOW‘?“
`692009 Khannaetal.
`792009 Prytz etal-
`992009 Samuels €121}.
`192010 Yang eta].
`592010 Kimetal.
`1192010 Black
`
`RIV—1001 - Page 2 of 24
`
`

`

`US 8,312,226 B2
`Page 3
`
`OTHER PUBLICATIONS
`
`Zhao et a1 .. “Analysis and Improvement on IPSEC Anti-Replay Win-
`dow Protocol." 2003. IEEE pp. 553-5 58.
`Singh et ah. “Future of Internet Security- IPSEC.” 2005. pp. 1-8.
`“Shared LAN Cache Datasheet." 1996. hrtp:Mwww.lancache.com-"
`slcdatahtm.
`“A protocol-independent technique for eliminating redundant net-
`work traffic." ACM SIGCOMM Computer ConununicationReview.
`vol. 30. Issue 4 (Oct. 2000) pp. 87-95. Year ofPublication: 2000.
`B. Hong. D. Plantenberg D. D. E. Long and M. Sivan-Zimet.
`“Duplicate data elimination in a SAN file system.” in Proceedings of
`the 21st Symposium on Mass Storage Systems (M88 ‘04), IEEE,
`Goddard. MD. Apr. 2004.
`You. L. L. and Karamanolis, C. “Evaluation of efficient archival
`storage techniques.” In Proceedings of the 2 1 st IEEE Symposium on
`Mass Storage Systems and Technologies (MSST). 2004.
`
`Douglis. Fred and Atun lyengar. "Application specific Delta-encod-
`ing via Reoemblance Detection.” Published in the 2003 USENIX
`Annual Technical Conference.
`You L. L. et 211.. “Deep Store an Archival Storage System Architec-
`ture.” Data Engineering, 1CDE 2005 Proceedings ofthe 2 1 st Confer—
`ence. Tokyo. Japan. Apr. 5-8. 2005. p. 12.
`Manber. Udi, “Finding Similar Files in a Large File System.” TR
`93-33 Oct. 1994. Department of Computer Science.University of
`Arizona. http:fl’webglimpse.net/'pustTR93-33.pdf. Also appears in
`the 1994 winter USENIX Technical Conference.
`"A protocol-independent technique for eliminating redundant net-
`work traffic”. ACM SIGCOMM Computer Communication Review.
`vol. 30. Issue 4 (Oct. 2000) pp. 87-95, Year ofPublication: 2000.
`
`* cited by examiner
`
`Riv-1001 - Page 3 of 24
`
`

`

`U.S. Patent
`
`Nov. 13, 2012
`
`Sheet 1 of 12
`
`US 8,312,226 B2
`
`
`
`NOTED._<N_._.zm0
`
`
`
`
`
`
`
`
`
`mmm>mmw469:.sz
`
`aw
`
`oer
`
`
`
` awort—OIozém
`
`EEEE
`
`%mEMFDREOO
`
`mmEbOm
`
`ZO_._.<O_Z.._$_S_OO
`
`xm0>>._.m_z
`
`omlr
`
`ammEbOm
`
`
`
`
`
`
`
`wmm>mmw._<m.rzm_o
`
`.09..
`
`_..OE
`
`._.m_<mOEn.
`
`
`
`i!”—1.”-..nx.m..“J
`
`wmthm—zoo
`
`0.3”
`
`RIV—1001 - Page 4 of 24
`
`

`

`U.S. Patent
`
`v.0N
`
`2M
`
`ae
`
`H(I.0
`
`2B6n
`
`
`
`SfluUamwmm>mmw1.49:.szmam—FDQEOO
`
`
`3.s,No:
`2a
`
`H9._.N_<Emu—mn—
`.nxmozfimzS$50120.20.222.28$501
`
`2.SNqflBmmmsmmw.2158wmmSmmw5255
`
`
`
`IUz<mm cow
`MOWEO45”:szMaw—”EC
`
`
`
`.,mmm
`
`RIV—1001 - Page 5 of 24
`
`
`

`

`U.S. Patent
`
`Nov. 13, 2012
`
`Sheet 3 of 12
`
`US 8,312,226 B2
`
`
`
` %MOT—”.0._<m._.Zm_Q
`
`mmw>mmw4<mkzwo
`
`8H
`
`com
`
`0.3
`
`“H_L”.H,H
`
`wmeDEZOU
`
`awn]
`
`ono1025;.
`
`449:.sz
`
`moz<_._n_n_<
`
`add
`
`205.192.455.00
`
`meEm—Z
`
`and
`
`Ioz<mm
`
`%moz<3um<
`
`m.m:m
`
`RIV—1001 - Page 6 of 24
`
`

`

`U.S. Patent
`
`1
`
`S
`
`2l
`
`43
`
`GAB(U22,
`
`1020023N50081N<20wmmoomn.
`1”<2000200000
`
`m3.<200020100”.
`
`
`
`202.25.509<200020000”.$009:
`
`
`
`m.<2000200000”.029200$1525
`
`
`
`
`
`n_n_<1025.0950.0802>.:<oo._
`
`$.05952.0005M.M92220<2.1:;xm02_42<200020.000”.
`
`
`
`350200.&<1025.0930.8002m$450..52m_<20mmzonammn:
`
`
`
`000512><2000200000
`
`9%295050;
`
`
`
`52.$.05:25<2000200me8009.;
`
`
`
`8,<200020000”.02350W02220
`
`n0%<20mwzonamm
`
`RIV—1001 - Page 7 of 24
`
`
`
`
`
`2.1:;5.032<20$29.800005
`
`
`
`gum.59..me<._.<0
`
`(#45
`
`
`
` ahmmSOmmdflmkww30wm4F<o
`
`._<mhzm_o
`
`wmm>mmw
`
`8d
`
`.210.sz
`
`m02<_._n_n_<
`
`a 0
`
`
`
`.0.».0.3
`
`m02<_._n_n_<
`
`Iozém
`
`mmzbn=200
`
`
`
`
`
`

`

`U.S. Patent
`
`Nov. 13, 2012
`
`Sheet 5 of 12
`
`US 8,312,226 B2
`
`m—O<n_
`
`
`
`mm.O<n_>m_O._.w_I>>O._n_
`
`
`
`m_._.<._.wm0<n_
`
`mmZO_._.<_>_N_OH_Z_
`
`m_Z_n_
`
`E32205sz
`
`%magIm<z
`
`KNEE
`
`0.3
`
`mwm<OO
`
`
`
`Im<IMMDF<ZQm
`
`mimics.
`
`
`
`mm.._..__n_mwm<OO
`
`add
`
`
`
`mVZ_._._OxEmlmmfi
`
`mmIm<I
`
`RIV—1001 - Page 8 of 24
`
`

`

`US Patent
`
`Nov. 13, 2012
`
`Sheet 6 of 12
`
`US 8,312,226 B2
`
`._<m._.Zm0
`
`wmm>mmw
`
`
`
`O._.m_._m_mwmoo<>4._<OO._w.<._.<n_mszammxn:
`
`
`
`
`
`
`
`<H<DmmeOmn.
`
`ham—30mm
`
`mh§m2m0
`
`
`
`<...<Dmszmwmm
`
`a(.55waOQmmm
`
`
`
`
`
`m2__2mm_._.moOh<H<DmeOn_wwmwmmoomn.
`
`
`
`w_(.23wszmwmm".029.551KMIPMI>>
`
`
`
`an?Ioz<mmOhm._m__mmm_00<>4._<OO.._
`
`
`
`
`
`armmencwm(.510I
`
`
`
`
`
`owewaDOmm(.58.
`
`
`
`0'3HmMDOm—m<._.<n_
`
`m02<_._n_n_<
`
`moz<_._n_n.<
`
`
`
`ad.”andOhmGm."
`
`gékzmo
`
`Ioz<mm
`
`«5.55200
`
`
`
`
`
`
`
`O...._.wz_m>m_m_._.mmmbqiwzwmv.mn_<Ioz<mm
`
`
`
`
`
`
`
`mw<m<h<o<Z_I._._2..van—2.H<<h<omszmmm—xm>m_m._.mm
`
`
`
`
`
`
`
`addZO_._.UDM._.mZ_m>w_m._.mm_
`
`
`
`
`
`.52.w>m_m._.m_mmmmOOw—n.
`
`o.9".
`
`
`
`mwm<._.<n_waOmwmm
`
`wm<m<._.<n_
`
`
`
`
`
`<._.<n_meOmwmmDm<>>m0u
`
`
`
`Z=._._._>>mez_._.<<._.<n_mmZngmmw>m_m._.m_m
`
`
`
`
`
`RIV—1001 - Page 9 of 24
`
`
`
`
`
`
`

`

`US Patent
`
`n
`
`S
`
`2B622,213,
`
`._<m._.2m0
`
`mmm>mmw
`
`g
`
`a
`
`a
`
`
`
`akwmncmm<._.<n_
`
`
`
`aFmMDOmm(.53
`
`Gun.me30mm(.55
`
`1“<20mmzonamm1.mp<mm2momEnsemmN<20mmmooE
`
`ma5.3mmzonamm
`
`Iozémohm._m_mmmoo<m5:09w.53$29.31“.020.58m.
`tEémzmoin:
`
`
`
`
`2$65952.$.05Eéuzmwoz<mw<m<k<on<2.1:;xmoz.E(.29mmzonamm”.0zofimon.Mm._m_wmwoo<>._._<oo._magma952.m>mEEm
`
`
`
`mzimmma0F56mmzoammm380%.
`
`
`
`w.<29mmzonamm“.0205.9.$1513
`
`
`
`9%:ozém9w._m_mmmoo<>._._<oo..
`
`
`
`
`
`“.020.5.9.m._m_mwmoo<>._._<oo._-zoz
`
`8a90.535;W$.0592m>m=EmmTE;
`
`<20mmzoammm“.020.5.9.
`
`
`
`59832>._._<oo._-zoz
`
`
`
`mm<m<p<ozit;xwoz.2(Enmmzonamx
`
`RIV—1001 - Page 10 of 24
`
`elem:
`
`.7»;sz
`
`Iozém
`
`moz<_._n_n_<
`
`
`
`m02$4¢l<KMHDn—EOO
`
`
`
`
`
`

`

`US Patent
`
`Nov. 13, 2012
`
`Sheet 8 of 12
`
`US 8,312,226 B2
`
`._<w_._.2mo
`
`mmm>mmm
`
`an
`
`._<m._.zm_0
`
`m02<_._n_n_<
`
`odd
`
`Iozém
`
`mOz<_._n_n_<
`
`and
`
`me31200
`
`am."
`
`
`
`“.0zOFmOn.mfimfiwm—OU.‘>._._<OO..-ZOZwwwOOm—n.
`
`
`
`
`
`
`
`._.wz_mmOHmDZ<m>m=m._.m_mI._._>>(.55mszmwwm
`
`
`
`
`
`
`
`
`
`
`
`“.029.561m.._m=wwm00<>n_n_<00..m_>m_m.rww_
`
`
`
`
`
`mw<m<._.<n_Z_I._._>>XmoZ_h<<._.<n_mszawwm
`
`
`
`
`
`-ZOZDmmmwmwzéhDZ<<._.<n_meOwa1“.0
`
`
`
`
`
`
`
`<._.<n_meOnEm—m“.029.551mn_m_www00<>._._<OO._
`
`
`
`
`
`
`
`m4m_mmw00<>._J<OO._-ZOZommmmmwzékmeHm
`
`
`
`Z_Ib_>>XmDZ..2(tanwaOn—mmm“—0ZO_._.m_On_
`
`
`
`
`
`mm<m<._.<0
`
`
`
`
`
`<._.<n_waOlwmmDEERE—On.
`
`mN.OE
`
`
`
`Hm<._.<n_wszmwm—m
`
`RIV—1001 - Page 11 of 24
`
`
`
`
`
`
`
`ZOFKOn.Qm>m.m._.mx50mm.<._.<Qmszmwm—mz_(.rmO
`
`
`
`
`
`9..»
`
`own
`
`mmh
`
`con
`
`was.
`
`
`
`
`
`
`
`

`

`US. Patent
`
`,m.N
`
`u
`
`09a
`
`00SU
`
`213,
`
`2B
`
`m,3.
`
`n.momwmoomn.
`
`SEEP;
`
`AQH
`
`com.200z<>>
`
` odd
`
`
`
`woz<_.—n_n_<Ioz<mm
`
`manSmo<mKMHz_
`
`2fign5.0.5:
`
`6.n,mOE
`
`mw<m<k<o
`
`ad
`
`
`
`RIV—1001 - Page 12 of 24
`
`
`
`

`

`U.S. Patent
`
`Nov. 13, 2012
`
`Sheet 10 of 12
`
`US 8,312,226 B2
`
`.200Z<>>
`
`com%
`._<w_._.zm0
`
`woz<3nE<
`
`OS2825
`
`moEmmFZ
`
`and
`
`mOmmmoomn.
`
`Ola
`
`odd
`
`>m0§m=2 aonmwpz.
`ww<m<H<o
`
`cg
`
`m.O_n_
`
`RIV—1001 - Page 13 of 24
`
`
`
`
`

`

`U.S. Patent
`
`Nov. 13, 2012
`
`Sheet 11 0f 12
`
`US 8,312,226 B2
`
`meEmz
`
`>mOs_m_2
`
`amoz<_._n_n_<
`
`crop
`
`meEKNEE—200
`
`
`
`mow—“.0melcoop
`
`or.9“.
`
`
`8.3file.mfl
`
`$0.2m:moz<_._n_n_<moz<_._n_n_<EEozms.
`
`moEOemf...
`
`QEIH
`
`vEOZFMZ
`
`
`
` awow—“.0DZOoww
`
`0200mm
`
`¥m0>>._.m_z
`
`mmzbmzoo
`
`over
`
`RIV—1001 - Page 14 of 24
`
`
`
`
`
`
`
`
`

`

`US Patent
`
`Nov. 13, 2012
`
`Sheet 12 of 12
`
`US 8,312,226 B2
`
`<220E1...<220200mm<22Hmmi
`
`aanawe
`
`<2201.12.2.(.55mmOhw
`
`
`
`>mw>00m5Ewan—mun.
`
`ZO_.r<_.__OZOOmmOz<
`
`
`
`w._.<n_n50253402.
`
`
`
`>mm>00m§EmOmmm—n.
`
`ZO_._.<_.__0200mm_QZ<
`
`
`
`mH<On50253402.
`
`
`
`>mm>00maSEOHENQ
`
`ZO_.r<_.__0200mmDZ<
`
`
`
`m.._.<n_n502.03402.
`
`<22DZOOMWz_(.53mmOHm
`
`
`
`29.2031th_mmOhm.I.:>><._.<n_
`
`
`
`
`
`n_<s_>10§m§._<D._.~=>
`
`
`
`
`
`n.<s_>mO—2w54<3H~=>
`
`
`
`
`
`n_<5_>m0_2m_2._<3.E_>
`
`
`
`
`
`._.mz_m>m_m._.m_mwwwOOw—mom:
`
`
`
`zO_._.ODm.rw2_m>w_w_._.m_m
`
`
`
`
`
`mw<m<._.<n_<Z_I._._>>van—Z.._.<$22
`
`
`
`DEE.z.<._.<n_m>m_m_._.mmO...Hmz_m>m_m_._.mmmh<mw2m0we:
`
`
`
`
`
`
`
`
`
`<._.<n_“.020:.m0n_mePm—I;mz_§mw._.w0
`
`
`
`
`
`<52GEE.O._.m._m_mmm_oo<>4._<UO._w.
`
`03%
`
`
`
`$22QZOOm—wO...<._.<DwDZm—wKMFDQEOO
`
`
`
`
`
`
`
`ZO_.rODm.rm2_mKOhmI._._>><H<D
`
`
`
`
`
`
`
`
`
`ww<m<._.<n_Z__._.:>>xmoz.._.<<._.<ow>m__m._.wm_mm3
`
`
`
`
`
`
`
`<._.<n_om<>>¢0m09.r
`
`:.OE
`
`RIV—1001 - Page 15 of 24
`
`
`
`
`
`
`
`
`

`

`US 8,312,226 B2
`
`1
`NETWORK MEMORY APPLIANCE FOR
`PROVIDING DATA BASED ON LOCAL
`ACCESSIBILITY
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`This application is a continuation of U.3. application Ser.
`No. 11/202697. filed Aug. 12. 2005 and entitled “Network
`Memory Architecture for Providing Data Based on Local
`Accessibility.”
`
`10
`
`BAC KGROU'ND
`
`1. Technical Field
`The present invention relates generally to network memory
`and more particularly to a network memory appliance.
`2. Description of Related Art
`To allow remote employees access to an enterprise’s infor-
`mation systems, organizations typically choose between two
`networking approaches: centralized servers or distributed
`servers. Centralized server implementations have the advan-
`tage of simplicity since an information technology (IT) pro-
`fessional centrally manages. maintains. and enforces policies
`for the organization’s data.
`FIG. 1 illustrates a centralized server system 100 in the
`prior art. The centralized server system 100 includes a branch
`office 110 and a central office 120 coupled by a communica-
`tion network 130. The communication network 130 fom‘rs a
`WAN between the branch office 110 and the central office
`120.
`Typically. the central servers 160 in the central office 120
`store the organization’s data. Computers 140 make requests
`for the data from the central servers 160 over the communi-
`cation network 130. The central servers 160 then return the
`data to the computers 140 over the communication network
`130.
`The communication network 130 typically comprises a
`private network (e.g., a leased line network) or a public net-
`work (e.g., the Internet). The connections to the communica-
`tion network 130 from the branch office 110 and the central
`office 120 typically cause a bandwidth bottleneck for
`exchanging the data over the comnurnication network 130.
`The exchange of the data between the branch oflice 110 and
`the central office 120, in the aggregate, will usually be limited
`to the bandwidth of the slowest link in the communication
`network 130.
`For example, the router 150 connects to the communica-
`tion network 130 by a T1 line. which provides a bandwidth of
`approximately 1.544 Megabits/second (Mbps). The router
`170 connects to the communication network 130 by a T3 line,
`which provides a bandwidth of approximately 45 Megabits/
`second (Mbps). Even though the communication network
`130 may provide an internal bandwidth greater than 1.544
`Mbps or 45 Mbps.
`the available bandwidth between the
`branch office 110 and the central office 120 is limited to the
`bandwidth of 1.544 Mbps (i.e.. the T1 connection). Connec-
`tions with higher bandwidth to relieve the bandwidth bottle-
`neck across the communication network 130 are available,
`but are generally expensive and have limited availability.
`Moreover. many applications do not perform well over the
`communication network 130 due to the limited available
`bandwidth. Developers generally optimize the applications
`for performance over a local area network (LAN) which
`typically provides a bandwidth between 10 Mbps to Gigabitf
`second (Gbps) speeds. The developers of the applications
`assume small latency and high bandwidth across the LAN
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`between the applications and the data. However, the latency
`across the communication network 130 typically will be 100
`times that across the LAN, and the bandwidth of the continu-
`nication network 130 will be '/rooth of the LAN.
`Altematively. many organizations select the distributed
`server implementation to mitigate some of the problems with
`the centralized server implementation. FIG. 2 illustrates a
`distributed server system 200 in the prior art. The distributed
`server system 200 includes a branch office 210. a central
`office 220. and a communication network 230. The commu-
`nication network 230 forms a WAN between the branch office
`210 and the central office 220.
`In the distributed server system 200. the branch servers 240
`(e.g.. email servers. file servers and databases) are placed
`locally in the branch office 210. rather than solely in the
`central office 220. The branch servers 240 typically store all
`or part of the organization's data. The branch servers 240
`generally provide improved application performance and
`data access. The branch servers 240 respond to a request for
`the organization’s data from the local data. For each request
`for the data. the central servers 270 potentially do not need to
`transfer the data over the communication network 130 (i.e..
`the WAN). Synchronization and backup procedures are
`implemented to maintain the coherency between the local
`data in the branch office 210 and the data in the central office
`220.
`Unfortunately. managing the distributed server system 200
`is complex and costly. From a physical point of view, the
`distributed server system 200 with one hundred branch
`offices requires an order of one hundred times more equip—
`ment than the centralized server approach. Each piece of the
`equipment not only needs to be purchased. but also installed.
`managed. and repaired driving significant life cycle costs.
`The branch office 210 may need additional local 1T personnel
`to perform operations because of this “Server Sprawl”. Fur—
`thennore. the multiplication ofmanaged devices means addi-
`tional
`license costs. security vulnerabilities. and patching
`activities.
`In distributed server implementations (e.g., the distributed
`server system 200), the data. including the “golden copy” or
`most up-to-date version of mission critical data.
`is often
`stored (at least temporarily) only on the branch servers 240 in
`the branch oflice 210. Organizations implement complex pro-
`tocols and procedures for replication and synchronization to
`ensure that the mission critical data is backed up and kept
`in-sync across the WAN with the central servers 270.
`Furthermore. although FIG. 1 and FIG. 2 illustrate a single
`branch office and a single central office. multiple branch
`offices and multiple central offices exacerbate the previously
`discussed problems. For example.
`in a centralized server
`implementation having multiple branches, computers in each
`ofthe multiple branch ofl‘ices make requests over the WAN to
`central servers for the organization’s data. The data transmit-
`ted by the central servers in response to the requests quickly
`saturate the available bandwidth of the central office‘s con—
`nection to the communication network. further decreasing
`application performance and data access at
`the multiple
`branch offices. In a distributed server implementation having
`multiple branches, the cost to provide branch servers in each
`of the multiple branch offices increases. as well as the prob—
`lems of licensing. security vulnerabilities. patching activities,
`and data replication and synchronization. Moreover. different
`branches may simultaneously attempt to modify the same
`piece of infonnation. Maintaining coherency in a distributed
`implementation requires complex and error prone protocols.
`As well as implementing centralized servers or distributed
`servers. organizations also implement mechanisms for cach-
`
`RIV—1001 - Page 16 of 24
`
`

`

`US 8,312,226 B2
`
`3
`ing to improve application performance and data access. A
`cache is generally used to reduce the latency of the commu-
`nication network (e.g.. communication network 23 0) forming
`the WAN (i.e.. because the request is satisfied from the local
`cache) and to reduce network trafiic over the WAN (i .e..
`because responses are local, the amount of bandwidth used is
`reduced).
`Web caching. for example. is the caching of web docu-
`ments (i.e.. HTML pages. images. etc.) in order to reduce web
`site access times and bandwidth usage. Web caching typically
`stores local copies of the requested web documents. The web
`cache satisfies subsequent requests for the web documents if
`the requests meet certain predetermined conditions.
`One problem with web caching is that the web cache is
`typically only eiTective for rarely modified static web docu-
`ments. For dynamic documents, there is a difficult tradeoff
`between minimizing network trafiic and the risk of the web
`cache serving up stale data. The web cache may serve stale
`data because the web cache responds to requests without
`consulting the server.
`Another problem is that the web cache does not recognize
`that two otherwise identical documents are the same if they
`have different Uniform Resource Locator (URL). The web
`cache does not consider the content or context of the docu-
`ments. Thus. the web cache caches the documents by URL or
`filename without a determination ofthe content or context of
`the doctunent. Moreover. the web cache stores entire objects
`(such as documents) and cache-hits are binary: either a per-
`fect match or a miss. Even where only small changes are made
`to the documents. the web cache does not use the cached copy
`of the documents to reduce network traffic.
`
`SUMMARY OF THE INVENTION
`
`The invention addresses the above problems by providing
`a network memory appliance. method. and software product.
`A first appliance of a network memory includes a communi-
`cation interface configured to communicate with a commu-
`nication network and a processor. The processor receives data
`and determines whether the data is locally accessible to a
`second appliance ofthe network memory. The processor gen-
`erates an instruction based on the determination in order that
`the second appliance obtain the data and transfers the instruc-
`tion over the communication network to the second appli-
`ance.
`In some embodiments. the instruction indicates to retrieve
`the data from storage locally accessible to the second appli-
`ance. The instruction may indicate to store the data in storage
`locally accessible to the second appliance. The processor may
`also transmit over the communication network to the second
`appliance a portion of the data.
`Another first appliance of the network memory includes a
`communication interface configured to communicate with a
`communication network and a processor. The processor
`receives an instruction over the communication network from
`a second appliance of the network memory and process the
`instruction to determine an action to perform to obtain the
`data. The processor performs the action to obtain the data if
`the data is locally accessible to the first appliance. The action
`may comprise retrieving the data from a database locally
`accessible to the first appliance.
`In some embodiments. the instruction indicates to store.
`the data at an index within a database locally accessible to the
`first appliance. The processor may receive over the continu-
`nication network from the second appliance a portion of the
`data that is not locally accessible to the first appliance. The
`
`10
`
`U-
`
`toL1!
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`processor then retrieves a portion of the data locally acces-
`sible to the first appliance and process the portions to obtain
`the data.
`Advantageously. the first appliance may not transfer the
`data over the communication network if the data is locally
`accessible to the second appliance. The first appliance effec-
`tively reduces latency over the communication network. and
`reduces network traffic by minimizing the amount ofdata sent
`over the communication network. Furthermore. first appli-
`ance provides the advantages and simplicity of centralized
`data storage, with the ability to quickly retrieve data locally
`accessible to the first appliance and/or the second appliance.
`The first appliance may localize a copy of the data in multiple
`appliance/node implementations without the license fees and
`expenses. maintenance. and security costs of distributed
`server hardware.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 illustrates a centralized server system in the prior
`art;
`FIG, 2 illustrates a distributed server system in the prior art:
`FIG. 3 illustrates a network memory system. in an exem—
`plary implementation of the invention:
`FIG. 4 illustrates a message sequence chart for the network
`memory system where a response to a data request is not
`locally accessible to a branch appliance.
`in an exemplary
`implementation of the invention:
`FIG, 5 illustrates data structures for the network memory
`system to determine whether a portion of the data is locally
`accessible to the branch appliance. in an exemplary imple-
`mentat ion of the invention:
`FIG. 6 illustrates a message sequence chart for the network
`memory system where the response to the data request is
`locally accessible to the branch appliance. in an exemplary
`implementation of the invention:
`FIG. 7A and FIG. 7B illustrate a message sequence chart
`for the network memory system where a portion of the
`response to the data request is locally accessible to the branch
`appliance. in an exemplary implementation of the invention;
`FIG. 8 illustrates a block diagram of the branch appliance.
`in an exemplary implementation of the invention;
`FIG. 9 illustrates a block diagram of a central appliance, in
`an exemplary implementation of the invention:
`FIG. 10 illustrates a network memory system between a
`first ofifice. a second ofiice, and a third office. in an exemplary
`implementation of the invention: and
`FIG. 11 illustrates a message sequence chart for the net-
`work memory system for discovery and reconciliation, in an
`exemplary implementation of the invention.
`DETAILED DESCRIPTION OF THE INVENTION
`
`The embodiments discussed herein are illustrative of one
`example of the present invention. As these embodiments of
`the present invention are described with reference to illustra-
`tions. various modifications or adaptations of the methods
`and/or specific structures described may become apparent to
`those skilled in the art.All such modifications. adaptations. or
`variations that rely upon the teachings of the present inven—
`tion. and through which these teachings have advanced the
`art. are considered to be within the scope of the present
`invention. Hence. these descriptions and drawings should not
`be considered in a limiting sense. as it is understood that the
`present invention is in no way limited to only the embodi-
`ments illustrated.
`
`RIV—1001 - Page 17 of 24
`
`

`

`US 8,312,226 B2
`
`5
`To provide improved application performance and data
`access. the network memory system generally comprises a
`first appliance and a second appliance. The first appliance
`receives data and determines whether a portion of the data is
`locally accessible to the second appliance. The first appliance
`generates an instruction based on the determination and trans-
`fers the instruction to the second appliance through the com-
`nrurricatiorr network.
`The network memory system provides that the second
`appliance processes the instruction to obtain the data and
`transfers the data to a computer. The data may be locally
`accessible to the second appliance. and the transfer to the
`computer may occur faster than transferring the data over the
`communication network. Accordingly. the second appliance
`transfers the data to computer without the first appliance
`transferring the data over the communication network that
`may have a high latency and low bandwidth. Thus, the net-
`work memory system operates to reduce latency and network
`traffic over the communication network.
`FIG. 3 illustrates a network memory system 300, in an
`exemplary implementation of the invention. The network
`memory system 300 includes a branch office 310. a central
`office 320. and a communication network 330. The branch
`office 310 includes computers 340. a branch appliance 350.
`and a router 360. The central office 320 includes central
`servers 370, a central appliance 380. and a router 390.
`In the branch office 310. the computers 340 are linked to
`the branch appliance 350. The branch appliance 350 is linked
`to the router 360. The router 360 is coupled to the communi-
`cation network 330. In the central office 320. the central
`servers 370 are linked to the central appliance 380. The cen-
`tral appliance 380 is linked to the router 390. The router 390
`is coupled to the communication network 330.
`The principles discussed herein are equally applicable to
`multiple branch offices (not shown) and to multiple central
`offices (not shown). For example. the network memory sys-
`tenr 300 may include multiple branch offices and/or multiple
`central offices coupled to the communication network 330.
`Branch office/branch office commrmication and central
`office/central office communication, as well as multi-appli-
`ance and/or multi-node communication and bi-directional
`communication are fiirther within the scope ofthe disclosure.
`However. for the sake of simplicity. the disclosure illustrates
`the network memory system 300 having the single branch
`office 3 10 and the single central office 320, and the respective
`branch office 310/central office 320 communication.
`The communication network 330 comprises hardware and!
`or software elements that enable the exchange of information
`(e.g.. voice and data) between the branch office 310 and the
`central office 320. Some examples of the communication
`network 330 are a private wide-area

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