Patents Assigned to Sun Microsystems
-
Patent number: 6918109Abstract: Techniques for executing synchronized Java methods are disclosed. As such, the techniques can be implemented in a Java virtual machine to efficiently execute Java instructions. As will be appreciated, monitors (e.g., locks) associated with Java objects for which the synchronized method are being performed are accessed quickly. In other words, the monitors can be quickly released without having to repeat several time-consuming operations which have to be performed in conventional systems. This, in turn, reduces the number of operations that need to be performed to execute synchronized Java methods. As a result, the performance of virtual machines, especially those operating with limited resources, is improved.Type: GrantFiled: October 24, 2001Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventor: Stepan Sokolov
-
Patent number: 6917929Abstract: A storage system which supports distributed management of client configurations by storing such configuration information for a number of products across the storage network in a central repository is provided. The system further includes an external parser configuration file to provide a framework allowing users to access configuration data. The parser is separate from the configuration information repository. The parser is key-driven and extensible, facilitating programming, updates and modifications without modifying the binary library containing the configuration information.Type: GrantFiled: July 16, 2001Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventors: John Teloh, Simon Crosland
-
Patent number: 6917956Abstract: An improved apparatus and method for modular multiplication and exponentiation to achieve efficient computation involved in Montgomery multiplication is provided. Currently employed conventional iteration methods involve carry look-ahead additions. To overcome the time taken by carry look-ahead additions, there is thus provided, in accordance with a preferred embodiment of the present invention, an apparatus and method for separately storing and tracking the sum and the carry of the addition involved in Montgomery multiplication. In such a manner, the present invention achieves fast addition times since they are not dependent on the time to compute the carries. As a result, the iterations are carried out much faster than previously possible. By representing the value A in the Montgomery multiplication algorithm with a redundant notation, the sum and the carry of the addition are separately stored and tracked, thereby avoiding the delays involved in the computation of the carries.Type: GrantFiled: August 14, 2001Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventor: Leonard D. Rarick
-
Patent number: 6918071Abstract: A multiple-way cache memory having a plurality of cache blocks and associated tag arrays includes a select circuit that stores way select values for each cache block. The way select values selectively disable one or more cache blocks from participating in cache operations by forcing tag comparisons associated with the disabled cache blocks to a mismatch condition so that the disabled cache blocks will not be selected to provide output data. The remaining enabled cache blocks may be operated as a less-associative cache memory without requiring cache addressing modifications.Type: GrantFiled: April 20, 2001Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventors: Rajasekhar Cherabuddi, Meera Kasinathan
-
Patent number: 6917957Abstract: One embodiment of the present invention provides a system that performs modular division. This system contains a number of registers, including: a register A that is initialized with a value X; a register U that is initialized with a value Y; a register B that is initialized with a value M; and a register V that is initialized with a value 0. The system also includes a counter CA that indicates an upper bound for the most-significant non-zero bit of register A. It also includes a counter CB that indicates an upper bound for the most-significant non-zero bit of register B. The system additionally includes a temporary register H, and a temporary register L. An updating mechanism is configured to iteratively reduce the contents of registers A and B to a value of one by applying a plurality of operations to registers A, B, U and V. During operation, this updating mechanism temporarily stores A+B in the temporary register H, and temporarily stores U+V in the temporary register L.Type: GrantFiled: March 5, 2002Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventors: Josephus C. Ebergen, Sheueling Chang Shantz
-
Patent number: 6917976Abstract: A system and method for providing message-based leasing of resources in a distributed computing environment. Services may issue leases to clients and provide operations on those leases. The lease functionality of a service may be defined in an XML message schema. Gates may be used to perform lease operations. Leases may be granted for a period that may be negotiated. Leasing messages for performing leasing operations may be defined. The leasing messages may include messages to renew a lease and to cancel a lease. Services may specify an address where leasing messages may be sent. A lease renewal mechanism may be provided in which a gate may receive lease renewal messages and automatically respond to them. A mechanism to detect stale advertisements in a space may be provided. When a service publishes its advertisement in a space, the service obtains a lease on the publishing of its advertisement. Each advertisement may include a time by which the service may renew the advertisement.Type: GrantFiled: August 31, 2000Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventors: Gregory L. Slaughter, Thomas E. Saulpaugh, Bernard A. Traversat, Michael J. Duigou
-
Patent number: 6917970Abstract: After a reset on a bus, the topologies of nodes on the bus before and after the reset are accessed to identify nodes that are new to the bus. A host identifies itself in both the new topology data and the old topology data. Referring to the connectedness between ports of a node and other ports in the new topology, similarly connected nodes in the old topology are identified as matching. Identifying data present in the old data can be assigned to the corresponding node in the new data. Any nodes in the new tree lacking a matching node will require requests over the bus to obtain its identification data.Type: GrantFiled: March 9, 2001Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventors: Stephen A. Jay, Srinivas Madhur, Mark R. Johnson, Diana C. Klashman
-
Patent number: 6918122Abstract: A method for dynamic implementation of a Java™ Metadata Interface (JMI) to a metamodel includes receiving a JMI implementation request, implementing a package proxy JMI interface when the request is a package proxy request, implementing a class proxy JMI interface when the request is a class proxy request and implementing a class instance JMI interface when the request is a class instance request. The request is associated with a metamodel that includes at least one package. The at least one package includes at least one class. The at least one class includes at least one attribute reference or operation.Type: GrantFiled: May 2, 2001Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventors: Martin Matula, Petr Hrebejk
-
Patent number: 6917967Abstract: Various embodiments of systems and methods for implementing shared memory regions in a distributed shared memory system may involve implementing several different shared memory regions in each distributed shared memory node. Each node may reflect write access requests targeting those shared memory regions to one or more other nodes, depending on which shared region is targeted (e.g., requests targeting one region may be reflected to a single other node while requests targeting other regions may be reflected to more than one other node). A node's completion of the requested write access locally may be dependent on the completion of the write access in the other nodes, depending on which shared memory region is targeted.Type: GrantFiled: December 13, 2002Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventors: Chia Y. Wu, John D. Acton
-
Patent number: 6918092Abstract: Apparatus and methods for segmenting sets of distinct entities into groups with associated boundaries, wherein the associated boundaries have an associated logic are disclosed. The interaction of an object, a set of objects, another group, or combinations thereof with a group's associated boundary is accounted for by the logic of the invention such that the group and its associated boundary are modified with respect to the interaction.Type: GrantFiled: August 2, 2001Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventors: Stephen C. Talley, Stephen J. Wolf
-
Patent number: 6918099Abstract: A microelectronic device design verification system and method estimates the entropy of stimuli communicated over an interface to verify a microelectronic device design and feeds back the estimated entropy to alter the generation of stimuli to improve the design state space verified by additional stimuli applied to the microelectronic device design. For instance, predetermined factors used for random or directed generation of stimuli are altered based on the estimated entropy of stimuli communicated over an interface to a microelectronic device design software model or hardware integrated circuit implementation. The predetermined factors are adjusted so that subsequent stimuli has a desired impact on the estimated entropy, such as an increase in entropy that indicates a more complete microelectronic device design verification.Type: GrantFiled: February 19, 2003Date of Patent: July 12, 2005Assignee: Sun Microsystems, Inc.Inventor: Saravanan Subbarayan
-
Publication number: 20050149926Abstract: A configurable firewall for computing systems is disclosed. The configurable firewall provides a firewall control block that can be used as a mechanism to implement and control access privileges between various components of the computing environment. As such, the firewall control block can be used to determine whether one component (e.g., applet) can access another component in the computing environment. This allows a flexible environment where firewall boundaries can be configured in such a way that each applet can allow access to a desired set of other applets. In addition, the control block can be implemented using a variety of techniques that may be suitable for different system requirements (e.g., processing speed, memory). As such, the configurable firewall is useful for implementing security for various computing systems, especially those that operate with relatively limited processing power and/or provide highly specialized functionality (e.g., smart cards).Type: ApplicationFiled: December 22, 2003Publication date: July 7, 2005Applicant: Sun Microsystems, Inc.Inventor: Michael Saltz
-
Patent number: 6915395Abstract: A present invention provides a system and method for avoiding memory hazards in a multi-threaded CPU which shares an L-1 data cache. The system includes a CPU and an AACAM. The AACAM is capable of copying memory addresses from the two or more threads being processed by the CPU. The method provides for comparing the AACAM memory address with the active threads to avoid memory hazards by thread switching before the memory hazard occurs.Type: GrantFiled: May 3, 2000Date of Patent: July 5, 2005Assignee: Sun Microsystems, Inc.Inventor: Raghvendra Singh
-
Patent number: 6915511Abstract: A system and method for providing dynamic class reloading using a modular, pluggable and maintainable class loader is described. Each application in an application server (or alternatively in any implementation) may include a dynamic class loader module. The class loader module may include a hierarchical stack of class loaders. Each module in the application may be associated with its own class loader. Each class loader may be responsible for loading one or more classes. When a class is changed, the changed class may be detected by the class loader module. Any notification for a class change may come to the class loader controller so that the concerned class loader can be replaced. The class loaders for all classes that depend on the changed class may also be replaced. The replaced class loaders may then reload the affected classes.Type: GrantFiled: June 29, 2001Date of Patent: July 5, 2005Assignee: Sun Microsystems, Inc.Inventors: Hanumantha Rao Susarla, Mukesh Garg, Sandhya E
-
Patent number: 6915320Abstract: One embodiment of the present invention provides a system for finding zeros of a function, ƒ, within an interval, X, using the interval version of Newton's method. The system operates by receiving a representation of the interval X. This representation including a first floating-point number, a, representing the left endpoint of X, and a second floating-point number, b, representing the right endpoint of X. Next, the system performs an interval Newton step on X, wherein the point of expansion is the midpoint, x, of the interval X. Note that performing the interval Newton step involves evaluating ƒ(x) to produce an interval result ƒI(x). If ƒI(x) contains zero, the system evaluates ƒ(a) to produce an interval result ƒI(a). It also evaluates ƒ(b) to produce an interval result ƒI(b).Type: GrantFiled: August 9, 2001Date of Patent: July 5, 2005Assignee: Sun Microsystems, Inc.Inventors: G. William Walster, Eldon R. Hansen
-
Patent number: 6915347Abstract: A method for grouping Human Interface Devices (HIDs) into a multi-head display is provided. The HIDs are identified as either “primary” or “secondaries”. A computational-service policy module is consulted when a new HID connects to the network. If the HID is identified as a secondary, the module consults all servers within a group to see if the primary presently has an active session connected to any of the servers. If the primary is being controlled by the same server to which the secondary is connected, the session connection information for the primary is augmented to indicate that the secondary is attached to the same session, and this information is disseminated to the interested software entities. The associated session may then provide multi-head outout to the secondary. If the primary is being controlled by another server in the group, the secondary re-attaches to the server that is hosting the primary.Type: GrantFiled: December 6, 2000Date of Patent: July 5, 2005Assignee: Sun Microsystems, Inc.Inventors: James G. Hanko, Sangeeta Varma, J. Kent Peacock
-
Patent number: 6915351Abstract: A method and mechanism of enforcing, in a computer network, a community separation policy wherein the data of a particular user community should be accessible only by members of that community. A Multi-Community Node (MCN) processes information for users in multiple communities and must enforce the community separation policy. In a closed MCN, which runs only applications trusted to enforce the community separation policy, the method and mechanism performs a set of checks on packets received from and to be transmitted on a network, to ensure that all communications comply with the community separation policy. The checks (1) prevent communications from a network used by one community or communities to a network used by different communities; (2) ensure that packets sent by the MCN are output on an interface attached to a network for the intended community; and (3) detect when remote nodes communicating with the MCN spoof their source network address to masquerade as a node in another community.Type: GrantFiled: December 18, 2000Date of Patent: July 5, 2005Assignee: Sun Microsystems, Inc.Inventor: Thomas E. Tahan
-
Patent number: 6915508Abstract: Methods and apparatus for eliminating C recursion from interpreter loops are disclosed. According to one aspect of the present invention, a computer-implemented method for substantially eliminating C recursion from the execution of static initializer methods in a virtual machine environment includes rewriting native C code associated with a static initializer as a Java™ method, and using a transition frame in a Java™ stack to execute the Java™ method. The method also includes using a native method to manipulate the Java™ stack, and using a first opcode in the transition frame. In one embodiment, using the first opcode in the transition frame includes using the first opcode to determine that the transition frame is associated with the static initializer. In another embodiment, the method further includes causing the static initializer to run, wherein the static initializer using a second opcode, and resuming execution at the second opcode after the static initializer has run.Type: GrantFiled: April 24, 2001Date of Patent: July 5, 2005Assignee: Sun Microsystems, Inc.Inventors: Christopher J. Plummer, Dean R. E. Long
-
Patent number: 6915468Abstract: An electronic memory device tester has an input arranged to receive seed data with a first number (p) of seed data bits from a computer and a data generator arranged to receive an array of prepared data having a second number (q) of prepared data bits, where q>p, and arrange to generate from the prepared data a test data pattern for writing to an electronic memory device to be tested. The tester generates its own test pattern thus relieving the computer processor from that task. This in turn allows the computer to control the test cycle itself without compromising the test speed.Type: GrantFiled: August 8, 2001Date of Patent: July 5, 2005Assignee: Sun Microsystems, Inc.Inventors: Adam Richard Maurice Chambers, Malcolm George Simmonds
-
Patent number: 6915321Abstract: One embodiment of the present invention provides a computer-based system for solving a system of nonlinear equations specified by a vector function, f, wherein f(x)=0 represents ƒ1(x)=0, ƒ2(x)=0, ƒ3(x)=0 . . . , ƒn(x)=0, wherein x is a vector (x1, X2, X3, . . . xn). The system operates by receiving a representation of a subbox X=(X1, X2, . . . , Xn), wherein for each dimension, i, the representation of Xi, includes a first floating-point number, ai, representing the left endpoint of Xi, and a second floating-point number, bi, representing the right endpoint of Xi. The system stores the representation in a computer memory. Next, the system applies term consistency to the set of nonlinear equations, ƒ1(x)=0, ƒ2(x)=0, ƒ3(x)=0, . . . , ƒn,(x)=0, over X, and excludes portions of X that violate the set of nonlinear equations. The system also applies box consistency to the set of nonlinear equations over X, and excludes portions of X that violate the set of nonlinear equations.Type: GrantFiled: January 8, 2002Date of Patent: July 5, 2005Assignee: Sun Microsystems, Inc.Inventors: G. William Walster, Eldon R. Hansen