Patents Assigned to Sun Microsystems
  • Patent number: 7584478
    Abstract: Methods and apparatuses are disclosed for sending data from a process to an event dispatch thread for output, where the event dispatch thread handling events may be related to a user interface. The method may include the steps of providing the process. The process and the event dispatch thread executing independent of one another and the process generating a first method call during execution of the process and a final result upon completion of execution, where the first method call includes a partial result generated by the executing process. The method may further include sending the first method call, storing the first method, including coalescing the first method call with an existing method call, retrieving the partial result from the first method call, and outputting the retrieved first method call on the event dispatch thread such that the partial result is displayed to a user.
    Type: Grant
    Filed: February 8, 2005
    Date of Patent: September 1, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Igor D. Kushnirskiy, Scott R. Violet
  • Patent number: 7584174
    Abstract: The invention proposes a directory server system having a master server and a non-master server, each server being capable of storing directory server data comprising updates. The master server is capable of sending selected updates to the non-master server, and the non-master server (512) has: a dependency checker (5224) operable for determining whether each update received from the master server (510) depends on other updates among the selected updates, and if not for sending the update to an update application function (5220), the update application function being operable for applying the updates received from the dependency checker in the non-master server directory server data.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: September 1, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Marcos Ares Blanco, Joseph Reveane
  • Publication number: 20090217253
    Abstract: A computer program is speculatively parallelized with transactional memory by scoping program variables at compile time, and inserting code into the program at compile time. Determinations of the scoping can be based on whether scalar variables being scoped are involved in inter-loop non-reduction data dependencies, are used outside loops in which they were defined, and at what point in a loop a scalar variable is defined. The inserted code can include instructions for execution at a run time of the program to determine loop boundaries of the program, and issue checkpoint instructions and commit instructions that encompass transaction regions in the program. A transaction region can include an original function of the program and a spin-waiting loop with a non-transactional load, wherein the spin-waiting loop is configured to wait for a previous thread to commit before the current transaction commits.
    Type: Application
    Filed: February 22, 2008
    Publication date: August 27, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Yonghong Song, Xiangyun Kong, Spiros Kalogeropulos, Partha P. Tirumalai
  • Publication number: 20090217214
    Abstract: A method for indentifying instances of a smaller circuit in a larger circuit is disclosed. Both the smaller circuit and the larger circuit have a plurality of vertices. A vertex is one of a device or a net. The device, such a transistor, includes a Gate, a Drain, and a Source. The net is a wired connection between devices. In this method, one initial unique label is assigned to each of the plurality of vertices, each of a plurality of connection-types, power connection, and ground connection. A zero label is assigned to each of an input/output ports and a same initial unique label is assigned to same types of circuit components. Then each net is relabeled using labels of neighboring vertices. The neighboring vertices of a vertex are vertices that are directly connected to the vertex. Then, each device in the plurality of vertices is relabeled using labels of neighboring vertices excluding a label of a vertex that is connected to the Gate of the each device.
    Type: Application
    Filed: February 21, 2008
    Publication date: August 27, 2009
    Applicant: Sun Microsystems, Inc.
    Inventor: Douglas C. Meserve
  • Publication number: 20090216990
    Abstract: A virtual configuration system, comprising a virtualization engine and a configuration engine, for the dynamic instantiation of configuration files is disclosed. A mechanism is disclosed that allows for transactional updates to a repository of configuration settings comprising multiple files. Configuration entries are stored in a first memory location and a copy of the entries is stored in a second memory location. A virtual configuration file that includes a virtual configuration for each entry is created and used to provide the operating system with path and location information regarding the configuration entries. Simultaneously and during run-time of the computer, the configuration entries stored in the second memory location can be modified. Once the modifications are complete, a second virtual configuration file is created referencing the configuration entries stored at the second memory location.
    Type: Application
    Filed: February 21, 2008
    Publication date: August 27, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Christopher A. Vick, Michael H. Paleczny, Olaf Manczak
  • Publication number: 20090217277
    Abstract: A device, system, and method are directed towards managing power consumption in a computer system with one or more processing units, each processing unit executing one or more threads. Threads are characterized based on a cycles per instruction (CPI) characteristic of the thread. A clock frequency of each processing unit may be configured based on the CPI of each thread assigned to the processing unit. In a system wherein higher clock frequencies consume greater amounts of power, the CPI may be used to determine a desirable clock frequency. The CPI of each thread may also be used to assign threads to each processing unit, so that threads having similar characteristics are grouped together. Techniques for assigning threads and configuring processor frequency may be combined to affect performance and power consumption. Various specifications or factors may also be considered when scheduling threads or determining processor frequencies.
    Type: Application
    Filed: February 27, 2008
    Publication date: August 27, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Darrin Paul Johnson, Eric Christopher Saxe, Bart Smaalders
  • Patent number: 7580580
    Abstract: A method for compressing two color anti-aliased images takes advantage of the fact that when two color anti-aliased images are present, it is often the case that the two base colors appear in adjacent or continuous series or “runs” of pixels representing the same color. According to one embodiment to the present invention, these runs are identified and then the color and run length are encoded to produce increased compression efficiency.
    Type: Grant
    Filed: July 12, 2005
    Date of Patent: August 25, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Richard G. Fell, Thomas G. O'Neill, Jordan M. Slott
  • Patent number: 7581141
    Abstract: In one embodiment, a method and apparatus for high-efficiency time-series archiving for computer server telemetry signals are disclosed. The method includes maintaining a data structure in a kernel module that identifies information related to a system including the kernel module, the information to be manipulated by the kernel module, comparing, by a kernel in the system that loads the kernel module, the data structure of the kernel module with one or more other data structures of kernel modules the kernel loads, and performing, by the kernel, an error routine if an incompatibility is found between the data structure and the one or more other data structures. Other embodiments are also disclosed.
    Type: Grant
    Filed: March 1, 2006
    Date of Patent: August 25, 2009
    Assignee: Sun Microsystems, Inc.
    Inventor: John M. Harres
  • Patent number: 7581215
    Abstract: We present a technique to perform dependence analysis on more complex array subscripts than the linear form of the enclosing loop indices. For such complex array subscripts, we decouple the original iteration space and the dependence test iteration space and link them through index-association functions. The dependence analysis is performed in the dependence test iteration space to determine whether the dependence exists in the original iteration space. The dependence distance in the original iteration space is determined by the distance in the dependence test iteration space and the property of index-association functions. For certain non-linear expressions, we show how to transform it to a set of linear expressions equivalently. The latter can be used in dependence test with traditional techniques. We also show how our advanced dependence analysis technique can help parallelize some otherwise hard-to-parallelize loops.
    Type: Grant
    Filed: June 24, 2004
    Date of Patent: August 25, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Yonghong Song, Xiangyun Kong
  • Patent number: 7580703
    Abstract: A method for delivering a non-MIDlet application to a device associated with a connected device configuration (CDC) through an over the air (OTA) mobile information device profile (MIDP) protocol is provided. The method initiates with prefixing an identifier for the non-MIDlet application, wherein the identifier is configured to imply a MIDlet application. The method includes requesting the non-MIDlet application and determining a type of the non-MIDlet application. Then, the non-MIDlet application is managed with an interface application associated with the type of the application. A system and device configured to download a non-MIDlet application through a mobile information device profile (MIDP) are provided.
    Type: Grant
    Filed: March 11, 2004
    Date of Patent: August 25, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Pavel S. Veselov, Dianna L. Decristo
  • Patent number: 7581052
    Abstract: A method and apparatus for distributing multiple interrupts among multiple processors is disclosed. According to one embodiment, an interrupt daemon monitors the interrupt load among the processors that results from an initial mapping of the interrupts to the processors. The interrupt daemon determines whether there is a sufficient imbalance of the interrupts among the processors. If so, the interrupt daemon triggers a reassignment routine that generates a new mapping of the interrupts among the processors, and if not, the interrupt daemon goes to sleep for a specified time period. If the new mapping produces a sufficient improvement in the distribution of interrupts among the processors, based on the same criteria used to detect the imbalance, the new mapping is used by the central hub for subsequent distribution of interrupts to the processors. However, if the new mapping does not provide a sufficient improvement, the original mapping continues to be used.
    Type: Grant
    Filed: August 22, 2005
    Date of Patent: August 25, 2009
    Assignee: Sun Microsystems, Inc.
    Inventor: Ethan Solomita
  • Patent number: 7580991
    Abstract: Various methods, apparatuses, and systems that configure a digital image for a target server, build the digital image, and deploy the digital image onto the target server.
    Type: Grant
    Filed: January 7, 2002
    Date of Patent: August 25, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Lyle N. Scheer, Jonathan M. Traxler
  • Publication number: 20090210862
    Abstract: A method for displaying a user-defined artifact in a debugger view is provided. The user-defined artifact is defined in a software application that is developed by a computer software application developer. The software application is included in a packaged application that includes instructions, with each instruction being either a user-defined instruction or a non-user defined instruction. A breakpoint is defined at a desired instruction of the packaged application. The method includes initiating debugging of the packaged application and hitting the breakpoint defined at the desired instruction. Also included is identifying the user-defined artifact in the software application and obtaining data to populate the debugger view. Further included is filtering-in data associated with the user-defined artifact and displaying the debugger view showing the filtered-in data. The method also includes marking data not associated with the user-defined artifact and stepping through the user-defined instruction.
    Type: Application
    Filed: September 17, 2004
    Publication date: August 20, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Sreenivasa R. Viswanadha, Prakash Narayan
  • Publication number: 20090210683
    Abstract: Embodiments of the present invention provide a system that executes a branch instruction. When executing the branch instruction, the system obtains a stored prediction of a resolution of the branch instruction and fetches subsequent instructions for execution based on the predicted resolution of the branch instruction. If an actual resolution of the branch instruction is different from the predicted resolution (i.e., if the branch is mispredicted), the system updates the stored prediction of the resolution of the branch instruction to the actual resolution of the branch instruction. The system then re-executes the branch instruction. When re-executing the branch instruction, the system obtains the stored prediction of the resolution of the branch instruction and fetches subsequent instructions for execution based on the predicted resolution of the branch instruction.
    Type: Application
    Filed: February 19, 2008
    Publication date: August 20, 2009
    Applicant: Sun Microsystems, Inc.
    Inventor: Paul Caprioli
  • Patent number: 7577542
    Abstract: One embodiment of the present invention provides a system that dynamically adjusts data resolution during proactive-fault-monitoring in a computer system. During operation, the system temporarily stores high-resolution data for a telemetry signal from the computer system in a buffer. The system then generates low-resolution data for the telemetry signal from the high-resolution data. Next, the system monitors the low-resolution data, and while doing so, determines if an anomaly exists in the low-resolution data. If an anomaly exists in the low-resolution data, the system records the high-resolution data from the buffer on a storage device.
    Type: Grant
    Filed: April 11, 2007
    Date of Patent: August 18, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Dan Vacar, David K. McElfresh, Kenny C. Gross
  • Patent number: 7577101
    Abstract: A method and apparatus are provided for performing health check requests on one or more network devices or network resources. The method and apparatus provide a build tool for building a health check request having an extensible data format adaptable to a protocol supported by the network device or network resource of concern. The health check request can be built using data captured from a unit of network traffic on a transmission medium or with data provided via a user interface, or a combination of both. A health check request built using the method or apparatus can support any protocol including proprietary protocols avoiding the need for a requestor to learn a protocol format in order to build a health check request checking an operational characteristic of a network device or network resource. The method and apparatus allow this to be accomplished using data captured from a successful transaction.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: August 18, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: David A. Choiniere, Timothy J. Knight, Darren J. Hayduk, Venu G. Moogala, Mark E. Pawela
  • Patent number: 7577712
    Abstract: A technique in accordance with one embodiment of the invention uses an adaptive algorithm to obtain UDAPL event messages. According to one aspect, a process repetitively performs the following steps as long as the process expects to receive at least one event message. By polling the event message queue at least once, the process determines whether the queue is empty. If the queue is empty, then the process blocks until specified criteria have been satisfied. Alternatively, if the queue is not empty, the process reads an event message from the queue. After the process has either read an event message from the event message queue or finished blocking, the foregoing steps are repeated if the process still expects to receive at least one more event message. According to one aspect, when the process blocks, the process blocks only until a specified number of event messages have arrived in the queue.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: August 18, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Nitin R. Ramannavar, Neelakanth M. Nadgir
  • Patent number: 7574918
    Abstract: A system that detects vibrations from a mechanical component, such as a disk drive. The system includes an excitation rod, a membrane, and a microphone. During operation, the mechanical component is coupled to the excitation rod which is coupled to the membrane, so that vibrations from the mechanical component are mechanically coupled through the excitation rod to the membrane. The membrane then converts the mechanical vibrations into acoustic waves that are transmitted through a medium. The microphone detects the acoustic waves in the medium and converts the acoustic waves into signals.
    Type: Grant
    Filed: November 6, 2006
    Date of Patent: August 18, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: George Popescu, Kenny C. Gross, Aleksey M. Urmanov
  • Patent number: 7577834
    Abstract: Embodiments of a system and method using message authentication with message gates are described. A message gate is the message endpoint for a client or service in a distributed computing environment. A message gate may provide a secure endpoint that sends and receives type-safe messages. Gates may perform the sending and receiving of messages between clients and services using a protocol specified in a service advertisement. In one embodiment, the messages are eXtensible Markup Language (XML) messages. For a client, a message gate represents the authority to use some or all of a service's capabilities. Each capability may be expressed in terms of a message that may be sent to the service. Creation of a message gate may involve an authentication service that may authenticate the client and/or service and that generates an authentication credential. A message gate may perform verification of messages against a message schema to ensure that the messages are allowed.
    Type: Grant
    Filed: August 31, 2000
    Date of Patent: August 18, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Bernard A. Traversat, Thomas E. Saulpaugh, Michael J. Duigou, Gregory L. Slaughter
  • Patent number: 7577704
    Abstract: A method for setting up an schema to control data-exchange within a groupware environment is provided. The groupware environment has an administrator. A customized attribute associated with the data-exchange within the groupware environment is defined. A preferred customized attribute value for the groupware environment is identified. A preferred customized attribute value for a participant of the groupware environment is determined. A policy for the data-exchange between the participant of the groupware environment and the administrator of groupware environment based on the preferred customized attribute value of the groupware environment and the preferred customized attribute value of the participant is determined.
    Type: Grant
    Filed: August 31, 2005
    Date of Patent: August 18, 2009
    Assignee: Sun Microsystems, Inc.
    Inventor: Prabhat L. Hegde