Patents Assigned to Silicon Graphics, Inc.
  • Patent number: 7401116
    Abstract: 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: Grant
    Filed: March 29, 2002
    Date of Patent: July 15, 2008
    Assignee: Silicon Graphics, Inc.
    Inventors: Alex Chalfin, Ryan Smith
  • Publication number: 20080168182
    Abstract: 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: Application
    Filed: January 5, 2007
    Publication date: July 10, 2008
    Applicant: SILICON GRAPHICS, INC.
    Inventors: Paul R. Frank, Gregory M. Thorson, Russell L. Nicol, Donglai Dai, Joseph M. Placek
  • Patent number: 7398359
    Abstract: 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: Grant
    Filed: April 30, 2004
    Date of Patent: July 8, 2008
    Assignee: 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: 7388582
    Abstract: 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: Grant
    Filed: April 26, 2007
    Date of Patent: June 17, 2008
    Assignee: Silicon Graphics, Inc.
    Inventor: Paolo Farinelli
  • Patent number: 7385614
    Abstract: 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: Grant
    Filed: March 28, 2005
    Date of Patent: June 10, 2008
    Assignee: Silicon Graphics, Inc.
    Inventor: Hansong Zhang
  • Patent number: 7386680
    Abstract: 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: Grant
    Filed: April 28, 2006
    Date of Patent: June 10, 2008
    Assignee: Silicon Graphics, Inc.
    Inventors: John Carter, Randal S. Passint, Liqun Cheng, Donglai Dai
  • Publication number: 20080131008
    Abstract: 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: Application
    Filed: February 11, 2008
    Publication date: June 5, 2008
    Applicant: Silicon Graphics, Inc.
    Inventors: Robert A. DREBIN, David (Chi-Shung) Wang, Christopher J. Migdal
  • Patent number: 7370154
    Abstract: 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: Grant
    Filed: February 24, 2004
    Date of Patent: May 6, 2008
    Assignee: Silicon Graphics, Inc.
    Inventor: Tomasz Kaczynski
  • Patent number: 7362335
    Abstract: 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: Grant
    Filed: July 19, 2002
    Date of Patent: April 22, 2008
    Assignee: Silicon Graphics, Inc.
    Inventor: Radomir Mech
  • Patent number: 7358974
    Abstract: 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: Grant
    Filed: January 29, 2002
    Date of Patent: April 15, 2008
    Assignee: Silicon Graphics, Inc.
    Inventors: David R. Blythe, Marc Schafer, Paul Jeffrey Ungar, David Yu
  • Patent number: 7356026
    Abstract: 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: Grant
    Filed: December 14, 2001
    Date of Patent: April 8, 2008
    Assignee: Silicon Graphics, Inc.
    Inventors: Steven L. Scott, Chris Dickson, Steve Reinhardt
  • Publication number: 20080049030
    Abstract: 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: Application
    Filed: August 24, 2007
    Publication date: February 28, 2008
    Applicant: Silicon Graphics, Inc.
    Inventor: Phillip Keslin
  • Patent number: 7333516
    Abstract: 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: Grant
    Filed: July 20, 2000
    Date of Patent: February 19, 2008
    Assignee: Silicon Graphics, Inc.
    Inventors: Mark Ronald Sikkink, William A. Huffman, Vernon W. Swanson, Nan Ma, Randal S. Passint
  • Publication number: 20080040689
    Abstract: 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: Application
    Filed: October 12, 2007
    Publication date: February 14, 2008
    Applicant: Silicon Graphics, Inc.
    Inventors: Ravin Balakrishnan, Gordon Kurtenbach, George Fitzmaurice
  • Patent number: 7330587
    Abstract: 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: Grant
    Filed: October 1, 2003
    Date of Patent: February 12, 2008
    Assignee: Silicon Graphics, Inc.
    Inventors: Robert A. Drebin, David (Chi-Shung) Wang, Christopher J. Migdal
  • Patent number: 7327167
    Abstract: 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: Grant
    Filed: April 28, 2005
    Date of Patent: February 5, 2008
    Assignee: Silicon Graphics, Inc.
    Inventor: Rodney Ruesch
  • Publication number: 20080010284
    Abstract: 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: Application
    Filed: April 16, 2007
    Publication date: January 10, 2008
    Applicant: SILICON GRAPHICS, INC.
    Inventor: Kenneth Beck
  • Publication number: 20080005196
    Abstract: 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: Application
    Filed: April 16, 2007
    Publication date: January 3, 2008
    Applicant: SILICON GRAPHICS, INC.
    Inventor: Kenneth Beck
  • Patent number: 7302027
    Abstract: 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: Grant
    Filed: January 31, 2003
    Date of Patent: November 27, 2007
    Assignee: Silicon Graphics, Inc.
    Inventors: David Zhang, Timothy S. Fu
  • Patent number: 7295212
    Abstract: 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: Grant
    Filed: April 30, 2003
    Date of Patent: November 13, 2007
    Assignee: Silicon Graphics, Inc.
    Inventor: Paolo Farinelli