throbber
(12) United States Patent
`Sanders
`
`USOO6938077B2
`(10) Patent No.:
`US 6,938,077 B2
`(45) Date of Patent:
`Aug. 30, 2005
`
`(54) CLIENT VERSION ADVERTISEMENT
`SERVICE FOR OVERRIDING DEFAULT
`CLIENT VERSION PROPERTIES
`
`(75) Inventor: Scott D. Sanders, Fremont, CA (US)
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 777 days.
`
`(*) Notice:
`
`(21) Appl. No.: 10/045,769
`(22) Filed:
`Nov. 7, 2001
`(65)
`Prior Publication Data
`US 2003/0088716 A1 May 8, 2003
`(51) Int. Cl. ................................................ G06F 13/00
`(52) U.S. Cl. ........................ 709/219; 709/228; 719/328
`(58) Field of Search ................................. 709/219, 228,
`709/217, 225, 227, 229; 719/328-329
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`6,037.935 A * 3/2000 Bates et al. ................. 71.5/760
`6,477.550 B1 * 11/2002 Balasubramaniam
`et al. .......................... 71.5/513
`6,636.219 B2 * 10/2003 Merricket al. ............. 345/473
`6,691,281 B1 * 2/2004 Sorge et al. ................ 715/503
`
`4/2002 Baker ......................... 345/700
`2002/004785.6 A1
`2002/0184634 A1 * 12/2002 Cooper ........................ 725/51
`OTHER PUBLICATIONS
`Stewart, Bruce; Browser Sniffing; TechWeb The IT Network;
`http://www.webtools.com/story/printable Article'?doc
`id=TLS19990823S0001 Aug. 25, 1999.
`* cited by examiner
`Primary Examiner Viet D. Vu
`(74) Attorney, Agent, or Firm Workman Nydegger
`(57)
`ABSTRACT
`Override client version properties are used to Selectively
`replace default client version properties of a web browser to
`obtain versions of web resources that are operational on the
`web browser. A client operating the web browser issues a
`request for content through a proxy Server. Using an index,
`the proxy server determines whether the content is to be
`requested using an override client version property Set. If So,
`the override client version property Set is used to request the
`content form the web server and causes the web server to
`respond with content that has been designed or optimized for
`a web server other than the one operating on the client.
`Accordingly, the client can obtain fully functional and
`operational versions of the web resources using client Ver
`Sion properties that are Selected based on the capabilities of
`the web browser and the functionality available in different
`versions of individual web resources.
`
`16 Claims, 4 Drawing Sheets
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DISPLAY
`DEVICE
`
`
`
`O
`
`WEB
`BROWSER
`
`42
`
`
`
`WEBSITE VERSIONS
`ERSION
`S
`B
`
`---
`-24b
`
`s-
`
`s
`
`24C
`
`20
`?
`--yEBSERVER
`Y-ser--- OD
`99
`
`WEB
`SERVER
`
`20a
`
`WEBSITE
`24
`
`WEB
`SERVER
`
`20c
`
`
`
`
`
`WEB
`SERVER
`
`20d
`
`SAP Exhibit 1007
`SAP v. Express Mobile, Inc.
`IPR2021-01145
`Page 00001
`
`

`

`US 6,938,077 B2
`2B770,
`
`6SU
`
`00.%,F2...
`
`ES:
`
`U.S. Patent
`
`US. Patent
`
`was;
`
`gm
`
`3me
`
`Aa
`
`M
`
`M
`
`0,g“a;
`m.52%
`
`w5%”%03$2
`
`4m
`
`g“a;
`
`xm>¢mm
`
`e
`
`{38.33,mg3;;
`
`
`
`>533
`
`8:2
`
`E
`
`8-52mm:8":—a
`
`3;
`
`xmwsogm
`
`2
`
`2
`
`IPR2021-01145 Page 00002
`
`IPR2021-01145 Page 00002
`
`
`

`

`U.S. Patent
`
`Aug. 30, 2005
`
`Sheet 2 of 4
`
`US 6,938,077 B2
`
`WEB RESOURCE DENFER
`
`OWERROE CENT VERSION
`PROPERTY SET
`
`NOEX 30
`
`
`
`GENERATE
`REQUEST
`
`SEARCH INDEX
`FOR DENTIFIER OF
`REQUESTED RESOURCE
`
`202
`
`
`
`
`
`
`
`204
`
`FG, 3
`
`YES
`
`DOES
`INDEX INCLUDE
`OENIFE
`NO
`USE DEFAULT VERSION
`PROPERTY SET
`
`
`
`
`
`
`
`USE OVERRIDE YERSION
`PROPERTY SET
`
`
`
`206
`
`REQUEST WEB
`RESOURCE
`
`20
`
`
`
`IPR2021-01145 Page 00003
`
`

`

`U.S. Patent
`
`Aug. 30, 2005
`
`Sheet 3 of 4
`
`US 6,938,077 B2
`
`(STAR, )
`
`
`
`
`
`CONNECT TO -300
`WEB SERVER
`
`
`
`
`
`
`
`PROVIDE DEFAULT
`CLIENT VERSION
`PROPERTY SET
`
`302
`
`
`
`
`
`304
`
`DOWNLOAD
`CONTENT
`
`
`
`
`
`
`
`312
`
`SELECT NEXT CLIENT
`VERSION PROPERTY SET
`
`
`
`
`
`IS
`CONTENT
`COMPATIBLE WITH
`Roys;
`
`
`
`OTHER
`CLENT VERSION
`OPERY SETS
`
`WSE OVERRIDE
`VERSION PROPERTY SET
`
`308
`
`OENTIFY BEST
`CANDDATE
`
`
`
`34
`
`FG, 4
`
`IPR2021-01145 Page 00004
`
`

`

`U.S. Patent
`US. Patent
`
`Aug. 30, 2005
`Aug. 30, 2005
`
`Sheet 4 of 4
`Sheet 4 0f 4
`
`US 6,938,077 B2
`US 6,938,077 132
`
`a55$22:$2
`
`|------ – – –
`
`:2_fl_3.2_IIII20$:th_Ea:Ewe__5:85:82:Es_so;22:
`2oz—3:2
`l__:22:52%as$25;3:.a:_3fl_IIIm:_a_oimam25%:
` IILJIIIIIIHIIIIJ_x\__m’_as:_2.ass;was«I!__E____EE7mm__335::32%;.35:...
`
`
`allllllllllll
`2.538:an_3;:E5_Flllllll
`ll'llllllllllllllllll
`
`mm
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`:25g
`
`
`aIaa:aa$5282:335:22;ES::338:2.5.8:
`
`
`
`
`
`m.o:
`
`IPR2021-01145 Page 00005
`
`IPR2021-01145 Page 00005
`
`
`
`

`

`US 6,938,077 B2
`
`1
`CLIENT VERSION ADVERTISEMENT
`SERVICE FOR OVERRIDING DEFAULT
`CLIENT VERSION PROPERTIES
`
`15
`
`2
`AS new features of the languages and data format used in
`Internet documents are developed, many web browsers are
`updated to Support Such features. Likewise, as new web
`browser versions with new functionality are developed and
`released, Internet content providers can then use the corre
`sponding enhancements of the languages and data formats,
`with the expectation that the enhancements will be compat
`ible with many web browsers. Thus, developments in the
`functionality available on the Internet generally has required
`the cooperation of web browser developers and the devel
`operS of the Internet languages and data formats.
`Of course, when new Internet functionality becomes
`available, many of those who access the Internet continue to
`use legacy web browsers that do not Support the new
`functionality. When a web browser encounters code or data
`that it cannot process, the code or data is typically ignored.
`Understandably, this presents a challenge to Internet content
`providers that desire to make their information, with a
`maximum amount of functionality, available to as many
`clients as possible. Due to the large market share of Internet
`Explorer and Netscape Navigator, the functionality Sup
`ported by these web browser lines has typically been a
`controlling factor as to the acceptance of new Internet
`functionality by Internet content providers.
`One Solution for ensuring information compatibility
`involves communication from the client to the server of
`version information regarding the web browser when the
`client requests information over the Internet. This is typi
`cally done by including a User-Agent Hypertext Transfer
`Protocol (HTTP) header in a request sent to the server. The
`User-Agent header is a data Structure that enables the Server
`to select content that is appropriate for specified browser
`versions and capabilities. This allows the server to provide
`the client with information that is compatible with the web
`browser running on the client. One problem with this
`solution is that with the multiple lines of web browsers, and
`the multiple versions within those lines, Servers need to have
`a large number of different versions of information corre
`sponding to the processing capabilities of the different
`versions of web browsers. Most servers that offer different
`versions of content only offer fully functional content for at
`most a few versions of the Microsoft Internet Explorer and
`Netscape Navigator browsers.
`In order to operate in this environment, less common web
`browsers can receive web content by informing Servers that
`they can process content that has been designed for Specific
`versions of the most common web browsers. For example,
`a certain version of a leSS common web browser could
`inform Servers that it has the capabilities of a Specified
`version of Microsoft Internet Explorer and/or Netscape
`Navigator. In this situation, the Server responds to the
`request for content as if the browser were actually the
`specified version of Microsoft Internet Explorer or Netscape
`Navigator.
`This approach is suitable when the version of the less
`common web browser has all the processing capabilities of
`the latest versions of Internet Explorer and Netscape Navi
`gator. However, the capabilities of a version of a leSS
`common web browser operating on a given client often do
`not completely coincide with those of Internet Explorer and
`Netscape Navigator. In this situation, the leSS common web
`browser is faced with one of two options for requesting
`content. First, the browser could inform servers that it is
`compatible with an older version of one of the most common
`browsers. In this situation, however, Some Servers may
`refuse to provide content to the client or may provide content
`with reduced functionality, even if the web browser were, in
`
`25
`
`BACKGROUND OF THE INVENTION
`1. The Field of the Invention
`The present invention relates to the field of web browsers.
`More particularly, the present invention relates to a web
`browser's ability to specify client version properties or other
`information relating to the capabilities of the browser Such
`that appropriate content is provided to the web browser and
`can be rendered as appropriately as possible.
`2. Background and Related Art
`Modern computer technology can provide a computer
`user with information at very high Speeds. Many computers
`intended for interaction with a human operator also have
`built-in communications functionality. The communications
`functionality allows the computer to communicate and
`retrieve information from other computers. Computer net
`WorkS provide a forum for multiple computers to commu
`nicate with each other. This allows the computer user to not
`only have access to high-Speed information, but also vast
`amounts of information. The Internet is a very large network
`with connections to billions of computers. Computers on a
`network that access information are often referred to as
`clients, whereas computers that provide information to Such
`clients are often referred to as Servers. A client that accesses
`information from a Server over the Internet can obtain
`information including content that is displayed or otherwise
`presented to the user, executable code that is executed on the
`client, or both.
`Once information on a Server has been accessed, the client
`must have a Suitable Software program configured to inter
`pret the information. Often, the interpreted information is
`then displayed or otherwise provided to the user. Servers
`must also provide the information in a certain format So that
`the interpreter program on the client can appropriately
`interpret the information. These requirements have resulted
`in Several Semi-standardized computer languages or data
`formats intended for use with large networkS Such as the
`Internet, including HTML, XML, and Java. These languages
`are Somewhat dynamic as demands for alternate ways to
`deliver and display network information proliferate. The
`growth of the languages is limited, however, by the inter
`pretive programs.
`The interpretive programs are generally known as web
`browsers. There are currently two major web browser lines
`that make up most of the web browser market, namely,
`Microsoft Internet Explorer developed by Microsoft Corpo
`50
`ration and Netscape Navigator developed by Netscape Com
`munications Corporation. In addition, there are Several other
`web browsers available. Within each web browser line are
`different browser versions that have different functionality.
`The functionality of web browsers relates to the types of
`content and code of Internet documents that can be pro
`cessed and executed by the web browsers.
`Typically, a newer browser version incorporates the func
`tionality of older versions, as well as adds new functionality
`So, for instance, Internet Explorer version 5.0 incorporates
`the functionality of Internet Explorer 4.0 as well as some
`additional features. In addition, different lines of web brows
`ers may have different functionality. One notable example of
`such different functionality is the difference in the way
`Microsoft Internet Explorer and Netscape Navigator per
`form the function that determines the resolutions at which
`graphics are displayed.
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`IPR2021-01145 Page 00006
`
`

`

`US 6,938,077 B2
`
`3
`fact, compatible with the most advanced functionality of the
`requested content. In the alternative, the browser could
`inform servers that it is compatible with the most recent
`versions of the most common browsers. In this situation,
`however, there is a risk that the content that is received
`cannot be processed by the client. In view of the foregoing,
`there is no Suitable conventional technique for clients having
`leSS common browsers to request the appropriate content
`from servers.
`
`4
`Thus, when the client A requests content from the Second
`Server, the client version properties used in the request are
`the override client version properties that cause the Second
`Server to transmit the leSS feature-rich content to the client.
`In each of the foregoing examples, the client uses client
`version properties that have been determined to be appro
`priate for the particular content that is being requested. This
`is in contrast with conventional approaches, which use a
`Static User-Agent header and Static version properties to
`request content from Servers. In this way, legacy versions of
`browsers, particularly of browsers that are not the most
`common, can be used to access appropriate versions of
`content from Servers. The index of web resource addresses
`and corresponding override client version properties can be
`implemented at individual clients or can be implemented in
`Systems having proxy Servers through which clients gain
`access to Web Servers.
`Other aspects of the invention relate to generating and
`maintaining the index of web resource addresses and cor
`responding override client version properties. The indeX can
`be generated by using client version properties from com
`monly used web browsers to systematically determine which
`client version properties, when used as overrides, allow a
`client computer running a particular web browser to down
`load the most feature-rich content while minimizing content
`code/web browser incompatibilities. Accordingly, each Set
`of client version properties corresponding to commonly used
`web browserS is Supplied in Separate requests by a computer
`to a web server containing a Specific web page. That
`computer can then analyze the responses, monitor them for
`incompatibilities with the target web browser, and then
`Select the most appropriate set of version properties for
`inclusion in an override version property index. The content
`is then monitored for incompatibilities with the particular
`web browser running on the computer. After all of the
`version properties from the list have been utilized to down
`load the web page, the version properties that provide the
`most feature rich content are associated with the particular
`web page. That association is then made a part of an override
`version property index.
`Additional features and advantages of the invention will
`be set forth in the description which follows, and in part will
`be obvious from the description, or may be learned by the
`practice of the invention. The features and advantages of the
`invention may be realized and obtained by means of the
`instruments and combinations particularly pointed out in the
`appended claims. These and other features of the present
`invention will become more fully apparent from the follow
`ing description and appended claims, or may be learned by
`the practice of the invention as Set forth hereinafter.
`BRIEF DESCRIPTION OF THE DRAWINGS
`In order to describe the manner in which the above-recited
`and other advantages and features of the invention can be
`obtained, a more particular description of the invention
`briefly described above will be rendered by reference to
`specific embodiments thereof which are illustrated in the
`appended drawings. Understanding that these drawings
`depict only typical embodiments of the invention and are not
`therefore to be considered to be limiting of its Scope, the
`invention will be described and explained with additional
`Specificity and detail through the use of the accompanying
`drawings in which:
`FIG. 1 illustrates an exemplary System that provides a
`Suitable network environment for the present invention.
`FIG. 2 illustrates a data structure that represents an indeX
`of override client version properties.
`
`BRIEF SUMMARY OF THE INVENTION
`The present invention relates to dynamically Selecting and
`generating version information that describes the client
`which is used to request content having the appropriate
`functionality from Web Servers. This technique is particu
`larly Suited for leSS common browsers, and enables Such
`browsers to access appropriate content that has been
`designed to operate on Specific versions of the most common
`browsers. In this manner, the leSS common browser is not
`limited to a Static User-Agent header that is used for all
`servers, World Wide Web (“web”) sites, and web content.
`Instead, the User-Agent header and other information
`related to the capabilities of the client capabilities are
`Selected So as to enable the client to access the most
`feature-rich content that is compatible with the web browser
`of the client. Moreover, the dynamic information specifying
`the capabilities of the client avoids the situations described
`above, in which a Static User-Agent header often results in
`Servers either refusing to provide access to content, provid
`ing content having reduced functionality, or providing con
`tent that has functionality that is not Supported by the client.
`In one implementation of the invention, an index of web
`resource addresses is used to enable a web browser to
`download the most feature rich content available for that
`particular web browser. Each web resource address has a Set
`of corresponding override client version properties that have
`been determined to be appropriate for the content at the web
`resource address. The override client version properties are
`a combination of a User-Agent header and/or other infor
`mation about the capabilities of the client. The User-Agent
`header enables the Server associated with the web resource
`to provide an appropriate version of the web resource. The
`User-Agent header along with other override client version
`properties are exposed by the client to client-side Script to
`allow these override client version properties to additionally
`influence any client-side processing. For instance, if it has
`been determined that the web browser operating on the
`client is capable of processing content on a first Server that
`has been designed for the most recent versions of the most
`common web browsers (i.e., the most feature-rich content),
`the override client version properties associated with the first
`Server would be the client version properties that corre
`sponds to those of the most recent versions of the most
`common web browsers. Thus, when the client requests
`content from the first Server, the client version properties
`used in the request are the Override client version properties
`that cause the first Server to transmit the most feature-rich
`content to the client.
`Likewise, if it has been determined that the web browser
`operating on the client is not capable of processing the most
`feature-rich content of a Second Server, but is instead only
`capable of processing content that has been designed for a
`specific older version of the most common web browsers
`(i.e., less feature-rich content), the override client version
`properties associated with the Second Server would be the
`client version properties that correspond to those of the
`specific older version of the most common web browsers.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`IPR2021-01145 Page 00007
`
`

`

`S
`FIG. 3 is a flow diagram illustrating a typical process by
`which override version properties are used in downloading
`web content.
`FIG. 4 is a flow diagram illustrating a typical process by
`which an override version property indeX can be created.
`FIG. 5 illustrates one example of a client device that can
`be used to practice the invention.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`The present invention extends to both Systems and meth
`ods for overriding default version properties of a web
`browser operating on a client. The User-Agent headers
`and/or other information that Specify the version and capa
`bilities of a browser provided to Servers as part of requests
`for content can be tailored to the Specific Servers and the
`content that has been requested. In this manner, various
`versions of less common browserS can reliably access appro
`priate content that has been designed to operate with certain
`versions of the most common browserS.
`AS used herein, the term “most common browsers' refers
`to one or more lines of web browsers and the various
`versions of Such lines of browsers for which content of a
`Server is designed or optimized. Currently, the most com
`25
`mon browsers are typically Microsoft Internet Explorer and
`Netscape Navigator, although the identity of the most com
`mon browsers can change over time and can vary among
`Web Servers. AS used herein, the term “less common
`browser' refers to a browser that, for a particular server, is
`not a “most common browser' or, in other words, is not one
`of the browsers for which the content of the particular server
`has been designed or optimized. The embodiments of the
`present invention may comprise a special purpose or general
`purpose computer including various computer hardware, as
`discussed in greater detail below. Set top boxes that enhance
`the capabilities of conventional televisions represent an
`example of a special purpose computer. The embodiments
`may further comprise multiple computers linked in a net
`worked environment.
`AS used herein, the term "client version properties'
`extends to any information included in a request for infor
`mation from a Server or is used to execute a client-side Script
`that Specifies the capabilities of the browser as they relate to
`a version of the information that is to be processed on the
`web browser in response to the request.
`Embodiments within the scope of the present invention
`also include computer-readable media for carrying or having
`computer-executable instructions or data Structures Stored
`thereon. Such computer-readable media can be any available
`media that can be accessed by a general purpose or Special
`purpose computer. By way of example, and not limitation,
`Such computer-readable media can comprise physical Stor
`age media such as RAM, ROM, EEPROM, CD-ROM or
`other optical disk Storage, magnetic disk Storage or other
`magnetic Storage devices, or any other medium that can be
`used to carry or Store desired program code means in the
`form of computer-executable instructions or data Structures
`and that can be accessed by a general purpose or Special
`purpose computer. When information is transferred or pro
`Vided over a network or another communications connection
`(either hardwired, wireless, or a combination of hardwired
`or wireless) to a computer, the computer properly views the
`connection as a computer-readable medium. Thus, Such a
`connection is also properly termed a computer-readable
`medium. Combinations of the above should also be included
`within the Scope of computer-readable media. Computer
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,938,077 B2
`
`5
`
`15
`
`6
`executable instructions comprise, for example, instructions
`and data which cause a general purpose computer, Special
`purpose computer, or Special purpose processing device to
`perform a certain function or group of functions.
`The invention will be described in the general context of
`computer-executable instructions, Such as program modules,
`being executed by Set-top boxes or other computers.
`Generally, program modules include routines, programs,
`objects, components, data structures, etc. that perform par
`ticular tasks or implement particular abstract data types.
`Computer-executable instructions, associated data
`Structures, and program modules represent examples of the
`program code means for executing Steps of the methods
`disclosed herein. The particular Sequence of Such executable
`instructions or associated data structures represents
`examples of corresponding acts for implementing the func
`tions described in Such steps.
`I. Overriding Default Client Version Properties
`FIG. 1 illustrates one example of a network environment
`in which the present invention can be practiced. In FIG. 1,
`a client device 10, which may be a personal computer, an
`Internet appliance, a television Set-top box having Internet
`browsing capabilities, or any other Suitable processing
`device, operates a web browser 12 that enables a user to
`acceSS web content on display device 14. In this example, it
`is assumed that client device 10 operates a leSS common
`browser for which content of web servers 20a-n has not been
`Specifically optimized or designed.
`The network illustrated by FIG. 1 further includes a proxy
`server 16 and a plurality of web servers 20. Proxy server 16
`operates as an intermediary between the client device 10 and
`the web servers 20. Proxy server 16 allows other computer
`devices like the client device 10 to connect to the Internet 18
`via the proxy Server's 16 Internet connection. In one
`embodiment, the client device 10 requests a web page from
`the proxy server 16. The proxy server 16, using its Internet
`connection, retrieves the requested web page and delivers it
`to the client device 10. Typically, the proxy server 16 is
`located in relatively close proximity to the client device 10
`in terms of the number of “hops' between the client device
`and the proxy server. In one embodiment, the proxy Server
`16 is one proxy server of a network of proxy Servers,
`wherein each of the proxy Servers is in relatively close
`proximity to its clients. In addition to accessing web content
`using proxy server 16, client device 10 can bypass the proxy
`Server as shown at reference number 22 and access the
`Internet 18 directly as will be discussed in greater detail
`below. While FIG. 1 illustrates a proxy server 16, the
`invention can be practiced in networks in which no proxy
`Server is present and the client device accesses Servers 20
`directly.
`Generally, the web servers 20 are configured to deliver
`information readable by web browserS operating on client
`devices 10. The content on the web server 20 is generally
`formatted as one or more web sites 24. A web site 24
`typically comprises a hypertext document with links to other
`documents on the web site 24 or to other web sites. The other
`documents may also have links to documents on the web site
`24 or to other web sites. Web sites 24 represent examples of
`“web resources”, which is to be interpreted broadly in the
`context of this description and the claims, and includes any
`document or other data that can be accessed using the
`Internet and processed using a web browser.
`As shown in FIG. 1, a particular web site on a web server
`20 can have multiple versions 24-a-d, each being designed
`and optimized for display on a particular web browser
`version. Each web site version 24a-d may differ in
`
`IPR2021-01145 Page 00008
`
`

`

`7
`formatting, functionality, and content, depending on the
`corresponding capabilities of the web browsers by which the
`Web Site version is intended to be processed and displayed.
`The primary method that web servers 20 use to determine
`what version of content to deliver to a device, Such as a
`client device 10, involves receiving a “User-Agent' header
`that identifies the client version of the web browser 12
`running on the client device 10.
`Alternatively, rather than Storing multiple versions of the
`web site, the Web Server can Store a single version containing
`embedded, executable client-side Script that is used by
`clients to modify the web page or resource for display on the
`browser. In this case, the web resource and the client-side
`Script are transmitted to the client device 10 in response to
`the request for the web resource. The client device 10 then
`executes the Script based on client version properties adver
`tised by the device in exposed Scripting properties. In either
`of the foregoing cases, a version of a web resource is
`Selected and obtained using override client version proper
`ties associated with the client device 10.
`The most common way that client-side Script embedded
`in the web page returned by a Server can be customized to
`provide appropriate content is by using the exposed client
`version properties. The most common of these properties is
`navigator user Agent (which returns the same value as pro
`vided to the web server 20 in the User-Agent header),
`navigator. app Version, and navigator. app Name.
`Conventionally, these properties have been Static and are a
`direct function of the web browser 12 version. According to
`the invention, however, the client version property Set pro
`vided to a server 20 is selected dynamically in order to
`request content that has been determined to be compatible
`with web browser 12.
`An example of a navigator. user Agent property is:
`Mozilla/4.0 (compatible; MSIE 4.0; Windows NT). This
`example of navigator.userAgent property is also an example
`of the information included in a User-Agent header. This
`navigator. userAgent property tells a web server 20 that the
`particular web browser is version 4.0 (note that Mozilla is a
`code word originally used by Netscape for their web
`browser that nearly all web browser providers now use and
`therefore, it no longer communicates any functional
`information), that the particular web browser is compatible
`with Microsoft Internet Explorer, and that the particular web
`browser is running on Windows NT. An example of a
`navigator.appVersion property is 4.0 (compatible; MSIE 4.0;
`Windows NT), which specifies a version of a web browser.
`An example of a navigator.appName is MicroSoft Internet
`Explorer, which Specifies a name of a web browser.
`Web servers 20 that provide alternate versions of web site
`content usually have content that is optimized for only a few
`of the most common web browser versions. If the client
`device trying to access the Web Server 20 uses the conven
`tional technique of providing a Static User-Agent header
`and, therefore, does not indicate that it is capable of pro
`cessing one of the Supported version properties, the client
`device may either be returned content with leSS functionality
`that could actually be supported by the web browser, or may
`be denied access to the content regardless of whether the
`web browser on the client device Supports the functionality
`of the content disposed on the web server 20.
`Although the reasons for using proxy servers vary from
`network to network, Some advantages of proxy servers are
`described below. It is noted that the invention is capable of
`implementation in networks having other proxy Servers or
`no proxy servers at all. One advantage to using the proxy
`Server 16 according to one embodiment is illustrated when
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,938,077 B2
`
`8
`the proxy server 16 acts as an intermediary for multiple
`client devices 10. The proxy server 16 has the ability to
`retrieve content from the web servers 20. In the case where
`certain content is requested by many client devices that
`operate with proxy Server 16, the proxy Server may cache the
`content locally. In a typical embodiment, the proxy server 16
`is in close proximity on the network to client device 10 as
`well as being connected to the client device 10 with rela
`tively few network links. In this way, each client device 10
`that wishes to access the content is not required to retrieve
`the data through a complex Series of network connections
`that, although not illustrated here, exist in modem WAN and
`Internet networks. By the proxy server 16 periodically
`retrieving the popular content and Storing it locally, down
`load time can be reduced for client devices 10 when they
`connect to the proxy server 16.
`In one embodiment, to implement the web page caching
`feature, the web browserS running on all the client devices
`connected to a particular proxy server 16 must be similar. In
`this embodiment, the proxy Server 16 only caches a Single
`version of a particular web page and is therefore only able
`to deliver optimized content for a single web browser
`version property Set.
`In a Second embodiment, multiple proxy servers 16 may
`Service a particular set of client devices 10 that are running
`different web browse

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