Patents by Inventor George P. Copeland

George P. Copeland 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).

  • Patent number: 8032586
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After a message is received at a computing device that contains a cache management unit, a fragment in the message body of the message is cached. Subsequent requests for the fragment at the cache management unit result in a cache hit. A FRAGMENTLINK tag is used to specify the location in a fragment for an included or linked fragment which is to be inserted into the fragment during fragment or page assembly or page rendering. A FRAGMENTLINK tag may include a FOREACH attribute that is interpreted as indicating that the FRAGMENTLINK tag should be replaced with multiple FRAGMENTLINK tags. The FOREACH attribute has an associated parameter that has multiple values that are used in identifying multiple fragments for the multiple FRAGMENTLINK tags.
    Type: Grant
    Filed: June 21, 2007
    Date of Patent: October 4, 2011
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, Michael H. Conner, George P. Copeland, Arun K. Iyengar
  • Patent number: 7987239
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After a message is received at a computing device, a fragment in the message body is cached. Cache ID rules from an origin server accompany a fragment to describe a method for forming a unique cache ID for the fragment such that dynamic content can be cached away from an origin server. A cache ID may be based on a URI and/or query parameters and/or cookies that are associated with a fragment. After user authentication, a cookie containing the user's role may be used in subsequent requests for role-specific fragments and in the cache identifier for role-specific fragments, thereby allowing requests from other users for role-specific fragments to be resolved in the cache when the users have the same role because these users would also have the same cookie.
    Type: Grant
    Filed: September 13, 2007
    Date of Patent: July 26, 2011
    Assignee: International Business Machines Corporation
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
  • Patent number: 7730154
    Abstract: A method, a system, an apparatus, and a computer program product are presented for fragment caching. After a message is received at a computing device that contains a cache management unit, a fragment in the message body of the message is cached. Subsequent requests for the fragment at the cache management unit result in a cache hit. The cache management unit operates equivalently in support of fragment caching operations without regard to whether the computing device acts as a client, a server, or a hub located throughout the network; in other words, the fragment caching technique is uniform throughout a network. Cache ID rules accompany a fragment from an origin server; the cache ID rules describe a method for forming a unique cache ID for the fragment such that dynamic content can be cached away from an origin server.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: June 1, 2010
    Assignee: International Business Machines Corporation
    Inventors: Rajesh S. Agarwalla, James R. H. Challenegr, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
  • Patent number: 7702800
    Abstract: A system and method are disclosed, according to which, the responsiveness of client/server-based distributed web applications operating in an object-oriented environment may be improved by detecting and handling affinity breaks between a client and server. Affinity exists when a client's requests are all routed to the same server. This is often the case, for example, during secure online transactions. A problem occurs when the preferred server becomes temporarily unavailable, and the client's requests are directed to a different server. When the original server is restored, it must detect the fact that its affinity with the client was disrupted, and any client-specific data in its cache may be invalid. In an exemplary embodiment of the system and method disclosed herein, an “affinity command” is exchanged between the client and the server during each client request. The affinity command contains a user ID associated with the client and a “generation ID”, which is unique for each request.
    Type: Grant
    Filed: December 18, 2000
    Date of Patent: April 20, 2010
    Assignee: International Business Machines Corporation
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Patent number: 7685188
    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: Grant
    Filed: January 23, 2004
    Date of Patent: March 23, 2010
    Inventors: George P. Copeland, Luis Felipe Cabrera
  • Patent number: 7631071
    Abstract: Mechanisms for operating in recovery mode while ensuring reliable message processing for messages received during the recovery operation mode. Upon receiving a message corresponding to a particular message transaction, the instance responsible for that message transaction determines from state information corresponding to the transaction, whether or not that instance is operating in normal mode, or recovery mode. If the state information reflects normal operation mode, then the instance processes the message. If recover mode, then the instance evaluates whether or not the message is a normal message suitable for normal operation mode, or a recovery message suitable for recovery operation mode. If the message is a normal message, then the message is placed in a persistent queue for later processing. If the message is a recovery message, the message is processed. Upon completion of recovery, the normal message in the queue may be processed.
    Type: Grant
    Filed: January 23, 2004
    Date of Patent: December 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, George P. Copeland
  • Patent number: 7624141
    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: Grant
    Filed: January 23, 2004
    Date of Patent: November 24, 2009
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, George P. Copeland
  • Patent number: 7600153
    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: Grant
    Filed: December 12, 2007
    Date of Patent: October 6, 2009
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, George P. Copeland
  • Patent number: 7587515
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. Within the request path from a client to a server, a first computing device may attach to a request message a message header that indicates that the first computing device supports fragment processing; a second computing device within the request path processes this request message. When the second computing device receives a response message corresponding to the request message, it can check for a message header directive that indicates that it should cache the response message's fragment only if the response path does not have at least one computing device that supports the processing of fragments; if so, then it forwards the response message without caching its contained fragment.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: September 8, 2009
    Assignee: International Business Machines Corporation
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Subbarao Meduri
  • Publication number: 20090222480
    Abstract: Managing data for an object, including managing data in the object itself and alternative data applicable to an object dependent on one or more locales. Locales may refer to languages, geographic locations or other user preferences. A first object is stored. The first object includes a first identifier for the first object and a first plurality of properties. The first plurality of properties includes locale invariant values for the first plurality of properties. One or more localized objects are stored. The localized objects are unique from the first object. The localized objects each include a specification of a locale, a related identifier related to the first identifier, and one or more related properties related to one or more of the properties in the first plurality of properties. The related properties store localized values, including one or more alternatives to the locale invariant values particular to the specified locale.
    Type: Application
    Filed: June 27, 2008
    Publication date: September 3, 2009
    Applicant: Microsoft Corporation
    Inventors: George P. Copeland, Nima Ganjeh, Craig Vernon McMurtry, Vadim Meleshuk, Robert D. Ward
  • Patent number: 7565451
    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: Grant
    Filed: January 23, 2004
    Date of Patent: July 21, 2009
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, David A. Wortendyke, George P. Copeland, Erik B. Christensen, David E. Levin, Dhananjay M. Mahajan, Scott Christopher Seely, Daniel W. Roth
  • Patent number: 7509393
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After a message is received at a computing device, a fragment in the message body is cached. Cache ID rules from an origin server accompany a fragment to describe a method for forming a unique cache ID for the fragment such that dynamic content can be cached away from an origin server. A cache ID may be based on a URI and/or query parameters and/or cookies that are associated with a fragment. After user authentication, a cookie containing the user's role may be used in subsequent requests for role-specific fragments and in the cache identifier for role-specific fragments, thereby allowing requests from other users for role-specific fragments to be resolved in the cache when the users have the same role because these users would also have the same cookie.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: March 24, 2009
    Assignee: International Business Machines Corporation
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
  • Patent number: 7451211
    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: Grant
    Filed: January 23, 2004
    Date of Patent: November 11, 2008
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, George P. Copeland, Steven E. Lucco, Bradford Lovering
  • Patent number: 7426534
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After a message is received at a computing device that contains a cache management unit, a fragment in the message body of the message is cached. Subsequent requests for the fragment at the cache management unit result in a cache hit. A FRAGMENTLINK tag is used to specify the location in a fragment for an included or linked fragment which is to be inserted into the fragment during fragment or page assembly or page rendering. A FRAGMENTLINK tag may include a FOREACH attribute that is interpreted as indicating that the FRAGMENTLINK tag should be replaced with multiple FRAGMENTLINK tags. The FOREACH attribute has an associated parameter that has multiple values that are used in identifying multiple fragments for the multiple FRAGMENTLINK tags.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: September 16, 2008
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, Michael H. Conner, George P. Copeland, Arun K. Iyengar
  • Patent number: 7412535
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After a message is received at a computing device that contains a cache management unit, a fragment in the message body of the message is cached. Subsequent requests for the fragment at the cache management unit result in a cache hit. A FRAGMENTLINK tag is used to specify the location in a fragment for an included or linked fragment which is to be inserted into the fragment during fragment or page assembly or page rendering. If a FRAGMENTLINK tag is present within the message body of a message, then the FRAGMENT message header for the message may indicate the presence of the FRAGMENTLINK tag with a directive for the FRAGMENT message header, e.g., using a “contains-fragment” directive.
    Type: Grant
    Filed: December 19, 2001
    Date of Patent: August 12, 2008
    Assignee: International Business Machines Corporation
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan
  • Patent number: 7370317
    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: Grant
    Filed: January 23, 2004
    Date of Patent: May 6, 2008
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, George P. Copeland, Jason Allen
  • Patent number: 7313727
    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: Grant
    Filed: January 25, 2007
    Date of Patent: December 25, 2007
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, George P. Copeland
  • Patent number: 7296183
    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: Grant
    Filed: January 23, 2004
    Date of Patent: November 13, 2007
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, George P. Copeland
  • Patent number: 7216255
    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: Grant
    Filed: January 23, 2004
    Date of Patent: May 8, 2007
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, George P. Copeland
  • Patent number: 6877025
    Abstract: A system and method are disclosed, according to which, the responsiveness of client/server-based distributed web applications operating in an object-oriented environment may be improved by storing both JSPs and commands in the same cache. Some of the code and data structures required for caching JSPs are the same as for commands, and are saved in a common area of the cache. A second area of the cache is reserved for code and data specific to JSPs, and a third area is reserved for code and data specific to commands. This arrangement avoids the difficulty of judiciously apportioning the available cache between JSPs and commands.
    Type: Grant
    Filed: December 18, 2000
    Date of Patent: April 5, 2005
    Assignee: International Business Machines Corp.
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry