`
`
`
`tHCtaP3U
`
`Sep.28, 1999
`
`Sheet 1 of 22
`
`5,959,621
`
`
`
`_m_o_>m_o.0Z_._.Z_On_
`
`_om<om>m_v_v
`
`SE
`
`
`
`m_o_>m_o._.Dn_Z_mm
`
`SE.mmPz_mE
`
`.><Em_e
`
`
`
`m_o_>m_a.rDn_._.DOmm
`
`wmm:m_om_m
`
`._oEzoo
`
`._._ZD
`
`ONmm
`
`
`
`_>_m:m>m>mo_>_m_>_
`
`Z_<_>_
`
`>mosm__>_
`
`>m<n_zoom_m
`
`mo<mo5
`
`Page 00002
`
`
`Page 00002
`
`
`
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 2 of 22
`
`5,959,621
`
`INSTANCE
`DATA
`STRUCTURE
`
`VIRTUAL
`FUNCTION
`TABLE
`
`METHOD 0
`
`60
`
`62
`
`
`
`52
`
`50
`
`METHOD 1
`
`METHOD 2
`
`58
`
`Page 00003
`
`
`Page 00003
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 3 0122
`
`5,959,621
`
`144
`
`172 FIG_ 3 K 142
`l
`
`156
`
`170
`
`100
`
`oit 6
`
`er 5
`
`New York 10
`
`Seattle 3
`
`Baltimore 1
`
`California 0
`
`Bost
`
`Cleve
`
`140
`
`105
`
`160
`
`110
`
`1
`
`X120
`flE|
`MY COMPUTER
`
`NET\NORK NEIGHBORHOOD
`
`i.
`
`INTERNET EXPLORER
`
`/'
`
`102
`
`Start
`
`
`
`108
`
`4:59 PM
`
`132
`
`130
`
`134
`
`Page 00004
`
`
`Page 00004
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 4 of 22
`
`5,959,621
`
`FIG. 4
`
`Post Message
`_"Meeting in 5 minutes"
`
`
`
`COMPUTER
`
`WORKSTATION
`
`180
`
`188
`
`NETWORK
`
`184
`
`\\
`
`COMPUTER
`WORKSTATION
`
`‘x\
`
`192
`
`‘\\
`
`‘\
`
`‘A
`
`<
`
`"Sender's Name"
`
`R
`
`\
`
`196
`
`\
`
`T Meeting in 5 minutes
`lg 1\94
`@
`
`Page 00005
`
`
`Page 00005
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 5 of 22
`
`5,959,621
`
`202
`
`200
`
`FIG. 5 K
`
`,_____...|
`
`,______‘ ,___.__fi ,______| ,_____.|
`
`,______| .._____
`
`Refresh
`|_____
`
`lE@iEEjg
`
`'19 .6. J LS_e_aL=h J
`
`'f9v_°Lit§§n
`
`&
`
`Personal Options
`205
`
`Job Function —»/
`214
`216*. Program Manager) 0 Tester
`0 Developer
`0 Other
`0 Marketing
`
`/ 208
`Do you want to receive notifications of
`
`O Network Outages
`
`Do you want information aboutg
`
`210
`
`following products?
`Q Internet Exp|orer3
`
`O Internet Exp|orer4
`
`212
`Mike's group's private /J
`opfions
`0 Project bug status
`
`0 Your own bug count
`
`Page 00006
`
`
`Page 00006
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 6 of 22
`
`5,959,621
`
`200
`
`I7I(:}.
`
`(5
`
`"I
`
`ls“‘la"a;i‘el@"sE;
`
`_ _p_J LR_ef_r<:sDl LE9n1e_J L§e§r_<>l1l LF§v_°Lit§s_
`
`Publish a posting that the following people will see
`
`222
`
`People who
`Selected
`
`Catagory
`
`.
`Job Function
`
`-
`Option
`
`Program
`Manager
`
`Catagory
`
`(all)
`
`Option
`
`(an)
`
`224
`k”h° 3'5‘)
`selected
`
`who work in
`
`r''’‘ building
`226
`
`228 —\
`who work under manager
`
`(a”)
`
`Posting Text
`
`K 232
`
`Post to ticker
`
`Page 00007
`
`
`Page 00007
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 7 of 22
`
`5,959,621
`
`256
`
`Provider
`260
`
`\ \ LANContent
`
`Internet
`
`Content
`
`FIG. 7
`
`254
`
`
`
` User
`Preference
`
`
`Storage
`
` Internet
`Content
`
`Provider
`
`
`
`/
`
`
`I
`1
`I
`I
`
`I
`
`/
`
`,/
`
`/
`
`140
`
`Hypertext
`Viewer in
`D
`kt
`
`K es op
`
`"
`
`250
`
`252
`
`\
`
`Intranet
`
`Content
`Provider
`
`
`\
`
`Intranet
`Content
`Provider
`
`\
`
`\
`
`\
`
`\
`
`\
`
`Provider
`
`Page 00008
`
`
`Page 00008
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 8 of 22
`
`5,959,621
`
`FIG. 8
`
`
`
` HTML
`DOCUMENT
`
`CONTENT
`
`
`
`78
`
`MODEM
`
`<(
`0 ‘
`‘
`.
`‘ ( ‘ ( ‘ ( ‘ ( <(
`\
`CLIENT COMPUTEF\{\\\
`
`
`84
`
`88
`
`90
`
`(Prior Art)
`
`Page 00009
`
`
`Page 00009
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 9 of 22
`
`5,959,621
`
`FIG. 9
`
`100
`
`MY COMPUTER
`108
`
`NETWORK
`NEIGHBORHOOD
`
` o.£—
`
`INTERNET EXPLORER
`
`M
`
`114
`
`112
`
`(Prior Art)
`
`Page 00010
`
`
`Page 00010
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 10 of 22
`
`5,959,621
`
`
`
`132
`
`NETWORK NEIGHBORHOOD
`
`@m_I—
`
`INTERNET EXPLORER
`
`start
`
`~
`
`1 36
`
`FIG. 10
`
`128
`
`/
`
`140
`
`144
`
`MSN News
`Now Playing
`
`Options
`
`156
`
`irlines DTOP
`Prices 1;
`
`152
`
`MSN News
`
`ESPN
`
`Sports
`
`Mizar
`
`The
`
`N EWS
`
`First State
`Bank
`
`Fidelity
`
`164
`
`162
`
`4:59 PM
`
`153
`
`160
`
`Page 00011
`
`
`Page 00011
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 11 0122
`
`5,959,621
`
`FIG 11
`
`17°
`
`|“‘—__i l_—""_i I‘--"'11__’_—| l"_-"‘l |__“__i I— _ _ ' "‘"‘|
`I<::||||:\>'| '@ [IQ l|(§i2 ‘I:
`L_Bad<_' Egnyard} '___op_} '__e_re_si1} '__grue_} '_S_e_au:n} !_§V_0L|§S_:
`
`_ fii X
`
`Address
`
`
`
`152Air|ines Drop
`
`1761Southern Airlines
`Starts a Price War
`
`154
`
`170
`
`by Reducing fares
`25"/
`O
`
`W
`174
`
`In a move that surprised many
`
`economists, Southern Airlines J
`
`slashed prices by 25%. Other airlines
`are expected to follow to remain
`competitive.
`
`Start
`
`4:59 PM
`
`Page 00012
`
`
`Page 00012
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 12 0f 22
`
`5,959,621
`
`90
`
`12
`
`News Channe
`
`192
`
`MSN News
`K200
`
`%t page
`
` 204
`
`
`16
`
`
`
`Start
`
`4:59 PM
`
`Page 00013
`
`
`Page 00013
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 13 of 22
`
`5,959,621
`
`FIG. 13
`
`224
`
`20
`
`220
`
`_
`Chem
`
`226
`
`“
`
`
`
`User-
`Preference
`Storage
`
`232
`
`
`
`Server
`Personalization
`Data
`
`
`
`‘
`
`8 m art
`
`Server
`
`Server
`
`228
`
`230
`
`Page 00014
`
`
`Page 00014
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 14 0f 22
`
`5,959,621
`
`233
`
`FIG.
`
`Default Server
`
`Channel Guide .
`I
`-
`
`Sports
`ESPN
`
`250
`
`S
`
`260
`
`26
`
`248
`MSNBC
`
`News—$
`0 CNN
`
`250
`
`242
`
`’ ontrol - 262
`
`224
`
`User-Preference
`
`Storage on Client
`Comuter
`
`Sports
`/-ESPN
`252 J — (URL)fl56
`High School Sports
`- (URL)
`
`News
`
`Page 00015
`
`
`Page 00015
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 15 of 22
`
`5,959,621
`
`FIG. 15
`
`272
`
`Default Server
`
`70
`
`
`
`Document Preference
`Page
`
`276
`
`284
`
`224
`
`C0ntro| -286
`
`User-Preference
`
`Storage on Client
`Computer
`
`ESPN
`
`- (URL and/or Document Data)
`
`290
`
`Page 00016
`
`
`Page 00016
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 16 0f 22
`
`5,959,621
`
`FICi 16
`
`3%
`
`Hypertext
`Viewer in
`
`Desktop Window
`on Client
`
`User
`
`Preference
`Storage
`
`HTML
`Document
`
`300
`
`Content
`308
`Provider K-
`Selected from
`
`Channel
`
`Guide
`
`Content
`
`Provider
`
`Guide
`
`Selected from
`
`Channel
`
`Page 00017
`
`
`Page 00017
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 17 of 22
`
`5,959,621
`
`FIG.
`
`17
`
`06
`
`313
`
`Content from
`
`Content Provider
`Selected in
`Channel
`Guide
`
`
`
`
`
`Eff
`
`.
`t Fl
`
`320
`
`Effect File
`
`322
`
`Page 00018
`
`Hypertext Viewer
`in Desktop
`Window on
`
`314 Client Compute
`
`Use’
`Preference
`Storage
`
`
`
`316
`
`_ for Content
`'~ Provider
`-
`
`«'
`
` Special HTML
`‘
`'1
`Channel Guide
`
`Content from
`Content Provider
`Selected in
`
`304
`
`Channel Guide 300
`
`Content from
`Content Provider
`Selected in
`
`
`Page 00018
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 18 of 22
`
`5,959,621
`
`FIG. 18
`
` Connecting to a Computer
`
`330
`
`Network
`
`
`
`
`Receiving a Channel Guide of
` Content Providers
`
`
`332
`
`334
`
`Page 00019
`
`
`
` Integrating a Document
`
`Associated with a Content
`
`Provider from the Channel
`
`Guide into the desktop
`
`
`Page 00019
`
`
`
`U.S. Patent
`
`Sep. 28, 1999
`
`Sheet 19 of 22
`
`5,959,621
`
`
`
`Computer
`
`36
`
`Receiving a
`Channel Guide
`from a First Server
`
` Receiving a List of
`
`
`Documents from a
`
`
`
`Second Server
`
`Computer
`
`
`
`
`
`338
`
`
`
`Storing URLs
`associated with
`
`
`
`
`
`Documents
`
`Selected from the
`
`List
`
`
`
`Page 00020
`
`
`
`
`Retrieving the
`Documents from a
`
`Plurality of Server
`Computers
`342
`
`
`Generate
`Schedule
`
`344
`
`Retrieve and
`
`Display
`Documents from
`
`
`
`Content Providers
`
`according to
`
`Schedule
`
`
`Page 00020
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 20 of 22
`
`5,959,621
`
`350
`
`06
`
`FIG. 20
`
`Hypertext Viewer
`in Desktop
`Window on Client
`
`Computer
`
`SSWRAP.HTM
`
`358
`
`User
`Preference
`Storage
`
`
`
`360
`
`Screen Saver
`Document from
`Content Provider
`Selected in
`
`Channel Guide
`
`Screen Saver
`
`Document from
`
`Content Provider
`Selected in
`Channel Guide
`
`
`
`
`
`
`
`
`
`Page 00021
`
`352
`
`Screen Saver
`Container
`
`
`
`CONTROL- 354
`
`362
`
`
`Page 00021
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 21 of 22
`
`5,959,621
`
`Hypertext
`.
`.
`Viewer in
`
`I7I(3;
`
`2 1
`
`306
`
`37°
`
`Desktop
`W|nd0W On
`Client
`Cgm Q uter
`
`User
`Preference
`SW96
`
`
`
`SSWRAP.HTM
`
`Control
`
`380
`
`«Control ,-
`-.
`x
`
`cree
`
`aver
`
`Content from
`Content Provider
`
`Selected in
`Channelf —-
`Guide
`Q
`. Control
`
`0
`
`rE::a::::2;l
`Provider
`Selected in
`Channel
`Guide
`
`Effect
`
`File
`
`EfieCt
`
`File
`
`3 5
`
`74
`
`Screen Saver
`
`Content from
`
`Content Provider
`
`Selected in
`
`Guide \ J
`
`
`
`/
`
`Channel / "
`
`Screen Saver
`
`Source
`Containe_[_
`
`Control
`
`Page 00022
`
`
`Page 00022
`
`
`
`U.S. Patent
`
`Sep.28, 1999
`
`Sheet 22 0f 22
`
`5,959,621
`
`FIG. 22
`
`165
`
`EWS
`C N ET
`HotWired
`Mr. Showbiz
`Wall Street Journal
`
`Page 00023
`
`
`Page 00023
`
`
`
`1
`SYSTEM AND METHOD FOR DISPLAYING
`DATA ITEMS IN A TICKER DISPLAY PANE
`ON A CLIENT COMPUTER
`
`FIELD OF THE INVENTION
`
`This invention relates to displaying data on a client
`computer and, more particularly, relates to displaying the
`data in a ticker display pane.
`
`BACKGROUND AND SUMMARY OF THE
`INVENTION
`
`Graphical user interfaces provide an icon-oriented and/or
`menu-driven environment for allowing a user to interact
`with an operating system running on a user’s computer.
`Many graphical user interfaces include a windowing envi-
`ronment and a desktop. A windowing environment presents
`the user with specially delineated areas called windows on
`a display, each of which is dedicated to a particular appli-
`cation program, file or document. The windows can typi-
`cally be re-sized, moved around on the display, and stacked
`so as to overlay other windows. The windowing environ-
`ment allows windows to be increased to a full-screen display
`or minimized, meaning the window is reduced to and
`denoted by an icon.
`The desktop displays icons representing programs, files
`and resources available to the user. As such, the desktop acts
`as a launching point for running application programs,
`opening documents or files, and initiating operating system
`services. The desktop cannot be minimized or closed.
`Instead, the desktop always remains as a full-screen back-
`ground display upon which windows overlay.
`The desktop in many graphical user interfaces is based on
`a desktop metaphor, wherein the desktop is a graphical work
`surface analogous to a surface of a desk. Similarly, windows
`overlay the desktop in the graphical user interface analogous
`to papers or files laying on top of the desk.
`One area that may use a graphical user interface is
`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
`may download content
`(e.g.,
`images,
`text, application
`programs, etc.) to the client computer for viewing or execu-
`tion 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 Web is a portion of the Internet consist-
`ing of server computers, also referred to as “sites,” which
`make multi-media documents (often referred to as content)
`in HTML format generally available for downloading or
`retrieval by individuals having a computer with Internet
`access. The documents are generally created in Hypertext
`Markup Language (HTML) and displayed on a user’s com-
`puter. HTML documents support embedded hyperlinks that
`reference other locations (folder, FTP site, other HTML
`documents, etc.) The user’s computer retrieves and displays
`documents associated with the other location when the user
`
`activates a hyperlink by clicking on the hyperlink or press-
`ing an appropriate keystroke.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,959,621
`
`2
`
`Uniform Resource Locators (URL) are used in conjunc-
`tion with hyperlinks to identify the referenced location.
`URLs typically define a protocol to be used, a domain name
`of a server computer, a port address to be used for
`communication, and a directory path to access a desired
`document. Thus, when a user activates a hyperlink,
`the
`user’s computer uses a URL to establish communication
`with a server computer designated in the URL and displays
`a document retrieved from the server.
`
`HTML also allows graphical images to be embedded in
`HTML documents. When a graphical image is embedded in
`an HTML document, the dimensions or size of the embed-
`ded graphical image may be defined with HTML statements.
`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 HTML tag referencing an
`embedded image, SRC=“file.gif” defines the location and
`name of 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
`HTML documents for 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
`embedded into HTML documents using the <Insert> or
`<Object> HTML tags.
`The above-described protocols and HTML documents are
`the underlying structure for many Internet-based applica-
`tions. One such Internet-based application achieving wide-
`spread success is called Internet broadcasting.
`Internet
`broadcasting effectively turns a computer into a high-tech
`television set, allowing a client computer to change “chan-
`nels” 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 or manually initiated downloads.
`One provider of an Internet broadcasting application is
`PointCast Inc. PointCast provides an Internet broadcast
`application on its Internet site (http://www.pointcast.com)
`that a user can download to the user’s computer. The Internet
`broadcast application executes as a windowed application on
`the user’s computer. In the application’s window, the Point-
`cast application displays a channel viewer. The channel
`viewer contains different panes for organizing and reading
`news. One pane lists a collection of channels encompassing
`such topics as companies, industries, life styles, news, and
`sports. When a user activates a channel, a second pane is
`displayed showing a list of current stories relating to the
`selected channel. If a user activates a story, the full text for
`that story is displayed on a third pane. The PointCast
`application also includes what is called a “SmartScreen” that
`is triggered after a preset period of inactivity (as in a screen
`saver). SmartScreen launches a collection of headlines,
`sports scores, and stock tickers.
`The PointCast application has several drawbacks. For
`example, all of the content displayed is delivered from a
`single server computer called the Internet broadcasting
`server (e.g., the PointCast server), rather than directly from
`content providers that create the content. Thus, the infor-
`mation provided is only as up-to-date as the Internet broad-
`casting server. Additionally, if a user is interested in viewing
`content that is not available on the Internet broadcasting
`
`Page 00024
`
`
`Page 00024
`
`
`
`5,959,621
`
`3
`server, there is no means for integrating that content into the
`Internet broadcast. For example, content from other Internet
`server computers, Intranet server computers, server comput-
`ers on Local Area Networks (LAN), and the client computer
`itself, cannot be integrated into the broadcast. The content
`displayed also lacks hyperlinks referencing documents on
`other server computers and allowing a user to obtain more
`information about an item displayed in the Internet Broad-
`cast.
`
`Additionally, the PointCast application is displayed in one
`of many possible open windows. Returning to the desktop
`metaphor, a user may find it difficult to find documents, such
`as papers or files, lying on top of a desk when the desk is
`cluttered with such documents. Similarly, in windows envi-
`ronments wherein a user can have a plurality of windows
`opened simultaneously, the user may lose track of which
`window a particular application is displayed. Being opened
`in a window, the PointCast application is susceptible to this
`problem.
`The present invention provides a ticker display pane as
`part of a desktop on a client computer. The desktop is called
`an “active” desktop because data is animated (e.g., scrolling)
`in the ticker display pane. The ticker data is updated
`automatically by retrieving the data directly from content
`providers. The ticker data also may contain hyperlinks and
`be sourced from multiple servers on multiple networks.
`In one aspect of the invention, a client computer provides
`a ticker display pane as part of the desktop for displaying
`data, such as stock prices, sport scores, and messages. The
`data is displayed in a substantially continuous sequence of
`discrete data items that are animated in the ticker display
`pane. For example,
`the data items may scroll across the
`ticker display pane or flash onto the display pane all at once,
`filling the display pane. Because the ticker display pane is
`part of or integrated into the desktop, the user does not need
`to open a separate window to display the data items.
`Additionally,
`the user always knows the location of the
`ticker display on the desktop, as opposed to the ticker
`display being lost as one of many possible open windows.
`In another aspect of the invention, the data is retrieved
`from one or more source computers (i.e., multiple
`providers), which may be located on different computer
`networks. For example, server computers may be Internet,
`Intranet or LAN server computers. Additionally, information
`from multiple topic areas, such as sports, entertainment,
`stocks, and intercorporate messages can be integrated into
`the substantially continuous sequence of data items. In this
`aspect of the invention, the ticker display pane may or may
`not be part of the desktop (e.g.,
`the ticker may be in a
`separate window).
`the data retrieved
`In another aspect of the invention,
`contains hyperlinks,
`thereby allowing a user to select a
`hyperlink to retrieve and display another document (e.g.,
`folder, HTTP or FTP site, other HTML documents, etc.)
`designated by the hyperlink.
`In yet another aspect of the invention, a source identifier
`may be integrated into the desktop. The source identifier
`displays an image associated with the source of the data
`items currently displayed on the ticker display. The source
`identifier may include a hyperlink. Upon activating the
`hyperlink (e.g., clicking on the source identifier), the system
`retrieves and displays a document on a server computer
`associated with the hyperlink. The source identifier may
`further be an HTML page allowing the content provider to
`place advertisements and other information in a display
`space for the source identifier.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`Thus, using the present invention, rich multimedia data is
`dynamically integrated directly into the desktop on a client
`computer. The data may be provided from multiple server
`computers on multiple networks, such as Internet servers,
`Intranet servers, LAN servers, etc. Further, the data may
`include hyperlinks allowing the user to browse to related
`documents on a computer network. Finally, the data dis-
`played is the most up-to-date content, since it is provided
`directly from the content providers.
`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
`
`FIG. 1 is a block diagram of a computer system that may
`be used to implement a method and apparatus embodying
`the invention for displaying a ticker display pane.
`FIG. 2 is a block diagram illustrating objects conforming
`to a component object model used in the present invention.
`FIG. 3 is an illustration of a graphical user interface
`according to one aspect of the invention including a desktop
`with a ticker display pane for displaying a plurality of data
`items.
`
`FIG. 4 is an illustration of a network having a plurality of
`workstations capable of sending messages therebetween for
`display on the ticker display pane.
`FIG. 5 is an illustration of a personal options page for
`allowing users to control which messages sent by other users
`on a computer network are displayed on the ticker display
`pane.
`
`FIG. 6 is an illustration of a posting options page for
`allowing a user to select which recipients will receive data
`posted by the user.
`FIG. 7 is an illustration of a desktop viewer sequencing
`through data provided from Internet servers,
`Intranet
`servers, LAN servers and the client computer.
`FIG. 8 is a known browser environment on a client
`
`computer for connecting to and interacting with an Internet
`server computer.
`FIG. 9 is an illustration of a known windows user inter-
`
`face including a desktop window.
`FIG. 10 is an illustration of a desktop window according
`to one aspect of the invention with a desktop viewer for
`displaying a document on a first pane of the desktop window
`and desktop icons being displayed on a second pane of the
`desktop window.
`FIG. 11 is an illustration of a browser for displaying
`additional information about the document displayed in the
`desktop viewer of FIG. 10.
`FIG. 12 is an illustration of a window in a channel guide
`according to the invention for customizing which documents
`are displayed in the desktop viewer of FIG. 10.
`FIG. 13 is a block diagram showing a system architecture
`for displaying the desktop window of FIG. 10 on the client
`computer.
`FIG. 14 is an illustration of using multiple channel guides
`from multiple serves to display documents in the desktop
`viewer of FIG. 10.
`
`FIG. 15 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.
`10.
`
`FIG. 16 is an illustration of the desktop viewer sequencing
`through documents provided by multiple content providers.
`
`Page 00025
`
`
`Page 00025
`
`
`
`5,959,621
`
`5
`FIG. 17 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. 18 is a flowchart for implementing the desktop
`window of FIG. 10.
`
`FIG. 19 is a flowchart showing additional steps performed
`by the system for implementing the desktop window of FIG.
`10.
`
`FIG. 20 is an illustration of a screen saver according to the
`invention using the channel guide of FIG. 7.
`FIG. 21 is an illustration of a special effects screen saver
`HTML page for incorporating special effects into a screen
`saver document.
`
`FIG. 22 is an illustration of a channel guide listing
`multiple channels. Selecting a News channel displays the
`window shown in FIG. 7.
`
`DETAILED DESCRIPTION OF THE
`ILLUSTRATED EMBODIMENTS
`
`1. Computer Overview
`
`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
`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 be a 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.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`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 sometimes referred 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 of the 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.
`
`2. Object Overview
`
`Referring to FIG. 2, the illustrated embodiment of the
`invention utilizes objects or controls 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 dis-
`cussing the details of the illustrated embodiment.
`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 member functions 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
`member functions 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 OLE are the interfaces of the
`base class).
`OLE’s COM specification defines binary standards for
`objects and their interfaces which facilitate 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 60 to the virtual function table
`54 and data 62 (also referred to as data members, or
`properties of the object). Apointer is 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 member function.
`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
`
`Page 00026
`
`
`Page 00026
`
`
`
`5,959,621
`
`7
`
`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
`programs to call member functions 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. The client programs interact with the object 50 by
`calling the member functions 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-
`itance in that the object 50 can provide interfaces in common
`with a base class and other similar objects, so that client
`programs can interact with each of the objects in the same
`manner by calling member functions of the interface that the
`objects have in common.
`
`3. Graphical User Interface with a Windowing
`Environment and a Desktop
`Referring to FIG. 3, a graphical user interface environ-
`ment 100 according to the present invention is shown. The
`graphical user interface is displayed on the computer display
`30 (FIG. 1) and includes a windowing environment for
`displaying windows 102 and a desktop 104. The windowing
`environment shown is that of the Microsoft Windows® 95
`
`or Windows NT 4.0 operating systems, but the invention is
`equally applicable to other windowing environments.
`The illustrated graphical user interface is displaying two
`windows 106, 108 overlaying the desktop 104 in a front-
`to-back order. Each window represents a separate
`application, file or document. Window 108 is the front-most
`window, and, as such, is the window which accepts user
`input. The user can switch other windows to the front by
`clicking with a mouse or other pointer device, or by input-
`ting certain key combinations. This allows the user to work
`with multiple application programs, files and documents.
`Windows 106 and 108 each have minimize and maximize
`buttons, such as buttons 110 and 112 on window 106, so that
`the windows can be reduced to an icon or expanded to
`full-screen, filling the graphical user interface display.
`The illustrated desktop includes desktop icons, such as a
`“My Computer” icon 120, a “Network Neighborhood” icon
`122 and an “Internet Explorer” icon 124. Other desktop
`icons are typically displayed on the desktop 104, but are not
`shown for purposes of simplicity. The icons represent
`programs, files and resources available to the user. The
`desktop icons are illustrative only and entirely different
`icons may be used.
`The desktop 104 also includes a task bar 130 which
`extends the length of the desktop at a bottom-most portion
`thereof. The task bar 130 includes a start button 132 and a
`
`clock 134. Upon clicking the start button 132, a menu (not
`shown) appears containing user-selectable commands, such
`as for running programs, shutting down the computer, and
`displaying folders. Icons or buttons (not shown) represent-
`ing currently running applications are also displayed in the
`task bar.
`
`8
`Elements on the desktop 104, such as the desktop icons
`120, 122 and 124, can be moved to other locations on the
`desktop by dragging and dropping with a mouse or other
`pointer device, but cannot be minimized any further. Appli-
`cations which are open in the windows 106, 108, on the
`other hand, can be minimized. To “minimize” an application
`means to remove all windows associated with that applica-
`tion from the display such that only an icon or other
`graphical element remains displayed in the task bar repre-
`senting the application. Minimized applications are still
`active and may run in the background. The desktop remains
`as a full-screen display when all applications or programs
`are minimized or closed.
`
`10
`
`15
`
`The desktop 104 includes a viewer 140 which is a
`hy