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: 7876748Abstract: 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: GrantFiled: September 7, 2000Date of Patent: January 25, 2011Assignee: International Business Machines CorporationInventors: Michael Haden Conner, George Prentice Copeland, Gregory Alan Flurry
-
Patent number: 7596584Abstract: 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: GrantFiled: April 25, 2007Date of Patent: September 29, 2009Assignee: Microsoft CorporationInventors: George Prentice Copeland, Yong Lu
-
Publication number: 20080270339Abstract: 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: ApplicationFiled: April 25, 2007Publication date: October 30, 2008Applicant: Microsoft CorporationInventors: George Prentice Copeland, Yong Lu
-
Publication number: 20080120309Abstract: 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: ApplicationFiled: November 17, 2006Publication date: May 22, 2008Applicant: Microsoft CorporationInventor: George Prentice Copeland
-
Patent number: 6981105Abstract: 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: GrantFiled: January 27, 2003Date of Patent: December 27, 2005Assignee: International Business Machines CorporationInventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
-
Patent number: 6782538Abstract: 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: GrantFiled: December 14, 1995Date of Patent: August 24, 2004Assignee: International Business Machines CorporationInventors: George Prentice Copeland, Geoffrey Martin Hambrick, Robert Howard High, Jr.
-
Patent number: 6752836Abstract: 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: GrantFiled: July 22, 1999Date of Patent: June 22, 2004Assignee: International Business Machines CorporationInventors: George Prentice Copeland, Matthew D. McClain
-
Patent number: 6704765Abstract: 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: GrantFiled: December 14, 1994Date of Patent: March 9, 2004Assignee: International Business Machines CorporationInventors: David Yu Chang, George Prentice Copeland, Ambuj Goyal, Marc Gregory Smith
-
Patent number: 6615235Abstract: 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: GrantFiled: July 22, 1999Date of Patent: September 2, 2003Assignee: International Business Machines CorporationInventors: George Prentice Copeland, Matthew Dale McClain
-
Publication number: 20030120875Abstract: 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: ApplicationFiled: January 27, 2003Publication date: June 26, 2003Inventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
-
Patent number: 6584548Abstract: 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: GrantFiled: July 22, 1999Date of Patent: June 24, 2003Assignee: International Business Machines CorporationInventors: Donald A. Bourne, Christopher Shane Claussen, George Prentice Copeland, Matthew Dale McClain
-
Patent number: 6574715Abstract: 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: GrantFiled: May 29, 2002Date of Patent: June 3, 2003Assignee: International Business Machines CorporationInventors: James R. H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
-
Patent number: 6557076Abstract: 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: GrantFiled: July 22, 1999Date of Patent: April 29, 2003Assignee: International Business Machines CorporationInventors: George Prentice Copeland, Matthew Dale McClain
-
Patent number: 6513056Abstract: 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: GrantFiled: October 14, 1998Date of Patent: January 28, 2003Assignee: International Business Machines CorporationInventors: George Prentice Copeland, Simon Anthony James Holdsworth, Stanley Alan Smith
-
Patent number: 6507891Abstract: 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: GrantFiled: July 22, 1999Date of Patent: January 14, 2003Assignee: International Business Machines CorporationInventors: James R. H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
-
Publication number: 20020143868Abstract: 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: ApplicationFiled: May 29, 2002Publication date: October 3, 2002Inventors: James R.H. Challenger, George Prentice Copeland, Paul Michael Dantzig, Arun Kwangil Iyengar, Matthew Dale McClain
-
Patent number: 6457103Abstract: 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: GrantFiled: July 22, 1999Date of Patent: September 24, 2002Assignee: International Business Machines CorporationInventors: James R. H. Challenger, Christopher Shane Claussen, George Prentice Copeland, Paul Michael Dantziq, Arun Kwangil Iyengar, Matthew Dale McClain
-
Patent number: 6226690Abstract: 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: GrantFiled: June 14, 1993Date of Patent: May 1, 2001Assignee: International Business Machines CorporationInventors: Venu Banda, Frank Richard Campagnoni, Michael Haden Conner, George Prentice Copeland, Marc Gregory Smith, Erin Elizabeth Shepler
-
Patent number: 6226691Abstract: 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 theType: GrantFiled: October 2, 1995Date of Patent: May 1, 2001Assignee: International Business Machines CorporationInventors: Guylaine Cantin, George Prentice Copeland, Geoffrey Martin Hambrick, Roger Hereward Sessions
-
Patent number: 5878260Abstract: 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: GrantFiled: November 6, 1995Date of Patent: March 2, 1999Assignee: International Business Machines CorporationInventors: George Prentice Copeland, Vinoj Narayan Kumar