Patents by Inventor Luis Cabrera

Luis Cabrera has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20050198148
    Abstract: Mechanisms for enforcing a message exchange pattern. When two computing systems communicate in order to accomplish a particular task, they engage in a particular message exchange pattern. Given certain progress through the message exchange pattern, the message exchange pattern may restrict which computing system may send what kind of messages. Each computing system tracks progress through the message exchange pattern by, for example, using a state transition tree in which each node represents a state of the message exchange pattern, and in which transmission or receipt of certain messages may cause state transitions. A computing system then only transmits messages if appropriate given the current tracked progress through the message exchange pattern.
    Type: Application
    Filed: January 23, 2004
    Publication date: September 8, 2005
    Inventors: Luis Cabrera, George Copeland, Steven Lucco, Bradford Lovering
  • Publication number: 20050198108
    Abstract: Deterministic rule-based dispatch of the data structure to a group of one or more methods. After accessing the data structure to be processed, a list of rules is evaluated to identify multiple rules that apply to the dispatch of the data structure. Each of these multiple rules specifies a different group of one or more methods to which the data structure should be dispatched. The multiple rules are resolved to a single prevailing rule that will be applied for the dispatch of the data structure. Then, the computing system dispatches the data structure to the group of one or more methods specified by the prevailing rule. The rule evaluation and prioritization is deterministic for ease in debugging since it may be determined which group of one or more methods processed a data structure should a performance problem arise during the processing. Furthermore, rules may be added, amended, or deleted dynamically.
    Type: Application
    Filed: January 23, 2004
    Publication date: September 8, 2005
    Inventors: Luis Cabrera, George Copeland
  • Publication number: 20050198390
    Abstract: Mechanisms in which upon receiving a message, the message is passed through one or more receiving path components that are positioned in the receiving path of the message prior to being passed to a dispatching component. One or more of the receiving path components may modify the message to include information that may be helpful to the dispatching component in order to perform the dispatch. The dispatching component receives modified message, and uses information from the modified message (including potentially the modification itself) to perform the dispatch. Since the message is modified to include additional information helpful to the dispatching component, the dispatching component may be more flexible in identifying the processing that should occur with the message. Accordingly, specialized and flexible processing may be enabled that is ideally suited for the message.
    Type: Application
    Filed: January 23, 2004
    Publication date: September 8, 2005
    Inventors: Luis Cabrera, David Wortendyke, George Copeland, Erik Christensen, David Levin, Dhananjay Mahajan, Scott Seely, Daniel Roth
  • Publication number: 20050177774
    Abstract: Mechanisms for executing a transaction such that it may be undone after being committed. The mechanism maintains a mapping between each of a number of groups of one or more direct methods with a corresponding group of one or more inversion methods, that, when executed, causes the computing system to at least partially undo the effects of the execution of the corresponding group of direct methods. Upon beginning a transaction, the computing system runs a one or more groups of one or more direct methods that are part of the transaction. The mapping is then used to identify the corresponding group(s) of inversion methods. The identities of each corresponding group of inversion methods are then saved to a compensation record. The transaction is then committed, and the compensation record is saved to a persistent media along with a transaction identifier.
    Type: Application
    Filed: January 23, 2004
    Publication date: August 11, 2005
    Inventors: George Copeland, Luis Cabrera
  • Publication number: 20050177759
    Abstract: Mechanisms for adaptively entering and exiting recovery mode. When a message is received from a particular message transaction, the appropriate processing instance is loaded from persistent memory to system memory. The processing instance then determines from its own state information whether or not it is in recovery mode. This indication of recovery or normal mode may be set by a system-wide recovery detection module. If the processing instance determines that it is in normal mode, then the processing instance executes code appropriate for normal operation without needing to execute any recovery code at all. If, on the other hand, the processing instance determines that it is in recovery mode, then it executes recovery code. Once the recovery code has completed successfully, the processing instance may then cause its own normal mode.
    Type: Application
    Filed: January 23, 2004
    Publication date: August 11, 2005
    Inventors: Luis Cabrera, George Copeland
  • Publication number: 20050166186
    Abstract: Mechanisms for automatically generating code that tests capabilities of a test computing system to simulate a message exchange pattern. The code generation computing system uses a message exchange pattern definition to generate the simulation code. For each state in which the message exchange pattern definition allows valid messages to be transmitted, code is generated for that state that at least simulates the transmission of a valid transmission message. For each state in which the message exchange pattern definition allows valid messages to be received, code is generated for that state that simulates the receipt of a valid receipt message. If the transmission or receipt of the message causes a state transition to occur, code is generated that causes the appropriate state transition in the message exchange pattern.
    Type: Application
    Filed: January 23, 2004
    Publication date: July 28, 2005
    Inventors: Luis Cabrera, George Copeland, Jason Allen
  • Publication number: 20050165860
    Abstract: A system consistency management module that performs consistency checking on behalf of an instance. The module identifies data fields of state information corresponding to the instance that are to be subject to consistency checking. The instance may identify this data fields to the system module. The system module may also identify an event that will prompt the consistency checking. When the event occurs, the system module performs the consistency checking on the identified fields. If the system module detects an inconsistency, it may set the state information to reflect that the instance is operating in recovery mode. If the instance itself was to perform the consistency checking, the instance may inform the system module that an inconsistency has been detected. The system module then sets the state information for the instance to reflect that the instance is operating in recovery mode.
    Type: Application
    Filed: January 23, 2004
    Publication date: July 28, 2005
    Inventors: Luis Cabrera, George Copeland
  • Publication number: 20050108384
    Abstract: A method and apparatus are described for investigating the behavior of an environment by analyzing messages passed between participants in the environment. The environment can pertain to a network, a machine, a system, a software program, or other environment. The analysis can use any kind of analysis to group sequences of messages into a collection of related sequences. The results of the analysis may reveal anomalous conditions within the environment, or other features of the environment.
    Type: Application
    Filed: October 23, 2003
    Publication date: May 19, 2005
    Inventors: John Lambert, Luis Cabrera
  • Publication number: 20050108263
    Abstract: An improved hierarchical storage management (HSM) system used in connection with computer systems is provided. A technique is provided whereby a file having portion(s) migrated to remote storage location(s) may be efficiently relocated, and metadata for the file is updated according to its relocated storage relationships. Thus, when a source file having portions migrated to remote storage is to be re-located or copied by the HSM system to a target file, instead of copying the entire file across all of its associated storage locations, the minimum or efficient set of data is relocated. The metadata describing the source file's migration storage characteristics is updated to reflect its new use in connection with the target file.
    Type: Application
    Filed: November 24, 2004
    Publication date: May 19, 2005
    Applicant: Microsoft Corporation
    Inventors: Luis Cabrera, Deborah Jones
  • Publication number: 20050097126
    Abstract: A technique is provided whereby a stream of data located in a first storage location is registered for migration administration and according to preset criteria, portion(s) of the stream of data that are suited to another storage location are migrated to maximize system storage efficiencies. The file system may have use of facilities that enable the monitoring of files/streams that have been registered for migration administration or files/streams may be polled according to preset criteria. If the stream of data has portions to migrate to another storage location, the hierarchical storage management (HSM) system migrates the data to the other storage location, such as to long term or off-line storage, and preserves the data relationships of the stream via metadata. The technique allows for multiple volumes to be spanned by the migration target location, and multiple file systems may service the source and target.
    Type: Application
    Filed: December 10, 2004
    Publication date: May 5, 2005
    Applicant: Microsoft Corporation
    Inventors: Luis Cabrera, Deborah Jones, Ravisankar Pudipeddi, Stefan Steiner
  • Publication number: 20050080843
    Abstract: Distributed computing systems having mechanisms for efficiently coordinating transactions between nodes in the system are provided. One or more nodes may negotiate maximum time periods in which to communicate with each other or a transaction coordinator. A node is determined to be non-responsive when the time since a last communication exceeds the maximum time period. The maximum time period may include an adjustment for the latency of at least a portion of the distributed computing system.
    Type: Application
    Filed: November 30, 2004
    Publication date: April 14, 2005
    Applicant: Microsoft Corporation
    Inventors: Luis Cabrera, Alexander Weinert
  • Publication number: 20050027735
    Abstract: An improved hierarchical storage management (HSM) system used in connection with computer systems is provided. A technique is provided whereby a file having portion(s) migrated to remote storage location(s) may be efficiently relocated, and metadata for the file is updated according to its relocated storage relationships. Thus, when a source file having portions migrated to remote storage is to be re-located or copied by the HSM system to a target file, instead of copying the entire file across all of its associated storage locations, the minimum or efficient set of data is relocated. The metadata describing the source file's migration storage characteristics is updated to reflect its new use in connection with the target file.
    Type: Application
    Filed: August 31, 2004
    Publication date: February 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Luis Cabrera, Deborah Jones