`US 6,216,141 B1
`(10) Patent No.:
`Apr. 10, 2001
`(45) Date of Patent:
`Straub et al.
`
`US006216141B1
`
`(54) SYSTEM AND METHOD FOR
`INTEGRATING A DOCUMENTINTO A
`DESKTOP WINDOW ON A CLIENT
`
`COMPUTER
`
`(75)
`
`Inventors: Eric John Straub; Teresa Anne
`Martineau, both of Kirkland; Eric
`George Jakstadt, Woodinville; Steven
`Alfred Isaac, Bellevue, all of WA (US)
`
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`(21) Appl. No.: 08/760,931
`
`(56)
`
`(22)
`Filed:
`Dec. 6, 1996
`(51) Unt, C17 cesssssnssnsmnemneisenmnennnee GO6F 15/00
`(52) U.S. C0. cee eceseeeeeeeee 707/513; 707/501; 707/514;
`.
`709/203, 345/335
`(58) Field of Search 0... 707/513, 514,
`200.67, 107.01, 158; 709/203; 345/335
`References Cited
`U.S. PATENT DOCUMENTS
`.
`\
`575.5
`1004 simon Cb AN.
`oenoe
`sesssseeeeesenseeseeeees3s4ol
`
`9/1994 Fileep a~
`5347632
`305200
`
`5,355,472 * 10/1994 Lewis secs
`_.. 395/600
`5,469,540 * 11/1995 Power, Ill etal.
`.. 395/158
`.. 395/600
`........
`.
`5,491,820
`2/1996 Belove et al.
`
`... 395/158
`5,559,945 *
`9/1996 Beaudetetal. ...
`
`11/1996 Judson ow...
`we. 395/793
`5,572,643
`5,848,412 * 12/1998 Rowlandetal. .
`w+ 707/9
`
`5,854,630 * 12/1998 Nielsen seseeeennnnnnecs
`wee 345/352
`1/1999 Subramaniam etal.
`395/200.33
`5,859,972 *
`3/1999 Bormanetal. ...........
`.. 707/501
`5,890,172 *
`
`9/1999 Nawaz etal. .....
`.. 345/329
`5,959,621 *
`5/2000 Sllivka et al. w..ceceeeeee 707/513
`6,061,695
`
`FOREIGN PATENT DOCUMENTS
`wossrs0sed
`3/1998.
`(WO)
`
`,
`OTHER PUBLICATIONS
`
`rasonean . C+4+3 Object-Oriented Programming,
`:
`P.065-SO,
`Oliver, Netscape 2 Unleashed, p. 22-26, 44-45, 88-89, 657,
`Feb. 1996.*
`
`Shekleton, Designing for Flexibility with Multiple Docu-
`ment Interface, DBMS, p.1, Aug. 1994.*
`Berg, Cookies nibble at your hard disk, LAN Times,p.1, Jul.
`7, 1996.*
`Moody, How the Net can keep you in touch with world
`events, Computer Weekly, p.1, May 9, 1996.*
`McCathy, The Netscape Biscuit Company serves up a snack
`that knows you, Government Computer News, Sep. 23,
`1996.*
`
`(List continued on next page.)
`Primary Examiner—Stephen S. Hong
`Assistant Examiner—Cong-Lac Huynh
`(74) Attorney, Agent,
`or Firm—Klarquist Sparkman
`(57)
`ABSTRACT
`A system and method for displaying a rich multimedia
`documentin the same window as a desktop window.In one
`aspect of the invention a client computer connects to a
`computer network, such as the Internet, and retrieves a
`channel guideorlist of content providers from which a user
`~—«-Cal Select one or more content providers. The client com-
`puter retrieves a document associated with a content pro-
`vider selected from the channel guide. The document is
`integrated into the desktop window onthe client computer.
`The document received may be an HTML documentinclud-
`ing hyperlinks for allowing a user to jump to another
`document (e.g, folder, FTP site, other HTML documents,
`etc.) associated with the hyperlink.
`
`42 Claims, 17 Drawing Sheets
`
`128
`
`
`
`
`MSN News
`Now Playing
` |“130
`MY COMPUTER
`
`1Airlines Dro 58
`
`154“|p 1
`
`150 Prices
`142
`
`
`
`
`
`ne=
`
`
`
`
`
`
`INTERNET EXPLORER
`
`Exhibit 1028
`Samsung v. DoDots
`IPR2023-00701
`
`1
`
`Exhibit 1028
`Samsung v. DoDots
`IPR2023-00701
`
`
`
`US 6,216,141 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`Glass, Cookies won’t spoil your diet but might hurt Web
`security, InfoWorld, Jul. 15, 1996.*
`Mills, Navigator 'cookies'files will monitor Web user activ-
`ity, InfoWorld, Feb. 26, 1996.*
`Sullivan, Are Web-based cookies a treat or a recipe for
`trouble?, PC Week, Jun. 24, 1996.*
`
`Brown, Using Netscape 2, p. 153, 1995.*
`Gavron et al., How to Use Microsoft Windows NT 4
`Workstation, p. 31, Sep. 1996.*
`Muchmore, News you choose, PC Magazine, pp. 1-26, Apr.
`1996.*
`
`* cited by examiner
`
`2
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 1 of 17
`
`US 6,216,141 Bl
`
`of
`
`
`
`JOIAAGONILNIOd
`
`‘GYVOgAa»)
`
`(O14
`
`
`
`ADIAACLAdNI
`
`
`
`ADIAAGLNdLNO|}Ze
`
`(OLS‘YSLNIMd
`
`‘AV1dSIq)(i:
`
` ADVYOLSAYOWSW
`
`
`
`WALSAS
`
`NIVIN
`
`AYOWSWN
`
`AYVAGNOOAS
`
`3
`
`
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 2 of 17
`
`US 6,216,141 B1
`
`INSTANCE
`DATA
`STRUCTURE
`
`VIRTUAL
`FUNCTION
`TABLE
`
`60
`
`62
`
`METHOD0
`
`
`
`METHOD2
`
`52
`
`50
`
`METHOD 1
`
`58
`
`4
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 3 of 17
`
`US 6,216,141 B1
`
`FIG. 3
`
`HTML
`DOCUMENT
`
`CONTENT
`
`82
`
`70 oe
`SERVER COMPUTER 18
`84
`
`
`
`
`
`_ABN0U0U0
`
`
`
`
`
`
`
`
`Ee
`ens N
` Bh
`MODEM
`CLIENT COMPUTER ~~.
`
`(Prior Art)
`
`5
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 4 of 17
`
`US 6,216,141 Bl
`
`FIG. 4
`
`100
`
`
`
`NETWORK
`NEIGHBORHOOD
`
`INTERNET EXPLORER
`
`104
`
`(Prior Art)
`
`6
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 5 of 17
`
`US 6,216,141 B1
`
`FIG. 5
`
`128
`
`J
`
`440
`
`144
`
`Fidelity
`
`TO120
`|ES
`MY COMPUTER
`
`154
`
`MSN News
`
`Now Playing
`Airlines Drop
`5
`prices
`152
`142
`
`NETWORK NEIGHBORHCOD
`
`Gy34
`
`role—
`
`INTERNET EXPLORER
`
`136
`
`7
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 6 of 17
`
`US 6,216,141 B1
`
`FIG. 6
`
`170
`
`ad
`
`|
`|
`1
`Back_; Forward, | §
`_o
`
`Address
`
`a=
`
`|
`Search ;
`
`'Favorites!
`
`1 TT
`
`competitive.
`
`i2Airlines Drop
`Prices.
`
`176 Southern Airlines
`Starts a Price War
`by Reducing fares
`25%
`
`*
`
`154
`
`In a movethat surprised many
`
`economists, Southern Airlines _?
`
`slashed prices by 25%. Otherairlines
`are expected to follow to remain
`
`8
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 7 of 17
`
`US 6,216,141 B1
`
`90
`
`FIG. 7
`
`ee
`
`News Channel
`
`‘'”
`
`200
`
`C) USA Today
`
`204|@swnewsNews sect)|]CYFron page
`
`
`
`
`
`(DomineCNNNews— OneaterO World
`
`O Decision '96
`
`9
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 8 of 17
`
`US 6,216,141 B1
`
`224
`
`
`
`User-
`Preference
`
`Storage
`
`232
`
`
`
`Server
`Personalization
`
`
`Data
`
`20
`
`500
`
`~
`
`.
`Client
`
`226
`
`—
`
`Smart
`Server
`
`Static
`Server
`
`10
`
`
`
`Third Party Server
`Default Server
`260
`
`
`
`Channel Guide .—.
`
`High School, — |
`
`
`Sports
`{
`
`
`240
`26
`
`
`
`ESPN \~- 7
`
`
`
`News——!
`© CNN
`248
`
`Gontrol - 262 250
`
`MSNBC
`
`242
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 9 of 17
`
`US 6,216,141 B1
`
`238
`
`
`
`FIG. 9
`
`250
`
`
`User-Preference
`
`Storage on
`Client Computer
`
`
`
`High School Sports
`- (URL)
`
`News
`
`
`_S-MSNBC
`754
`“URL2
`
`
`
`11
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 10 of 17
`
`US 6,216,141 B1
`
`272
`
`FIG. 10
`
`
`
`Channel
`
`Guide
`7° \
`
`
`Sports
`:
`'
`
`
`7
`@ESPN *-
`Control
`
`News
`
`O CNN
`
`O MSNBC
`
`Document Preference
`
`276
`
`Page ESPN Server
`- (URL and/or Document Data)
`
`284
`
`224
`
`|
`
`|
`|
`
`ESPN
`
`278
`
`Control -286
`
`User-Preference
`Storage on Client
`Computer
`
`12
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 11 of 17
`
`US 6,216,141 B1
`
`FIG. 11
`
`306
`
`Hypertext
`Viewer in
`Desktop Window
`
`User
`Preference
`Storage
`
`
`
`on Client
` : Control :
`
`Guide
`
`HTML
`
`
`Document
`
`
`Content
`
`
`Provider
`
`
`Selected from
`
`Channel
`Guide
`
`8
`
`300
`
`
`
`
`Content
`Provider
`Selected from
`Channel
`
`13
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 12 of 17
`
`US 6,216,141 Bl
`
`FIG.
`
`12
`306
`
`Hypertext Viewer
`in Desktop
`Window on
`
`User
`Preference
`
`Storage Client Computes
`
`:
`
`HTML
`Document
`
`: Control
`
`304
`
`300
`
`318
`
`
`
`Content from
`Content Provider
`Selected in
`Channel
`Guide
`
`Effect File
`
`320
`
`Effect File
`
`314
`
`Control
`316
`
`Special HTML
`_ for Content
`“+ Provider
`
`.
`
`
`
`Content from
`Content Provider
`Selected in
`Channel Guide
`
`322
`
`
`
`Content from
`Content Provider
`Selected in
`Channel Guide
`
`14
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 13 of 17
`
`US 6,216,141 B1
`
`FIG. 13
`
`
`
`Connecting to a Computer
`Network
`
`
`330
`
`
`
`
`Receiving a Channel Guide of
`Content Providers
`
`
`332
`
`
`
`
`
`Integrating a Document
`334
`
`Associated with a Content
`
`
`
`
`Provider from the Channel
`
`
`Guide into the desktop
`
`15
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 14 of 17
`
`US 6,216,141 B1
`
`
`
`Receiving a
`
`Channel Guide
`
`
`
`from a First Server
`Computer
`
`
`
` Receiving a List of
`
`Documents from a
`
`
`
`
`Second Server
`
`338
`Computer
`
`
` Storing URLs
`
`
`
`
`associated with
`Documents
`Selected from the
`List
`
`
`
`
`Retrieving the
`Documents from a
`
`
`Plurality of Server
`Computers
`
`
`
`344
`
`
`
`Generate
`
`Schedule
`
`
`
`
`Retrieve and
`
`Display
`Documents from
`
`Content Providers
`
`
`according to
`Schedule
`
`16
`
`16
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 15 of 17
`
`US 6,216,141 Bl
`
`350
`
`06
`
`FIG. 15
`
`Hypertext Viewer
`in Desktop
`Window on Client
`
`Computer SSWRAP HTM
`
`‘Control:
`
`\
`
`\
`
`\
`
`N
`
`358
`
`\
`
`352
`
`Screen Saver
`
`_
`Container
` CONTROL- 354
`
`362
`
`User
`Preference
`
`Storage
`
`360
`
`
`
`Screen Saver
`
`
`
`Document from
`Content Provider
`
`
`Selected in
`
`
`Channel Guide
`
`
`
`Screen Saver
`
`
`
`Document from
`Content Provider
`
`Selected in
`
`Channe!} Guide
`
`
`
`
`17
`
`
`
`U.S. Patent
`
`Apr.10, 2001
`
`Sheet 16 of 17
`
`US 6,216,141 B1
`
`FIG
`Hypertext
`16
`,
`Viewer in
`
`Desktop
`User
`
`Window on
`Preference
`
`
`
`Client
`Storage
`
`Computer
`
`
`
`Special HTML
`_ for Content
`
`“Provider
`wv.
`
`
`306
`
`372
`
`,
`
`Saver
`creen
`Content from
`Content Provider
`Selected in
`Channel, ~
`Guide
`
`e Control
`@
`
`SSWRAP.HTM
`
`Control
`380
`
`370
`
`Document
`Provider
`Selected in
`Channel
`Guide
`
`Effect
`File
`
`Effect
`File
`
`3/6
`
`74
`
`Control: ®@
`{
`
`
`
`
`
`Screen Saver
`Content from
`Content Provider
`Selected in
`Channel 7
`Guide \~
`
`
`
`
`
`
`Control
`
`Screen Saver
`Source
`Container,
`
`Control
`
`18
`
`
`
`U.S. Patent
`
`Apr. 10, 2001
`
`Sheet 17 of 17
`
`US 6,216,141 B1
`
`FIG. 17
`
`165
`
`Wall Street Journal
`
`HotWired
`Mr. Showbiz
`
`19
`
`19
`
`
`
`US 6,216,141 Bl
`
`1
`SYSTEM AND METHOD FOR
`INTEGRATING A DOCUMENT INTO A
`DESKTOP WINDOW ON A CLIENT
`COMPUTER
`
`FIELD OF THE INVENTION
`
`This invention relates to a windows graphical user
`interface, and, more particularly, relates to integrating a
`document into a desktop window on a client computer.
`BACKGROUND AND SUMMARYOF THE
`INVENTION
`
`Windowing environments have emerged as the most
`popular graphical user interface in the world. Windowing
`environments provide a multitasking, graphical-based inter-
`face that runs programs for a wide-variety of applications
`(spreadsheets, word processing, desktop publishing,
`drawing, etc.) which havea relatively consistent appearance
`and commandstructure. The windowing environment pre-
`sents the user with specially delineated areas called windows
`on a display, each of which is dedicated to a particular
`application program, file or document. The windows can
`typically be re-sized, moved around on the display, and
`stacked so as to overlay other windows. Currently,
`the
`windowing environmentallows windowsto be increased to
`a full-screen display or minimized, meaning the windowis
`reduced to and denoted by an icon.
`The windowsenvironmentstarts with a desktop window
`that displays icons representing programs,
`files and
`resources available to the user. As such, the desktop window
`acts as a launching point for running application programs,
`opening documentsorfiles, and initiating operating system
`services. The desktop window cannot be minimized or
`closed. Instead, the desktop window always remains as a
`full-screen background display upon which other windows
`overlay.
`Onearea that primarily uses a windowing environmentis
`in Internet-based applications. The Internet is a worldwide
`collection of cooperating computer networks. A user typi-
`cally accesses the Internet through a “client” computer. The
`client computer communicates with a “server” computer on
`a remote computer network using telephone, ISDN, or T1
`lines or similar physical connections. The server computer
`maydisplay or download content(e.g., images, text, appli-
`cation programs,etc.) to the client computer for viewing or
`execution by the user.
`The client and server computers communicate through
`software protocols, such as File Transfer Protocol (FTP),
`Simple Mail Transfer Protocol (SMTP), Hypertext Transfer
`Protocol (HTTP), Gopher, etc. Currently HTTP is the most
`widely used protocol and is used for accessing the World
`Wide Web.
`
`The World Wide Webconsists of interconnected computer
`networks having computers, also referred to as “sites,”
`which make multi-media documents in HTML format gen-
`erally available for downloading orretrieval by individuals
`having a computer with Internet access. The documents are
`generally created in Hypertext Markup Language (HTML).
`Each HTML document supports embedded hyperlinks that
`reference other locations (folder, FTP site, other HTML
`documents, etc.) allowing the system (i.e., client computer)
`to umpto another location whenthe user selects a hyperlink
`by clicking on the hyperlink or pressing an appropriate
`keystroke.
`Uniform Resource Locators (URL) are used in conjunc-
`tion with hyperlinks to identify the location to which the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`system jumps. URLstypically define a protocol to be used,
`the domain name of a server computer, the port address to
`be used for communication, and the directory path to access
`a desired document. Thus, when a user selects a hyperlink,
`the system uses a URLto establish communication with a
`server computer designated in the URL and displays a
`documentor content retrieved from the server.
`
`HTMLalso allows graphical images to be embedded in
`HTML documents. When a graphical image is embedded in
`an HTML document, the dimensionsor size of the embed-
`ded graphical image may be defined with HTMLstatements.
`For example, the size of an embedded graphical image may
`be defined in HTML by <IMG SRC=“file.gif’ WIDTH=X
`HEIGHT=Y>, where IMG is an HTMLtag referencing an
`embedded image, SRC=“file.gif” defines the location and
`nameof the file containing the graphical image embedded in
`the HTML document, (e.g., a Graphics Information file or
`* GIF) and X,Y are the respective width and height of the
`graphical image measured in pixels.
`Software object components also may be used with the
`HTML documentfor displaying executable content, such as
`for animations or information processing. Currently, most
`Internet browsers support embedded software object com-
`ponents in the form of ActiveX controls, Java applets, and
`Visual Basic Scripts. These software object components are
`inserted into HTML documents using the <Insert> or
`<Object> HTMLtags.
`The above-described protocols and HTML documents are
`the underlying structure for most Internet-based applica-
`tions. One such Internet-based application achieving wide-
`spread success is called Internet broadcasting.
`Internet
`broadcasting effectively turns a computer terminal into a
`high-tech television set, allowing a client computer to
`change “channels” for displaying news, sports scores, stock
`charts, weather updates and other kinds of information
`which are downloaded from the Internet. The information
`displayed for the channels is dynamically updated, such as
`through scheduled downloads.
`One provider of an Internet broadcasting application is
`PointCast Inc., (http://www.pointcast.com). PointCast pro-
`vides an Internet broadcast application on its Internet site so
`that a user can download the application to the user’s
`computer. The Internet broadcast application executes as a
`windowedapplication in the windowing environmenton the
`user’s computer. In the application’s window, the Pointcast
`application displays a channel viewer. The channel viewer
`contains different panesforfiltering, organizing, and reading
`news. Onepanelists a collection of channels encompassing
`such topics as companies, industries,life styles, news, and
`sports. When a user selects a channel, a second pane is
`displayed showing a list of current stories relating to the
`selected channel. If a user selects a story, the full text for that
`story is displayed on a third pane. The software allows a user
`to personalize the makeup of each channel. For example, a
`user can choose options to have only NBA scores posted
`under a sports channel, while excluding NHL and NFL
`scores. The PointCast software can also be used for display-
`ing a screen saver whichis triggered after a predetermined
`period of inactivity on the client computer.
`The PointCast application has several drawbacks. For
`example, all of the content displayed on the client computer
`is delivered from a single server computercalled the Internet
`broadcasting server (e.g., the PointCast server), rather than
`directly from the content providers. Thus, the information
`provided is only as up-to-date as the Internet broadcasting
`server. Additionally,
`if a user is interested in displaying
`20
`
`20
`
`
`
`US 6,216,141 Bl
`
`3
`content not available on the Internet broadcasting server,
`there is no means for integrating that content
`into the
`Internet broadcast. The content available from the Internet
`
`broadcasting server also lacks hyperlinks for jumping to
`other documents on other server computers. Furthermore,
`there is no meansfor scanning or navigating through content
`that has been selected.
`
`4
`Additional features and advantages of the invention will
`be made apparent from the following detailed description of
`an illustrated embodiment which proceeds with reference to
`the accompanying drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`computer for connecting to and interacting with an Internet
`server computer.
`FIG. 4 is an illustration of a known windowsuserinter-
`
`FIG. 10 is an illustration of using multiple servers for
`allowing a user to customize which documents from a
`content provider are displayed in the desktop viewer of FIG.
`5.
`
`FIG. 1 is a block diagram of a computer system that may
`The present invention provides Internet-broadcaster func-
`be used to implement a method and apparatus embodying
`tionality integrated into a desktop window onaclient
`10
`the invention for displaying a desktop window having a
`computer. The desktop windowis called an “active” desktop
`documentintegrated therein.
`because rich multimedia documents are integrated therein
`FIG. 2 is a block diagram illustrating objects conforming
`and the documents are automatically updated and dynami-
`to a component object model used in the present invention.
`cally displayed. The documents are retrieved directly from
`FIG. 3 is a known browser environment on a client
`the content providers so they are as up-to-date as possible.
`Additionally, the desktop provides documents containing
`hyperlinks so that a user has access to information on
`multiple server computers.
`face including a desktop window.
`In one aspect of the invention, a client computer connects
`FIG. 5 is an illustration of a desktop window according to
`to a computer network, such as the Internet, and retrieves a
`one aspect of the invention with a desktop viewer for
`“main” channel guide containing a list of content providers
`
`from which a user can select one or more content providers. displaying a documentonafirst pane of the desktop window
`Based on the user’s selections, the client computerretrieves
`and desktop icons being displayed on a second pane of the
`one or more documents associated with a content provider
`desktop window.
`selected from the channel guide. The one or more documents
`FIG. 6 is an illustration of a browser for displaying
`are then integrated into the desktop window on the client
`additional information about the document displayed in the
`computer.
`desktop viewer of FIG. 5.
`In another aspect of the invention, the user may customize
`FIG. 7 is an illustration of a window in a channel guide
`which documents are displayed from a selected content
`accordingto the invention for customizing which documents
`provider. In such a case, a user selects a content provider and
`are displayed in the desktop viewer of FIG. 5.
`a list of document preferences associated with the selected
`FIG. 8 is a block diagram showing a system architecture
`content provider are displayed. The user may then select the
`for displaying the desktop window of FIG. 5 on the client
`desired document preferences. Each document preference
`computer.
`selected results in the display of one or more documents
`FIG. 9 is an illustration of using multiple channel guides
`related to that preference.
`from multiple servers to display documents in the desktop
`In another aspect of the invention, the documentretrieved
`viewer of FIG. 5.
`contains hyperlinks,
`thereby allowing a user to select a
`hyperlink and jump to another document(e.g., folder, HTTP
`or FTPsite, other HTML documents,etc.) associated with
`the hyperlink. The document may be an HTML document
`with hyperlinks embedded therein.
`In yet another aspect of the invention, documents are
`provided from multiple servers, and the documents are
`sequentially displayed in the desktop window. Thus, a user
`is provided with the most up-to-date content from selected
`content providers. The system accomplishes this by storing
`URLsfor the content providers selected from the channel
`guide in user-preference storage, such as in entries of a
`registry on the client computer.
`In still a further aspect of the invention, content providers
`notlisted in the channel guide are able to provide their own
`channel guide and display documents on the desktop of the
`client computer. Special controls (ActiveX Controls, Java
`applets, VB Scripts, etc.) are used by content providers not
`listed in the channel guide to display the documents. The
`control allows for storage of a URL corresponding to the
`content providers in the user-preference storage.
`Thus, using the present invention, rich multimedia docu-
`ments are integrated directly into the desktop window on a
`client computer. The documents are HTML and mayinclude
`VBscripts, java applets and hyperlinkable content allowing
`the user to browse a computer network, such as the Internet
`or Intranet. Further,
`the present invention allows content
`providers listed and content providers not
`listed in the
`channel guide to display documents in the desktop window.
`Finally, the content displayed is the most up-to-date content,
`since it is provided directly from the content providers.
`
`45
`
`FIG. 11 is an illustration of the desktop viewer sequencing
`through documents provided by multiple content providers.
`FIG. 12 is an illustration of the desktop viewer sequencing
`through documents provided by multiple content providers
`with special effects inserted into one of the documents.
`FIG. 13 is a flowchart for implementing the desktop
`window of FIG. 5.
`
`50
`
`FIG. 14 is a flowchart showing additional steps performed
`by the system for implementing the desktop windowof FIG.
`5.
`
`55
`
`60
`
`65
`
`FIG. 15is an illustration of a screen saver accordingto the
`invention using the channel guide of FIG. 7.
`FIG. 16 is an illustration of a special effects screen saver
`HTMLpage for incorporating special effects into a screen
`saver document.
`
`FIG. 17 is an illustration of a channel guide listing
`multiple channels. Selecting a News channel displays the
`window shownin FIG. 7.
`
`DETAILED DESCRIPTION OF THE
`ILLUSTRATED EMBODIMENTS
`
`Referring to FIG. 1, an operating environment for an
`illustrated embodiment of the present invention is a com-
`puter system 20 with a computer 22 that comprises at least
`one high speed processing unit (CPU) 24, in conjunction
`21
`
`21
`
`
`
`US 6,216,141 Bl
`
`5
`with a memory system 26, an input device 28, and an output
`device 30. These elements are interconnected by at least one
`bus structure 32.
`
`The illustrated CPU 24 is of familiar design and includes
`an ALU 34 for performing computations, a collection of
`registers 36 for temporary storage of data and instructions,
`and a control unit 38 for controlling operation of the system
`20. The CPU 24 may bea processor having any of a variety
`of architectures including Alpha from Digital, MIPS from
`MIPS Technology, NEC, IDT, Siemens, and others, x86
`from Intel and others, including Cyrix, AMD, and Nexgen,
`and the PowerPc from IBM and Motorola.
`
`The memory system 26 generally includes high-speed
`main memory 40 in the form of a medium such as random
`access memory (RAM) and read only memory (ROM)
`semiconductor devices, and secondary storage 42 in the
`form of long term storage mediums such as floppy disks,
`hard disks, tape, CD-ROM,flash memory, etc. and other
`devices that store data using electrical, magnetic, optical or
`other recording media. The main memory 40 also can
`include video display memory for displaying images
`through a display device. Those skilled in the art will
`recognize that the memory 26 can comprise a variety of
`alternative components having a variety of storage capaci-
`ties.
`
`The input and output devices 28, 30 also are familiar. The
`input device 28 can comprise a keyboard, a mouse, a
`physical transducer (e.g., a microphone), etc. The output
`device 30 can comprise a display, a printer, a transducer
`(e.g., a speaker), etc. Some devices, such as a network
`interface or a modem, can be used as input and/or output
`devices.
`
`As is familiar to those skilled in the art, the computer
`system 20 further includes an operating system and at least
`one application program. The operating system is the set of
`software which controls the computer system’s operation
`and the allocation of resources. The application program is
`the set of software that performs a task desired by the user,
`using computer resources made available through the oper-
`ating system. Both are resident in the illustrated memory
`system 26.
`In accordance with the practices of persons skilled in the
`art of computer programming,
`the present
`invention is
`described below with reference to acts and symbolic repre-
`sentations of operations that are performed by computer
`system 20, unless indicated otherwise. Such acts and opera-
`tions are sometimesreferred to as being computer-executed.
`It will be appreciated that the acts and symbolically repre-
`sented operations include the manipulation by the CPU 24 of
`electrical signals representing data bits which causes a
`resulting transformation or reduction ofthe electrical signal
`representation, and the maintenance of data bits at memory
`locations in memory system 26 to thereby reconfigure or
`otherwise alter the computer system’s operation, as well as
`other processing of signals. The memory locations where
`data bits are maintained are physical locations that have
`particular electrical, magnetic, or optical properties corre-
`sponding to the data bits.
`Referring to FIG. 2, the illustrated embodiment of the
`invention utilizes objects which conform to the component
`object model (COM) of Microsoft Corporation’s OLE. For
`a detailed discussion of OLE see Inside OLE, Second
`Edition by Kraig Brockschmidt, Microsoft Press, Redmond,
`Wash. 1995. A brief overview of objects in OLE and
`associated terminology is provided below before discussing
`the details of the illustrated embodiment.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`An object is an instance of a programmer-defined type
`referred to as a class, which exhibits the characteristics of
`data encapsulation, polymorphism and inheritance. Data
`encapsulation refers to the combining of data (also referred
`to as properties of an object) with methods that operate on
`the data (also referred to as memberfunctions of an object)
`into a unitary software component(i.e., the object), such that
`the object hides its internal composition, structure and
`operation and exposes its functionality to client programs
`that utilize the object only through one or more interfaces.
`An interface of the object is a group of semantically related
`memberfunctions of the object. In other words, the client
`programs do not access the object’s data directly, but must
`instead call functions on the object’s interfaces to operate on
`the data.
`
`Polymorphism refers to the ability to view (i.e., interact
`with) two similar objects through a common interface,
`thereby eliminating the need to differentiate between two
`objects. Inheritance refers to the derivation of different
`classes of objects from a base class, where the derived
`classes inherit the properties and characteristics of the base
`class (which for purposes of OLEare the interfaces of the
`base class).
`OLE’s COM specification defines binary standards for
`objects andtheir interfaces whichfacilitate the integration of
`software components. According to the COM specification,
`a typical object 50 is represented in the computer system 20
`(FIG. 1) by an instance data structure 52, a virtual function
`table 54, and member functions 56-58. The instance data
`structure 52 contains a pointer 60to the virtual function table
`54 and data 62 (also referred to as data members, or
`properties of the object). A pointeris a data value that holds
`the address of an item in memory. The virtual function table
`54 contains entries 66-68 for the member functions 56-58.
`Each of the entries 66-68 contains a reference to the code
`
`56-58 that implements the corresponding memberfunction.
`The pointer 60, the virtual function table 54, and the
`member functions 56-58 implement an interface of the
`object 50. Client programs interact with the object 50 by
`obtaining a pointer(referred to as an interface pointer) to the
`pointer 60 of the virtual function table 54. OLE includes a
`type definition of an interface pointer which allows client
`programsto call memberfunctions on the interface by name
`through the interface pointer and provides type checking on
`the function’s arguments, as expressed in the following code
`(in the C++ programming language):
`pInterface—>MemberFunction( .. . )
`Interfaces conventionally are given names beginning with
`a capital “I”. Objects can include multiple interfaces which
`are implemented with one or more virtual function tables.
`The member function of an interface is denoted as “IInter-
`faceName::FunctionName.”
`
`The object 50 conforming to the COM specification
`exhibits data encapsulation by exposing its interfaces
`(semantic groupings of its member functions) to client
`programs. Theclient programsinteract with the object 50 by
`calling the memberfunctions 56-58 on a particular interface
`of the object, but do not directly manipulate the object’s
`data. The object 50 also exhibits polymorphism and inher-
`itancein that the object 50 can provide interfaces in common
`with a base class and other similar objects, so that client
`programscan interact with each of the objects in the same
`mannerby calling memberfunctionsofthe interface that the
`objects have in common.
`FIG. 3 shows a known browser environment 70 used to
`access information through the Internet. A client computer
`20 uses a “browser” (e.g., Microsoft Corporation’s Internet
`22
`
`22
`
`
`
`US 6,216,141 Bl
`
`7
`Explorer) to access documents and programsavailable on a
`remote computer called a server computer 74. The client
`computer 20 connects to the server computer over a tele-
`phone line 76 using a modem 78.
`Typically documents residing at the server computer 74
`are HTML documents, such as document 80, and may
`include extensions and enhancements of HTMLstandards.
`
`The document 80 is used to display content on the client
`computer, which may include text, images, audio, video,
`executable software components, etc. The content may be
`within the HTML documentitself or incorporated therein by
`using HTMLtags that specify the location of files 82 that
`contain content.
`the illustrated
`When used for browsing documents,
`browser displays the document
`in a window 84 of the
`computer’s display 30 allocated to the browser by the
`operating system. The illustrated window 84 comprises a
`frame 86, a document display area 88, and user interface
`controls 90. The browser displays the document within the
`document display area 88 of the window 84.
`Referring to FIG. 4, a known windows graphical user
`interface environment 100 (that of the Microsoft Windows®
`95 operating system) is shown. The graphical user interface
`is displayed on a computer display 30 (FIG. 3). The graphi-
`cal user interface 100 includes a plurality of windows 102
`overlapping in a front-to-back order. The back-most window
`is called a desktop window 104. The desktop window is a
`full-screen display containing icons representing programs,
`files and resources available to the user. As such, the desktop
`window acts as a launching point for running application
`programs, opening documents or files, and initiating oper-
`ating system services. The illustrated desktop window
`includes desktop icons, such as a “My Computer” icon 106,
`a “Network Neighborhood” icon 108 and an “Internet
`Explorer” icon 110. Other desktop icons are typically dis-
`played on the desktop 104, but are not shown for purposes
`of simplicity.
`The desktop window 104 also includes a task bar 112
`which extends the length of the desktop window at a
`bottom-most portion thereof. The task bar 112 includes a
`start button 114 and a clock 115. Upon clicking the start
`button 114, a menu (not shown) appears containing user
`selectable commands, such as for running programs, shut-
`ting down the computer, and displaying folders. The task bar
`displays icons or buttons representing currently running
`applications.
`Elements on the desktop window 104, such as the desktop
`icons 106, 108 and 110 and the task bar 112, can be moved
`or re-sized, but cannot be minimized any further. To “mini-
`mize” an application means to remove all windowsassoci-
`ated with that application from the display such that only an
`icon or other graphical element remai