`DeBettencourt et al.
`
`US006279001B1
`(10) Patent N0.:
`US 6,279,001 B1
`(45) Date of Patent:
`Aug. 21, 2001
`
`(54) WEB SERVICE
`
`OTHER PUBLICATIONS
`
`(75) Inventors; Jason DeBettencourt, Framingham;
`Marco Lara, Tops?eld; Stanley
`Yamane, Framingham; Freeland
`Abbott, Arlington, all of MA (US)
`
`(73) Assignee: Webspective Software, Inc., Needham,
`MA (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 A 1. No.: 09/086 874
`(
`)
`pp
`’
`
`(22) Filed;
`
`May 29, 1998
`
`(51) Int. Cl.7 .......................... .. G06F 17/30; G06F 15/16;
`G06F 15/177
`
`U-S- Cl- .......................... ..
`
`709/218; 709/221
`
`(58) Field of Search ................... .. 707/10, 103; 709/221,
`709/217, 218; 395/200.33
`
`(56)
`
`References Cited
`Us‘ PATENT DOCUMENTS
`
`5,341,477
`5,459,837
`574757813
`5,613,155
`
`8/1994 Pitkin et al. ....................... .. 395/200
`709/226
`10/1995 CfICCaVale ---- -
`12/1995 Clelak ct a1~ ~~
`395/18202
`3/1997 Baldiga et al. ........................ .. 710/5
`
`Mason, R. “Atreve Announces WebSpective: The First Tool
`for Web Operations Management,” International Data Cor
`Poration, 16 pgs» 1998
`Atreve Software, Inc. “Insuring Your Web Business for
`Online Success,” Aug. 3, 1998, 2 pgs.
`Atreve SoftWare, Inc. “The Case for Web Operations Man
`agement,” Aug. 3, 1998, 2 pgs.
`Atreve SoftWare, Inc. “WEBSPECTIVETM Release 2,” Aug.
`3, 1998, 2 pgs.
`
`List continued on neXt a e.
`(
`p g )
`Primary Examiner—Thomas Black
`Assistant Examiner—FrantZ Coby
`(74) Attorney, Agent, or Firm—Testa, HurWitZ & Thibeault
`LLP
`(57)
`
`ABSTRACT
`
`A system for serving Web pages manages a plurality of Web
`servers. The system provides an operator With features and
`tools to coordinate the operation of the multiple Web servers.
`The System can manage traf?c by directing Web page
`requests to available Web servers and balancing the Web
`page request service load among the multiple servers. The
`System can Collect data on Web page requests and Web Server
`responses to those Web page requests, and provide reporting
`of the data as Well as automatic and manual analysis tools.
`The system can monitor for speci?c events, and can act
`automatically upon the occurrence of such events. The
`events can include predictions or thresholds that indicate
`impending system crises. The system can include crisis
`management capability to provide automatic error recovery,
`and to guide a system operator through the possible actions
`that can be taken to recover from events such as component
`failure or netWork environment problems. The system can
`present current information about the system operation to a
`system operator. The system can manage content replication.
`
`(List continued on next page.)
`
`20 Claims, 11 Drawing Sheets
`
`114
`
`LOGG l NG
`DATABASE
`
`.———> INTERCEPTOR : >
`
`122
`
`115
`
`TNTERCEPTOR
`CONTROL
`PROGRAM
`
`mggp'HoM'NG
`
`, WEB SERVER
`
`DATABASE
`
`1020-2
`
`WEB SERVER
`
`TNTERFAC
`
`1040-2
`
`105C
`
`1093
`
`AGEN
`1026-“
`
`WEB SERVER
`
`A -1
`10 c
`
`WEB SERVER
`
`r‘
`1025
`
`lNTERFAC%/1U4B
`
`HOST
`1095
`
`WATCHER
`
`AGENT
`
`HOST
`109A
`
`DATABASE
`
`WEB SERVER
`
`’_
`102A
`
`116A
`
`115B
`
`116)(
`
`WATCHER
`
`INTERFAC 104A
`
`AGENT
`
`DATABASE
`
`IBM / Softlayer v. ZitoVault
`Ex. 1007 / Page 1 of 27
`
`
`
`US 6,279,001 B1
`Page 2
`
`US. PATENT DOCUMENTS
`
`8/1997 Bonnell et al. .................... .. 395/292
`5,655,081
`2/1998 Stewart ........ ..
`395/615
`5,715,453
`5,742,768 * 4/1998 Gennaro et al.
`395/200.33
`5,761,507
`6/1998 Govett .......... ..
`395/684
`5,774,660
`6/1998 Brendel et al.
`395/200
`5,774,668
`6/1998 Choquier et al. ............. .. 395/200.53
`5,781,449
`7/1998 Rosborough ....................... .. 709/224
`5,848,270
`12/1998 Deluca et al. .
`395/675
`5,867,706
`2/1999 Martin et al. ..
`..... .. 395/675
`5,870,559 * 2/1999 Leshem et al.
`.. 395/200.54
`5,881,238
`5/1999 Aman et al. .................. .. 395/200.56
`5,894,554 * 4/1999 Lowery et al. ............... .. 395/200.33
`5,903,757
`5/1999 GretZ et al.
`395/704
`5,917,491 * 6/1999 Bauersfeld
`345/352
`5,933,490
`8/1999 White et al.
`379/221
`5,933,596
`8/1999 Mayhew
`395/200.33
`5,933,606
`8/1999 Mayhew
`395/20069
`5,940,594
`8/1999 Ali et al.
`.. 395/200.33
`5,951,643 * 9/1999 Shelton et al. .
`..... .. 709/227
`5,954,798 * 9/1999 Shelton et al. .
`709/224
`5,956,716 * 9/1999 Kenner et al.
`707/10
`5,958,008 * 9/1999 Pogrebisky et al.
`709/223
`5,958,016 * 9/1999 Chang et al.
`709/229
`5,964,836 * 10/1999 Rowe et al.
`709/221
`5,974,441
`10/1999 Rogers et al. .
`709/200
`5,974,462
`10/1999 Aman etal.
`.. 709/225
`
`5,974,572 * 10/1999 Weinberg . . . . . . . . . .
`
`. . . . .. 714/47
`
`709/224
`12/1999 Barrick, Jr. et al.
`6,006,260
`709/226
`12/1999 Colby et al. ..... ..
`6,006,264
`379/219
`6,014,437 * 1/2000 Acker etal.
`709/200
`6,016,504 * 1/2000 Arnold etal. .
`709/224
`6,021,439 * 2/2000 Turek etal.
`709/201
`6,023,722
`2/2000 Colyer ...... ..
`707/204
`6,026,414
`2/2000 Anglin ......... ..
`6,035,323
`3/2000 Narayen et al. ................... .. 709/201
`6,035,332
`3/2000 Ingrassia, Jr. et al. ............ .. 709/224
`6,037,935
`3/2000 Bates et al. ......... ..
`345/335
`6,041,041
`3/2000 Ramanathan
`370/241
`6,052,718
`4/2000 Gifford ............ ..
`709/219
`6,070,191
`5/2000 Narendran et al.
`709/226
`6,094,659 * 7/2000 Bhatia ............. ..
`707/104
`6,098,093
`8/2000 Bayeh et al.
`709/203
`6,101,508
`8/2000 Wolf ......... ..
`707/218
`6,122,658
`9/2000 Chaddha
`709/203
`6,128,279
`10/2000 O’Neil et al. ..
`370/229
`6,148,335
`11/2000 Haggard et al. ................... .. 709/224
`
`OTHER PUBLICATIONS
`
`Computerworld, “the buZZ,” pp. 6—9, Jul. 27, 1998, http://
`www.computerworld.com/home/emmerce.nsf/all/
`980727buZZ.
`Atreve Software, Inc. “The WebSpective Content Distribu
`tor,” Jun. 1998, 9 pgs.
`Press Release “Atreve Software Secures $8.6 Million in
`Second Round of Venture Financing,” Jun. 29, 1998, 3 pgs.
`Computerworld, “Atreve Software Has Introduced Web
`Spective Release 2,” Jun. 15, 1998, 1 pg.
`Babcock, C. “Atreve Eases Web App Management,”
`Inter@ctive Week Online, Jun. 15, 1998, 2 pgs.
`Babcock, C. “Atreve Eases Web App Management,”
`Inter@ctive Week, Jun. 15, 1998, 1 pg.
`Internet News.Com Online, “Atreve Delivers WebSpective
`Release 2,” Jun. 10, 1998, 1 pg.
`Internet World Online, “Atreve Upgrades WebSpective Sys
`tem,” Jun. 10, 1998, 1 pg.
`
`New Product News Online, “Atreve Introduces The Only
`Complete Solution For Web Operations Management,” Jun.
`8, 1998, 2 pgs.
`Infoworld Electric Online, “Intranets & I—Commerce,” Jun.
`8, 1998, 1 pg.
`Infoworld, “Shipping,” Jun. 8, 1998, 1 pg.
`Internet World Products and Services, “Atreve Upgrades
`WebSpective System,” Jun. 8, 1998, 1 pg.
`Joachim, D. “Web Mgm’t Tool Keeps Tabs On User Expe
`rience,” Internet Week Online, Jun. 8, 1998, 1 pg.
`Joachim, D. “Web Mgm’t Tool Keeps Tabs On User Expe
`rience,” Internet Week, Jun. 8, 1998, 1 pg.
`Hannon, B. “Atreve Puts New WebSpective On Online Site
`Management,” PC Week, Jun. 8, 1998, 1 pg.
`Press Release “Atreve Introduces the Only Complete Solu
`tion for Web Operations Managernent—Webspective Release
`2,” Jun. 8, 1998, 3 pgs.
`Press Release “Comprehensive Content Replication and
`Distribution Module Added to Atreve’s Webspective Solu
`tion,” Jun. 8, 1998, 3 pgs.
`Joachim, D. “Atreve’s Web Management Tool Keeps Tabs
`on User Experience,” CMP.NET Online, Jun. 5, 1998, 2 pgs.
`Hannon, B. “Atreve Puts New WebSpective On Online Site
`Management,” PC Week Online, Jun. 5, 1998, 1 pg.
`Husum, D. “Building on Experience: Atreve Positions Web
`Management Suite to Interrupt Final Stage of Site Demise,”
`Web Vantage Online, Jun. 5, 1998, 2 pgs.
`Clark, T. “Atreve updates site management,” CNET NEWS
`.COM, Jun. 3, 1998, 1 pg.
`Atreve Software, Inc. “Atreve WebSpective and Cisco Local
`Director,”, May 1998, 10 pgs.
`Desmond, P. “Atreve to beef up Web management tool,”
`Network World.Fusion, May 29, 1998, 2 pgs.
`Atreve Software, Inc. “Managing a Successful Financial—
`Services Web Presence,” Apr. 29, 1998, 2 pgs.
`Press Release “Atreve’s WEBSPECTIVETM 1.5 Increases
`Performance and Availability of Commerce—Critical Web
`Sites,” Apr. 27, 1998, 3 pgs.
`Atreve Software, Inc. “Mission Control for Web Operations:
`AWhite Paper,” Apr. 15, 1998, 18 pgs.
`Press Release “Atreve Software Names Doherty CFO,” Apr.
`13, 1998, 2 pgs.
`Press Release “Atreve Software Incorporates RSA Encryp
`tion for SSL—Secure Web Application Solution,” Mar. 17,
`1998, 2 pgs.
`Atreve Software, Inc. “The Case for Web Application Man
`agement,” Mar. 9, 1998, 2 pgs.
`Freeman, E. “New tools help server farms blossom,” Data
`mation, Feb. 1998, 5 pgs.
`Delmonico, D. “Web—Site Management Tools: Big Market
`With Room For Growth,” Internet Week, Feb. 23, 1998, 4
`PgS~
`Barnes, M. “e—Commerce Ready to Explode,” Boston Soft
`ware Newspaper, Jan. 1998, 2 pgs.
`Network MagaZine, “WebSpective 1.5 Manages Web Server
`Loads,” Network MagaZine, Jan. 12, 1998, 1 pg.
`Press Release “Atreve Software, Inc. Names Joe Debold
`Vice President of Sales,” Jan. 6, 1998, 2 pgs.
`Karpinski, R. “Net Marketing: Web Impact: New Load
`Balancers Can Help Your Site Serve More Customers,”
`Business Marketing, Jan. 1, 1998, 2 pgs.
`Bank Technology News, “Wall Street Highlights Problem
`Of Web Jams,” Faulkner & Gray, Inc., Dec. 1997, 2 pgs.
`
`Ex. 1007 / Page 2 of 27
`
`
`
`US 6,279,001 B1
`Page 3
`
`Bank Technology News, “Wall Street Highlights Problem
`Of Web Jams,” Bank Technology News, Dec. 1997, 2 pgs.
`Computerworld, “New Products,” Computerworld, Dec. 8,
`1997, 1 pg.
`LAN Times, “Inspecting Internet applications,” LAN Times,
`Dec. 8, 1997, 1 pg.
`Wallace et al. “Load balancers aid Web site access,” Com
`puterworld, Dec. 1, 1997, 2 pgs.
`Eddy, A. “Atreve software to lighten Web management
`load,” Network World, Nov. 24, 1997, 2 pgs.
`Wilson, T. “Atreve Sees New Perspective,” Internet Week,
`Nov. 24, 1997, 1 pg.
`Wilson, T. “ScrutiniZing Web Performance,” Internet Week,
`Nov. 17, 1997, 2 pgs.
`Wilson, T. “ScrutiniZing Web Performance Increased Inter
`net—Traf?c Problematic When There’s No Time to Plan,”
`Internet Week Online, Nov. 17, 1997, 2 pgs.
`Wilson, T. “Wall Street Frenzy Leaves Website Managers;
`Taking Stock,” Internet Week Online, Nov. 13, 1997, 2 pgs.
`Degnan, C. “Atreve shakes out the cobwebs,” Mass. High
`Tech, Nov. 7—13, 1997, 1 pg.
`Petersen, S. “WebSpective Tightens The Reins on Web
`Apps,” PC Week, Nov. 10, 1997, 1 pg.
`Petersen, S. “WebSpective Tightens the Reins on Web
`Apps,” PC Week Online, Nov. 10, 1997, 1 pg.
`Press Release “Atreve Delivers WEBSPECTIVETM 1.5, the
`Leading Solution for Managing Business—Critical Web
`Applications,” Nov., 10, 1997, 3 pgs.
`Aldrich, S. “Atreve Delivers Web Application Service Level
`Management,” Internet Tools and Technologies Service—
`e—Bulletin, Nov. 3, 1997, 4 pgs.
`Press Release “Atreve Software, Inc. Names Glenn D.
`House President and CEO,” Sep. 29, 1997, 3 pgs.
`Wilson, T. “Managing Access To E—Commerce Sites,” Inter
`net Week, Sep. 1, 1997, 3 pgs.
`RodrigueZ, K. “Atreve Provides Multiserver Web Manage
`ment,” Inter@ctive Week,Jul. 21, 1997, 1 pg.
`LAN Times, “A certain level of service,” LAN Times
`Online, Jul. 21, 1997, 1 pg.
`
`Atreve Software, Inc. “WebSpective LA Installation and
`User’s Guide,” Jul. 16, 1997, 72 pgs.
`Atreve Software, Inc. “Interceptor 1.0 Installation and
`User’s Guide,” Jul. 16, 1997, 36 pgs.
`Kerstetter et al. “Raising Web Analysis Bar,” PC Week, Jun.
`30, 1997, 2 pgs.
`Kerstetter et al. “Raising Web Analysis Bar,” PCWeek
`Online, Jun. 27, 1997, 2 pgs.
`Atreve Software, Inc. “Web Application Management: Qual
`ity of Service is Job One,” Jun. 24, 1997, 11 pgs.
`Wilder, C. “Atreve Beta Manages Web Apps—WebSpective
`aimed at high—volume sites,” Information Week, Jun. 23,
`1997, 1 pg.
`Wilder, C. “Atreve Beta Manages Web Apps—WebSpective
`aimed at high—volume sites,” Information Week Online, Jun.
`23, 1997, 1 pg.
`CoX, J. “Atreve relieves taXed Web sites,” Network World,
`Jun. 23, 1997, 2 pgs.
`Press Release “Atreve Software, Inc. Formed to Address
`Challenges Associated with Managing Business—Critical
`Web Applications,” Jun. 23, 1997, 3 pgs.
`BMC Software, Inc., http://www.bmc.com/, printed on Jul.
`31, 1998, 43 pages.
`Bright Tiger Technologies, http://www.brighttiger.com/De
`fault.htm, printed on Jul. 30, 1998, 63 pages.
`“Intranet Load—Balancing Solutions,” Infoworla', Mar. 23,
`1998, vol. 20, Issue 12, http://www.infoworld.com/cgi—bin/
`displayArchive.pl?/98/12/intrsola.dat.htm, printed on Aug.
`4, 1998, 28 pages.
`Patrol Architecture—Raising the Application Management
`Standard,
`http://www.bmc.com/products/pat/amo/patw
`p.html, printed on Jul. 27, 1998, 21 pages.
`Resonate, Inc., http://www.resonate.com/, printed on Jul. 30,
`1998, 31 pages.
`
`* cited by examiner
`
`Ex. 1007 / Page 3 of 27
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 1 0f 11
`
`US 6,279,001 B1
`
`\ T02: wO/ImmPZ
`
`(82 N: w:
`
`Ex. 1007 / Page 4 of 27
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 2 0f 11
`
`US 6,279,001 B1
`
`
`
`www mwkm
`
`mm;
`
`OZ
`
`//
`
`#9. mmtlw
`
`02
`
`
`
`NE, nmhw
`
`02w
`
`N .QE
`
`Ex. 1007 / Page 5 of 27
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 3 0f 11
`
`US 6,279,001 B1
`
`\
`wow
`
`m .OE
`
`.60:
`
`
`
`2: E102;
`
`/
`
`4/
`
`my?
`
`Ex. 1007 / Page 6 of 27
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 4 of 11
`
`US 6,279,001 B1
`
`04//53,
`9
`09’ O
`0 <9
`0,1, 0’
`0) I
`
`+-
`
`0
`($3 2
`E .9
`o <
`0 Ir
`n: 3
`D. D
`
`Q
`
`f
`047
`‘319
`00
`(619/) 6'0’
`Q9 ‘*0
`6’
`(6%
`‘YO
`.(
`94 5‘)
`
`LIJ
`g
`I-
`Lu
`oO.
`
`2
`
`0
`as
`
`Q: 5
`LU <1:
`$5
`g 5
`_
`
`E
`E
`‘/9
`3
`E
`
`-
`
`«-
`
`I
`I
`
`I
`I
`
`I I
`
`I
`I
`I
`I
`I
`I
`I
`
`I
`I
`I
`I
`I
`
`I
`
`I
`
`I
`I
`
`'
`9
`Ll.
`
`Ex. 1007/ Page 7 of 27
`
`>_
`E
`o
`UJ
`1
`2)
`
`‘<9
`\‘7/)g’I/$8
`
`<.
`w'
`l.
`
`_L
`
`“--’
`I
`Q
`51
`l.IJ
`3
`g
`0
`
`I
`'
`I
`I
`I
`I
`I
`
`9
`
`Q3003
`6'
`
`‘[830
`09¢,
`
`as
`
`,
`
`6'
`
`I
`9~(SI$
`I
`/7036’
`:
`L — — _ _ _ . _ _ _ _
`
`m M
`9,
`
`00
`O V‘
`
`8 no
`1
`
`Ex. 1007 / Page 7 of 27
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 5 0f 11
`
`US 6,279,001 B1
`
`vow
`
`com
`
`mom
`
`Ex. 1007 / Page 8 of 27
`
`
`
`U S Patent
`
`Aug. 21, 2001
`
`Sheet 6 0f 11
`
`US 6,279,001 B1
`
`N
`
`Ex. 1007 / Page 9 of 27
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 7 0f 11
`
`US 6,279,001 B1
`
`Ex. 1007 / Page 10 of 27
`
`
`
`U.S. Patent
`
`Aug. 21,2001
`
`Sheet 8 of 11
`
`US 6,279,001 B1
`
`
`
`w_HHH._HomHoHHmH.wuHH.unDH....u3u¢5030oHHmHHH§HH.Hbm.mmHn.mHoHno3an.
`
`
`
`
`
`
`
`mEH_.omEHmHuuu.uHHbH_.33HoH3BooBHmHHHH..HH.HHEm“moHmwHoHnoM3.ac..
`
`own
`
`
`
`
`
`HuBumnuHH.__3uuEunD.H§§oEEOoHHmHH_aHHHH.Hbm.BHmmHo.H.BmH&an..
`
`
`
`
`
`
`
`
`
`_3Hu8HH&HH.HH8HHH..HHHHHEH86$.50ofiH.mn_aEHEmmv+mHoHnomi2:.
`
`
`
`
`
`
`
`
`
`mHao0.a.s§.vHu&HaHBm_HunHan.50oH,__HHmHHH§HEm.H.mHv.mHo,H.3M3..5.
`
`
`
`
`
`HHo.umu.HEmHHHHHH.mHHuH5H0306HUPEOQBEHHHEHEmooHH,m5Hnomi2:.
`
`
`
`
`
`mfism$55_HEnHEHHMumnHM.Hm.flHHum¢mum.»H,HmmHoH.no-mo-.&...HH
`
`
`
`
`
`mfismmmHHaHHU__HEmB.H§&aHHHHmm¢v%.H,HHam5H.,_.o-mo-HamHHm.HH%H§Hu
`
`
`
`
`HamvH2&HaHHHHum.H_m,.H.w.vHHamsH.8-8.&,.HH
`
`
`
`
`
`%H8HHuHu...,HHH..,fiH.,..oHHumfifi.€RH2.HH£&aHH=mm¢m%.vHHmmHoH.3-HHo-RH..H
`
`
`
`
`
`
`
`
`
`
`
`mmHm_oH.Hn.Hom.mw._mumommmH.HwH.Ubhmmoammu_mmM_uu.H.Hmm...HHwm_.:HmNHo_H.m.o-woLh_m_,oH
`
`
`
`
`
`
`
`
`
`HHH&¢uH§&aHHHH%.HHH.HH.E§oEBoo£H.mHHEHH«mumHHmmHo.H.3-wo-n3.H
`
`
`
`
`
`
`
`
`
`
`
`.HmnnmauOEfiHam¢umHHSH.UHmfiumoumxuHw.mH.n_mu.HHu.m.aH._mvnHmm.o-w.Q..n...m_m_
`
`
`
`
`
`
`
`
`
`
`
`
`
`ZuomnfiommmwmmmfimmEEUhuuumbumuHH%¢w.vm....mHHMNH:mO.w.o.__m...m3.
`
`
`
`
`
`
`
`
`
`m.0_..._
`
`Ex. 1007 / Page 11 of 27
`
`Ex. 1007 / Page 11 of 27
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 9 0f 11
`
`US 6,279,001 B1
`
`INIT
`COUNTER C=O
`DELAY TIMET
`AMAX
`
`PROGRAM
`OK?
`
`YES
`
`STEP 400
`
`A
`
`ATTEMPT
`To
`/' RESTART
`STEP 402
`
`RESTART
`SUCCESSFUL?
`
`STEP 404
`
`/.
`STEP 406
`
`DELAY FOR
`TIMET
`
`l
`
`INCREMENT
`/' COUNTER 0
`STEP 408
`IF 0 < AMAX,
`INCREASE DELAY
`TIME T
`
`FIG. 10
`
`Ex. 1007 / Page 12 of 27
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 10 0f 11
`
`US 6,279,001 B1
`
`OPEN SOCKET 1
`
`A
`
`B
`
`4—%IOPENSOCKETII ‘
`
`COMM
`
`FIG. 11A
`NON-FIREWALLED
`
`FIG. 11B
`IDEAL FIREWALL
`
`A 1
`
`{I
`‘i B
`
`FIG. 11C
`ONE-WAY FIREWALL
`
`OPEN CONNECTION
`
`A
`
`SAVES
`1
`
`CONNECTION
`b
`
`7'
`
`B
`
`FIG. 11D
`
`Ex. 1007 / Page 13 of 27
`
`
`
`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 11 0f 11
`
`US 6,279,001 B1
`
`WEIGHTED
`LOAD
`METRIC
`
`INTERVAL
`WIDTHS
`
`INTERVAL
`START
`END
`
`A
`B
`C
`D
`E
`F
`
`1500
`2250
`3250
`2000
`1000
`1000
`
`0.150
`0.225
`0.325
`0.200
`0.100
`0.100
`
`0.000 - 0.150
`0.151 - 0.375
`0.376 - 0.600
`0.601 - 0.800
`0.801 - 0.900
`0.901 - 1.000
`
`FIG. 12A
`
`Q
`‘o
`Q5
`
`<0
`’\
`Qf-b
`
`I\
`'\
`6:
`Q‘
`
`Q)
`
`Q:
`
`6
`
`FIG. 12B
`
`Ex. 1007 / Page 14 of 27
`
`
`
`US 6,279,001 B1
`
`1
`WEB SERVICE
`
`TECHNICAL FIELD
`This invention relates to managing Web servers and, more
`particularly, to a Web service system that alloWs a system
`operator to manage multiple Web servers.
`BACKGROUND INFORMATION
`Web servers are used to respond to user’s Web page
`requests. A Web server monitors one or more computer
`netWork address/port endpoints for Web page requests and
`responds to the Web page requests sent to an endpoint by
`transmitting Web pages to the requester. Such Web servers
`may be implemented With a softWare program running on a
`general purpose computer. The service capacity of a Web
`server limits the number of Web page requests that may be
`received and responded to.
`For Web applications that generate a signi?cant amount of
`requests, Web page application providers may use tWo or
`more Web servers. Each Web page request may be directed
`toWards one of the Web servers, and that one of the Web
`servers responds to that Web page request. In this Way the
`requests are divided among the Web servers. The Web page
`requester may or may not have knoWledge that there are a
`plurality of Web servers responding to requests for a par
`ticular application.
`In one Web service system, the requester has knoWledge
`that the application is available from more than one Web
`server. The requester selects a Web server, and requests a
`Web page from that server. The Web server responds to that
`Web page request by providing a Web page. This system has
`the disadvantage of requiring that the requester be aWare of
`the various Web servers. It has the additional disadvantage of
`having the Web server selection be out of the control of the
`Web service system.
`In another system With multiple Web servers, the domain
`name system (“DNS”) that is in use in the Internet may be
`used to divide requests among a plurality of Web servers. In
`normal use, a DNS server is used to match a Web server
`name With a netWork address/port endpoint. A DNS request
`provides the DNS server With the name of a Web server, and
`the DNS server responds With the netWork address/port
`endpoint of that Web server. In the Web service system that
`uses a DNS server to distribute requests to multiple Web
`servers, When a Web server name is submitted to the DNS
`server, the DNS server responds With one of the several
`address/port endpoints associated With the multiple Web
`servers. In this Way, DNS requests With the same DNS name
`may be responded to With different Web servers having
`different netWork address/port endpoints. In this Way, the
`DNS server can divide the requests among the servers. This
`has the advantage of not requiring the requester to have
`knoWledge of the Web service system architecture. One
`disadvantage of this system is that the DNS server must do
`more Work than usually required to match names With
`endpoints, and this eXtra Work may decrease the throughput
`of the DNS server. Another disadvantage is that the DNS
`server may not knoW hoW many Web page requests are
`associated With a DNS request. Each response of the DNS
`server may be cached in other DNS servers for some period
`of time, and so one DNS request response may result in an
`unpredictably large number of Web page requests being
`directed to the one Web server, and that server may become
`overloaded.
`
`15
`
`25
`
`35
`
`45
`
`55
`
`SUMMARY OF THE INVENTION
`In one aspect, the invention features a system for man
`aging one or more Web servers. The system includes a traf?c
`
`65
`
`2
`management subsystem for distributing Web page requests
`to the Web servers. The system also includes a monitor for
`collecting and storing information related to the requests for
`Web pages. The system also includes an identi?er for iden
`tifying problems With the Web servers.
`Embodiments of this aspect of the invention can include
`the folloWing features. In one embodiment, the traf?c man
`agement subsystem includes an interceptor receiving Web
`page requests and distributing the Web page requests to the
`Web servers based on the load on the Web servers. In another
`embodiment, the Web servers are capable of redirecting
`requests based on the load on the Web servers. In another
`embodiment, the traf?c management subsystem includes a
`manager for receiving Web server load information and
`communicating the Web server load information to the
`interceptor. In another embodiment, the traf?c management
`subsystem includes an agent for directing the Web servers.
`In another embodiment, the manager directs the agent to
`direct one of the Web servers to redirect requests. In another
`embodiment, the Web servers run on hosts, and each host
`includes an agent that is in communication With at least one
`of the Web servers on the host and each agent is also in
`communication With the manager.
`In another embodiment, the monitor includes a manager
`receiving Web page request information and storing the Web
`page request information in a database. In another
`embodiment, the manager receives Web page request infor
`mation from the one or more of the Web servers. In another
`embodiment, the manager receives Web page request infor
`mation from one or more agents each in communication
`With at least one of the Web servers. In another embodiment,
`the Web page request information is stored in a relational
`database. In another embodiment, the system also includes
`a console for displaying information to a system operator. In
`another embodiment, the includes a console that is capable
`of alerting the system operator to events. In another
`embodiment, the console is capable of retrieving the Web
`page request information from the database and displaying
`the Web page request information to the system operator.
`In another embodiment, the identi?er includes a manager
`that receives Web page request information and stores the
`request information in a database. In another embodiment,
`the manager receives noti?cation of events indicating prob
`lems With one of the Web servers. In another embodiment,
`the events received by the manager are sent by an agent. In
`another embodiment, the manager is capable of taking
`corrective action in response to noti?cation of events indi
`cating problems With one of the Web servers. In another
`embodiment, the manager noti?es a system operator upon
`the occurrence of an event. In another embodiment, the
`manager noti?es a system operator When automatic correc
`tive action taken in response to an event caused by a problem
`does not resolve the problem. In another embodiment, the
`system includes a version controller for updating Web pages
`on the Web servers.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`In the draWings, like reference characters generally refer
`to the same parts throughout the different vieWs. Also, the
`draWings are not necessarily to scale, emphasis instead
`generally being placed upon illustrating the principles of the
`invention.
`FIG. 1 is a block diagram of an embodiment of a Web
`service system according to the present invention.
`FIG. 2 is a ?oWchart describing the processing that occurs
`When an embodiment of the interceptor of FIG. 1 receives a
`request.
`
`Ex. 1007 / Page 15 of 27
`
`
`
`US 6,279,001 B1
`
`3
`FIG. 3 is a more detailed block diagram of an embodiment
`of the host and the manager of FIG. 1.
`FIG. 4 is a block diagram depicting the determination of
`queue length in an embodiment of a Web service system
`according to the present invention.
`FIG. 5 is a graph of the response time of the Web page
`request of FIG. 4.
`FIG. 6 is an embodiment of a console of FIG. 1 displaying
`the components of a Web service system according to the
`present invention in a tree vieW.
`FIG. 7 is an embodiment of a console of FIG. 1 displaying
`the components of a Web service system according to the
`present invention in an icon vieW.
`FIG. 8 is an embodiment of a console of FIG. 1 displaying
`performance information for a component of a Web service
`system according to the present invention.
`FIG. 9 is an embodiment of a console of FIG. 1 displaying
`an events log for a Web service system according to the
`present invention.
`FIG. 10 is a ?oWchart depicting the operation of an
`embodiment of a Watcher of FIG. 1.
`FIG. 11A is a block diagram of communication betWeen
`tWo components of FIG. 1 When no ?reWall is present.
`FIG. 11B is a block diagram of communication betWeen
`tWo components of FIG. 1 across an ideal ?reWall.
`FIG. 11C is a block diagram of communication betWeen
`tWo components of FIG. 1 across a one-Way ?reWall.
`FIG. 11D is a block diagram of communication betWeen
`tWo components of FIG. 1 across a one-Way ?reWall by
`saving a connection.
`FIG. 12A is a table showing the processing of Weighted
`load metrics into line intervals in an embodiment of the
`interceptor of FIG. 1 having six Web servers.
`FIG. 12B is a graph of the line intervals for the Web
`servers of FIG. 12A.
`
`DESCRIPTION
`
`I. OvervieW
`A system for serving Web pages has a plurality of Web
`servers and provides a system operator With features and
`tools to coordinate the operation of the multiple Web servers.
`The system can manage traf?c by directing Web page
`requests to available Web servers and balancing the Web
`page request service load among the multiple servers. The
`system can collect data on Web page requests and Web server
`responses to those Web page requests, and provide reporting
`of the data as Well as automatic and manual analysis tools.
`The system can monitor for speci?c events, and can act
`automatically upon the occurrence of such events. The
`events include predictions or thresholds that indicate
`impending system crises. The system can include crisis
`management capability to provide automatic error recovery,
`and to guide a system operator through the possible actions
`that can be taken to recover from events such as component
`failure or netWork environment problems. The system can
`present current information about the system operation to a
`system operator. The system can manage content replication
`With version control and data updates. Some or all of this
`functionality can be provided in particular embodiments of
`the invention.
`Referring to FIG. 1, a Web service system 90, includes
`various components 100—122. The various components
`100—122 of Web service system 90 can communicate over
`one or more computer netWorks. The physical location of the
`components 100—122 does not impact the capability or the
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`performance of the system, as long as the communications
`links betWeen the various components have suf?cient data
`communication capability. The Web service system 90 can
`function across ?reWalls of various designs, and can be
`con?gured and administered remotely.
`The Web service system 90 manages one or more hosts
`100. Three hosts 100A, 100B, 100C, Which are shoWn as an
`example. An embodiment of the Web service system 90 can
`have any number of hosts 100. Each host 100 can be a
`computer system commercially available and capable of
`using a multi-threaded operating system such as UNIX or
`WindoWs NT. Each host 100 can have at least one netWork
`connection to a computer netWork, for example the Internet
`or an intranet, or any other netWork, that alloWs the host 100
`to provide Web page data in response to Web page data
`requests. Each host 100 includes at least one Web server,
`shoWn in the ?gures as 102A, 102B, 102C-1, 102C-2, .
`.
`. ,
`102C-x, and generally referred to as Web servers 102.
`The Web server 102 can be any Web server that serves Web
`pages in response to Web page requests made over a com
`puter netWork. In this context, a Web page is an electronic
`document that can be made available on a computer netWork
`such as the World Wide Web in response to a Web page
`request. An example of a Web page is a data ?le that includes
`computer executable or interpretable information, graphics,
`sound, text, and/or video, that can be displayed, executed,
`played, processed, and/or stored and that can contain links,
`or pointers, to other Web pages. TWo examples of such Web
`servers are commercially available as the Netscape Enter
`prise ServerTM and the Microsoft Internet Information Ser
`vices ServerTM. The Web server 102 is capable of receiving
`Web page requests from Web clients, also referred to as
`broWsers. A Web page request from a broWser can also be
`referred to as a “hit.” The broWsers can be operated by users,
`making Web page requests. BroWsers can also be operated
`by a computer or computer program, and make requests
`based on the computer’s programming. The Web page
`requests can be made using hypertext transfer protocol
`(“http”) format, and also can be made using other protocols
`that provide request capability. Often the Web page requests
`are part of a series of communications With the Web server
`102 involving several requests and responses, referred to as
`a session. The user interacts With a Web server 102 by
`making an initial request of the Web server 102, Which
`results in the Web server 102 sending a Web page in
`response. The Web page can contain information, and also
`pointers to other requests that the user can make of the Web
`server 102. Sometimes the requests are for information that
`must be retrieved from a database. Sometimes the request
`includes information to be stored in a database. Sometimes
`the request requires processing by the Web server 102, or
`interaction With another computer system. Sophisticated
`Web servers and broWsers can interact in various Ways.
`An aggregation of related Web pages presented to a user
`as a set of Web pages about a related topic, or from a
`particular source, usually, but not alWays from the same Web
`server 102, is referred to as an application. One example of
`an application is a set of pages providing information about
`a company. Another example of an application is a series of
`pages that alloW a user to conduct transactions With her
`savings bank. TWo sets of Web pages can be considered a
`single application, or they can be tWo separate applications.
`For example, a set of Web pages might provide information
`about a bank, and a customer service set of Web pages might
`alloW transaction of business With the bank. Whether a set of
`Web pages is considered to be one application or several
`applications is a decision made by the application designer.
`
`Ex. 1007 / Page 16 of 27
`
`
`
`US 6,279,001 B1
`
`5
`The Web service system 90 is capable of delivering one or
`more applications to users. The Web service system 90 can
`be con?gured so that some subset of the Web servers 102
`exclusively serve a single application. In one embodiment,
`some Web servers 102 serve a subset of the available
`applications, and other Web servers 102 can serve to other
`applications. In another embodiment, all Web servers 102
`serve all available applications.
`The Web pages presented to the user in response to Web
`page requests from the user’s Web broWser can be stored on
`the host 100 or on a ?le system accessible to the Web server
`102, or they can be generated by the Web server 102 by
`processing data available to the Web server 102. For
`example, for Web pages documents about a topic, the Web
`pages can be Written (designed) and stored in the Web server
`102 ?le system. In response to a Web page request, such a
`Web page can be sent to the user just as it is stored in the ?le
`system. In a banking transaction system, hoWever, it is likely
`that information about the user’s bank account Will be stored
`in a database. The Web server 102 can generate a Web page
`containing the user’s account information each time the user
`requests the page. Often, Web pages are stored partially in
`the ?le system, and partly are generated by the Web server
`102 When the request is made.
`Various techniques are used to store status information,
`also referred to as the “state” of a user’s session With the Web
`server 102. The user can develop a state during her inter
`action With the Web server 102 via the requests made to the
`Web server 102 and the Web pages received in response to
`those requests. The user’s state can, as one example, include
`information identifying the user. As another example, the
`state can include