Abstract: A method for managing an asset includes identifying an asset type of the asset, identifying a plurality of categories of the asset type, assembling a plurality of primitive definitions into a native asset interface definition according to the plurality of categories, where the plurality of primitive definitions are stored in a library, where the native asset interface definition is bound to a data acquisition (DAQ) definition, and where the DAQ definition is an interface between a protocol handler and an information model, and adding the native asset interface definition to a DAQ runtime, where the DAQ runtime uses the DAQ definition to manage the asset.
Type:
Application
Filed:
June 22, 2006
Publication date:
February 14, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Arieh Markel, Jordan Thomas Boucher, Peter H. Schow, Brandon Eugene Taylor
Abstract: The present invention provides a method and apparatus for managing data time-outs in a processor-based system. The apparatus includes a scoreboard comprising a plurality of locations adapted to store transaction identifiers, wherein a transaction comprises a first client sending a request to a second client.
Abstract: One embodiment of the present invention provides a system that proactively monitors a disk drive to detect an impending disk drive failure. During operation, the system obtains a time-varying electrical signal which is generated by the spindle rotation during operation of the disk drive. Next, the system extracts one or more inferential parameters associated with the spindle rotation from the time-varying electrical signal using a phase-sensitive detection. The system then performs proactive fault detection on the inferential parameters to detect an impending failure of the disk drive.
Type:
Grant
Filed:
June 13, 2006
Date of Patent:
February 12, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Dan Vacar, David K. McElfresh, Kenny C. Gross, Aleksey M. Urmanov
Abstract: A method and apparatus for controlling power consumption in a processor. In one embodiment, a processor includes a pipeline. The pipeline includes logic for fetching instructions, issuing instructions, and executing instructions. The processor also includes a power management unit. The power management unit is configured to input M stalls into the pipeline every N instruction cycles (where M and N are integer value and wherein M is less than N).
Abstract: A system and method for scheduling communications from a communication interface. Each of multiple send queues is associated with a destination and assigned to a logical communication channel. A list of stalled queues identifies those send queues for which a constraint restricts scheduling. When a queue is to be selected for service, a scheduler first attempts to find a member of the stalled queues list that is no longer stalled (e.g., any constraints were satisfied). Such a queue is selected for service if it exists. If there is no such queue, then all logical channels are examined and, from a list of send queues assigned to a selected logical channel, a send queue is selected for servicing. After a queue is scheduled from the stalled queues list, the list of queues assigned to its logical channel is adjusted (e.g., to place the queue at the tail of the list).
Abstract: Embodiments of the present invention are directed to a method and system for processing data to be transmitted in a transmission medium, including storing in memory a segment of data to be transmitted where the segment of data is larger than the largest size data packet allowed for transmission by the transmission medium. A socket layer batch processes the segment to produce an array of linked data blocks where each data block is smaller than the largest transmission size of the TCP layer. A TCP layer batch processes the array to add a first header to each block of the array of linked data blocks. An IP layer batch processes the array to add a second header to each block of the array of linked data blocks. The socket layer then identifies blocks of the array to a communication subsystem for individual packet communication over the transmission medium.
Type:
Grant
Filed:
October 10, 2003
Date of Patent:
February 12, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Sunay Tripathi, Cahya A. Masputra, Bruce W. Curtis
Abstract: Software techniques are employed to mitigate soft errors. In particular, a compiler (or other executable code generator) may emit otherwise duplicative instructions targeting otherwise duplicative storage locations to facilitate run-time detection and, in some cases, mitigation of soft errors. In general, a compiler emits a program sequence of primary instructions that correspond to source code. However, in addition, for those primary instructions that target storage susceptible to soft errors, the compiler may emit corresponding additional instructions that target additional storage. In some implementations the additional storage is not itself susceptible to soft errors. However, more generally, implementations may tolerate soft errors affecting the additional storage, as long as such soft errors are generally uncorrelated with those affecting the storage targeted by the primary instructions.
Abstract: A method for graphically tracking progression of instructions through hardware components. Instructions of a code segment are defined by graphical icons where each graphical icon has a displayable appearance that identifies a type of instruction. The method tracks each graphical icon when simulating execution of the code segment through the hardware components. The method then displays a progression of each graphical icon through the hardware components during execution of the code segment.
Abstract: A method for detecting a dependence violation in an application that involves executing a plurality of sections of the application in parallel, and logging memory transactions that occur while executing the plurality of sections to obtain a plurality of logs and a plurality of temporary results, where the plurality of logs is compared while executing the plurality of sections to determine whether the dependence violation exists.
Type:
Application
Filed:
June 26, 2006
Publication date:
February 7, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Phyllis E. Gustafson, Miguel Angel Lujan Moreno, Michael H. Paleczny, Christopher A. Vick, Olaf Manczak, Jay R. Freeman
Abstract: One embodiment of the present invention provides a system that facilitates performing proximity-based addressing in a platform-independent virtual machine. During execution of a program on the platform-independent virtual machine, the system receives an instruction and a parameter associated with the instruction that can be used to generate a reference to a program element associated with the instruction. Next, the system examines information encoded within the parameter to determine a proximity of the reference, and then uses the parameter to generate the reference to the program element, wherein the proximity of the reference determines how the reference is generated from the parameter.
Abstract: A system for permitting orderly shutdown of electronic components. The system includes an enclosure populated with one or more electronic components. A fan positioned within the enclosure generates an airflow across the one or more electronic components, the airflow being cooled by a heat exchanger. A phase change material is positioned within the enclosure to absorb heat from the airflow in the event of a failure associated with the heat exchanger.
Abstract: A system and method for shared buffering of InfiniBand virtual lanes and queue pairs. Instead of allocating dedicated memory space (e.g., a set of FIFO queues), a shared memory dynamically accommodates traffic received on different virtual lanes and/or queue pairs of an InfiniBand network. A multi-port RAM comprises memory buckets or elements for storing contents of InfiniBand packets. For each queue pair and/or virtual lane, matching head and tail pointers identify the first and last elements of a linked list of traffic buffered from that queue pair or virtual lane. A multi-port control structure mirrors the RAM. For each node in a queue pair or virtual lane's linked list, a corresponding entry in the control structure relates to the corresponding memory element and stores an identifier of the memory element and control entry corresponding to the next node in the linked list.
Abstract: A system and method for adding speech recognition to graphics user interface based applications for a computer system is described. The speech recognition system provides a profile generation module that enables users to create editable profiles of grammar and corresponding actions that may be used by a speech agent and in combination with an accessibility framework to drive that application based on the user's spoken commands.
Type:
Grant
Filed:
April 11, 2003
Date of Patent:
February 5, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Richard N. Burridge, William D. Walker, Peter A. Korn, Oliver Braun
Abstract: Embodiments of the present invention relate to a method and mechanism for managing location information in a wireless portal environment. The method consists of acquiring the location information from a user's location-enabled wireless device which is in communication with a wireless network, storing the location information in a storage device in the wireless network, retrieving the location information from the storage device in the wireless network, and disseminating the location information to a client which is also in communication with the wireless network. A client can be any type of network presence that is enabled to provide services that are enhanced with knowledge of a user's physical location in a wireless portal environment. The location information can be geophysical information derived from global positioning system (GPS) or any other location-specific information from a suitable source.
Abstract: The present invention relates to handling interrupts in a multiprocessor system. An interrupt controller can receive input from a variety of interrupt sources, such as peripheral components and peripheral interfaces. Interrupts and their associated characteristics are identified. In one example, interrupt characteristics can be compared with characteristics of other interrupts handled by processors in the multiprocessor system. Interrupt characteristics are used to select a processor to run a routine for handling the associated interrupt. Intelligent selection provides efficient and effective distribution of interrupts.
Abstract: A system for group key management including a keying material infrastructure including a root portion configured to store a root public key, a key encryption key portion operatively connected to the root portion configured to store a traffic encryption key encrypted using a symmetric key encryption key, and a public key encryption key, and a first client operatively connected the key encryption key portion configured to store the symmetric key encryption key encrypted using a first client symmetric key, and a first group member configured to access the traffic encryption key using the first client symmetric key.
Abstract: A mobile agent may be provided for collaborative content control in peer-to-peer networks. A peer may launch a mobile agent including an itinerary of peers to be visited and indications of one or more documents that the peers are collaboratively editing. The mobile agent may visit peers indicated by the itinerary to collect version information for the document(s). The mobile agent may return the version information to the initiating peer, which may coordinate each of the document(s) on the peer to a most recent version in accordance with the version information provided by the mobile agent. Visited peers may use the payload to determine if their version of the document(s) are up to date and, if not, may add a version update request to the payload. The initiating peer may send the most recent version information to peers that added version update requests to the payload.
Type:
Grant
Filed:
October 31, 2002
Date of Patent:
February 5, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
William J. Yeager, Rita Y. Chen, Juan C. Soto
Abstract: In accordance with the invention, a data storage system for storing and retrieving fixed data content includes: a storage system network; one or more peer node computer systems interconnected by the storage system network; and at least one disklet stored on at least one of the one or more peer node computer systems, the disklet for execution on the data storage system using data that are stored on, being written to, or being read from the data storage system. In one embodiment, a disklet includes executable program code and a disklet interface that permits the program code of the disklet to be loaded on to the data storage system and executed on the data storage system by a user.
Type:
Grant
Filed:
June 30, 2004
Date of Patent:
February 5, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Steven Richard Waterhouse, Sherif M. Botros, Patrick Gates, Akhil Arora
Abstract: We propose a new form of software transactional memory (STM) designed to support dynamic-sized data structures, and we describe a novel non-blocking implementation. The non-blocking property we consider is obstruction-freedom. Obstruction-freedom is weaker than lock-freedom; as a result, it admits substantially simpler and more efficient implementations. An interesting feature of our obstruction-free STM implementation is its ability to use of modular contention managers to ensure progress in practice.
Type:
Grant
Filed:
July 16, 2003
Date of Patent:
February 5, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Mark S. Moir, Victor M. Luchangco, Maurice Herlihy
Abstract: A prefetching technique for a network interface is provided to give the network interface the opportunity to prefetch data out-of-order into send queues in the network interface, rather than prefetching data in the order produced and deposited into main memory. That allows, the state of the send queues to be taken into consideration when deciding an appropriate order to prefetch data.