Настоящее изобретение относится к способам и средствам, предназначенным для формирования очереди абонентских заказов, требующих различные типы обслуживания, обслуживающим устройствам и представляющим необходимые услуги. Согласно одному из аспектов, изобретение касается, в частности, способов и средств, предназначенных для управления очередями записанных телефонных сообщений, для обеспечения возможности передачи пакетов сообщений предполагаемым адресатам.
Такие системы управления очередями назначают обслуживание абонентским заказам, которые имеют меняющиеся требования на обработку, в зависимости от их типов. Для каждого типа заказа, например A, B, C и так далее, они обеспечивают класс обслуживающего устройства, например A, B, C и так далее, который может обслуживать заказ. Вместо этого указанные системы могут представлять универсальные обслуживающие устройства, выполняемые с возможностью трансформации в различные классы обслуживающих устройств, например A, B, C и так далее, в соответствии с требованиями абонента.
Большинство систем управления очередями обслуживают заказы в заранее установленном порядке, например, на основе очереди обратного магазинного типа (FIFO). Они осуществляют обслуживание посредством использования одной из схем организации очереди, а именно использование стратегии одной очереди или стратегии большого количества очередей.
В случае стратегии одной очереди все абонентские заказы ожидают в одной и той же очереди в том порядке, в котором они поступили, а затем подвергаются обслуживанию по одному одновременно. Если верхний заказ в очереди является заказом того же типа, что и обслуживаемый в данный момент, например типа A, то обслуживающее устройство, обрабатывающее заказ типа A, может одновременно обработать следующий заказ типа A. В противном случае система должна перейти к классу обслуживающего устройства, соответствующему следующему заказу, например типа B, или осуществить поиск в очереди следующего заказа первого типа - типа A.
В случае существующей почтовой системы с телефонным речевым сигналом, где заказы принимают форму записанных сообщений, закодированных для различных адресатов информации, стратегия одной очереди выполняется следующим образом. Все сообщения ожидают в одной и той же очереди в порядке их поступления, а затем обслуживающее устройство обслуживает и передает каждое сообщение по одному одновременно. Если сообщения, предназначенные для одного и того же адресата, следуют друг за другом, то система может передавать их в виде пакета. В противном случае система меняет адресата следующего сообщения, или осуществляет поиск в очереди сообщения, предназначенного для того же адресата, что и первое сообщение, и извлекает вместе несколько сообщений для одного и того же адресата с целью передачи в виде пакета.
Такие одноочередные системы явно являются неэффективными. Они не могут обеспечивать простое одновременное обслуживание различных заказов или сообщений.
При использовании метода большого количества очередей (многоочередном методе) используется большое количество очередей и каждая очередь связывается с определенным типом абонентского заказа и соответствующим типом обслуживающего устройства. Заказы одинакового типа ожидают в одной и той же очереди в том порядке, в котором они прибывают. При многоочередной схеме в случае почтовой телефонной системы с речевым сигналом заказы представляют записанные сообщения, закодированные для различных адресатов. Каждая из большого количества очередей содержит сообщения для конкретного адресата. Сообщения для одного и того же адресата ожидают в одной и той же очереди в том порядке, в котором они поступают. Такие устройства с большим количеством очередей требуют количество очередей, равное максимальному количеству адресатов, которое может быть очень большим или неизвестным. Каждое сообщение должно проходить в конкретную очередь адресата.
Целью настоящего изобретения является усовершенствование системы управления очередями, в частности в случае телефонных почтовых систем с речевыми сигналами.
Преодоление вышеупомянутых недостатков, присущих известным системам.
Изобретение предполагает сбор всех абонентских заказов различных типов в заранее определенном порядке в очереди на управление, периодическое освобождение каждой из ряда очередей на обработку, меньшего количества типов заказов, и передачи каждого последующего заказа определенного типа из очереди на управление в очередь на обработку, свободную от других типов заказов. Это позволяет назначить каждую очередь на обработку одному типу заказа, пока освободится очередь на обработку, и переназначает каждую освобожденную очередь на обработку следующего пересылаемого в нее типа заказа.
Поскольку устройство управления очередями всегда добавляет в каждую очередь на обработку заказ одного и того же типа, уже содержащийся в очереди на обработку, блока управления очередями по существу назначают каждую очередь на обработку заказа того типа, который блок управления очередями первым разместил в указанную очередь на обработку. Такое назначение продолжается до тех пор, пока обслуживающее устройство не освободит очередь на обработку. Если теперь блок управления очередями поместит новый тип заказа в незанятую очередь на обработку,то указанный блок управления очередями освобождает очередь на обработку от первого типа заказа и переназначает ее заказу более позднего типа. Это освобождение и переназначение дает возможность ограниченному количеству очередей на обработку, например пяти очередям, манипулировать любым количеством типов заказов, например тысячью или более.
В соответствии с одним из аспектов изобретения, а именно в случае телефонной почтовой системы заказы записываются в виде речевых сообщений, закодированных для передачи ряду адресатов. Все сообщения для всех адресатов записываются в очереди на управление в заранее определенном порядке, например, на основе порядка обратного магазинного типа. Блок управления очередями распределяет сообщения по одному из очереди на управление, среди количества очередей на обработку, меньшего чем количество адресатов, посредством размещения каждого последующего первого сообщения, находящегося в очереди на управление, в очередь на обработку, адресат которой совпадает с адресатом первого сообщения. Если отсутствует парная (совпадающая) очередь на обработку, блок управления очередями размещает первое сообщение на место незанятой очереди на обработку, при условии ее наличия. Если незанятая очередь на обработку отсутствует, блок управления очередями удерживает сообщение в очереди на управление до тех пор, пока передача сообщений из очередей на обработку не освободит очередь на обработку. Затем блок управления перераспределяет данную очередь на обработку для передачи только новому адресату и помещает следующее сообщение на место незанятой очереди на обработку.
В изобретении используется ограниченное количество очередей, чтобы обеспечить возможность одновременного обслуживания большого количества заказов разных типов или адресатов. Фактически нет ограничения на различные типы заказов или адресатов. Заказы одного и того же типа или сообщения для одного и того же адресата ожидают в одной и той же очереди на обработку. Заказы или сообщения ожидают в одной и той же очереди обычно в хронологическом порядке, хотя возможны другие критерии их размещения. Легко можно осуществлять одновременную обработку различных типов заказов или сообщений адресатов. Система динамически назначает очереди каждому типу заказов или адресату и освобождает их, когда они становятся незанятыми и прибывают новые типы заказов или сообщений для новых адресатов. Для простоты обработки изобретение связывает обычные атрибуты, присущие обработке одного типа заказов или адресата с соответствующей очередью.
Обработка большого количества типов заказов или сообщений для большого количества адресатов становится более эффективной, чем в случае одноочередной схемы, а также в случае упомянутых многоочередных систем. Изобретение обеспечивает большую гибкость при обработке.
Эти и другие особенности изобретения отражены в формуле изобретения, в рамках раскрытия изобретения. Другие цели и преимущества изобретения содержатся в описании и прилагаемых чертежах.
В дальнейшем изобретение поясняется описанием вариантов его осуществления со ссылками на сопровождающие чертежи, на которых:
фиг. 1 изображает структурную схему, иллюстрирующую систему управления очередями согласно изобретению;
фиг. 2 - блок-схему, иллюстрирующую работу показанной на фиг. 1 системы управления очередями согласно изобретению;
фиг. 3 - блок-схему, иллюстрирующую другой способ работы показанной на фиг. 1 системы согласно изобретению;
фиг. 4 - блок-схему, иллюстрирующую работу обслуживающих устройств, в процессе инициирования или обслуживания показанных на фиг. 1 очередей на обработку;
фиг. 5 - еще одну блок-схему, иллюстрирующую работу показанных на фиг. 1 обслуживающих устройств, производящих работу на очередях;
фиг. 6 - структурную схему телефонной системы, согласно одному из вариантов осуществления изобретения;
фиг. 7 - структурную схему системы управления очередями фиг. 6 телефонной системы согласно изобретению;
фиг. 8 - блок-схему, иллюстрирующую этапы работы показанной на фиг. 6 и 7 системы управления очередями согласно изобретению;
фиг. 9 - блок-схему, иллюстрирующую последующие этапы работы показанной на фиг. 6 и 7 системы в соответствии с заявленным способом;
фиг. 10 - блок-схему, иллюстрирующую последующие этапы работы показанной на фиг. 6 и 7 системы согласно изобретению;
фиг. 11 - еще одну блок-схему, иллюстрирующую другой вид функционирования показанного на фиг. 6 и 7 контроллера обработки очередей, согласно изобретению.
В показанной на фиг. 1 структурной схеме системы управления очередями (QMS) блок управления очередями (QM) управляет пулом очередей, а именно очередью на управление (QC) и рядом очередей на обработку QP1, QP2, ..., QP(n-1), QPn. Очередь на управление содержит последовательность заказов CL1 - CLm различных типов заказов TC1 - TCt, требующих изменяющихся классов или типов обработки. Количество n очередей на обработку QP1 - QPn меньше количества t типов TC1 - TCt заказов. Количество n очередей на обработку может быть равным, например, 50, а количество t типов заказов может быть равным, например, 1000.
Очередь на управление QC принимает все заказы всех типов заказов TC1-TCt и удерживает их в том порядке, в котором они поступают. Блок управления очередями QM изымает заказы из очереди на управление в том же самом порядке. Таким образом очередь на управление представляет собой очередь на основе обратного магазинного типа. Однако это всего лишь пример и очередь на управление может располагать заказы по желанию в другом порядке.
Блок управления очередями QM располагает каждый крайний заказ в очередь на обработку QP1-QPn, связанную с данным типом заказа, и устанавливает связь с типом заказа на основании типа первого заказа, который он помещает в незанятую очередь на обработку QP1-QPn. Это происходит следующим образом.
Предположим, что все очереди на обработку QP1-QPn незаняты, и первый заказ в очереди на управления QC является заказом типа TC10; блок управления очередей (в дальнейшем БУ) располагает заказ в очереди на обработку QP1. На этом этапе назначается очередь на обработку QP1 типу заказа TC10. После этого БУ очередями размещает в очередь на обработку QP1 только заказы типа TC10 до тех пор, пока одно из обслуживающих устройств SE не освободит очередь на обработку QP1. Если следующий крайний заказ в очереди на управление QC представляет тип TC143, БУ очередями QM размещает заказ типа TC143 в очередь на обработку QP2, а отсюда предписывает или назначает очередь на обработку QP2 заказу типа TC143.
Если следующий верхний заказ в очереди на управление QC представляет тип TC10, БУ очередями размещает этот заказ вместе с другими заказом TC10 в очередь на обработку QP1, а не в одну из свободных очередей на обработку. После этого БУ очередями QM сохраняет размещение крайнего заказа в очереди на обработку, которую БУ очередями назначил для этого типа заказа, и в случае отсутствия подобной предписанной очереди на обработку БУ очередями размещает следующий крайний заказ в незанятую очередь на обработку. Каждый раз, когда незанятая очередь на обработку принимает тип заказа, БУ очередями предписывает эту очередь на обработку данному типу заказа.
После того, как БУ очередями распределит все очереди на обработку, а следующий обслуживаемый заказ представляет тип, которому не предписана или не назначена очередь на обработку, БУ очередями останавливает процесс распределения заказов из очереди на управление QC до того момента, когда обслуживающие устройства SE освободят одну из очередей на обработку QP1-QPn. Обслуживающие устройства SE обслуживают очереди на обработку QP1-QPn по отдельности посредством изъятия заказов либо по одному, либо группами. Такое обслуживание позволяет, например, освободить очередь на обработку и позволить БУ очередями отменить эту очередь на обработку и переназначить ее типу заказа в верхней части очереди на управления QC.
В альтернативном варианте осуществления, согласно которому заказы обрабатываются группами с максимальным размером, если БУ очередями распределяет все очереди на обработку, а следующий обслуживаемый заказ представляет собой тип, которому не назначена очередь на обработку, БУ очередями проверяет очередь на управление и передает последний заказ в очереди на управление, который приводит в соответствие очередь на обработку с его очередью на обработку, если указанная передача не потребует обработку дополнительного пакета.
БУ очередями связывает или сохраняет информацию об очереди для каждой очереди на обработку. Эта информация включает в себя назначенный в данный момент тип заказа и может содержать другие области.
Изобретение базируется на признании того факта, что хотя максимальное количество типов заказов TC1-TCt может быть очень большим, в любой момент имеется обычно лишь ограниченное количество заказов, реально ожидающих обслуживание. Таким образом, производя оценку количества типов заказов, имеющихся в указанном подмножестве заказов, реально ожидающих обслуживания, можно назначить достаточное количество очередей на обработку QP1-QPn и удерживать их.
БУ очередями QM не производит постоянное предписание какой-либо очереди на обработку фиксированному типу заказа, а назначает очередь на обработку одному типу заказов только на время. Очередь на обработку QP1-QPn используется тогда, когда БУ очередями QM назначает ее типу заказа. В противном случае очередь на обработку остается незанятой и доступной. Очередь на обработку является доступной для назначения или переназначения только тогда, когда она не содержит заказа.
На фиг. 2 представлена блок-схема, иллюстрирующая работу показанной на фиг. 1 системы управления очередями QMS. На этапе 100 блок управления очередями находится в ждущем режиме с целью обеспечения возможности дополнения заказов в очередь на управление QC одним или более источниками. Рассматриваемые процессы начинаются с ожидания, что может показаться малоэффективным, но в действительности это не так. Процессы протекают циклически, поэтому после начального ожидания процессы продолжаются, как если бы период ожидания находился в конце цикла. В большинстве случаев, когда система начинает функционировать, заказы отсутствуют, поэтому если процесс обработки начинается не с режима ожидания, он переходит в режим ожидания автоматически. Таким образом, старт процесса с режима ожидания обычно оказывается более эффективным. Другие примеры реализации могут иметь отличия. На этапе 104 БУ очередями определяет, является ли очередь на управление незанятой. Если очередь незанята, то БУ очередями QM возвращается в режим ожидания на этапе 100. Если очередь на управление QC не является незанятой и содержит заказы, БУ очередями переходит к этапу 107 и считывает заказ первого типа. На этапе 110 БУ очередями определяет, соответствует ли тип первого заказа типу заказа какой-либо из очередей на обработку. То есть БУ очередями определяет по содержащимся в нем данным, присвоена ли какая-либо из очередей на обработку типа заказа, обнаруженному на этапе 107. В некотором смысле БУ очередями QM определяет, содержит ли какая-либо из очередей на обработку QP1-QPn типы заказов, определенных на этапе 107.
Если определенный на этапе 107 тип заказа совпадает с очередью на обработку QP1-QPn, то БУ очередями QM переходит к этапу 114 и изымает крайний или первый заказ из очереди на управление и добавляет его к очереди на обработку QP1-QPn, назначенной тому же типу заказа. Если заказ первого типа, определяемый на этапе 107, не совпадает с типом заказа ни в одной из очередей на обработку при определении на этапе 110, то БУ очередями переходит к этапу 117 и запрашивает о наличии каких-либо доступных незанятых очередей на обработку, а именно очередей на обработку QP1-QPn. Если очередь на обработку QP1-QPn является доступной, то есть незанятой, БУ очередями QM на этапе 120 назначает доступную новую очередь на обработку данному типу заказа и изымает определенный на этапе 107 первый заказ и добавляет его в очередь на обработку. Затем БУ очередями возвращается к этапу 104 с целью формирования запроса, является ли очередь на управление QC незанятой.
Если очередь на обработку QP1-QPn не является незанятой, очереди на обработку могут эффективно переполняться. На этапе 124 БУ очередями QM определяет, обслуживают ли обслуживающие устройства SE заказы, по меньшей мере, одной очереди на обработку, или наоборот, переполняются ли до некоторой степени или блокируются все очереди на обработку. Если отсутствует общая блокировка обслуживания заказов, то есть успешно осуществляется обслуживание, по меньшей мере, одной очереди на обработку, то БУ очередями QM возвращает заказ для ожидания на этапе 100 и приостанавливает выполнение всего процесса с целью обеспечения времени для обслуживания и освобождения очереди на обработку.
Если обслуживающие устройства не обеспечивают эффективное обслуживание заказов ни в одной из очередей на обработку, то есть, если каким-либо образом блокируется или перегружается процесс обслуживания всех очередей на обработку, БУ очередями переходит к этапу 127. На данном этапе БУ очередями QM освобождает все очереди на обработку QP1-QPn посредством возвращения содержащихся в них заказов их источникам. На данной стадии указанные заказы больше не участвуют в процессе, хотя источники могут вернуть заказы в очередь на управление. Можно предпринять другие меры с целью устранения факторов, вызывающих перегрузку. После очищения БУ очередями QM очереди на обработку QP1-QPn, он может назначить указанную очередь на обработку для заказа крайнего типа и передать крайний заказ в очереди на управление QC незанятой очереди на обработку.
В соответствии с одним из вариантов осуществления изобретения БУ очередями QM освобождает на этапе 127 одну или больше очереди на обработку QP1-QPn. В соответствии с другим вариантом осуществления изобретения на этапе 127 БУ очередями осуществляет также анализ очереди на управление и возвращает заказы любых типов, которые были назначены одной из перегруженных очередей на обработку. В соответствии еще с одним вариантом осуществления изобретения на этапе 127 вместо возвращения заказов их источникам БУ очередями возвращает заказы в очередь на управление. Для реализации данного варианта должны удовлетворяться два условия. Во-первых, любые поступления в очередь на управление (то есть, еще не в очередь на обработку) в отношении типа заказа, назначенного очереди на обработку, должны оканчиваться после поступлений, возвращаемых в очередь на управление из очереди на обработку, с целью сохранения хронологического порядка для заказов этого типа. Во-вторых, во избежание бесконечности цикла, что является постоянной проблемой, каждый заказ, возвращаемый из очереди на обработку, должен иметь связанное с ним количество возвратов. Максимальное количество возвратов можно назначать, и если оно достигает указанного максимального значения, заказ возвращается его источнику, а не в очередь на управление.
На фиг. 3 показан вариант осуществления настоящего изобретения, отличающийся от варианта, показанного на фиг. 2. В этом случае, если ответ на этапе 124 отрицательный, то не все очереди на обработку перегружены и БУ очередями инициирует режим ожидания на этапе 130. Этот режим сопоставим с режимом ожидания на этапе 100. После этого БУ очередями возвращается непосредственно к этапу 117. Работа в соответствии с блок-схемой, изображенной на фиг. 3, более эффективна, чем возврат к этапу 100 на фиг. 1, если очереди на управление QC строго соответствуют очередям обратного магазинного типа. В этом случае ничто не может вытеснить крайний ввод, который может совпадать с типом заказа какой-либо очереди на обработку QP1-QPn. Следовательно, обработка всегда будет следовать через этапы 104, 107 и 110 к этапу 117. В показанном на фиг. 3 варианте БУ очередями QM переходит непосредственно к этапу 117. В соответствии с другим вариантом осуществления изобретения, источник заказа уведомляется обслуживающими устройствами SE, если не произошла обработка этого заказа.
В соответствии с еще одним вариантом осуществления изобретения БУ очередями QM вводит другие формы коррекции таких очередей, как очереди на управление QC или QP1-QPn, отличающиеся от хронологической. В одном из вариантов осуществления упорядочение (коррекция) осуществляется на базе приоритетности. В другом варианте используют сочетание приоритетности и хронологии. В качестве приоритетности можно использовать любое скалярное поле. То есть БУ очередями QM создает последовательные либо увеличения, либо уменьшения при оценке в данном скалярном поле.
В общем случае очередь на обработку QP1-QPn может содержать много заказов с большим количеством различных приоритетов в данный момент. Одна и та же ситуация может преобладать в очереди на управляющие QC, поскольку все заказы всех очередей на обработку проходят вначале через очередь на управление. В соответствии с одним из вариантов осуществления в БУ очередями QM используется неупорядоченный массив или цепной список. В соответствии с другим аспектом в нем используется очередь обратного магазинного типа с вспомогательным изменяемым сообщением о наивысшем в данный момент значении приоритета в очереди. В этих вариантах осуществления используется компромисс между временем вхождения в режим и эффективностью обнаружения следующего заказа в процессе.
Обслуживающие устройства SE обслуживают очереди на обработку QP1-QPn, как показано на блок-схеме фиг. 4 и 5.
Фиг. 4 иллюстрирует инициацию обработки, а фиг. 5 иллюстрирует реальную обработку. Инициация обработки и обработка происходят отдельно, так что обслуживающие устройства SE могут одновременно обрабатывать большое количество очередей. Этапы включают этап проверки "начала обработки", для исключения возможности одновременной обработки большого количества очередей.
Независимо от синхронизации работу БУ очередями QM обслуживающие устройства SE инициируют проверку очередей на обработку QP1-QPn в заранее установленной последовательности, вначале посредством ожидания на 200. Работа системы начинается с ждущего режима и производится циклически, так что после начального ожидания функционирования системы осуществляется, как если бы период ожидания находился в конце цикла. В большинстве случаев, когда система начинает функционировать, заказы отсутствуют, поэтому если работа системы начинается не с ждущего режима, она автоматически входит в ждущий режим. Таким образом, более эффективным обычно является начало работы с ждущего режима. Другие варианты реализации могут иметь отличия. На этапе 204 обслуживающие устройства SE проверяют следующую очередь на готовность заказов к обработке, а на этапе 207 запрашивают, имеет ли очередь на обработку какие-либо заказы. Если ответ отрицательный, то обслуживающие устройства SE переходят к этапу 210 и изымают любую информацию об очереди, относящуюся к предыдущим заказам в этой очереди, и освобождают очередь. Затем на этапе 214 обслуживающие устройства подготавливаются для проверки следующей очереди и возвращаются к этапу 200.
Если на этапе 207 получен позитивный ответ, что свидетельствует о том, что исследуемая очередь на обработку содержит заказы, обслуживающие устройства переходят к этапу 220 с целью определения, запущена ли уже очередь на обработку и принимает ли обслуживание. В случае позитивного ответа обслуживающие устройства переходят к этапу 214 с целью выставления на проверку следующей очереди. При негативном ответе обслуживающие устройства переходят к этапу 224, чтобы отметить очередь, предназначенную для обработки, и инициировать обслуживание заказов в очереди на обработку. Затем на этапе 227 обслуживающие устройства SE определяют эффективность начавшегося обслуживания. В случае негативного ответа обслуживающие устройства SE вновь переходят к этапу 200. В случае позитивного ответа обслуживающие устройства регистрируют момент завершения обработки очереди на этапе 234 и переходят к этапу 214, перед возвратом к этапу 200.
На фиг. 5 представлены этапы обработки после инициирования. В этом случае после завершения ждущего режима на этапе 260 обслуживающие устройства выполняют процесс на этапе 264. На этапе 267 осуществляется запрос относительно эффективности процесса запуска. При получении позитивного ответа обслуживающие устройства изымают заказы из очереди на этапе 270. На этапе 274 обслуживающие устройства определяют наличие дополнительных заказов в обрабатываемой очереди. В случае негативного ответа обслуживающие устройства переходят к этапу 287, маркируя необрабатываемые очереди, и обработка в указанной очереди заканчивается. В случае получения позитивного ответа обслуживающие устройства определяют на этапе 277, обработано ли максимальное количество заказов. Некоторые обслуживающие устройства управляют заказами в пакетах, которые могут или не могут иметь максимальный размер. Если обслуживающее устройство управляет заказами в пакетах и управляет максимальным количеством заказов в пакете, то оно приостанавливает обработку до его следующего прохождения. Если на этапе 277 ответ позитивный, то это означает, что обслуживающие устройства обработали максимальное количество заказов. Если ответ негативный, то обслуживающие устройства SE получают следующий заказ на этапе 280 и возвращаются к этапу 264. Если на этапе 267 ответ негативный, то обслуживающие устройства переходят к этапу 284 с целью обработки ошибок. В соответствии с одним вариантом осуществления изобретения обработка ошибок включает в себя отметку очереди на обработку для "повторения" и определение времени повторения. Контроллер обработки очередей при инициировании обработки (фиг. 4) пропускает проверку очередей, отмеченных для повторения, до установленного времени повторения. В соответствии с вариантом осуществления изобретения обслуживающие устройства обходятся без обработки ошибок.
Изображенная на фиг. 6 структурная схема иллюстрирует вариант осуществления изобретения в случае телефонной системы. Здесь показанные на фиг. 2 заказы CL1-CLm представляют сообщения речевой почты, типа которых изменяются при изменении их адресатов. В показанной на фиг. 6 телефонной системе автоматическая телефонная станция BE1 в местоположении пользователя L1 соединяет номер телефонного аппарата T1, T2,..., Tk с телефонной сетью частного или общего пользования TN и с соответственной системой речевой почты VM1. Телефонная сеть TN соединяет автоматическую телефонную станцию BE1 с рядом других автоматических телефонных станций BE2,..., BEq, которые находятся в позициях LC1-LCh возможно удаленных от позиции L1. Каждая из автоматических телефонных станций BE2-BEq соединяет ряд телефонных аппаратов TL с телефонной сетью TN и с соответственными связанными системами речевой почты VM2-VMq. Каждая система речевой почты VM1-VMq представляет собой известный тип и записывает сообщения, поступающие на связанную с ней автоматическую телефонную станцию BE1-BEq от любого из телефонных аппаратов T1-Tk и TL.
Показанные на фиг. 6 местоположения LC1-LCh могут находиться на значительных расстояниях. Позиции L1, занимаемые автоматической телефонной станции BE1 и системой речевой почты VM1, могут находиться, например, в г. Санта-Клара, штат Калифорния, в то время как другие позиции могут находиться, например, в г. Нью-Йорке, штат Нью-Йорк, г. Бостоне, штат Массачусетс и в г. Ноттингеме в Англии и так далее.
Система речевой почты VM1 включает в себя систему управления очередью QMT, подробная структурная схема которой показана на фиг. 7. Система речевой почты VM1 принимает и запоминает все сообщения, поступающие от автоматической телефонной станции BE1, либо от телефонных аппаратов T1-Tk, находящихся в локальном местоположении L1, или от телефонных аппаратов TL, находящихся в удаленных местах LC1-LCh. Они включают в себя сообщения для выборки телефонными аппаратами T1-Tk и сообщения для передачи на удаленные телефонные аппараты TL. Каждое сообщение несет в себе код конкретного адресата или конкретного количества адресатов. Обычно адресат представляет другую систему речевой почты, например любую из систем VM2-VMq. Система управления очередью QMT достигает своей наибольшей эффективности, когда она набирает ряд сообщений для передачи в пакете адресату, например системе речевой почты. Кодирование каждого сообщения включает в себя номер целевой системы речевой почты и номер почтового ящика соответствующего адресата в целевой системе речевой почты. Количество адресатов может составлять, например, 1000.
В системе речевой почты VM1 селектор (не показанный) выделяет записанные сообщения для передачи на удаленные телефонные аппараты TL, то есть в местоположения LC1-LCh вне автоматической телефонной станции BE1 речевой почты VM1, из записанных сообщений, предназначенных для местных телефонных аппаратов T1-Tk. Система речевой почты VM1 позволяет каждому местному телефонному аппарату T1-Tk осуществлять выборку целевых сообщений для данных местных телефонных аппаратов. Показанная на фиг. 7 система управления очередью QMT принимает в виде заказов только сообщения ME1-MEm, закодированные для передачи адресатам DE1-DEt на удаленных телефонных аппаратах TL и позициях LC1-LCh вне автоматической телефонной станции BE1.
На фиг. 7 показаны элементы системы управления очередями QMT. Эти элементы составляют показанную на фиг. 1 систему QMS в контексте телефонной системы, и, в частности, показанной на фиг. 6 системы речевых сообщений. Фиг. 7 идентична фиг. 1, за исключение того, что заказы CL1-CLm принимают специальную форму сообщений ME1-MEm, типы TC1-TCt принимают специальную форму адресатов DE1-DEt, а обслуживающие устройства SE принимают специальную форму контроллера (управляющего устройства) обработки очередей PC, который набирает номер отдаленного адресата и передает сообщения. Аналогичные ссылочные позиции на фиг. 1 и 7 представляют аналогичные элементы.
На фиг. 7 очередь на управление QC принимает сообщения ME1-MEm для всех адресатов DE1-DEt и удерживает их в той же последовательности, в которой они поступают. Блок управления очередями QM изымает сообщения из очереди на управление QC в том же самом порядке. Отсюда очередь на управление QC представляет собой очередь обратного магазинного типа (F1FO). Однако, это является только примером, и очередь на управление может располагать сообщения по желанию в другой последовательности.
Согласно фиг. 7 блок управления очередями QM располагает каждое крайнее сообщение очереди на управление QC в очередь на обработку QP1-QPn, связанную с одним из адресатов. Блок управления очередями QM устанавливает связь с адресатом на основе адресата первого сообщения, которое блок управления очередями QM располагает в незамкнутую очередь на обработку. Это происходит следующим образом.
Предположим, что все очереди на обработку QP1-QPn незаняты, и первое или крайнее сообщение в очереди на управление QC имеет адрес DE1O, блок управления очередями QM располагает сообщение в очередь на обработку QP1. На этом этапе осуществляется временное назначение на обработку QM1 адресату DE10. После этого блок управления очередями QM размещает в очередь на обработку QP1 только сообщения адресатам DE10, пока контроллер обработки очередей PC не освободит очередь на обработку QP1. Если следующее крайнее сообщение в очереди на управление QC предназначено адресату DE143, БУ очередями QM размещает сообщение адресату DE143 в очередь на обработку QP2, и из нее предписывает или назначает очередь на обработку QP2 адресату DE143.
Если следующее крайнее сообщение в очереди на управление QC предназначено адресу DE10, БУ очередями располагает данное сообщение после другого сообщения адресату DE10 в очередь на обработку QP1, а не в одну из незанятых очередей на обработку. После этого БУ очередями QM сохраняет размещение крайнего сообщения, имеющего конкретного адресата, в очереди на обработку, которую администратор очередей QM назначил для данного адресата. В случае отсутствия подобной предписанной очереди на обработку БУ очередями располагает следующий верхний заказ в незанятую очередь на обработку. Каждый раз, когда незанятая очередь на обработку принимает сообщение конкретного адресата, БУ очередями выделяют данную очередь на обработку данному адресату.
Контроллер обработки очередей PC циклически проходит через очереди на обработку, в моменты времени не зависящие от действия БУ очередями QM. В каждой очереди на обработку контроллер обработки очередей PC набирает номер абонента предписанной очереди на обработку. При завершении вызова контроллер обработки очередей PC передает пакет сообщений в процессоре очередей через автоматическую телефонную станцию. Максимальное количество сообщений в пакете зависит от качества сообщений, которые система может передать в любой момент, которое, в свою очередь, зависит от протокола, управляющего передачей сообщений.
Если количество сообщений в очереди на обработку меньше максимального в пакете, то такой режим работы освобождает очередь на обработку. Это позволяет БУ очередями QM освободить очередь на обработку и переназначить ее адресату сообщения крайней очереди на управление QC. Однако, если количество сообщений в очереди на обработку превышает максимальное количество в пакете, то эта процедура приостанавливает действие до следующего цикла контроллера обработки очередей PC. Приостанавливание позволяет перейти к проверке, успешно ли прошла посылка сообщения в следующей очереди.
Если БУ очередями назначил все очереди на обработку и следующее сообщение в очереди на управление предназначено адресату, которому не была назначена очередь на обработку, БУ очередями останавливает распределение сообщений из очереди на управление QC и переходит в ждущий режим, ожидая команду от контроллера обработки очередей PC и автоматической телефонной станции BE1, для освобождения и передачи сообщений, находящихся в одной из очередей на обработку QP1-QPn.
Блок управления очередями QM и контроллер обработки PC сохраняют информацию об очередях для каждой очереди на обработку. Данная информация об очереди включает в себя текущий назначенный код адресата и может совершать другие сведения, такие как освобождается ли обрабатываемая в данный момент очередь на обработку, количество повторений, очередь на повторную обработку, время следующего повторения и так далее.
Изобретение базируется на понимании того, что хотя максимальное количество адресатов DЕ1-DEt может быть чрезвычайно большим, например 1000 или больше, в любой данный момент обычно имеется только ограниченное количество сообщений, действительно ожидающих обслуживания, и только ограниченное количество источников. Таким образом, посредством оценки, количества адресатов в указанном подмножестве сообщений действительно ожидающих передачу, можно назначить достаточное количество очередей на обработку QP1-QPn, например пятьдесят, для их поддержания.
Блок управления очередями не присваивает перманентно никакой очереди на обработку фиксированному адресату, а только назначает очереди на обработку одному адресату до тех пор, пока очередь на обработку не освободится. Затем БУ очередями переназначает незанятую очередь. Очередь на обработку QP1-QPn используется в том случае, когда БУ очередями QM назначает ее адресату. В противном случае очередь на обработку освобождается и становится доступной. Очередь на обработку оказывается доступной для назначения и предназначения только в том случае, когда в указанной очереди на обработку отсутствует сообщение.
На фиг. 8 представлена блок-схема, иллюстрирующая работу показанной на фиг. 6 и 7 системы управления очередями QMT. Работа ее аналогична работе показанной на фиг. 2 системы, но в условиях телефонных и речевых сообщений. На этапе 300 БУ очередями QM находится в ждущем режиме с целью обеспечения возможности добавления сообщений в очередь на управление QC. Процессы начинаются с ждущего режима и происходят циклически, поэтому после начального ожидания процессы происходят, как если бы период ожидания находился в конце цикла. В большинстве случаев при запуске системы заказы отсутствуют, поэтому если процесс начинается не с режима ожидания, он автоматически переходит в указанный режим. Таким образом, начало работы в ждущем режиме обычно более эффективно. Другие варианты реализации могут отличаться. На этапе 304 БУ очередями определяет, является ли очередь на управление QC незанятой. Если да, то БУ очередями QM возвращается к этапу 300. Если очередь на управление QC не является незанятой, а содержит сообщения, БУ очередями QM переходит к этапу 307 и считывает код адресата первого сообщения. На этапе 310 БУ очередями определяет, совпадает ли код первого адресата с кодом адресата какой-либо очереди на обработку QP1-QPn. То есть, БУ очередями QM проверяют данные, которые он удерживает, относящиеся к очередям на обработку, с целью определения, назначена ли какая-либо из очередей на обработку обнаруженному на этапе 307 адресату. В некотором смысле БУ очередями QM выясняет, содержит ли какая-либо из очередь на обработку QP1-QPn сообщения для обнаруженного на этапе 307 адресата.
Если адресат на этапе 307 совпадает с очередью на обработку QP1-QPn, то БУ очередями QM переходит к этапу 314 и передает крайнее или первое сообщение в очередь на обработку QP1-QPn, назначенную тому же адресату. Если адресат первого сообщения на этапе 307 не совпадает с адресатом в какой-либо из очередей на обработку на этапе 310, БУ очередями переходит к этапу 317 и запрашивает, имеются ли какие-либо свободные очереди на обработку QP1-GPn. Если очередь на обработку QP1-QPn не занята, БУ очередями QM на этапе 320 назначает незанятую новую очередь на обработку адресата этого сообщения и передает крайнее сообщение, полученное на этапе 307, а указанную очередь на обработку. Затем он возвращается к этапу 304 с целью выполнения запроса, является ли очередь на управление QC незанятой.
Отсутствие парных или незанятых очередей на обработку QP1-QPn может вызвать перегрузку очередей на обработку. На этапе 324 БУ очередями выясняет на основании проверки результатов контроллера обработки очередей PC, имеется ли какая-либо перегрузка или блокирование передачи сообщений из всех очередей на обработку. Если полная блокировка передачи отсутствует, то есть выдача, по меньшей мере, из одной очереди на обработку проходит успешно, БУ очередями QM составляет сообщение в очереди на управление в режиме ожидания на этапе 300 и приостанавливает исполнение всего процесса с целью обеспечения времени для освобождения очереди на обработку. Если происходит какая-либо блокировка передачи сообщений из всех очередей на обработку, БУ очередями QM переходит к этапу 327, освобождая одну и более очередей на обработку QP1-QPn посредством выведения сообщений из очереди и возвращения их источнику. Для устранения факторов, вызывающих перегрузку, можно использовать другие операции.
В результате описанного процесса освобождения сообщения возвращаются к их источникам. После того, как БУ очередями освободит очередь на обработку QP1-QPn, он может передать крайнее сообщение из очереди на управление в освобождающуюся очередь на обработку и назначить, таким образом, указанную очередь на обработку адресату этого сообщения. В соответствии с другим вариантом осуществления изобретения БУ очередями QM освобождает все очереди на обработку QP1-QCPn.
Согласно фиг. 8 блок управления очередями QM может также вводить другой вид упорядочения в очередях на управление QC или QPn, отличный от хронологического. В качестве приоритетности можно использовать любое скалярное поле. То есть блок управления очередями QM создает либо растущий, либо уменьшающийся ряд значений в указанном скалярном поле.
В общем случае очередь на обработку QP1-QPn может содержать много сообщений с большим количеством различных приоритетов в данный момент времени. Такая же ситуация может преобладать в очереди на управление QC, поскольку все сообщения всех очередей на обработку проходит первоначально через очередь на управление.
Контроллер обработки очередей PC ориентирует автоматическую телефонную станцию BE1 на передачу сообщений из очередей на обработку QP1-QPn их соответственным адресатам, как показано на блок-схемах фиг. 9 и 10. На фиг. 9 и 10, как и на фиг. 4 и 5, контроллер обработки очередей РС делит обработку сообщений на две отдельных задачи, чтобы обеспечить возможность одновременного использования большого количества очередей. На фиг. 9 показан способ инициирования передачи, а на фиг. 10 - способ передачи полученных в соответствии с фиг. 9 сообщений.
Этапы, иллюстрируемые на фиг. 9, не зависят от синхронизации работу БУ очередями QM. В данном случае контроллер обработки очередей РС инициирует проверку очередей на обработку QP1-QPn и заранее установленной последовательности по одной одновременно, и между проверками очередей находится в ждущем режиме, как показано на этапе 400. Процессы начинаются с ждущего режима и происходят циклически так, что после инициирования режима ожидания процессы следуют, как если бы период ожидания находился в конце цикла. В большинстве случаев при запуске системы заказы отсутствуют, поэтому если процесс начинается не с ждущего режима, он переходит автоматически в ждущий режим. Таким образом, начало работы системы с ждущего режима обычно оказывается более эффективным. Другие виды реализации могут иметь отличия. На этапе 404 контроллер обработки очередей РС проверяет следующую очередь на готовность сообщений для передачи, а на этапе 407 опрашивает, имеет ли очередь на обработку какие-либо сообщения. Если ответ отрицательный, то контроллер обработки очередей PC переходит к этапу 410 и удаляет любую информацию об очереди, касающуюся прежних сообщений в этой очереди и освобождает очередь. Затем контроллер обработки очереди РС устанавливается в режим проверки следующей очереди на этапе 414 и возвращается к этапу 400.
Если ответ на этапе 407 позитивный, то в рассматриваемой очереди на обработку имеются сообщения и контроллер обработки очередей РС переходит к этапу 420 с целью определения, приступила ли автоматическая телефонная станция BEI к передаче сообщения из указанной очереди обработки. Если да, то контроллер обработки очередей РС переходит к этапу 414 с целью установления на проверку следующей очереди. В варианте осуществления, в котором используется повтор для обработки ошибок, на этапе 414 оказывается пропущенной какая-либо очередь при повороте, время повтора которой не достигнуто. Если нет, то процессор обработки очередей РС переходит к этапу 424 с целью инициирования обработки посредством маркировки очереди в качестве объекта передачи и направления запроса к автоматической телефонной станции BEI получить канал для выдачи сообщения. На этапе 427 контроллер обработки очереди РС определяет, представлен ли канал. Если нет, то процессор обработки очередей РС возвращается к этапу 400. В случае позитивного результата контроллер обработки очередей РС маркирует очередь для обработки на этапе 434 и возвращается к этапу 414, а затем к этапу 400.
На фиг. 10 показаны этапы обработки. Здесь после идущего режима на этапе 460 контроллер обработки РС на этапе 464 предписывает автоматической телефонной станции BEI набрать номер адресата сообщений в очереди на обработку и передать первое сообщение очереди на обработку по каналу, который он сделал доступным. Процессы берут начало с ждущего режима и повторяются циклически, поэтому после инициирования режима ожидания процессы продолжаются, как если бы период ожидания находился в конце цикла. В большинстве случаев при запуске системы заказы отсутствуют, поэтому если процесс начинается не с ждущего режима, он автоматически в него переходит. Таким образом, начало процесса с ожидания обычно оказывается более эффективным. Другие варианты реализации могут иметь отличия. На этапе 467 контроллер обработки РС опрашивает, успешна ли была произведена передача. Если да, то на этапе 470 контроллер обработки очередей РС изымает сообщение из очереди. На этапе 474 контроллер обработки РС проверяет с целью определения, имеются ли в очереди на обработку какие-либо дополнительные сообщения. Если имеются, то на этапе 477 контроллер обработки очередей запрашивает, передала ли автоматическая телефонная станция BEI максимальное количество сообщений передачи. Если нет, то на этапе 480 контроллер обработки очередей РС получает следующее сообщение и вновь запускает процесс на этапе 464.
Этап 484 является факультативным и может быть исключен. Этап 484 вводят в действие, если на этапе 467 автоматическая телефонная станция BEI не завершает вызов, то есть процесс прошел безрезультатно. Контроллер обработки очередей РС корректирует информацию об очереди для прояснения ситуации.
Если выдача сообщений на этапе 467 оказалось не состоялась, то на этапе 484 несколько других вариантов осуществления изобретения выполняют обработку ошибок. Согласно одному из вариантов осуществления изобретения контроллер обработки очередей изымает сообщение из очереди, возвращает его источнику и заканчивает обслуживание очереди на обработку до следующего рабочего цикла контроллера обработки. Согласно другому варианту осуществления контроллер обработки очередей изымает все сообщения из очереди и возвращает их источникам.
Согласно еще одному варианту осуществления контроллер обработки очередей оставляет сообщение в очереди, но устанавливает время для новой попытки. Следующая попытка выдачи сообщения из данной очереди будет считаться повтором. Контроллер обработки очередей РС отслеживает количество повторений. БУ очередями регистрирует повторение очереди и проводит контроль с целью получения гарантии, что не все очереди повторяются, при проверке перегрузки очереди на этапе 324 фиг. 8.
Если сообщение все еще не прошло после осуществления повторений, контроллер обработки очередей РС возвращает это сообщение (и, возможно, все другие для этого адресата) к его источнику.
При повторении циклов прохождения очередей с целью запуска процесса контроллер обработки очередей пропускает очереди, отмеченные для повторения, до времени обработки.
Далее после завершения обработки ошибок на этапе 484 контроллер обработки очередей РС переходит к этапу 487 с целью маркировки необрабатываемой очереди и заканчивает обработку данной очереди. В дальнейшем контроллер ожидает инициирование обработки следующей очереди посредством этапов, показанных на фиг. 9.
Если на этапе 474 контроллер обработки очередей РС определяет, что в очереди больше нет сообщений, или на этапе 477 определяет, что автоматическая телефонная станция BEI обработала максимальное количество сообщений, контроллер переходит к этапу 487.
Если вызов проходит успешно, то контроллер обработки очередей РС отправляет пакет заранее установленного максимального количества сообщений и заканчивает передачу. Заранее определенное количество в пакете не может позволить осуществлять передачу всех сообщений в очереди на обработку. Однако контроллер обработки очередей РС может осуществлять передачи еще во время своего следующего цикла проверки очередей на обработку.
Показанный на фиг. 11 процессор представляет упрощенный вариант показанного на фиг. 9 и 10 процессора. В этом варианте осуществления обработка очереди должна завершаться до начала обработки следующей очереди. И в данном случае вновь показанные на фиг. 11 этапы не зависят от синхронизации работы администратора очередей QM. В данном варианте контроллер обработки очередей РС начинает проверку очередей на обработку QPI-QPn в заранее определенной последовательности по одной одновременно и в промежутках между проверками очередей находится в идущем режиме, как показано на этапе 500. Процессы начинаются с режима ожидания и выполняются циклически, поэтому после инициирования режима ожидания процессы проходят так, как если бы ожидание находилось в конце цикла. В большинстве случаев при запуске системы заказы отсутствуют, поэтому если обработка начинается не с режима ожидания, она переходит автоматически в этот режим. Таким образом, начало процессов с ждущего режима оказывается более эффективным. Другие виды реализации могут иметь отличия. На этапе 504 контроллер обработки очередей РС проверяет следующую очередь на готовность сообщений к передачи, а на этапе 507 запрашивает, имеет ли какие-либо сообщения очередь на обработку. Если нет, то контроллер обработки очередей РС переходит к этапу 510 и изымает любую информацию об очереди, связанную с предыдущими сообщениями в этой очереди, и освобождает очередь. Затем контроллер обработки очередей РС устанавливается для проверки следующей очереди на этапе 514 и возвращается к этапу 500.
Если ответ на этапе 507 позитивный, то в очереди на обработку имеются сообщения и контроллер обработки очередей РС предписывает автоматический телефонной станции BEI набрать номер адресата сообщений в очереди на обработку и передать первое сообщение очереди на обработку по каналу, который он сделал доступным. На этапе 567 контроллер обработки РС запрашивает, успешно ли прошла передача. Если да, то на этапе 570 контроллер обработки очередей РС изымает сообщение из очереди. На этапе 574 контроллер обработки РС проверяет, имеются ли в очереди на обработку какие-либо дополнительные сообщения. Если да, то на этапе 577 контроллер обработки очередей РС запрашивает, передала ли автоматическая телефонная станция BEI максимальное количество сообщений при каждой передаче. Если нет, то на этапе 580 контроллер обработки очередей РС получает следующее сообщение и вновь запускает процесс на этапе 520.
Если на этапе 574 установлено, что сообщений в очереди больше нет, или этап 577 показывает, что автоматическая телефонная станция BEI обработала максимальное количество сообщений, контроллер РС переходит к этапу 514.
Этап 584 является необязательным и его можно исключить. Если на этапе 567 автоматическая телефонная станция BEI не завершила вызов, то есть обработка не дала позитивного результата, то на этапе 584 собирают информацию об очереди с целью отражения ситуации. На этапе 584 производится повторная попытка подачи сообщения. Если сообщение еще не прошло после осуществления повтора, контроллер обработки очередей РС возвращает это сообщение и, возможно, все прочие адресату.
При прохождении вызова контроллер обработки очередей РС выдает пакет из заранее определенного максимального количества сообщений и заканчивает выдачу. Заранее установленное количество в пакете не позволит выдать все сообщения в очереди на обработку. Однако контроллер обработки очередей РС может выдать дополнительное количество сообщений во время своего следующего цикла проверки очередей на обработку.
Заявленная система обеспечивает эффективное обслуживание, даже при значительном количестве адресатов, например, равным одной тысяче. Изобретение базируется на концепции, что в произвольный момент времени обычно имеется лишь ограниченное количество адресатов, реально ожидающих обслуживания. Таким образом, лишь незначительное количество очередей на обработку QP1-QPn, например 50, может обслуживать большее количество адресатов. Если количество очередей на обработку недостаточно, то в качестве обычной очереди служит очередь на управление.
Изобретение обеспечивает преимущество предотвращения монополизирования очередей на обработку сообщений для самых занятых адресатов. Это происходит потому, что каждое сообщение должно ожидать свой цикл в очереди на управление QC.
В соответствии с изобретением блок управления очередями осуществляет не постоянное предписывание очередей на обработку QP1-QPn постоянным адресатам, а предписывает их временно конкретному адресату. Используется одна из очередей на обработку QP1-QPn при предписании одному адресату. После освобождения очередь на обработку становится доступной для назначения другому адресату. Кроме того, БУ очередями может добавить сообщения в очередь на обработку во время осуществления обработки.
В соответствии с другой особенностью изобретения контроллер обработки РС принимает другую информацию с целью определения момента запуска очереди на обработку. Например, время выдачи и счет выдач определяют, когда и если процесс выдачи должен осуществлять попытку послать сообщение адресату, то сколько сделано попыток, и если другое повторение задерживается.
В соответствии с другим вариантом осуществления изобретения в очереди на управление QC используются методы расположения очередей в определенном порядке, отличающиеся от хронологического порядка. В одном примере управление QC размещает сообщения на основе приоритетности или комбинации приоритетности и очереди на основе обратного магазинного типа. В очереди на управление QC можно в качестве приоритетности использовать любое скалярное поле и обрабатывать сообщения в порядке увеличивающего значения в этом поле. В соответствии еще с одним вариантом осуществления изобретения очередь на управления QC организует в данный момент большое количество размещенных приоритетов с одной из очередей на обработку QP1-QPn. В целях повышения эффективности очередь обратного магазинного типа может заменить неупорядоченный массив или связной список. В другой схеме можно использовать очередь обратного магазинного типа с вспомогательным переменным определением имеющегося в данный момент в очереди наивысшего значения приоритета. Это приводит к компромиссу между временем установки и эффективностью обнаружения следующего сообщения для обработки. В соответствии еще с одним вариантом осуществления изобретения БУ очередями на управление QM использует различные очереди на обработку для заказов одного и того же типа, но различных приоритетов.
В соответствии с вариантом осуществления изобретения БУ очередями QM управляет переполнением в очередях на обработку QP1-QPn следующим образом. БУ очередями QM приостанавливает всякое перемещение сообщений из очереди на управление QC, пока, по меньшей мере, одна из очередей на обработку QP1-QPn не станет доступной. В качестве альтернативы БУ очередями GM освобождает какую-либо из очередей на обработку QP1-QPn, в которой на основании информации об очереди, связанной с каждой очередью на обработку, имеется проблема в отношении обработки. Это делает некоторые из очередей на обработку QP1-QPn доступными во время перемещения и ускоряет общую обработку.
Еще один способ обработки переполнения включает в себя процесс ожидания, пока все очереди на обработку QP1-QPn не будут иметь проблемы обработки и освобождает все очереди на обработку QP1-GPn одновременно. Это делает доступными все очереди на обработку QP1-QPn.
В случае телефонных или речевых сообщений изобретение назначает сообщения только тем очередям на обработку, которые свободны от сообщений, предназначенных для других адресатов. Таким образом, сообщения для одного и того же адресата поступают в одну и ту же очередь на обработку, даже при наличии практически неограниченного количества адресатов и только ограниченного количества очередей. Источники вначале передают сообщения в очередь на управление QC, а БУ очередями QM перемещает их в одну из очередей на обработку для дальнейшей обработки. Таким путем производится разделение информирования очередей на обработку QP1-QPn в отношении БУ очередями QM и контроллера обработки PC. Внешние процессы, посылающие сообщения в очередь на управление, информированы только об очереди на управление QC.
Изобретение позволяет осуществлять одновременную обработку сообщений различным адресатам и сохранять хронологический порядок для сообщений одному и тому же адресату. В изобретении осуществляется динамическое использование очереди, предназначенной для удержания сообщений одного и того же типа, например адресата. Одна из очередей на обработку QP1-QPn может удерживать сообщения для одного адресата в одно время и сообщения для другого адресата в другое время. БУ очередями QM информирован о том, что очередь на обработку либо используется в состоянии повтора, либо является незанятой.
Изобретение позволяет осуществлять упорядочение сообщений по приоритетности в дополнение к упорядочению по хронологии или вместо него. В изобретении используется ограниченное количество очередей для обеспечения возможности одновременного обслуживания больших количеств адресатов. Фактически отсутствует ограничение по различным адресатам. Сообщения для одного и того же адресата ожидают в одной и той же очереди на обработку. Сообщения в одной и той же очереди на обработку обычно располагаются в хронологическом порядке, если не требуется альтернативный подход. Одновременная обработка различных сообщений оказывается легкодоступной. Система динамическим образом размещает очереди на обработку QP1-QPn для каждого адресата и освобождает их от такого адресата. Для облегчения обработки изобретение связывает общие атрибуты, относящиеся к обработке данного сообщения, с соответствующей очередью.
Обработка большого количества сообщений для одного и того же адресата становится более эффективной в случае системы с одной очередью, а также в случае описанных систем с большим количеством очередей. Изобретение допускает большую гибкость в обработке.
Если выдача сообщения имела негативный результат, несколько других вариантов осуществления изобретения позволяют выполнить обработку ошибок. При одном варианте осуществления контроллер обработки очередей или администратор очередей изымает сообщение из очереди, возвращает его источнику и заканчивает обслуживание обработки до следующего цикла контроллера обработки. Согласно другому варианту осуществления котроллер обработки очередной или БУ очередями изымает все сообщения. Согласно еще одному варианту осуществления контроллер обработки очередей или БУ очередями оставляет сообщение в очереди, но устанавливает время для новой попытки. При циклическом прохождении по очередям с целью запуска обработки контроллер обработки очередями пропускает очередь до времени для обработки.
Хотя варианты осуществления изобретения подробно описаны, специалистам в данном области техники представляется очевидным, что изобретение можно воплотить другим способом, не выходя при этом за рамки его сущности и объема. Например, хотя блок управления очередями описан в свете системы сообщения речевой почты, представляется очевидным, что описанные выше способ и устройство применимы также ко всем другим типам систем передачи сообщений с промежуточным хранением. Например, варианты осуществления настоящего изобретения применимы также к системам передачи сообщений с промежуточным хранением, например, для факсимильных сообщений (FAX), сообщений электронной почты (E-почты), телевизионных сообщений, а также сообщений по большому количеству сред всех типов.
Надписи на чертежах:
Фиг. 1
CL1,....,CLM - заказы различных типов
QC - очередь на управление
QM - блок управления очередями
QP1-QPn - очереди на обработку
SE - обслуживающее устройство
Фиг. 2
100 Ожидание
101 Да
102 Нет
104 Определение, свободна ли очередь на управление
107 Считывание первого типа абонентского заказа
110 Определение, соответствует ли тип первого заказа типу абонентского заказа какой-либо очереди на обработку.
114 Добавление первого абонентского заказа в очередь на обработку.
117 Определение, имеется ли незанятая очередь на обработку.
120 Назначение имеющейся новой очереди на обработку и добавление первого абонентского заказа в очередь на обработку.
124 Определение, переполнены ли все очереди на обработку.
127 Очищение очереди (очередей) на обработку и добавление заказа в незанятую очередь.
Фиг. 3
100 Ожидание
101 Да
102 Нет
104 Определение, свободна ли очередь на управление.
107 Считывание первого типа заказа.
110 Определение, соответствует ли тип первого заказа типу заказа какой-либо очереди на обработку.
114 Добавление первого заказа в очередь на обработку.
117 Определение, имеется ли незанятая очередь на обработку.
120 Назначение имеющейся новой очереди на обработку и добавление первого заказа в очередь на обработку.
124 Определение, переполнены ли все очереди на обработку.
127. Очищение очереди (очередей) на обработку и добавление заказа в незанятую очередь.
130 Ожидание
Фиг. 4
200 Ожидание
201 Да
202 Нет
204 Проверка следующей очереди заказов, готовых для обработки.
207 Запрашивание, имеет ли очередь на обработку какие-либо заказы.
214 Установка на проверку следующей очереди.
224 Инициирование обслуживания заказов в очереди на обработку.
227 Определение, успешно ли началось обслуживание.
234. Маркировка очереди на обработку.
Фиг. 5
201 Да
202 Нет
260 Ожидание
264 Запуск обработки
267 Определение, успешно ли проведен процесс запуска.
270 Изъятие заказов на очереди.
274 Определение, имеются ли дополнительные заказы в обрабатываемой очереди.
277 Определение, обработано ли максимальное количество заказов.
280 Получение следующего заказа.
284 Обработка ошибок.
287 Маркировка не подлежащих обработке очередей и окончание обработки в этой очереди.
Фиг. 6
1 Отправитель сообщения (абонент).
2 Телефонный аппарат.
3 Автоматическая телефонная станция BEI
4 Система речевой почты VMI
5 Общественная или частная телефонная сеть TN.
6 Контроллер обработки очередной PC
7. Система управления очередями QMT
CL1, . . .,CLM = ME1,..., MEM - заказы различных типов соответствуют сообщениям, закодированным для различных адресатов.
QC - очередь на управление.
QM - устройство управления очередями.
QP1-QPn - очереди на обработку.
SE - контроллер обработки очередей.
Фиг. 8
300 Ожидание
301 Да.
302 Нет.
304 Идентификация незанятой очереди на управление QC.
307 Считывание кода адресата первого сообщения.
310 Определение, соответствует ли код первого адресата коду адресата какой-либо очереди на обработку.
314 Передача первого сообщения в очередь на обработку.
317 Запрос относительно наличия каких-либо очередей на обработку.
320 Назначение незанятой новой очереди на обработку адресату и добавление.
324 Определение, имеется ли блокировка передачи сообщений во всех очередях на обработку.
327 Очистка очереди на обработку и передача заказа в незанятую очередь на обработку.
Фиг. 9
400 Ждущий режим
401 Да
402 Нет
404 Проверка следующей очереди на готовность сообщений для передачи
407 Определение, имеет ли очередь на обработку какие-либо сообщения.
410 Очистка информации об очереди.
414 Установка на проверку следующей очереди.
420 Установление факта передачи сообщения автоматической телефонной станцией.
424 Инициирование обработки.
427 Определение факта установления канала связи.
434 Маркировка канала для обработки.
Фиг. 10
401 Да
402 Нет
460 Ожидание
464 Запуск процесса.
467 Определение, успешной ли была передача.
470 Изъятие сообщения из очереди.
474 Идентификация дополнительных сообщений в очереди на обработку.
477 Определение, передала ли автоматическая телефонная станция максимальное количество сообщений.
480 Прием следующего сообщения
484 Обработка ошибок.
487 Маркировка необрабатываемой очереди и завершение обработки этой очереди.
Фиг. 11
500 Ожидание
501 Да
502 Нет
504 Проверка следующей очереди на готовность заказов или сообщений к передаче.
507 Установление наличия каких-либо заказов или сообщений в обрабатываемой очереди.
510 Очистка информации об очереди и освобождение очереди.
514 Установка на проверку следующей очереди.
520 Обработка заказов или сообщений
567 Определение, успешно ли прошла передача.
570 Изъятие заказа или сообщения из очереди.
574 Выявление дополнительных заказов или сообщений в очереди на обработку.
577 Определение, обработано ли максимальное количество заказов или сообщений.
580 Получение следующего заказа или сообщения.
584 Обработка ошибок, повторение очереди на обработку.
В системе управления очередями, предназначенной для обслуживания ряда абонентов различных типов, очередь на управление организует очереди абонентских заказов в заранее установленном порядке. Устройство управления очередями распределяет и перераспределяет совокупность очередей на обработку, меньшую количества различных типов абонентских заказов, с целью их согласования. В дальнейшем устройство управления очередями размещает соответствующие абонентские заказы, находящиеся в очереди на управление, в очередь на обработку, совпадающую с типом абонентского заказа, при наличии совпадающей очереди на обработку, и назначает или переназначает незанятую или освободившуюся очередь на обработку при наличии незанятой очереди на обработку. Обслуживающее устройство освобождает очереди на обработку пакетами. В случае телефонной системы абонентские заказы представляют собой сообщения, а типы заказов представляют собой кодирование для различных адресатов. Устройство управления очередями назначает каждую из ряда очередей на обработку одному из адресатов в очереди на управление, выбирает верхнее сообщение из очереди на управление, размещает сообщения в очереди на обработку, совпадающей с кодом адресата сообщения, при наличии совпадения, и отводит незанятую очередь на обработку целевому адресату при отсутствии совпадающей очереди на обработку, но при наличии незанятой очереди на обработку. Технический результат заключается в усовершенствовании системы управления очередями. 4 с. и 3 з.п. ф-лы, 11 ил.
Устройство установления очередности подключения линий абонентов к рабочим местам | 1981 |
|
SU1137589A2 |
Статический определитель | 1989 |
|
SU1628228A1 |
Устройство для приоритетного распределения абонентов | 1982 |
|
SU1109941A1 |
Устройство для приоритетного распределения абонентов | 1985 |
|
SU1292204A1 |
US 5187740, A, 16.02.93 | |||
US 3549816, 22.12.70 | |||
US 5144653, A, 01.09.92 | |||
ПОВОРОТНОЕ УСТРОЙСТВО ДЛЯ ПЕРЕМЕЩЕНИЯ БУМАЖНЫХ ДЕНЕГ | 2015 |
|
RU2652976C1 |
DE 2855473, A1, 10.07.80. |
Авторы
Даты
1999-01-27—Публикация
1994-01-24—Подача