`
`(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