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: 6823360
    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 cofetching read only commands. In an exemplary embodiment, the system and method are implemented by defining special preExecute and postExecute methods of cacheable commands. The preExecute method of a requested command may be invoked to execute secondary commands and then return them to the requesting client. The postExecute method of a requested command may be invoked to place the returned commands in a cache, along with the requested command. In this manner, a single request can be used to execute, retrieve and cache multiple related commands. Cofetched commands are designated by the application developer when the requested command and its associated methods are created, and may be chosen based on their anticipated use in conjunction with the requested command.
    Type: Grant
    Filed: December 18, 2000
    Date of Patent: November 23, 2004
    Assignee: International Business Machines Corp.
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Patent number: 6807606
    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 coordinating execution of cacheable entries among a group of web servers, operably coupled in a network. In an exemplary embodiment, entries are considered to be either commands or Java Server Pages (JSPs), and the system and method are implemented by defining a class of objects (i.e., CacheUnits) to manage the caching of entries. An entry must be executed before it can be stored in a cache. Since this is computationally costly, each cacheable entry has an associated coordinating CacheUnit, which sees to it that only one CacheUnit executes an entry. Once the entry has been executed, a copy of it resides in the cache of the coordinating CacheUnit, from which it can be accessed by other CacheUnits without having to re-execute it.
    Type: Grant
    Filed: December 18, 2000
    Date of Patent: October 19, 2004
    Assignee: International Business Machines Corp.
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Publication number: 20040073630
    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: Application
    Filed: December 18, 2000
    Publication date: April 15, 2004
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Publication number: 20030191800
    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: Application
    Filed: December 19, 2001
    Publication date: October 9, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James R. H. Challenger, Michael H. Conner, George P. Copeland, Arun K. Iyengar
  • Publication number: 20030191812
    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: Application
    Filed: December 19, 2001
    Publication date: October 9, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
  • Publication number: 20030188021
    Abstract: A method, a system, an apparatus, and a computer program product are presented for a fragment caching methodology. After receiving a message at a computing device that contains a cache management unit, a fragment in 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 to be inserted into the fragment during fragment or page assembly. Performance for processing fragments can be improved by obtaining multiple fragments in a single request message. A cache management unit is able to generate a request message for multiple fragments when multiple FRAGMENTLINK tags are found within a single fragment. A cache management unit is also able to response to a request message containing multiple requests for fragments that may be found within its cache.
    Type: Application
    Filed: December 19, 2001
    Publication date: October 2, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan
  • Publication number: 20030188016
    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: Application
    Filed: December 19, 2001
    Publication date: October 2, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rajesh S. Agarwalla, James R.H. Challenger, George P. Copeland, Arun K. Iyengar, Subbarao Meduri
  • Publication number: 20030187935
    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: Application
    Filed: December 19, 2001
    Publication date: October 2, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan, Subbarao Meduri
  • Publication number: 20030188009
    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: Application
    Filed: December 19, 2001
    Publication date: October 2, 2003
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Rajesh S. Agarwalla, James R. H. Challenger, George P. Copeland, Arun K. Iyengar, Mark H. Linehan
  • Publication number: 20020147887
    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 coordinating execution of cacheable entries among a group of web servers, operably coupled in a network. In an exemplary embodiment, entries are considered to be either commands or Java Server Pages (JSPs), and the system and method are implemented by defining a class of objects (i.e., CacheUnits) to manage the caching of entries. An entry must be executed before it can be stored in a cache. Since this is computationally costly, each cacheable entry has an associated coordinating CacheUnit, which sees to it that only one CacheUnit executes an entry. Once the entry has been executed, a copy of it resides in the cache of the coordinating CacheUnit, from which it can be accessed by other CacheUnits without having to re-execute it.
    Type: Application
    Filed: December 18, 2000
    Publication date: October 10, 2002
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Publication number: 20020116448
    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 cofetching read only commands. In an exemplary embodiment, the system and method are implemented by defining special preExecute and postExecute methods of cacheable commands. The preExecute method of a requested command may be invoked to execute secondary commands and then return them to the requesting client. The postExecute method of a requested command may be invoked to place the returned commands in a cache, along with the requested command. In this manner, a single request can be used to execute, retrieve and cache multiple related commands. Cofetched commands are designated by the application developer when the requested command and its associated methods are created, and may be chosen based on their anticipated use in conjunction with the requested command.
    Type: Application
    Filed: December 18, 2000
    Publication date: August 22, 2002
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Publication number: 20020116474
    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.
    Type: Application
    Filed: December 18, 2000
    Publication date: August 22, 2002
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Publication number: 20020116583
    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 effectively tracking dependencies between cached entries. In an exemplary embodiment, each cacheable data item is assigned a data ID, and each cache entry has an associated list of data IDs for data upon which it is dependent. The data ID list accounts for indirect dependence. A cache entry that indirectly depends on a data item (e.g., a JSP which calls a command that uses the data item) includes the item's data ID among its dependencies. If the data item changes, all the dependent entries may be readily identified by means of their data ID list. Invalidation methods that utilize the data ID are contemplated herein, as an efficient mechanism for managing invalidation dependencies.
    Type: Application
    Filed: December 18, 2000
    Publication date: August 22, 2002
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Publication number: 20020116582
    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 batching invalidations of cache entries. Cache invalidations require updates of invalid cache entries from the database. Since database accesses are time-consuming, it is advantageous to combine several invalidations and execute them all at once (i.e.—to batch them). In an exemplary embodiment, cache entries may be identified or located on the basis of a unique ID. A list of IDs can be compiled by an application and consulted by a batch invalidation daemon, which uses the IDs therein to invalidate the desired entries. Alternatively, a time limit property of each cache entry can be examined by a time limit invalidation daemon, to invalidate entries that have “timed out”. Batching invalidations implies that invalid entries may remain in cache until the daemon wakes up.
    Type: Application
    Filed: December 18, 2000
    Publication date: August 22, 2002
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Publication number: 20020112125
    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 caching read only commands. In an exemplary embodiment, the system and method are implemented by defining a class of objects (i.e. cacheable commands), along with associated methods and properties. Among the new methods are methods adapted to designate a cache, enter a command into a cache, search a cache for a specific command, etc. When the client requires a command, the server responding to the request first seeks the command in its local cache. If the command is not found locally, and sharing is enabled, the command is sought in the cache of a peer server. If the command is not cached, the server prepares the metadata for caching the command, executes the command and conveys the resulting HTML code to the requesting client, and caches the command for subsequent requests.
    Type: Application
    Filed: December 18, 2000
    Publication date: August 15, 2002
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Publication number: 20020111992
    Abstract: A system and method are disclosed, according to which performance of client/server-based distributed web applications operating in an object-oriented environment may be improved, by increasing the capacity of a cache for Java Server Pages (JSPs). The main body of a JSP may contain calls to several other JSPs. The conventional method of caching such a composite JSP places a fully expanded version of each called JSP at the point in the main code from which it is called. This can result in considerable redundancy, since the same JSP may be called from several places. In an exemplary embodiment of the techniques disclosed herein for caching composite JSPs, the called JSPs are stored separately from the main JSP, along with links allowing the called JSPs to be located in the cache or executed. This eliminates redundancy, since only one copy of each called JSP is required.
    Type: Application
    Filed: December 18, 2000
    Publication date: August 15, 2002
    Inventors: George P. Copeland, Michael H. Conner, Gregory A. Flurry
  • Patent number: 5946694
    Abstract: According to a preferred embodiment of the present invention, a managed object assembly (MOA) is used to abstract the business logic of a given system from the system's operational aspects or infrastructure-specific characteristics. The managed object includes a data object, a business object, a managed object, and a mixin object. By isolating the functions of the business logic from the infrastructure of the system (including database structure), a significant amount of flexibility can be obtained and system re-engineering becomes noticeably simpler. Specifically, by isolating the business logic from the system resource details, changes in the business logic can be made in a manner that is independent of any detailed knowledge of the resources accessed by the system.
    Type: Grant
    Filed: September 29, 1997
    Date of Patent: August 31, 1999
    Assignee: International Business Machines Corporation
    Inventors: George P. Copeland, Geoffrey M. Hambrick, Eric N. Herness, Charles J. Redlin
  • Patent number: 5873092
    Abstract: An information handling system includes one or more work stations, each work station including one or more processing units, a memory system, and one or more I/O controllers all connected to a system bus, the I/O controllers controlling various input/output devices such as a keyboard, a mouse, a display device, communications adapters and the like, an operating system control means employing object oriented technology, and means for providing a persistent, distributed object name service. An object class is modeled as a set of relationships. One or more files are constructed which exist in the file system, each of the files capturing the semantics of the naming context objects.
    Type: Grant
    Filed: December 14, 1995
    Date of Patent: February 16, 1999
    Assignee: International Business Machines Corporation
    Inventors: Philip Yen-Tang Cheng, George P. Copeland, Robert Howard High, Jr., Vinoj Narayan Kumar
  • Patent number: 5729739
    Abstract: A system for mapping data between a selected object and a persistent medium in an object-oriented computer system is disclosed, wherein the data is manipulated by processing methods associated with the object. The system selects a target to which the data is to be mapped and converts the data invoking to an environment type in which the data is to be mapped. The system further constructs a mapping method associated with the mapping request for mapping between the selected object and the persistent medium, where the method group consists of "store new", "store existing", "restore", and "delete". Further, a method is also disclosed for mapping a data structure between an object, which is in a class object, and a persistent medium in an object-oriented environment. The method includes receiving a request to map the data structure between the object and the persistent medium at the object. The request is sent from the identification object to the class object.
    Type: Grant
    Filed: December 8, 1995
    Date of Patent: March 17, 1998
    Assignee: International Business Machines Corporation
    Inventors: Guylaine Cantin, George P. Copeland, Ahmed M. Gheith, Roger H. Sessions
  • Patent number: 5694597
    Abstract: A method in a data processing system for optimizing access to a Datastore in an object-oriented environment. The data processing system includes an object and an identification object, wherein the identification object is an instance of a class object. The method includes receiving a request to open the Datastore at the identification object. The request is sent from the identification object its class object in response to receiving the request. Then whether the Datastore is open is determined in response to receiving the request at the class object. The Datastore is opened in response to the Datastore being closed and a message is sent to the identification object indicating that the Datastore has been opened. If the Datastore is already open, a message to the identification object indicating that the Datastore has been opened, wherein access to the Datastore is optimized.
    Type: Grant
    Filed: April 26, 1994
    Date of Patent: December 2, 1997
    Assignee: International Business Machines Corporation
    Inventors: Guylaine Cantin, George P. Copeland, Ahmed M. Gheith, Roger H. Sessions