Performance-based caching
    1.
    发明授权
    Performance-based caching 有权
    基于性能的缓存

    公开(公告)号:US06799251B1

    公开(公告)日:2004-09-28

    申请号:US09649850

    申请日:2000-08-29

    IPC分类号: G06F1212

    CPC分类号: G06F17/30902

    摘要: A method and system are provided for caching data in a manner that substantially maintains a desired level of system performance. A cache server receives data requests on behalf of a data server. When new data on the data server is generated or stored that replaces or changes data cached on the cache server, the corresponding data on the cache server is invalidated. A subsequent request for the new data may be forwarded to the data server or may be served with the invalid data on the cache server. Determining how to serve the request may depend on a possible impact on system performance and/or one or more characteristics or parameters associated with the requested data. The impact on system performance may be determined by examining actual and/or desired operating conditions (e.g., rate or number of requests, load on the data server, response time to requests, number of open connections, throughput). The data parameters that may be considered may include the popularity of the data; frequency of access to the data; number of accesses; age, size, or type of the data; whether or when a version of the data on the cache server is invalid; how severely invalid the cache server version is; the cost of retrieving the data from the data server; etc. One request received for the new data may be forwarded to the data server in order to receive the new data, cache it and return in to the requester. In order to promote performance, however, any number of requests for new data that is to replace cached data (even a first request received after the cached data is invalidated) may be served with cache data that is responsive but invalid.

    摘要翻译: 提供了一种方法和系统,用于以基本上保持期望的系统性能水平的方式来缓存数据。 缓存服务器代表数据服务器接收数据请求。 当生成或存储数据服务器上的新数据来替代或更改高速缓存服务器上缓存的数据时,缓存服务器上的相应数据将无效。 对新数据的后续请求可以被转发到数据服务器,或者可以被服务于缓存服务器上的无效数据。 确定如何服务请求可能取决于对系统性能和/或与所请求数据相关联的一个或多个特性或参数的可能影响。 可以通过检查实际和/或期望的操作条件(例如,请求的速率或数量,数据服务器上的加载,对请求的响应时间,开放连接的数量,吞吐量)来确定对系统性能的影响。 可以考虑的数据参数可能包括数据的普及; 访问数据的频率; 访问次数 年龄,大小或数据类型; 无论是否在缓存服务器上的数据版本无效; 缓存服务器版本的严重无效; 从数据服务器检索数据的成本; 接收到的新数据的一个请求可以被转发到数据服务器以便接收新的数据,将其缓存并返回到请求者。 然而,为了促进性能,可以使用响应但无效的缓存数据来提供用于替换缓存数据的新数据的任何数量的请求(即使在高速缓存的数据被无效之后接收到的第一请求)。

    Two-pass multi-version read consistency
    2.
    发明授权
    Two-pass multi-version read consistency 失效
    双通多版本读取一致性

    公开(公告)号:US5452445A

    公开(公告)日:1995-09-19

    申请号:US876626

    申请日:1992-04-30

    IPC分类号: G06F12/00 G06F17/30 G06F15/40

    摘要: The present invention describes a method and apparatus that forces all parts of an update transaction to commit automatically using a two-phase commit. The present invention uses the two-phase commit messages to negotiate a system commit number (SCN) that is then recorded on each of the nodes as the logical point in time that the distributed transaction committed. The two-phase commit scheme of the present invention consists of a "prepare" phase and a "commit" phase. The transaction in the distributed database environment involves multiple participants (databases). In the prepare phase, one of the N database participants is selected as the "commit point." The commit point includes the log into which the information is written that states the transaction has committed. The remaining N-1 participants enter a "prepare phase." In the prepare phase, the prepare participants lock their databases and enter a state in which they are ready to roll back or commit to the transaction. The mid-point of the two-phase commit is the point at which the commit point database (nth participant) writes the commit transaction to its log. In the second phase, the remaining participants are informed to commit the transaction and release locks that have been set.

    摘要翻译: 本发明描述了一种使用两阶段提交来强制更新事务的所有部分自动提交的方法和装置。 本发明使用两阶段提交消息来协商随后记录在每个节点上的系统提交号(SCN)作为分布式事务提交的逻辑时间点。 本发明的两阶段提交方案由“准备”阶段和“提交”阶段组成。 分布式数据库环境中的事务涉及多个参与者(数据库)。 在准备阶段,选择N个数据库参与者之一作为“提交点”。 提交点包括描述交易已提交的信息的日志。 其余的N-1参与者进入“准备阶段”。 在准备阶段,准备参与者锁定其数据库,并进入他们准备回滚或提交交易的状态。 两阶段提交的中点是提交点数据库(第n个参与者)将提交事务写入其日志的点。 在第二阶段,剩余的参与者被通知提交交易并释放已设置的锁。

    Managing replacement of data in a cache on a node based on caches of other nodes
    4.
    发明授权
    Managing replacement of data in a cache on a node based on caches of other nodes 有权
    基于其他节点的缓存管理节点上的缓存中的数据替换

    公开(公告)号:US06633891B1

    公开(公告)日:2003-10-14

    申请号:US09652384

    申请日:2000-08-31

    IPC分类号: G06F1730

    摘要: A mechanism is described for managing the caches on nodes in a cluster. The caches are globally managed so that a data item may be retained in any cache on the nodes. This may be accomplished by, for example, a replacement policy for replacing data items stored in the buffers of the caches, where a buffer is selected for replacement in a manner that accounts for factors that include the state of the caches of other nodes. Some cached data items are designated as globally shared, and assigned (either statically or dynamically) a primary cache. For example, if a buffer holds a copy of a data item whose primary cache is another node, then the data item in the buffer is favored for replacement over a local data item or a global data item for which this is the primary cache. According to another aspect of the invention, the cache retention value of buffers on different nodes are compared, and the buffer with the lowest cache retention value is selected for replacement. According to yet another aspect of the present invention, the replacement policy accounts for the configuration of other caches in the cluster.

    摘要翻译: 描述了一种用于管理群集中节点上的高速缓存的机制。 高速缓存被全局管理,使数据项可以保留在节点上的任何高速缓存中。 这可以通过例如用于替换存储在高速缓存的缓冲器中的数据项的替换策略来实现,其中以考虑到包括其他节点的高速缓存的状态的因素的方式选择用于替换的缓冲器。 一些缓存的数据项被指定为全局共享,并被分配(静态地或动态地)主缓存。 例如,如果缓冲器保存其主缓存是另一个节点的数据项的副本,则缓冲器中的数据项有利于替换本地数据项或作为主缓存的全局数据项。 根据本发明的另一方面,比较不同节点上的缓冲器的缓存保留值,并选择具有最低缓存保留值的缓冲器进行替换。 根据本发明的另一方面,替换策略考虑了集群中其他高速缓存的配置。

    Sharing snapshots for consistent reads
    5.
    发明授权
    Sharing snapshots for consistent reads 失效
    共享快照以进行一致的读取

    公开(公告)号:US5956731A

    公开(公告)日:1999-09-21

    申请号:US842169

    申请日:1997-04-23

    IPC分类号: G06F9/46 G06F17/30

    摘要: A method and apparatus for supplying data from a database to a group of transactions is provided. A value is maintained for the group of transactions. The value indicates a target snapshot of the database. When a transaction within the group of transactions accesses a data item, it is determined whether the transaction can use the target snapshot. If the transaction can use the target snapshot, then the transaction is supplied a version of the data item that belongs to the target snapshot. If the transaction cannot use the target snapshot, then the transaction is supplied a version of the data item other than the version of the data item that belongs to the target snapshot. Trying to supply data from the same snapshot to all of the transactions in the group increases the likelihood that the transactions will be able to use the same version of any given data item. Consequently, fewer reconstruction operations will have to be performed, and dynamic memory is less likely to become filled with different versions of the same data items.

    摘要翻译: 提供了一种从数据库向一组交易提供数据的方法和装置。 为该组交易维护一个值。 该值表示数据库的目标快照。 当事务组内的事务访问数据项时,确定事务是否可以使用目标快照。 如果事务可以使用目标快照,那么事务将被提供属于目标快照的数据项的版本。 如果事务不能使用目标快照,那么事务将被提供除了属于目标快照的数据项的版本之外的数据项的版本。 尝试将同一快照中的数据提供给组中的所有事务增加了事务将能够使用相同版本的任何给定数据项的可能性。 因此,必须执行更少的重建操作,并且动态内存不太可能充满相同数据项的不同版本。

    Dynamic snapshot set adjustment
    6.
    发明授权
    Dynamic snapshot set adjustment 失效
    动态快照集调整

    公开(公告)号:US5873098A

    公开(公告)日:1999-02-16

    申请号:US841541

    申请日:1997-04-23

    IPC分类号: G06F9/46 G06F17/30

    摘要: A method and apparatus for determining whether a particular version of a data item may be used by a transaction are provided. To determine whether the particular version may be used by the transaction, a MUST-SEE set associated with the transaction is compared to an EXCLUDED set associated with the particular version, and a CANNOT-SEE set associated with the transaction is compared to an INCLUDED set associated with the particular version. The MUST-SEE set includes all transactions that have made updates that must be seen by the transaction. The EXCLUDED set includes all transactions that have made updates to the data item that have been removed from the particular version of the data item and all transactions that will make changes to the data item in the future. The CANNOT-SEE set includes all transactions that have made updates that cannot be seen by the transaction. The INCLUDED set includes all transactions that have made updates that are reflected in the particular version of the data item. The particular version can be supplied to the transaction if no member of the MUST-SEE set is also a member of the EXCLUDED set, and no member of the CANNOT-SEE set is also a member of the INCLUDED set.

    摘要翻译: 提供了一种用于确定数据项的特定版本是否可被交易使用的方法和装置。 为了确定特定版本是否可以被事务使用,将与事务相关联的MUST-SEE集合与与特定版本相关联的EXCLUDED集合进行比较,并将与事务相关联的CAN NOT-SEE集合与INCLUDED集合进行比较 与特定版本相关联。 MUST-SEE集包括已经进行了交易必须看到的更新的所有交易。 EXCLUDED集包括对数据项进行更新的所有事务,该数据项已从数据项的特定版本中删除,并且将来会对数据项进行更改的所有事务。 CAN NOT-SEE集包括所有进行了事务无法看到的更新的事务。 INCLUDED集包括所有进行更新的事务,这些更新反映在数据项的特定版本中。 如果MUST-SEE集合的成员也不是EXCLUDED集合的成员,则该特定版本可以提供给事务,并且CAN NOT-SEE集合的任何成员也不是INCLUDED集合的成员。