Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MAINTAINING USERS IN A DISTRIBUTED SYSTEM
Document Type and Number:
WIPO Patent Application WO/2019/150171
Kind Code:
A2
Inventors:
SHARMA PRATIK (IN)
Application Number:
PCT/IB2018/050675
Publication Date:
August 08, 2019
Filing Date:
February 02, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SHARMA PRATIK (IN)
Download PDF:
Claims:
Claims

Following are the claims for this invention

1> In this invention we maintain users which can have names composed of Unicode characters, ASCII characters, etc for a distributed system. Let us consider for the sake of simplicity the character or symbol set for the names of the users to be upper case and lower case english letters. All the user information will be maintained as a reference for the corresponding node in the trie data structure which can be traversed by the name of the user which is unique. The trie data structure will have a root node or a dummy node to start with and it will have 52 pointers corresponding to upper case and lower case english letters in alphabetical order starting with upper case letters. Similarly subsequent new nodes in the trie data structure on adding new users will have 52 pointers and a reference value associated with it. Also associated with each node in the trie data structure will be a read bit and a write bit which when set indicates read and write operations respectively are happening for that node, in addition to the reader counter that will be maintained for that node. First reader for the node in the trie data structure will atomically set the read bit along with

atomically incrementing the reader counter for that node and start reading the user information if there is a valid reference for that node, subsequent readers for that node need not atomically set the read bit for that node but will have to atomically increment the reader counter for that node. Also when there is no valid reference for a node and there is a reader for that node we can abort the read operation. But when there is a write operation happening indicated by the set write bit done atomically by the writer, then the readers can wait for the write operation to get over instead of aborting the read operation. Also in the case when there are multiple readers reading the user information, the writer will wait for the reader counter to become zero indicating that read operations are over for all users (Readers atomically decrement read counter after read operation is over). Traversing the trie data structure by the unique name of the user fetches us the reference which contains all user information like user password (stored in encrypted format), user privileges, user permissions, processes or services which users can start or stop, number of virtual machines where the user is valid and different privileges it has for different machines, etc. The above novel technique used by us to store user information for a distributed system is the claim for this invention.

Description:
Maintaining users in a distributed system

In this invention we maintain users which can have names composed of Unicode characters, ASCII characters, etc for a distributed system. Let us consider for the sake of simplicity the character or symbol set for the names of the users to be upper case and lower case english letters. All the user information will be maintained as a reference for the corresponding node in the trie data structure which can be traversed by the name of the user which is unique. The trie data structure will have a root node or a dummy node to start with and it will have 52 pointers corresponding to upper case and lower case english letters in alphabetical order starting with upper case letters. Similarly subsequent new nodes in the trie data structure on adding new users will have 52 pointers and a reference value associated with it. Also associated with each node in the trie data structure will be a read bit and a write bit which when set indicates read and write operations respectively are happening for that node, in addition to the reader counter that will be maintained for that node. First reader for the node in the trie data structure will atomically set the read bit along with

atomically incrementing the reader counter for that node and start reading the user information if there is a valid reference for that node, subsequent readers for that node need not atomically set the read bit for that node but will have to atomically increment the reader counter for that node. Also when there is no valid reference for a node and there is a reader for that node we can abort the read operation. But when there is a write operation happening indicated by the set write bit done atomically by the writer, then the readers can wait for the write operation to get over instead of aborting the read operation. Also in the case when there are multiple readers reading the user information, the writer will wait for the reader counter to become zero indicating that read operations are over for all users (Readers atomically decrement read counter after read operation is over). Traversing the trie data structure by the unique name of the user fetches us the reference which contains all user information like user password (stored in encrypted format), user privileges, user permissions, processes or services which users can start or stop, number of virtual machines where the user is valid and different privileges it has for different machines, etc.