Abstract: Data structures, methods and devices for reducing computing overhead associated with dispatching a distributed object invocation and improving the flexibility of the dispatch framework in a distributed client/server based computing system are disclosed. In one aspect of the invention, a request received on an end point in a transport layer is dispatched from the transport layer to a subcontract in a subcontract layer where the request is partially unmarshaled and dispatched from the subcontract to a skeleton function in a skeleton layer where a servant is invoked.
Type:
Grant
Filed:
June 26, 1996
Date of Patent:
February 13, 2001
Assignee:
Sun Microsystems, Inc.
Inventors:
Swee Boon Lim, Sanjay R. Radia, Ken M. Cavanaugh, III, Christian J. Callsen
Abstract: An electronic system is described for a flip-flop circuit having a data input stage with a clock input and a data input, coupled to an output stage which generates at least one data output, a reset circuit coupled to said data output stage for resetting the logic state of the data outputs to a predetermined desired condition, and a shutoff circuit coupled to said data input stage blocking data input from being acted on by said data input stage. An alternate embodiment includes a data processing circuit with a feedback mechanism coupled with the reset circuit of the flip-flop which informs the flip-flop that data is no longer required.
Abstract: A method of monitoring event queue operations includes the step of responding to a set of run-time messages resulting from an operation performed with a graphical user interface. The set of messages is routed to a customized event queue module for processing. The customized event queue module reports operations associated with the set of messages. This information can be used for debugging, tracing, and event recording. The customized event queue module operates without altering the operation of the event queue. Thus, the invention can be used without altering proprietary software defining the operation of the event queue.
Abstract: A clock distribution system is described for providing synchronous clock signals in as many phases as a designer of a given circuit finds useful. The clock distribution system acknowledges timing constraints of the controlled system, and adjusts the clock phase appropriately to meet the needs of the local data circuits using the clock signals. The clock distribution system includes stages which are coupled to appropriate portions of the datapath and to each other for controlling the datapath and provide information about clock signal timing to each other.
Abstract: A method, apparatus, and program code visually constructs object-oriented application software to be installed on a distributed object system. The method of the invention includes the following steps. Initially, the method provides a catalog facility which contains components having references to pre-existing objects within a distributed object system. A component is selected from the catalog facility for inclusion in the application software. A part corresponding to the object referenced by the selected component is derived from the selected component. The part is then made available to an application construction environment. In this environment, the part can be linked to at least one other part that also references a pre-existing object in the distributed object system. Graphical facilities are provided within the application construction environment for selecting and defining links among parts.
Type:
Grant
Filed:
September 21, 1999
Date of Patent:
February 13, 2001
Assignee:
Sun Microsystems, Inc.
Inventors:
Brad G. Fowlow, Greg B. Nuyens, Frank Ludolph
Abstract: An asymmetric arbiter provides a fast signal path and a slow signal path. Signals may travel over the fast signal path in substantially less time than it takes for the signals to travel over the slow signal path. The fast signal path may be configured so as to impart only a minimal amount of delay. Signals that are to be frequently arbitrated by the arbiter may be applied to the fast signal path so as to minimize the delay introduced by the arbiter. The arbiter may include circuitry for detecting metastable conditions.
Abstract: A method for terminating signals in an information handling system comprises includes providing a plurality of resistance elements, providing at least three transmission lines each having a characteristic impedance, each of the transmission lines having a first end, each of the first ends being coupled together through said resistance elements, and a second end, and providing a plurality of drivers equaling the number of transmission lines in the plurality of transmission lines, each driver coupled to a second end of a different one of the transmission lines, each driver comprising a pull-down circuit having a pull-down resistance matched to the characteristic impedance of one of the lines, and a pull-up circuit having a pull-up resistance corresponding to the number of second ends.
Abstract: A media server system and method for reducing the probability of data starvation or underflow in a media server system. The media server system preferably comprises a video server computer system which stores a plurality of encoded data streams, wherein the computer system is coupled through a SCSI (Small Computer Systems Interface) bus to one or more MPEG decoder blocks. The media server system thus utilizes a single control channel for multiple video channels. The present invention operates to fill the FIFO buffer of a channel to a higher level during startup, thus reducing the probability of data underflow. In one embodiment, the host computer or server begins data transmission prior to sending the “play” function or play command in order to pre-fill or pre-load the buffer. In another embodiment where the host server is not configured to pre-load the buffer prior to issuing the play command, the MPEG decoder block disables the FIFO buffer when the play command is received.
Abstract: One embodiment of the present invention provides a method and an apparatus that facilitates transparent failovers from a primary copy of an object on a first server to a secondary copy of the object on a second server when the first server fails, or otherwise becomes unresponsive. The method includes detecting the failure of the first server; selecting the second server; and reconfiguring the second server to act as a new primary server for the object. Additionally, the method includes transparently retrying uncompleted invocations to the object to the second server, without requiring explicit retry commands from a client application program. A variation on this embodiment further includes winding up active invocations to the object before reconfiguring the second server to act as the new primary server. This winding up process may include causing invocations to unresponsive nodes to unblock and complete.
Type:
Grant
Filed:
April 9, 1998
Date of Patent:
February 6, 2001
Assignee:
Sun Microsystems, Inc.
Inventors:
Declan J. Murphy, Madhusudhan Talluri, Vladimir Matena, Yousef A. Khalidi, Jose M. Bernabeu-Auban, Andrew G. Tucker
Abstract: The present invention is a media interface unit that couples media input (e.g. cameras, microphones) to a network and can receive media input from a network and provide it to playback devices (e.g. monitors, speakers). The interface unit eliminates the need for a computer system when transmitting and receiving media data to and from the internet and other networks. The unit comprises analog audio and video inputs and outputs on one side, and a computer communications network interface on the other side. By coupling sources/sinks of audio/video to one side and by coupling the other side to a network, it is possible to send and receive audio and video data as though the digital communications network were the same as the cables typically used to transport analog audio and video. The invention functions as a multi-media network appliance.
Type:
Grant
Filed:
June 30, 1998
Date of Patent:
February 6, 2001
Assignee:
Sun Microsystems, Inc.
Inventors:
J. Duane Northcutt, James G. Hanko, Alan T. Ruberg, Gerard A. Wall, Lawrence L. Butcher
Abstract: An embodiment consistent with the present invention includes a method and apparatus for forming a multicast repair tree. The method may be performed by a data processor and comprises the steps of determining, for each of a plurality of potential heads in a multicast group, a ranking value associated with the potential head; advertising, by the potential heads to a plurality of potential receivers; prioritizing, by a potential receiver, the ranking values from the potential heads; and binding, by a potential receiver to the head having the highest ranking value, thereby forming a group of which the potential receiver is a member and the potential head is the head. The head may also be the sender. There may be a plurality of heads. The ranking values may include “able”, “unable”, “willing”, and “reluctant.” The ranking value of a potential head may be determined in accordance with a static or a dynamic configuration.
Type:
Grant
Filed:
April 20, 1998
Date of Patent:
February 6, 2001
Assignee:
Sun Microsystems, Incorporated
Inventors:
Joseph Wesley, Stephen A. Hurst, Miriam C. Kadansky, Stephen R. Hanna, Philip M. Rosenzweig, Dah Ming Chiu, Radia J. Perlman
Abstract: A vehicle control computer system uses JavaBeans™ to implement device interfaces. A vehicle control center, having a processor and memory, provides user access to devices operating within the vehicle. The manufacturer of such devices provides a JavaBean™ interface stored with the device. When a device is installed in the vehicle, the processor or other control element of the vehicle control center becomes aware of the installation and requests or otherwise receives the stored JavaBean™ interface from the device. The vehicle control center can then use the interface as received or replace it with a different interface already stored in memory.
Abstract: A system and method for rendering of graphical rotations. The system includes a processor coupled to system memory, a display device, and optionally a graphics accelerator. The processor operates on a matrix M with a matrix operator having the properties of consistency on rotations and attraction to rotations. The matrix operator may be applied more than once to achieve greater error attenuation. The processor, or alternatively the graphics accelerator, performs image graphical rendering calculations using resultant matrix L obtained from applying the matrix operator. A first approximate rotation representing a previous orientation for a graphical object, and a second approximate rotation matrix representing a desired rotation to be applied to the graphical object, are multiplied to obtain matrix M which represents an updated orientation for the graphical object.
Abstract: The graphics applications of a 2-D graphics computer system provide each object to be rendered on a 2-D raster display with a pair of rendering reference coordinates (x and y), and a relative depth value (z). Additionally, the computer system is provided with a library of predetermined 2-D images and sounds, and a number of graphics toolkit routines. As the user “moves”, the graphics toolkit routines render selected ones of the predetermined images based on x/z and y/z values of recomputed x and y rendering coordinates and the relative depth value z of the objects, and actuate the sounds if applicable based on their predetermined manners of rendering. As a result, the objects that are further away from the user will move slower than the objects that are closer to the user, thereby introducing the effect of parallax and added realism to the 2-D graphics computer system at a substantially lower cost.
Abstract: A garbage collector collects a generation of a collected heap in accordance with the train algorithm. It employs remembered sets associated with respective car sections to keep track of references into the associated car sections. Each remembered set contains entries that identify respective regions in the generation that contain references into the associated car section. A limit is imposed on the number of entries in the remembered sets used to keep track of references to objects in certain car sections that contain only a single object each. An object in any such car section whose remembered set has more than a threshold number of entries is treated as reachable and relinked into a younger train without having the memory regions that those entries identify searched for valid references.
Abstract: A development suite for developing and testing internationalized software includes, in addition to an ASCII English locale, a multibyte English locale. The presence of a multibyte English locale permits early discovery and correction of errors by English speaking developers which would otherwise only be found during localization of the software for a country where a multibyte representation was required. A system and a computer program product also utilize a multibyte English locale.
Abstract: A method for classifying a document based on content within a class hierarchy. The class hierarchy comprises a plurality of category nodes stored within a tree data structure. Each of the plurality of category nodes includes a category name corresponding to a unique directory and a category definition comprising a set of defining terms. The class hierarchy is searched to determine appropriate categories for classification of the document. The document is then stored in directories corresponding to the categories selected for classification. If no categories are produced by the search, a system administrator is notified of the unsuccessful search.
Abstract: Techniques for providing a client program with remote access to information management services of a computer network are disclosed. An application programming interface can be provided to enable the client to remotely access the information management services. By using the application program interface the client can remotely invoke appropriate methods on the server to access the information management services. The application programming interface can be implemented as a thin-class. In addition, the communication between the server and the client programs is transparent to the applications that utilize the application programming interface.
Abstract: A circuit for processing source code with associated array bounds limitations includes an execution unit that generates a register value signal and an index number signal corresponding to an array value defined in a source code instruction. A primary register is connected to the execution unit. The primary register produces a base memory address signal in response to the register value signal. A shadow register is also connected to the execution unit. The shadow register produces an array bound value signal in response to the register value signal. An address computation circuit is connected to the execution unit and the primary register. The address computation circuit generates an effective memory address signal based upon the base memory address signal and the index number signal. An address comparison circuit generates an array bound error signal when an effective memory address associated with the effective memory address signal exceeds an array bound value associated with the array bound value signal.
Abstract: A synchronizing circuit receives an external signal and yields an output that is synchronized with the system clock and operates at the frequency of the external signal. The signal output from the synchronizing circuit is fed into the clock-enable input of the storage element, and the system clock signal is fed into the clock input of the storage element. Because the clock-enable signal triggers the storage element, the storage element is driven at the external signal frequency. Clock skew is eliminated because the system clock used for the clock input to the storage element is skew-controlled.