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: 8032586Abstract: 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: GrantFiled: June 21, 2007Date of Patent: October 4, 2011Assignee: International Business Machines CorporationInventors: James R. H. Challenger, Michael H. Conner, George P. Copeland, Arun K. Iyengar
-
Patent number: 7987239Abstract: 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: GrantFiled: September 13, 2007Date of Patent: July 26, 2011Assignee: International Business Machines CorporationInventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
-
Patent number: 7730154Abstract: 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: GrantFiled: December 19, 2001Date of Patent: June 1, 2010Assignee: International Business Machines CorporationInventors: Rajesh S. Agarwalla, James R. H. Challenegr, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
-
Patent number: 7702800Abstract: 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: GrantFiled: December 18, 2000Date of Patent: April 20, 2010Assignee: International Business Machines CorporationInventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
-
Patent number: 7685188Abstract: 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: GrantFiled: January 23, 2004Date of Patent: March 23, 2010Inventors: George P. Copeland, Luis Felipe Cabrera
-
Patent number: 7631071Abstract: 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: GrantFiled: January 23, 2004Date of Patent: December 8, 2009Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, George P. Copeland
-
Patent number: 7624141Abstract: 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: GrantFiled: January 23, 2004Date of Patent: November 24, 2009Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, George P. Copeland
-
Patent number: 7600153Abstract: 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: GrantFiled: December 12, 2007Date of Patent: October 6, 2009Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, George P. Copeland
-
Patent number: 7587515Abstract: 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: GrantFiled: December 19, 2001Date of Patent: September 8, 2009Assignee: International Business Machines CorporationInventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Subbarao Meduri
-
Publication number: 20090222480Abstract: 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: ApplicationFiled: June 27, 2008Publication date: September 3, 2009Applicant: Microsoft CorporationInventors: George P. Copeland, Nima Ganjeh, Craig Vernon McMurtry, Vadim Meleshuk, Robert D. Ward
-
Patent number: 7565451Abstract: 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: GrantFiled: January 23, 2004Date of Patent: July 21, 2009Assignee: Microsoft CorporationInventors: 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: 7509393Abstract: 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: GrantFiled: December 19, 2001Date of Patent: March 24, 2009Assignee: International Business Machines CorporationInventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
-
Patent number: 7451211Abstract: 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: GrantFiled: January 23, 2004Date of Patent: November 11, 2008Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, George P. Copeland, Steven E. Lucco, Bradford Lovering
-
Patent number: 7426534Abstract: 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: GrantFiled: December 19, 2001Date of Patent: September 16, 2008Assignee: International Business Machines CorporationInventors: James R. H. Challenger, Michael H. Conner, George P. Copeland, Arun K. Iyengar
-
Patent number: 7412535Abstract: 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: GrantFiled: December 19, 2001Date of Patent: August 12, 2008Assignee: International Business Machines CorporationInventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan
-
Patent number: 7370317Abstract: 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: GrantFiled: January 23, 2004Date of Patent: May 6, 2008Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, George P. Copeland, Jason Allen
-
Patent number: 7313727Abstract: 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: GrantFiled: January 25, 2007Date of Patent: December 25, 2007Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, George P. Copeland
-
Patent number: 7296183Abstract: 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: GrantFiled: January 23, 2004Date of Patent: November 13, 2007Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, George P. Copeland
-
Patent number: 7216255Abstract: 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: GrantFiled: January 23, 2004Date of Patent: May 8, 2007Assignee: Microsoft CorporationInventors: Luis Felipe Cabrera, George P. Copeland
-
Patent number: 6877025Abstract: 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: GrantFiled: December 18, 2000Date of Patent: April 5, 2005Assignee: International Business Machines Corp.Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry