СИСТЕМА И СПОСОБ ОРГАНИЗАЦИИ ОЧЕРЕДИ НА ОСНОВЕ ОЖИДАНИЯ

1. Способ, содержащий этапы, на которых:
принимают в серверной компьютерной системе множество сообщений, причем каждое сообщение включает в себя сетевой адрес компьютера получателя;
отправляют посредством серверной компьютерной системы по сети данное множество сообщений на компьютеры получателей, причем каждое из множества сообщений отправляется с помощью потока из множества потоков, выполняющихся в серверной компьютерной системе, при этом от потока требуется ожидать ответ с подтверждением с соответствующего компьютера получателя, прежде чем отправлять другое сообщение из упомянутого множества сообщений;
определяют время ожидания ответа с подтверждением, который должен быть принят серверной компьютерной системой, для каждого из множества сообщений;
принимают в серверной компьютерной системе первое сообщение, включающее в себя первый сетевой адрес компьютера первого получателя;
определяют, отправлялись ли ранее другие сообщения на первый сетевой адрес компьютера первого получателя;
после определения того, что другие сообщения ранее отправлялись на первый сетевой адрес:
определяют величину ожидания ответа на другие сообщения, связанные с первым сетевым адресом,
сравнивают величину ожидания с первым порогом и
определяют, следует ли помещать первое сообщение в первую очередь ожидания или во вторую очередь ожидания, на основе сравнения величины ожидания с первым порогом, при этом разные потоки из упомянутого множества потоков распределяются в первую очередь ожидания и вторую очередь ожидания.
2. Способ по п.1, дополнительно содержащий этапы, на которых:
генерируют хеши, по меньшей мере, части сетевых адресов компьютеров получателей для упомянутого множества сообщений;
сохраняют эти хеши в базе данных; и
генерируют первый хеш, по меньшей мере, части первого сетевого адреса,
при этом упомянутое определение того, что другие сообщения ранее отправлялись на первый сетевой адрес, содержит этап, на котором сравнивают первый хеш с сохраненными в базе данных хешами.
3. Способ по п.1, дополнительно содержащий этап, на котором, после определения того, что другие сообщения ранее не отправлялись на первый сетевой адрес, помещают первое сообщение в очередь по умолчанию.
4. Способ по п.1, в котором времена ожидания других сообщений, связанных с первым сетевым адресом, образуют статистическое распределение, при этом упомянутое определение величины ожидания ответа для других сообщений, связанных с первым сетевым адресом, содержит этап, на котором вычисляют статистический параметр этого статистического распределения, каковой статистический параметр является одним из среднего, моды или медианы данного статистического распределения, причем величина ожидания представляет собой данный статистический параметр.
5. Способ по п.1, дополнительно содержащий этап, на котором, после помещения первого сообщения во вторую очередь ожидания, генерируют предупреждение для компьютера первого получателя о том, что величина ожидания ответа превышает первый порог для первого сетевого адреса.
6. Способ по п.1, дополнительно содержащий этап, на котором динамически изменяют количество потоков, распределяемых в первую очередь ожидания и вторую очередь ожидания, на основе первого количества сообщений в первой очереди ожидания и на основе второго количества сообщений во второй очереди ожидания.
7. Способ по п.1, дополнительно содержащий этап, на котором динамически изменяют упомянутый порог на основе первого количества сообщений в первой очереди ожидания и на основе второго количества сообщений во второй очереди ожидания.
8. Способ по п.1, в котором сообщения отправляются на компьютеры получателей с использованием по меньшей мере одного из HTTP и TCP.
9. Способ по п.1, дополнительно содержащий этапы, на которых:
сравнивают величину ожидания со вторым порогом; и
определяют, следует ли помещать первое сообщение во вторую очередь ожидания или в третью очередь ожидания, на основе сравнения величины ожидания со вторым порогом.
10. Способ по п. 1, дополнительно содержащий этапы, на которых:
осуществляют попытку отправить по сети первое сообщение на компьютер первого получателя с использованием первого потока из множества потоков, причем первый поток связан с первой очередью ожидания или второй очередью ожидания, при этом от потока требуется ожидать первый ответ с подтверждением с компьютера первого получателя, прежде чем осуществлять попытку отправить другое сообщение из упомянутого множества сообщений, при этом первый ответ с подтверждением не принимается с компьютера первого получателя в течение порогового периода времени; и
переназначают первое сообщение во второй поток, связанный с первой очередью ожидания, второй очередью ожидания или очередью для обработки в ручном режиме.
11. Машиночитаемый носитель, хранящий команды, которые при их исполнении процессором предписывают компьютерной системе выполнять способ по любому из пп. 1-10.
12. Серверная компьютерная система, содержащая:
процессор и
память, подключенную к процессору, причем память хранит команды, которые при их исполнении процессором предписывают серверной компьютерной системе выполнять способ по любому из пп. 1-10.