Patents Assigned to Sun Microsystems
  • Patent number: 7007086
    Abstract: One embodiment of the present invention provides a system for measuring multi-connection performance of a network interface card (NIC) within a server. During operation, a client establishes a connection to a receiver within the server. Next, the client remains in a wait state until a multicast message is received from a control computer. Upon receiving this multicast message, the client starts sending data to and receiving data from the receiver within the server. Note that the control computer waits until every client that is to communicate with the server has established a connection to the server before sending the multicast message. In this way, the system ensures that all client and server computer systems begin sending and receiving data simultaneously, thereby allowing the system to more accurately measure multi-connection performance.
    Type: Grant
    Filed: June 14, 2002
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Jie Zhu, Ovid C. Jacob
  • Patent number: 7006501
    Abstract: A distributed arbiter prioritizes requests for resources based on the number of requests made by each requester. Each resource gives the highest priority to servicing requests made by the requester that has made the fewest number of requests. That is, the requester with the fewest requests (least number of choices) is chosen first. Resources may be scheduled sequentially or in parallel. If a requester receives multiple grants from resources, the requester may select a grant based on resource priority, which is inversely related to the number of requests received by a granting resource. In order to prevent starvation, a round robin scheme may be used to allocate a resource to a requester, prior to issuing grants based on requester priority.
    Type: Grant
    Filed: July 21, 2000
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Nils Gura, Hans Eberle
  • Patent number: 7007026
    Abstract: A system and method for controlling generation of and access to localized application values to applications. The system includes an administrative interface linked to a running application and to a communications network that is configured for receiving requests for application data from the application. The interface responds by determining obtaining localized application values from a cache or if not cached, from a central database or repository of network localized application values that is also linked to the communications network. Code or mechanisms are provided for creating and populating data structures or objects for storage in the cache. Mechanisms or background threads are also provided for monitoring changes to localized application values in the repository and automatically updating element values in the cache as and when they change.
    Type: Grant
    Filed: December 14, 2001
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Francis M. Wilkinson, Alan John Davis, Bart Dijkstra
  • Patent number: 7007196
    Abstract: A data storage system is disclosed in which a 3-party hand-off protocol is utilized to maintain a single coherent logical image. In particular, the functionality of the data storage system is separated into distinct processing modules. Each processing module is implemented in a distinct central processing unit (CPU). Alternatively, the first type processing module and the third type processing module can be implemented in a common CPU. Isolating the different functions of the data storage system into distinct CPUs facilitates failure recovery. A characteristic of the 3-party hand-off protocol is that, if an abnormal state occurs, a surviving module has sufficient information to proceed to recover from said abnormal state after detecting the abnormal state, without depending on a failing module, by retrying the data storage operation with another processing module or the failing module or cleaning up after the failed data storage operation, resulting in improved failure recovery.
    Type: Grant
    Filed: June 10, 2002
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Whay Sing Lee, Nisha Talagala
  • Patent number: 7007256
    Abstract: The present invention describes a method and an apparatus for determining switching power consumption of global devices (e.g., repeaters, flops or the like) in an integrated circuit design during high-level design phase after the global routing for the integrated circuit is available. The clock cycle is divided into various timing intervals and the timing reports are generated for each cycle to determine a time-domain staggered distribution of each device's switching activity within a given timing interval. Each device's switching activity is analyzed within the given timing interval (or segment thereof). The power consumption is determined for each device that switches in the given timing interval.
    Type: Grant
    Filed: March 6, 2003
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Aveek Sarkar, Shyam Sundar, Peter F. Lai, Rambabu Pyapali
  • Patent number: 7007281
    Abstract: A method for generating information for inclusion in focus events includes maintaining a list of components requesting focus in a selected application, determining whether a target of a first focus event matches a component at a head of the list, and if the target of the first focus event matches the component at the head of the list, marking the component at the head of the list for inclusion in an opposite field of a second focus event.
    Type: Grant
    Filed: May 22, 2001
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Hania Gajewska, David P. Mendenhall
  • Patent number: 7007258
    Abstract: A technique for generating via array is presented. An origin is set in one corner of a bounding box, and the bounding box is filled, according to at least one spacing rule, starting from the origin, with one or more vias. The bounding box can be defined using a width and a length wherein the bounding box is at least co-extensive with an area for via filling. The bounding box can be larger than the area to be filled, for example, to allow for a metal enclosure or to allow for a non-rectangular area such as a polygon to be filled. When the area to be filled is a polygon, a bounding box of the polygon is filled with vias, any vias outside the polygon can be removed, and any vias crossing a polygon edge can be resized or removed.
    Type: Grant
    Filed: June 13, 2003
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Mu-Jing Li
  • Patent number: 7006987
    Abstract: The invention provides a system and method for determining the winner or winners of an on-line auction accepting proxy bids. Proxy bids are bids that do not have a bid price, but instead have ceiling price that indicates the highest price a bidder is willing to bid for goods. The system and method according to the invention are able to sort the bids from highest to lowest and determine a winner or winners depending on the amount of goods being offered for sale. The system then generates a winning bid price by determining the lowest bid required to win the auction. The winning bidder or bidders pay this winning bid price.
    Type: Grant
    Filed: November 15, 2000
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Ying Xie, Elaine Chien, Peter C. Williams
  • Patent number: 7007189
    Abstract: Embodiments of a routing system are disclosed, including a method for routing communications in a storage system. The storage system may include multiple nodes interconnected by an interconnection fabric that provides multiple independent paths between a source node and a destination node. Some nodes may be connected to one or more disk drives. The method may include receiving a communication to be sent from a source node to a destination node, selecting a communication path from the multiple independent paths, and sending the communication on the selected communication path. This process may be repeated so that multiple communications may be sent. Each communication path may be selected according to a preference assigned to it, so that a more preferred path is selected more often than a less preferred path.
    Type: Grant
    Filed: May 7, 2001
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Whay S. Lee, Randall D. Rettberg
  • Patent number: 7007088
    Abstract: A system, apparatus, and a method of memorializing an e-business audit trail are described. As a method, if a message is to be sent to a subscriber by a message service and if an administrator is running, the message is stored in a corresponding topic in the administrator. If, however, the administrator is not running, the message is stored by the message service. When response is received, if the administrator is running, the response is stored the topic in the administrator corresponding to the sent message, whereas if the administrator is not running, the response is stored by the message service. An audit trail is memorialized by retrieving the stored sent message and the corresponding response.
    Type: Grant
    Filed: October 30, 2000
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Farrukh S. Najmi
  • Patent number: 7003979
    Abstract: A structure and method of manufacture for a sorber, wherein a mass of sorbent contained in a sorber enclosure comprises a plurality of sorbent disks stacked in face-to-face relation. The sorbent disks are formed from a solid sorbent material such as zeolite and contain surface features in at least one face of each disk which, when the disks are stacked, form passageways by which sorbate is distributed throughout the mass of sorbent material. In one embodiment, each sorbent disk is annular in shape and has a plurality of radial grooves which extend from the periphery of the disk to the aperture through the center of the disk. The disks are stacked face-to-face and an inner conductor is inserted through the center apertures of the disks. This assembly is then inserted into a conductive housing and is enclosed by a pair of end plugs or caps which are secured to the housing. A port in one of the end caps allows sorbate to enter and exit the sorber enclosure.
    Type: Grant
    Filed: March 13, 2000
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Howard Davidson
  • Patent number: 7007271
    Abstract: The present invention describes a method of efficiently optimizing instruction scheduling and register allocation in a post optimizer. The method removes false register dependencies between pipelined instructions by building an incremental (partial) interference graph of register allocation for scheduled instructions. False dependency graph indicates the amount of parallelism in the data flow graph. The incremental interference graph uses a mix of virtual and physical registers. The interference graph is built incrementally as an instruction schedular schedules each instruction. The optimization is done incrementally on localized code. The physical register mapping is maximized and virtual registers are created on demand basis.
    Type: Grant
    Filed: April 18, 2002
    Date of Patent: February 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Anoop Kumar, Sreekumar Ramakrishnan Nair
  • Publication number: 20060041838
    Abstract: Techniques, systems and apparatus for automatically generating schema using an initial documents constructed in an XML compatible format are disclosed. A method involves providing an initial XML document that and analyzing the XML document to identify the XML data structures in the document and generating a data framework that corresponds to the data structure of the XML document. The data items of the initial XML document are analyzed to determine data constraints based on the data items of the initial XML. Schema are then generated based on the data framework generated and the data constraints determined from the raw xml data. These principles can be implemented as software operating on a computer system, as a computer module, as a computer program product and as a series of related devices and products.
    Type: Application
    Filed: August 23, 2004
    Publication date: February 23, 2006
    Applicant: Sun Microsystems, Inc.
    Inventor: Ayub Khan
  • Patent number: 7003764
    Abstract: The present invention provides a method and apparatus for the lexical analysis of computer source code. The lexical analyzer is dynamically configured at runtime to recognize a one or more reserved words or operators. Thus, the analyzer has the ability to interact with multiple languages. In one or more embodiments of the present invention, the analyzer is instantiated by a host application, for example, the parser of a compiler. The host application adds a list of tokens to the analyzer that must be recognized. These tokens comprise at least a subset of the reserved words and operators of the computer language. In one embodiment, the host application then queries the analyzer for the next token in the source code. In another embodiment, tokens are added during the query phase as needed. In a separate embodiment, tokens are dynamically removed from the analyzer as the needs of the host application change.
    Type: Grant
    Filed: October 12, 2001
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: David S. Allison
  • Patent number: 7002589
    Abstract: A graphics system comprises pixel calculation units and a sample buffer which stores a two-dimensional field of samples. Each pixel calculation unit selects positions in the two-dimensional field at which pixel values (e.g. red, green, blue) are computed. The pixel computation positions are selected to compensate for image distortions introduced by a display device and/or display surface. Non-uniformities in a viewer's perceived intensity distribution from a display surface (e.g. hot spots, overlap brightness) are corrected by appropriately scaling pixel values prior to transmission to display devices. Two or more sets of pixel calculation units driving two or more display devices adjust their respective pixel computation centers to align the edges of two or more displayed images. Physical barriers prevent light spillage at the interface between any two of the display images. Separate pixel computation positions may be used for distinct colors to compensate for color distortions.
    Type: Grant
    Filed: March 16, 2001
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Michael F. Deering
  • Patent number: 7002586
    Abstract: An apparatus and method for splitting vertex streams relating to graphics data into substreams, and processing the substreams in parallel. A graphics subsystem of a computer system includes a vertex splitting module, which determines whether incoming vertex streams are of a unicast, unlocked type, and thus available for splitting, and further whether graphics primitives in the vertex stream are of a type that may be split. If appropriate, the vertex splitting module then locates vertices in the vertex stream, generates substreams from the vertex stream, and transmits the substreams in a load-balanced operation to multiple graphics processors for parallel processing and outputting to an output device. If the vertex stream is too large to store in FIFO queues of the graphics processors, it is not split into substreams.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Kenneth Chiu, Vernon Hu, Michael F. Deering
  • Patent number: 7003778
    Abstract: Techniques for handling exceptions raised during the execution of Java computer programs are disclosed. The techniques can be used by a Java virtual machine to efficiently handle exceptions. A method descriptor is implemented in a Java method frame which is stored in the Java execution stack. The method descriptor provides one or more references to exception handlers associated with the Java method. The references can be used to quickly identify and invoke the appropriate exception handler. This can be achieved without having to use a native language execution stack. As a result, the overhead associated with several returns from native functions (routines or methods) can be avoided since the information needed to invoke the appropriate exception handler can be obtained efficiently from the Java execution stack. Accordingly, the performance of Java virtual machines, especially those operating with limited resources, can be significantly enhanced.
    Type: Grant
    Filed: October 24, 2001
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: Stepan Sokolov
  • Patent number: 7003594
    Abstract: Various embodiments of systems and methods for implementing a streaming I/O protocol are disclosed. In some embodiments, a method may involve: receiving a packet initiating a streaming write operation, where the packet indicates that the size of the streaming write is larger than the size of the packet; initiating a write access having a size larger than the size of the packet to a storage device; receiving subsequent packets included in the streaming write operation; and writing data received in the subsequent packets to the storage device as part of the write access initiated in response to the earlier packet. In some embodiments, streaming read operations may also be supported.
    Type: Grant
    Filed: May 12, 2003
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Chia Y. Wu, Whay Sing Lee, Nisha D. Talagala
  • Patent number: 7003768
    Abstract: One embodiment of the present invention provides a system for efficient class initialization barrier and access to class information private to a task that enables sharing between multiple tasks/virtual machines of both interpreted platform-independent code and the equivalent native code produced at runtime, wherein a class initialization barrier guarantees that a task initializes a class before the class is first used by the program executed by the task. The system operates by associating the shared runtime representation of classes with tables of pointers to task class mirror objects that hold the task private representation of a class. Entries of task class mirror tables are used both as a mean to encode the initialization status of the associated class for a plurality of tasks, and to provide access to the task private representation of a class loaded by a task irrespectively of the initialization state of the class for this task.
    Type: Grant
    Filed: October 9, 2001
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Laurent P. Daynes, Grzegorz J. Czajkowski
  • Patent number: 7003773
    Abstract: A system dynamically generates interfaces on demand during runtime execution of an application containing a plurality of objects. A user object generates a request for an interface of a service object. The service object, if the interface is not available, generates an adapter request and transmits same to an adapter manager. The adapter manager selects an interface adapter based on the adapter request from a library of interface adapters or aggregates a composite adapter and transmits the obtained interface adapter to the service object. The service object enables access from the user object based on the received interface adapter.
    Type: Grant
    Filed: March 26, 2002
    Date of Patent: February 21, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael Hoennig, Markus Meyer