Patents by Inventor George Prentice Copeland

George Prentice 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: 7876748
    Abstract: Mapping a source identifier in a source identifier space to a target identifier in a target identifier space using a hash-based computation that is stable over time with respect to a change in the number of target identifiers. A data item identifiable by a source identifier is associated with some type of computational resource that is represented by a target object identifiable by one or more target identifiers. The set of target objects is dynamically variable. After hashing the source identifier to produce an index position of an entry in a table, a target identifier is retrieved from the table entry. Each entry in the table is related to a single target identifier based on a nearness computation that depends upon the table index position of the table entry and a target identifier for the related target.
    Type: Grant
    Filed: September 7, 2000
    Date of Patent: January 25, 2011
    Assignee: International Business Machines Corporation
    Inventors: Michael Haden Conner, George Prentice Copeland, Gregory Alan Flurry
  • Patent number: 7596584
    Abstract: Embodiments are provided to generate an integrated data structure. In an embodiment, a database system is configured to generate an integrated database view that includes a number of predicate-based objects and a number of enumerated objects. A declarative membership criteria can be used to provide automatic membership to a group of objects associated with the database system. A number of predicate-based group membership rules can be used when generating a database view that includes a number of predicate-based views and a number of enumerated groups.
    Type: Grant
    Filed: April 25, 2007
    Date of Patent: September 29, 2009
    Assignee: Microsoft Corporation
    Inventors: George Prentice Copeland, Yong Lu
  • Publication number: 20080270339
    Abstract: Embodiments are provided to generate an integrated data structure. In an embodiment, a database system is configured to generate an integrated database view that includes a number of predicate-based objects and a number of enumerated objects. A declarative membership criteria can be used to provide automatic membership to a group of objects associated with the database system. A number of predicate-based group membership rules can be used when generating a database view that includes a number of predicate-based views and a number of enumerated groups.
    Type: Application
    Filed: April 25, 2007
    Publication date: October 30, 2008
    Applicant: Microsoft Corporation
    Inventors: George Prentice Copeland, Yong Lu
  • Publication number: 20080120309
    Abstract: Embodiments are provided to store, maintain, and/or locate information. In an embodiment, historical information can be stored, maintained, and located using a logical schema and a number of temporal tables associated with a database. A number of rules can be used to update information stored in the temporal tables. Query modification rules are provided to allow queries to be readily constructed and can be efficiently executed to search for historical and other information. The embodiments can be used with a number of applications that include objects having associated attributes whose values at different times are of interest.
    Type: Application
    Filed: November 17, 2006
    Publication date: May 22, 2008
    Applicant: Microsoft Corporation
    Inventor: George Prentice Copeland
  • Patent number: 6981105
    Abstract: A data processing system comprising a cache memory, wherein a cache entry containing data is stored in the cache memory. A cache coordinator, wherein the cache coordinator invalidates one or more cache entries in response to a signal. An ID-based invalidation process, wherein a cache entry is associated with an ID that uniquely identifies the cache entry and can optionally be associated with one or more data ids that represent the underlying data contained in the cache entry, and the ID-based invalidation process sends a signal to the cache coordinator to invalidate all cache entries that either have that cache entry ID or have been associated with a data ID when the data that the ID represents changes. A time-limit-based invalidation process, wherein a cache entry can be associated with a time limit, and the time-limit-based invalidation process sends a signal to the cache coordinator to invalidate a cache entry whose time limit has expired.
    Type: Grant
    Filed: January 27, 2003
    Date of Patent: December 27, 2005
    Assignee: International Business Machines Corporation
    Inventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
  • Patent number: 6782538
    Abstract: A system for efficiently generating keys for subsequently objects during object creation and for finding and activating objects using the generated keys in an object oriented system includes one or more processors, a storage system, one or more I/O controllers, a system bus, operatively connecting the processors, the storage system and the I/O controllers, a system control program for controlling the operation of the system, and an extensible instance manager which generates keys and manages instances of objects under the control of the system control program.
    Type: Grant
    Filed: December 14, 1995
    Date of Patent: August 24, 2004
    Assignee: International Business Machines Corporation
    Inventors: George Prentice Copeland, Geoffrey Martin Hambrick, Robert Howard High, Jr.
  • Patent number: 6752836
    Abstract: The present invention provides a method and apparatus in a data processing system for managing access to objects (called an element) in a collection of objects (called a container) in a high-concurrency environment. A request is received from a requester for an element's mutex given an identifier for the element. This mutex can be used as a mutex in a synchronized block to lock the object during that synchronized block. To compute the mutex for an element, the first instance seen by the container of the element's identifier is used. To do this, a determination is made as to whether there is already an instance of the identifier with the same value in a value set. If so, that value is returned to the requester for use as a mutex. If not, the current identifier instance is saved in the value set and returned. This allows the object to be locked prior to the existence of the object.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: June 22, 2004
    Assignee: International Business Machines Corporation
    Inventors: George Prentice Copeland, Matthew D. McClain
  • Patent number: 6704765
    Abstract: A certain number of agents and tokens are created. A first agent that is assigned a request must obtain a token to process the request. The number of agents which may concurrently process requests are limited by preventing an agent from processing a request unless the agent has an assigned token. An additional agent is created after assigning the token to the first agent, provided that an existing agent is not available to wait for a request, and an unassigned token is available for the additional agent. A certain minimum number of agents is defined and an agent is automatically eliminated when the agent completes a request, provided that the number of agents that are assigned tokens exceeds the minimum number of agents.
    Type: Grant
    Filed: December 14, 1994
    Date of Patent: March 9, 2004
    Assignee: International Business Machines Corporation
    Inventors: David Yu Chang, George Prentice Copeland, Ambuj Goyal, Marc Gregory Smith
  • Patent number: 6615235
    Abstract: A method and apparatus in a data processing system for coordinating caches for a plurality of web application server address spaces. These address spaces may be, for example, located in a Java virtual machine. A request for a page is received at a web application server address space within the plurality of web application server address spaces. Responsive to an absence of information for the page being located in a cache within the web application server address space, a request is sent to a coordinating address space for the information. Responsive to an absence of the information being located in the coordinating address space, a storage device associated with the data processing system is accessed for the information. This information is returned to the coordinating address space for use in processing requests for this information from other web application server address spaces within the plurality of web application server address spaces.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: September 2, 2003
    Assignee: International Business Machines Corporation
    Inventors: George Prentice Copeland, Matthew Dale McClain
  • Publication number: 20030120875
    Abstract: A data processing system comprising a cache memory, wherein a cache entry containing data is stored in the cache memory. A cache coordinator, wherein the cache coordinator invalidates one or more cache entries in response to a signal. An ID-based invalidation process, wherein a cache entry is associated with an ID that uniquely identifies the cache entry and can optionally be associated with one or more data ids that represent the underlying data contained in the cache entry, and the ID-based invalidation process sends a signal to the cache coordinator to invalidate all cache entries that either have that cache entry ID or have been associated with a data ID when the data that the ID represents changes. A time-limit-based invalidation process, wherein a cache entry can be associated with a time limit, and the time-limit-based invalidation process sends a signal to the cache coordinator to invalidate a cache entry whose time limit has expired.
    Type: Application
    Filed: January 27, 2003
    Publication date: June 26, 2003
    Inventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
  • Patent number: 6584548
    Abstract: A data processing system comprising a cache memory, wherein a cache entry containing data is stored in the cache memory. A cache coordinator, wherein the cache coordinator invalidates one or more cache entries in response to a signal. An ID-based invalidation process, wherein a cache entry is associated with an ID that uniquely identifies the cache entry and can optionally be associated with one or more data ids that represent the underlying data contained in the cache entry, and the ID-based invalidation process sends a signal to the cache coordinator to invalidate all cache entries that either have that cache entry ID or have been associated with a data ID when the data that the ID represents changes. A time-limit-based invalidation process, wherein a cache entry can be associated with a time limit, and the time-limit-based invalidation process sends a signal to the cache coordinator to invalidate a cache entry whose time limit has expired.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: June 24, 2003
    Assignee: International Business Machines Corporation
    Inventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
  • Patent number: 6574715
    Abstract: A method and apparatus in a data processing system for caching data in an internal cache and in an external cache A set of fragments is received for caching. A location is identified to store each fragment within the plurality of fragments based on a rate of change of data in each fragment. The set of fragments is stored in the internal cache and the external cache using the location identified for each fragment within the plurality of fragments.
    Type: Grant
    Filed: May 29, 2002
    Date of Patent: June 3, 2003
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
  • Patent number: 6557076
    Abstract: A method and apparatus for processing data stored in a memory. Responsive to data being invalidated in the memory, a determination is made as to whether an indicator is associated with the data. Responsive to the indicator being associated with the data, the data is retrieved from a source. The data is refreshed in the memory without requiring an external request for the data. Servers typically operate with enough spare capacity so that peek loads can be handled. Aggressive rerendering allows this spare capacity to be used to refresh pages in the cache when they have been invalidated.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: April 29, 2003
    Assignee: International Business Machines Corporation
    Inventors: George Prentice Copeland, Matthew Dale McClain
  • Patent number: 6513056
    Abstract: A system and method for effectively synchronizing data in an object oriented distributed transaction processing system employing a multilevel data store. Each object that maintains first-level volatile data registers as a synchronization object if unsynchronized changes to that data exist. A register object at each node tracks synchronized objects registered for that node. Each registered synchronization object, in turn, registers with its superior node when registered synchronization objects are present. A hierarchy of registered synchronization objects and synchronization objects is thereby created. The transaction termination process transmits a pre-prepare message to the registered synchronization hierarchy providing each synchronization object an opportunity to flush its data to the second-level persistent data store. The hierarchical structure of registered objects ensures that the minimum number of messages are transmitted over the network.
    Type: Grant
    Filed: October 14, 1998
    Date of Patent: January 28, 2003
    Assignee: International Business Machines Corporation
    Inventors: George Prentice Copeland, Simon Anthony James Holdsworth, Stanley Alan Smith
  • Patent number: 6507891
    Abstract: A method and apparatus in a data processing system for caching data in an internal cache and in an external cache. A set of fragments is received for caching. A location is identified to store each fragment within the plurality of fragments based on a rate of change of data in each fragment. The set of fragments is stored in the internal cache and the external cache using the location identified for each fragment within the plurality of fragments.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: January 14, 2003
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
  • Publication number: 20020143868
    Abstract: A method and apparatus in a data processing system for caching data in an internal cache and in an external cache A set of fragments is received for caching. A location is identified to store each fragment within the plurality of fragments based on a rate of change of data in each fragment. The set of fragments is stored in the internal cache and the external cache using the location identified for each fragment within the plurality of fragments.
    Type: Application
    Filed: May 29, 2002
    Publication date: October 3, 2002
    Inventors: James R.H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
  • Patent number: 6457103
    Abstract: A method and apparatus in a data processing system for caching a page containing dynamic content. Dynamic content in a page is divided into a plurality of objects. Each object is stored within the plurality of objects in a cache, wherein an object within the plurality of objects is selectively stored in the cache based on a rate change in data of the object.
    Type: Grant
    Filed: July 22, 1999
    Date of Patent: September 24, 2002
    Assignee: International Business Machines Corporation
    Inventors: James R. H. Challenger, Christopher Shane Claussen, George Prentice Copeland, Paul Michael Dantziq, Arun Kwangil Iyengar, Matthew Dale McClain
  • Patent number: 6226690
    Abstract: A method for a first process in a first address space to communicate with an object in a second address space including the steps of determining, during runtime of the first process, that a communication link is needed between the first process and a target object in the second address space, generating a proxy object in the first address space corresponding to the target object, and establishing the communication link between the first process and the target object through the proxy object.
    Type: Grant
    Filed: June 14, 1993
    Date of Patent: May 1, 2001
    Assignee: International Business Machines Corporation
    Inventors: Venu Banda, Frank Richard Campagnoni, Michael Haden Conner, George Prentice Copeland, Marc Gregory Smith, Erin Elizabeth Shepler
  • Patent number: 6226691
    Abstract: A system, method and article of manufacture for automatically inserting object services such as persistence, concurrency, recoverability, security and distribution into binary classes in an information handling system employing object oriented technology, includes the steps of registering a description of a class in a name service context, searching the name service context for a class object referred to as a factory with desired constraints on properties, whether the object is operable in a predetermined operational environment, where the search excludes object services constraints, for classes which are found by the search, first select those classes which already support the object services constraints, create in the operational environment a class object with the desired object services features, and adding a particular object services feature if the original class provide the desired feature, and returning the class object to the caller which can then use the class object to create multiple instances the
    Type: Grant
    Filed: October 2, 1995
    Date of Patent: May 1, 2001
    Assignee: International Business Machines Corporation
    Inventors: Guylaine Cantin, George Prentice Copeland, Geoffrey Martin Hambrick, Roger Hereward Sessions
  • Patent number: 5878260
    Abstract: A prior art naming module supports binding of an object to a name in a Naming Context (i.e., a directory). The present invention extends this original module to support properties (data about bindings), searching (finding bindings given constraints on properties) and indexing (for speeding up the search on certain property names). The ExtendedNamingContext (ENC) is a subclass of the OMG NamingContext (NC) that introduces properties, searching and indexing.
    Type: Grant
    Filed: November 6, 1995
    Date of Patent: March 2, 1999
    Assignee: International Business Machines Corporation
    Inventors: George Prentice Copeland, Vinoj Narayan Kumar