Patents Examined by Alvin Oberley
  • Patent number: 6633924
    Abstract: The invention includes a method of synchronizing objects between first and second object stores. A synchronization manager in accordance with the invention maintains a reference store containing identifying data segments corresponding respectively to a plurality of objects that have previously been synchronized between the first and second object stores. An application program that maintains the first object store has associated interfaces that allow the synchronization manager to compare and manipulate objects. One such interface allows the synchronization manager to submit an identifying data segment associated with a particular object. In response, this interface returns a handle that corresponds to the submitted identifying data segment. Another interface accepts a handle that refers to an identifying data segment, and determines if the object corresponding to the identifying data segment has been changed in the first object store since the last synchronization.
    Type: Grant
    Filed: October 2, 1997
    Date of Patent: October 14, 2003
    Inventors: Charles Wu, George T. Hu, Jeffrey R. Blum
  • Patent number: 6618744
    Abstract: A system for managing locks that give permission to access resources in a computer system are disclosed. The lock management system is distributed and provides deadlock protection. The lock management system is distributed in that information about which locks have been granted for a resource is stored at both a master node and at the nodes on which are located processes that desire to access to the resource. A master resource object located on the master node grants locks to shadow resource objects located on the nodes on which are located the processes that desire to access the resource. Each shadow resource object grants locks on the resource to the processes that are located on the same node as the shadow resource object. A shadow resource object may retain a lock on a resource even when no process on the same node requires the shadow resource to retain the lock.
    Type: Grant
    Filed: March 1, 2001
    Date of Patent: September 9, 2003
    Assignee: Oracle Corporation
    Inventors: Charles Simmons, Madhusudan Krishnapuram, Hans Karten
  • Patent number: 6615280
    Abstract: Token-based object description is disclosed. In one embodiment, a system includes a plurality of objects and a set of tokens. Each object has at least one attribute, such as a type. Each token is mapped to a unique attribute. Each object is describable utilizing the set of tokens.
    Type: Grant
    Filed: December 21, 1998
    Date of Patent: September 2, 2003
    Assignee: Microsoft Corporation
    Inventor: Ondrej Such
  • Patent number: 6601084
    Abstract: The present invention provides methods and systems for balancing the load on a plurality of servers using a load balancing algorithm which continuously examines the loads on the plurality of servers and makes adjustments in the loads accordingly. Among the factors considered in the load balancing are the power of each server relative to other servers, the load on each server relative to the other servers, and a “credit” for each server based on their power and load.
    Type: Grant
    Filed: December 19, 1997
    Date of Patent: July 29, 2003
    Assignee: Avaya Technology Corp.
    Inventors: Sajit Bhaskaran, Abraham R. Matthews
  • Patent number: 6598093
    Abstract: Methods and apparatus for implementing a core application programming interface which is a part of more than one application programming interface are disclosed. According to one aspect of the present invention, a class structure in an object based system is arranged to provide application programming interfaces which enable access to a system database. The class structure includes a first set of classes that define a core application programming interface, a second set of classes that define a client application programming interface, and a third set of classes that define a server application programming interface. The second set of classes includes the first set of classes, and the third set of classes includes the second set of classes. In one embodiment, the first set of classes includes interfaces.
    Type: Grant
    Filed: May 14, 1998
    Date of Patent: July 22, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeffrey A. Schmidt, Bernard A. Traversat, Thomas Saulpaugh, Gregory L. Slaughter
  • Patent number: 6587888
    Abstract: The present invention is directed at the implementation of a dynamic wrapper for discovery of non-exported functions and subsequent method interception. A practical usage of dynamic wrappers is for security software packages to augment access controls applied to the wrapped modules. The invention permits interception of distributed component object model (DCOM) client initiated method calls at a DCOM server during runtime. The interceptor of the method call denies or grants access to the DCOM method to be executed. The actual logic to determine access permissions need not be part of the interceptor. The interceptor runs as part of the DCOM server. It contains logic to distinguish at runtime the identity of the principal associated with the DCOM client requesting the execution of the function call. The technique works with commercial-off-the-shelf (COTS) software and does not require modification of the application source code.
    Type: Grant
    Filed: December 15, 1999
    Date of Patent: July 1, 2003
    Assignee: Networks Associates Technology, Inc.
    Inventors: David Pai-wei Chieu, Dennis Hollingworth
  • Patent number: 6574653
    Abstract: A computer software architecture for an embedded computer system. The architecture includes a hierarchy of software object classes. One classification includes a common information blackboard object. Data is written to the blackboard object by processes in a protected manner, and is otherwise globally readable by all processes. A run-time executive is provided to schedule and coordinate processes. Processes register with the run-time executive at start-up. One process can know the existence and generation of data by another process. The architecture is layered in increasing levels of system abstraction. In one embodiment, the embedded system is an airborne fuel gauging subsystem.
    Type: Grant
    Filed: October 19, 2000
    Date of Patent: June 3, 2003
    Assignee: Simmonds Precision Products, Inc.
    Inventors: Thomas Edward Rhoads, II, Keith Patrick Darwin, Mark Robert Chaffee, Harold Frederick Clark, Jr.
  • Patent number: 6560629
    Abstract: A multi-thread computer system comprising an array of thread units and associated sets of execution units. The thread units are designed to be interconnected in a one-dimensional array with other thread units of the array via respective multi-bit bi-directional communication paths for transferring threads and for relaying activity values between thread units. Each thread unit has a thread control unit. Each thread control unit has on its left side a first multi-bit input and a first multi-bit output, each connected to a first one of the bi-directional communication paths, and on its right side a second multi-bit input and a second multi-bit output, each connected to a second one of the bi-directional communication paths.
    Type: Grant
    Filed: October 30, 1998
    Date of Patent: May 6, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Jeremy G Harris
  • Patent number: 6523059
    Abstract: Methods and apparatus for facilitating a global safepoint operation in a multithreaded computer system are disclosed. According to one aspect of the present invention, each thread keeps track of its safepoint regions by maintaining a variable which indicates a state, such as whether the current region of the thread is safe, unsafe, or transitional. In this manner, it can be determined whether a thread is currently in a safepoint region without suspending the thread. When a thread is currently in a safepoint region, the thread can continue to operate while a global safepoint operation, such as garbage-collection is being performed. When the thread begins to transition out of the safe region, it moves into a transitional region. The transitional region automatically blocks the transition into the non-safe region to assure that the safepoint operation occurs in a safe region.
    Type: Grant
    Filed: December 7, 1998
    Date of Patent: February 18, 2003
    Assignee: Sun Microsystems, Inc.
    Inventor: Rene W. Schmidt
  • Patent number: 6510470
    Abstract: A module is interposed between a multitasking operating system and the device driver for a graphics adapter including a frame buffer with a linear aperture for continuous, asynchronous data transfers. The interposed module may selectively intercept all graphics device driver function requests or simply pass such requests to the device driver, and provides a mechanism for generating graphics output in the frame buffer without utilizing graphics accelerator hardware on the graphics adapter. The interposed module is aware of the start and stop of asynchronous data transfers to the frame buffer. When asynchronous data transfers are started, the interposed module invokes the graphics adapter device driver to obtain access to the frame buffer linear aperture and sets its own internal state to active.
    Type: Grant
    Filed: December 18, 1998
    Date of Patent: January 21, 2003
    Assignee: International Business Machines Corporation
    Inventor: Ronald Bruce Capelli
  • Patent number: 6466996
    Abstract: A software program is used in conjunction with a standard general purpose single or multi-processor computer system as a means of implementing an I2O-compliant input-output processor (“IOP”) without requiring a special hardware IOP processor embedded on a PCI device card and connected to a computer system PCI bus. Software modules are inserted into the operating system during computer system initialization, thereby causing the I2O software operating system to operate as if it is communicating with a physical IOP installed on a PCI bus, but instead is utilizing at least one of the multi-processors of the computer system. These software modules intercept messages to and from software device driver modules and assign them to the V-IOP, thus making operation of the computer system indistinguishable from messages that would have been processed by a hardware implemented IOP in a computer system.
    Type: Grant
    Filed: September 14, 1998
    Date of Patent: October 15, 2002
    Assignee: Compaq Information Technologies Group, L.P.
    Inventor: Thomas J. Bonola
  • Patent number: 6446134
    Abstract: In a network system wherein a plurality of server units and a plurality of manager units for managing the server units are connected to a network, the manager units are notified of a state detected in each of the server units in the network system for monitoring service of the server unit. Each of the server units comprises a destination storage unit for receiving a fault notification request from one of the manager units and storing the manager unit as a destination, a notification unit, when fault occurs in service, for sending fault information indicating the contents of the fault to the destination, and a control unit for controlling start and stop of service.
    Type: Grant
    Filed: October 17, 1995
    Date of Patent: September 3, 2002
    Assignee: Fuji Xerox Co., LTD
    Inventor: Jun Nakamura
  • Patent number: 6442618
    Abstract: A computer implemented transaction processing system is presented for processing transactions between an application and one or more transaction processors. The system utilizes a first communication link between the application and a transaction processor interoperability component. Then, the system determines which of the one or more transaction processors will process transactions for the application and establishes a communication link between the transaction processor interoperability component and the transaction processor that will process transactions for the application.
    Type: Grant
    Filed: September 23, 1996
    Date of Patent: August 27, 2002
    Assignee: Insession, Inc.
    Inventors: Mark Phillips, Michael Blevins
  • Patent number: 6438615
    Abstract: Method, system and article of manufacture for creating object oriented components having one or more bidirectional ports for use with in connecting object oriented based components. The two way or bidirectional ports are first initialized to their two way state. The ports can then dynamically function as either input or output ports based solely on the manner in which they are used. The components set themselves internally to reflect the actual status of their bi-directional ports. When a connection to another component is completed, the connecting component object sends a message to the component at the other end of the connection indicating how its own port is set, input or output. The message receiving component then makes sure that its connection participating port is set oppositely. If the message receiving component's connecting port is bidirectional, that port is set opposite to the status of the first connected port.
    Type: Grant
    Filed: January 31, 1997
    Date of Patent: August 20, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Antony Azio Faustini
  • Patent number: 6430592
    Abstract: A computer system allocates processor time to multiple users. A systems operator or other administrator specifies to the computer a share of processor time for each user. The share can be absolute or relative. The system executes users which are I/O bound with processor time less than their respective, specified share(s) by not using significant processor time on users which are waiting for an I/O operation to complete but expediting allocation of a processor to users after their respective I/O operations complete. The system executes users which are CPU bound with processor time greater than their respective, specified share(s) based on their respective shares in relation to a sum of shares of other CPU bound users but excluding shares of I/O bound users. For each user there is also a specified “soft limit”, “hard limit” or “no limit”. When any hard limit user reaches its hard limit, no further allocation is made.
    Type: Grant
    Filed: June 2, 1994
    Date of Patent: August 6, 2002
    Assignee: International Business Machines Corporation
    Inventor: Gerald Allen Davison
  • Patent number: 6425016
    Abstract: A system and method featuring a collection of model objects which hold data to be shared, and supporting interfaces to read and write the data, to create and destroy collaboration relationships and to attach “view objects” containing application code which will be automatically notified of value changes. Each user environment is provided with a model object control entity, referred to herein as a Collaboration Manager, which creates model objects, executes transactions, and creates association objects related to the collaboration. A concurrency control mechanism records the reads and updates of the data and of collaboration relationships within a single transaction site and guarantees that they are applied atomically and consistently to both the local and to all remote replica objects of the collaboration.
    Type: Grant
    Filed: May 27, 1997
    Date of Patent: July 23, 2002
    Assignee: International Business Machines Corporation
    Inventors: Guruduth Somasekhara Banavar, Kevan Lee Miller, Atul Prakash, Robert Evan Strom, Michael James Ward
  • Patent number: 6425124
    Abstract: The present invention discloses a resource allocation device comprising a pattern generation unit for generating every pattern of a live variable placing within a program portion subjected to resource allocation and a resource to which the live variable is allocated; an instruction extraction unit for extracting from an instruction storage an instruction sequence corresponding to a combination of an operation placing within the program portion and the resource to which a variable in the operation is allocated, and generating a program comprising the extracted instruction sequences; a cost table for memorizing each instruction sequence and cost thereof which represents the number of execution clocks taken in execution of the instruction sequence; a cost detection unit for detecting the cost of each instruction sequence included in the program from the cost table; a total cost detection unit for summing the cost of each instruction sequence detected by the cost detection unit for each pattern generated by the p
    Type: Grant
    Filed: November 8, 1993
    Date of Patent: July 23, 2002
    Assignee: Matsushita Electric Industrial Co. Ltd.
    Inventors: Nobuki Tominaga, Akira Tanaka, Seiichi Urushibara
  • Patent number: 6418483
    Abstract: A method of developing a software system using Object Oriented Technology and frameworks. The present invention addresses the problem to provide a method of locating objects in different containers, particularly to address the allocation of objects across different containers when moving all objects of a certain class does not make sense. The present invention solves this problem with a method of locating software objects in a software system across logical storage units characterized in that said locating of said objects is performed according to a usage of said objects. The present invention is applicable in the technical field of application development of software systems, e.g. for a business application as Financial or Logistic and Distribution.
    Type: Grant
    Filed: March 11, 1998
    Date of Patent: July 9, 2002
    Assignee: International Business Machines Corporation
    Inventor: Anders Nilsson
  • Patent number: 6411983
    Abstract: A mechanism for managing the locking and unlocking of objects. The mechanism comprises a transition vector having an ordered set of transition elements. Each of the transition elements includes a locking function or a pointer to the locking function and an unlocking function or a pointer to the unlocking function. When an object is created a transition vector is assigned to the object. The object includes a reference element which references a transition element in the vector. In response to a request to lock the object, the locking function in the transition element is invoked and the next transition element is assigned to the object and the reference element in the object is updated. For a request to unlock the object, the unlocking function in the transition element is invoked and the previous transition element is assigned to the object and the reference element is updated. The mechanism improves execution overhead by providing an implicit count for determining the lock count on an object.
    Type: Grant
    Filed: April 28, 1998
    Date of Patent: June 25, 2002
    Assignee: International Business Machines Corporation
    Inventor: Patrick George Gallop
  • Patent number: 6405262
    Abstract: A computer system includes a plurality of client processes executing in respective address spaces and at least one server process executing in a different address space than the client processes. The server process has one or more available server objects for potential use by the client processes. The server objects are accessible by the client processes through a plurality of server object interfaces dynamically created in response to demand for said interfaces by the client processes. The server object interfaces are destroyed when there is no further demand for them. Each object interface can be simultaneously held for use during at least a portion of its lifetime by more than one of the client processes. The computer system further includes one or more client-side ping managers and at least one server-side ping manager. Each client process registers interfaces it is holding for use with an associated client-side ping manager.
    Type: Grant
    Filed: July 14, 1995
    Date of Patent: June 11, 2002
    Assignee: Microsoft Corporation
    Inventors: Keith R. Vogel, Richard P. Draves, Paul J. Leach