throbber
(12) United States Patent
`TS0 et al.
`
`USOO6185625B1
`(10) Patent No.:
`US 6,185,625 B1
`(45) Date of Patent:
`*Feb. 6, 2001
`
`5/1996 Dwin et al. .......................... 395/166
`5,517,612
`(54) SCALING PROXY SERVER SENDING TO
`8/1996 Konrad .....
`... 395/200.09
`5,544,320
`THE CLIENT A GRAPHICAL USER
`3.56 : E. E. et al. ............................. s:
`INTERFACE FORESTABLISHING OBJECT
`2Y- a?
`a
`Silla ..........
`ENCODING PREFERENCES AFTER
`5,701,451 * 12/1997 Rogers et al. ........................... 707/1
`RECEIVING THE CLIENT'S REQUEST FOR
`(List continued on next page.)
`THE OBJECT
`OTHER PUBLICATIONS
`(75) Inventors: Michael Man-Hak Tso, Hillsboro, OR
`“MessagePad Solutions for Sales Professionals.” Apple
`(US); Jin Jing, Vancouver, WA (US);
`Computer, pp. 1-12, May 1995.*
`Robert Conrad Knauerhase, Portland,
`Berners-Lee, T., et al., RFC 1945, Network Working Group,
`OR (US); David Alfred Romrell,
`pp. 1-7 and 22–25, May 1996.*
`Hillsboro, OR (US); Daniel Joshua
`Armando Fox and Eric A. Brewer, “Reducing WWW
`Gillespie, Portland, OR (US); Bikram
`Latency and Bandwidth Requirements by Real-Time Dis
`Singh Bakshi, Hillsboro, OR (US);
`tillation,” Fifth International World Wide Web Conference,
`Seshardi Sathyanarayan, Portland, OR
`May 6–10, 1996.
`(US)
`Armando Fox et al., “Adapting to Network and Client
`Variability via On-Demand Dynamic Distillation,” Univer
`(73) ASSignee: es Corporation, Santa Clara, CA
`sity of Cal. at Berkeley, Sep. 1996.
`US
`Primary Examiner Zarni Maung
`This patent issued on a continued pros-
`ecution application filed under 37 CFR ASSistant Examiner-Andrew Caldwell
`1.53(d), and is subject to the twenty year
`(74) Attorney, Agent, or Firm-Kenyon & Kenyon
`E)(sm provisions of 35 U.S.C.
`(57)
`ABSTRACT
`A System for enhancing data access over a communications
`link is disclosed. In accordance with a particular
`embodiment, a System for retrieving an object Over a com
`puter network includes a network client with a browser for
`rendering an object to a user and a user interface enabling
`(21) Appl. No.: 08/772,164
`the user to establish an encoding preference. A remote
`9
`Scaling Server is coupled between the network client and the
`(22) Filed:
`Dec. 20, 1996
`(51) Int. Cl. ............................... G06F 15/16; G06F 3/00 E"...RISE. A. part
`(52) U.S. Cl. .......................... 709/247; 709/203; 92. figured tO request user-specified encoding preference from
`f
`the network client, retrieve an object from the computer
`(58) Field of Search ......................... 395/200.31, 200.32,
`network using the remote proXy, encode the object using the
`395/200.33, 200.47, 200.48, 200.49, 200.76,
`encode Service provider in accordance with the requested
`200.77; 709/201-203, 217-219, 246-247;
`user-specified encoding preference, and transmit the
`345/347, 352
`encoded object to the network client using the remote proxy.
`The disclosed System thus enables users to dynamically
`influence the trade-off between quality of content and down
`load Speed.
`p
`
`(*) Notice:
`
`Z.
`
`Under 35 U.S.C. 154(b), the term of this
`patent shall be extended for 0 days.
`
`(56)
`
`5,373.375
`
`References Cited
`U.S. PATENT DOCUMENTS
`12/1994 Weldy .................................. 358/523
`
`33 Claims, 10 Drawing Sheets
`
`- 3
`
`
`
`17
`
`BROWSER WINDOW
`E
`FILE EDT VIEW CO BOOKMARKS OPTIONS DIRECTORY
`FORWARD
`RELOAD
`SCALING INTERFACE
`14
`w
`SET SWITCH FOR SCALE ON (ON),
`NETSITE:http://
`ORIGINA (OFF) oRDEFAULTAffo)115
`
`o
`HELP
`
`
`
`
`
`
`
`SOFTWARE
`
`16
`
`IPR2018-01413
`Sony EX1028 Page 1
`
`

`

`US 6,185,625 B1
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`1/1998 Kremen et al. ................. 395/200.09
`5,706,434
`5: : E. R et al. .
`39 E.
`2 : 1
`f
`IIllS . . . . . . . . . . .
`f200.
`5,742,768 * 4/1998 Gennaro et al.
`... 709/218
`5,742,905 * 4/1998 Pepe et al. .....
`... 455/461
`5,764,235
`6/1998 Hunt et al. ...
`... 345/428
`5,768,510
`6/1998 Gish ........
`395/200.33
`5,805,735
`9/1998 Chen et al. ...
`... 382/239
`5,918,013 * 6/1999 Mighdoll et al. .................... 709/217
`
`9/1999 Kalra .................................... 709/231
`5,953,506
`5.991,816 * 11/1999 Percival et al. .
`... 709/247
`5.996,022 * 11/1999 Krueger et al. .
`... 709/247
`6,018,343 * 2/2000 Wang et al. ......................... 345/356
`6,049,821
`4/2000 Theriault et al. .................... 709/203
`6,076,109 * 6/2000 Kikinis ........
`709/228
`6,088,803 * 7/2000 Tso et al. .....
`713/201
`6.101.328
`8/2000 Bakshi et all
`717/11
`2- Y
`-2
`akSill el all. . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`
`
`* cited by examiner
`
`IPR2018-01413
`Sony EX1028 Page 2
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 1 of 10
`
`US 6,185,625 B1
`
`
`
`IPR2018-01413
`Sony EX1028 Page 3
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 2 of 10
`
`US 6,185,625 B1
`
`
`
`
`
`
`
`
`
`
`
`?JESM088
`
`
`
`|NETTO XÀJOMIEN
`
`IPR2018-01413
`Sony EX1028 Page 4
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 3 of 10
`
`US 6,185,625 B1
`
`
`
`BRIWMIJOS
`
`IPR2018-01413
`Sony EX1028 Page 5
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 4 of 10
`
`US 6,185,625 B1
`
`
`
`
`
`
`
`}|EWÄHES ONTWOS BLOWEN
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`INE|| 10 XRJOMIEN
`
`IPR2018-01413
`Sony EX1028 Page 6
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 5 of 10
`
`US 6,185,625 B1
`
`N
`
`
`
`
`
`
`
`
`
`
`
`Z
`
`3000NE0Z
`
`IPR2018-01413
`Sony EX1028 Page 7
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 6 of 10
`
`US 6,185,625 B1
`
`
`
`
`
`
`
`|NETTO XÀJOMIEN
`
`IPR2018-01413
`Sony EX1028 Page 8
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 7 of 10
`
`US 6,185,625 B1
`
`
`
`IPR2018-01413
`Sony EX1028 Page 9
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 8 of 10
`
`US 6,185,625 B1
`
`USER REQUESTS
`URL OBJECT
`
`
`
`
`
`100
`
`BROWSER ISSUES
`HTTP REQUEST
`FOR URL OBJECT
`
`110
`
`HTTP LOCAL PROXY CHECKS
`CLIENT-SIDE CACHE FOR
`URL OBJECT
`
`120
`
`
`
`
`
`
`
`130
`
`OBJECT
`IN CACHE
`
`
`
`
`
`RETRIEVE OBJECT
`FROM CACHE
`
`140
`
`150
`
`
`
`
`
`BROWSER
`DISPLAYS
`OBJECT
`
`FIG.8
`
`IPR2018-01413
`Sony EX1028 Page 10
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 9 of 10
`
`US 6,185,625 B1
`
`HTTP LOCAL PROXY
`SENDS REQUEST TO
`HTTP REMOTE PROXY
`
`
`
`
`
`HTTP REMOTE PROXY
`CHECKS SERVER-SIDE
`(CACHE FOR URL OBJECT)
`
`160
`
`170
`
`
`
`180
`
`
`
`OBJECT
`IN CACHE
`p
`
`
`
`Y
`200 SE
`OBJECT
`
`
`
`220
`
`RETURN
`ERROR
`
`190
`
`RETRIEVE URL
`OBJECT FROM
`INTERNET
`
`210
`OBJECTYNN
`FOUND?
`
`230
`
`CACHE
`RETRIEVED
`OBJECT
`
`FIG.9
`
`IPR2018-01413
`Sony EX1028 Page 11
`
`

`

`U.S. Patent
`
`Feb. 6, 2001
`
`Sheet 10 Of 10
`
`US 6,185,625 B1
`
`240
`
`SCALEN N
`OBJECT
`p
`
`
`
`250
`
`CREATE SCALED
`VERSION OF OBJECT
`
`260
`
`SEND
`OBJECT TO HTTP LOCAL PROXY
`
`270
`
`STORE
`OBJECT IN CLENT-SIDE CACHE
`
`280
`
`
`
`Y
`EP
`p
`
`N
`
`290
`
`BROWSER
`DISPLAYS
`OBJECT
`
`DECODE OBJECT (IF NEEDED)1300
`
`320
`
`BROWSER
`DISPLAYS
`OBJECT
`
`310
`
`
`
`350
`
`STANDARDNY
`MIMETYPE
`p
`
`N
`
`FG, 10
`
`IPR2018-01413
`Sony EX1028 Page 12
`
`

`

`1
`SCALING PROXY SERVER SENDING TO
`THE CLIENT A GRAPHICAL USER
`INTERFACE FORESTABLISHING OBJECT
`ENCODING PREFERENCES AFTER
`RECEIVING THE CLIENT'S REQUEST FOR
`THE OBJECT
`BACKGROUND OF THE INVENTION
`The present invention relates generally to the field of data
`communications for personal computers (PCs), and in par
`ticular to a System for enhancing data acceSS Over a com
`munications link.
`The Internet is quickly becoming the preferred data
`communications medium for a broad class of computer users
`ranging from private individuals to large multi-national
`corporations. Such users now routinely employ the Internet
`to acceSS information, distribute information, correspond
`electronically, and even conduct personal conferencing.
`Indeed, an ever-growing number of individuals, organiza
`tions and businesses have established a presence on the
`Internet through “web pages” on the World-Wide Web
`(WWW).
`At the same time that the Internet's popularity has been
`growing, the trend in personal computer design has been
`towards increased portability. This trend is best evidenced
`by the rapid growth in popularity of so-called “notebook” or
`25
`“laptop' computers. Unfortunately, while PCs are becoming
`both more powerful and more portable, advances in com
`munications infrastructure have not kept pace.
`A primary limitation on the ability of personal computers
`to exploit the Internet to full benefit is a lack of Sufficient
`communications bandwidth. Similar problems may be
`caused by Such conditions as high network traffic, even for
`high-speed Internet access lines. Outside of an office
`environment, for example, PCS typically connect to the
`Internet via POTS (Plain Old Telephone Service) or wireless
`modems at Speeds ranging from 9.6 to 14.4 kbps. Such
`speeds are substantially lower than typical office LAN
`(Local Area Network) bandwidths. This limited data com
`munications capability translates into very long user-visible
`latencies when users interact with the Internet using Such
`technologies.
`Communications bandwidth limitations also cause prob
`lems for users who access the Internet in a variety of ways
`depending upon where they are physically located. It is quite
`common for a user to have more than one computer from
`which he or she accesses the Internet, Such as an office PC,
`a home PC and a mobile PC for travel. Alternatively, a user
`may employ a single mobile PC to access the Internet from
`multiple locations, including office, home or remote sites.
`Such clients may become frustrated by differences in acceSS
`Speeds as they move among these various work
`environments, as there may be dramatic differences in the
`time required to access the exact same content given the
`widely-disparate communications bandwidths available
`(e.g., 10 Mb over an office LAN v. 9.6 kb over a modem).
`Such users typically are not tolerant of poor data acceSS
`times, demanding comparable performance regardless of
`where and how they happen to be accessing the Internet.
`Slow data communications Speeds are especially prob
`lematic for the mobile and home computer industries, Since
`available content is typically becoming richer in time frames
`measured in terms of weeks to months, while mobile and
`home computer bandwidths are typically getting broader in
`time frames measured in terms of years to decades. In order
`to remain competitive, it is desirable that mobile and home
`computerS maintain application equivalence with office
`desktop PCs.
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,185,625 B1
`
`15
`
`2
`In View of this challenge, the mobile and home computer
`industries have developed a number of approaches for
`dealing with the problem of slow data communications. One
`Such method is to use a text-only browser; that is, users are
`simply unable to download data other than text. While this
`method certainly reduces user-visible latencies by avoiding
`richer data types Such as images and Video, it also dimin
`ishes the value of most Web pages and Significantly
`underuses the advanced media capabilities of PCs. The end
`result is decreased user Satisfaction.
`Another approach is for content providers to create con
`tent in low-quality, non-rich formats. Such content may be
`represented using Substantially leSS data than high-quality,
`rich formats, thus shortening the time required for transmis
`Sion to a user. This method, however, presents a user Site
`with the Hobson’s choice of decreased content quality for all
`of its users (including those with access to high-bandwidth
`connections) or intolerable access speeds for users with
`low-bandwidth connections. Since Web sites must compete
`with other media industries, Such as television, for the
`attention of users, today most Sites are choosing high
`quality, rich content. The result is that low-bandwidth con
`nections are becoming increasingly undesirable, resulting in
`many rich content Web Sites creating and maintaining mul
`tiple versions of objects offering varying degrees of resolu
`tion from which the user must choose.
`Yet another approach is data compression. Traditional
`data compression techniques involve compressing data at
`the network or packet level. Examples include modem
`compression (such as V.42) and PPP/IP header compression.
`Such techniques are by necessity non-lossy because they
`lack information about the data being compressed. Com
`pression rates are generally no more than 2x end-to-end for
`all compression algorithms combined, being limited by the
`fact that compressing already-compressed data is largely
`ineffective. This is especially true for the media datatypes
`often used on the Web, Such as Video, audio and image.
`Content containing these rich datatypes are usually Stored in
`compressed format already, meaning traditional compres
`Sion techniques achieve Substantially less than the 2x com
`pression rate.
`None of the foregoing approaches provide a Satisfactory
`Solution to the problem of providing users with fast access
`to the rich content available over computer networkS Such as
`the Internet.
`
`SUMMARY OF THE INVENTION
`According to an embodiment of the present invention, a
`System for retrieving an object from a computer network
`includes a network client with a browser for rendering data
`to a user. A remote Scaling Server is coupled between the
`network client and the computer network, and includes a
`remote proxy, an encode manager, and one or more encode
`Service providers. The remote Scaling Server is configured to
`retrieve an object from the computer network using the
`remote proxy, encode the object using an encode Service
`provider, and transmit the encoded object to the network
`client using the remote proxy.
`In other embodiments, an encode Service provider may be
`used to Selectively encode or Scale an object based on a
`predetermined characteristic thereof, Such as a datatype,
`making it possible to achieve compression rates Substan
`tially greater than the 2x rate achieved by traditional com
`pression techniques without negatively affecting Software
`that ultimately processes the compressed data. Such higher
`compression rates may be achieved by reducing the quality
`
`IPR2018-01413
`Sony EX1028 Page 13
`
`

`

`US 6,185,625 B1
`
`3
`of a picture and/or by using compression techniques tuned
`for Specific datatypes. For example, representing certain
`types of images, Such as photographic images, using JPEG
`or fractal compression algorithms may result in a 10x
`improvement in compression rate over the popular GIF
`format. Moreover, Such datatype-specific compression tech
`niques may be adaptive to a particular client's capabilities,
`including display resolution, available network bandwidth,
`connection quality (wired versus wireless/radio), and central
`processing unit (CPU) capability (for handling
`decompression). Thus, the quality of the user experience
`may vary with client capability, all without having to Spe
`cialize content, Web server Software or client Software.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a Schematic diagram illustrating an environment
`in which embodiments of the present invention may be
`applied.
`FIG. 2 is a Schematic diagram illustrating an embodiment
`of the present invention directed to a non-enabled network
`client.
`FIG. 3 is a Schematic diagram illustrating an example of
`a user interface providing a non-enabled network client with
`Scaling and refinement functionality.
`FIG. 4 is a Schematic diagram illustrating an embodiment
`of the present invention directed to a non-enabled network
`client including embedded decoderS.
`FIG. 5 is a Schematic diagram illustrating an embodiment
`of the present invention directed to an enabled network
`client.
`FIG. 6 is a Schematic diagram illustrating an embodiment
`of the present invention directed to an enabled network
`client with client software integrated in the browser.
`FIG. 7 is a Schematic diagram illustrating an embodiment
`of an encode Service provider configured to Scale image
`data.
`FIGS. 8-10 are flow charts illustrating the logic per
`formed by an embodiment of the present invention to
`present a requested URL object to a network client user.
`
`DETAILED DESCRIPTION
`Given the drawbacks of known approaches, there is a
`need for providing bandwidth-constrained computer users
`with fast access to the full range of rich data content
`available on computer networkS Such as the Internet.
`Embodiments of the present invention Satisfy that need,
`reducing the gap between the richness of available content
`and the ability of bandwidth-constrained personal computers
`to provide users with access to that content. Such embodi
`ments may be particularly useful for improving the perfor
`mance of mobile or home PCs having limited bandwidth
`available for data communications. In Such cases, Substantial
`performance improvements are possible, Significantly
`reducing user-Visible latencies. Moreover, embodiments of
`the present invention may be configured to be fully back
`wards compatible with today's popular Internet browsers,
`Web Servers, and existing content types.
`Like Some prior approaches, embodiments in accordance
`with the present invention are founded on the theory of
`trading quality for performance. User-Visible latencies may
`be reduced by Scaling (encoding) content to decrease the
`quantity of data that must be transmitted. AS is explained
`more fully below, Scaling may be performed by a caching
`network proxy using one or more of the following methods:
`
`4
`reduction of content dimension;
`reduction of content quality through lossy compression,
`Such as lower quality, leSS colors, or partial conversion
`of an image object to text or an outline;
`translation of content to a more efficient representation
`format, and
`combinations of the foregoing.
`Numerous techniques for Scaling various types of data are
`well-known in the art, and the present invention is not
`dependent upon the use of any particular technique. Nor is
`the present invention intended to be limited according to any
`technique discussed below for purposes of illustrating fea
`tures of certain embodiments. In addition to Scaling, user
`Visible latencies may be reduced by caching multiple Ver
`Sions of content, which is a difficult and resource-intensive
`task using existing technology.
`Embodiments in accordance with the present invention
`are directed to providing a flexible System for enhancing the
`transfer of data from remote networks, Such as the Internet,
`to computers having communications and/or presentation
`restrictions including, for example, limited communications
`bandwidth, congested communications lines, or limited
`Visual or audio display capabilities. A significant problem
`addressed by embodiments in accordance with the invention
`is that content authored for a particular type of client (for
`example, in terms of display capability or connection speed)
`does not always work well for other types of clients. In other
`words, content that is "rich enough (high image quality) for
`clients accessing the network over a relatively high-speed
`LAN may download too slowly for clients accessing the
`network over a relatively slow-speed POTS connection.
`Conversely, content that is optimized for fast POTS down
`loading may appear uninteresting (Small, grainy images) to
`LAN clients who have come to expect richer content. To
`compound this problem, the population of network clients is
`extremely diverse. Some clients have fast data links, while
`others have data links that may be as much as 100x slower.
`Similarly, Some clients have large Video displays with exten
`Sive color capability, while others have Small video displayS
`with little or no color capability. A System according to an
`embodiment of the present invention may automatically
`adjust the quality of the data access experience based on
`these varying client capabilities, enabling content providers
`to author for the richest clients yet have their content
`automatically Scaled for any number of clients with lesser
`capabilities. In this way, clients are ensured of increased
`benefit and enjoyment. In addition, users may be given the
`option of Selecting the kind of experience they want by
`controlling the tradeoff between download time and richneSS
`of the downloaded content.
`Certain embodiments of the invention described below
`use a “network proxy' to provide content to a client.
`Network proxies are generally known in the art, as described
`in Ian S. Graham, HTML Source Book: A Complete Guide to
`HTML 3.0 (2d ed. Wiley Computer Publishing 1996), incor
`porated herein by reference. A network proxy, or proxy
`Server, is typically used in conjunction with So-called “fire
`wall' software to protect a LAN from unauthorized access
`over the Internet. A firewall, typically installed on a gateway
`computer that links the LAN to the external world, restricts
`externally-originated TCP/IP (Transmission Control
`Protocol/Internet Protocol) packets from entering a local
`area network, thereby protecting the LAN from hazards Such
`as unauthorized access and viruses. However, the firewall
`also prevents network users from directly accessing external
`resources such as the Web. Network proxies are often used
`to address this shortcoming. See Graham, at 403.
`
`5
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`IPR2018-01413
`Sony EX1028 Page 14
`
`

`

`US 6,185,625 B1
`
`15
`
`25
`
`35
`
`40
`
`S
`Network proxies are usually configured to have free
`access to both internal LAN resources and external
`resources, and can safely pass data back and forth acroSS the
`firewall. Users may then be given Safe, though indirect,
`access to Web resources by configuring the user's Web
`browser to reference the network proxy instead of external
`target servers. When the Web browser is used to retrieve
`information from outside the firewall it sends a request to the
`network proxy, which then completes the request and returns
`the result to the requester. Id.
`While the firewall/network proxy architecture effectively
`Shields a LAN from external hazards, the two-stage data
`access procedure is often relatively slow. It is therefore
`common for a network proxy to cache retrieved files. For
`example, the first time that a document residing on the Web
`is requested, the network proxy retrieves the document and
`forwards it to the browser for presentation to the user, but
`also retains a copy of the document in its own local memory.
`If the same or another user makes a Subsequent request for
`that same document, the network proxy returns the locally
`cached copy of the document instead of re-retrieving it from
`the Web. Id. at 403-404. An example of a cache for use by
`a network proxy was described in Anawatt Chankhunthod et
`al., “A Hierarchical Internet Object Cache,” Nov. 6, 1995
`(available from the Computer Science Dept. of the Univer
`sity of Southern California), incorporated herein by refer
`CCC.
`Another example of a network proxy is “GloMop,” devel
`oped at the University of California-Berkeley, which uses a
`network proxy to reduce latency by Scaling images to
`thumbnails before transmitting them to users. See Armando
`Fox and Eric A. Brewer, “Reducing WWW Latency and
`Bandwidth Requirements by Real-Time Distillation”
`(available from the University of California-Berkely), incor
`porated herein by reference. As described, GloMop lacks the
`ability to accommodate more than a handful of users con
`currently because there is no facility for Selective Scaling or
`background compression. In addition, image maps tend to
`break when scaled to thumbnails. Another problem is that
`GloMop does not cache Scaled images, meaning the same
`image may be Scaled over and over again in response to
`multiple requests. Nor does GloMop employ Stream-based
`processing, meaning users must wait for GloMop to Scale an
`entire image before beginning to perceive any portion of an
`image, thus limiting the responsive “feel” of the System.
`Finally, GloMop requires the installation of new client
`software (specialized browsers). In view of these and other
`problems, GloMop is not a commercially-deployable SyS
`tem.
`Referring now to FIG. 1, which illustrates an environment
`in which an embodiment of the present invention may be
`advantageously applied, a network Server 1 manages the
`transfer of data from the Internet 2 to a network client 3.
`Network client 3 may be any computer having Suitable data
`communications capability.
`Network client 3 communicates requests for information
`to, and receives information from, network Server 1 over a
`client/server communications link 4. Client/server commu
`nications link 4 may comprise, for example, a So-called
`“slow network” using, for example, POTS dial-up technol
`ogy or wireleSS connections. Alternatively, client/server
`communications link 4 may comprise a So-called “fast
`network.” Such as a LAN or WAN (Wide Area Network),
`which is capable of operating at much higher Speeds than are
`possible with slow networkS. Combinations of these acceSS
`methods are also possible. For example, network client 3
`may use a POTS or wireless dial-up connection to a modem
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`bank maintained by an ISP (Internet Service Provider),
`which is in turn connected to network server 1 over a LAN.
`Referring now to FIG. 2, in a first embodiment of the
`present invention network client 3 accesses Internet 2
`through a remote Scaling Server 1. Remote Scaling Server 1
`may be implemented, for example, as part of a network
`Server, as a Stand-alone computer in communication with a
`network Server, or as a distributed System of computers.
`Remote Scaling Server 1 may be coupled, for example, to an
`ISP's network, a corporate network, or anywhere on Internet
`2, and provides multiple users with a means to obtain
`content on Internet 2.
`Remote scaling server 1 includes an HTTP (HyperText
`Transfer Protocol) remote proxy 6, capable of accessing
`Internet 2 over a server/network communications link 5. AS
`will become apparent from the following description, HTTP
`remote proxy 6 is markedly different from known network
`proxies, which generally are little more than a conduit for
`requests to, and replies from, external Internet resources. By
`contrast, the HTTP remote proxy 6 not only examines such
`requests and replies, but may act on commands in the
`requests by, for example, determining whether or not to Scale
`content. Also unlike existing network proxies, HTTP remote
`proxy 6 is capable of changing content received from
`Internet 2 prior to returning it to a requesting network client
`3 by, for example, Scaling the content.
`An encode manager 7 is coupled to HTTP remote proxy
`6. Encode manager 7 manages the compression of data to be
`transmitted from remote Scaling Server 1 to network client 3.
`To this end, encode manager 7 controls one or more encode
`service providers 8 which may be used to selectively scale
`content based on a predetermined characteristic thereof. For
`example, in one embodiment, each encode Service provider
`8 may include the capability to compress and/or Scale a
`different type of data content, Such as image, Video, or
`HTML (HyperText Markup Language). Other examples of
`Such predetermined Selection criteria which may be used to
`Selectively Scale content include presentation capabilities of
`network client 3, Such as an ability to playback Sound
`recordings, a quality of Sound Supported (e.g., mono versus
`Stereo), and resolution, dimensions and/or color Support of a
`user display device, CPU and/or memory capacity; Speed
`and/or quality of client/server communications link4; and/or
`user-Selected preferences. The present invention is not lim
`ited in Scope in this respect.
`In this embodiment, remote Scaling Server 1 also includes
`a Server-side cache memory 10 managed by a Server-side
`cache interface 9. Server-side cache memory 10 may be used
`to Store both original and compressed/Scaled versions of
`content for later transmission to network client 3 without the
`need to re-retrieve the content from Internet 2 or to
`re-compress the content.
`Remote Scaling Server 1 is coupled to network client 3 by
`a client/server communications link 4. Network client 3
`includes a browser 12, such as the Netscape Navigator v.3.0
`browser (although the invention is not limited in this
`respect), which manages the presentation of data to a user.
`In this embodiment, network client 3 is “non-enabled.”
`meaning no specialized decoding Software is preloaded on
`network client 3.
`Encode manager 7 Serves as a relatively simple, uniform
`interface to HTTP remote proxy 6, and may provide an API
`(Application Programming Interface) for encoding data
`received by HTTP remote proxy 6. Encode manager 7
`manages one or more encode Service providers 8 that are
`accessed through a common SPI (Service Provider
`Interface). In this particular embodiment, encode manager 7
`
`IPR2018-01413
`Sony EX1028 Page 15
`
`

`

`7
`is designed in compliance with the Windows Open Systems
`Architecture (WOSA), and may be implemented as a Win32
`DLL (Dynamic Link Library). The WOSA architecture,
`described in Readings on Microsoft Windows and WOSA
`(Microsoft Corp. 1995) (incorporated herein by reference),
`enables encode service providers 8 to be dynamically added
`to the System to provide new features and/or better Scaling
`algorithms, while at the same time not requiring changing or
`retesting other Software components in the System. This
`feature is especially beneficial where remote Scaling Server
`1 also interacts with “enabled” network clients equipped
`with Specialized decoding Software. It should be noted that
`Some of the features of encode manager 7 described below
`may be inapplicable to the non-enabled client embodiment
`of FIG. 2; however, remote Scaling Server 1 may advanta
`geously be configured flexibly enough to process requests
`from both non-enabled and enabled network clients.
`Like encode manager 7, Server-side cache interface 9 is
`preferably modeled after a Get/Set interface. Server-side
`cache memory 10 essentially "owns” all cached objects, in
`that it manages the properties and Storage of the objects and
`may invalidate any non-locked object at any time; however,
`the actual format of any given cached object is known only
`by encode Service manager 7 and its associated encode
`Service providers 8. Thus, for data integrity and compression
`efficiency purposes, all accesses to Server-Side cache
`memory 10 in this embodiment are done through encode
`manager 7.
`In this particular embodiment, Server-side cache interface
`9 may include the following calls:
`CreateEntry(URL, & Entry, ...);
`GetEntry(URL, & Entry);
`CreateStream(Entry, &Stream Entry, . . . );
`GetStream(Entry, &Stream Entry, . . . );
`CloseEntry(Entry);
`CloseStreamEntry(Stream Entry);
`GetProperties(Entry, &Properties, ...);
`SetProperties(Entry, &Properties, . . . );
`Read(StreamEntry, & OutStream, . . . );
`Write(Stream Entry, &InStream, . . . ).
`Unlike existing cache memories, Server-side cache interface
`9 and server-side cache memory 10 enable maintenance of
`multiple representations of a given cached object, with
`descriptive information about each representation included
`in Server-side cache memory 10. In addition, Server-side
`cache interface 9 and server-side cache memory 10 serve as
`a Synchronization point for multi-threaded accesses to
`cached objects. It should be noted that the present invention
`is not limited to any particular configuration for Server-side
`cache interface 9 and/or server-side cache memory 10.
`Indeed, functionality attributed to these components in the
`various embodiments described herein may be readily
`implemented in other System components.
`The CreateEntry() call creates and returns a cache entry
`for a specified hypertext object. This call also creates an
`entry Stream for an original version of the hypertext object.
`Similarly, the GetEntry() call obtains a cache entry for a
`hypertext object already existing in cache memory 10. Both
`the CreateEntry() and GetEntry() calls set locks on asso
`ciated cached objects until a Close Entry() call is invoked.
`Once a lock is Set, the cached object will not be replaced or
`invalidated by cache interface 9, permitting one or more
`encode Service providers 8 to safely perform any required
`cache operations, Such as object retrieval and/or Storage.
`After a cache entry is created or opened by a
`CreateEntry() or GetEntry() call, the CreateStream() or
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,185,625 B1
`
`8
`GetStream() calls may respectively create or open an extra
`Stream entry for the cached object. Each extra Stream entry
`is associated with a different Scaled version of the hypertext
`object, which may be retrieved or append

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