CN102084329A - 用于图形用户界面呈现的事务处理加倍缓冲 - Google Patents

用于图形用户界面呈现的事务处理加倍缓冲 Download PDF

Info

Publication number
CN102084329A
CN102084329A CN2009801243811A CN200980124381A CN102084329A CN 102084329 A CN102084329 A CN 102084329A CN 2009801243811 A CN2009801243811 A CN 2009801243811A CN 200980124381 A CN200980124381 A CN 200980124381A CN 102084329 A CN102084329 A CN 102084329A
Authority
CN
China
Prior art keywords
user interface
institute
requested operation
affairs
windows
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801243811A
Other languages
English (en)
Other versions
CN102084329B (zh
Inventor
I·扎伊卡
A·福米乔夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102084329A publication Critical patent/CN102084329A/zh
Application granted granted Critical
Publication of CN102084329B publication Critical patent/CN102084329B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

此处描述了用于在图形界面的呈现、或重新绘制期间改进用户体验的技术。可以响应于所请求的用户操作启动用户界面相关事务。可以标识与所请求的操作相关联的一个或多个窗口。可以加倍缓冲与一个或多个所标识的窗口相关联的用户界面更新。可以检测所请求的操作的完成。可以响应于检测所请求的操作的完成终止事务。在终止事务之后,可以将加倍缓冲的用户界面更新提交给计算机显示器。

Description

用于图形用户界面呈现的事务处理加倍缓冲
背景
典型的图形软件应用程序涉及用户界面(UI)或图形用户界面(GUI)。这些软件应用程序的示例是在来自微软公司的MICROSOFT WINDOWS
Figure BPA00001280193600011
操作系统中运行或与其结合运行的那些软件应用程序。更具体地,示例可以包括来自微软公司的MICROSOFT OFFICE
Figure BPA00001280193600012
办公自动化软件、来自微软公司的OUTLOOK
Figure BPA00001280193600013
个人信息管理软件、以及来自微软公司的MICROSOFT WORD文字处理软件。
图形软件应用程序的GUI通常由多个元素组成。这些元素可以包括各种控件、视图、菜单、工具栏、指示符、或任何数量的其他UI元素。给定应用程序的整个显示空间往往被称为应用软件的窗口,而各种UI元素本身可以被认为是应用程序显示中的窗口。在软件实现级,这些各种UI元素或窗口可以作为指向窗口的指针或窗口句柄来引用。为了显示应用程序的所有UI元素,应用程序的显示中所有相关联的窗口被单独地描绘、呈现或绘制。这一般通过发送“绘制”消息或信号到每个窗口、或类似地通过调用与应用程序显示空间内的每个窗口相关联的窗口对象的绘制方法来完成。
当应用程序启动或执行涉及重新绘制组件窗口的操作时,随着每个组件窗口以看起来随机的次序进行具有各种延迟的重新绘制,用户可能经历部分或不完整的应用程序呈现。何时可发生这一情况的一个示例是当通过网络加载文件或资源时,将花费未定时间量。其他示例涉及初始应用程序启动,或切换应用程序视图后,其中进行大量显示组件的重新计算。
看起来随机的延迟和UI组件更新的排序对用户而言会是分心或混乱的。如果遇到长延迟,例如与网络负载相关联的长延迟,用户可能在延长的一段时间段面临部分绘制的窗口。这可以使用户变得担心故障已经发生。这担心可能因缺乏明显、安全的机制供用户异常中止该操作而变得复杂。
此处所做出的本发明正是对于这些和其他考虑事项而提出的。
概述
此处描述了用于在图形界面的呈现、或重新绘制期间改进用户体验的技术。具体地,描述了用于建立用户界面相关事务的技术,在该事务期间可以加倍缓冲图形用户界面呈现。延长的或延迟的屏幕更新可以在屏幕外执行、或在临时不可见的屏幕层执行直到完成。在完成后,更新可以立即被绘制到屏幕。这可以得到具有改进的平滑度和响应性的用户体验。图形屏幕更新可以被不同地称为呈现、绘制、重新绘制、描绘等等。
根据此处所呈现的一个方面,可以响应于用户动作启动图形用户界面的事务处理绘制或重新绘制。当特定用户动作可能花费延长的或未定的时间量时,可以建立事务。在该事务期间,用户界面呈现可以被加倍缓冲直到完成所请求的动作。动作的完成可以绑定到应用程序中的UI状态更新,确认各种必要的屏幕绘制操作已经终止。在完成所请求的动作后,加倍缓冲的屏幕更新可以一致地提交给显示屏幕,以使得对用户而言看起来接近瞬时。事务处理缓冲的完成可以响应于所请求的动作的完成来自动发生。
根据此处所呈现的另一个方面,屏幕更新的加倍缓冲可以跨与应用程序相关联的多个GUI元素或窗口来执行。单个组件窗口、或UI元素可以被加倍缓冲至单个缓冲区。同样,多个UI元素可以被个别地缓冲。然而,通过将与应用程序相关联的多个UI元素加倍缓冲到一公共加倍缓冲区供呈现,可以提供额外的效率和性能。
根据此处所呈现的又一个方面,还可以通过绘制到设定为全透明的屏幕层来支持加倍缓冲。屏幕外缓冲区或透明层中的任一个或两者可以用于提供GUI显示的加倍缓冲。
根据此处所呈现的又一个方面,可以向用户提供关于开始事务的所请求的动作的进度或状态的反馈。例如,通过网络打开文档可能花费延长的时间量。在该时间期间,当呈现他们所打开的文件因网络操作而延迟时,可以向用户提供进度信息。进度可以显示在启动画面(splash screen)上,该启动画面可以甚至在实际应用程序显示当前被加倍缓冲在屏幕之外或在透明层上时呈现。启动画面还可以包括取消UI,以便向用户提供异常中止操作的安全方式。例如,如果用户不希望继续等待完成,或者如果用户认识到在启动事务时他们出了错误。启动画面、进度指示符、取消UI、以及相关操作可以在与事务处理动作本身不同的单独线程或其他并行操作中执行。这样的线程处理可以支持响应性非常好的启动画面,即使事务处理动作仍然在进行中。
应当理解,上述主题也可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图简述
图1是示出根据此处所呈现的实施例的各方面的用于加倍缓冲图形用户界面的机制以及启动画面显示的功能框图;
图2是示出根据此处所呈现的实施例的各方面的用于改进图形用户界面的呈现的过程的各方面的逻辑流程图;
图3是示出根据此处所呈现的实施例的各方面的用于在图形用户界面呈现期间进行事务处理加倍缓冲的过程的各方面的逻辑流程图;
图4是示出根据此处所呈现的实施例的各方面的用于支持图形用户界面中的启动画面的过程的各方面的逻辑流程图;以及
图5是示出能够实现此处所呈现的实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。
详细描述
具体地,以下详细描述涉及用于建立用户界面相关事务的技术,在该事务期间图形用户界面呈现可以被加倍缓冲。通过使用此处提出的技术和概念,延长或延迟的屏幕更新可以在屏幕外执行、或是在临时不可见的屏幕层执行直到完成。在完成后,更新可以作为单个操作来显示到可见屏幕。这可以得到具有改进的响应性和平滑的一致性的用户体验。
尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中呈现了此处描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施此处描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在下面的详细描述中,将参考构成本发明的一部分的附图,并且在附图中作为说明示出了各具体实施例或示例。现在参考附图,全部若干附图中相同的标号表示相同的元素,将描述用于建立用户界面相关事务的计算系统和方法的各方面,在该事务期间图形用户界面呈现可以被加倍缓冲。
现在转向图1,示出根据此处所呈现的实施例的各方面的用于加倍缓冲图形用户界面的系统100以及启动画面160显示的功能框图。具体地,与软件应用程序110相关联的图形用户界面可以呈现在计算机显示器190上。当用户发起的动作可涉及延长的延迟或未定的时间量时,在用户界面各部分的重新绘制之间可引入延迟。这可提供延长的部分显示、急动呈现或不一致显示的用户体验。当加载应用程序时、当通过网络加载资源时、当视图变化需要重新计算显示元素时、或在其他若干这样的情况下,可引入延长的延迟。
事务处理加倍缓冲可以支持较平滑的图形用户界面。屏幕外呈现缓冲区130可以由加倍缓冲管理器120来提供。表示控件、菜单、工具栏、窗口、以及与应用程序110相关联的其他用户界面组件的各种组件窗口可被绘制或更新至呈现缓冲区130,以使得潜在的交错、不完整、或急动显示更新对用户不可见。一旦UI更新完成,呈现缓冲区130可以在单个操作中推入计算机显示器190。这样做可允许屏幕更新看起来接近瞬时。更新可由加倍缓冲管理器120来处理。加倍缓冲管理器120可在请求时将呈现缓冲区130中的更新提交给显示器190。加倍缓冲管理器130可以是应用程序软件110的一部分,或者可以被操作系统、图形子系统、或屏幕管理器支持。
用于加倍缓冲的另一机制可以使用透明分层窗口140。当应用程序组件不能被修改为将更新呈现到屏幕外呈现缓冲区130时,可以使用透明分层窗口140方法。当没有可用的源代码时,当是诸如ACTIVE X
Figure BPA00001280193600051
控件等外部供应的库或组件时,或者当时间、预算或传统问题阻止代码修改时,应用程序组件可以阻止修改。
可以向GUI组件提供透明分层窗口140,GUI组件可以将其图形更新绘制到该透明分层窗口140。分层窗口可以使用被配置成完全透明度的图形层,使得潜在的交错、急动、或延迟的屏幕更新对用户不可见。当屏幕更新完成并且UI状态已经更新时,透明度可以被改变为完全不透明。进而可以在单个操作中使分层窗口140对用户可见,使得更新看起来接近瞬时。
屏幕外呈现缓冲区130与透明分层窗口140之一或两者相结合可以用于提供与应用程序软件110相关联的GUI的加倍缓冲。一旦更新完成,由加倍缓冲管理器120存储或与呈现缓冲区130相关联的显示位可以被推入分层窗口140。透明度可被设置成完全不透明,并且可使各种UI更新作为单个操作一致地对用户可见。
用户界面相关事务可以用于控制收集在一起用于加倍缓冲的一组UI更新。给定事务中的该组UI更新通常与可引入延迟的特定用户动作相关联,诸如最初打开应用程序、通过网络加载文件、改变应用程序中的UI视图、或其他这样的操作。在事务期间,用户界面呈现可以被加倍缓冲直到完成所请求的动作。
如果可能招致延长的或未知的事务时间,可以向用户呈现启动画面160。由于GUI可更新到加倍缓冲机制,诸如屏幕外呈现缓冲区130或透明分层窗口140,若不是有启动画面160的呈现,用户可能没有屏幕更新。启动画面160可以由启动画面线程150支持。启动画面线程150可以是应用程序软件110的部分。启动画面线程150可作为与和事务处理用户动作相关的应用程序软件110组件分离的不同线程、进程、或其他并行化机制来执行。将与启动画面160相关的操作分离到启动画面线程150可以允许启动画面160以响应和交互的方式被更新和处理,即使当事务处理操作正在进行并且可能被延迟。
启动画面线程150所支持的启动画面160可以向用户提供一个或多个进度指示符。进度指示符可以向用户提供有关正在执行的动作的信息、以及相关联的延迟可能约有多久。进度指示符的一个示例是可示出正在执行的动作的进度百分比的进度条170。
启动画面线程150所支持的启动画面160可以向用户提供取消UI。例如,取消按钮180可以被定位在启动画面160上。这样的取消机制可以向用户提供异常中止事务处理操作的安全方式。例如,用户可能不希望继续等待所请求的动作的完成。类似地,用户可能认识到事务的启动有错误。在诸如这样的情况下,启动画面160上提供的取消UI可以由用户操作。
现在参考图2,将根据此处所呈现的实施例的各方面,提供关于此处所提出的用于对图形用户界面进行加倍缓冲同时提供启动画面显示的各实施例的附加细节。具体地,图2是示出用于改进图形用户界面的呈现的例程200的各方面的流程图。
应理解,此处所述的逻辑操作可以被实现为(1)一系列计算机实现的动作或运行于计算系统上的程序模块,和/或(2)计算系统内的互连的机器逻辑电路或电路模块。取决于计算系统的性能及其他要求,可以选择不同的实现。因此,此处描述的逻辑操作被不同地称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑以及它们的任何组合来实现。还应该明白,可以执行比附图中示出并在此处描述的操作更多或更少的操作。这些操作还可以按顺序、并行、或与此处所描述的不同的次序来执行。
例程200在操作210处开始,其中可以检测用户所请求的动作。判定操作220可以确定对所请求的动作进行事务处理。一般而言,如果动作可能引入延长的延迟或未知的延迟,则可以对该动作进行事务处理。例如,可以对应用程序的启动进行事务处理,尤其是在应用程序启动期间打开文档的时候。通过网络加载文件或访问资源的动作、以及涉及应用程序视图变化的动作是可进行事务处理的动作的其他示例。尽管不必对可以非常迅速地完成的动作进行事务处理,但可以对这样的动作进行事务处理而没有显著影响。
如果操作220确定不对动作进行事务处理,例程200可以继续至操作230,其中可以执行所请求的动作而不使用事务处理加倍缓冲的GUI。然而,如果操作220确定对动作进行事务处理,则例程200可以继续并行地开始两个操作。这两个操作可以被表示为用事务处理加倍缓冲的GUI来执行所请求的动作的例程300,以及其中可以启动启动画面线程的例程400。与例程300和例程400相关的附加细节在以下参考图3和图4提供。
例程300可以向例程400提供进度信号,用于更新与启动画面160相关联的状态指示符,诸如进度条170。而且,例程300可以向例程400提供完成信号,用于通知与所请求的动作相关联的事务的完成。例程200可以在从例程300返回之后或在操作230之后终止,取决于例程200采取的路径。
现在参考图3,将根据此处所呈现的实施例的各方面,提供关于此处所提出的用于对图形用户界面进行加倍缓冲同时提供启动画面显示的各实施例的附加细节。具体地,图3是示出用于在图形用户界面呈现期间进行事务处理加倍缓冲的例程300的各方面的流程图。
例程300在操作310处开始,其中可以启动事务。用户界面相关事务可以用于控制可一起收集在加倍缓冲中的一组UI更新。启动事务可以标记要加倍缓冲的该组UI更新的开始。
在操作315处,可以提供呈现缓冲区130。一般而言,呈现缓冲区130作为屏幕外缓冲区来提供,用于向其描绘UI更新而不让它们可见。呈现缓冲区130可以由加倍缓冲管理器120来提供。在操作320处,可以提供透明层窗口140。透明分层窗口140也可以由加倍缓冲管理器120来提供。透明分层窗口140类似于屏幕外呈现缓冲区130,因为可向其进行描绘而对用户不可见。然而,透明分层窗口140可以实际上位于显示空间中,且它的透明度设定为完全透明使之不可见。
在操作322处,窗口可以被标识为与所请求的动作相关联。各种窗口可以对应于应用程序软件110在执行所请求的动作时所使用的GUI的组件。这些GUI组件窗口可以包括控件、菜单、视图、工具栏、或组成GUI的其他窗口。
在操作325处,可以在执行所请求的动作时支持对呈现缓冲区130的绘制。具体地,在操作322中标识的窗口进行的绘制可以使用呈现缓冲区130。在加倍缓冲的事务期间,与被执行的操作(例如,引导应用程序、改变视图、访问文件、访问网络资源等等)有关的UI更新可以被绘制到屏幕外的呈现缓冲区130,使得它们对用户不可见。多个UI组件或窗口可以由公共呈现缓冲区130来加倍缓冲。
在操作330处,可以在适当时支持对透明分层窗口140的绘制。当UI代码不能被修改以将更新呈现给屏幕外呈现缓冲区130时,对透明分层窗口140进行加倍缓冲区UI更新可以是适当的。当没有可用的源代码时,当是诸如ACTIVE X等外部供应的库或组件时控制,或者当可能存在阻止代码修改的时间、预算或传统问题时,在操作322中标识的应用程序组件、或者窗口可以阻止修改。代替使用屏幕外呈现缓冲区130,UI可以向已被配置成完全透明的透明窗口层140做出其更新。
在操作335处,可以将进度信息提供给启动画面线程400。这样的进度信息可以支持启动画面160上的诸如进度条170等进度指示符的显示。这些状态指示符可以向用户提供有关事务在进行时的状态的信息。
在操作340处,可以检测所请求的动作的完成。例如,如果正在打开文件,则可以检测打开文件的完成。这样的检测可以部分地支持被自动终止的事务。在操作345处,可以检测用户界面状态的静止。检测已完成UI更新可以支持将事务处理动作的完成绑定到应用程序110中的UI状态更新。事务的自动终止可以部分地通过确定各种必要的重新绘制事件的完成来支持,这些重新绘制事件诸如呈现文本、启用按钮、禁用按钮等等。
在操作350处,可以发信号通知启动画面线程400事务的完成。通知启动画面线程400事务已经完成并且正在终止可以支持启动画面线程400的自动终止,并且可以停止启动画面160的显示。
在操作355处,可以将在事务期间对呈现缓冲区130已经作出的更新提交给计算机显示器190。这可以由加倍缓冲管理器120来支持。在也使用透明分层窗口140的情况下,呈现缓冲区130位的提交可以包括将来自呈现缓冲区130的更新描绘到透明分层窗口140。
在操作360处,透明分层窗口140可以转换为完全不透明。即,可以关闭分层窗口的透明度。在此单个操作中,可以使所收集的与事务相关联的UI更新几乎瞬时地对用户可见。因此,可以支持较平滑、较不混乱的用户界面呈现。在操作306后,例程300可以返回至例程200。
现在参考图4,将根据此处所呈现的实施例的各方面,提供关于此处所提出的用于对图形用户界面进行加倍缓冲同时提供启动画面显示的各实施例的附加细节。具体地,图4是示出用于支持图形用户界面中的启动画面的过程400的各方面的流程图。
例程400在操作410处开始,其中可以实例化启动画面线程150。在操作420处,启动画面线程150可以支持在事务处理用户动作在进行时显示启动画面160。启动画面线程150可以是应用程序软件110的一部分,但在与和事务处理用户动作相关联的应用程序软件110模块不同的线程、进程、或其他并行化机制中执行。这种将与启动画面160相关的操作分离到启动画面线程150中可以允许启动画面160以响应和交互的方式被更新和处理,即使当事务处理操作正在进行并且可能延迟。
在操作430处,启动画面线程150所支持的启动画面160可以向用户提供一个或多个进度指示符。进度指示符可以向用户提供有关所执行的动作的信息、以及相关联的延迟可能约有多久。进度指示符的一个示例是可示出与正在执行的动作相关联的进度百分比的进度条170。
在操作440处,启动画面线程150所支持的启动画面160可以向用户提供取消UI。例如,取消按钮180可以被定位在启动画面160上。这样的取消机制可以向用户提供异常中止事务处理操作的安全方式。例如,用户可能不希望继续等待所请求的动作的完成。类似地,用户可能认识到事务的启动有错误。在诸如这样的情况下,在启动画面160上提供的取消UI可以由用户操作。用户对取消UI的操作可以由操作450来检测。如果检测到,操作460可以将取消发信号通知应用程序。将用户取消请求发信号通知应用程序可以支持应用程序优雅地终止所请求的动作。在操作460之后,可以终止启动画面线程150,并且可以停止启动画面160的显示。
当没有请求取消时,操作470可以从例程300接收完成信号。如果例程300所支持的事务处理动作已完成,则可以通知例程400,如有关图3所示的操作350所讨论的。操作470处对此通知的检测可以支持启动画面线程150的终止以及相关联的启动画面160的关闭。
当在操作470处没有检测到完成信号时,操作480可以从例程300接收进度信号,如有关图3所示的操作335所讨论的。在操作490处,可使用在操作480中发信号通知给例程400的进度信息来更新如在操作430处提供的启动画面160上的进度指示符。在操作490之后,例程400可以循环到操作450,并且如上所述继续进行直到事务被取消或完成。
现在转向图5,说明性计算机体系结构5可以执行这里所描述的用于加倍缓冲图形用户界面同时提供启动画面显示的软件组件。如图5所示的计算机体系结构示出了常规台式计算机、膝上型计算机或服务器计算机,并且可以用来执行这里呈现的软件组件的任何方面。然而,应该了解,所描述的软件组件也可以在诸如移动设备、电视机、机顶盒、自助服务终端、车载信息系统、移动电话、嵌入式系统等等之类的其他示例计算环境上执行。
图5中所示的计算机体系结构可以包括中央处理单元10(CPU)、包括随机存取存储器14(RAM)和只读存储器16(ROM)的系统存储器13、以及可以将系统存储器13耦合到CPU 10的系统总线11。基本输入/输出系统可以存储在ROM 16中,它包含例如在启动过程中帮助在计算机5内的元件之间传输信息的基本例程。计算机5还可以包括大容量存储设备15,用于存储操作系统18、软件、数据,以及各种程序模块,如与应用程序软件110关联的那些程序模块。应用程序软件110可以执行此处描述的软件组件。
大容量存储设备15可以通过连接到总线11的大容量存储控制器(未示出)连接到CPU 10。大容量存储设备15以及其关联的计算机可读介质可以为计算机5提供非易失性存储。虽然对这里包含的计算机可读介质的描述涉及诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机5访问的任何可用计算机存储介质。
作为示例而非限制,计算机可读介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息或其他数据的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机可读介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术,CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光、或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可由计算机5访问的任何其他介质。
根据各实施例,计算机5可以使用通过诸如网络17之类的网络到远程计算机的逻辑连接来在联网环境中操作。
计算机5可以通过连接至总线11的网络接口单元19来连接到网络17。
应当理解,网络接口单元19还可以被用来连接到其他类型的网络和远程计算机系统。计算机5还可以包括用于接收和处理来自包括键盘、鼠标或电子笔(未示出)的许多其他设备的输入的输入/输出控制器12。类似地,输入/输出控制器12可以向计算机显示器190、打印机、或其他类型的输出设备(也未示出)提供输出。计算机显示器190或者可以由图形适配器或图形处理单元(也未示出)连接到总线11。
如上文简要地提及的,多个程序模块和数据文件可以存储在计算机5的大容量存储设备15和RAM 14中,包括适于控制联网的台式计算机、膝上型计算机、服务器计算机或其他计算环境的操作的操作系统18。大容量存储设备15、ROM 16,以及RAM 14还可以存储一个或多个程序模块。具体地,大容量存储设备15、ROM 16,以及RAM 14可以存储由CPU 10执行的应用程序软件110。应用程序软件110可以包括用于实现参考图1-4详细讨论的过程的软件组件。大容量存储设备15、ROM 16,以及RAM 14还可以存储其他类型的程序模块。
基于上述内容,应当理解,此处提供了用于对图形用户界面进行事务处理加倍缓冲同时提供启动画面显示的技术。虽然以计算机结构特征、方法动作、以及计算机可读介质专用的语言描述了本文呈现的主题,但是应该理解,在所附权利要求书中所限定的本发明不一定仅限于本文描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离所附权利要求书中所述的本发明的真正精神和范围。

Claims (20)

1.一种用于更新图形用户界面的方法,所述方法包括:
响应于所请求的操作启动(310)事务;
标识(322)与所请求的操作相关联的一个或多个窗口;
加倍缓冲(325)与所述一个或多个窗口相关联的用户界面更新;
检测所请求的操作的完成(340);
响应于检测所请求的操作的完成终止(350)所述事务;以及
在终止所述事务之后,将加倍缓冲的用户界面更新提交(355)给计算机显示器。
2.如权利要求1所述的方法,其特征在于,标识与所请求的操作相关联的一个或多个窗口包括标识与所述所请求的操作相关联的多个窗口。
3.如权利要求1所述的方法,其特征在于,响应于所请求的操作启动所述事务包括响应于要在延长或未知的时间量上执行的所请求的操作启动所述事务。
4.如权利要求1所述的方法,其特征在于,加倍缓冲与所述一个或多个窗口相关联的用户界面更新包括提供用于描绘用户界面更新的屏幕外呈现缓冲区。
5.如权利要求1所述的方法,其特征在于,加倍缓冲与所述一个或多个窗口相关联的用户界面更新包括提供用于描绘用户界面更新的透明分层窗口。
6.如权利要求5所述的方法,其特征在于,将加倍缓冲的用户界面更新提交给计算机显示器包括关闭与所述分层窗口相关联的透明度参数。
7.如权利要求1所述的方法,其特征在于,还包括在所述事务期间提供启动画面。
8.如权利要求7所述的方法,其特征在于,还包括提供不同的启动画面线程。
9.如权利要求1所述的方法,其特征在于,还包括在所述事务期间提供取消选项。
10.如权利要求1所述的方法,其特征在于,还包括在所述事务期间提供进度指示符。
11.一种其上存储有计算机可执行指令的计算机存储介质(15),所述指令在由计算机(5)执行时使得所述计算机:
响应于所请求的操作启动(310)事务;
标识(322)与所请求的操作相关联的一个或多个窗口;
加倍缓冲(325)与所述一个或多个窗口相关联的用户界面更新;
在所述事务期间提供(400)启动画面(160);
检测所请求的操作的完成(340);
响应于检测所请求的操作的完成终止(350)所述事务;以及
在终止所述事务之后,将加倍缓冲的用户界面更新提交(355)给计算机显示器。
12.如权利要求11所述的计算机存储介质,其特征在于,标识与所请求的操作相关联的一个或多个窗口包括标识与所请求的操作相关联的多个窗口。
13.如权利要求11所述的计算机存储介质,其特征在于,响应于所请求的操作启动所述事务包括响应于要在延长或未知的时间量上执行的所请求的操作启动所述事务。
14.如权利要求11所述的计算机存储介质,其特征在于,加倍缓冲与所述一个或多个窗口相关联的用户界面更新包括提供用于描绘用户界面更新的屏幕外呈现缓冲区。
15.如权利要求11所述的计算机存储介质,其特征在于,加倍缓冲与所述一个或多个窗口相关联的用户界面更新包括提供用于描绘用户界面更新的透明分层窗口。
16.如权利要求15所述的计算机存储介质,其特征在于,将加倍缓冲的用户界面更新提交给计算机显示器包括关闭与所述分层窗口相关联的透明度参数。
17.如权利要求11所述的计算机存储介质,其特征在于,还包括使所述计算机提供不同的启动画面线程。
18.如权利要求11所述的计算机存储介质,其特征在于,还包括使所述计算机在所述事务期间提供取消选项。
19.如权利要求11所述的计算机存储介质,其特征在于,还包括使所述计算机在所述事务期间提供进度指示符。
20.一种图形用户界面系统,包括:
处理单元(10);以及
可用于使所述处理单元(10)执行以下动作的一个或多个模块:响应于需要延长或未知时间量的所请求的操作启动(310)事务,标识(322)与所请求的操作相关联的多个窗口,提供(325)用于描绘与所述多个窗口相关联的用户界面更新的屏幕外呈现缓冲区,响应于检测所请求的操作的完成终止(350)所述事务;以及在终止所述事务之后将所述将屏幕外呈现缓冲区提交(355)给计算机显示器。
CN200980124381.1A 2008-06-21 2009-05-15 用于图形用户界面呈现的事务处理加倍缓冲 Expired - Fee Related CN102084329B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/143,760 US20090319933A1 (en) 2008-06-21 2008-06-21 Transacted double buffering for graphical user interface rendering
US12/143,760 2008-06-21
PCT/US2009/044064 WO2009154910A2 (en) 2008-06-21 2009-05-15 Transacted double buffering for graphical user interface rendering

Publications (2)

Publication Number Publication Date
CN102084329A true CN102084329A (zh) 2011-06-01
CN102084329B CN102084329B (zh) 2014-06-04

Family

ID=41432571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980124381.1A Expired - Fee Related CN102084329B (zh) 2008-06-21 2009-05-15 用于图形用户界面呈现的事务处理加倍缓冲

Country Status (10)

Country Link
US (1) US20090319933A1 (zh)
EP (1) EP2304539A4 (zh)
JP (1) JP5384626B2 (zh)
KR (1) KR20110028284A (zh)
CN (1) CN102084329B (zh)
AU (1) AU2009260598B2 (zh)
BR (1) BRPI0913208A2 (zh)
CA (1) CA2724202A1 (zh)
RU (1) RU2519034C2 (zh)
WO (1) WO2009154910A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544059A (zh) * 2013-07-16 2014-01-29 Tcl集团股份有限公司 一种应用切换时等待缓冲效果的实现方法及系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606819B2 (en) 2001-10-15 2009-10-20 Maya-Systems Inc. Multi-dimensional locating system and method
US20080058106A1 (en) 2002-10-07 2008-03-06 Maya-Systems Inc. Multi-dimensional locating game system and method
CA2601154C (en) 2007-07-07 2016-09-13 Mathieu Audet Method and system for distinguising elements of information along a plurality of axes on a basis of a commonality
US8601392B2 (en) 2007-08-22 2013-12-03 9224-5489 Quebec Inc. Timeline for presenting information
CA2657835C (en) 2008-03-07 2017-09-19 Mathieu Audet Documents discrimination system and method thereof
US8607155B2 (en) 2008-09-12 2013-12-10 9224-5489 Quebec Inc. Method of managing groups of arrays of documents
JP5523752B2 (ja) * 2009-07-08 2014-06-18 京セラ株式会社 表示制御装置
US20110167364A1 (en) * 2010-01-05 2011-07-07 Nokia Corporation Methods and apparatuses for improving application startup
US9189129B2 (en) 2011-02-01 2015-11-17 9224-5489 Quebec Inc. Non-homogeneous objects magnification and reduction
US8902248B1 (en) 2011-07-14 2014-12-02 Vmware, Inc. Method and system for measuring display performance of a remote application
CA2790799C (en) 2011-09-25 2023-03-21 Mathieu Audet Method and apparatus of navigating information element axes
US9823917B2 (en) * 2011-10-20 2017-11-21 Facebook, Inc. Update application user interfaces on client devices
US9606813B2 (en) * 2012-03-30 2017-03-28 Canon Kabushiki Kaisha Information processing apparatus, application activation method, and program
US8990818B2 (en) 2012-06-01 2015-03-24 Microsoft Technology Licensing, Llc Multiple top level user interface displays
US20130321467A1 (en) * 2012-06-01 2013-12-05 Microsoft Corporation Using snapshots to represent slow applications
US9519693B2 (en) 2012-06-11 2016-12-13 9224-5489 Quebec Inc. Method and apparatus for displaying data element axes
US9646080B2 (en) 2012-06-12 2017-05-09 9224-5489 Quebec Inc. Multi-functions axis-based interface
KR101990037B1 (ko) * 2012-11-13 2019-06-18 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
CN103914189B (zh) * 2012-12-30 2017-03-15 比亚迪股份有限公司 一种互电容检测电路
US9674265B2 (en) * 2013-11-04 2017-06-06 Vmware, Inc. Filtering unnecessary display updates for a networked client
US9674518B2 (en) 2013-12-20 2017-06-06 Vmware, Inc. Measuring remote video display with embedded pixels
US9699247B2 (en) 2014-06-17 2017-07-04 Vmware, Inc. User experience monitoring for application remoting
US10867584B2 (en) * 2014-06-27 2020-12-15 Microsoft Technology Licensing, Llc Smart and scalable touch user interface display
US11481225B2 (en) 2015-09-10 2022-10-25 Motorola Solutions, Inc. Apparatus and methods to display the status of an ancillary embedded system
CN105159690B (zh) * 2015-10-26 2019-06-28 深圳云之家网络有限公司 一种自动同步用户界面ui线程的方法及装置
US10802838B2 (en) * 2016-01-07 2020-10-13 Apple Inc. Dynamic graphical user interface previews
CN105930037B (zh) 2016-06-12 2018-12-28 广州视睿电子科技有限公司 窗口边框阴影显示方法及装置
CA3007166C (en) 2017-06-05 2024-04-30 9224-5489 Quebec Inc. Method and apparatus of aligning information element axes
CN108337363A (zh) * 2017-12-26 2018-07-27 努比亚技术有限公司 一种终端熄屏显示控制方法、终端
CN108549534B (zh) 2018-03-02 2020-04-10 惠州Tcl移动通信有限公司 图形用户界面重绘方法、终端设备及计算机可读存储介质
EP3559819B1 (en) * 2018-12-29 2022-03-09 Advanced New Technologies Co., Ltd. Visual blockchain browser
CN109992348A (zh) * 2019-04-10 2019-07-09 Oppo广东移动通信有限公司 界面显示方法、装置、终端及存储介质
CN112906087A (zh) * 2021-02-03 2021-06-04 深圳市显控科技股份有限公司 基于双缓冲的cad异步渲染方法及系统
CN112947969B (zh) * 2021-03-10 2022-12-16 支付宝(杭州)信息技术有限公司 一种页面离屏渲染方法、装置、设备和可读介质

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4928247A (en) * 1987-08-13 1990-05-22 Digital Equipment Corporation Method and apparatus for the continuous and asynchronous traversal and processing of graphics data structures
JP3316592B2 (ja) * 1991-06-17 2002-08-19 サン・マイクロシステムズ・インコーポレーテッド 二重バッファ・出力ディスプレー・システム、および、第1のフレーム・バッファおよび第2のフレーム・バッファ相互間の切り換えを行う方法
US5245702A (en) * 1991-07-05 1993-09-14 Sun Microsystems, Inc. Method and apparatus for providing shared off-screen memory
US5500933A (en) * 1993-04-28 1996-03-19 Canon Information Systems, Inc. Display system which displays motion video objects combined with other visual objects
US5542088A (en) * 1994-04-29 1996-07-30 Intergraph Corporation Method and apparatus for enabling control of task execution
US5966139A (en) * 1995-10-31 1999-10-12 Lucent Technologies Inc. Scalable data segmentation and visualization system
US5937415A (en) * 1995-12-13 1999-08-10 Sybase, Inc. Data base development system with methods facilitating copying of data from one data source to another
US5914711A (en) * 1996-04-29 1999-06-22 Gateway 2000, Inc. Method and apparatus for buffering full-motion video for display on a video monitor
JPH1063458A (ja) * 1996-08-22 1998-03-06 Hitachi Ltd 通信ネットワークの表示方法とその操作方法ならびにそのための装置
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US5861893A (en) * 1997-05-27 1999-01-19 Intel Corporation System and method for graphics data concurrency and coherency
US6178331B1 (en) * 1997-06-17 2001-01-23 Bulletin.Net, Inc. System and process for allowing wireless messaging
US5995121A (en) * 1997-10-16 1999-11-30 Hewlett-Packard Company Multiple graphics pipeline integration with a windowing system through the use of a high speed interconnect to the frame buffer
US6353450B1 (en) * 1999-02-16 2002-03-05 Intel Corporation Placing and monitoring transparent user interface elements in a live video stream as a method for user input
US7168048B1 (en) * 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
US6522335B2 (en) * 1999-05-10 2003-02-18 Autodesk Canada Inc. Supplying data to a double buffering process
JP2000330676A (ja) * 1999-05-19 2000-11-30 Nec Corp 適応ユーザインタフェース生成装置および生成方法
JP3671120B2 (ja) * 1999-06-16 2005-07-13 株式会社ソニー・コンピュータエンタテインメント データ転送装置、データ転送システムおよびデータ転送方法
US6286104B1 (en) * 1999-08-04 2001-09-04 Oracle Corporation Authentication and authorization in a multi-tier relational database management system
US7020845B1 (en) * 1999-11-15 2006-03-28 Gottfurcht Elliot A Navigating internet content on a television using a simplified interface and a remote control
US6850257B1 (en) * 2000-04-06 2005-02-01 Microsoft Corporation Responsive user interface to manage a non-responsive application
US6954218B2 (en) * 2000-10-30 2005-10-11 Microsoft Corporation Method and apparatus for high-performance rendering and hit-testing of a window tree
US7038690B2 (en) * 2001-03-23 2006-05-02 Microsoft Corporation Methods and systems for displaying animated graphics on a computing device
US6904597B2 (en) * 2001-03-30 2005-06-07 Intel Corporation Inter-thread communications between different components using double buffer
EP1309153A1 (en) * 2001-11-02 2003-05-07 BRITISH TELECOMMUNICATIONS public limited company File download operation
US7299304B2 (en) * 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
US7380130B2 (en) * 2001-12-04 2008-05-27 Microsoft Corporation Methods and systems for authentication of components in a graphics system
US20040217956A1 (en) * 2002-02-28 2004-11-04 Paul Besl Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data
US6915401B2 (en) * 2002-03-21 2005-07-05 International Business Machines Corporation System and method for managing off-screen buffers for electronic images
JP3761165B2 (ja) * 2002-05-13 2006-03-29 株式会社モバイルコンピューティングテクノロジーズ 表示制御装置、携帯型情報端末装置、プログラム、及び表示制御方法
US7096432B2 (en) * 2002-05-14 2006-08-22 Microsoft Corporation Write anywhere tool
US20040015610A1 (en) * 2002-07-18 2004-01-22 Sytex, Inc. Methodology and components for client/server messaging system
US6911983B2 (en) * 2003-03-12 2005-06-28 Nvidia Corporation Double-buffering of pixel data using copy-on-write semantics
US7408442B2 (en) * 2003-09-22 2008-08-05 Ge Security Inc Programmable event driver/interface apparatus and method
KR100535664B1 (ko) * 2003-10-13 2005-12-09 엘지전자 주식회사 무선 네트워크망을 통해 통신하는 서버 시스템
US7274370B2 (en) * 2003-12-18 2007-09-25 Apple Inc. Composite graphics rendered using multiple frame buffers
GB2415877A (en) * 2004-07-02 2006-01-04 Symbian Software Ltd Controlling splash screen display
JP4751647B2 (ja) * 2005-06-03 2011-08-17 株式会社リコー 画面共有装置、画面共有方法、画面共有プログラム及び記録媒体
US20070040787A1 (en) * 2005-08-17 2007-02-22 Texas Instruments, Inc. A Modular Graphics Stack
US7689926B2 (en) * 2006-03-31 2010-03-30 Microsoft Corporation Selective window exclusion for captured content
US20070229520A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Buffered Paint Systems
US20070297433A1 (en) * 2006-06-26 2007-12-27 Mediatek Inc. Method and apparatus for double buffering
KR20080031595A (ko) * 2006-10-04 2008-04-10 삼성전자주식회사 오프스크린 버퍼링 관리 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544059A (zh) * 2013-07-16 2014-01-29 Tcl集团股份有限公司 一种应用切换时等待缓冲效果的实现方法及系统
CN103544059B (zh) * 2013-07-16 2017-08-08 Tcl集团股份有限公司 一种应用切换时等待缓冲效果的实现方法及系统

Also Published As

Publication number Publication date
KR20110028284A (ko) 2011-03-17
EP2304539A4 (en) 2011-07-06
JP2011525279A (ja) 2011-09-15
AU2009260598A1 (en) 2009-12-23
RU2010152243A (ru) 2012-06-27
US20090319933A1 (en) 2009-12-24
EP2304539A2 (en) 2011-04-06
AU2009260598B2 (en) 2014-06-19
WO2009154910A2 (en) 2009-12-23
JP5384626B2 (ja) 2014-01-08
CA2724202A1 (en) 2009-12-23
WO2009154910A3 (en) 2010-04-01
RU2519034C2 (ru) 2014-06-10
BRPI0913208A2 (pt) 2016-01-12
CN102084329B (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN102084329B (zh) 用于图形用户界面呈现的事务处理加倍缓冲
US11281360B2 (en) Display management for native user experiences
US8893038B2 (en) Graphical association of task bar entries with corresponding desktop locations
US20030179240A1 (en) Systems and methods for managing virtual desktops in a windowing environment
US20170131858A1 (en) Expandable Application Representation, Activity Levels, and Desktop Representation
US10613879B2 (en) Generating component pages to render in a configuration page in a graphical user interface to configure a computing resource
US9069432B2 (en) Copy and paste buffer
US9436670B2 (en) Webpage based form entry aid
US20100318770A1 (en) Electronic device, computer-implemented system, and application display control method therefor
CN111699491A (zh) 在可编辑电子文档中的嵌入式动作卡
US9367223B2 (en) Using a scroll bar in a multiple panel user interface
US20140375657A1 (en) Synchronization Points for State Information
CN112106025A (zh) 用于提供软件平台的服务器和运行服务器的方法
CN108897593B (zh) 一种功能展示方法和装置
US11921981B2 (en) Windowing container
US20200134988A1 (en) Cash processing system
US10394535B1 (en) Floating element system and methods for dynamically adding features to an application without changing the design and layout of a graphical user interface of the application
EP2348385A2 (en) Interaction with a data processing system having a graphical interface

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150512

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150512

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140604

Termination date: 20150515

EXPY Termination of patent right or utility model