发明名称 Database session dependent routing
摘要 A network device issues a globally unique identifier (GUID) to an application for use in a database read/write session. The network device determines a session key based on the GUID. The network device determines a total number of database nodes available to handle a read/write session with the application, and determines one of the database nodes to route a session to based on applying a modulo function to the session key and to the determined total number of database nodes. The network device, when determining the one of the database nodes to route the session to, applies the function (X mod Y)+1, where X is the session key and Y is the total number of database nodes available to handle the read/write session with the application.
申请公布号 US9621657(B2) 申请公布日期 2017.04.11
申请号 US201213727204 申请日期 2012.12.26
申请人 VERIZON PATENT AND LICENSING INC. 发明人 Hussein Laith;Meda Sivanahamaiah;Khalil Manah M.;McLain Eric T.
分类号 H04L29/08 主分类号 H04L29/08
代理机构 代理人
主权项 1. A method, comprising: receiving, at a network device, a session request from an application; determining a session globally unique identifier (GUID) for a session and returning the session GUID to the requesting application; receiving, at the network device, a connection request from the application for performing at least one data read or data write operation, wherein the connection request includes the session GUID and an application identifier (ID) associated with the application; determining a session key (X) by performing one or more operations upon one or more digits of the session GUID; determining a total number (Y) of database (DB) nodes, of a plurality of database nodes, available for handling connections from the application; determining a DB ID by applying a modulo operation to the determined session key (X) and the determined total number (Y) of available DB nodes; indexing a routing table, with the DB ID and the application ID, to retrieve contents of a status field that indicates whether a first database node, of the plurality of database nodes, is accepting connections for read/write sessions; selectively retrieving, when indexing the routing table with the DB ID and the application ID, a database connection string from a primary connection string field or from a secondary connection string field in the routing table, based on whether the retrieved contents of the status field indicates that the first database node is accepting connections for read/write sessions, wherein if the database connection string is retrieved from the primary connection string field in the routing table then the first database node comprises a primary database node for handling read/write sessions with the application, andwherein if the database connection string is retrieved from the secondary connection string field in the routing table then a second database node, that is different than the first database node, comprises a backup, secondary database node for handling read/write sessions with the application, and transmitting, to the application, a network address, of the first database node from the primary connection string field or the second database node from the secondary connection string field, for the application to perform the at least one data read or data write operation with the first database node or the second database node.
地址 Basking Ridge NJ US