Abstract: Efficient development of conventional web applications suggests extensive and thorough knowledge of web page delivery technologies such as HTML, Java, and JSPs. A rendering framework to define the static, cosmetic, “window dressing” type of content, replicated across multiple pages, in a single JSP template file which can then incorporate or include the dynamic, active content from other files, mitigates development inefficiencies. Such a rendering framework represents each screen output page by a file including the active content, while avoiding replication of the static content. Such inclusions may be nested in a hierarchical manner to enumerate the static content in one file and allow a web application to include active content according to a hierarchical inheritance. Metadata components, such as XML files, include the active content according to a predetermined declarative syntax, thereby facilitating implementation, which the framework then interprets into a resulting output page such as a JSP page.
Type:
Grant
Filed:
December 23, 2003
Date of Patent:
November 11, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
B.J. Herbison, Shadrack K. Kilemba, Peter J. Chestna, Andres M. Perez
Abstract: A decoupling package stack including a circuit board, a substrate mounted on and electrically coupled to the circuit board, a semiconductor die mounted on and electrically coupled to the substrate a deformable elastomeric support mounted on the substrate, one or more mounts coupled to the circuit board and a heatsink. The heatsink includes a contoured heatsink base having a spacer attached thereto, the spacer operable to determine and maintain a desired bondline of a first thermal interface material (TIM) between the semiconductor die and the contoured heatsink base. The heatsink also includes one or more contact portions for contacting the deformable elastomeric support and one or more compressing surfaces coupled to the one or more mounts. A method for assembling a decoupling package stack.
Abstract: An improved mechanism for tracking the execution progress of a task is disclosed. In one implementation, the execution progress of a parent task and one or more child tasks is monitored. The parent task spawns the one or more child tasks, and the child tasks execute concurrently with the parent task. In addition to monitoring the execution progress of the tasks, an overall execution progress value is determined for the parent task. In one implementation, the overall execution progress value is determined based, at least partially, upon the execution progress of the parent task and the execution progress of at least one of the child tasks. By taking the execution progress of the child tasks into account, the overall execution progress value reflects not just the progress made by the parent task itself but also the progress made by the child tasks that it spawned.
Abstract: Systems and methods are described for providing queue pair numbers for a queue pair to more effectively track and manage the frequency of use and re-use of queue pair numbers on a queue pair context basis in an InfiniBand™ device. The present invention uses a counter for each queue pair context to set the changeable portion of the queue pair number. A reference count for each queue pair context is also used to track the quantity of queue pair numbers currently allocated to a queue pair context. The present invention sets, tracks and manages the values of the counter and the reference count for each queue pair context in conjunction with queue pair operations to provide a systematic queue pair numbering scheme. By tracking and/or setting values of the counter and reference count for a queue pair context, the present invention re-uses queue pair numbers efficiently and in a predictable and repeatable manner.
Abstract: A method for accuracy-aware analysis of a program involving obtaining source code for the program comprising a floating point variable, instrumenting the source code to associate an accuracy-aware tracking structure with the floating-point variable to obtain instrumented source code, compiling to instrumented source code to obtain instrumented compiled code, and executing the instrumented compiled code, wherein executing the instrumented compiled code comprises using the accuracy-aware tracking structure to track an operation on the floating-point variable.
Type:
Grant
Filed:
February 23, 2004
Date of Patent:
November 4, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
John L. Gustafson, Phyllis E. Gustafson
Abstract: Systems consistent with the present invention perform quiescence of a network storage system in a storage virtualization environment including a virtualization layer that interfaces between a host and at least one storage device, wherein the virtualization layer defines at least one virtual volume comprising objects defining a mapping to data in the at least one storage device and storing information about a state of the at least one storage device in a virtualization database that is distributed across more than one processor in the virtualization layer. A quiescence instruction may be implemented to maintain reliability and scalability of the storage virtualization environment.
Type:
Grant
Filed:
February 27, 2004
Date of Patent:
November 4, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Kevin Faulkner, Wai Yim, Rod DeKoning, David Kopper
Abstract: A method for providing verification for a simulation design, including obtaining the simulation design comprising a programming language interface system call, encoding a target of the programming language interface system call into the simulation design to obtain a first modified simulation design, modifying the programming language interface system call to reference the target in the first modified simulation design to obtain a second modified simulation design, and verifying the second modified simulation design using a simulation testbench.
Type:
Grant
Filed:
September 29, 2003
Date of Patent:
November 4, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
William K. Lam, Mohamed Soufi, Victor A. Chang
Abstract: A system that facilitates distinguishing between soft errors and the onset of hardware degradation in a computer system. During operation, the system receives notifications of correctable-error events from a plurality of memory components. The system then averages numbers of correctable-error events from the plurality of memory components to generate an average number of correctable-error events across the plurality of memory components. The system subtracts the number of correctable-error events for a given memory component in a given time interval from the average number of correctable-error events to generate a residual number of correctable-error events for the given memory component in the given time interval.
Type:
Grant
Filed:
August 1, 2005
Date of Patent:
November 4, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
John J. Cooley, Kenny C. Gross, Aleksey M. Urmanov
Abstract: Methods, systems, and articles of manufacture provide a single multi-language source code file and effects single-language executable files from the multi-language source code file. A program extracts text elements in the first language from the source code. The extracted text elements include context information that identifies a location of the text element in the first language in the source code. Translations of the extracted text elements in a second language are obtained. The translations of the text elements in the second language are merged into the source code at merge locations based on the context information. Versions of the source code in the first language and the second language are then generated.
Abstract: A method and apparatus for compressing uncompressed data by applying a transform prior to the application of a data compression scheme. At decompression time, a transform can be applied after a data decompression scheme has been applied to compressed data.
Abstract: Embodiments of the present invention are directed to a method and apparatus for integration of URL's into standard file systems of a local computer. In one embodiment of the present invention, the file system (e.g., a Uniform File System (UFS)) of a local computer is integrated with an Internet protocol, such as the Hyper Text Transport Protocol (HTTP). Once the protocol has been integrated into the file system of the local computer, applications running on local computer can access any Web based documents under that protocol. Thus, the local applications (and/or users) can access these Web based documents (and/or files) as if they are local files even though the documents are actually located on the Internet (and away from the local computer). In a further embodiment, the applications (and/or users) are able to access these Web based documents by utilizing a relating apparatus that relates the applications (and/or users) to their corresponding Web based documents.
Abstract: The present invention is directed toward dynamic downloading of keyboard keycode data to a networked client. According to one or more embodiments of the present invention, a user logs into a networked client by presenting a smart card to a card reader attached to the client (or by some other authentication mechanism) and enters a PIN into the keyboard. The keycodes entered by the user logging into the client are obtained, translated into ASCII characters, and presented to the smart card. If the PIN is correct, the user is able to log in, otherwise the log in fails. In one embodiment, when the user enters the PIN, a translation table is downloaded from the server into the client. The client uses the translation table to convert the keycodes to ASCII text and presents the ASCII text to the smart card for authentication.
Abstract: A method and mechanism of enforcing community access control in a computer network, wherein access to objects by users and processes is controlled. A Multi-Community Node (MCN) processes information for users in multiple communities and must enforce a community separation policy. The enforcement method and mechanism use a database of associations of sets of communities corresponding to users, processes, and system objects. Upon receiving a request for access to an object by a user, the MCN permits access if a user community set (UCS) of the user is a superset of an object community set (OCS) of the object; otherwise, access is denied. Upon receiving a request for access to an object by a process, the MCN permits access if an application process community set (ACS) of the process is a superset the OCS of the object; otherwise, access is denied.
Abstract: One embodiment of the present invention provides a system that buffers data inside of a byte-stream protocol at a transport layer on a client, which is receiving the data from an external source. The system operates by receiving a configuration parameter at the transport layer from an application executing on the client, wherein the configuration parameter specifies a condition upon which data buffered at the transport layer is to be sent to the application. The system then buffers data destined for the application at the transport layer on the client, and sends the buffered data to the application when the condition specified by the configuration parameter is met. Buffering data at the transport layer on the client facilitates more efficient processing of system calls.
Type:
Grant
Filed:
March 24, 2006
Date of Patent:
November 4, 2008
Assignee:
Sun Microsystems, Inc.
Inventors:
Bruce W. Curtis, Darrin P. Johnson, Hsiao-Keng J. Chu
Abstract: A hard disk drive bracket including a bezel, a lever arm attached to the bezel rotatably between a closed position against the bezel and an open position apart from the bezel, and a unitarily formed body attached to the bezel. The lever arm includes an extension on the rotating end. The unitarily formed body includes a locking member adapted to secure the lever arm in the closed position and a release button arranged to release the locking member when the release button is depressed. The unitarily formed body may be adapted to serve as a horn attached to the bezel rotatably between a natural position in which the locking member impedes the path of the lever arm, and a forced position in which the locking member is clear of the path of the lever arm.
Type:
Application
Filed:
September 5, 2007
Publication date:
October 30, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Timothy W. Olesiewicz, Brett C. Ong, William A. De Meulenaere
Abstract: A battery-backed cache system with a pluggable battery module. The system includes a RAID controller and a cache. A back up power board is provided upon which a second power connector is provided and the two power connectors are connected. A socket assembly is mounted on the board and is connected to the second power connector. The socket assembly is a standard socket for use with PC Cards and includes a bulkhead adapter for mounting to a case wall with a slot of the socket assembly accessible through the case wall. A battery module is included having a body with dimensions corresponding to the slot. A battery is positioned within the body and a connection interface is provided in the battery module for mating with the socket assembly. The body and connection interface of the battery module comply with PCMCIA specifications for card bodies and interfaces.
Abstract: A method for processing a packet includes receiving the packet in a network interface card (NIC), obtaining a first classification for the packet, placing the packet in one of a first plurality of receive rings based on the first classification, obtaining a security association (SA) from one of a plurality of security association database (SADB) partitions, decrypting the packet using the SA, obtaining a security policy (SP) from one of a plurality of security policy database (SPD) partitions, determining an admittance of the packet based on the SP, obtaining a second classification for the packet based on the admittance, placing the packet in one of a second plurality of receive rings based on the second classification, and sending the packet to a host operatively connected to the NIC, wherein the packet is further processed by the host.
Abstract: A hard disk drive bracket latch and release mechanism includes a lever arm attached to a hard disk drive bracket bezel rotatably between a closed position against the bezel and an open position apart from the bezel, and a locking mechanism including a wireform disposed in a release button. The lever arm includes a slotted end and spring. The wireform translates between a forced releasing position when the release button is depressed and a natural latching position otherwise. The wireform is shaped to bias the release button outward. The wireform fits into the slotted end of the lever arm in the latching position.
Type:
Application
Filed:
September 5, 2007
Publication date:
October 30, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Timothy W. Olesiewicz, Brett C. Ong, William A. De Meulenaere
Abstract: A network interface card (NIC) includes a security association database (SADB) comprising a plurality of security associations (SAs), a cryptographic offload engine configured to decrypt a packet using one of the plurality of SAs, a security policy database (SPD) comprising a plurality of security policies (SPs) and a plurality of filter policies, and a policy engine configured to determine an admittance of the packet using one of the plurality of SPs from the SPD and apply one of the plurality of filter policies to the packet.
Type:
Application
Filed:
April 25, 2007
Publication date:
October 30, 2008
Applicant:
Sun Microsystems, Inc.
Inventors:
Darrin P. Johnson, Kais Belgaied, Darren J. Reed
Abstract: One embodiment of the present invention provides a system that facilitates applying a dynamic lock to a range of a resource within a computer system. Upon receiving a request to lock to the range of the resource from a thread, the system examines an active lock pool to determine if the range of the resource is currently locked. If not, the system retrieves a dynamic lock from a free lock pool. Next, the system sets resource information in the dynamic lock so that the dynamic lock is associated with the resource. The system also sets owner information in the dynamic lock so that the dynamic lock is associated with the thread that is requesting the dynamic lock. Finally, the system adds the dynamic lock to the active lock pool.