throbber
(12) Unlted States Patent
`(10) Patent No.:
`US 8,200,837 B1
`
`Bhatti et a].
`(45) Date of Patent:
`Jun. 12, 2012
`
`USOO8200837B1
`
`(54) METHOD AND SYSTEM FOR MAINTAINING
`A CONTENT SERVER AT SAFE LOAD
`
`(75)
`
`CONDITIONS
`.
`.
`_
`_
`Inventors: Nma T. Bhattl, Mountain View, CA
`(US); Tarek Farouk Abdelzaher, Ann
`Arbor, MI (US)
`
`.
`(73) Assrgnee: Hewlett-Packard Development
`Companys L.P., Houston: TX (US)
`
`( * ) Notice:
`
`Subject. to any disclaimer, the term of this
`patent IS extended or adjusted under 35
`U~S-C~ 1540’) by 0 days
`
`(21) Appl.N0.: 09/299,684
`.
`Flled:
`
`AI"- 262 1999
`
`(22)
`
`(51)
`
`Int. Cl.
`G06F 15/16
`(2006.01)
`(52) US. Cl.
`......................... 709/232; 709/219; 709/247
`(58) Field of Classification Search .................. 709/226,
`709/228, 231, 232, 234, 236, 246; 705/14;
`707/101, 102
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`6/1998 Hunt etal.
`5,764,235 A *
`9/1998 Logan et a1.
`5,802,299 A *
`5,852,673 A * 12/1998 Young
`5,917,822 A *
`6/1999 Lyles et a1.
`............. 709/228
`5,918,013 A *
`6/1999 Mighdollet a1.
`5,995,943 A * 11/1999 Bullet a1.
`....................... 705/14
`6,021,426 A *
`2/2000 Douglis et a1.
`6,028,842 A *
`2/2000 Chapman et a1.
`6,038,598 A *
`3/2000 Danneels ...................... 709/219
`
`6,041,041 A *
`3/2000 Ramanathan et a1.
`..... 370/241
`6,052,718 A *
`4/2000 Gifford ......................... 709/219
`6,061,700 A *
`5/2000 Brobst et a1.
`6,067,557 A *
`5/2000 Hegde
`6,105,042 A *
`8/2000 Aganovic et a1.
`
`............. 715/500
`
`................. 709/246
`
`6,128,668 A * 10/2000 Barber et a1.
`6,148,005 A * 11/2000 Paul et a1.
`6,157,614 A * 12/2000 Pasternak et a1.
`6,161,137 A * 12/2000 Ogdon et a1.
`................. 709/224
`6,167,085 A * 12/2000 Saunders et a1.
`6,182,125 B1 *
`1/2001 Borella et 31,
`6,185,221 B1 *
`2/2001 Aybay
`6,185,625 B1*
`2/2001 Tso et a1.
`6,216,157 B1*
`4/2001 Vishwanath et a1.
`6,243,761 B1 *
`6/2001 M 1
`t
`1.
`.................. 709/246
`6,263,114 B1 *
`7/2001 Saifildefs a
`6,269,078 B1*
`7/2001 Lakshman et a1.
`6,314,463 B1 *
`11/2001 Abbott et a1.
`................. 709/224
`(Continued)
`
`................ 709/226
`
`OTHER PUBLICATIONS
`
`Engelschall, Ralf S. “Apache HTTP Server Version 1.3: Module
`modirewrite”. Archived on Jan. 11, 1998 by the Internet Archive:
`<http://Web.archive.0rg/W%/19980111100041/Www.apache.0rg/
`docs/mod/modirewrite.html>. pp. 1 to 18.*
`.
`(Confirmed)
`,
`,
`Chr'
`h B'
`Imp er
`laglm
`
`.
`E
`P .
`”WW xam’”er*
`
`ABSTRACT
`(57)
`A data service system in a data access network system is
`described. The data service system includes a content server
`that stores content files for access by external access requests.
`Each of the content files is stored in a full content format and
`
`an adapted or degraded content format which is less resource-
`intensive to serve than the full content format. The data ser-
`
`vice system also includes an adaptive load control system
`which is coupled to the content server to pass the access
`requests to the content server. The adaptive load control sys-
`tem modifies an access request to access the corresponding
`content file in the adapted content format when the content
`server is in an overload condition such that the content server
`can be maintained at safe load conditions. A method of main-
`
`taining the content server at safe load conditions is also
`described.
`
`6 Claims, 7 Drawing Sheets
`
`'91 E
`312A};
`
`”I —4\
`
`1
`
`
`
`\ To( F ROM
`[XTEKIJAL
`N r 1 WORK
`
`Petitioner Apple Inc. - Exhibit 1010, p. 1
`
`Petitioner Apple Inc. - Exhibit 1010, p. 1
`
`

`

`US 8,200,837 B1
`
`Page 2
`
`US. PATENT DOCUMENTS
`
`................. 709/246
`
`6,317,795 B1* 11/2001 Malkin et al.
`.
`.
`6,378,053 B1*
`4/2002 Lamaire et al.
`
`63895462 B1 *
`5/2002 COhen et a—L
`~~~~~~~~~~~~~~~~~~ 709/218
`6,441,831 B1*
`8/2002 Abramowitz et al.
`.
`345/716
`6,449,647 B1*
`9/2002 Colby et al.
`709/226
`
`*
`6,484,212 B1* 11/2002 Markowitz etal
`709/246
`2:83:33 31 * ggggi E32552: """""""""" 709/231
`6,505,256 131*
`1/2003 York ,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 709/246
`6,535,922 B1*
`3/2003 Kikinis ......................... 709/228
`6,553,410 B2 *
`4/2003 Kikinis
`...... 709/208
`6,564,250
`B1*
`5/2003 Nguyen ..................
`B1*
`6/2003 Fields et al.
`............
`6,581,109
`...... 709/246
`
`6,587,109 B1 *
`*
`6’594’699 B1,,
`2001/0049833 A1
`*
`2002/0049833 A1
`2002/0069296 A1 >x<
`
`7/2003 Rose et al.
`.
`”003 saha‘ et 31' """""""""" 709/232
`12/2001 Greenland et 31.
`-
`-
`-
`4/2002 K1k1n1s
`......................... 709/246
`6/2002 Aua et al
`709/246
`
`' """""""""""
`
`OTHER PUBLICATIONS
`Multimedia-Friendly Server and Comminication Design, K.Shin, et
`31, XP-002157973,Apr. 1999-Jun. 1999.
`Agile Application-Aware Adaption for Mobility, B.D.Noble,et al,
`XP-00771038, Dec. 1997.
`
`* cited by examiner
`
`Petitioner Apple Inc. - Exhibit 1010, p. 2
`
`Petitioner Apple Inc. - Exhibit 1010, p. 2
`
`

`

`U.S. Patent
`
`Jun. 12, 2012
`
`m7w,
`
`.wx
`
`mmLwarimMW?C
`
`MIWLJV%mm,mpg«mmm{kA
`
`ON
`
`N~
`
`Vw2>ouiEZ
`
`“€352
`
`A$33»
`
`Petitioner Apple Inc. - Exhibit 1010, p. 3
`
`Petitioner Apple Inc. - Exhibit 1010, p. 3
`
`
`

`

`U.S. Patent
`
`1
`
`2
`
`S
`
`2
`
`2.,_
`
`m‘
`
`m_
`
`1B73809
`
`m,1”a?hp2Mq<3.meUYouA\Pr
`
`SJ
`N
`
`.3th
`
`_26%m3SNEAUm_\<Shop/mm;
`
`m_Q<Qfl~4#J\rmmvawwA.L
`0%org»:3
`F»
`
`Petitioner Apple Inc. - Exhibit 1010, p. 4
`
`Petitioner Apple Inc. - Exhibit 1010, p. 4
`
`
`

`

`U.S. Patent
`
`SU
`
`m,
`
`m7389
`
`em04“coucooBEBEm1833552.A...m@83551&6»«S\w_@8309mthe_.o‘9‘
`
`I‘llVtill(It
`
`
`nSiam“898,4.3:05:00Q+m,
`
`
`mmmm.at:g
`
`
`
`W5:82838:3558522m4one_
`
`Petitioner Apple Inc. - Exhibit 1010, p. 5
`
`-.
`
`om
`
`Petitioner Apple Inc. - Exhibit 1010, p. 5
`
`
`

`

`
`
`w§bi\L\<mc\<3I3314\F3m\IS
`
`
`
`
`
`do
`
`U.S. Patent
`
`Jun. 12, 2012
`
`Sheet 4 of 7
`
`US 8,200,837 B1
`
`bah.
`
`.WLH.WMJKV\k\
`
`
`
`
`
`.L.wI233nmE<a<\_,o&\ES
`
`.rMdjewfir
`
`Petitioner Apple Inc. - Exhibit 1010, p. 6
`
`Petitioner Apple Inc. - Exhibit 1010, p. 6
`
`
`

`

`U.S. Patent
`
`2,1n.HJ
`
`21
`
`S
`
`7f05te
`
`02.}8
`
`1B7&
`
`
`
`
`
`S$39.as2mm“32va.20...t
`
`0,MmM«EMA
`
`m8
`m8
`
`
`on
`
`8
`
`Petitioner Apple Inc. - Exhibit 1010, p. 7
`
`a.;.T>3.de7::he$5.2moamL
`
`our
`
`213
`
`Petitioner Apple Inc. - Exhibit 1010, p. 7
`
`

`

`US. Patent
`
`Jun. 12, 2012
`
`Sheet 6 of7
`
`US 8,200,837 B1
`
`
`
`
`
`RequestRate(req/s)
`
`FleuREA
`
`500
`
` 600
`
`200300
`
`O01
`
`80
`
`70
`
`50
`
`50
`
`40
`
`30
`
`20
`
`100
`
`Petitioner Apple Inc. - Exhibit 1010, p. 8
`
`)EZIVEREPBAWWWTH
`
`Petitioner Apple Inc. - Exhibit 1010, p. 8
`
`

`

`US. Patent
`
`Jun. 12, 2012
`
`Sheet 7 of7
`
`US 8,200,837 B1
`
`2°
`5'63
`3;,”
`00m 9‘30
`=.—.o
`Eu):
`00._
`D‘HO
`MmE—t
`209-1
`«NO
`
`'
`
`I
`
`0.)
`.—
`9‘
`
`C.C:
`0
`
`T
`a:
`0:
`:1.
`3‘
`K
`
`:
`i
`Z
`3
`\O;
`5.
`c.0
`a:
`
`T
`\n.
`
`0
`C‘
`M
`
`n:
`ES
`
`3
`
`e: ml
`5.
`‘63
`cr
`U
`mi
`
`i
`E
`
`g...
`v:
`’3:
`2:G"U
`D:
`
`T
`:
`
`2
`'
`E
`:
`.
`3
`7.3v:D.
`U‘0
`a:
`
`a
`.D
`D
`8
`
`,
`.3
`E
`U
`
`3‘
`
`2
`U
`
`D.d
`
`o
`
`D.1'5
`0
`
`D.N
`0
`
`by
`
`m
`
`0r
`V
`1,—1.3
`
`Petitioner Apple Inc. - Exhibit 1010, p. 9
`
`Petitioner Apple Inc. - Exhibit 1010, p. 9
`
`

`

`US 8,200,837 B1
`
`1
`METHOD AND SYSTEM FOR MAINTAINING
`A CONTENT SERVER AT SAFE LOAD
`CONDITIONS
`
`FIELD OF THE INVENTION
`
`The present inventionpertains to Internet/Intranet systems.
`More particularly, this invention relates to an adaptive web
`server that serves user access requests for the web server to
`less resource intensive contents in the web server when the
`web server is overloaded.
`
`DESCRIPTION OF THE RELATED ART
`
`An example of a data access network system is the Internet
`or Intranet network system. An Intemet/Intranet network sys-
`tem typically includes a number of data service systems con-
`nected together via interconnect networks. The data service
`systems typically include web and/or content servers that host
`contents for various customers or applications. The custom-
`ers are the owners of the contents hosted in the data service
`
`systems such that subscribers or users can access the contents
`via their computer terminals. The content servers typically
`utilize Internet applications, such as electronic mail, bulletin
`boards, news groups, and World Wide Web access. The hosted
`contents are arranged in the form of content sites within the
`content servers. Each site may include a number of pages
`(e.g., world wide web pages). A content site is typically for
`one customer of the server while a particular customer may
`own a number of content sites. The content servers may also
`be referred to as web servers.
`
`Often, a web page is formed from a number of data and/or
`executable program files, such as text files, graphics files,
`audio files, video files, and application program files. Each of
`the files is referred to as an “object”. The web pages can be
`accessed by a user at a user terminal (e.g., a personal com-
`puter system or a web access device) connected to any one of
`the data service systems.
`As is known, access to the web pages via Internet is typi-
`cally structured around the HTTP (Hyper Text Transfer Pro-
`tocol) protocol. The HTTP protocol is a request-and-response
`protocol. When a user at a client device designates a particular
`web page, at least one request is generated. The number of
`requests is dependent upon the sophistication of the desig-
`nated web page. As described above, a web page may include
`one or more “objects”. A multi-object page is aesthetically
`pleasing, but each object requires a separate request and a
`separate response. Therefore, the time for each request-and-
`response round trip plays a role in determining the total time
`a user must wait to view the complete web page.
`A web server can be accessed by multiple users at the same
`time. The web server typically handles the user access
`requests in the first-come-first-served (FIFO) fashion. One
`disadvantage of this type of prior art web server structure is
`that the web server is not equipped with protection mecha-
`nism against excessive load conditions. As is known, a web
`server typically has limits on the number of requests it can
`handle per second. In addition, the web server also has limits
`on the response time and bandwidth that can be served. Under
`high loads, the web server can be overwhelmed with requests,
`resulting in longer response time and poor performance for
`users. Thus, when the number of user access requests to the
`web server greatly exceeds the processing capacity ofthe web
`server (i.e., overloaded), the web server either handles a
`request in an unbearably long period of time or simply
`becomes non responsive. The sharp increase in server
`response time may also cause user connections to time out,
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`creating the perception that the server is down or crashed. In
`mission-critical applications, such as e-commerce, perceived
`server downtime may result in loss of sales and/or other
`financial losses.
`
`SUMMARY OF THE INVENTION
`
`One feature of the present invention is to improve perfor-
`mance of a web server.
`
`Another feature of the present invention is to increase
`performance of a web server by serving user access requests
`for the web server from less resource intensive contents in the
`web server when the web server is to be overloaded.
`
`A further feature of the present invention is to provide an
`adaptive web server that, when in overload situation, routes
`the user access requests to the less resource intensive contents
`in the web server such that the web server does not become
`overloaded or non-functional.
`
`A data service system in a data access network system
`includes a content server that stores content files for access by
`external access requests. Each of the content files is stored in
`a full content format and any number of adapted or degraded
`content formats which are less resource-intensive to serve
`
`than the full content format. The data service system also
`includes an adaptive load control system which is coupled to
`the content server to pass the access requests to the content
`server. The adaptive load control system modifies an access
`request to access the corresponding content file in one of the
`adapted content formats when the content server is in an
`overload condition such that the content server can be main-
`tained at safe load conditions.
`
`In a data service system of a data access network system
`having a content server that stores content files for access by
`external access requests, a method of maintaining the content
`server at safe load conditions includes the step ofdetermining
`load condition of the content server when the data service
`
`system receives an access request to access one ofthe content
`files stored in the content server. This step can be performed
`internally in the content server or external to the content
`server. Ifthe content server is determined to be in an overload
`
`condition, then the access request is modified to access the
`corresponding content file in an adapted content format
`which is less resource-intensive to serve than the same file in
`a full content format such that the content server is maintained
`at the safe load conditions.
`
`Other features and advantages ofthe present invention will
`become apparent from the following detailed description,
`taken in conjunction with the accompanying drawings, illus-
`trating by way of example the principles of the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 shows a data access network system that includes a
`number of data service systems.
`FIG. 2 shows the structure of one of the adaptive data
`service systems of FIG. 1 in accordance with one embodi-
`ment of the present invention.
`FIG. 3 shows the control and feedback loop ofthe adaptive
`data service system of FIG. 2 for partial degradation.
`FIG. 4 schematically shows the structure of the content
`server of the adaptive data service system of FIG. 2.
`FIGS. 5 and 6 show various comparisons between the
`adaptive data service system of FIG. 2 and a prior art data
`service system.
`FIG. 7 shows a Gap Estimation method employed by a load
`monitor of FIGS. 2-3.
`
`Petitioner Apple Inc. - Exhibit 1010, p. 10
`
`Petitioner Apple Inc. - Exhibit 1010, p. 10
`
`

`

`US 8,200,837 B1
`
`3
`DETAILED DESCRIPTION OF THE INVENTION
`
`FIG. 1 shows a data access network system 10. In one
`embodiment, the network system 10 is an Internet system. In
`another embodiment, the network system 10 is an Intranet
`system. Alternatively, the data access network system 10 may
`be any other known network system that employs a known
`communication protocol.
`As can be seen from FIG. 1, the data service system 20 is
`connected to a number of user terminals 1111 through 1111 Via
`an interconnect network 12. Users at each of the user termi-
`
`nals 1111-1111 can access the data service system 20 for the
`services provided by the data service system 20. The users at
`each of the user terminals 1111-1111 can also access the data
`
`service system 15 for the services provided by the data service
`system 15 via the data service system 20 and the Internet 13.
`The user terminals 1111-1111 can also be referred to as client
`devices.
`
`Each of the user terminals 11a-11n may be located at a
`residence, a school, or an office of the user. Each of the user
`terminals 11a-11n includes a network access application pro-
`gram (e.g., a web browser application program such as
`Netscape’s Navigator) that allows the user to access the data
`services offered by the data service systems 15 and 20.
`Each of the user terminals 1111-1111 can be a computer
`system or other electronic device with data processing capa-
`bilities (e. g., a web TV). The interconnect network 12 can be
`any known network, such as Ethernet, ISDN (Integrated Ser-
`vices Digital Network), T-l or T-3 link, FDDI (Fiber Distrib-
`uted Data Network), cable or wireless LMDS network or
`telephone line network.
`FIG. 1 shows only two data service systems 15 and 20 for
`the data access network system 10 for illustration purposes
`only. In practice, the data access network system 10 may
`include many more data service systems. In addition, the
`Internet 13 is formed by a number of data service systems
`connected together via a network. Data communications
`among all data service systems are conducted using a prede-
`termined communication protocol for Intemet/Intranet com-
`munications. In one embodiment, the communication proto-
`col
`is
`the Hyper Text Transport Protocol
`(HTTP).
`Altematively, other known communication protocols for
`Internet/Intranet communications can also be used.
`
`Each of the data service systems 15 and 20 has substan-
`tially the same functional structure, which will be described
`in more detail below. Each of the data service systems 15 and
`20 can be employed by an Internet/Intranet Service Provider
`(ISP) to offer data services (e.g., web, news, or advertise-
`ment) and other services (e.g., e-commerce, e-mail) to users
`or subscribers connected to the data access system 10 via one
`of the data service systems 15 and 20.
`Each of the data service systems 15 and 20 includes a
`number of servers (e.g., web servers, e-mail servers, news
`servers, e-commerce servers, domain name servers, address
`assignment servers, proxy servers, advertisement servers, and
`session manager servers). The web servers, e-mail servers,
`news servers, e-commerce servers, and advertisement servers
`can be collectively referred to as local service servers or
`content servers. A content server typically stores a number of
`content files that
`include Hyper-Text Markup Language
`(HTML) web pages, gif images, video clips, etc. Data trans-
`fers to and from the content servers are enabled by transport
`protocols such as Transport Control Protocol (TCP) and the
`User Datagram Protocol (UDP). The content servers support
`a variety of Internet applications to provide services such as
`access to the World Wide Web, electronic mail, bulletin
`boards, chat rooms, news groups, and e-commerce. Using a
`
`4
`
`currently commercially available web browser and other cli-
`ent applications, users via their respective user terminals can
`access the content files (e.g., web pages, news,
`images,
`e-mails,) stored in the content servers.
`As described above, the access to the content servers is
`structured around the HTTP protocol which is a request-and-
`response protocol. When a user at a user terminal desires to
`access a content file stored in a content server of one of the
`
`10
`
`data service systems 15 and 20, at least one request is gener-
`ated and sent to the content server. The content server can
`
`handle multiple requests at the same time. However, the con-
`tent server has limits on the number of requests it can handle
`per second. When the number of requests received by the
`content server greatly exceeds the limits ofthe content server,
`the content server will be in an overload condition, resulting
`in at least unbearably longer response time and poor perfor-
`mance for users. This means when the request rate increases
`beyond the server capacity, server performance deteriorates
`dramatically, potentially causing a service outage. In addi-
`tion, when a client issues a request and does not get any
`response, the client is likely to issue several more subsequent
`requests. This quickly increases the number of requests
`received by the content server. To resolve the problem, each of
`the data service systems 15 and 20, in accordance with one
`embodiment of the present invention, includes an adaptive
`load control mechanism to control the load condition of its
`content servers such that each content server does not become
`
`overloaded. Alternatively, the load control mechanism of the
`present invention can also be applied to other servers of each
`of the data service systems 15 and 20. The adaptive load
`control mechanism is described in more detail below, also in
`conjunction with FIGS. 2-6.
`As can be seen from FIG. 2, a data service system 30 in
`accordance with one embodiment of the present invention is
`shown to include a content server 31. The data service system
`30 also includes an adaptive load control system 40 that
`controls the load condition of the content server 31 in accor-
`
`dance with one embodiment of the present invention. Thus,
`the data service system 30 can also be referred to as adaptive
`data service system or adaptive web server. The data service
`system 30 can be any one ofthe data service systems (e. g., the
`data service system 15 or 20) of FIG. 1.
`As will be described in more detail below, the content
`server 31 stores content files or dynamic executable code/
`program for access by access requests. Thus, the content files
`hereinafter refer to (1) static content files, (2) dynamic con-
`tent files, and (3) executable programs/codes. Each of the
`content files is stored in a full content format and an adapted
`or degraded content format. A content file in the adapted
`content format is much smaller in size and less resource
`intensive than the same file in the full content format. The
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`adaptive load control system 40 passes the access requests to
`the content server 31 when receiving the requests. When the
`content server 31 is in an overload condition or about to be in
`
`55
`
`60
`
`the overload condition, the adaptive load control system 40
`modifies the access requests to access their corresponding
`content files in the adapted content format. When the adaptive
`load control system 40 determines that the content server 31
`is not in the overload condition, the adaptive load control
`system 40 modifies the access requests to access their corre-
`sponding content files in the full content format. This allows
`the content server 31 to be maintained at safe load conditions.
`
`65
`
`Alternatively, the adaptive load control system 40 can adapt
`the content server 31 based not on the load condition of the
`
`content server 31, but on the client’s abilities (e.g., network
`connection of the client device, latency, or display capability
`
`Petitioner Apple Inc. - Exhibit 1010, p. 11
`
`Petitioner Apple Inc. - Exhibit 1010, p. 11
`
`

`

`US 8,200,837 B1
`
`5
`of the client device). The data service system 30 will be
`described in more detail below, also in connection with FIGS.
`2-6.
`
`The data service system 30 can be implemented in a com-
`puter system or other data processing system. The computer
`system that implements the data service system 30 can be
`server computer system, a workstation computer system, a
`personal computer system, or a mainframe computer system,
`a notebook computer system, or any other computer system.
`The data service system 30 includes a network interface 35
`that interfaces the adaptive load control system 40. The adap-
`tive load control system 40 then interfaces with the content
`server 31. The network interface 35 serves as the interface of
`
`the data service system 30 with external network (not shown).
`The interface 35 can be implemented by any known network
`interface technology, and thus will not be described in more
`detail below. The network interface 35 receives external
`
`requests for the content server 31 and passes the requests to
`the content server 31 via the adaptive load control system 40.
`The content server 31 can be any kind of content server that
`stores a number of content files. Each of the content files can
`
`be accessed by an access request. The content server 31 may
`also include a number of content sites, each storing a number
`of content files for access by multiple access requests. The
`multiple content sites may belong to different content provid-
`ers or customers with potential conflicting interests. In this
`case, the adaptive load control system 40 causes the content
`server 31 to be a number of performance-isolated virtual
`content servers, which will be described in more detail below.
`Each of the servers has a capability to provide independent
`performance guarantees regardless of the load on the other
`virtual servers.
`
`The content server 31 can be a static server or dynamic
`server. In one embodiment, the content server 31 is a static
`content server that stores static content files only. In another
`embodiment, the content server 31 may store both static and
`dynamic content files. As is known, web content is generally
`classified as static, such as a file, or dynamic, such as cgi-
`scripts. Dynamic content may be generated at run-time by a
`back-end engine (e. g., a database engine) that is separate from
`the server itself. Any adaption at the back-end engine is not
`handled by the adaptive load control system 40.
`In accordance with one embodiment of the present inven-
`tion, each ofthe content files stored in the content server 31 is
`stored in multiple formats or versions. For example, a content
`file can be stored in its original full content format or version.
`The same content file is also stored in a degraded or adapted
`format or version in the content server 31. FIG. 4 shows an
`
`example of such arrangement. As can be seen from FIG. 4, the
`content file in the degraded format 72 is smaller in size and
`worse in viewing quality than the same file in the full content
`format or version 71. This means that the degraded format of
`the content file requires less resource (e.g., bandwidth) to
`serve than the counterpart full content format of the same
`content file. This is possible because a content file can be
`shown, for example, at 64x64 pixel resolution, at 128x128
`pixel resolution, at 256x256 pixel resolution, or at higher or
`lower resolutions. The 256x256 pixel resolution version of a
`content file clearly has more image data and requires more
`resource to transfer than the 128x128 pixel resolution version
`of the same content file. Thus, if the full content version of a
`content file is at the 256x256 pixel resolution, the degraded
`version of the same content file can be at 128x128 pixel
`resolution, or at 64x64 pixel resolution. In summary, the
`degraded format of a content file may include images of less
`resolution, fewer embedded images, simplified or simpler
`pages without backgrounds or fewer hyper-links than the full
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`content format of the same content file. Alternatively, each of
`the content files stored in the content server 31 has several
`
`degraded versions ofthe same content file. The content server
`31 will be described in more detail below with only two
`versions (i.e., the full content version and one degraded ver-
`sion), for example, for each of the content files stored in the
`content server 31 for illustration purposes only.
`Referring again to FIG. 2, each access request specifies a
`content file stored in the content server 31 using the Universal
`Resource Locator (URL) which is an address. The URL path
`for a content file stored in the content server 31, however, does
`not specify which version or format from which the content
`file will be accessed. This means that multiple content trees
`contain different versions of the same URL. The path to a
`particular URL in a given content tree will be the concatena-
`tion of the content tree name and the URL name, prefixed by
`the name ofthe root service directory ofthe content server 31.
`For example, two content trees may be created in the root
`service directory “/root”, one being “/full_content” and the
`other “/degraded_content”. The “/full_content” content tree
`name directs the request to access the corresponding content
`file in the full content version or format. The “/degraded_con-
`tent” content tree name directs the request to access the cor-
`responding content file in the degraded content version or
`format. In this case, a URL of “http://www.hpl.hp.com/
`my_picture.jpg” may be served from either the directory
`"/root/full_content/my_picture.jpg”, or from the directory
`“root/degraded_content/my_picture.jpg”.
`The scheme applies even if the content file is dynamic
`content, such as the content generated by cgi-scripts. Multiple
`content trees may contain different versions or formats of the
`named cgi-scripts (e.g., “my_script.cgi”). The “/degraded-
`_content/” version or format is a less resource-intensive
`search script that, for example, looks only for the first five
`matches, instead of the “/full_content” version or format that
`looks for one hundred matches. The URL of the script is then
`prefixed by the right tree name to determine which version of
`the script
`to execute under given load conditions. For
`example,
`the URL
`of
`“http://www.hpl.hp.com/my-
`_script.cgi” may be modified to become either “http://ww-
`w.hpl.hp.com/rootall_content/cgi-bin/my_script.cgi”
`or
`“http://www.hpl.hp.com/root/degraded_content/cgi-bi/my-
`_script.cgi”.
`Alternatively, the less resource-intensive “/degraded_con-
`tent” search script can be replaced or substituted with a static
`version or format. This canbe done by switching to a different
`content tree. For example, an on-line vendorusing the content
`server 31 can use a dynamically generated version of their
`product catalog that interacts with a stock database to display
`the items currently in stock. When the content server 31 is
`overloaded, its statically pre-stored catalog version is then
`accessed and displayed. The reason for doing this is that a
`dynamic script, even degraded or simplified, still consumes
`more resources to serve than the static content.
`
`The adaptive load control system 40 is connected to the
`content server 31. In accordance with one embodiment ofthe
`
`present invention, the adaptive load control system 40 detects
`overload condition of the content server 31 and causes the
`
`access requests to access the corresponding file from one of
`several alternative content qualities for delivery in accor-
`dance with the load conditions. When the adaptive load con-
`trol system 40 detects that the content server 31 is in the
`overload conditions, the adaptive load control system 40
`causes the incoming access requests to the content server 31
`to access the corresponding content files in the degraded
`format which is
`less resource-intensive to serve. The
`
`degraded format reduces the size of responses. The degraded
`
`Petitioner Apple Inc. - Exhibit 1010, p. 12
`
`Petitioner Apple Inc. - Exhibit 1010, p. 12
`
`

`

`US 8,200,837 B1
`
`7
`format also reduces the total number of requests as the sim-
`plified content includes fewer embedded images and/or other
`objects. The degraded format also removes or reduces links
`embedded in the requested content file. Thus, the degraded
`format is less resource intensive to serve than the full content
`format.
`
`The adaptive load control system 40 is also able to reject
`access requests if needed. In addition, the adaptive load con-
`trol system 40 supports co-existence of multiple perfor-
`mance-isolated virtual servers such that performance levels
`and load adaption decisions ofvirtual server do not affect that
`of another virtual server. This is required when the content
`server 31 hosts multiple content sites that possibly belong to
`different customers or content providers with potentially con-
`flicting interests. The total load on the server 31 may not be
`evenly distributed among the hosted sites. In this case, the
`adaptive load control system 40 implements a performance
`isolation mechanism that does not penalize a site for exces-
`sive load incurred by another site. Using this mechanism, the
`content server 31 is viewed as a collection of one or more
`
`performance-isolated virtual servers, each with a capability to
`provide independent performance guarantees regardless of
`the load on other virtual servers, if any. Guarantees are
`declared in a service level agreement associated with each
`virtual server and are used to configure the adaptive load
`control system 40 for appropriate resource capacity alloca-
`tion. The load adaptive control system 40 makes adaption
`decisions within each virtual server of the content server 31
`on its load and resource allocation.
`
`Moreover, the adaptive load control system 40 also gives
`preferential treatment to guaranteed service classes, while
`allowing non-guaranteed service classes to consume the
`excess capability when available. The guaranteed service
`classes are governed by service level agreements. The non-
`guaranteed classes are typically served on best effort basis
`with available resources. Under overload conditions,
`the
`adaptive load control system 40 should direct non-:guaran-
`teed requests to their degraded content files first. An arbitrary
`policy can govern the relative degradation of client classes
`with different importance levels. For example, under over-
`load conditions, the class A requests should be sent to the
`degraded content
`files before class B requests. But
`if
`resources remain scarce, class B requests are then degraded
`before rejecting class A requests.
`The adaptive load control system 40 can be implemented at
`any point in the data service system 30 where the server’s
`requests and responses can be accessed. This means that the
`adaptive load control system 40 can be implemented in the
`web server software, in the UNIX socket library, or in the
`operating system ofa computer system that embodies the data
`service system 30. Moreover, the adaptive load control sys-
`tem 40 can also be implemented in the gateway that is external
`to the server, as well as transparent to the server.
`Basically, the adaptive load control system 40 require

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