throbber
as) United States
`a2) Patent Application Publication (10) Pub. No.: US 2005/0088447 Al
`(43) Pub. Date: Apr. 28, 2005
`
`Hanggie etal.
`
`US 20050088447A1
`
`(54) COMPOSITING DESKTOP WINDOW
`MANAGER
`
`(52) US. Che
`
`(76)
`
`Inventors: Scott Hanggie, Redmond, WA (US);
`Victor Tan, Kirkland, WA (US);
`Gerardo Bermudez, Redmond, WA
`(US); Gregory D. Swedberg, Bellevue,
`WA (US); Mark Richard Ligameri,
`Snohomish, WA (US); Greg Scott
`Melander, Redmond, WA (US)
`
`Correspondence Address:
`BANNER & WITCOFF LTD.,
`ATTORNEYS FOR MICROSOFT
`1001 G STREET, N.W.
`ELEVENTH STREET
`WASHINGTON, DC 20001-4597 (US)
`
`(21) Appl. No.:
`
`10/691,450
`
`(22)
`
`Filed:
`
`Oct. 23, 2003
`
`Publication Classification
`
`(51)
`
`Int. Ch? oe G09G 5/36; GO6F 12/02;
`GO6T 1/00; GO6T 15/00; GO6T 1/60;
`G09G 5/00; GO6F 15/00; GO9G 5/02
`
`caccecccssecteessien 345/545; 345/543; 345/522;
`345/547; 345/530; 345/581;
`345/619; 345/501; 345/629;
`345/582; 345/592; 345/589
`
`(57)
`
`ABSTRACT
`
`A method and system for rendering a desktop on a computer
`using a composited desktop model operating system are
`disclosed. A composited desktop window manager, upon
`receiving content information from application programs,
`draws the windowto a buffer memory for future reference,
`and takes advantage of advanced graphics hardware and
`visual effects to render windows based on content on which
`
`they are drawn. The windows mayalso be rendered based on
`environment variables including virtual light sources. The
`frame portion of each window may be generated by pixel
`shading a bitmap having the appearance of frosted glass
`based on the content of the desktop on top of which the
`frame is displayed. Legacy support is provided so that the
`operating system can draw and render windowsgenerated
`by legacy applications to look consistent with non-legacy
`application windows.
`
`503
`
`"® Axon Statin Ge Po B
`
`
`
`ep Type:File Folder
`
`ee
`1.
`SteType, LateModified
`<> My Pictures
`QeType: File Folder
`
`APPLE 1006
`
`APPLE 1006
`
`1
`
`

`

`Patent Application Publication Apr. 28,2005 Sheet 1 of 7
`
`US 2005/0088447 Al
`
`YALNIYd
`
`88}
`
`681
`
`SuaWVadS
`
`VauvWO01
`
`MYOMLAN
`
`08
`
`ALOWSY
`
`YALNdWOO
`
`aLOWSd
`
`NOILLVOMddV
`
`SWVYDOud
`
`
`
`LINN|WudSHdlddd.ONILWH3d0'
`
`Lemeeeebene.xcorre7O&t.
`|81021.
`~~7~y7el19h9S|.~NL7a
`
`|YaLdvaVy
`
`
`WLOleSaTNaoOwSWVYDOYd|WALSAS
`
`791WYYDOUd|WYHDOUdH3HLO|NOLLWONddv|DNILYHadO
`7~Olb4YOLINOWSteh
`SSNbOblSProl
`0017
`
`JOVAYSLNI
`
`81
`
`Or!
`
`.NOILVOMdd¥
`
`_SWVH5DOud
`
`WALSAS
`
`JOVSYS1NI
`MYOMLAN
`LAdNIHSN
`SOVAYSLNI
`
`.AYOWSW“IOA-NONaTaVAOWSY
`
`AYOWAW“IOA-NON
`ATEVAOWSY-NON
`
`WVdSO0udYAHLO
`
`SIINGOW
`
`JOVIYFINI
`
`FOVAYALNI
`
`
`
`|WLVdWWu90ud
`
`2
`
`
`
`
`
`
`
`
`
`

`

`Patent Application Publication Apr. 28,2005 Sheet 2 of 7
`
`US 2005/0088447 Al
`
`190
`
`
`
`Compositing Desktop Window Manager
`Legacy Graphical User
`190a
`(CDWM)
`190b
`
`
`Interface Subsystem
`
`
`Legacy Window)r192a
`Subsystem
`Application
`
`Application
`
`Programming
`Programming
`Manager
`
`Software
`
`Interface
`Interface
`Legacy Graphics}-192b
`Device Interface
`
`191
`
`UI Object
`
`
`
`
`
`192 |
`
`
`
`
`
`
`
`ee
`Universal Compositing Engine (UCE)
`
`Theme Manager
`~
`
`Programming
`Interface
`
`
`
`— 194
`—L
`Request
`|
`Resource
`
`Manager|. Queue
`
`Rendering
`Module
`
`"3D Giaphics Interface
`(Direct3D, OpenGL,etc)
`
`(7198
`
`
`
`196~(Video Driver Video Driver|~196):
`
`,
`Device Object
`Device Object
`
`"
`
`Display Device :
`
`oe
`Display Device
`
`FIG. 1B
`
`3
`
`

`

`Patent Application Publication Apr. 28, 2005 Sheet 3 of 7
`
`US 2005/0088447 Al
`
`COMPOSITING-AWARE
`LEGACY
`APPLICATIONS
`APPLICATIONS
`
`CDWM REQUESTS LEGACY
`APPLICATION CREATES A }
`
`
`COMPOSITED WINDOW WITH |
`SUBSYSTEM TO REDIRECT
`APPLICATION-SPECIFIED
`WINDOW CONTENT TO
`
`CONTENT VIA CDWM API
`MEMORY SURFACE
`
`
`
`
`
`
`LEGACY SUBSYSTEM
`
`NOTIFIES CDWMOFVISUAL
`UPDATE TO CONTENT
`SURFACE
`
`=|
`APPLICATION NOTIFIES
`
`
`CDWM OFVISUAL UPDATETOF
`
`WINDOW OR CONTENT
`
`CDWM CREATES AND
`MANAGES WINDOW AND
`-
`CONTENT OBJECT
`Ed
`
`WINDOW/CONTENT
`
`
`
`207
`
`209
`
`225
`
`
`
`CDWM UPDATES WINDOW
`TRANSFORM(S), QUEUES
`
`
`a)
`TRANSFORM UPDATE
`
`REQUEST TO UCE
`
`
`
`
`CDWM RESIZES FRAME
`MESH, QUEUES UPDATE-
`PRIMITIVE REQUEST TO UCE
`
`221
`
`
` CDWM RESIZES CONTENT
`
`
`MESH, QUEUES UPDATE-
`
`PRIMITIVE REQUEST TO UCE
`
`
`
`UCE DEQUEUES CDWM
`UPDATESIN SYNC WITH
`VIDEO REFRESH CYCLE,
`RENDERS TO APPROPRIATE
`DISPLAY DEVICE(S)
`
`4
`
`

`

`File
`
`
`
`Patent Application Publication Apr. 28, 2005 Sheet 4 of 7
`
`US 2005/0088447 Al
`
`FIG.3
`
`—_
`
`©Eo
`
`O
`LL
`
`|_|WindowCaption Edit
`
`c®w
`
`o =
`
`5
`
`

`

`Patent Application Publication Apr. 28,2005 Sheet 5 of 7
`
`US 2005/0088447 Al
`
`401
`
`403
`
`405 _,
`
`
`
`RECEIVEINITIAL
`CONTENT UPDATE
`NOTIFICATION FROM
`LEGACY WINDOW
`MANAGER
`
`RETRIEVE DEFAULT
`MESH FROM THEME
`MANAGER |
`
`N
`
`
`
`DERIVE TEXTURE FROM
`REDIRECTION BUFFER
`
`FROM LEGACY WINDOW
`
`
`
`- MANAGER
`
`
`
`RECEIVECONTENT
`INITIAL UPDATE
`REQUEST FROM
`APPLICATION
`
`
`
`Y
`
`
`
`att
`
`413
`
`415
`
`407
`
`409
`
`("REMOVE LEGACY
`FRAMEAND BORDER
`AREAS
`
`Y
`
`RETRIEVE DEFAULT)
`MATERIAL PROPERTIES
`FROM THEME MANAGER
`
`fe-n
`
`417
`
`419
`
`
`
`
`CUSTOM
` MATERIAL PROPERIES
`
`
`SPECIFIED?
`
`
`ASSOCIATE APPLICABLE}
`TEXTURE AND MATERIAL/-
`
`PROPERTIES WITH
`APPLICABLE MESH
`
` 421
`
`SEND CONTENT UPDATE
`REQUESTTO UCE
`
`6
`
`

`

`Patent Application Publication Apr. 28, 2005 Sheet 6 of 7
`
`US 2005/0088447 Al
`
` §03—\=
`-
`. © "My Documents
`
`\
`
`iSte"Type «CateModified
`a My Pictures
`SeeType: File Folder
`
`
`
`* My Documents
`
`
`617
`
`619
`
`136s
`
`New Application
`
`603
`
`607
`
`601
`
`7
`
`

`

`Patent Application Publication Apr. 28,2005 Sheet 7 of 7
`
`US 2005/0088447 Al
`
`705¢
`‘.
`ra
`\
`:
`
`;
`
`705d
`oN
`ra
`\
`{
`
`“ft
`
`|
`—
`707
`FOBpeteirennnnnneatfeeeenecerenrrfocen
`
`nl
`
`|
`
`
`
`705b-ONiagrsecben
`
`
`8
`
`

`

`US 2005/0088447 Al
`
`Apr. 28, 2005
`
`COMPOSITING DESKTOP WINDOW MANAGER
`
`FIELD OF THE INVENTION
`
`[0001] The invention relates generally to computer graph-
`ics and computer operating systems. More specifically, the
`invention provides a 3D compositing desktop window man-
`ager, with intrinsic support for composition-agnostic legacy
`applications, for managing and rendering the desktop onto a
`single or multiple computer displays for an operating sys-
`tem.
`
`BACKGROUND OF THE INVENTION
`
`[0002] Computer operating systems typically have a shell
`that provides a graphical user interface (GUI) to an end-user.
`The shell consists of one or a combination of software
`
`components that provide direct communication between the
`user and the operating system. The graphical user interface
`typically provides a graphical icon-oriented and/or menu
`driven environmentfor the user to interact with the operat-
`ing system, and is often based on a desktop metaphor. More
`specifically, the graphical user interface is designed to model
`the real world activity of working at a desk. The desktop
`environmenttypically occupies the entire surface of a single
`display device, or may span multiple display devices, and
`hosts subordinate user interface objects such as icons,
`menus, cursors and windows.
`
`rendering enhancements on the desktop, visually rich con-
`tent is possible within certain application programs running
`windowedorfull screen within the graphical user interfaces
`of Windows® brand operating systems and like operating
`system shells. The types of application programsthat present
`such content are video games with real time 3D animation
`and effects, advanced graphical authoring tools such as ray
`tracers and advanced 2D and 3D publishing applications.
`Since the visual output of these programsis eitherrestricted
`to the content area ofits application window(s) or rendered
`full-screen to the exclusion of other windows and the
`
`desktop itself, the rich graphical output of the application
`program in no way contributes to the presentation of the
`desktop environment.
`
`[0005] Computer operating systems employ a software
`layer responsible for managing userinterface objects such as
`icons, menus, cursors, windows and desktops; arbitrating
`events from input devices such as the mouse and keyboard;
`and providing user interface services to software applica-
`tions. This software layer may bereferred to as the Desktop
`Window Manager (DWM). Therenderinglogic, input event
`routing, and application programming interfaces (APIs) of
`the Desktop Window Manager (DWM)collectively embody
`user interface policy, which in turn defines the overall user
`experience of the operating system. A primary reason for the
`lack of rich, visual desktops up to the present has been the
`methods with which DWMs manageand renderthe desktop.
`Prior DWM implementations employ an “invalidation”
`modelfor rendering the desktop that evolved primarily from
`the need to conserve video and system memory resources as
`well as CPU and GPU bandwidth.
`
`[0003] Amongthe types of rendered objects hosted by the
`desktop environment are visually delineated areas of the
`screen known as windows. A windowis typically dedicated
`to a unique user activity, and is created and managed by
`In the invalidation model, when a window is
`[0006]
`either a third party software application or a system appli-
`resized or moved, or when an application wishes to redraw
`cation. Each window behaves and displays its content inde-
`all or part of a window,the affected portion of the display is
`pendently as if it were a virtual display device undercontrol
`
`“invalidated”. The DWM_internally invalidates areas
`of its particular application program. Windowscantypically
`affected by a window size or move, whereas an application
`be interactively resized, moved around the display, and
`attempting a redraw all or a portion of its own window
`arranged in stacked order so as to fully or partially overlap
`instructs the operating system, via an AFI, to invalidate the
`one another. In some windowing environments, a window
`can assume discreet visual or behavioral states, such as
`specified area of its window. In either case,
`the DWM
`processes the invalidation request by determining the subset
`minimized in size to an icon or maximizedin size to occupy
`of the requested region that is in actual need of an on-screen
`the entire display surface. The collection of desktop win-
`update. The DWMtypically accomplishesthis by consulting
`dows are commonly assigned a top to bottom order in which
`a maintained list of intersecting regions associated with the
`they are displayed, knownin the art as the Z-order, whereby
`target window, other windowsoverlying the target, clipping
`any window overlies all other windows lower than itself
`regions associated with the affected windows,andthe visible
`with respect to Z-order occupying the same projected posi-
`boundaries of the display. The DWM subsequently sends
`tion onthe screen. A single, selected window hasthe “focus”
`each affected application a paint message specifying the
`at any given time, and is receptive to the user’s input. The
`region in need of an update in a proscribed top-to-bottom
`user can direct input focus to another window byclicking the
`order. Applications can chooseto either honor or ignore the
`window with a mouseor other pointer device, or by employ-
`specified region. Any painting performed by an application
`ing, a system-defined keyboard shortcut or key combination.
`outside the local update region is automatically clipped by
`This allows the user to workefficiently with multiple appli-
`the DWM usingservices provided by a lower. level graphi-
`cation programs,files and documents in a mannersimilar to
`cal rendering engine such as the Graphics Device Interface
`the real world scenario of managing paper documents and
`(GDI).
`other items which can bearbitrarily stacked or arranged on
`a physical desktop.
`
`[0004] A drawback to manyprior graphical user interface
`desktop implementationsis their limited capacity to present
`visually rich content or exploit enhancements in graphical
`rendering technology. Such enhancementsincludereal-time
`rendering of physically modeled (lit, shaded, textured, trans-
`parent,reflecting, and refracting) two and three-dimensional
`content and smooth, high-performance animations. In con-
`trast to the limited services available for utilizing graphical
`
`[0007] An advantageof the invalidation-messaging model
`is conservation of display memory. Thatis, an invalidation
`based DWM only needs to maintain enough buffer memory
`to draw a single desktop, without “remembering” what
`might be underneath presently displayed content. However,
`because windowsonthe desktop are rendered in a top-down
`order, features such as non-rectangular windowsand rich 2D
`animations via GDI
`require CPU intensive calculations
`involving complex regions and/or extensive sampling of the
`
`9
`
`

`

`US 2005/0088447 Al
`
`Apr. 28, 2005
`
`display surface (thereby limiting the potential for graphics
`hardware-based acceleration), whereas other features such
`as transparency, shadows, 3D graphics and advanced light-
`ing effects are extremely difficult and very resource inten-
`sive.
`
`[0008] By way of example, the Microsoft Windows® XP
`window manager, historically known as USER, has served
`as the dominant component of the graphical user interface
`subsystem (now known as Win32) since the advent of the
`Windows® brand operating system. USER employs the
`2-dimensional Graphics Device Interface (GDI) graphic
`rendering engine to render the display. GDI is the other
`major subcomponent of Win32, and is based on rendering
`technology present in the original Windows® brand oper-
`ating system. USER renders each window to the display
`using an invalidation-messaging model in concert with GDI
`clipping regions and 2D drawing primitives. A primary
`activity of USER in rendering the desktop involves the
`identification of regions of the display in need of visual
`update, and informing applications of the need and location
`to draw, as per the invalidation model of desktop rendering.
`
`[0009] The next development in desktop rendering is a
`bottom-to-top rendering approach referred to as desktop
`compositing. In a compositing DWM, or CDWM, the desk-
`top is drawn from the bottom layer up to the top layer. That
`is, the desktop backgroundis drawnfirst, followed by icons,
`folders, and contentsitting directly on the desktop, followed
`by the folder(s) up one level, and so forth. By rendering the
`desktop from the bottom up, eachiterative layer can baseits
`content on the layer below it. However, desktop compositing
`is a Memory intensive process because the CDWM main-
`tains in memory a copy of each item drawnto the desktop.
`Prior to recent market changes and manufacturing tech-
`niques that have made advanced video hardware and com-
`puter memoryfar moreaffordable, only commercial, expen-
`sive, high-end computing systems have been able to
`implement compositing engines, such as for preparing spe-
`cial effects for movies.
`
`in a compositing environment. This is because the core
`rendering logic of the legacy application is based on the
`operating system’s invalidation-model DWM APIs. Thatis,
`rather than render window contentin direct response to user
`interaction or changes in internal state, the legacy applica-
`tion will draw only upon receiving of a paint message
`generated either by the operating system or its own invali-
`dation request. The most difficult remedy consists of devis-
`ing a means by with the compositing DWM surrogates the
`legacy GUI platform on behalf of the application. The
`simpler alternatives consist of excluding the application
`from the composited desktop environment (an approach
`known in the art as “sand boxing”), or simply abandoning
`legacy application compatibility altogether.
`
`[0012] Thus, it would be an advancement in the art to
`provide a rich, full featured operating system that renders a
`desktop using a compositing model, and to provide a desk-
`top window managerthat can take advantage of advanced
`graphics hardware. It would be a further advancementin the
`art to provide a desktop that uses advanced textures, light-
`ing, and 3D transformations, yet supports legacy applica-
`tions originally written for use in an invalidation-modeled
`desktop manager.
`
`BRIEF SUMMARY OF THE INVENTION
`
`[0013] The following presents a simplified summaryof the
`invention in order to provide a basic understanding of some
`aspects of the invention. This summary is not an extensive
`overview of the invention. It is not intended to identify key
`or critical elements of the invention orto delineate the scope
`of the invention. The following summary merely presents
`some concepts of the invention in a simplified form as a
`prelude to the more detailed description provided below.
`
`[0014] To overcome limitations in the prior art described
`above, and to overcomeotherlimitations that will be appar-
`ent upon reading and understanding the present specifica-
`tion,
`the present
`invention is directed to a composited
`desktop providing advanced graphics and rendering capa-
`bilities.
`
`[0010] The evolution of mid- and lower-end computer
`video hardware has been driven in large part by the graphical
`[0015]Afirst illustrative aspect of the invention provides
`services available in popular operating systems. However,
`software and a computer implemented methodfor rendering
`the graphical services available in popular operating systems
`a desktop window in an operating system where, when a
`have not significantly advanced for a variely of reasons,
`compositing desktop window manager (CDWM) manages
`including the need to maintain compatibility with older
`an application-rendered memory surface comprising win-
`application software and the limited capabilities of the
`dow content, the CDWM usesthis pre-rendered surface to
`affordable range of video hardware. More recently, however,
`display the content along with that of other windowson the
`real-time 3D computer games have overtaken operating
`composited display. Specifically, the CDWMusesthe redi-
`systems as the primary market incentive for evolving retail
`rected display surface for a window,or a portion thereof, as
`video hardware, which has in a short
`time attained an
`a texture applied to a 2D or 3D meshprimitive, which is in
`exceptional level of sophistication. Real time, hardware-
`based 3D acceleration is now available to consumers at
`turn forwarded to the low-level graphics engine for render-
`ing. This illustration includes the rendering of a 3D window
`frame backing the application-generated content portion of
`the window. The composited window frame consists of
`separate texture(s) mapped to a separate, resizable 3D mesh
`primitive, which is forwarded to the graphics rendering
`engine together with optional parameters to a pixel shader
`routine that the CDWM mayhavepreviously loaded into the
`graphics display device,
`to produce the appearance of a
`frosted glass slab backed by a drop shadow. Additional
`illustrative aspects of the invention provide for
`legacy
`support for applications designed for use with invalidation-
`model desktop window managers.
`
`reasonable cost. Thus, graphics hardware features once
`considered highly advanced,. such as accelerated texture and
`lighting algorithms, 3D transformations and the ability to
`directly program the GPUare readily available. At present,
`generally only game software and highly specialized graph-
`ics applications actively exploit such features, and in order
`to do so they must bypass the legacy Win32 window
`manager (USER) and GDI.
`
`{0011] Another obstacle in implementing a compositing
`desktop model is that legacy applications written for use
`with an invalidation model DWM will not function property
`
`10
`
`10
`
`

`

`US 2005/0088447 Al
`
`Apr. 28, 2005
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0016] A more complete understanding of the present
`invention and the advantages thereof may be acquired by
`referring to the following description in consideration of the
`accompanying drawings, in which like reference numbers
`indicate like features, and wherein:
`
`{0017] FIG. 1A illustrates an operating environmentthat
`may be used for one or more aspects of an illustrative
`embodimentof the invention.
`
`FIG.1Billustrates the distribution of function and
`[0018]
`services among components in an illustrative embodiment of
`a composited desktop platform.
`
`FIG.2 illustrates a compositing method according
`[0019]
`to an illustrative aspect of the invention.
`
`FIG.3 illustrates a window accordingto anillus-
`[0020]
`trative aspect of the invention.
`
`FIG.4 illustrates a portion of a window compos-
`{0021]
`iting method according to an illustrative aspect of the
`invention.
`
`FIG.5 illustrates a frosted glass framed window
`[0022]
`rendered accordingto an illustrative aspect of the invention.
`
`FIG.6 illustrates a window with a dynamic win-
`[0023]
`dow anatomy.
`
`[0024]
`ing.
`
`FIG.7 illustrates regions used during meshresiz-
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`In the following description of the various embodi-
`[0025]
`ments, reference is made to the accompanying drawings,
`which form a part hereof, and in which is shown by way of
`illustration various embodiments in which the invention
`
`may be practiced. It is to be understood that other embodi-
`ments may be utilized and structural and functional modi-
`fications may be made without departing from the scope and
`spirit of the present invention.
`
`[0026] The present invention provides a desktop window
`manager (DWM)that uses desktop compositing as its pre-
`ferred rendering model. The inventive desktop window
`manager is referred to herein as a Compositing Desktop
`Window Manager (CDWM). The CDWM,together with the
`composition subsystem, referred to as the Unified Compos-
`iting Engine (UCE), provides 3D graphics and animation,
`shadows, transparency, advanced lighting techniques and
`other rich visual features on the desktop. The compositing
`rendering model used herein intrinsically eliminates the
`invalidation step in rendering and minimizes or eliminates
`the need to transmit paint and other notification messages
`because the system retains sufficient state information to
`render each window as required.
`
`[0027]
`
`Illustrative Operating Environment
`
`FIG.1 illustrates an example of a suitable com-
`[0028]
`puting system environment 100 in which the invention may
`be implemented. The computing system environment 100 is
`only one example of a suitable computing environment and
`is not intended to suggest any limitation as to the scope of
`use or functionality of the invention. Neither should the
`computing environment 100 be interpreted as having any
`
`dependencyor requirementrelating to any one or combina-
`tion of components illustrated in the exemplary operating
`environment 100.
`
`[0029] The invention is operational with numerous other
`general purpose or special purpose computing system envi-
`ronments or configurations. Examples of well known com-
`puting systems, environments, and/or configurations that
`may be suitable for use with the invention include, but are
`not limited to, personal computers; server computers; por-
`table and hand-held devices such as personal digital assis-
`tants (PDAs),
`tablet PCs or laptop PCs; multiprocessor
`systems; microprocessor-based systems; set top boxes; pro-
`grammable consumerelectronics; network PCs; minicom-
`puters; mainframe computers; distributed computing envi-
`ronments that include any of the above systems or devices;
`and the like.
`
`[0030] The invention may be described in the general
`context of computer-executable instructions, such as pro-
`gram modules, being executed by a computer. Generally,
`program modules include routines, programs, objects, com-
`ponents, data structures, etc. that perform particular tasks or
`implementparticular abstract data types. The invention may
`also be practiced in distributed computing environments
`wheretasks are performed by remote processing devicesthat
`are linked through a communications network.In a distrib-
`uted computing environment, program modules may be
`located in both local and remote computer storage media
`including memory storage devices.
`
`[0031] With reference to FIG.1, anillustrative system for
`implementing the invention includes a general purpose
`computing device in the form of a computer 110. Compo-
`nents of computer 110 may include, but are not limited to,
`a processing unit 120, a system memory 130, and a system
`bus 121 that couples various system components including
`the system memory to the processing unit 120. The system
`bus 121 may be any of several types of bus structures
`including a memory bus or memory controller, a peripheral
`bus, and a local bus using any of a variety of bus architec-
`tures. By way of example, and notlimitation, such archi-
`tectures include Industry Standard Architecture (ISA) bus,
`Micro Channel Architecture (MCA) bus, Enhanced ISA
`(EISA) bus, Video Electronics Standards Association
`(VESA)local bus, Advanced Graphics Port (AGP) bus, and
`Peripheral ComponentInterconnect (PCT) bus also knownas
`Mezzanine bus.
`
`[0032] Computer 110 typically includes a variety of com-
`puter readable media. Computer readable media can be any
`available media that can be accessed by computer 110 and
`includes both volatile and nonvolatile media, removable and
`non-removable media. By way of example, and not limita-
`tion, computer readable media may comprise computer
`storage media and communication media. Computer storage
`media includes both volatile and nonvolatile, removable and
`non-removable media implemented in any method or tech-
`nology for storage of information such as computer readable
`instructions, data structures, program modulesor other data.
`Computer storage media includes, but is not limited to,
`RAM, ROM, EEPROM,flash memory or other memory
`technology, CD-ROM,digital versatile disks (DVD)or other
`optical disk storage, magnetic cassettes, magnetic tape,
`magnetic disk storage or other magnetic storage devices, or
`any other medium which can be used to store the desired
`
`11
`
`11
`
`

`

`US 2005/0088447 Al
`
`Apr. 28, 2005
`
`information and which can accessed by computer 110.
`Communication media typically embodies computer read-
`able instructions, data structures, program modules or other
`data in a modulated data signal such as a carrier wave or
`other transport mechanism and includes any information
`delivery media. The term “modulated data signal” means a
`signal that has one or more of its characteristics set or
`changed in such a manner as to encode information in the
`signal. By way of example, and not limitation, communi-
`cation media includes wired media such as a wired network
`or direct-wired connection, and wireless media such as
`acoustic, RF, infrared and other wireless media. Combina-
`tions of the any of the above should also be included within
`the scope of computer readable media.
`
`[0033] The system memory 130 includes computerstor-
`age media in the form of volatile and/or nonvolatile memory
`such as read only memory (ROM) 131 and random access
`memory (RAM) 132. A basic input/output system 133
`(BIOS), containing the basic routines that help to transfer
`information between elements within computer 110, such as
`during start-up, is typically stored in ROM 131. RAM 132
`typically contains data and/or program modules that are
`immediately accessible to and/or presently being operated
`on by processing unit 120. By way of example, and not
`limitation, FIG. 1 illustrates operating system 134, applica-
`tion programs 135, other program modules 136, and pro-
`gram data 137.
`
`[0034] The computer 110 may also include other remov-
`able/non-removable, volatile/nonvolatile computer storage
`media. By way of example only, FIG. 1 illustrates a hard
`disk drive 141 that reads from or writes to non-removable,
`nonvolatile magnetic media, a magnetic disk drive 151 that
`reads from or writes to a removable, nonvolatile magnetic
`disk 152, and an optical disk drive 155 that reads from or
`writes to a removable, nonvolatile optical disk 156 such as
`a CD ROMorother optical media. Other removable/non-
`removable, volatile/nonvolatile computer storage media that
`can be used in the exemplary operating environment
`include, but are not limited to, magnetic tape cassettes, flash
`memory cards, digital versatile disks, digital video tape,
`solid state RAM,solid state ROM,and the like. The hard
`disk drive 141 is typically connected to the system bus 121
`through an non-removable memory interface such as inter-
`face 140, and magnetic disk drive 151 and optical disk drive
`155 are typically connected to the system bus 121 by a
`removable memoryinterface, such as interface 150.
`
`[0035] The drives and their associated computer storage
`media discussed above andillustrated in FIG. 1, provide
`storage of computer readable instructions, data structures,
`program modules and other data for the computer 110. In
`FIG. 1, for example, hard disk drive 141 is illustrated as
`storing operating system 144, application programs 145,
`other program modules 146, and program data 147. Note
`that these components can either be the sameas or different
`from operating system 134, application programs 135, other
`program modules 136, and program data 137. Operating
`system 144, application programs 145, other program mod-
`ules 146, and program data 147 are given different numbers
`here to illustrate that, at a minimum,
`they are different
`copies. Auser may enter commandsand information into the
`computer 110 through input devices such as a keyboard 162
`and pointing device 161, commonlyreferred to as a mouse,
`trackball or touch pad. Other input devices (not shown) may
`
`include a microphone, joystick, game pad, satellite dish,
`scanner, or the like. These and other input devices are often
`connected to the processing unit 120 through a user input
`interface 160 that is coupled to the system bus, but may be
`connected by other interface and busstructures, such as a
`parallel port, game port or a universal serial bus (USB). A
`monitor 184 or other type of display device is also connected
`to the system bus 121 via an interface, such as a video
`interface 183. Computer 110 may also include a digitizer
`185 for use in conjunction with monitor 184 to allow a user
`to provide input using a stylus input device 186. In addition
`to the monitor, computers may also include other peripheral
`output devices such as speakers 189 and printer 188, which
`may be connected through an output peripheral interface
`187.
`
`[0036] The computer 110 may operate in a networked
`environment using logical connections to one or more
`remote computers, such as a remote computer 180. The
`remote computer 180 may be a personal computer, a server,
`a router, a network PC, a peer device or other common
`network node, and typically includes many or all of the
`elements described above relative to the computer 110,
`although only a memory storage device 181 has been
`illustrated in FIG. 1. The logical connections depicted in
`FIG.1 include a local area network (LAN) 171 and a wide
`area network (WAN) 173, but may also include other
`networks. Such networking environments are commonplace
`in offices, enterprise-wide computer networks, intranets and
`the Internet.
`
`[0037] When used in a LAN networking environment, the
`computer 110 is connected to the LAN 171 through a
`network interface or adapter 170. When used in a WAN
`networking environment,
`the
`computer 110 typically
`includes a modem 172 or other means for establishing
`communications over the WAN 173, such as the Internet.
`The modem 172, which may beinternal or external, may be
`connected to the system bus 121 via the user inputinterface
`160, or other appropriate mechanism. In a networked envi-
`ronment, program modules depicted relative to the computer
`110, or portions thereof, may be stored in the remote
`memory storage device. By way of example, and not limi-
`tation, FIG.1 illustrates remote application programs 182 as
`residing on memory device 181. It will be appreciated that
`the network connections shown are exemplary and other
`meansof establishing a communications link between the
`computers may be used.
`
`[0038]
`
`Illustrative Embodiments
`
`[0039] The invention may use a compositing desktop
`window manager (CDWM)to draw and maintain the desk-
`top display using a composited desktop model, 1.e., a bot-
`tom-to-top rendering methodology. The CDWM may main-
`tain content in a buffer memory area for future reference.
`The CDWM composesthe desktop by drawing the desktop
`from the bottom up, beginning with the desktop background
`and proceeding through overlapping windowsin reverse Z
`order. While composing the desktop, the CDWM may draw
`each window based in part on the content on top of which
`the window is being drawn, and based in part on other
`environmental factors (e.g., light source, reflective proper-
`ties, etc.). For example,
`the CDWM may use the alpha
`channel of an ARGBformattexture to provide transparency
`
`12
`
`12
`
`

`

`US 2005/0088447 Al
`
`Apr. 28, 2005
`
`to a window, and may selectively emphasize portions of
`window content (e.g., the frame) based on a virtual light
`source.
`
`[0040] The CDWM mayreside as part of the operating
`system 134, 144, or may reside independently of the oper-
`ating system, e.g., in other program modules 136, 146. In
`addition, the CDWM may rely upon a lower level graphics
`c

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