Patents Examined by Van Hoa Nguyen
  • Patent number: 7231640
    Abstract: An operating system registry contains multiple “identities.” One of these identities is designated the current identity. An application executing on a multitasking computer system uses information stored in the current identity to configure the application, for example to provide a user-specific user interface. When an application opens, it registers with an identity manager using objects known as “connection points.” To switch identities, a user supplies the name of an identity to switch to. The identity manager then uses the registered connection points to query each of the applications for permission to switch identities. If all the registered connection points grant permission to switch identities, then the identity manager switches the current identity by changing information in the registry. The identity manager then notifies all applications, via their registered connection points, that a change to the registry has been made so that the applications can take appropriate action.
    Type: Grant
    Filed: November 29, 2004
    Date of Patent: June 12, 2007
    Assignee: Microsoft Corporation
    Inventors: Christopher A. Evans, Christopher T. Sager, Darren Mitchell
  • Patent number: 7203948
    Abstract: According to one aspect of the present invention, a system is provided for implementing caching of view custom options in a framework to support web-based applications. The system comprising a set of server-side objects managed by an object manager (OM) running on a server. The system further comprises a set of browser-side objects running on a browser running on a client. The system also comprises a remote procedure call (RPC) mechanism to enable re-targeting of methods from browser-side objects to server-side objects. The system additionally comprises a notification mechanism to facilitate transmission of notifications from server-side objects to browser-side objects. The system also comprises a cache on the client to store custom options of views, wherein each view is a display panel consisting of a particular arrangement of applets.
    Type: Grant
    Filed: September 29, 2001
    Date of Patent: April 10, 2007
    Assignee: Siebel Systems, Inc.
    Inventors: Anil Mukundan, John Coker, William E. Coppens
  • Patent number: 7197431
    Abstract: A method and system for auditing software systems by monitoring the use and non-use of software programs in a computer. An operating system of the computer controls execution of software products through the invocation of respective load modules thereof. A monitor is periodically triggered to collect load module execution information, which is filtered by a filtering module, and a correlator correlates load module execution information with data that associates load module names with corresponding software products and develops a list of products executed in the computer over the course of a given time period.
    Type: Grant
    Filed: August 20, 2001
    Date of Patent: March 27, 2007
    Assignee: International Business Machines Corporation
    Inventor: Robert Barritz
  • Patent number: 7137123
    Abstract: Systems and methods for implementing message dispatch for an object-oriented program are provided. Receiver type information is collected at a site of a method that dispatches messages to receiver objects. The receiver type information is saved for subsequent execution of the program. By saving the receiver type information, the program may be more efficient as it is not necessary to collect the receiver type information again. Additionally, inlining information may be saved with the receiver type information.
    Type: Grant
    Filed: June 28, 2001
    Date of Patent: November 14, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Lars Bak, Urs Hölzle
  • Patent number: 7076786
    Abstract: The state of one or more server-side control objects is managed using a transportable state structure that is communicated between a web server and a client. The transportable state structure may include state information, hierarchical information, and an integrity code. Prior to a response to the client, the state information of one or more server-side control objects is recorded into the transportable state structure for transmission to the client in the response. The transportable state structure is then returned to the server and loaded into the server-side control objects to restore the hierarchy to its previous state.
    Type: Grant
    Filed: April 5, 2004
    Date of Patent: July 11, 2006
    Assignee: Microsoft Corporation
    Inventors: Gary S. Burd, Kenneth B. Cooper, Mark T. Anders, Scott D. Guthrie, David S. Ebbo, Ted A. Peters, Stephen J. Millet
  • Patent number: 7051341
    Abstract: Provided is a computer implemented method, system, and program for implementing for implementing a remote method call. Remote objects and at least one proxy object are generated, where each proxy object corresponds to one remote object. Data from the remote object is included into the proxy object. A call to a method on one proxy object is processed and the method is executed. The method is one of a plurality of methods, wherein at least one of the plurality of methods comprises a local method including code to perform method operations on the proxy object without going to the remote object and at least one other of the plurality of methods comprises a remote method including code to perform method operations on the remote object.
    Type: Grant
    Filed: December 14, 2001
    Date of Patent: May 23, 2006
    Assignee: International Business Machines Corporation
    Inventors: David Alan Burton, Robert Louis Morton, Gary William Steffens
  • Patent number: 7028311
    Abstract: An architecture for a communications node and a method of implementing control functions in a Session Initiation Protocol (SIP) telecommunications network. The node performs a plurality of call-control functions in a single physical node. A plurality of application-level logic blocks corresponding to the plurality of call-control functions are interfaced with a common engine module which is implemented on top of a common operating system and physical platform. The engine module includes SIP behavior functions and SIP stack functions, selected ones of which are operable to perform different call-control functions when interfaced with different application-level logic blocks. Mapping tables within the engine module identify groups of functions that, together with selected logic blocks, perform defined call-control functions. The open architecture allows additional functional logic blocks to be interfaced with the engine module to implement additional call-control functions.
    Type: Grant
    Filed: January 4, 2002
    Date of Patent: April 11, 2006
    Assignee: Telefonaktiebolaget LM Ericsson (publ)
    Inventors: Adam Roach, Mattias Hartikainen, Sean Olson, Shyamal Prasad
  • Patent number: 7000238
    Abstract: A system providing improved methods for remote method invocation of a service is described. The system includes methodology for a client to cast, at design time, a generic interface class to a remote service having a defined interface. The generic interface class dynamically generates a proxy for making a remote method call on the remote service at runtime, while also providing for runtime type checking. The generic interface class is subclassed to provide support for particular wire formats and methods of transport. The dynamically generated proxy converts a remote method call by the client into a wire format specified in the remote service's interface definition and calls the remote service using the method of transport specified in the interface definition. The system also supports making a service available to remote clients and includes modules for converting remote method calls on a service into native format.
    Type: Grant
    Filed: January 30, 2002
    Date of Patent: February 14, 2006
    Assignee: Borland Software Corporation
    Inventors: Richard L. Nadler, Charles P. Jazdzewski
  • Patent number: 6996829
    Abstract: Techniques are provided for making call outs from a multi-threaded virtual machine to a server running in a master native thread. When a virtual machine thread that is not running in the master native thread (a “non-master VM thread”) encounters code that requires a call to be made to a server routine, the non-master VM thread transfers control to the master native thread for making the call. The master native thread is then used to make the call out to the specified server routine. If the call returns without an error, then the non-master VM thread switches back to using a non-master native thread.
    Type: Grant
    Filed: December 7, 2000
    Date of Patent: February 7, 2006
    Assignee: Oracle International Corporation
    Inventor: Scott Meyer
  • Patent number: 6978466
    Abstract: A method and system to reduce thrashing in a multi-threaded programming environment is disclosed. A method in accordance with one embodiment of the present invention includes intercepting an operating system thread creation request for a function, creating a thread including a stack in response to intercepting the operating system thread creation request, modifying an initial stack pointer of the stack, and executing the function utilizing the thread in response to modifying the initial stack pointer.
    Type: Grant
    Filed: January 2, 2002
    Date of Patent: December 20, 2005
    Assignee: Intel Corporation
    Inventor: Philip J. Kerly
  • Patent number: 6976254
    Abstract: A bytecode execution system and method for increasing the execution speed of invoking and returning from Methods while minimizing the memory footprint required to support this. The system includes a virtual machine with a class loader and an interpreter or, alternatively, a hardware accelerator. Speed and memory enhancements are realized by establishing an activation stack frame template with a set of criteria. Each Method from subject code is examined to determine whether the Method conforms to the criteria of the stack frame template. If the Method conforms, an activation frame for that Method based on the activation stack frame template is created when the Method is invoked. Otherwise, an activation frame based on standard virtual machine criteria is created. An access structure is associated with each Method and a Method routing structure is created for each class.
    Type: Grant
    Filed: November 28, 2001
    Date of Patent: December 13, 2005
    Assignee: Esmertec AG
    Inventor: Jeremy Paul Kramskoy
  • Patent number: 6976260
    Abstract: A single atomic instruction is used to change up to four disjoint areas in memory concurrently in an extended compare and swap operation, replacing traditional locks for serialization and providing recovery for all queue manipulations. Use count-based responsibility passing is employed so that any number of tasks can read the various message queue chains, concurrent with queue updates being made. A summary queue update sequence number is maintained to provide concurrent chain update detection, so that any number of tasks can add elements to the end, or remove elements from the middle (i.e. any where in the chain) concurrently. Concurrent footprinting is used with chain manipulation, so that all (or none) of the chaining indicators and a footprint are set with a single, non-interruptible instruction, making it possible for recovery to always take the correct action.
    Type: Grant
    Filed: September 24, 1999
    Date of Patent: December 13, 2005
    Assignee: International Business Machines Corporation
    Inventors: Donald F. Ault, David R. Cardall, Donald W. Schmidt
  • Patent number: 6961937
    Abstract: A method for advertising an availability of a processing resource to execute a process is provided. The method includes enabling a registry service and the processing resource to register with the registry service. The processing resource is configured to be one of numbers of network interconnected resources. Also included in the method is enabling a system controller code to find and select a suitable and available processing resource registered with the registry service to execute the process. The system controller code is configured to be executed on a computer that is networked with the number of interconnected resources. The method further includes enabling the system controller code to communicate with a selected processing resource and updating a status of the processing resource in the registry service upon a termination of executing the process.
    Type: Grant
    Filed: September 28, 2001
    Date of Patent: November 1, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Madhava V. Avvari, Satya N. Dodda, David S. Herron, Bae-Chul Kim, Gabriel R. Reynaga, Konstantin I. Boudnik, Narendra Patil
  • Patent number: 6952824
    Abstract: A method of processing network data in a network processor includes using three or more threads to process a beginning portion, a middle portion, and an end portion of data packet. The first thread processes the beginning portion; one or more middle threads process the middle portion, and a last thread processes the end portion. First information is indirectly passed from the first thread to the last thread via a first buffer with the middle threads progressively updating the first information. Second information is directly passed from the first thread to the last thread via a second buffer.
    Type: Grant
    Filed: November 10, 2000
    Date of Patent: October 4, 2005
    Assignee: Intel Corporation
    Inventors: Donald F. Hooper, Matthew J. Adiletta, Gilbert M. Wolrich
  • Patent number: 6951016
    Abstract: A code server operates in a data processing system having an operating system or environment, such as OS/2 or Windows, which processes coded programs in discrete code modules. The code server maintains linkage information between the various code modules forming an association representing all the linkage data for the entire program. This information is gathered by way of searching through the files of the computer network or by direct insertion into the code module information table. Once the associative data has been gathered, a coded program may be retrieved quickly and efficiently without the need for repetitive on-line searching because the user need refer only to the code server which contains a look-up tables storing the data representing the associative information.
    Type: Grant
    Filed: January 16, 2003
    Date of Patent: September 27, 2005
    Inventor: Stephen F. B. Pickett
  • Patent number: 6944862
    Abstract: A method (300) and system for scheduling execution of activities, such as jobs of a batch processing. An estimated duration of each job is predicted (365-367) as a running average of the measured durations of completed instances of the job executed previously. The method of the invention uses historical data to identify (375-385) repeatable patterns for the job duration; for example, a decision tree is inducted using the completed instances of the job as training examples. The decision tree is applied for classifying (325) each new instance of the job to be executed, according to its planned time of execution; the estimated duration of the job is revised (330) using an adjustment factor associated with the class assigned to the new instance of the job.
    Type: Grant
    Filed: January 8, 2002
    Date of Patent: September 13, 2005
    Assignee: International Business Machines Corporation
    Inventors: Sergio Caggese, Scot MacLellan
  • Patent number: 6941555
    Abstract: A clustered enterprise distributed processing system. The distributed processing system includes a first and a second computer coupled to a communication medium. The first computer includes a virtual machine (JVM) and kernel software layer for transferring messages, including a remote virtual machine (RJVM). The second computer includes a JVM and a kernel software layer having a RJVM. Messages are passed from a RJVM to the JVM in one computer to the JVM and RJVM in the second computer. Messages may be forwarded through an intermediate server or rerouted after a network reconfiguration. Each computer includes a Smart stub having a replica handler, including a load balancing software component and a failover software component. Each computer includes a duplicated service naming tree for storing a pool of Smart stubs at a node.
    Type: Grant
    Filed: May 1, 2003
    Date of Patent: September 6, 2005
    Assignee: BEA Systems, Inc.
    Inventors: Dean B. Jacobs, Anno R. Langen
  • Patent number: 6934948
    Abstract: A method is provided for managing a group of two or more operations within a software system. The method includes initiating a group context including a sub-context for each operation in the group context, wherein each operation is supported by one of a transactional resource and a messaging component, performing the operations within the sub-contexts, each operation resulting in an outcome, coupling the outcomes within the group context, determining an overall outcome of the group context, and taking at least one action dependent on the overall outcome. The method further includes the step of terminating the group context upon taking one or more actions.
    Type: Grant
    Filed: January 22, 2001
    Date of Patent: August 23, 2005
    Assignee: International Business Machines Corporation
    Inventors: Thomas Mikalsen, Isabelle Rouvellou, Stanley Sutton, Stefan Tai
  • Patent number: 6931645
    Abstract: Methods are provided that allow high-level protocol drivers to cancel transmission requests that have been sent to low-level protocol drivers. Transmission requests are assigned cancel identifiers. Because one original request may be divided into several packets for transmission, the same cancel identifier is given to every packet that derives from the original request. High-level protocol drivers can request cancellation of all pending requests whose cancel identifiers match the one indicated. Cancel identifiers generated by different high-level protocol drivers are mutually distinct so one protocol driver cannot inadvertently cancel requests made by another. The protocol driver may divide its requests into logical flows and assign the same cancel identifier to all requests within one flow. Then, the protocol driver may cancel all pending requests within one flow while allowing requests in other flows to proceed to transmission.
    Type: Grant
    Filed: December 15, 2000
    Date of Patent: August 16, 2005
    Assignee: Microsoft Corporation
    Inventors: Arvind Murching, Nk Srinivas, Jameel Hyder, Vadim Eydelman, Abolade Gbadegesin
  • Patent number: 6918120
    Abstract: The present invention provides a split data and meta data distributed system operable to provide computer file services. The system includes a plurality of servers that include meta data servers and data servers. A client multicasts a message, including a request (e.g., a data request or a meta data request) to the plurality of servers in the system. The client considers the plurality of servers to be a single server instance. The servers may be divided into different subsets, and each subset is responsible for data requests or meta data requests. The servers that are responsible for the particular type of received request may respond to the request. Also, if multiple servers in a subset generate a request, the system may synchronize the responses, such that a single response, rather than multiple responses are transmitted to the client. This synchronization may not be necessary for responses to requests that do not change the stored state of the system.
    Type: Grant
    Filed: April 20, 2001
    Date of Patent: July 12, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Erik Riedel