Patents Represented by Attorney, Agent or Law Firm Christian A. Nicholes
  • Patent number: 6813629
    Abstract: The present invention provides a framework for enabling an object oriented paradigm to be implemented in a networked environment. The framework comprises a client dispatcher object for managing the network communications of objects on the client's side, and a server dispatcher object for managing the network communications of objects on the server's side. The dispatcher objects cooperate with each other to send messages from the associated objects across the network in batches. By collecting and sending messages in batches, the dispatchers minimize the number of network round trips that need to be incurred, thereby minimizing network traffic. The framework further comprises a proxy interface for enabling the dispatcher objects to communicate with their associated objects. The proxy interface sets forth a set of methods that each of the associated objects needs to implement in order to participate in the communication scheme of the present invention.
    Type: Grant
    Filed: April 2, 1999
    Date of Patent: November 2, 2004
    Assignee: Oracle International Corporation
    Inventors: Rama Rao Kocherlakota, Seth Stafford, George Buzsaki
  • Patent number: 6792537
    Abstract: A mechanism for determining restrictions to impose on an implementation of a service is disclosed. When an application desires an implementation for a particular service, the application makes a request to a framework. The framework receives the request and, in response, determines what restrictions, if any, need to be imposed on the requested implementation. The restrictions are determined by determining whether any permissions have been granted to the application requesting the implementation, and if so, processing the permissions to derive a set of zero or more restrictions to impose on the implementation. The permissions are processed such that the set of restrictions is least restrictive. Once the restrictions are determined, the framework dynamically constructs the requested implementation. The requested implementation is constructed such that it incorporates a general implementation of the service, the restrictions, and enforcement logic for enforcing the restrictions on the general implementation.
    Type: Grant
    Filed: January 14, 2000
    Date of Patent: September 14, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Sharon S. Liu, Jan Luehe
  • Patent number: 6766349
    Abstract: A JAVA application is typically executed as follows. First, a thread from a thread pool is attached to the JAVA virtual machine (JVM). Then, that thread is used to execute the JAVA application. Once the execution of the JAVA application is completed, the thread is detached from the JVM and returned to the thread pool. This is repeated for every execution of a JAVA application. Because this constant attaching and detaching of threads imposes additional overhead on the system, this process is inefficient. To improve the efficiency of the execution process, a “sticky attach” mechanism is provided. With sticky attach, a thread is not attached and detached from the JVM each time a JAVA application is executed. Rather, a thread is attached to the JVM only once: the first time it is used to execute a JAVA application. When execution of the JAVA application is completed, the thread is returned to the thread pool without detaching from the JVM.
    Type: Grant
    Filed: May 19, 2000
    Date of Patent: July 20, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Ruslan Belkin
  • Patent number: 6765685
    Abstract: A method and apparatus for outputting an electronic document, in which separation pages are automatically interleaved between successively printed pages of the electronic document. In one embodiment, the invention provides a method of printing an electronic document on transparency film using a computer printer having at least two (2) paper source trays. The method may involving modifying an existing printer driver associated with the printer to cause the printer to print pages of the document on sheets of transparency film obtained from a first paper source tray, and to automatically interleave blank sheets obtained from a second paper source tray between successively printed pages. For example, an existing printer driver is modified by automatically generating a new computer printer driver based on an existing printer description file that is associated with the existing printer driver, to redefine pagination and paper source tray attributes of the description file.
    Type: Grant
    Filed: January 22, 1999
    Date of Patent: July 20, 2004
    Assignee: Ricoh Company, Ltd.
    Inventor: Zhongming Yu
  • Patent number: 6725280
    Abstract: A mechanism is disclosed for constructing dispatch tables which enable transitive method override. A dispatch table for a class C (wherein C is within a package P and is a subclass of superclass S) is constructed as follows. First, the S dispatch table is copied and is used as the starting point for the C dispatch table. Then, for each locally declared method m in C, the method m is checked to determine whether it has been marked public/protected. If so, then the S dispatch table is checked for a public/protected entry corresponding to a method having the same name as method m. If such an entry is found, then the corresponding entry in the C dispatch table is overridden. Otherwise, a new entry is allocated in the C dispatch table and is marked public/protected. In addition, the S dispatch table is checked for a package private (private to package P) entry corresponding to a method having the same name as method m.
    Type: Grant
    Filed: August 13, 1999
    Date of Patent: April 20, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Gilad Bracha
  • Patent number: 6721888
    Abstract: A mechanism for merging multiple source policies to derive a resultant policy is disclosed. The source policies, which may represent sets of laws/regulations, and which may comprise zero or more entries with each entry comprising an identifier and a set of one or more limitations, are merged by first selecting a current entry in a first source policy. Then a determination is made as to whether there is an entry in a second source policy which corresponds to the current entry. If so, then the limitations in the current entry are processed with the limitations in the corresponding entry to derive a set of resultant limitations. The limitations are processed such that the resultant limitations comprise the most restrictive limitations of the current entry and the corresponding entry. By doing so, it is ensured that the resultant limitations comply with both the first and the second source policies.
    Type: Grant
    Filed: January 14, 2000
    Date of Patent: April 13, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Sharon S. Liu, Jan Luehe
  • Patent number: 6704885
    Abstract: A system and method for performing a data backup with a stochastic scheduler in a distributed computing environment are described. A data set on a client is tracked. The data set is to be maintained with a backup data set on a centralized server within the distributed computing environment. A time period during which to initiate a data backup session for the tracked data set is selected. An instance of a backup session application on the client is periodically executed. The client attempts to initiate a connection with the centralized server beginning at a random start time during the selected time period. The client regularly reattempts the connection initiation following each failed connection initiation attempt. The tracked data set is selectively copied into the backup data set upon a successful connection initiation. Upon each successful data backup session for the tracked data set, a new random start time within the selected time slice for a next data backup session is generated.
    Type: Grant
    Filed: July 28, 2000
    Date of Patent: March 9, 2004
    Assignee: Oracle International Corporation
    Inventors: Jose M. Salas-Meza, Patrick Lupo, Sajid Hussain
  • Patent number: 6701367
    Abstract: A mechanism for enabling customized session managers to interact with a network server is disclosed. The mechanism includes a programming interface which enables customized session managers to “plug in” to and to interact with the server. This programming interface makes it possible to change session management functionality without having to make any changes to the core server. It also makes it possible to incorporate multiple session managers into the server. These aspects of the programming interface significantly increase the flexibility and scalability of the web server. In addition to the programming interface, the mechanism further includes a service engine for coordinating the interaction with the session managers. For each client request, the service engine determines which application needs to be invoked. Then, based upon that application, the service engine determines which, if any, associated session manager needs to be invoked to manager session (i.e.
    Type: Grant
    Filed: March 14, 2000
    Date of Patent: March 2, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Ruslan Belkin
  • Patent number: 6697901
    Abstract: Techniques are disclosed for managing access to a set of one or more resources that are accessible to a plurality of entities. In one embodiment, one primary resource master and one or more secondary resource masters are established for a given resource. Each resource master (whether primary or secondary) is assigned to be the master for the resource for a corresponding subgroup of entities of the plurality of entities. Each secondary resource master is assigned to a parent resource master, which may either be the primary resource master or another secondary resource master. Each entity of the plurality of entities, upon seeking access to the resource, requests a lock on the resource from the resource master that is assigned to the subgroup that includes that entity.
    Type: Grant
    Filed: October 24, 2000
    Date of Patent: February 24, 2004
    Assignee: Oracle International Corporation
    Inventor: Wilson Wai Shun Chan
  • Patent number: 6687760
    Abstract: A method lookup mechanism is disclosed which not only enforces accessibility constraints imposed by modularity constructs but also enables transitive method override. According to one embodiment, when a method m is invoked on a target object, the resolved method m in a resolved class is checked to determine whether it has been declared as public/protected. If so, then standard method lookup may be used to determine the proper implementation of method m to invoke. However, if the resolved method is not declared as public/protected, then a path stack is constructed. The path stack provides a listing of the class hierarchy between the target object and the resolved class. Once constructed, the path stack is used to determine which implementation of method m to invoke in response to the method invocation. Specifically, the resolved method m is initially set as the candidate method to invoke. Then a downward search is performed through the classes on the path stack.
    Type: Grant
    Filed: August 13, 1999
    Date of Patent: February 3, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Gilad Bracha
  • Patent number: 6687759
    Abstract: A method lookup mechanism is disclosed which not only enforces accessibility constraints imposed by modularity constructs but also enables transitive method override. According to one embodiment, when a method m is invoked on a target object, the method m in a resolved class is checked to determine whether it has been declared as public/protected. If so, then standard method lookup may be used to determine the proper implementation of method m to invoke. However, if the resolved method is not declared as public/protected, then the class of the target object is searched for an implementation of the method m. If no implementation is found, then a superclass of the target object class is searched for an implementation. This process repeats until an implementation is found or until the resolved class is reached.
    Type: Grant
    Filed: August 13, 1999
    Date of Patent: February 3, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Gilad Bracha
  • Patent number: 6675195
    Abstract: A method and apparatus can improve the performance of a server and clients by storing commands sent to the server until a command is received that fills the capacity of the apparatus to store the commands or that will cause the server to provide information beyond acknowledgment of or completion of the command. The commands are then set to the server software for execution. The server then processes as a group the commands stored, returning a single response, and eliminating the overhead that could have been incurred in providing multiple responses or processing the commands separately.
    Type: Grant
    Filed: June 11, 1997
    Date of Patent: January 6, 2004
    Assignee: Oracle International Corporation
    Inventors: Debashish Chatterjee, Lekshminarayanan “Luxi” Chidambaran
  • Patent number: 6665684
    Abstract: Techniques are disclosed for expanding the concept of partitioning in variety of ways. In particular techniques are provided for performing multiple-dimension partitioning. In multiple-dimension partitioning, a database object is divided into partitions based on one criteria, and each of those resulting partitions is divided into sub-partitions based on a second criteria. The process of partitioning partitions based on different criteria may be repeated across any number of dimensions. Entirely different partitioning techniques may be used for each level of partitioning. The database server takes advantage of partitions when processing queries by selectively accessing a subset of partitions on disk or reducing the number of internal join operations.
    Type: Grant
    Filed: September 27, 1999
    Date of Patent: December 16, 2003
    Assignee: Oracle International Corporation
    Inventors: Mohamed Zait, Benoit Dageville, Andre Kruglikov, Gianfranco Putzolu
  • Patent number: 6650431
    Abstract: A method and apparatus for routing an electronic document to an output device is disclosed. The electronic document comprises first and second sets of pages, in which the first set of pages has a first characteristic and the second set has a second characteristic. Using a parser or based on information embedded in the electronic document, the first and second sets of pages are identified. First and second output devices, that are respectively compatible with the first and second sets of pages, are selected. The pages are automatically routed to the respective output devices. In a preferred embodiment, the electronic document has both monochrome and black-and-white pages and color pages. The process identifies pages within the document that are monochrome or color. Automatically, the monochrome pages are routed to a black-and-white printer and the color pages are routed to a color printer.
    Type: Grant
    Filed: December 4, 1998
    Date of Patent: November 18, 2003
    Assignee: Ricoh Company, Ltd.
    Inventors: Gareth S. Roberts, Tetsuro Motoyama
  • Patent number: 6643781
    Abstract: The present invention requires a computing device to interact with an authorized host computer on a fairly regular basis in order to maintain operability. In one embodiment, there is stored within the computing device an authorization parameter. This parameter is checked upon the occurrence of certain events to determine whether it has expired. If the authorization parameter has expired, then the present invention renders the computing device inoperable. The only way to update this parameter, and hence to maintain operability, is for the computing device to interact with an authorized host computer. Unless a thief knows which host computer to contact, and how to properly interact with that host computer (both of which are unlikely), the authorization parameter of a stolen device will not be updated. As a result, the stolen device will become inoperable within a relatively short time after the theft.
    Type: Grant
    Filed: May 14, 1999
    Date of Patent: November 4, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Charles Merriam
  • Patent number: 6622138
    Abstract: Techniques are described for optimizing the computation of OLAP ranking functions. The techniques involve push-down of the filtering operation into the window sort operation corresponding to a target ranking function. The push-down technique may be employed when a predetermined set of push-down conditions are met.
    Type: Grant
    Filed: September 6, 2000
    Date of Patent: September 16, 2003
    Assignee: Oracle International Corporation
    Inventors: Srikanth Bellamkonda, Bhaskar Ghosh, Andrew Witkowski
  • Patent number: 6591346
    Abstract: An improved mechanism for managing an object cache is disclosed. An object cache manager receives a request for an object resident in an object cache. A determination is made as to whether the requested object is currently within a particular portion of the object cache. If the requested object is within this particular portion, then the object cache manager keeps the requested object within this portion of the cache by maintaining the requested object at its current position relative to other objects in the object cache. By removing the overhead of repositioning objects within a particular portion of the object cache, the efficiency of object cache management is significantly improved.
    Type: Grant
    Filed: January 19, 2001
    Date of Patent: July 8, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Sherif Kottapurath
  • Patent number: 6590595
    Abstract: An intuitive scrolling feedback mechanism is provided to enable novice and infrequent computer users to understand and to utilize the scrolling functionality offered by a computing device. Scrolling feedback is provided by displaying a portion of a set of information in a display area. In addition, a control region is displayed, comprising one or more activable controls. These controls, when activated by a user via a user interface, cause a different portion of the set of information to be displayed in the display area. In addition, a status region is displayed, comprising a plurality of location indicators. A subset of the location indicators is displayed in a first manner (e.g. a darker color), while the remainder of the location indicators is displayed in a second and different manner (e.g. a lighter color). The subset of the indicators is determined based upon the portion of the set of information that is currently being displayed in the display region.
    Type: Grant
    Filed: February 8, 2000
    Date of Patent: July 8, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Annette Wagner, Osana Tishkova, Richard Berlin, Fazeel Mufti
  • Patent number: 6542920
    Abstract: A mechanism is disclosed for implementing multiple thread pools in a computer system to optimize system performance. In accordance with the invention, a plurality of thread pools is initially allocated within a process space, with each thread pool comprising one or more threads. Each thread pool has a set of characteristics associated therewith, and the characteristics of each thread pool are customized for one or more particular types of service. After the thread pools have been allocated, the system receives one or more requests. When a request is received, it is processed to determine with which thread pool the request is to be associated. This processing is carried out by determining the type of service being requested by the request, and then determining which thread pool is associated with that type of service. Alternatively, this processing is carried out by extracting a set of indication information (e.g.
    Type: Grant
    Filed: May 19, 2000
    Date of Patent: April 1, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Ruslan Belkin, Viswanath Ramachandran
  • Patent number: 6507833
    Abstract: A mechanism is provided for dynamically rendering a component instance at run time. According to the invention, a rendering engine is provided for each type of component that can be rendered, and each engine is responsible for rendering all instances of that component type. When it comes time to render a component instance, the rendering engine associated with that instance is invoked. When invoked, the rendering engine receives a set of metadata associated with the component instance, which specifies the attribute values for that instance. Based upon the metadata, the rendering engine determines, at run time, a format for the instance, and renders the instance in accordance with the determined format. By rendering the instance at run time based purely upon metadata, the present invention makes it possible to store only the metadata associated with the instance. Unlike the prior art, it is not necessary to store a component as a large static entity. As a result, the present invention requires less storage.
    Type: Grant
    Filed: September 13, 1999
    Date of Patent: January 14, 2003
    Assignee: Oracle Corporation
    Inventors: Michael Hichwa, Christopher Beck, Leo Nishio