Research on Controlling Concurrency in Real-Time Applications

Gabrelsoft
3 min readJun 25, 2023

ABSTRACT

This paper exposes the concurrency control problem in Dropbox when it’s executed as a distributed system. Traditional concurrency control styles can’t be applied directly to Dropbox because system relations include people as well as computers, styles analogous to locking, serialization, and their degree of optimism, are shown to have family different impacts on the interface and how operations are displayed and perceived by group members.

The paper considers, both mortal and technical considerations that introduced should consider before choosing a particular control system. it also reviews my work in progress in designing a knowledge-base software.

INTRODUCTION

Dropbox applications allow two or more people to live in different geographical locations to work together simultaneously through a computerized environment. These systems support the ability to manipulate their documents through a shared space, without interruption. At Dropbox controlling the workspace is often distributed at each participant’s site, where the network is synchronized with its counterparts.

The point of this paper is to expose the concurrency control problem at Dropbox and to illustrate the adverse effects that the synchronization scheme should possess on Dropbox and its users. The following are some of the Dropbox software we will be addressing in this paper that supports high real-time computational workspace. Examples, are Dropbox paper, Dropbox Sign, DocSend, Hellowork, etc. Before proceeding I expect you to have used one of these products.

BACKGROUND OF THE STUDY

Controlling concurrency in real-time applications is a crucial aspect of designing and developing applications that must meet strict timing requirements. Real-time applications often operate in environments where tasks must be executed within specific time constraints to ensure safety, reliability, and responsiveness. The use of Web sockets and socket libraries in programming languages helps in building such systems.

PROBLEM OVERVIEW

It’s easy for people to understand a multi-user shared space. We as users expect shared to behave like its physical counterpart. We perceive them as a single space containing distinct objects. We expect it to be a physical constraint from doing a particular type of action. There are lots of copies of space they contain; there are time delays when showing the actions of others; and physical constraints are simulated, rather than natural ones.

Concurrency problems arise when the software, data, and interface are distributed over several computers. Time delays when exchanging conflicting actions. When and if concurrency is not established, people may invoke conflicting actions. As a result, users may become confused because displays are inconsistent, and the Dropbox document may be corrupted due to events being handled out of order On the other hand, this is a result of human problems, for the interface design is supposed to reflect how humans want it to work. Technical problems need to be considered.

My paper is not a conventional distributed system paper, as it does not propose a new algorithm for concurrency in real-time applications. Rather it introduces and surveys traditional methods to enhance concurrency in real-time applications, outlines the importance of Dropbox, and indicates events that are unavoidable, which may be considered when applying them. It begins by reviewing basic concurrency methods used by conventional software. I expect this paper to be accessible to non-computer scientists. The subsequent section explains how the Dropbox environment differs from conventional distributed systems and also illustrates the profound effects of concurrency on its subscribers. Next, we go further in explaining technical considerations that Dropbox engineers and designers should know before building another product for its users.

PAST WORK

Concurrency control has been studied in the context of an organization in which various businesses make use of real-time applications. Concurrency control requirements in such applications are different from the conventional application. Because in the former case components involved might be using different concurrency control techniques they are often autonomous. This autonomy of components in an application is the key factor to maintain global serializability which is the correctness criteria adopted in the concurrency control technique.

The possibility of having a concurrency application was thought of in the 80s and various problems involved are addressed in later years. Data accessibility is important for the successful operation of any corporation. Historically, however, it has been difficult for individuals to locate and access data within different locations. In many cases, data within different locations are controlled by different availability zone and DBMS. Some applications are better suited for scientific and engineering purposes. Also, some DBMSs are used simply because of personal preference. Therefore, accessing data from different sources within a corporation usually represents a difficult and specialized task.

TO BE CONTINUED…

--

--