-
公开(公告)号:US09906589B2
公开(公告)日:2018-02-27
申请号:US14542106
申请日:2014-11-14
Applicant: Facebook, Inc.
Inventor: Vishal Kathuria , Vikas Mehta , Muthukaruppan Annamalai , Zhenhua Guo
CPC classification number: H04L67/1008 , H04L67/10 , H04L67/42
Abstract: The disclosure is related to a shard manager that manages assignment of shards (data partitions) to application servers. An application service (“app service”) provides a specific service to clients and can be executing on multiple application servers. The dataset managed by the app service can be divided into multiple shards and the shards can be assigned to different app servers. The shard manager can manage the assignment of shards to different app servers based on an assignment policy. The shard assignments can be published to a configuration service. A client can request the configuration service to provide identification information of the app server to which a particular shard the client intends to access is assigned. The shard manager can also provide dynamic load balancing solutions. The shard manager can poll the app servers in runtime to determine the load information and per-shard resource usage, and balance the load by reassigning the shards accordingly.
-
公开(公告)号:US10432703B2
公开(公告)日:2019-10-01
申请号:US13685461
申请日:2012-11-26
Applicant: Facebook, Inc.
Inventor: Vishal Kathuria
Abstract: Disclosed is a method and system for upgrading a local session between a server and a client in a Coordination Service to a global session on-demand. Exemplary embodiments may include (i) determining whether a type of transaction received at a server in a group of servers from a client is a first transaction type or a second transaction type, (ii) responsive to a determination that the transaction is first transaction type, creating a local session between the server and the client for executing the transaction, wherein the transactions of first transaction type do not require a vote from each of the servers in the group for executing; and (iii) responsive to a determination that the transaction is the second transaction type, converting the existing local session to a global session, wherein the transactions of second transaction type require a vote from each of the servers in the group for executing.
-
公开(公告)号:US20180013714A1
公开(公告)日:2018-01-11
申请号:US15385314
申请日:2016-12-20
Applicant: Facebook, Inc.
Inventor: Christopher Anthony Leach , Felix Leupold , Nicholas Miles Tuckett , Jonathan Richard Millican , Vishal Kathuria , Leigh Jonathan Henry Pauls
CPC classification number: H04L51/38 , G06F16/22 , G06F16/23 , G06F16/27 , H04L51/16 , H04L67/1095 , H04L67/306
Abstract: Techniques for messaging using replication of a client database are described. In one embodiment, an apparatus may comprise a local queue component operative to receive a message collection update at the first client device from a database synchronization system via an update queue, the message collection update for a message object collection, the message object collection associated with device-to-device messaging communication between the first client device and a second client device; and a local database management component operative to update a local database store for the message object collection on the client device using the message collection update, wherein updating the local database store is based on a collection identifier for the message collection update; and extract a device-to-device message from the message collection update, wherein extracting the device-to-device message from the message collection update empowers the messaging client to display the device-to-device message on the first client device. Other embodiments are described and claimed.
-
公开(公告)号:US20180004829A1
公开(公告)日:2018-01-04
申请号:US15199404
申请日:2016-06-30
Applicant: Facebook, Inc.
Inventor: Vishal Kathuria , Joshua Scott Evenson , Andras Biczo , Hong-Seok Kim , Leigh Jonathan Henry Pauls
IPC: G06F17/30
CPC classification number: G06F16/27 , G06F16/21 , G06F16/2379
Abstract: Techniques for database replication between client devices are described. In another embodiment, an apparatus may comprise a local database management component operative to send a collection subscription command from a client device to a database synchronization system, the collection subscription command specifying an object collection; and update a local database store for the object collection on the client device using a collection update; and a local queue component operative to receive the collection update from the database synchronization system based on the collection subscription command, the collection update for the object collection, the collection update received as a push notification from the database synchronization system; and send an update acknowledgement in response to the collection update based on the updating of the local database store for the object collection. Other embodiments are described and claimed.
-
5.
公开(公告)号:US09680692B2
公开(公告)日:2017-06-13
申请号:US13748173
申请日:2013-01-23
Applicant: Facebook, Inc.
Inventor: Phillip Liu , Vishal Kathuria
CPC classification number: H04L41/0609 , H04L67/10
Abstract: Disclosed is a method and system for registering a recursive watch on a node in hierarchical data structure. Embodiments of the disclosed technique may include (i) receiving a request to register an event listener on a source node, the source node being one of a plurality of nodes that are related to each other in a hierarchy; (ii) registering the event listener on the source node, the event listener configured to notify a client of an occurrence of a first event in the source node; and (iii) if the source node has a descendant node in the hierarchy, setting the event listener to notify the client of an occurrence of a second event in the descendant node without requiring registration of another event listener on the descendant node. Each of the nodes may represent, for example, a logical partition of a storage device.
-
公开(公告)号:US20160142475A1
公开(公告)日:2016-05-19
申请号:US14542106
申请日:2014-11-14
Applicant: Facebook, Inc.
Inventor: Vishal Kathuria , Vikas Mehta , Muthukaruppan Annamalai , Zhenhua Guo
CPC classification number: H04L67/1008 , H04L67/10 , H04L67/42
Abstract: The disclosure is related to a shard manager that manages assignment of shards (data partitions) to application servers. An application service (“app service”) provides a specific service to clients and can be executing on multiple application servers. The dataset managed by the app service can be divided into multiple shards and the shards can be assigned to different app servers. The shard manager can manage the assignment of shards to different app servers based on an assignment policy. The shard assignments can be published to a configuration service. A client can request the configuration service to provide identification information of the app server to which a particular shard the client intends to access is assigned. The shard manager can also provide dynamic load balancing solutions. The shard manager can poll the app servers in runtime to determine the load information and per-shard resource usage, and balance the load by reassigning the shards accordingly.
Abstract translation: 本公开涉及一种管理分配给应用服务器的分片(数据分区)的分片管理器。 应用程序服务(“app service”)为客户端提供特定的服务,并且可以在多个应用程序服务器上执行。 由应用服务管理的数据集可以分为多个分片,分片可以分配给不同的应用服务器。 分片管理器可以根据分配策略管理分片到不同的应用服务器。 分片分配可以发布到配置服务。 客户端可以请求配置服务来提供客户端打算访问的特定分片的应用服务器的标识信息。 分片经理还可以提供动态负载平衡解决方案。 分片管理器可以在运行时轮询应用服务器,以确定负载信息和每个资源的资源使用情况,并通过相应地重新分配分片来平衡负载。
-
公开(公告)号:US10027748B2
公开(公告)日:2018-07-17
申请号:US14796810
申请日:2015-07-10
Applicant: Facebook, Inc.
Inventor: Muthukaruppan Annamalai , Zelaine Fong , Marc Alexander Celani , Vishal Kathuria , Sanketh Indarapu , Rohit Subhash Bhoj , Benjamin Francois Marie Renard , Sumeet Ungratwar
Abstract: The disclosure is directed to data replication in a distributed computing system. The data, e.g., received from a client, is replicated to a first set of servers (“sync replica set”) synchronously and to a second set of servers asynchronously (“async tree”). A server can be a primary, secondary or a follower server. A sync replica set includes a primary server and one or more secondary servers. The async tree includes multiple follower servers deployed in a tree structure. A primary server can replicate the data to the secondary servers synchronously, and the secondary servers can replicate the data to one or more follower servers, e.g., a root node of the async tree, asynchronously. The root node then replicates the data to children of the root node, which then replicate to their children and so on until the leaf nodes of the async tree receive the data.
-
公开(公告)号:US20170013058A1
公开(公告)日:2017-01-12
申请号:US14796810
申请日:2015-07-10
Applicant: Facebook, Inc.
Inventor: Muthukaruppan Annamalai , Zelaine Fong , Marc Alexander Celani , Vishal Kathuria , Sanketh Indarapu , Rohit Subhash Bhoj , Benjamin Francois Marie Renard , Sumeet Ungratwar
CPC classification number: H04L67/1095 , G06F17/30575 , H04L5/0055
Abstract: The disclosure is directed to data replication in a distributed computing system. The data, e.g., received from a client, is replicated to a first set of servers (“sync replica set”) synchronously and to a second set of servers asynchronously (“async tree”). A server can be a primary, secondary or a follower server. A sync replica set includes a primary server and one or more secondary servers. The async tree includes multiple follower servers deployed in a tree structure. A primary server can replicate the data to the secondary servers synchronously, and the secondary servers can replicate the data to one or more follower servers, e.g., a root node of the async tree, asynchronously. The root node then replicates the data to children of the root node, which then replicate to their children and so on until the leaf nodes of the async tree receive the data.
Abstract translation: 本公开涉及分布式计算系统中的数据复制。 例如,从客户端接收到的数据被同步地复制到第一组服务器(“同步复制集”),并被异步地复制到第二组服务器(“异步树”)。 服务器可以是主服务器,辅助服务器或跟随服务器。 同步副本集包括主服务器和一个或多个辅助服务器。 异步树包括以树结构部署的多个跟随服务器。 主服务器可以将数据同步复制到辅助服务器,辅助服务器可以异步地将数据复制到一个或多个跟随服务器,例如异步树的根节点。 根节点然后将数据复制到根节点的子节点,然后根节点将其复制到子节点,直到异步树的叶节点接收数据。
-
公开(公告)号:US20140149489A1
公开(公告)日:2014-05-29
申请号:US13685461
申请日:2012-11-26
Applicant: Facebook. Inc.
Inventor: Vishal Kathuria
IPC: H04L29/06
CPC classification number: H04L67/1002
Abstract: Disclosed is a method and system for upgrading a local session between a server and a client in a Coordination Service to a global session on-demand. Exemplary embodiments may include (i) determining whether a type of transaction received at a server in a group of servers from a client is a first transaction type or a second transaction type, (ii) responsive to a determination that the transaction is first transaction type, creating a local session between the server and the client for executing the transaction, wherein the transactions of first transaction type do not require a vote from each of the servers in the group for executing; and (iii) responsive to a determination that the transaction is the second transaction type, converting the existing local session to a global session, wherein the transactions of second transaction type require a vote from each of the servers in the group for executing.
Abstract translation: 公开了一种用于将协调服务中的服务器和客户端之间的本地会话按需升级到全局会话的方法和系统。 示例性实施例可以包括(i)确定在来自客户端的一组服务器中的服务器处接收的交易类型是否是第一交易类型还是第二交易类型,(ii)响应于确定该交易是第一交易类型 ,在所述服务器和所述客户机之间创建用于执行所述事务的本地会话,其中所述第一事务类型的事务不需要所述组中的每个所述服务器进行投票以便执行; 以及(iii)响应于所述事务是所述第二事务类型的确定,将所述现有本地会话转换为全局会话,其中所述第二事务类型的事务需要来自所述组中的每个所述服务器的投票来执行。
-
公开(公告)号:US10706069B2
公开(公告)日:2020-07-07
申请号:US15198898
申请日:2016-06-30
Applicant: Facebook, Inc.
Inventor: Vishal Kathuria , Joshua Scott Evenson , Andras Biczo , Hong-Seok Kim , Leigh Jonathan Henry Pauls
Abstract: Techniques for replication of a client database to remote devices are described. In one embodiment, an apparatus may comprise a server database management component operative to receive a collection subscription command from a client device at a database synchronization system, the collection subscription command specifying an object collection; and detect a collection change for the object collection; and an update queue management component operative to register the client device for push notification with a collection update queue associated with the object collection; and add a collection update to the collection update queue, the collection update based on the collection change. Other embodiments are described and claimed.
-
-
-
-
-
-
-
-
-