Patents Examined by Syed J Ali
  • Patent number: 6898790
    Abstract: Methods and apparatus for mapping an action, occurring within a customer servicing computer system, from a meta-level domain to tasks within a system-level domain are described. The actions are defined to have a plurality of data-fields, each of which has attributes. For a subset of the meta-data fields, and for each field within the subset, the mapper key is formed from a portion of the attributes. Each mapper key is compared with a set of task templates. The task templates define a sequence of system-level domain tasks. If there is a match of all the mapper keys with a respective template, then a system-level domain task sequence is formed to give effect to the action as the collective tasks of all task templates.
    Type: Grant
    Filed: May 11, 2000
    Date of Patent: May 24, 2005
    Assignee: International Business Machines Corporation
    Inventors: Toong Choon Cheong, David James Plumpton, Roberto Bresil
  • Patent number: 6883165
    Abstract: An apparatus and method for avoiding deadlocks in a multithreaded environment is provided. The apparatus and method provide a mechanism by which multiple threads are allowed to call a method virtually simultaneously without experiencing the problems regarding multiple compilations of the same method or a lock being held by one thread while other threads wait on the lock. With the apparatus and method, the first thread to call a method is the thread that causes the method to be compiled. Subsequent calls to the method, during a period of time in which the method is being compiled, are redirected to the JVM interpreter, thereby avoiding any deadlock situation.
    Type: Grant
    Filed: September 28, 2000
    Date of Patent: April 19, 2005
    Assignee: International Business Machines Corporation
    Inventors: Geoffrey Owen Blandy, Andrew Johnson
  • Patent number: 6871346
    Abstract: Presented is a web-based enterprise management compliant management framework whose back end components are decoupled from the various user interfaces available for accessing the management system. In the Windows environment, the management system of the instant invention is also compliant with the Windows management instrumentation (WMI) requirements. This management system includes WMI providers which implement standard interfaces which decouple all semantic and syntactic checks from the user interface and which provide common error strings, help, etc. to a user regardless of the user interface being used. The providers of the management system of the instant invention store and access data in the active directory. As such, these providers present a customizable user interface which may be based on a user's expertise level and which may be dynamically localized to the user's preferred language.
    Type: Grant
    Filed: February 11, 2000
    Date of Patent: March 22, 2005
    Assignee: Microsoft Corp.
    Inventors: Vishwajith Kumbalimutt, Jorg-Thomas Pfenning, Quentin S. Miller, Michel Guittet, Todd L. Paul
  • Patent number: 6865579
    Abstract: A data structure is disclosed. Such a data structure includes a thread control block and a message. The thread control block is described by a first data structure and the message is described by a second data structure. Additionally, the first data structure includes the second data structure. Thus, a data structure according to the present invention combines a thread control block structure and a message structure to provide the various benefits described herein. The first data structure may be configured, for example, to store information used to control execution of a thread, with the second data structure configured to store a message.
    Type: Grant
    Filed: August 28, 2000
    Date of Patent: March 8, 2005
    Assignee: Sun Microsystems, Inc.
    Inventor: Nicholas Shaylor
  • Patent number: 6845504
    Abstract: A system and method for efficiently managing lock contention for a central processing unit (CPU) of a computer system. The present invention uses both spinning and blocking (or undispatching) to manage threads when they are waiting to acquire a lock. In addition, the present invention intelligently determines when the program thread should spin and when the program thread should become undispatched. If it is determined that the program thread should become undispatched, the present invention provides efficient undispatching of program threads that improves throughput by reducing wait time to acquire the lock.
    Type: Grant
    Filed: February 8, 2001
    Date of Patent: January 18, 2005
    Assignee: International Business Machines Corporation
    Inventors: Hong L. Hua, Bret R. Olszewski, Mysore S. Srinivas, Nasr-Eddine Walehiane
  • Patent number: 6842890
    Abstract: The procedure and system of the invention are used to implement a technical application from which all uncontrolled internal interdependencies have been eliminated. The functional assemblies contained in the application are normalized so that the input data of each functional assembly unambiguously and alone determines the output data produced by the assembly. Further, according to the invention, the elements contained in the functional assemblies are normalized so that the input data of the elements unambiguously and alone determines the output data. There may be one or more elements or functional assemblies. Further, a functional assembly may form other functional assemblies. In an embodiment of the invention, the application implemented is a part of a telephone exchange software application in which the functional assemblies and elements are of an algorithmically processing type.
    Type: Grant
    Filed: September 27, 2000
    Date of Patent: January 11, 2005
    Assignee: Nokia Corporation
    Inventor: Max Hamberg
  • Patent number: 6826755
    Abstract: Systems and methods for switching from a first Internet context to a second Internet context without process shutdown are described. Internet context data, such as cookies, history and user-defined data, is stored in containers unique to each user on a system. Internet content is stored in a common location so redundant downloaded information is not stored. Content information is found or stored by hashing a URL and indexing the memory location according to the resulting hash value. If content data is specific to a particular user, a hash is performed on a combination of the URL and an ordinal associated with the user's unique identity to obtain a hash value unique to the user. The user-specific content is then stored and the memory location is indexed according to the unique hash value.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: November 30, 2004
    Assignee: Microsoft Corporation
    Inventors: Ahsan Syed Kabir, Erik Snapper, Darren Mitchell, Rajeev Dujari
  • Patent number: 6826751
    Abstract: Ambient calculus-based modal logics for mobile ambients are disclosed. Formal analysis mechanisms or frameworks with which mobile ambients can be described, and within which policies such as security policies can be tested against those ambients, are disclosed. In one embodiment, a computer-implemented method receives at least one container, where each container has at least one process. The method applies the containers, including their processes, against a predetermined modal logic. The modal logic is based on ambient calculus, and provides for spatial relationships among the processes of the containers. The containers and their processes are output, as applied against the logic.
    Type: Grant
    Filed: October 29, 1999
    Date of Patent: November 30, 2004
    Assignee: Microsoft Corporation
    Inventors: Luca Cardelli, Andrew Gordon, Giorgio Ghelli
  • Patent number: 6823510
    Abstract: A task management system, method and computer program product for determining optimal placement of task components on multiple machines for task execution, particularly for placing program components on multiple computers for distributed processing. First, a communication graph is generated representative of the computer program with each program unit (e.g., an object) represented as a node in the graph. Nodes are connected to other nodes by edges representative of communication between connected nodes. A weight is applied to each edge, the weight being a measure of the level of communication between the connected edges. Terminal nodes representative of the multiple computers are attached to the communication graph. Independent nets may be separated out of the communication graph. A cut is made at each terminal node and the weights of the cut edges are summed.
    Type: Grant
    Filed: September 29, 2000
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corp.
    Inventors: Vadekkadathu T. Rajan, Douglas N. Kimelman, Tova Roth, Mark N. Wegman, Karin Hogstedt
  • Patent number: 6785886
    Abstract: One or more virtual machines (VM's) run via a virtual machine monitor (VMM) on a hardware platform that has a segmented memory architecture. Each VM has at least one VM descriptor table that has, as entries, VM segment descriptors. At least one VMM descriptor table is established, including at least one shadow descriptor table that stores shadow descriptors for certain of the VM segment descriptors, which are then shadowed descriptors. The VMM compares the shadow descriptors with their respective corresponding shadowed VM descriptors, detects any lack of correspondence between the shadow descriptor table and the corresponding VM descriptor table, and updates and thereby synchronizes each shadow descriptor with its respective shadowed VM descriptor no later than, and preferably only upon the first use of, the respective descriptor by the VM.
    Type: Grant
    Filed: August 24, 2000
    Date of Patent: August 31, 2004
    Assignee: VMWare, Inc.
    Inventors: Beng-Hong Lim, Bich C. Le, Edouard Bugnion
  • Patent number: 6769120
    Abstract: A user's calendar program is configured to “induce” execution of scheduled programs or system activities. Utilizing a scheduler program, the user can configure the system to run certain recurring tasks but control system operation with varying results based on the controlling inducement factors received from the calendar program. When creating an event or activity entry in the calendar program, the user associates an inducement value with that entry. On the date of the entry, the scheduler program, before initiating execution of any scheduled tasks, obtains the inducement value(s) for that date. The inducement value(s) are logically combined with execution values to control execution of scheduled tasks.
    Type: Grant
    Filed: June 30, 1999
    Date of Patent: July 27, 2004
    Assignee: International Business Machines Corporation
    Inventor: Herman Rodriguez
  • Patent number: 6711739
    Abstract: A mechanism for controlling threads in a Java application while avoiding the unsafe conditions inherent in the use of existing java.lang.Thread methods. In one embodiment, a first class is defined for handling threads in an application. The first class uses a target variable to indicate whether a thread should continue to run, or whether it should be stopped. This first class provides a start( ) method to set up the target variable, a stop( ) method to set the target variable to indicate that the thread should be stopped, and an abstract run( ) method. The functionality of the run( ) method is provided by one or more additional classes which extend the first class. The additional classes override the abstract run( ) method and define the tasks to be performed by threaded objects instantiated from these classes. When a thread needs to be stopped, the corresponding target variable is set to indicate that it should be stopped.
    Type: Grant
    Filed: November 8, 1999
    Date of Patent: March 23, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: Jeffrey M. Kutcher
  • Patent number: 6697855
    Abstract: The invention concerns a method for access to a transmission channel shared between several stations, characterised in that it includes iteratively: an operation (302) of estimating requirements of each of the stations for access to the transmission channel, an operation of determining groups (303 and 307) of stations taking into account the estimated access requirements of the stations, at least one of the groups of stations being said to be “collective”, an operation of allocating (308), to each of the groups, access rights each corresponding to an interval of time during which the stations which do not form part of the group are not authorised to access the transmission channel, and during which, if the group is collective, each station which it includes gains access to the transmission channel according to a contention method.
    Type: Grant
    Filed: February 8, 1999
    Date of Patent: February 24, 2004
    Assignee: Canon Kabushiki Kaisha
    Inventors: Claude Le Dantec, Pascal Rousseau
  • Patent number: 6662364
    Abstract: A system and method for implementing mutual exclusion locks (mutexes) is provided. Mutexes of the present invention designate whether they are to be synchronized using fast nonatomic load/store sequences or, alternatively, expensive atomic hardware instructions. When a requesting thread requests a target mutex, the target mutex is synchronized using the method designated by the target mutex. In some embodiments, the designated synchronization method may be changed to the atomic method when the requesting thread is not the thread associated with the target mutex. In other embodiments, the designated synchronization method may be determined by a heuristic function. For example, the synchronization method may be changed to the atomic method when a mutex request counter, which penalizes thread changes, underflows.
    Type: Grant
    Filed: November 5, 1999
    Date of Patent: December 9, 2003
    Assignee: Hewlett-Packard Company, L.P.
    Inventors: Michael Burrows, Mark Thierry Vandervoorde, Sanjay Ghemawat
  • Patent number: 6658448
    Abstract: A method in a multi-processor computing system is disclosed. The method is an object-oriented method that allows a user to make associations between processes to be executed and available CPUs of the system. In particular, the method includes the displaying of the associations for a user to manipulate. Responses are accepted by the method from a user for creating logical groupings of the CPUs, hereinafter referred to as affinity groups. Next, an affinity mask is accepted from the user for each of the affinity groups, which affinity mask assigns available ones of the CPUs. After this a determination is made as to whether or not there are more CPUs to be assigned to the affinity groups, and if not; specific rules that make associations between the processes and the affinity groups are then accepted by the method from the user.
    Type: Grant
    Filed: October 21, 1999
    Date of Patent: December 2, 2003
    Assignee: Unisys Corporation
    Inventors: Joseph Peter Stefaniak, Philip Douglas Wilson