US20140115036A1 - System and method for processing load balancing of graphic streams - Google Patents
System and method for processing load balancing of graphic streams Download PDFInfo
- Publication number
- US20140115036A1 US20140115036A1 US13/938,174 US201313938174A US2014115036A1 US 20140115036 A1 US20140115036 A1 US 20140115036A1 US 201313938174 A US201313938174 A US 201313938174A US 2014115036 A1 US2014115036 A1 US 2014115036A1
- Authority
- US
- United States
- Prior art keywords
- graphic
- objects
- video stream
- load balancing
- processing unit
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000001131 transforming effect Effects 0.000 claims abstract description 8
- 238000009877 rendering Methods 0.000 claims abstract description 3
- 230000001133 acceleration Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- H04L67/42—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
- This Application claims priority of Taiwan Patent Application No. 101138372, filed on Oct. 18, 2012, the entirety of which is incorporated by reference herein.
- 1. Field of the Invention
- The present invention relates to a method and system for processing load balancing of graphic streams, and in particular, to a method and system for processing load balancing of graphic streams between a server device and a client device.
- 2. Description of the Related Art
- Currently, information technology (IT) is driving the consolidation of computing infrastructures on servers, creating fully virtualized data centers with integrated provisioning facilities. In a fully virtualized data center, a virtual machine (VM) and a hypervisor are configured inside a server. The virtual machine runs operating systems and applications. The hypervisor is a virtual machine monitor or virtualization platform that allows multiple operating systems to run on a host computer at the same time. As several visualization-related workloads require 2D/3D graphics hardware acceleration, the cost and the power consumption of an engine room in the cloud are increased if all 2D/3D graphics operations are processed by the server device. If all the 2D/3D graphics operations are processed by the client device, the processing capacity of the client device must be taken into account.
- Therefore, there is a need for a method and a system for processing load balancing of graphic streams that can dispatch the 2D/3D graphics operations to the server device and the client device.
- A detailed description is given in the following embodiments with reference to the accompanying drawings.
- Methods and systems for processing load balancing of graphic streams are provided.
- In one exemplary embodiment, the disclosure is directed to a method for processing load balancing of graphic streams, used in a system, wherein the system includes a server device and a client device, and the method includes: receiving, by a virtual machine of the server device, a graphic with a plurality of objects and graphic capability information; dispatching, by a dispatcher of the server device, the plurality of objects according to the graphic capability information; receiving, by a server graphic processing unit (GPU) of the server device, a first group of objects dispatched by the dispatcher, and transforming the first group of objects into a first video stream; receiving, by a virtual desktop viewer of the client device, a second group of objects dispatched by the dispatcher; transforming, by a client graphic processing unit (GPU) of the client device, the second group of objects into a second video stream; and rendering, by a virtual desktop viewer of the client device, the first video stream and the second video stream.
- In one exemplary embodiment, the disclosure is directed to a system for processing load balancing of graphic streams. The system includes a server device and a client device. The server device includes a virtual machine, a virtual graphic processing unit (GPU), and a server graphic processing unit. The virtual machine is configured to receive a graphic with a plurality of objects and graphic capability information. The virtual graphic processing unit (GPU), coupled to the virtual machine, includes a dispatcher. The dispatcher, coupled to the virtual machine, is configured to dispatch the plurality of objects according to the graphic capability information. The server graphic processing unit, coupled to the virtual graphic processing unit (GPU), is configured to receive a first group of objects dispatched by the dispatcher, and transform the first group of objects into a first video stream. The client device, coupled to the server device, includes a virtual desktop viewer and a client graphic processing unit. The virtual desktop viewer is configured to receive a second group of objects dispatched by the dispatcher. The client graphic processing unit is configured to transform the second group of objects into a second video stream. After transforming the first group of objects and the second group of objects into the first video stream and the second video stream, respectively, the server graphic processing unit and the client graphic processing unit transmit the first video stream and the second video stream to a virtual desktop viewer to render the first video stream and the second video stream.
- The present invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
-
FIG. 1 is an architecture schematic view illustrating a system for processing load balancing of graphic streams according to one embodiment of the present invention; -
FIGS. 2A-2B are block diagrams of a system for processing load balancing of graphic streams according to an embodiment of the present invention; -
FIG. 3 is a flow diagram illustrating the method for processing load balancing of graphic streams according to an embodiment of the present invention; and -
FIGS. 4A-4B are examples for processing load balancing of graphic streams according to an embodiment of the present invention. - Several exemplary embodiments of the application are described with reference to
FIGS. 1 through 4B , which generally relate to an electronic device and method for processing load balancing of graphic streams. It is to be understood that the following disclosure provides various different embodiments as examples for implementing different features of the application. Specific examples of components and arrangements are described in the following to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various described embodiments and/or configurations. -
FIG. 1 is an architecture schematic view illustrating asystem 100 for processing load balancing of graphic streams according to one embodiment of the present invention. As shown inFIG. 1 , thesystem 100 includes aserver device 110 and one ormore client devices 120. Theserver device 110 is coupled to the one ormore client devices 120 over anetwork 130. Thenetwork 130 may be a private network (e.g., a local area network (LAN), wide area network (WAN), intranet, etc.) or a public network (e.g., the Internet). - In one embodiment, the
client devices 120 may include computing devices that have a wide range of capabilities. Some of theclient devices 120 may be thin clients, which serve as access terminals for users and depend primarily on theserver device 110 for processing activities. A thin client has limited processing and memory capacities. For example, a thin client may be a laptop computer, cellular phone, personal digital assistant (PDA), a re-purposed desktop computer, etc. Some of theclient devices 120 may be thick (fat) clients, which have graphics processors, powerful CPUs and large memories. For example, a thick client may be a dual-core or multi-core computer, workstation, graphics workstation, etc. It must be noted that the number and specification of the one or more client devices described above is not limited in the embodiments and the figures shown in this invention. -
FIG. 2A is a block diagram of asystem 200 for processing load balancing of graphic streams according to an embodiment of the present invention. As shown inFIG. 2A , aserver device 210 includes a virtual machine (VM) 212, a virtual graphic processing unit (GPU) 214 and a servergraphic processing unit 218. The virtualgraphic processing unit 214 is coupled to thevirtual machine 212 and the servergraphic processing unit 218. The virtualgraphic processing unit 214 further includes adispatcher 216. Aclient device 220 includes avirtual desktop viewer 222, a clientgraphic processing unit 224 and avideo frame buffer 226. - When the
client device 220 is connected to theserver device 210, theclient device 220 transmits graphic capability information to theserver device 210. Thevirtual machine 212 receives a graphic with a plurality of objects transmitted from a back end device behind the server device 210 (for example, a server) and the graphic capability information transmitted from theclient device 220, wherein the graphic is a 2D graphic or a 3D graphic. The graphic capability information can be a processing capability of theclient device 220, a processing capability of theserver device 210, an acceleration of the servergraphic processing unit 218, a storage speed, a connection bandwidth and so on. After receiving the plurality of objects and the graphic capability information, thevirtual machine 212 transmits the plurality of objects and the graphic capability information to thedispatcher 216 of the virtualgraphic processing unit 214. Thedispatcher 216 dispatches the plurality of objects in the graphic according to the graphic capability information to one of the servergraphic processing unit 218 and the clientgraphic processing unit 224 of theclient device 220, or both. - After receiving a first group of objects dispatched by the
dispatcher 216, the servergraphic processing unit 218 transforms the first group of objects into a first video stream and transmits the first video stream to thevirtual desktop viewer 222. Thevirtual desktop viewer 222 of theclient device 220 receives a second group of objects dispatched by thedispatcher 216, and transmits the second group of objects to the clientgraphic processing unit 224. After receiving the second group of objects, the clientgraphic processing unit 224 stores the second video stream in thevideo frame buffer 226, and transmits the second video stream to thevirtual desktop viewer 222. Finally, thevirtual desktop viewer 222 renders the first video stream and the second video stream transmitted from the clientgraphic processing unit 224. - In another specific embodiment, the
server device 210 further includes ahypervisor 213, as shown inFIG. 2B . When thevirtual machine 212 needs to access the video stream stored in the video frame buffer 226 (for example, when a user presses a “Print Screens” button), thevirtual machine 212 may transmit an access request message to thehypervisor 213. When the hypervisor 213 requests thevirtual desktop viewer 222 to transmit the second video stream stored in thevideo frame buffer 226 to the servergraphic processing unit 218 according to the access request message, the servergraphic processing unit 218 combines the video stream stored in thevideo frame buffer 226 with the original video stream processed by the servergraphic processing unit 218 to generate a complete video stream. -
FIG. 3 is a flow diagram 300 illustrating the method for processing load balancing of graphic streams according to an embodiment of the present invention with reference toFIGS. 2A-2B . The method for processing load balancing of graphic streams can be used in a system. - In step S302, a virtual machine receives a graphic with a plurality of objects and graphic capability information. In step S304, a dispatcher dispatches the plurality of objects of the graphic to graphic processing units according to the graphic capability information. In step S306, a server graphic processing unit receives a first group of objects dispatched by the dispatcher, and transforms the first group of objects into a first video stream. A client graphic processing unit receives a second group of objects dispatched by the dispatcher by using a virtual desktop viewer, and transforms the second group of objects into a second video stream. In step S308, a virtual desktop viewer renders the first video stream and the second video stream.
- In another embodiment, the processing capability of the client device is a display ratio of a display screen for viewing the graphic processed by the client device. For example,
FIGS. 4A-4B are examples for processing load balancing of graphic streams according to an embodiment of the present invention, with reference toFIG. 2 .FIG. 4A is a schematic diagram illustrating ascreen 400 of the client device, wherein the display screen size is 640×480. As shown inFIG. 4A , the display screen of thescreen 400 is divided into small tiles, wherein the size of each tile is 80×80. Therefore, the 640×480screen 400 may be divided into 48 small tiles. The dispatcher calculates that the client device can only process a graphics operation of 24 tiles for a certain application according to a display ratio of a display screen for viewing the graphic processed by the client device, and utilizes an optimization algorithm to determine that the client device merely processes the graphics operation in theregion 410 so that the network traffic can be minimized. - In the example, the graphic includes four objects A, B, C, and D, as shown in
FIG. 4B . After calculating the calculated results, the dispenser finds that the order of the object A and the object B along the Z-axis may affect the presentation of theregion 410 directly. Therefore, the dispenser transmits the object A, the object B and related commands to the client device in advance. The object C does not affect theregion 410, and therefore the server device may process the object C. The order of the object D along the Z-axis is far behind the X-axis and the object D is fully obscured by the object A and the object B currently, thereby, the object D is processed by the server device. However, once the position of the object C or the object D is changed and the object C or the object D may affect theregion 410, the dispenser may copy and transfer the object C or the object D to the client device, and then the client device can process the object C or the object D. - In some embodiments, the dispenser can dispatch the plurality of objects of the graphic according to a connection bandwidth between the client device and the server device.
- According to the above mentioned invention, by using the method and the system for processing load balancing of graphic streams, the client graphic processing unit of the client device merely needs to process parts of the objects of the graphic and the related commands to render the graphic in a smaller window. The remaining parts of the objects can also be transferred through the network, and the server graphic processing unit of the server device only needs to process the remaining parts of the objects not processed by the client device.
- The method for processing load balancing of graphic streams or any forms for carrying out the method, or any parts thereof may be implemented in a computer program, wherein the computer program may be stored in any machine-readable storage medium, such as a floppy disc, hard disc, optical disc, or computer program product with any external form. Particularly, when the computer program is loaded and executed by an electronic device, e.g., a computer, the electronic device becomes an apparatus or system for performing the steps of the generating method of interactive page templates. Alternatively, the computer program may be transferred via certain transferring media, such as electric wires/cables, optical fibers, or others.
- Correspondingly, the invention also proposes a machine-readable storage medium comprising a computer program, which, when executed, causes an electronic device to perform the generating method of interactive page template. The steps of the method are as described above with respect to
FIG. 3 and, thus, detailed description of the method is omitted here for brevity. - While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. On the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.
Claims (12)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101138372A | 2012-10-18 | ||
TW101138372 | 2012-10-18 | ||
TW101138372A TWI482118B (en) | 2012-10-18 | 2012-10-18 | System and method for processing load balance of graphic streams |
Publications (2)
Publication Number | Publication Date |
---|---|
US20140115036A1 true US20140115036A1 (en) | 2014-04-24 |
US9479570B2 US9479570B2 (en) | 2016-10-25 |
Family
ID=50486334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/938,174 Active 2034-10-05 US9479570B2 (en) | 2012-10-18 | 2013-07-09 | System and method for processing load balancing of graphic streams |
Country Status (3)
Country | Link |
---|---|
US (1) | US9479570B2 (en) |
CN (1) | CN103778591B (en) |
TW (1) | TWI482118B (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160078585A1 (en) * | 2014-09-12 | 2016-03-17 | Vmware, Inc. | Dynamically Using System Memory as Video Memory for Virtual Graphics Processing Units |
US20180293090A1 (en) * | 2017-04-11 | 2018-10-11 | Electronics And Telecommunications Research Institute | Virtual desktop server for supporting high-quality graphics processing and method for processing high-quality graphics using the same |
CN110545415A (en) * | 2019-07-16 | 2019-12-06 | 西安万像电子科技有限公司 | Data transmission method and device and server |
CN110557624A (en) * | 2019-07-16 | 2019-12-10 | 西安万像电子科技有限公司 | Data transmission method and device and server |
CN112774193A (en) * | 2021-01-14 | 2021-05-11 | 江苏卫健信息科技有限公司 | Image rendering method of cloud game |
US20210385513A1 (en) * | 2020-06-04 | 2021-12-09 | Comcast Cable Communications, Llc | Distributed storage of content across storage subsystems |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123452B (en) * | 2014-07-18 | 2017-10-10 | 西北工业大学 | GPU load comprehensive evaluation methods based on fuzzy decision |
CN107241374B (en) * | 2016-03-28 | 2020-01-31 | 财团法人工业技术研究院 | Load balancing system, load balancing device and topology management method |
US11847489B2 (en) * | 2021-01-26 | 2023-12-19 | Apple Inc. | United states graphics processor techniques with split between workload distribution control data on shared control bus and corresponding graphics data on memory interfaces |
Citations (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7609280B2 (en) * | 2005-09-07 | 2009-10-27 | Microsoft Corporation | High level graphics stream |
US8166398B2 (en) * | 2008-10-29 | 2012-04-24 | Cyberlink Corp. | Method and system for dynamically displaying a control bar of a multimedia player |
US20120098862A1 (en) * | 2010-01-25 | 2012-04-26 | Huawei Technologies Co., Ltd. | Method, terminal, and server for processing graphics |
US8224885B1 (en) * | 2009-01-26 | 2012-07-17 | Teradici Corporation | Method and system for remote computing session management |
US20120270652A1 (en) * | 2011-04-21 | 2012-10-25 | Electronics And Telecommunications Research Institute | System for servicing game streaming according to game client device and method |
US8330762B2 (en) * | 2007-12-19 | 2012-12-11 | Advanced Micro Devices, Inc. | Efficient video decoding migration for multiple graphics processor systems |
US8341611B2 (en) * | 2007-04-11 | 2012-12-25 | Apple Inc. | Application interface on multiple processors |
US20130054679A1 (en) * | 2011-08-29 | 2013-02-28 | Vmware, Inc. | Sharing remote sessions of a user interface and/or graphics of a computer |
US8405666B2 (en) * | 2009-10-08 | 2013-03-26 | Advanced Micro Devices, Inc. | Saving, transferring and recreating GPU context information across heterogeneous GPUs during hot migration of a virtual machine |
US20130093776A1 (en) * | 2011-10-14 | 2013-04-18 | Microsoft Corporation | Delivering a Single End User Experience to a Client from Multiple Servers |
US20130120651A1 (en) * | 2011-11-11 | 2013-05-16 | David Perry | Real-time Cloud-Based Video Watermarking Systems and Methods |
US20130132971A1 (en) * | 2011-11-22 | 2013-05-23 | International Business Machines Corporation | System, method and program product for streamlined virtual machine desktop display |
US20130159375A1 (en) * | 2009-06-01 | 2013-06-20 | David Perry | Methods and Systems for Generation and Execution of Miniapp of Computer Application Served by Cloud Computing System |
US8497865B2 (en) * | 2006-12-31 | 2013-07-30 | Lucid Information Technology, Ltd. | Parallel graphics system employing multiple graphics processing pipelines with multiple graphics processing units (GPUS) and supporting an object division mode of parallel graphics processing using programmable pixel or vertex processing resources provided with the GPUS |
US8570441B2 (en) * | 2008-06-11 | 2013-10-29 | Microsoft Corporation | One pass video processing and composition for high-definition video |
US8612614B2 (en) * | 2008-07-17 | 2013-12-17 | Citrix Systems, Inc. | Method and system for establishing a dedicated session for a member of a common frame buffer group |
US8640180B2 (en) * | 2010-09-29 | 2014-01-28 | Alcatel Lucent | Apparatus and method for client-side compositing of video streams |
US20140033055A1 (en) * | 2010-07-19 | 2014-01-30 | Soasta, Inc. | Animated Globe Showing Real-Time Web User Performance Measurements |
US20140125682A1 (en) * | 2003-11-19 | 2014-05-08 | Lucidlogix Software Solutions, Ltd. | Method of dynamic load-balancing within a pc-based computing system employing a multiple gpu-based graphics pipeline architecture supporting multiple modes of gpu parallelization |
US8806513B2 (en) * | 2008-06-06 | 2014-08-12 | Apple Inc. | Application programming interfaces for data parallel computing on multiple processors |
US20140258493A1 (en) * | 2008-11-30 | 2014-09-11 | Red Hat Israel, Ltd. | Determining the graphic load of a virtual desktop |
US8881141B2 (en) * | 2010-12-08 | 2014-11-04 | Intenational Business Machines Corporation | Virtualization of hardware queues in self-virtualizing input/output devices |
US8968087B1 (en) * | 2009-06-01 | 2015-03-03 | Sony Computer Entertainment America Llc | Video game overlay |
US9015337B2 (en) * | 2011-07-13 | 2015-04-21 | Hewlett-Packard Development Company, L.P. | Systems, methods, and apparatus for stream client emulators |
US9047390B2 (en) * | 2011-10-24 | 2015-06-02 | Microsoft Technology Licensing, Llc | Rendering hardware accelerated graphics in a web application |
US9052953B2 (en) * | 2011-05-23 | 2015-06-09 | Citrix Systems, Inc. | Autonomous computer session capacity estimation |
US9064334B2 (en) * | 2004-05-03 | 2015-06-23 | Microsoft Technology Licensing, Llc | Systems and methods for providing an enhanced graphics pipeline |
US9069622B2 (en) * | 2010-09-30 | 2015-06-30 | Microsoft Technology Licensing, Llc | Techniques for load balancing GPU enabled virtual machines |
US9092249B2 (en) * | 2009-09-11 | 2015-07-28 | Citrix Systems, Inc. | Remote rendering of three-dimensional images using virtual machines |
US9104452B2 (en) * | 2009-07-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Hybrid remote sessions |
US9106649B2 (en) * | 2006-05-25 | 2015-08-11 | Apptou Technologies Ltd | Method and system for efficient remote application provision |
US20150237097A1 (en) * | 2012-03-12 | 2015-08-20 | Cisco Technology, Inc. | Display Protocol Interception in the Network for Services and Network-Based Multimedia Support for VDI |
US20150287161A1 (en) * | 2009-06-01 | 2015-10-08 | Sony Computer Entertainment America Llc | Systems and Methods for Cloud Processing and Overlaying of Content on Streaming Video Frames of Remotely Processed Applications |
US9185149B2 (en) * | 2012-06-25 | 2015-11-10 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing frame aggregation with screen sharing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7173635B2 (en) * | 2003-03-25 | 2007-02-06 | Nvidia Corporation | Remote graphical user interface support using a graphics processing unit |
US7076735B2 (en) * | 2003-07-21 | 2006-07-11 | Landmark Graphics Corporation | System and method for network transmission of graphical data through a distributed application |
TW200948088A (en) * | 2008-02-27 | 2009-11-16 | Ncomputing Inc | System and method for virtual 3D graphics acceleration and streaming multiple different video streams |
CN101729887B (en) * | 2008-10-16 | 2011-11-02 | 国家广播电影电视总局广播科学研究院 | Data transmission method and data transmission device of digital broadcasting system |
US8266618B2 (en) * | 2008-11-21 | 2012-09-11 | International Business Machines Corporation | Graphics hardware resource usage in a fully virtualized computing environment |
-
2012
- 2012-10-18 TW TW101138372A patent/TWI482118B/en active
- 2012-11-01 CN CN201210430111.7A patent/CN103778591B/en active Active
-
2013
- 2013-07-09 US US13/938,174 patent/US9479570B2/en active Active
Patent Citations (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140125682A1 (en) * | 2003-11-19 | 2014-05-08 | Lucidlogix Software Solutions, Ltd. | Method of dynamic load-balancing within a pc-based computing system employing a multiple gpu-based graphics pipeline architecture supporting multiple modes of gpu parallelization |
US9064334B2 (en) * | 2004-05-03 | 2015-06-23 | Microsoft Technology Licensing, Llc | Systems and methods for providing an enhanced graphics pipeline |
US7609280B2 (en) * | 2005-09-07 | 2009-10-27 | Microsoft Corporation | High level graphics stream |
US9106649B2 (en) * | 2006-05-25 | 2015-08-11 | Apptou Technologies Ltd | Method and system for efficient remote application provision |
US8497865B2 (en) * | 2006-12-31 | 2013-07-30 | Lucid Information Technology, Ltd. | Parallel graphics system employing multiple graphics processing pipelines with multiple graphics processing units (GPUS) and supporting an object division mode of parallel graphics processing using programmable pixel or vertex processing resources provided with the GPUS |
US8341611B2 (en) * | 2007-04-11 | 2012-12-25 | Apple Inc. | Application interface on multiple processors |
US8330762B2 (en) * | 2007-12-19 | 2012-12-11 | Advanced Micro Devices, Inc. | Efficient video decoding migration for multiple graphics processor systems |
US8806513B2 (en) * | 2008-06-06 | 2014-08-12 | Apple Inc. | Application programming interfaces for data parallel computing on multiple processors |
US8570441B2 (en) * | 2008-06-11 | 2013-10-29 | Microsoft Corporation | One pass video processing and composition for high-definition video |
US8612614B2 (en) * | 2008-07-17 | 2013-12-17 | Citrix Systems, Inc. | Method and system for establishing a dedicated session for a member of a common frame buffer group |
US8166398B2 (en) * | 2008-10-29 | 2012-04-24 | Cyberlink Corp. | Method and system for dynamically displaying a control bar of a multimedia player |
US20140258493A1 (en) * | 2008-11-30 | 2014-09-11 | Red Hat Israel, Ltd. | Determining the graphic load of a virtual desktop |
US8224885B1 (en) * | 2009-01-26 | 2012-07-17 | Teradici Corporation | Method and system for remote computing session management |
US20130159375A1 (en) * | 2009-06-01 | 2013-06-20 | David Perry | Methods and Systems for Generation and Execution of Miniapp of Computer Application Served by Cloud Computing System |
US20150287161A1 (en) * | 2009-06-01 | 2015-10-08 | Sony Computer Entertainment America Llc | Systems and Methods for Cloud Processing and Overlaying of Content on Streaming Video Frames of Remotely Processed Applications |
US8968087B1 (en) * | 2009-06-01 | 2015-03-03 | Sony Computer Entertainment America Llc | Video game overlay |
US9104452B2 (en) * | 2009-07-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Hybrid remote sessions |
US9092249B2 (en) * | 2009-09-11 | 2015-07-28 | Citrix Systems, Inc. | Remote rendering of three-dimensional images using virtual machines |
US8405666B2 (en) * | 2009-10-08 | 2013-03-26 | Advanced Micro Devices, Inc. | Saving, transferring and recreating GPU context information across heterogeneous GPUs during hot migration of a virtual machine |
US20120098862A1 (en) * | 2010-01-25 | 2012-04-26 | Huawei Technologies Co., Ltd. | Method, terminal, and server for processing graphics |
US20140033055A1 (en) * | 2010-07-19 | 2014-01-30 | Soasta, Inc. | Animated Globe Showing Real-Time Web User Performance Measurements |
US8640180B2 (en) * | 2010-09-29 | 2014-01-28 | Alcatel Lucent | Apparatus and method for client-side compositing of video streams |
US9069622B2 (en) * | 2010-09-30 | 2015-06-30 | Microsoft Technology Licensing, Llc | Techniques for load balancing GPU enabled virtual machines |
US8881141B2 (en) * | 2010-12-08 | 2014-11-04 | Intenational Business Machines Corporation | Virtualization of hardware queues in self-virtualizing input/output devices |
US20120270652A1 (en) * | 2011-04-21 | 2012-10-25 | Electronics And Telecommunications Research Institute | System for servicing game streaming according to game client device and method |
US9052953B2 (en) * | 2011-05-23 | 2015-06-09 | Citrix Systems, Inc. | Autonomous computer session capacity estimation |
US9015337B2 (en) * | 2011-07-13 | 2015-04-21 | Hewlett-Packard Development Company, L.P. | Systems, methods, and apparatus for stream client emulators |
US20130054679A1 (en) * | 2011-08-29 | 2013-02-28 | Vmware, Inc. | Sharing remote sessions of a user interface and/or graphics of a computer |
US20130093776A1 (en) * | 2011-10-14 | 2013-04-18 | Microsoft Corporation | Delivering a Single End User Experience to a Client from Multiple Servers |
US9047390B2 (en) * | 2011-10-24 | 2015-06-02 | Microsoft Technology Licensing, Llc | Rendering hardware accelerated graphics in a web application |
US20130120651A1 (en) * | 2011-11-11 | 2013-05-16 | David Perry | Real-time Cloud-Based Video Watermarking Systems and Methods |
US20130132971A1 (en) * | 2011-11-22 | 2013-05-23 | International Business Machines Corporation | System, method and program product for streamlined virtual machine desktop display |
US20150237097A1 (en) * | 2012-03-12 | 2015-08-20 | Cisco Technology, Inc. | Display Protocol Interception in the Network for Services and Network-Based Multimedia Support for VDI |
US9185149B2 (en) * | 2012-06-25 | 2015-11-10 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing frame aggregation with screen sharing |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160078585A1 (en) * | 2014-09-12 | 2016-03-17 | Vmware, Inc. | Dynamically Using System Memory as Video Memory for Virtual Graphics Processing Units |
US9811366B2 (en) * | 2014-09-12 | 2017-11-07 | Vmware, Inc. | Dynamically using system memory as video memory for virtual graphics processing units |
US20180293090A1 (en) * | 2017-04-11 | 2018-10-11 | Electronics And Telecommunications Research Institute | Virtual desktop server for supporting high-quality graphics processing and method for processing high-quality graphics using the same |
US10656956B2 (en) * | 2017-04-11 | 2020-05-19 | Electronics And Telecommunications Research Institute | Virtual desktop server for supporting high-quality graphics processing and method for processing high-quality graphics using the same |
CN110545415A (en) * | 2019-07-16 | 2019-12-06 | 西安万像电子科技有限公司 | Data transmission method and device and server |
CN110557624A (en) * | 2019-07-16 | 2019-12-10 | 西安万像电子科技有限公司 | Data transmission method and device and server |
US20210385513A1 (en) * | 2020-06-04 | 2021-12-09 | Comcast Cable Communications, Llc | Distributed storage of content across storage subsystems |
CN112774193A (en) * | 2021-01-14 | 2021-05-11 | 江苏卫健信息科技有限公司 | Image rendering method of cloud game |
Also Published As
Publication number | Publication date |
---|---|
CN103778591A (en) | 2014-05-07 |
US9479570B2 (en) | 2016-10-25 |
CN103778591B (en) | 2017-06-09 |
TWI482118B (en) | 2015-04-21 |
TW201417035A (en) | 2014-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9479570B2 (en) | System and method for processing load balancing of graphic streams | |
US8629878B2 (en) | Extension to a hypervisor that utilizes graphics hardware on a host | |
US8638336B2 (en) | Methods and systems for remoting three dimensional graphical data | |
US8112513B2 (en) | Multi-user display proxy server | |
US8462369B2 (en) | Hybrid image processing system for a single field of view having a plurality of inspection threads | |
US8675219B2 (en) | High bandwidth image processing with run time library function offload via task distribution to special purpose engines | |
US8467631B2 (en) | Method and apparatus for identification of image uniqueness | |
US10303497B2 (en) | Hybrid software and GPU encoding for UI remoting | |
US20140074911A1 (en) | Method and apparatus for managing multi-session | |
Chen et al. | Data distribution strategies for high-resolution displays | |
EP3311565B1 (en) | Low latency application streaming using temporal frame transformation | |
TW201019263A (en) | Integrated GPU, NIC and compression hardware for hosted graphics | |
EP3198843B1 (en) | Method and system for serving virtual desktop to client | |
CN108762934B (en) | Remote graphic transmission system and method and cloud server | |
Jang et al. | Client rendering method for desktop virtualization services | |
US20140156736A1 (en) | Apparatus and method for managing threads to perform divided execution of software | |
Bundulis et al. | Concept of virtual machine based high resolution display wall | |
Kang et al. | Docker based computation off-loading for video game based mobile VR framework | |
Nonaka et al. | Hybrid hardware-accelerated image composition for sort-last parallel rendering on graphics clusters with commodity image compositor | |
CN117008796B (en) | Multi-screen collaborative rendering method, device, equipment and medium | |
US8587599B1 (en) | Asset server for shared hardware graphic data | |
Bundulis et al. | Architectural and technological issues in the field of multiple monitor display technologies | |
US20230134779A1 (en) | Adaptive Mesh Reprojection for Low Latency 6DOF Rendering | |
KR101464619B1 (en) | Frame buffer direct access control method for VDI client | |
US20130328865A1 (en) | Apparatus and method for graphic offloading based on virtual machine monitor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: WISTRON CORP., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LAI, ALEXANDER I-CHI;YU, PEI-LING;REEL/FRAME:030811/0837 Effective date: 20130625 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: WIWYNN CORPORATION, TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WISTRON CORPORATION;REEL/FRAME:045814/0464 Effective date: 20180308 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |