Patents Assigned to Silicon Graphics, Inc.
-
Patent number: 7401116Abstract: A visual server system (10) includes a server (12) having a graphics application (20). The graphics application (20) generates image content and position information. The server (12) streams the image content and the position information for transport over a network link. A plurality of remote clients (14) can receive the image content and position information from the server (12) over the network link. Each of the plurality of remote clients (14) may provide input parameters to the graphics application (20). The input parameters can provide adjustments to the image content and position information provided to each of the plurality of remote clients (14). The graphics application (20) selects from among the input parameters provided by the plurality of remote clients (14) for adjusting the image content and the position information provided to the remote clients (14).Type: GrantFiled: March 29, 2002Date of Patent: July 15, 2008Assignee: Silicon Graphics, Inc.Inventors: Alex Chalfin, Ryan Smith
-
Publication number: 20080168182Abstract: A system and method of determining a master node in a computer system having a plurality of nodes includes establishing a hierarchy of master nodes from the plurality of nodes, wherein the master node synchronizes the plurality of nodes in the computer system with a clock value and determining the master node from the hierarchy of master nodes. A system and method of synchronizing a plurality of nodes in a computer system includes determining a master node from the plurality of nodes, sending a clock value from the master node to neighbor nodes of the master node, synchronizing a node clock in each node receiving the clock value if a predetermined period of time has elapsed in each receiving node, distributing a node clock value from each synchronized node to neighbor nodes of the synchronized node, and repeating synchronizing and distributing, wherein synchronizing a node clock in each node receiving the clock value includes each node receiving the node clock value.Type: ApplicationFiled: January 5, 2007Publication date: July 10, 2008Applicant: SILICON GRAPHICS, INC.Inventors: Paul R. Frank, Gregory M. Thorson, Russell L. Nicol, Donglai Dai, Joseph M. Placek
-
Patent number: 7398359Abstract: A processor may operate in one of a plurality of operating states. In a Normal operating state, the processor is not involved with a memory transaction. Upon receipt of a transaction instruction to access a memory location, the processor transitions to a Transaction operating state. In the Transaction operating state, the processor performs changes to a cache line and data associated with the memory location. While in the Transaction operating state, any changes to the data and the cache line is not visible to other processors in the computing system. These changes become visible upon the processor entering a Commit operating state in response to receipt of a commit instruction. After changes become visible, the processor returns to the Normal operating state. If an abort event occurs prior to receipt of the commit instruction, the processor transitions to an Abort operating state where any changes to the data and cache line are discarded.Type: GrantFiled: April 30, 2004Date of Patent: July 8, 2008Assignee: Silicon Graphics, Inc.Inventors: Steven C. Miller, Martin M. Deneroff, Curt F. Schimmel, Larry Rudolph, Charles E. Leiserson, Bradley C. Kuszmaul, Krste Asanovic
-
Patent number: 7388582Abstract: A method is disclosed for culling an object database in a graphics processing system. In one embodiment, the method comprises encoding per-object parameters and culling parameters. The per-object parameters are encoded in texture format thereby creating at least one per-object texture containing the encoded per-object parameters. Next, a fragment program used in a fragment processor of the GPU is optionally updated. The updated fragment program embodies a culling operation. A polygon is then rendered, wherein the rendering step includes per-fragment operations. During the per-fragment operations, the updated fragment program is executed. The culling operation embodied therein (i) accesses the culling parameter, (ii) samples the per-object textures, and (iii) produces cull results for a set of database objects. In this fashion, the fragment processor in the GPU is leveraged to perform computationally intensive culling operations.Type: GrantFiled: April 26, 2007Date of Patent: June 17, 2008Assignee: Silicon Graphics, Inc.Inventor: Paolo Farinelli
-
Patent number: 7386680Abstract: An apparatus and method of controlling data sharing in a shared memory computer system transfers control of a cache coherency directory (entry) to a node having control of the data. Specifically, the plurality of nodes includes a home node and a second node. The home node has given data in a cache line in its memory, and also has a directory identifying the state of the cache line. The method and apparatus thus detect a request for ownership of the cache line from the second node, and enable the second node to control the directory after receipt of the request.Type: GrantFiled: April 28, 2006Date of Patent: June 10, 2008Assignee: Silicon Graphics, Inc.Inventors: John Carter, Randal S. Passint, Liqun Cheng, Donglai Dai
-
Patent number: 7385614Abstract: An apparatus and method of processing object data (e.g., a scene having one or more objects) logically divide the object space into a plurality of contiguous (or noncontiguous) portions. At least two portions each have object data for such object(s). The apparatus and method also determine a positional priority of the at least two portions of the object space for a given viewpoint. Next, the apparatus and method merge rendered object data after at least some of the object data is rendered. This merging is based upon the positional priority of the at least two portions.Type: GrantFiled: March 28, 2005Date of Patent: June 10, 2008Assignee: Silicon Graphics, Inc.Inventor: Hansong Zhang
-
Publication number: 20080131008Abstract: The present invention provides for a method of and apparatus for compressing and uncompressing image data. According to one embodiment of the present invention, the method of compressing a color cell comprises the steps of: defining at least four luminance levels of the color cell; generating a bitmask for the color cell, the bitmask having a plurality of entries each corresponding to a respective one of the pixels, each of the entries for storing data identifying one of the luminance levels associated with a corresponding one of the pixels; calculating a first average color of pixels associated with a first one of the luminance levels; calculating a second average color of pixels associated with a second one of the luminance levels; and storing the bitmask in association with the first average color and the second average color.Type: ApplicationFiled: February 11, 2008Publication date: June 5, 2008Applicant: Silicon Graphics, Inc.Inventors: Robert A. DREBIN, David (Chi-Shung) Wang, Christopher J. Migdal
-
Patent number: 7370154Abstract: A method and apparatus for maintaining coherence information in multi-cache systems is described herein. In one embodiment, the apparatus includes an Ingrained Sharing Directory Cache (ISDC) to store state information about recent copies of local memory blocks. The ISDC is adapted to receive Ingrained Sharing Directory Storage (ISDS) requests and create ISDC entries from information presented by the ISDS. The apparatus also includes an ISDC pending queue to store pending ISDC operations.Type: GrantFiled: February 24, 2004Date of Patent: May 6, 2008Assignee: Silicon Graphics, Inc.Inventor: Tomasz Kaczynski
-
Patent number: 7362335Abstract: A system and method for rendering with an object proxy. In one embodiment, a method includes forming a set of view textures corresponding to a set of viewing directions; selecting a viewing direction for rendering; selecting at least two view textures from the formed set based on the selected viewing direction; and rendering the object proxy at the selected viewing direction. The rendering step includes applying texture from the selected view textures onto the selected object proxy. The view texture set forming step includes: calculating texture coordinates for the object proxy based on the level of obstruction at different portions of the object proxy and texture packing data; and drawing portions of the object based on the level of obstruction data for the object proxy and based on the texture packing data to obtain a view texture at the selected viewing direction.Type: GrantFiled: July 19, 2002Date of Patent: April 22, 2008Assignee: Silicon Graphics, Inc.Inventor: Radomir Mech
-
Patent number: 7358974Abstract: A method and system for minimizing an amount of data needed to test data against subarea boundaries in spatially composited digital video. Spatial compositing uses a graphics unit or pipeline to render a portion (subarea) of each overall frame of digital video images. This reduces the amount of data that each processor must act on and increases the rate at which an overall frame is rendered. Optimization of spatial compositing depends on balancing the processing load among the different pipelines. The processing load typically is direct function of the size of a given subarea and a function of the rendering complexity for objects within this subarea. Load balancing strives to measure these variables and adjust, from frame to frame, the number, sizes, and positions of the subareas. The cost of this approach is the necessity to communicate, in conjunction with each frame, the graphics data that will be rendered. Graphics data for a frame is composed of geometry chunks.Type: GrantFiled: January 29, 2002Date of Patent: April 15, 2008Assignee: Silicon Graphics, Inc.Inventors: David R. Blythe, Marc Schafer, Paul Jeffrey Ungar, David Yu
-
Patent number: 7356026Abstract: A method of node translation for communicating over virtual channels in a clustered multiprocessor system using connection descriptors (CDs), which specify the endpoint nodes for virtual connections. The system includes a local processing element node, a remote processing element node and a network interconnect therebetween for sending communications between the processing element nodes. The method includes assigning a CD to specify an endpoint node for a virtual connection, defining a local connection table (LCT) to be accessed with the CD to produce a system node identifier (SNID) of the endpoint node, generating a communication request including the CD, accessing the LCT using the CD of that communication request to produce the SNID for the endpoint node of the connection in response to that request, and sending a memory request to the endpoint node.Type: GrantFiled: December 14, 2001Date of Patent: April 8, 2008Assignee: Silicon Graphics, Inc.Inventors: Steven L. Scott, Chris Dickson, Steve Reinhardt
-
Publication number: 20080049030Abstract: A system, method, and computer program product are provided for remote rendering of computer graphics. The system includes a graphics application program resident at a remote server. The graphics application is invoked by a user or process located at a client. The invoked graphics application proceeds to issue graphics instructions. The graphics instructions are received by a remote rendering control system. Given that the client and server differ with respect to graphics context and image processing capability, the remote rendering control system modifies the graphics instructions in order to accommodate these differences. The modified graphics instructions are sent to graphics rendering resources, which produce one or more rendered images. Data representing the rendered images is written to one or more frame buffers. The remote rendering control system then reads this image data from the frame buffers. The image data is transmitted to the client for display or processing.Type: ApplicationFiled: August 24, 2007Publication date: February 28, 2008Applicant: Silicon Graphics, Inc.Inventor: Phillip Keslin
-
Patent number: 7333516Abstract: The present invention provides an interface and method for synchronous data transfer between domains clocked at different frequencies. The interface includes a first latch for receiving data from a first domain clocked at one frequency when the first latch is selected and a second latch for receiving data from the first domain when the second latch is selected. A third latch is provided for transferring data from either the first latch or the second latch to the second domain when the second domain is clocked.Type: GrantFiled: July 20, 2000Date of Patent: February 19, 2008Assignee: Silicon Graphics, Inc.Inventors: Mark Ronald Sikkink, William A. Huffman, Vernon W. Swanson, Nan Ma, Randal S. Passint
-
Publication number: 20080040689Abstract: The present invention is a system that creates a volumetric display and a user controllable volumetric pointer within the volumetric display. The user can point by aiming a beam which is vector, planar or tangent based, positioning a device in three-dimensions in association with the display, touching a digitizing surface of the display enclosure or otherwise inputting position coordinates. The cursor can take a number of different forms including a ray, a point, a volume and a plane. The ray can include a ring, a bead, a segmented wand, a cone and a cylinder. The user designates an input position and the system maps the input position to a 3D cursor position within the volumetric display. The system also determines whether any object has been designated by the cursor by determining whether the object is within a region of influence of the cursor. The system also performs any function activated in association with the designation.Type: ApplicationFiled: October 12, 2007Publication date: February 14, 2008Applicant: Silicon Graphics, Inc.Inventors: Ravin Balakrishnan, Gordon Kurtenbach, George Fitzmaurice
-
Patent number: 7330587Abstract: The present invention provides for a method of and apparatus for compressing and uncompressing image data. According to one embodiment of the present invention, the method of compressing a color cell comprises the steps of: defining at least four luminance levels of the color cell; generating a bitmask for the color cell, the bitmask having a plurality of entries each corresponding to a respective one of the pixels, each of the entries for storing data identifying one of the luminance levels associated with a corresponding one of the pixels; calculating a first average color of pixels associated with a first one of the luminance levels; calculating a second average color of pixels associated with a second one of the luminance levels; and storing the bitmask in association with the first average color and the second average color.Type: GrantFiled: October 1, 2003Date of Patent: February 12, 2008Assignee: Silicon Graphics, Inc.Inventors: Robert A. Drebin, David (Chi-Shung) Wang, Christopher J. Migdal
-
Patent number: 7327167Abstract: This document discusses, among other things, a circuit for selectively engaging an output section based on a received data signal. The output is driven to a high-impedance state in anticipation of a possible change in driving agent. An output section includes active transistor elements and a pre-driver.Type: GrantFiled: April 28, 2005Date of Patent: February 5, 2008Assignee: Silicon Graphics, Inc.Inventor: Rodney Ruesch
-
Publication number: 20080010284Abstract: A cluster of computer system nodes share direct read/write access to storage devices via a storage area network using a cluster filesystem. Access to files on the storage devices is arbitrated by the cluster filesystem using tokens. Upon detection of a change in location of the metadata server, client nodes waiting for a token are interrupted to check on the status of at least one of data and node availability.Type: ApplicationFiled: April 16, 2007Publication date: January 10, 2008Applicant: SILICON GRAPHICS, INC.Inventor: Kenneth Beck
-
Publication number: 20080005196Abstract: A cluster of computer system nodes share direct read/write access to storage devices via a storage area network using a cluster filesystem. Version information about subsystems is acquired by a leader node when forming a cluster membership and distributed to all nodes in the cluster to enable proper messaging during operation.Type: ApplicationFiled: April 16, 2007Publication date: January 3, 2008Applicant: SILICON GRAPHICS, INC.Inventor: Kenneth Beck
-
Patent number: 7302027Abstract: A system and method for distributing data in a system. The system comprises a control register logic circuits located at scattered locations in the system, where a location is defined as scattered if the propagation delay of data sent from the control register is more than approximately one clock period. The system also comprises one or more shift registers coupled to the control register and the logic circuits. A section of each shift register is placed in proximity to each logic circuit and data is shifted serially from the control register through the shift registers to the logic circuits. A synchronizer circuit is coupled to the shift registers to synchronize data arriving at each section of the shift registers with a shift control signal arriving at the same section of the shift register.Type: GrantFiled: January 31, 2003Date of Patent: November 27, 2007Assignee: Silicon Graphics, Inc.Inventors: David Zhang, Timothy S. Fu
-
Patent number: 7295212Abstract: Methods, systems, and computer program products for blending textures used to render computer generated images are provided. In an embodiment of the invention, a MIP-mapped mask texture is constructed. Each MIP-level of the MIP-mapped mask texture includes texels representative of different mask information. The MIP-mapped mask texture is sampled during rendering to obtain mask information. The obtained mask information is used to blend between textures. The invention is used to blend, for example, between multiple textures wherein, zero, one, or more of the textures are MIP-mapped and/or between different levels of one or more three-dimensional textures. In an embodiment, the most appropriate texture amongst multiple textures, each providing coverage at different resolutions, is selected for a fragment being rendered, thereby avoiding texture scintillation.Type: GrantFiled: April 30, 2003Date of Patent: November 13, 2007Assignee: Silicon Graphics, Inc.Inventor: Paolo Farinelli