Journal influence
Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)
Bookmark
Next issue
№2
Publication date:
16 June 2024
Using data compression and double caching to increase client-server applications operating efficiency
The article was published in issue no. № 1, 2014 [ pp. 50-56 ]Abstract:Many organizations use client-server applications in order to afford their employees and clients an opportunity to work with necessary information on their local computers. Delays of networking and data processing on the server side must not aggravate this process. The problem of accelerating client-server applications with caching and data transfer rate in-crease had not existed until client-server applications had became popular in wide area networks. But the problem of granting fast access to a central server and accelerating client-server applications has become important because of enterprise expan-sion, creation new service centers and remote desks in different regions of the world. The double caching (caching on the cli-ent side and on the server side) with periodical client/server cache update and the additional arrangements for accelerating da-ta transfer (compression and encryption) were proposed to solve the problem. The WAN accelerator has been developed based on this method. It is an independent program module. It is transparent for a client-server application that uses it. The accelerator contains two parts: the client part (accelerator-client) and the server part (accelerator-server). The TCP connection is established between the parts. The accelerator-client intercepts client HTTP requests, caches, compresses, encrypts them and then sends them to the accelerator-server. The accelerator-server receives the requests, decrypts, decompresses, caches them and then sends the restored HTTP requests to the server. The server processes the requests and generates the HTTP r e-sponses. The accelerator-server intercepts the responses, caches, compresses and encrypts them and after that sends them to the accelerator-client. The accelerator-client receives the responses, decrypts, decompresses and caches them and after that sends the restored HTTP responses to the client. If the identical HTTP request is intercepted by the accelerator-client, the HTTP response will be extracted from the accelerator-client cache (it is the best case because there is no need to send the HTTP request to the server and wait for the HTTP response) or from the accelerator-server cache (it is the worst case because there is a need to send the HTTP request to the accelerator-server and wait for the response from its cache but there is no need to send the HTTP request to the server and wait until the response will be generated). Test series were run to evaluate operating efficiency of the accelerator. The client and server mocks were used for this purpose. The client mock was sending the test HTTP requests and the server mock was receiving the requests and generating the test HTTP responses. The accelera-tor was intercepting the requests and responses. The HTTP requests and responses had the same structure like the HTTP r e-quests and responses used by the real client-server applications in the target organizations. The test series demonstrated that usage of the accelerator could decrease response time for 14–98 % depending on network bandwidth and identical re-quest\response repetition rate. The user could see that the client-server application had been working faster.
Аннотация:Многие предприятия используют клиент-серверные приложения для того, чтобы их сотрудники и клиенты могли легко работать с необходимой для них информацией на локальном компьютере. При этом данная работа не должна осложняться задержками передачи данных по сети либо длительностью их обработки центральными серверами предприятия. Ввиду расширения предприятий, создания сервисных центров в различных регионах мира и удаленных рабочих мест стала актуальной проблема обеспечения быстрого доступа клиентов к центральным серверам и уско-рения тем самым работы клиент-серверных приложений. Для ее решения предложены метод двойного кэширования (на стороне клиента и на стороне сервера) с периодическим обновлением кэша на клиентской и серверной сторон ах и дополнительные меры по ускорению процесса передачи данных – компрессия и шифрование. На основе этого метода разработан WAN-акселератор, который является независимым и прозрачным для использующего его клиент-серверного приложения программным модулем. Акселератор состоит из двух частей (клиентской, или акселератора-клиента, и серверной, или акселератора-сервера), между которыми устанавливается TCP-соединение. Акселератор-клиент перехватывает HTTP-запросы, идущие от клиента, и, проведя с ними операции кэширования, компрессии и шифрования, пересылает акселератору-серверу, который, в свою очередь, проводит операции их дешифрования, де-компрессии – восстановления – и кэширования и отсылает серверу. Сервер обрабатывает HTTP-запросы, генерирует HTTP-ответы, которые приходят сначала на акселератор-сервер, где они кэшируются, сжимаются и шифруются, а затем отправляются акселератору-клиенту для дешифрования, декомпрессии – восстановления – и кэширования. При перехвате HTTP-запроса, который ранее обрабатывался акселератором, HTTP-ответ на него в лучшем случае может быть возвращен из кэша акселератора-клиента (тогда экономится время на передачу запроса, генерацию и передачу ответа), в худшем – из кэша акселератора-сервера (тогда экономится время на генерацию ответа). Для оценки эффективности разработанного акселератора был проведен ряд экспериментов, суть которых заключалась в имитации работы клиент-серверных приложений целевых предприятий, то есть в отсылке HTTP-запросов и HTTP-ответов, которые перехватывались бы акселератором. Для этого были сгенерированы наборы из нескольких сотен запросов и ответов, схожих по своей структуре с запросами и ответами, передаваемыми в рамках клиент-серверных приложений целевых предприятий. Эксперименты показали, что использование акселератора позволяет снизить среднее время ожидания ответа клиентом на 14–98 % в зависимости от пропускной способности сети и частоты повторяемости идентичных запросов/ответов. Это, в свою очередь, приводит к ускорению процесса работы пользователя и увеличению ее эффективности.
Authors: Evseenko I.А. (327igor@rambler.ru) - Belarusian-Russian University, Mogilev, Melnikov I.I. (mel_igor@mail.ru) - Belarusian-Russian University, Mogilev, Demidenkov К.А. (sdk@mail.by) - Belarusian-Russian University, Mogilev | |
Keywords: cipher, compression, double caching, wan-accelerator, client-server application |
|
Page views: 14744 |
Print version Full issue in PDF (7.83Mb) Download the cover in PDF (1.01Мб) |
Применение двойного кэширования и компрессии данных для повышения эффективности работы клиент-серверных приложений
The article was published in issue no. № 1, 2014. [ pp. 50-56 ]
Many organizations use client-server applications in order to afford their employees and clients an opportunity
to work with necessary information on their local computers. Delays of networking and data processing on the server side
must not aggravate this process. The problem of accelerating client-server applications with caching and data transfer rate in-crease had not existed until client-server applications had became popular in wide area networks. But the problem of granting
fast access to a central server and accelerating client-server applications has become important because of enterprise expan-sion, creation new service centers and remote desks in different regions of the world. The double caching (caching on the cli-ent side and on the server side) with periodical client/server cache update and the additional arrangements for accelerating da-ta transfer (compression and encryption) were proposed to solve the problem. The WAN accelerator has been developed
based on this method. It is an independent program module. It is transparent for a client-server application that uses it. The
accelerator contains two parts: the client part (accelerator-client) and the server part (accelerator-server). The TCP connection
is established between the parts. The accelerator-client intercepts client HTTP requests, caches, compresses, encrypts them
and then sends them to the accelerator-server. The accelerator-server receives the requests, decrypts, decompresses, caches
them and then sends the restored HTTP requests to the server. The server processes the requests and generates the HTTP r e-sponses. The accelerator-server intercepts the responses, caches, compresses and encrypts them and after that sends them to
the accelerator-client. The accelerator-client receives the responses, decrypts, decompresses and caches them and after that
sends the restored HTTP responses to the client. If the identical HTTP request is intercepted by the accelerator-client, the
HTTP response will be extracted from the accelerator-client cache (it is the best case because there is no need to send the
HTTP request to the server and wait for the HTTP response) or from the accelerator-server cache (it is the worst case because
there is a need to send the HTTP request to the accelerator-server and wait for the response from its cache but there is no
need to send the HTTP request to the server and wait until the response will be generated). Test series were run to evaluate
operating efficiency of the accelerator. The client and server mocks were used for this purpose. The client mock was sending
the test HTTP requests and the server mock was receiving the requests and generating the test HTTP responses. The accelera-tor was intercepting the requests and responses. The HTTP requests and responses had the same structure like the HTTP r e-quests and responses used by the real client-server applications in the target organizations. The test series demonstrated that
usage of the accelerator could decrease response time for 14–98 % depending on network bandwidth and identical re-quest\response repetition rate. The user could see that the client-server application had been working faster.
Evseenko I.А. (327igor@rambler.ru) - Belarusian-Russian University, Mogilev, Melnikov I.I. (mel_igor@mail.ru) - Belarusian-Russian University, Mogilev, Demidenkov К.А. (sdk@mail.by) - Belarusian-Russian University, Mogilev
Ссылка скопирована!
Permanent link: http://swsys.ru/index.php?page=article&id=3757&lang=&lang=en&like=1 |
Print version Full issue in PDF (7.83Mb) Download the cover in PDF (1.01Мб) |
The article was published in issue no. № 1, 2014 [ pp. 50-56 ] |
The article was published in issue no. № 1, 2014. [ pp. 50-56 ]
Perhaps, you might be interested in the following articles of similar topics:Perhaps, you might be interested in the following articles of similar topics:
- Оптимизация работы web-сервисов путем кэширования данных
- Безопасный обмен файлами на основе сетей доверия и сертификатов открытых ключей с помощью разработанного приложения
- Системы композиционной электронной цифровой подписи
- Разработка чат-бота для отслеживания расписания учебных занятий в университете
- Анализ активности и тенденций развития вредоносных программ типа «блокиратор-шифровальщик файлов»
Back to the list of articles