Как правильно подойти к решению задачи о математическом моделировании клиент-серверного приложения, направленного на передачу потоковых данных?

Имеется клиент-серверное приложение (используется UDP протокол), позволяющее пользователям (имеются в виду групповые конференции от двух или более человек) в реальном времени общаться между собой по средством передачи текстовых и голосовых сообщений.
Для передачи голосовых сообщений используется запись с микрофона пользователя, которая, разбиваясь на пакеты по 50 миллисекунд кодируется одним из кодеков (например, G.711) транслируется всем пользователям, находящимся онлайн.
В рамках институтского проекта появилась необходимость построить математическую модель данной сети с целью проверить масштабируемость решения. то есть посмотреть, как рост одновременного числа участников будет отражаться на отзывчивости сервера.
Казалось бы, что задача довольно тривиальна, но в процессе поиска информации по данному вопросу в интернете пришел к выводу, что я, скорее всего, копаю не в той области, в которой нужно.
Быть может, кто-то знает книги или статьи в которых данная задача освещается?
  • Вопрос задан
  • 2671 просмотр
Решения вопроса 1
@yetiman
Вам необходимо сделать следующее:
1. Собрать статистику данных из реального канала с аналогичными соединениями.
2. Выделить из статистики отдельные параметры (порты, адреса, задержки, значения других критических полей).
3. По каждому параметру попытаться выявить его закон распределения (либо же построить марковскую цепь, если совсем закон никакой не берется, либо же взять за основу гистограмму частот и с ней работать).
4. Сделать генератор событий для каждого отдельно взятого параметра (см. п.2) и на основе этих генераторов уже формировать реальные "модельные пакеты"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@mayorovp
Гиблое дело. Алгоритмы в такой сети достаточно сложные, чтобы их можно было моделировать математически. Поставленную задачу (определение границ масштабируемости) куда проще решать нагрузочным тестированием в лаборатории.
Ответ написан
gbg
@gbg
Любые ответы на любые вопросы
Строить граф и считать на нем максимальный поток. При этом, такие компоненты как коммутаторы, тоже нужно вводить как ребра и задавать на этих ребрах пропускную способность.

Если применяется multicast, вся нагрузка размазывается по коммутаторам, поэтому вопрос о масштабируемости сервера можно и закрыть
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы