Patent application number | Description | Published |
20090006356 | CHANGING RANKING ALGORITHMS BASED ON CUSTOMER SETTINGS - Search term ranking algorithms can be generated and updated based on customer settings, such as where a ranking algorithm is modeled as a combination function of different ranking factors. An end user of a search system provides personalized preferences for weighted attributes, generally or for a single instance of the query. The user also can indicate the relative importance of one or more ranking factors by specifying different weights to the factors. Ranking factors can specify document attributes, such as document title, document body, document page rank, etc. Based on the attribute weights and the received user query, a ranking algorithm function will produce the relevant value for each document corresponding to the user preferences and personalization configurations. | 01-01-2009 |
20090100039 | Extensible mechanism for grouping search results - Systems, methods, and other embodiments associated with grouping automated search results are described. One embodiment includes a computer-readable medium storing computer-executable instructions operable to perform a method that includes identifying items to group. The method also includes selectively grouping a first item and a second item upon determining that a comparison of a metadata attributes indicates that the first item and the second item are to be treated as members of a group. | 04-16-2009 |
20090112913 | EFFICIENT MECHANISM FOR MANAGING HIERARCHICAL RELATIONSHIPS IN A RELATIONAL DATABASE SYSTEM - A method and apparatus for managing hierarchical relationships in a relational database system is provided. An “orderkey” data type, which is native within a relational database system, is disclosed. The orderkey type is designed to contain values that represent the position of an entity relative to the positions of other entities within a hierarchy. Such values represent hierarchical relationships between those entities. Values that are of the orderkey type have properties that allow hierarchy-oriented functions to be performed in an especially efficient manner. Database functions, which operate on and/or produce values that are of the orderkey type, are also disclosed. Such functions can be placed within SQL statements that a database server executes, for example. In response to executing SQL statements that contain such functions, the database server performs hierarchy-oriented operations in a highly efficient manner. | 04-30-2009 |
20090313436 | CACHE REGIONS - A cache region can be created in a cache in response to receiving a cache region creation request from an application. A storage request from the application can identify the cache region and one or more objects to be stored in the cache region. Those objects can be stored in the cache region in response to receiving the storage request. | 12-17-2009 |
20090313438 | DISTRIBUTED CACHE ARRANGEMENT - Systems and methods that aggregate memory capacity of multiple computers into a single unified cache, via a layering arrangement. Such layering arrangement is scalable to a plurality of machines and includes a data manager component, an object manager component and a distributed object manager component, which can be implemented in a modular fashion. Moreover, the layering arrangement can provide for an explicit cache tier (e.g., cache-aside architecture) that applications are aware about, wherein decision are made explicitly which objects to put/remove in such applications (as opposed to an implicit cache wherein application do not know the existence of the cache.) | 12-17-2009 |
20100106914 | CONSISTENCY MODELS IN A DISTRIBUTED STORE - Systems and methods that designate read/write consistency models based on requirements of a distributed store to increase performance or scale. Such sever loads can be determined via a plurality of mechanisms, including delays in responses by the primary node; setting predetermined threshold limits that if exceeded results in contacting secondary nodes; polling services of the distributed cache periodically and maintaining track of loads on the servers, and the like. The weak or scalable read can occur when read requests are directed to a secondary node, and upon over loading of the primary node. | 04-29-2010 |
20100106915 | POLL BASED CACHE EVENT NOTIFICATIONS IN A DISTRIBUTED CACHE - Systems and methods that supply poll based notification system in a distributed cache, for tracking changes to cache items. Local caches on the client can employ the notification system to keep the local objects in sync with the backend cache service; and can further dynamically adjust the “scope” of notifications required based on the number and distribution of keys in the local cache. The server can maintain the changes in an efficient fashion (in blocks) and returns the changes to clients that perform the appropriate filtering. Notifications can be associated with a session and/or an application. | 04-29-2010 |
20100114824 | REPLICATION FOR COMMON AVAILABILITY SUBSTRATE - Systems and methods that supply a replication layer/agent that is generic to supporting a plurality of storage configuration as part of a distributed store. Such distributed store employs a Common Availability Substrate (CAS) for data transport and consistency, to render the distributed store scalable and available. Such an arrangement enables continuous operation of the store, while the replication subsystem creates new replicas (e.g., for load balancing, failover, and the like). | 05-06-2010 |
20100293332 | CACHE ENUMERATION AND INDEXING - In response to a request including a state object, which can indicate a state of an enumeration of a cache, the enumeration can be continued by using the state object to identify and send cache data. Also, an enumeration of cache units can be performed by traversing a data structure that includes object nodes, which correspond to cache units, and internal nodes. An enumeration state stack can indicate a current state of the enumeration, and can include state nodes that correspond to internal nodes in the data structure. Additionally, a cache index data structure can include a higher level table and a lower level table. The higher level table can have a leaf node pointing to the lower level table, and the lower level table can have a leaf node pointing to one of the cache units. Moreover, the lower level table can be associated with a tag. | 11-18-2010 |
20100293333 | MULTIPLE CACHE DIRECTORIES - A first portion of an identifier can be used to assign the identifier to a slot in a first directory. The identifier can identify a cache unit in a cache. It can be determined whether assignment of the identifier to the slot in the first directory will result in the identifier and one or more other identifiers being assigned to the same slot in the first directory. If so, then the technique can include (1) using a second portion of the identifier to assign the identifier to a slot in a second directory; and (2) assigning the one or more other identifiers to one or more slots in the second directory. In addition, it can be determined whether a directory in a cache lookup data structure includes more than one pointer. If not, then a parent pointer that points to the subject directory can be removed. | 11-18-2010 |
20100293334 | LOCATION UPDATES FOR A DISTRIBUTED DATA STORE - Version indicators within an existing range can be associated with a data partition in a distributed data store. A partition reconfiguration can be associated with one of multiple partitions in the data store, and a new version indicator that is outside the existing range can be assigned to the reconfigured partition. Additionally, a broadcast message can be sent to multiple nodes, which can include storage nodes and/or client nodes that are configured to communicate with storage nodes to access data in a distributed data store. The broadcast message can include updated location information for data in the data store. In addition, a response message can be sent to a requesting node of the multiple nodes in response to receiving from that node a message that requests updated location information for the data. The response message can include the requested updated location information. | 11-18-2010 |
20100293338 | CACHE CLEANUP AND LATCHING - A low priority queue can be configured to list low priority removal candidates to be removed from a cache, with the low priority removal candidates being sorted in an order of priority for removal. A high priority queue can be configured to list high priority removal candidates to be removed from the cache. In response to receiving a request for one or more candidates for removal from the cache, one or more high priority removal candidates from the high priority queue can be returned if the high priority queue lists any high priority removal candidates. If no more high priority removal candidates remain in the high priority queue, then one or more low priority removal candidates from the low priority queue can be returned in the order of priority for removal. Write-only latches can also be used during write operations in a cache lookup data structure. | 11-18-2010 |
20100318584 | Distributed Cache Availability During Garbage Collection - Techniques are described herein for managing access to a distributed cache during garbage collection. When garbage collection is to be performed with respect to a node, the node may send a request to a data manager requesting to have an instance of data module(s) included in the node that are in a primary state placed in a secondary state. The data manager may change the state of the data module(s) to the secondary state. The data manager may change the state of another instance of the data module(s) that is included in another node to the primary state. When the garbage collection is complete with respect to the node, the node may send another request to the data manager requesting that the data module(s) that were placed in the secondary state be returned to the primary state. The data manager may return those data module(s) to the primary state. | 12-16-2010 |
20110016090 | Hierarchical Scale Unit Values for Storing Instances of Data Among Nodes of a Distributed Store - Techniques are described herein for storing instances of data among nodes of a distributed store based on hierarchical scale unit values. Hierarchical scale unit values are assigned to the respective nodes of the distributed store. A first instance (e.g., a primary instance) of a data module is stored in a first node having a first hierarchical scale unit value. A primary instance of the data module with respect to a data operation is an instance of the data module at which the data operation with respect to the data module is initiated or initially directed. A second instance (e.g., a primary or secondary instance) of the data module is stored in a second node having a second hierarchical scale unit value based on a magnitude of a difference between the first hierarchical scale unit value and the second hierarchical scale unit value. A secondary instance is essentially a “back-up” instance. | 01-20-2011 |
20110258184 | CHANGING RANKING ALGORITHMS BASED ON CUSTOMER SETTINGS - Search term ranking algorithms can be generated and updated based on customer settings, such as where a ranking algorithm is modeled as a combination function of different ranking factors. An end user of a search system provides personalized preferences for weighted attributes, generally or for a single instance of the query. The user also can indicate the relative importance of one or more ranking factors by specifying different weights to the factors. Ranking factors can specify document attributes, such as document title, document body, document page rank, etc. Based on the attribute weights and the received user query, a ranking algorithm function will produce the relevant value for each document corresponding to the user preferences and personalization configurations. | 10-20-2011 |
20120096103 | LOCATION UPDATES FOR A DISTRIBUTED DATA STORE - Version indicators within an existing range can be associated with a data partition in a distributed data store. A partition reconfiguration can be associated with one of multiple partitions in the data store, and a new version indicator that is outside the existing range can be assigned to the reconfigured partition. Additionally, a broadcast message can be sent to multiple nodes, which can include storage nodes and/or client nodes that are configured to communicate with storage nodes to access data in a distributed data store. The broadcast message can include updated location information for data in the data store. In addition, a response message can be sent to a requesting node of the multiple nodes in response to receiving from that node a message that requests updated location information for the data. The response message can include the requested updated location information. | 04-19-2012 |
20120102355 | CONSISTENT MESSAGING WITH REPLICATION - A messaging entity configured in a memory of first node of a plurality communicatively coupled nodes is disclosed. The nodes are included in a distributed computing system. The messaging entity is configured to operate as a secondary messaging entity in a messaging server for the plurality communicatively coupled nodes. The messaging entity is communicatively couple to a primary messaging entity configured in a memory of a second node of the plurality of nodes. The primary messaging entity is configured to store a message; store a copy of the message. Also, the messaging entity is configured to be promoted to a new primary messaging entity in the event of failure of the primary messaging entity. | 04-26-2012 |
20130066977 | MESSAGE QUEUE BEHAVIOR OPTIMIZATIONS - Network and storage calls are reduced by batching messages. Messages are collected from a client and sent to the gateway or backend application in one round trip. Alternatively, the messages are collected for different entities, and the batched messages are durably stored. Related messages, which may have the same sessionID, are grouped into a logical unit or session. This session may be locked to a single message consumer. A session may be associated with an application processing state as an atomic unit of work while other operations are performed on the messages in the session. Acknowledgements are accumulated by a broker on a message server, but the messages are not immediately deleted. Instead, multiple messages in a selected range are periodically truncated from a message store in a single operation. Expired messages for active sessions are proactive cleaned up to prevent sessions from reaching a quota or limit. | 03-14-2013 |
20130246561 | HIGH DENSITY HOSTING FOR MESSAGING SERVICE - Aspects of the subject matter described herein relate migrating message for a messaging service. In aspects, a determination is made that messages need to be migrated based on a threshold being crossed. In response, an agent is instructed to migrate data associated with the messages to another location. The agent uses various factors to determine one or more queues to migrate. While a queue is being migrated, during a first portion of the migration, messages may be added to and removed from the queue as senders send new messages and receivers consume messages. During a second portion of the migration, the queue is frozen to disallow the queue to be used for receiving new messages and delivering queued messages. The migration may be orchestrated to attempt to achieve certain goals. | 09-19-2013 |
20140082085 | CONSISTENT MESSAGING WITH REPLICATION - A messaging entity configured in a memory of first node of a plurality communicatively coupled nodes is disclosed. The nodes are included in a distributed computing system. The messaging entity is configured to operate as a secondary messaging entity in a messaging server for the plurality communicatively coupled nodes. The messaging entity is communicatively couple to a primary messaging entity configured in a memory of a second node of the plurality of nodes. The primary messaging entity is configured to store a message; store a copy of the message. | 03-20-2014 |