УСОВЕРШЕНСТВОВАННАЯ СИСТЕМА УПРАВЛЕНИЯ ЗАПАСАМИ И СПОСОБ ДЛЯ ЕЕ ОСУЩЕСТВЛЕНИЯ
IMPROVED RESERVE MANAGEMENT SYSTEM AND METHOD FOR IMPLEMENTATION THEREOF

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Это изобретение относится к системе управления запасами. Дополнительно, это изобретение также относится к системе управления запасами для использования продавцом и, в частности, к системе управления запасами для использования авиакомпанией.
УРОВЕНЬ ТЕХНИКИ
Для того чтобы управлять доступностью мест на запланированном рейсе между двумя аэропортами, авиакомпании используют систему управления запасами. Запас мест на рейсе делится по характеристикам требований пассажиров на различные рыночные сегменты в целях управления доходами (RM) для того, чтобы максимизировать потенциальный доход, образуемый полным количеством мест, доступных на этом рынке.
Авиакомпании обычно хранят свои запасы в компьютеризированной системе бронирования (CRS). CRS позволяет авиакомпаниям сохранять и извлекать информацию о запасах, а также выполнять транзакции по авиаперелетам. Существует множество известных CRS, предоставленных третьими сторонами, которые предоставляют услуги хостинга запасов для авиакомпаний. Некоторые авиакомпании, однако, предпочитают иметь свои собственные выделенные CRS, которые они используют, чтобы управлять своими запасами. Политики управления доходами (RM) для авиакомпании выполняются посредством механизма управления запасами в CRS. Механизм управления запасами обычно является неотъемлемой частью CRS.
Независимо от RM-практик, применяемых авиакомпанией, запасы авиакомпании должны быть распределены потенциальным путешественникам через канал распространения. Авиакомпании, которые не могут распределять свои запасы потенциальным путешественникам, не могут быть конкурентоспособными. Следовательно, авиакомпании используют один или более каналов распространения, чтобы доходить до потенциальных путешественников. Самыми распространенными каналами распространения являются:
a) Глобальная система распространения (GDS). Она предлагает возможность распространения туристического контента большому числу туристических агентств, которые участвуют в конкретной GDS. GDS маршрутизирует или отправляет транзакции от туристического агентства в конкретную CRS. Некоторые GDS, такие как Sabre, также включают в себя CRS, а также GDS. Однако они обычно управляются как два различных бизнес-процесса.
b) Веб-сайты авиакомпании. Они обеспечивают непосредственный доступ к запасам авиакомпании в обход GDS. Это предпочтительный способ для распространения содержимого запасов для авиакомпаний, поскольку он устраняет GDS-затраты;
с) Онлайновые туристические агентства (OTA). OTA консолидируют большой объем туристического контента и обычно являются партнерами с GDS. Они также имеют возможность обходить GDS, чтобы осуществлять доступ к CRS авиакомпании напрямую; и
d) Телефонные информационные центры авиакомпании. Они также являются другим предпочтительным способом распространения для авиакомпаний, поскольку он экономит авиакомпании значительные GDS-затраты.
Во всех случаях система управления запасами авиакомпании является только инструментальным средством, которое может определять фактическую доступность мест независимо от того, как запрос доступности сформирован, и канала, с помощью которого запрос доступности распространяется.
Каналы распространения запасов, такие как множество GDS, которые не включают в себя CRS, должны перенаправлять запрос доступности мест в систему управления запасами авиакомпании. Система управления запасами затем определяет, существуют ли какие-либо доступные места для предложения для всех классов тарифов, действительных на этом рынке. Этот тип запроса доступности обычно известен как прямое обращение.
Существует два различных типа бесперебойного доступа: прямой доступ и прямое соединение. Каждый тип бесперебойного доступа предоставляет авиакомпаниям различные службы с различной стоимостью. Однако обычным в бесперебойном доступе является перенаправление одной формы запроса доступности в CRS, где размещаются запасы. Выполнение бесперебойных запросов доступности из GDS в систему управления запасами имеет следующие проблемы.
Во-первых, существуют значительные затраты для авиакомпании на эти транзакции по доступности большого объема. Во-вторых, время ответа на транзакцию обычно получается достаточно продолжительным, поскольку он передается через различные системы и глобальную вычислительную сеть (WAN). В-третьих, бесперебойная доступность иногда не предлагается некоторыми каналами распространения. Наконец, бесперебойный доступ требует двухсторонних соглашений между авиакомпаниями и множеством GDS. В общих словах, бесперебойный доступ страдает от ограниченной доступности, высокой стоимости и медленных по времени ответов.
Одним известным решением этих проблем является использование сообщений состояния доступности (AVS) или численной доступности (AVN). AVS указывает открытое или закрытое состояние класса бронируемого места на отрезке или сегменте маршрута, в то время как AVN указывает число мест, все еще доступных для продажи по классу тарифа на отрезке или сегменте авиарейса. Системы управления запасами либо периодически, либо после каждой продажи и аннулирования создают новое AVS- или AVN-сообщение. Оно затем отправляется одному или более каналов распространения. Эти каналы решают вопрос доступности локально с помощью AVS- или AVN-сообщения без обращения к транзакциям бесперебойной доступности.
Таким образом, использование AVS- или AVN-сообщений уменьшает число бесперебойных транзакций, отправляемых от канала распространения в систему управления запасами. Оно также улучшает время ответа и уменьшает транзакционные издержки.
Однако одной проблемой с использованием AVS- или AVN-сообщений является то, что оно приводит в результате к сниженной точности доступности. В зависимости от стратегий управления запасами авиакомпаний существует множество факторов, которые могут вносить свой вклад в снижение точности доступности.
Дополнительная проблема возникает, когда возрастает активность онлайн-бронирования. Активность онлайн-бронирования увеличилась в последние годы отчасти благодаря использованию автоматизированных инструментов покупок клиентами. Поскольку активность онлайн-бронирования увеличивается, соотношение просмотров к бронированию (т.е. число сообщений-запросов доступности мест, принятых для каждой транзакции продажи) значительно увеличивается. Это соотношение равно приблизительно 200:1 в США и более чем 400:1 в Европе. Оно может быть 2000:1 и выше на Дальнем Востоке.
Для того чтобы обрабатывать большое число сообщений-запросов доступности, существуют различные решения, предложенные в индустрии в дополнение к AVS- или AVN-сообщениям. Ими являются:
Посредник: Этот способ оказался наиболее точным способом предоставления ответов по доступности за пределы реальной системы управления запасами. Однако он является довольно дорогостоящим для доставки и поддержки. Он должен обеспечивать одну авиакомпанию за раз, и он требует сотрудничества от авиакомпании, ее текущего поставщика решения по управлению запасами и ее поставщика системы управления доходами. Посредник реплицирует логику управления запасами за пределы системы управления запасами. На сегодня существует очень немного посредников в мире, и они доступны только для больших авиакомпаний, поскольку затраты по доставке являются чрезмерно высокими и не оправдывают вложение инвестиций для небольших авиакомпаний. Затраты на инвестиции обычно покрываются каналом распространения, который извлекает пользу из корректной доступности, однако объем инвестиций может не быть оправдан выгодами от образования посредника для более мелких авиакомпаний.
Кэш: Различные каналы распространения и большие туристические онлайн-агентства имеют развернутую локальную базу данных, где они хранят старые ответы по доступности из системы управления запасами. Они являются довольно высокопроизводительными и весьма популярными системами. Однако этот способ хранения старых ответов для будущего использования часто формирует некорректные ответы. Даже если он удовлетворяет массовую потребность, ему не удается предоставлять точные ответы по доступности. Точность кэш-решения зависит от логики управления запасами, используемой авиакомпаниями и множеством CRS. Точность кэша значительно уменьшается посредством логики управления запасами на основе точки продаж (POS), или расходы на развертывание и управление увеличиваются за счет управления запасами на основе "пункт отправления - пункт назначения" (OD), описанного выше.
Точка продажи: Управление на основе POS предоставляет различные ответы по доступности на основе многих параметров, таких как откуда приходит запрос, канал распространения, страна, туристическое агентство, клиентские профили, время запроса, число дней от вылета и т.д. Становится невозможным хранить ответ по доступности для всех комбинаций атрибутов, оказывающих влияние на решение по доступности, в источнике управления запасами. Кэш хранит информацию по доступности, предназначенную для конкретного туристического агентства, и потенциально использует ее для другого. Невозможно для кэш-систем знать уровень POS-управления, применяемого при управлении запасами. OD имеет аналогичное воздействие на кэш-системы. Оно требует хранения ответов на уровне комбинации OD и POS. Это увеличивает требования к аппаратному обеспечению для хранения большого объема данных и усложняет логику, определяющую то, как обновлять данные.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Изобретение имеет целью устранение этих проблем, посредством предоставления распределенной системы управления запасами и способ для предоставления информации о наличии свободных мест локально, так что устраняется необходимость полагаться на локальные AVS- или AVN-сообщения, решения на основе посредника или кэша.
Варианты осуществления изобретения достигают этого за счет развертывания служб доступности на выделенных серверах в сети доступности таким образом, что узлы или серверы доступности расположены в местоположениях, где служба доступности необходима. Предпочтительно, каждый узел или сервер связывается с остальной частью системы управления запасами через глобальную вычислительную сеть (WAN) или локальную вычислительную сеть (LAN) в реальном времени с минимальной задержкой, ассоциированной с вычислительной сетью.
Согласно первому аспекту настоящего изобретения предоставляется система управления запасами, содержащая сервер запасов для хранения параметров запасов, определяющих один или более продуктов; сервер доступности, выполненный с возможностью приема запроса доступности для продукта; средство широковещательной передачи для широковещательной передачи обновленных параметров запасов из сервера запасов серверу доступности; при этом сервер доступности определяет доступность запрошенного продукта, сравнивая один или более параметров продукта с одним или более параметрами запасов в ответ на прием сервером доступности запроса доступности.
Предпочтительно, сервер доступности логически отделен от сервера запасов, и, в частности, сервер доступности находится в другом местоположении по отношению к серверу запасов.
Предпочтительно, система управления запасами дополнительно содержит один или более дополнительных серверов доступности, каждый из которых выполнен с возможностью принимать запрос доступности и, в частности, определять доступность продукта, сравнивая один или более параметров продукта с одним или более параметрами запасов в ответ на прием одним из серверов доступности запроса доступности.
Предпочтительно, сервер или серверы доступности дополнительно содержит один или более узлов сети.
Предпочтительно, каждый узел сети содержит сетевое запоминающее устройство.
Предпочтительно, запрос доступности маршрутизируется через один из узлов сети в зависимости от содержимого запроса доступности.
Предпочтительно, по меньшей мере, некоторые из узлов сети расположены на различных серверах доступности.
Предпочтительно, каждое сетевое запоминающее устройство хранит один или более параметров запасов из самого последнего запроса доступности, принятого узлом сети.
Предпочтительно, каждое сетевое запоминающее устройство хранит, по меньшей мере, некоторые параметры запасов, которые отличаются от параметров запасов, сохраненных в других сетевых запоминающих устройствах.
Предпочтительно, параметры запасов отправляются из сервера запасов одному из сетевых запоминающих устройств, если параметры запасов запрошенного продукта не сохранены в сетевом запоминающем устройстве или не являются самыми новыми параметрами.
Предпочтительно, параметры запасов маршрутизируются одному из сетевых запоминающих устройств в зависимости от содержимого запроса доступности.
Предпочтительно, система управления запасами дополнительно содержит средство обновления, выполненное с возможностью асинхронного обновления параметров запасов, сохраненных на сервере запасов, и параметров запасов, сохраненных в одном из сетевых запоминающих устройств. Например, средство обновления может обновлять параметры запасов, сохраненные на сервере запасов, и параметры запасов, сохраненные в одном из сетевых запоминающих устройств, в различные моменты времени. В одном примере средство обновления начинает обновление параметров запасов, сохраненных на сервере запасов, и затем начинает обновление параметров запасов, сохраненных в одном из сетевых запоминающих устройств. Альтернативно, средство обновления начинает обновление параметров запасов, сохраненных в одном из сетевых запоминающих устройств, и затем начинает обновление параметров запасов, сохраненных на сервере запасов. В этом примере обновление параметров запасов, сохраненных в одном из сетевых запоминающих устройств, и обновление параметров запасов, сохраненных на сервере запасов, может перекрываться по времени. В дополнительном примере средство обновления может завершать обновление параметров запасов, сохраненных на сервере запасов, и затем обновлять параметры запасов, сохраненные в сетевых запоминающих устройствах. Например, обновление параметров запасов, хранящихся в одном из сетевых запоминающих устройств, и обновление параметров запасов, сохраненных на сервере запасов, может не перекрываться по времени.
Предпочтительно, средство обновления сначала обновляет данные, сохраненные в одном из сетевых запоминающих устройств, и затем параметры запасов, сохраненные на сервере запасов, если транзакция продажи или аннулирования принята одним из серверов запасами.
Предпочтительно, средство обновления сначала обновляет параметры запасов, сохраненные на сервере запасов, и затем данные, сохраненные в одном из сетевых запоминающих устройств, если сервер запасов принимает данные о предложенной цене или данные о согласованности расписания или данные тарифов или данные бизнес-правил.
Предпочтительно, система содержит один или более серверов обработки для приема запроса и, в частности, для определения типа запроса.
Предпочтительно, сервер запасов логически или физически или и логически, и физически, отделен от сервера доступности.
Предпочтительно, система дополнительно содержит один или более дополнительных серверов запасами.
Предпочтительно, параметры запасов разделены на части между серверами запасами, так что каждый сервер запасов хранит, по меньшей мере, параметры запасов, которые отличаются от параметров запасов, сохраненных на другом сервере.
Предпочтительно, один сервер запасов является сервером для переключения при отказе на другой сервер запасов. Сервер для переключения при отказе может хранить копию параметров запасов, сохраненных на другом сервере запасов.
Предпочтительно, один из серверов обработки маршрутизирует запрос одному из узлов сети, только если запрос является запросом доступности.
Предпочтительно, один из серверов обработки маршрутизирует запрос серверу запасов, если запрос является запросом продажи или аннулирования.
Предпочтительно, параметры продукта сравниваются с обновленными параметрами запасов.
Предпочтительно, система дополнительно содержит один или более дополнительных серверов для переключения при отказе.
Предпочтительно, сервер доступности логически отделен от сервера запасов. Дополнительно предпочтительно, каждый сервер доступности логически, или физически, или и логически, и физически отделен от других серверов доступности.
Архитектура вариантов осуществления изобретения позволяет выполнять вычисление доступности на локальных серверах доступности, распространяя параметры локальным серверам доступности через WAN или LAN или другое средство связи. Это значит, что узел или серверы доступности могут быть размещены там, где они необходимы, вместо того, что все транзакции доступности приходят в центрально расположенную систему управления запасами. Предоставление корректной доступности локально устраняет необходимость в том, чтобы полагаться на локальные AVS или кэш-решения доступности. Уменьшение AVS-пересылок для того же канала, где развернут узел доступности, обеспечивает дополнительную экономию затрат для авиакомпании. Более важно, формируются точные ответы по доступности, и доход увеличивается за счет возрастания точности доступности. Сервер доступности может быть сконфигурирован, чтобы обрабатывать только запросы доступности.
Варианты осуществления изобретения имеют ряд преимуществ. Во-первых, варианты осуществления хорошо масштабируемы, чтобы обслуживать возросший объемом покупок. Это достигается посредством уменьшения операций дискового ввода или вывода (I/O), сохраняя наиболее часто используемые данные в сетевом запоминающем устройстве. Во-вторых, варианты осуществления изобретения работают со сниженными уровнями трафика бесперебойной доступности. Предпочтительно, варианты осуществления изобретения устраняют необходимость в трафике бесперебойной доступности. Это отменяет необходимость в формировании и распространении AVS или AVN для каналов распространения, которые должны распространять запросы доступности мест в систему управления запасами.
Предпочтительно, данные о резервах для рейсов вплоть приблизительно до 1 месяца перед вылетом хранятся в сетевом запоминающем устройстве. За счет сохранения этих данных для последнего месяца активности по бронированию мест в сетевом запоминающем устройстве, снижаются требования к памяти и дисковому I/O более чем на 90%.
В-третьих, варианты осуществления изобретения могут делить на части данные о резервах в одном или более маршрутизирующих узлах сети. Это позволяет запросам по доступности маршрутизироваться к одному из множества узлов сети, тем самым, позволяя масштабируемым образом увеличивать вычисления доступности в значительной степени независимо от транзакций продаж. Это значит, что увеличенная вычислительная мощность может быть предоставлена для большого количества запросов доступности, в то время как нет необходимости увеличивать производительность обработки запросов продаж. Это имеет преимущество в том, что точные вычисления доступности могут быстро выполняться и возвращаться пользователю, запрашивающему доступность.
Предпочтительно, варианты осуществления изобретения используют транзакции продаж, которые труднее масштабно увеличивать, которые слабо связаны с транзакциями доступности. Это позволяет масштабируемым образом увеличивать транзакции доступности независимо от транзакций продаж.
Разделение служб продаж и доступности позволяет вариантам осуществления изобретения масштабировать службу продажи или аннулирования отдельно и независимо от службы доступности. Опять же, это допускает масштабируемость служб доступности отдельно от служб продажи без блокировки или замедления отклика посредством транзакций продаж. Поскольку транзакции доступности являются службами только для чтения, они не требуют синхронизации, блокировки каких-либо записей в базе данных или каких-либо обновлений базы данных. Следовательно, на варианты осуществления изобретения не накладываются ограничения, которые влияют на службы продаж. Архитектура согласно вариантам осуществления изобретения позволяет службам доступности масштабироваться с гораздо более высокой степенью и независимо от служб продаж.
Эта концепция противоположна существующим системам, которые не могут масштабироваться в достаточной степени, чтобы удовлетворять требованию покупки, создаваемому высоким соотношением просмотров к бронированиям из-за автоматизированных систем. Это обусловлено тем, что существующие системы имеют единую службу управления запасами. В таких существующих системах масштабирование функций доступности, предоставляемых запасами, требует масштабирования всех функций, предоставленных в этой системе управления запасами. Следовательно, варианты осуществления изобретения могут использовать множество серверов доступности, которое больше, чем множество серверов, поддерживающих основную систему управления запасами.
Это обусловлено тем, что необходимость масштабирования транзакций продаж значительно меньше, чем транзакций доступности. Это является следствием того, что даже если количество людей, путешествующих по миру, увеличивается, и, в свою очередь, число транзакций продаж увеличивается, это увеличение гораздо меньше, чем увеличение в транзакциях доступности. По существу, изобретатели учли, что транзакции продаж не нужно увеличивать настолько, насколько транзакции доступности.
Дополнительно, изобретатели учли, что транзакции продаж и доступности накладывают различные требования на систему управления запасами. Транзакции продаж являются более ресурсоемкими: Они требуют блокировки записи базы данных для каждой транзакции и требуют обновления базы данных для каждой транзакции. Следовательно, они являются дорогостоящими для увеличения, более длительными по времени выполнения и имеют блокирующую природу для других типов запросов.
Дополнительно, варианты осуществления изобретения обеспечивают точные вычисления доступности. Это обусловлено тем, что варианты осуществления изобретения запускают полные вычисления доступности для каждого запроса доступности вместо того, чтобы полагаться на устаревшие ответы, которые кэшированы из предыдущего ответа. Следовательно, результат вычисления доступности будет отражать любое влияние каких-либо потенциальных изменений в управлениях точкой продажи (POS), количестве проданных мест, предлагаемой цене, тарифах и т.д. Таким образом, варианты осуществления изобретения предоставляют точную доступность, несмотря на логику управления запасами, такую как OD-управления и правила.
Возможность предоставлять точную доступность, где это необходимо, помогает авиакомпаниям экономить затраты, ассоциированные с большим числом запросов доступности, принимаемых вследствие высокого объема перевозок.
Кроме того, варианты осуществления изобретения могут быть реализованы на широко распространенных серверах без специализированных аппаратных средств (HW), тем самым уменьшая затраты на аппаратные средства и, в свою очередь, затраты на реализацию для вариантов осуществления изобретения.
Варианты осуществления изобретения являются также высоконадежными. Это является результатом лежащей в основе сетевой архитектуры вариантов осуществления изобретения. В сети, если какой-либо из узлов или серверов отказывает, один из других узлов или серверов принимает на себя роль отказавшего сервера или узла. Эта конфигурация позволяет системе продолжать предусмотренное функционирование, пока существует, по меньшей мере, один рабочий сервер или узел.
Вся система управления запасами согласно вариантам осуществления изобретения может быть развернута в сети из множества компьютеров или серверов на основе массовых потребностей авиакомпании. Службы продаж и доступности могут быть логически разделены. Тем не менее, службы продаж и доступности могут быть развернуты на одном и том же компьютере или сервере. Таким образом, пока, по меньшей мере, один компьютер остается работающим в сети, службы доступности и продаж доступны. Однако возможность разделения служб доступности и продаж логически также позволяет службам продаж и доступности быть развернутыми на физически отдельных компьютерах или серверах в сети управления запасами. Это является важным техническим признаком решения, понимаемым изобретателями.
Дополнительно, в системах управления запасами предшествующего уровня большой объем данных вводится и выводится (I/O) в и из сервера запасов. Такие системы обременены тяжелыми операциями дискового ввода/вывода (I/O) и пытаются оптимизировать их, используя кэши, такие как распределенные кэши в многоузловых кластерах. Такие системы зачастую приходят к снижению дискового ввода/вывода, но взамен получают увеличившийся сетевой ввод/вывод. Это означает, что решения предшествующего уровня имеют тенденцию приближаться к пределам пропускной способности сети и зачастую "насыщают" свои вычислительные сети, что означает, что они подходят только для небольших по масштабам применений.
Варианты осуществления изобретения обходят эти проблемы, оптимизируя как дисковый, так и сетевой ввод и вывод. Ввод/вывод оптимизируется, во-первых, посредством наличия самых последних использованных данных по доступности, сохраненных в запоминающем устройстве, называемом сетевым запоминающим устройством, тем самым, уменьшая дисковый ввод/вывод. Если необходимые данные не находятся в сетевом запоминающем устройстве, или данные в сетевом запоминающем устройстве больше не являются актуальными, они извлекаются из хранилища, такого как жесткий диск, и загружаются в сетевое запоминающее устройство.
В некоторых вариантах осуществления сервер доступности сконфигурирован, чтобы выполнять запрос доступности, а не запрос продажи для продукта, и предпочтительно, сервер запасов сконфигурирован, чтобы выполнять запросы продажи и доступности.
В некоторых вариантах осуществления сервер запасов соединен с возможностью связи с сервером доступности в реальном времени по сети, такой как глобальная вычислительная сеть или локальная вычислительная сеть.
В некоторых вариантах осуществления предусмотрено множество серверов доступности для выполнения запроса доступности, а не запроса продажи.
В некоторых вариантах осуществления предусмотрен сервер распространения, например сервер авиакомпании, или сервер телефонного информационного центра, или сервер городской билетной кассы. Сервер доступности и сервер распространения предусмотрены на одном сервере, так что сервер распространения может запрашивать сервер доступности без использования вычислительной сети.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Варианты осуществления изобретения будут сейчас описаны, только в качестве примера и со ссылкой на сопутствующие чертежи, на которых:
Фиг. 1 показывает схематичное представление системы, осуществляющей изобретение;
Фиг. 2 – это принципиальная схема, показывающая то, как данные о резервах разделены на части согласно вариантам осуществления изобретения;
Фиг. 3 – это принципиальная схема, показывающая то, как варианты осуществления изобретения разделяют ресурсы обработки на уровень маршрутизации и уровень обработки в сети;
Фиг. 4 – это принципиальная схема, показывающая то, как запросы продаж и доступности разделяются согласно вариантам осуществления изобретения;
Фиг. 5 – это принципиальная схема, показывающая то, как варианты осуществления изобретения используют удаленные пространства доступности;
Фиг. 6 – это блок-схема последовательности операций, показывающая основные этапы, выполняемые в варианте осуществления изобретения; и
Фиг. 7 – это продолжение блок-схемы последовательности операций на фиг. 6, показывающее дополнительные этапы, которые могут быть выполнены посредством варианта осуществления изобретения.
Последующее описание описывает распределенную систему управления запасами для использования в индустрии авиаперевозок, но оно является примерным, и также будут обсуждаться другие применения изобретения. Например, система управления запасами может быть использована в индустрии железнодорожных перевозок и индустрии автобусного туризма. Дополнительно, варианты осуществления изобретения могут быть полезно использованы в любой системе, где используются концепции управления доходами, например, чтобы продавать скоропортящиеся продукты. Примеры включают в себя, но не только, системы управления запасами для комнат в гостинице, прокатов автомобилей, круизных линий, рекламы на телевидении или радио в течение временного интервала, или услуг Интернета, электро- и газоснабжения или других услуг.
Обращаясь теперь к фиг. 1, показана распределенная система 101 управления запасами согласно варианту осуществления изобретения. Система 101 называется системой управления запасами следующего поколения (NGI) и функционирует как распределенная система управления запасами, как будет объяснено более подробно ниже.
Система имеет, по меньшей мере, одну основную систему управления запасами и один или более серверов 111, 112, 113, 114, 115, 116 доступности. Хотя предоставлена одна основная система управления запасами, система управления запасами может находиться на одном или более компьютерных узлах или серверах 103, 106, как будет описано более подробно ниже. Компьютерные узлы или серверы 103, 106 обычно расположены или развернуты в информационном центре.
Хотя не показано на фиг. 1, система управления запасами содержит базу данных, которая хранит данные о резервах. База данных может быть сохранена на компьютере или сервере запасов. Предпочтительно, варианты осуществления изобретения используют доступные по сети устройства хранения (NAS).
Система 101 управления запасами включает в себя уровень обработки, непоказанный на фиг. 1, а также один или более узлов сети, также называемых кластерными узлами или серверными узлами. Узлы сети будут описаны более подробно ниже со ссылкой на фиг. 2, в то время как уровень обработки будет описан более подробно ниже со ссылкой на фиг. 3. Узлы сети или серверы 205, 207, 209, 211, 213, показанные на фиг. 2, также показаны на фиг. 3 и помечены теми же ссылочными номерами.
Каждый сервер или узел 103, 106 может выполнять продажу, аннулирование, проверку доступности и другие функции управления запасами. Дополнительно, серверы или узлы 103, 106 могут быть расположены удаленно от одного или более серверов 111-116 и 121-126 доступности. Например, серверы или узлы 103, 106 могут быть расположены в одном регионе или области, в то время как один или более серверов доступности могут быть расположены в другом регионе или области. В одном примере серверы или узлы 103, 106 могут быть расположены в Атланте, в то время как один или более серверов доступности могут быть расположены в Европе или Азии, или и в Европе, и в Азии. Сервер или серверы доступности могут быть расположены в непосредственной близости к тому месту, где находится туристическое агентство или другой пользователь, выполняющий запрос доступности, например, в том же городе, или городке, или штате, или стране.
Системы 103, 106 управления запасами могут находиться в информационном центре. Данные о резервах для каждого из узлов 103, 106 управления запасами хранятся в базе 217 данных, показанной на фиг. 2.
СЕРВЕРЫ ДОСТУПНОСТИ
Следует отметить, что серверы 111, 112, 113, 114, 115, 116 доступности не хранят поднабор запасов, сохраненных в системе управления запасами. В отличие от этого, как будет объяснено более подробно ниже, серверы доступности вычисляют доступность на основе параметров управления запасами и текущего состояния запасов, которые широковещательно передаются с постоянными интервалами из основной системы управления запасами.
В варианте осуществления, показанном на фиг. 1, один или более дополнительных серверов 121-126 доступности также предусмотрены. Однако в действительности они являются необязательными. Эти дополнительные серверы 121-126 доступности могут быть серверами для переключения при отказе. Сервер доступности для переключения при отказе является дублирующим или резервным сервером, который может быть использован в случае, когда один или более серверов 111-116 доступности отказывают. Дополнительно, данные, сохраненные на серверах 111-116 и 121-126, могут быть сохранены в одной или более частях. Данные могут быть разделены на части множеством способов. Данные могут быть сначала разделены на части на одном уровне авиакомпанией. На вторичном уровне данные могут быть разделены на части по определению пункта оправления-назначения или определению рынка. Предпочтения разделения могут быть изменены при необходимости.
Серверы 111-116 доступности могут быть локальными серверами доступности, которые могут быть расположены в непосредственной близости к тому месту, где находятся пользователи, запрашивающие доступность.
Альтернативно, серверы 111-116 доступности могут быть предусмотрены в любом местоположении, при условии, что они могут связываться с механизмом 107 покупок или авиакомпанией, или городской билетной кассой 142 и т.п. через WAN или LAN.
В одном варианте осуществления серверы 111-116, 121-126 доступности и серверы 103, 106 могут быть физически развернуты на одном физическом сервере. Например, один физический сервер может быть логически разбит или разделен на части таким образом, что отдельные функции серверов 111-116, 121-126 доступности и серверов 103, 106 могут выполняться на одном физическом сервере.
Альтернативно, отдельный физический сервер может быть предусмотрен для каждого из серверов 111-116, 121-126 доступности и серверов 103, 106. В этом случае, серверы 111-116 и 121-126 доступности могут быть расположены в физическом местоположении, отличном от серверов 103 и 106. Например, один или оба из серверов 103 и 106 могут быть расположены в Атланте, тогда как один или более серверов 111-116, 121-126 доступности могут быть расположены в Европе или Азии. Этот признак будет описан более подробно со ссылкой на фиг. 5 ниже.
Серверы 111-116 и 121-126 доступности могут выполнять только функции доступности. Дополнительно, серверы 111-116 и 121-126 доступности могут быть выполнены с возможностью формирования сети серверов доступности. Серверы 111-116, 121-126 могут быть соединены с возможностью обмена данными друг с другом с помощью средства связи, чтобы формировать сеть. И серверы 111-116, 121-126 доступности, и серверы 103, 106 могут формировать часть сети.
Сеть может изначально быть развернута на компьютерных серверах или узлах 103, 106. Дополнительные серверы 111-116, 121-126 могут быть добавлены, чтобы расширять сеть в различные местоположения. Сеть позволяет системе управления запасами получать значительное улучшение производительности по сравнению с известными системами управления запасами. Однако важно отметить, что общее решение управления запасами – это больше, чем просто сеть. Однако сеть позволяет вариантам осуществления изобретения быть достаточно масштабируемыми и работать с более высокой производительностью, так что частые транзакции доступности могут быть эффективно обработаны.
Один или более из серверов 103, 106 управления запасами соединен с каждым сервером 111-116 и 121-126 доступности через средство связи. Средство связи может совместно использоваться между серверами 111-116 и 121-126. Во всех случаях средство связи может быть сетью, такой как LAN или WAN.
КАНАЛ РАСПРОСТРАНЕНИЯ
Система 101, показанная на фиг. 1, дополнительно содержит один или более каналов 108 распространения запасов. Каждый канал 108 распространения может включать в себя глобальную систему распространения, иначе называемую общей системой распространения, такую как системы распространения Abacus 133, Galileo 134, Amadeus 135, Sabre или Worldspan 138. Обычно, глобальные системы 133, 134, 135, 136 распространения не включают в себя CRS.
Каналы 108 распространения позволяют авиакомпании распределять свои запасы общественности. Дополнительно, каждая система 133, 134, 135, 136 распространения соединена через средство связи с одним или более серверами 111-116 и 121-126 доступности.
Основная система управления запасами, находящаяся на серверах 103, 106, может функционировать как полная система управления запасами без необходимости в остальной части распределенных систем, таких как серверы доступности. Например, основная система управления запасами может функционировать как система управления запасами независимо от распространенных запасов, осуществляющих изобретение.
В варианте осуществления, показанном на фиг. 1, каждая система 133, 134, 135, 136 распространения соединена с сервером 113-116 доступности. Предпочтительно, каждая система 133, 134, 135, 136 распространения также соединена с дополнительными серверами 123-126 доступности. Альтернативно, каждая система распространения может быть соединена с одним сервером доступности, хотя эта конфигурация не показана на фиг. 1.
Каналы 108 распространения могут также включать в себя веб-сайт 141 авиакомпании, соединенный с сервером 111 доступности. Веб-сайт 141 авиакомпании может быть необязательно соединен с дополнительным сервером 121 доступности. Каналы 108 распространения могут также включать в себя телефонный информационный центр или городскую билетную кассу 142, соединенные с сервером 112 доступности. Телефонный информационный центр или городская билетная касса 142 могут быть необязательно соединены с дополнительным сервером 122 доступности.
Дополнительно, каналы 108 распространения могут также включать в себя туристическое агентство 143, соединенное с системой 133 распространения, туристическое агентство 144, соединенное с системой 134 распространения, туристическое агентство 145, соединенное с системой 135 распространения, и другие агентства 146, такие как Sabre или WorldSpan, соединенные с системой 136 распространения.
Например, каждый из телефонного информационного центра (CC) или городской билетной кассы (CTO) или офиса выдачи билетов (ITO) 142 или веб-сайта авиакомпании может быть непосредственно соединен с сервером 112 доступности без необходимости быть соединенным с системами 133, 134, 135, 136 распространения.
Таким образом, городская билетная касса и веб-сайт авиакомпании имеют непосредственный доступ к серверу доступности системы управления запасами. Следовательно, каналы 108 распространения непосредственно или косвенно соединены с серверами 111-116 и 121-126 доступности через средство связи. Средство связи может быть вычислительной сетью, такой как локальная LAN или WAN. Соединение между серверами 111-116 и 121-126 и веб-сайтом 141, телефонным информационным центром 142, туристическим агентством 143, туристическим агентством 144, туристическим агентством 145 и другими 146 обычно является проводным соединением.
Как показано на фиг. 1, веб-сайт 141 авиакомпании соединен через механизм 107 покупок с сервером 111 и 121 доступности без необходимости доступа к системе 133, 134, 135, 136 распространения. Альтернативно, веб-сайт 141 авиакомпании может быть непосредственно соединен с сервером 111, 121 доступности без необходимости в механизме 107 покупок.
Функцией механизма 107 покупок является поиск доступности места на сервере доступности для клиента, который выполняет запрос доступности места через веб-сайт авиакомпании. Механизм 107 покупок может возвращать доступность места, которое соответствует одному или более заданным пользователем критериям, таким как цена, время и дата рейса и т.п. Альтернативно, вместо наличия механизма покупок, может быть использовано инструмент покупок, чтобы выполнять функцию механизма покупок.
Система 101, показанная на фиг. 1, предоставляет доступность места удаленно, имея один или более серверов 111-116 и 121-126 доступности, которые объединены с серверами 103, 106 управления запасами. Как описано более подробно ниже, это устраняет необходимость для каждого канала распространения отправлять запрос доступности центральной системе управления запасами. Все запросы доступности решаются локально с помощью распределенных серверов 111-116 и 121-126 доступности.
Как будет объяснено более подробно ниже, система 101 предоставляет ответ доступности, который был вычислен во время обработки посредством системы. Система затем отвечает точным числом доступных мест. Это противоположно системам предшествующего уровня, которые могут отвечать неправильным числом доступных мест, поскольку, например, они используют старые кэшированные ответы доступности. Это значит, что с системами предшествующего уровня рейс может выглядеть, словно он закрыт для регистрации, когда, в действительности, все еще есть места, доступные для продажи. Аналогично, когда системы предшествующего уровня используют старые кэшированные ответы доступности, может казаться, что рейс открыт для регистрации, даже если на самом деле рейс фактически закрыт для продажи. Таким образом, необходимость в развертывании альтернативных решений доступности, таких как AVS, AVN, посредник или кэш, устраняется.
Для того чтобы сохранять информацию на серверах 111-116 и 121-126 доступности наиболее актуальной, пространство продажи на серверах 103 или 106 широковещательно передает данные о резервах, такие как параметры управления запасами и текущее состояние запасов, локальным серверам 111-116 и 121-126 доступности. Состояние запасов указывает, открыт или закрыт класс бронирования на сегменте рейса. Многоадресная широковещательная рассылка самых актуальных данных о резервах из серверов 103 или 106 одному или более серверам 111-116 и 121-126 доступности схематично показана на фиг. 1 штриховыми стрелками 104, указывающими от серверов 103 или 106 к серверам 111-116 и 121-126 доступности.
Как ранее объяснено, одна система управления запасами может работать на множестве серверов 103, 106 управления запасами. Один из этих серверов 103 или 106 может выделять пространство продажи. Это – пространство продажи на одном из серверов 103, 106, который широковещательно передает изменения серверам 111-116 и 121-126 пространства доступности.
Широковещательная передача параметров управления запасами сейчас будет описана более подробно. Предположим, например, что авиакомпания предлагает беспосадочный перелет из Лондона в Малайзию, и что осталось только 10 мест на рейсе. Если авиакомпанию необходимо неожиданно изменить тип самолета, который будет использован для полета, на меньший самолет, тогда это будет означать, что число мест, доступных на рейсе, должно быть уменьшено. С помощью традиционных систем управления запасами, таких как те, которые используют решение на основе кэша, это означает, что система управления запасами будет неправильно формировать ответ доступности на основе старого кэшированного ответа доступности. Это будет означать, что традиционная система управления запасами будет некорректно возвращать ответ о том, что 10 мест доступны на рейсе, когда, в действительности, вследствие изменения типа самолета на меньший самолет, может быть доступно менее 10 мест. В самом неблагоприятном сценарии, такая традиционная система управления запасами может возвращать ответ доступности 10 мест, когда, фактически, нет доступных мест.
Для того чтобы решать эту проблему, серверы 111-116 и 121-126 доступности принимают сообщение широковещательной передачи от одной из систем 103, 106 управления запасами. Система 103 или 106 управления запасами широковещательно передает обновленные параметры управления запасами и текущее состояние запасов серверам 111-116 и 121-126 доступности.
Широковещательно передаваемые параметры управления запасами могут включать в себя данные, определяющие тип самолета, который будет использован для полета. Дополнительные параметры управления запасами, которые могут быть отправлены из серверов 103, 106 серверам 111-116, 121-126 доступности, включают в себя общее число мест, число мест бизнес-класса, число мест первого класса, число мест эконом-класса, и в каждом из них число мест у прохода и число мест у окна. Широковещательно передаваемые параметры управления запасами могут также включать в себя число проданных мест, изменения в предложенной цене, изменения в типе оснащения и изменения в пределах бронирования по салону самолета, определенным пользователем правилам, которые влияют на доступность посредством POS. Дополнительно, параметры, которые отправляются в широковещательно передаваемых данных о резервах, могут зависеть от конкретного алгоритма управления запасами, используемого в авиакомпании.
Обновления могут широковещательно передаваться с конкретной частотой. Дополнительно, частота, с которой обновление широковещательно передается, может быть конфигурируемой. Частота широковещательные передачи данных о резервах может быть задана авиакомпанией в зависимости от ее предпочтений или может быть основана на пропускной способности сети, или основана как на пропускной способности сети, так и на предпочтениях авиакомпании. Сообщения могут широковещательно передаваться по LAN или WAN.
Обращаясь теперь к фиг. 2, показаны дополнительные детали распределенной системы 101 управления запасами, показанной на фиг. 1. Фиг. 2 – это принципиальная схема, показывающая то, как данные разделены на части между множеством узлов 205, 207, 209, 211, 213 сети. Узлы 205, 207, 209, 211, 213, показанные на фиг. 2, могут быть частями серверов 111-116, 121-126 доступности.
Например, один узел 205 сети может быть предусмотрен на одном сервере 111 доступности, и один узел 207 сети может быть предусмотрен на сервере 112 доступности и т.д. Альтернативно, множество узлов 205, 209, 211, 213 сети могут быть предусмотрены на одном сервере 111 доступности. Например, узлы 205, 207, 209, 211, 213 сети могут быть логическими частями одного или более серверов 111-126 доступности.
Основное использование сети 205, 207, 209, 211, 213 ограничено разделением на части, маршрутизацией, широковещательной передачей и транзакционной защитой, где локальные кэши удерживают большой объем данных; рабочий набор данных. Использование сети снижается только до абсолютной необходимости.
Узлы 205, 207, 209, 211, 213 сети включают в себя только пространство доступности, и это будет объяснено более подробно со ссылкой на то, как запросы доступности мест выполняются, а также то, как запросы продаж обрабатываются. Узлы 205, 207, 209, 211, 213 сети могут быть развернуты вместе в том же местоположении, что и кластер 215, или индивидуально в различных местоположениях. Под кластером мы подразумеваем группу серверов в приблизительно одном и том же местоположении, или которые соединены вместе посредством одной и той же LAN.
Каждый узел 205, 207, 209, 211, 213 сети имеет сетевое запоминающее устройство, не показанное на фиг. 2. Сетевое запоминающее устройство является обычно оперативным запоминающим устройством (RAM). Для того чтобы уменьшать сетевой трафик по сети, некоторые данные разделены на части, а некоторые данные реплицируются на каждом узле сети. Данные, которые реплицируются на всех серверах или узлах сети, являются данными небольшого объема, которые не создают проблем памяти, когда реплицируются. Эти данные включают в себя предпочтения авиакомпании, параметры конфигурации и т.д. Другие данные, как будет описано более подробно ниже, разделены на части между узлами 205, 207, 209, 211, 213 сети, так что каждый узел сети обслуживает запросы доступности на основе содержимого запроса доступности.
Следует отметить, что основные системы 103, 106 управления запасами могут также принимать запросы доступности, которые они должны обрабатывать. Это в дополнение к запросам доступности, которыми занимаются локальные серверы 111-126 доступности. Во время начальной настройки системы управления запасами определяется, должен ли запрос доступности быть маршрутизирован одному из серверов 111-116, 121-126 доступности или одному из серверов 103, 106, формирующих основную систему управления запасами. Эта логика обработки определяет, отправлен ли запрос доступности одному из локальных серверов 111-126 доступности или одной из основных систем 103, 106 управления запасами. Во время развертывания или во время объединения определяется, где логика обработки будет работать, и, следовательно, куда транзакции будут маршрутизированы.
Клиентские запросы, принятые узлами 205-213 сети, показанными на фиг. 2, имеют тот же формат, что и клиентские запросы, принятые одним из серверов 103, 106, формирующих основные системы управления запасами. Таким образом, один и тот же тип запроса доступности может быть принят локальными серверами 111-126 или серверами 103, 106, формирующими основную систему управления запасами в информационном центре, в зависимости от того, откуда приходит запрос. Запросы доступности маршрутизируются наиболее логичным серверам, и это определяется во время начальной настройки.
Как будет объяснено более подробно ниже, сетевое запоминающее устройство хранит наиболее часто используемые данные о резервах. Дополнительно, данные, сохраненные в сетевом запоминающем устройстве, могут быть копией совсем недавно использованных данных о резервах, сохраненных в базе 103 данных. Это отменяет необходимость для каждого узла 205-213 сети запрашивать данные из базы 217 данных каждый раз, когда один из узлов 205-213 сети принимает запрос доступности.
Обычно, база 217 данных хранится на одном или более накопителях на жестких дисках, ассоциированных с сервером базы данных. Сервер базы данных соединен с каждым из узлов 205, 207, 209, 211, 213 сети через средство связи. Средство связи может быть одним из ранее описанных средств связи.
Данные, сохраненные в сетевом запоминающем устройстве, разделены на части по узлам 205, 207, 209, 211, 213 сети. Иначе говоря, каждый узел 205, 207, 209, 211, 213 сети может хранить различные данные в своем сетевом запоминающем устройстве. Например, по меньшей мере, некоторые из данных в каждом узле сети не должны быть одинаковыми. Данные, сохраненные в узлах 205, 207, 209, 211, 213 сети, могут быть разделены на части по ключу, например, по авиакомпании или по соответствию "пункт отправления-назначения" из запроса доступности.
Например, может быть решено во время первоначальной настройки, что узел 205 сети будет обслуживать все запросы доступности с пунктом отправления – пунктом назначения из AAA в BBC. Таким образом, когда запрос доступности принимается с пунктом отправления Альбукерке, Нью-Мексико, то уровень 403 обработки анализирует содержимое запроса, определяет, что запрос имеет пункт отправления – Альбукерке. Уровень обработки анализирует пункт отправления, и поскольку пункт отправления попадает в соотношение "пункт отправления - пункт назначения" из AAA в BBC, назначенное узлу 205 сети, он маршрутизирует запрос узлу 205 сети. Во время первоначальной настройки системы один или более конкретных узлов сети развертываются на конкретном сервере доступности. Это позволяет системе маршрутизировать запросы доступности конкретным серверам доступности, которые поддерживают узлы сети, которые обслуживают эти конкретные запросы доступности.
Решение о маршрутизации может быть сделано на основе различных критериев, таких как код авиакомпании или OD-корреспондирующие города или некоторые другие. Предпочтительно, маршрутизация основана на коде авиакомпании только для небольших авиаперевозчиков. Маршрутизация может также быть основана на коде авиакомпании и OD-корреспондирующих городах для больших авиаперевозчиков. Это обусловлено тем, что более крупные авиаперевозчики могут нуждаться в дополнительном делении на части, чтобы иметь возможность добиться требуемой производительности системы.
Аналогично, узел 207 сети может быть предназначен, чтобы обслуживать запросы доступности с пунктами отправления-назначения из BBD в CCC, в то время как узел 209 сети может быть предназначен для обслуживания запросов доступности с пунктами отправления-назначения из CCD в DXX.
Кроме того, узлы 205, 207, 209, 211, 213 сети и, следовательно, также серверы доступности, которые поддерживают эти узлы сети, также соединены через средство связи с клиентом 201, таким как туристическое агентство 143, как показано стрелками на фиг. 2, через уровень 403 обработки, включающий в себя один или более серверов обработки. Функция уровня 403 обработки будет описана более подробно со ссылкой на фиг. 3.
Серверы 111-126 доступности, описанные ранее, и узлы 205-213 сети могут связываться с уровнем 403 обработки с помощью Java-вызова. Может быть использован прикладной программный интерфейс (API) Java, чтобы позволять внешним системам осуществлять доступ к распределенной системе 101 управления запасами. После того как транзакция получена, на основе типа транзакции и ее содержимого она перенаправляется правильному узлу 205, 207, 209, 211 в сети 215.
Самые распространенными транзакциями, выполняемыми посредством вариантов осуществления изобретения, являются транзакции доступности и продажи. Транзакции продажи и доступности совместно используют большую часть функциональности. Например, каждая транзакция продажи требует встроенного вычисления доступности. Это необходимо, чтобы быть уверенными, что место, показанное в транзакции доступности, все еще доступно. Вследствие задержки между доступностью и продажей возможно, что место, показанное в транзакции доступности, может быть продано.
Однако определение доступности места является сложным процессом, который требует большого числа ресурсов, а также данных, включающих в себя тарифы, правила применения тарифов, отрезки маршрута, сегменты, рейсы, стыковки, салоны, влияющие факторы, информацию точки продаж, блоки указания резервирования и бронирования (RBD), блоки ограничения, предложенную цену, перепады, AVN- и ANS-информацию и т.д. Тем не менее, откладывая в сторону обновления счетчиков "проданных мест", которые являются побочным эффектом транзакций продажи, транзакции доступности, в теории, имеют концепцию "только для чтения".
С другой стороны, если проблема доступности решена, транзакции продаж, требуют только обновления счетчиков проданных мест, необходимы лишь очень ограниченные ресурсы, такие как информация о салоне самолета. Дополнительно, множество транзакций продаж является небольшой долей транзакций доступности.
Дополнительные детали того, как транзакции продаж и доступности обслуживаются посредством вариантов осуществления изобретения, будут описаны далее.
Запрос доступности принимается локальным сервером доступностиОсновные этапы, выполняемые посредством варианта осуществления изобретения, показанного на фиг. 1 и 2, когда запрос доступности места или транзакция принимается одним из локальных серверов 111-126 доступности, будут описаны далее. Будет также сделана ссылка на блок-схему, показанную на фиг. 6 и 7. В принципе, неважно какому серверу 111-126 запрос доступности маршрутизирован, поскольку все серверы доступности могут иметь самую актуальную информацию по доступности в результате широковещательных передач из основных систем 103, 106 управления запасами. Однако на практике нецелесообразно использовать сервер в Европе, чтобы обслуживать клиента в Азии. Например, во время настройки системы может быть решено маршрутизировать все запросы доступности, принятые от туристического агентства 143, через систему 133 распространения Abacus. Таким образом, система настраивается так, что туристическое агентство использует систему распространения, которая является самой близкой к нему, чтобы максимизировать производительность системы.
Клиент, такой как туристическое агентство 143, формирует запрос доступности на этапе 601. Туристическое агентство 143 затем отправляет запрос своей системе 133 распространения. Система 133 распространения затем перенаправляет запрос на уровень 403 обработки на этапе 603. Уровень 403 обработки содержит один или более серверов уровня обработки, которые описываются более подробно ниже со ссылкой на фиг. 3. Уровень 403 обработки определяет, что транзакция является транзакцией доступности, просматривая содержимое запроса. Если уровень 403 обработки определяет на этапе 605, что запрос является запросом продажи или аннулирования, тогда запрос перенаправляется серверу 103 или 106 для обработки на этапе 609, и это описывается более подробно ниже под заголовком "запрос продажи или аннулирования". Если, однако, на этапе 605, уровень 403 обработки определяет, что запрос является запросом доступности, тогда уровень 403 обработки перенаправляет запрос серверу 123 доступности, на этапе 607.
Фиг. 2 схематично показывает то, как разделенные на части данные и маршрутизированные запросы доступности сопоставляются на узлах 205, 207, 209, 211, 213 сети посредством уровня 403 обработки.
Уровень 403 обработки маршрутизирует запрос доступности одному из узлов 205, 207, 209, 211, 213 сети с помощью маршрутизации на основе содержимого, например, пунктов отправления-назначения из запроса доступности, как ранее описано. В отдельных случаях, запрос доступности может переходить от одного узла сети другому узлу сети. Однако, поскольку решение о маршрутизации принимается до того, как транзакция достигнет узла сети, это происходит редко.
По меньшей мере, некоторые из данных о резервах делятся на части между узлами 205, 207, 209, 211, 213 сети на основе ключа, как ранее описано. Например, некоторые данные о резервах сохраняются в сетевом запоминающем устройстве, которое ассоциировано с конкретным узлом сети. Ключ может быть ключом "пункт отправления-назначения", хотя данные могут быть разделены на части с помощью других ключей, таких как авиакомпания или диапазон данных. Как описано более подробно ниже, уровень обработки определяет, какому узлу сети запрос доступности должен быть маршрутизирован, на основе ключа поиска. Если ключ поиска соответствует ключу, который используется, чтобы делить на части данные на отдельном узле 205-213 сети, тогда запрос маршрутизируется этому узлу сети.
Таким образом, маршрутизация запросов минимизирует необходимость в трафике данных между узлами 205, 207, 209, 211, 213 сети. Разделенные на части данные сохраняются в сетевом запоминающем устройстве, ассоциированном с одним из узлов 205, 207, 209, 211, 213. Запоминающее устройство хранит поднабор данных, сохраненных в базе 217 данных. Обычно поднабор данных является совсем недавно запрошенными данными из базы 217 данных.
Например, если запрос доступности ссылается на рейс, начинающийся из Денвера, то уровень 403 обработки определяет, что пункт отправления из запроса доступности ссылается на Денвер, на этапе 607, и маршрутизирует запрос доступности узлу 209, который обслуживает запросы доступности для пунктов отправления-назначения CCD-DXX, на этапе 611.
Узел 209 сети затем проверяет, что он имеет самые актуальные данные в сетевом запоминающем устройстве, на этапе 613. Если данные в сетевом запоминающем устройстве не являются самыми актуальными данными, то узел 209 сети запрашивает основную систему управления запасами об отправке таких данных узлу 209 сети, на этапе 617, как показано стрелкой, указывающей от базы 217 данных к узлу 209 сети на фиг. 2, и стрелкой 105, показанной на фиг. 1.
Альтернативно или в дополнение, на этапе 613, может быть выполнено определение относительно того, доступны ли запрашиваемые данные из сетевого запоминающего устройства. Это может быть вследствие того, что сеть может не знать, имеет ли она полный набор запрашиваемых данных в сетевом запоминающем устройстве. В этом случае, узел сети, о котором идет речь, вероятно должен обращаться к базе 217 данных, чтобы извлекать данные.
Например, когда все тарифы, необходимые для данного рынка, запрашиваются, узел сети не знает, все ли тарифы уже сохранены в сетевом запоминающем устройстве. Следовательно, узел сети опрашивает базу 217 данных для того, чтобы получать эту информацию. Однако это, в свою очередь, увеличивает время ответа. Варианты осуществления изобретения предпочтительно избегают этого типа запроса из сети, которые увеличивают доступ к базе данных. Данные в сетевом запоминающем устройстве заменяются новыми данными из базы данных при необходимости.
Данные, сохраненные в сетевом запоминающем устройстве на узле 209 сети, включают в себя самые последние параметры управления запасами и текущее состояние запасов, широковещательно передаваемые основной системой управления запасами.
Если, с другой стороны, на этапе 613 определяется, что узел 209 сети имеет самые актуальные данные, и/или узел сети имеет все запрашиваемые данные, тогда узел 209 сети затем определяет доступность места на этапе 615, используя данные, сохраненные в сетевом запоминающем устройстве на узле 209 сети.
После того как узел 209 сети определил, доступны ли места, соответствующие запросу доступности, тогда он возвращает ответ системе 133 распространения на этапе 617, которая затем перенаправляет ответ туристическому агентству 143, т.е., клиенту 201, на этапе 619. Процесс может затем быть повторен для дальнейших запросов доступности, которые, конечно, могут быть приняты от различных клиентов, таких как туристическое агентство 144, туристическое агентство 145 или другие клиенты 146. Дополнительно, как объяснено выше, каждый клиент может использовать различный канал 108 распространения, и каждый запрос доступности может быть маршрутизирован через различный сервер доступности в зависимости от первоначальной конфигурации системы. Дополнительно, поскольку каждый запрос доступности может, в принципе, быть отличным, в зависимости от содержимого запроса доступности, последующие запросы доступности могут быть маршрутизированы через различные узлы 207, 209, 211, 213 сети, как ранее описано.
Таким образом, серверы 205, 207, 209, 211 сети в сети 215 выполняют процессы, которые требуются для того, чтобы работать с максимальной возможной скоростью, например, запросы доступности. Следовательно, использование сети резервируется для работы, которая требует совместно используемых ресурсов, такой как транзакции доступности. Следовательно, функции определения доступности выполняются одним из узлов 205, 207, 209, 211, 213 сети, формирующих сеть 215.
Оставшиеся процессы, такие как изменение расписания, согласованность и т.д., сбрасываются на один из узлов обработки (т.е., серверы 405, 407, 409, 411, показанные на фиг. 4) без согласия. Подключение к ресурсам узлов 405, 407, 409, 411 обработки на уровне обработки позволяет обеспечивать дополнительную производительность центрального процессора. Это, в свою очередь, минимизирует использование сети 215, что позволяет сети обслуживать больше клиентов. Все клиенты, такие как авиакомпания 141, городская билетная касса 142, туристическое агентство 143, 144, 145 и другие клиенты 146, осуществляют доступ к уровню 403 обработки через службу, называемую NGI-посредник.
Маршрутизация запросов доступности через один из узлов 205, 207, 209, 211, 213 сети устраняет доступ к распределенным объектам через кластер 215, таким как элементы управления доходами, расписания, маршруты и т.д., которые используются, когда выполняется вычисление доступности.
Тем не менее, целостность данных сети, сохраненных в узлах 205, 207, 209, 211, 213 сети, должна быть защищена для других потенциальных пользователей. Следовательно, серверы 205-213 сети не предоставляют оригинальную копию объекта, такого как элементы управления доходами, расписания, маршрут и т.д., по запросу; скорее, они клонируют объект, даже если клиенту не нужно обновлять объект. Это обусловлено тем, что клонирование может требовать платы за сборку "мусора" в таких системах. Варианты осуществления изобретения избегают этого, используя локальные кэши и менеджеры объектов, разделенные на уровни по сети.
Таким образом, варианты осуществления изобретения могут быть реализованы в стиле программирования, чтобы избегать формирования "мусора" до максимально возможной степени. Некоторые языки программирования, такие как Java, используют сборки "мусора". Это является автоматической функцией Java, которая выполняется для того, чтобы сохранять целостность данных и удалять данные, которые помечены как ненужные. Когда сбор "мусора" начинается, он может оказывать значительное влияние на производительность системы. Варианты осуществления изобретения поэтому избегают ненужного создания "мусора". Не допуская создания "мусора", сборки "мусора" могут быть менее частыми, тем самым, повышая производительность системы по сравнению с системами предшествующего уровня.
ЗАПРОС ПРОДАЖИ ИЛИ АННУЛИРОВАНИЯ
Этапы, выполняемые вариантами осуществления изобретения при маршрутизации запроса продажи или аннулирования места, будут описаны далее со ссылкой на фиг. 1-3. Транзакция продажи, в целом, является относительно медленной и нечастой транзакцией, в то время как транзакция доступности является более быстрой и более частой, чем транзакция продажи. Запросы продажи или аннулирования обслуживаются серверами 103-106, формирующими основную систему управления запасами, так что серверы 111-126 доступности не замедляются необходимостью выполнять запросы продажи или аннулирования.
Скорость и частота транзакций продажи и доступности зависит от соотношения просмотров к бронированиям. Оно определяется как число транзакций доступности, которые формируют одну транзакцию продажи. Соотношение просмотров к бронированиям равно приблизительно 200:1 в США, 400:1 в Европе и 1000:1 на Дальнем Востоке. Частота транзакций продажи и доступности тесно связана с бизнес-процессом рассматриваемой авиакомпании и с источником транзакций. Например, автоматизированный веб-сайт имеет тенденцию к созданию очень объемных транзакций.
Фиг. 3 показывает, как варианты осуществления изобретения могут также реализовать двухуровневый подход, в котором система разделена на сеть 215, где спорные ресурсы совместно используются, и где запросы доступности обслуживаются, и уровень 403 обработки, который решает, где запрос продажи или доступности должен быть обслужен, либо с помощью уровня 403 обработки, если запрос не требует высокопроизводительного времени ответа, такой как запрос продажи или аннулирования, либо с помощью одного из узлов 205-213 сети, если запрос имеет требования высокой производительности, такой как запрос доступности.
Следовательно, уровень 403 обработки управляет работой без необходимости в каких-либо сетевых ресурсах. Уровень 403 обработки содержит один или более серверов 405, 407, 409, 411, которые либо маршрутизируют запросы в сеть, либо обрабатывают эти запросы сами. Серверы 405, 407, 409, 411 обрабатывают более медленные транзакции продажи.
Серверы 405, 407, 409, 411 поддерживают множество служб, такие как службы доступности, служба продажи и служба аннулирования. То, как эти службы заданы, определяет, как запрос доступности, запрос продажи и запрос аннулирования обрабатываются на уровне обработки.
Серверы 405, 407, 409, 411 уровня обработки задают множество служб, которые могут быть найдены, или к которым может быть осуществлен доступ с помощью одного из серверов, способом, аналогичным тому, которым деловой или телефонный справочник могут быть использованы для поиска конкретной услуги делового характера или человека. Например, клиенты, такие как туристическое агентство 143, отыскивают службы, предоставляемые серверами уровня обработки, такие как запрос продажи, и отправляют его одному из серверов на уровне обработки в формате, требуемом серверами уровня обработки. Это осуществляется через служебную шину. Вызывающим системам необязательно нужно знать, где находится каждый сервер. Службы автоматически идентифицируются посредством служебной шины.
Когда происходит продажа, серверы 103, 106 актуализируются следующим образом. Например, система верхнего уровня, такая как туристическое агентство 144, запрашивает продажу и отправляет транзакцию в Galileo GDS 134.
Система 134 распространения затем перенаправляет запрос продажи одному из серверов 405, 407, 409, 411 на уровне 403 обработки. Служебная шина может связывать серверы 405, 407, 409, 411, так что запрос может быть корректно передан из одного из каналов 108 распространения любому доступному серверу 405, 407, 409, 411 уровня обработки.
Один из этих серверов на уровне 403 обработки анализирует содержимое запроса и определяет, что запрос является транзакцией продажи. Поскольку запрос является запросом продажи, один из серверов 405, 407, 409, 411 затем перенаправляет транзакцию одному из компьютерных узлов или серверов 103 или 106, поддерживающих основную систему управления запасами. Если запрос был запросом доступности, тогда содержимое запроса будет определено уровнем обработки, и запрос будет перенаправлен соответствующему узлу сети, как ранее описано со ссылкой на фиг. 6.
Служба продажи основной системы управления запасами затем запрашивает один из серверов 111-126 или 103, 106 доступности, чтобы вычислять доступность с помощью самой последней информации, принятой в широковещательной передаче от одного из серверов 103, 106 продажи. Эта проверка доступности выполняется непосредственно перед тем, как транзакция продажи завершается, чтобы проверять, что еще существует доступность, чтобы удовлетворять запросу доступности, как ранее описано. Это проверяет, что все еще существует доступность места, которое соответствует одному или более параметрам, включенным в запрос продажи, таким как цена, авиакомпания, пункт отправления и назначения и т.д., чтобы быть уверенным, что будущая продажа разрешена, только если все еще существует доступность для запрошенного класса тарифов.
Сервер доступности затем перенаправляет транзакцию обратно службе продажи для обработки. Квитанция о том, что транзакция продажи завершена, затем отправляется обратно, через Galileo GDS 134 туристическому агентству 144. В ответ на продажу, данные обновляются следующим образом, в зависимости от требований производительности.
Например, предположим, что место было продано, и база 217 данных должна быть обновлена, чтобы принимать это во внимание. Системы управления запасами предшествующего уровня блокируют базу данных до тех пор, пока данные обновляются. Это означает, что существует узкое место вследствие того, что службы доступности не могут реагировать, пока база данных обновляется.
Варианты осуществления изобретения решают эту проблему посредством асинхронной записи данных в базу данных. Например, предположим, что число проданных мест в базе 217 данных должно быть обновлено, чтобы принимать во внимание, что осталось только одно место на конкретном рейсе. Это важно, поскольку последующие запросы доступности будут возвращать корректную доступность места, если база данных была корректно обновлена.
Вместо обновления данных в базе 217 данных сервер 405 отправляет запрос одному из серверов 205, 207, 209, 211 в сети, чтобы обновлять число проданных мест в сетевом запоминающем устройстве. Данные, сохраненные в сетевом запоминающем устройстве, разделены на части по узлам 205, 207, 209, 211, 213 сети, как ранее описано. Сетевое запоминающее устройство также обновляется с помощью флага, который указывает, что данные о числе проданных мест в сетевом запоминающем устройстве более актуальные, чем число проданных мест в базе данных. Таким образом, последующие запросы доступности, которые принимаются системой прежде, чем данные в базе данных обновлены, проверяют флаг, сохраненный в сетевом запоминающем устройстве, чтобы определять, какие данные из данных, сохраненных в сетевом запоминающем устройстве или базе данных, являются более актуальными, и осуществляют доступ к наиболее актуальным данным, чтобы выполнять вычисление доступности.
Данные в базе данных обновляются данными, сохраненными в сетевом запоминающем устройстве с короткой задержкой. Однако в некоторых случаях данные сначала обновляются в базе данных, а затем, позже, сетевое запоминающее устройство обновляется самыми актуальными данными.
Например, предположим, что предложенная цена принимается от системы управления доходами. Допустимо для этих данных прибывать в сеть с некоторой задержкой. Это обусловлено тем, что данные сначала обновляются в базе данных и затем широковещательно передаются в сеть позднее.
Таким образом, способ записи данных зависит от требований производительности. Данные, которые не требуют высокой производительности, записываются в базу данных напрямую посредством уровня обработки сначала и затем позднее широковещательно передаются в сеть. Однако данные, которые критичны для вычисления доступности (такие как число проданных мест), записываются в сетевое запоминающее устройство сначала, а затем асинхронно записываются в базу данных.
В одном варианте осуществления данные отправляются предпочтительно серверу 103, хранящему базу данных, а не обоим серверам 103, 106. Сервер 103 регулярно обновляет базу данных, сохраненную на сервере 106, так что сервер 106 действует как сервер для переключения при отказе. Сервер 106 для переключения при отказе является дублирующим или резервным сервером, который может быть использован в случае, когда сервер 103 отказывает.
В альтернативном варианте осуществления данные отправляются обоим серверам 103 и 106. Данные маршрутизируются либо серверу 103, либо серверу 106 на основе содержимого отправляемых данных. Таким образом, база данных разделена на части между серверами 103 и 106. Эта конфигурация имеет преимущество в том, что параллельные серверы 103 и 106 имеют большую возможность обслуживания любого потенциального увеличения в пассажиропотоке.
В обеих ситуациях, в случае, когда один из серверов 103, 106 отказывает, дополнительный новый сервер может быть добавлен в систему управления запасами, так что всегда существует, по меньшей мере, один сервер для переключения при отказе, который может быть использован в случае, когда один из серверов 103 или 106 отказывает.
Обращаясь теперь к фиг. 4, эта схема показывает логическое изображение того, как функции продажи и доступности (т.е., транзакции продажи и доступности) отделены или отсоединены друг от друга. Хотя пространство 301 продажи и пространство доступности логически разделены, пространство 301 продажи и пространство 303 доступности могут находиться на одном узле или сервере. Узел может быть любым из узлов 205, 207, 209, 211, 213.
Разъединение транзакций доступности и продажи достигается посредством наличия приложения, которое содержит транзакции доступности и продажи как слабосвязанный набор служб. По существу, служба доступности не ограничена дисковым вводом/выводом, требуемым транзакцией продажи.
Однако все еще существует необходимость в связи между транзакциями продажи и транзакциями доступности, и, таким образом, каждая транзакция продажи должна обновлять информацию, необходимую для вычисления доступности, когда продажа произошла, как ранее описано. Это выполняется, как ранее описано, через специальный конвейер, ограниченный одной сетевой широковещательной передачей сообщения. Пространство доступности может сохраняться актуальным с транзакцией продажи через низкочастотные объемные обновления из пространства продажи. Обновления могут отправляться раз в секунду. Это сохраняет использование вычислительной сети на минимуме. Обновления схематично показаны на фиг. 4 с помощью стрелки, указывающей от пространства 301 продажи к пространству 303 доступности.
Однако следует отметить, что пространство 303 доступности не отправляет какие-либо обновления в пространство 301 продажи. Это обусловлено тем, что доступность является процессом только для чтения и, по существу, не обновляет какие-либо данные. Следовательно, транзакции продажи и доступности, можно сказать, должны быть асимметричными, поскольку выполнение транзакции продажи или аннулирования требует, чтобы пространство 303 доступности было обновлено, тогда как выполнение транзакции доступности не требует, чтобы пространство 301 продажи было обновлено.
Таким образом, транзакции доступности отправляются более быстро, чем более медленные транзакции продажи, поскольку они в значительной степени отсоединены от транзакций доступности.
Варианты осуществления изобретения также уменьшают или устраняют распределенные транзакции. Распределенные системы в конечном счете подвергаются и страдают от издержек распределенных транзакций. Это высокая цена, которую нужно заплатить за производительность, или в результате получается компромисс в транзакционной целостности.
Варианты осуществления изобретения не страдают от этих проблем. Это достигается посредством локализации всех объектов чтения или записи в одной части, следовательно, избегая издержек распределенных транзакций. Однако они все еще передают корректную информацию оставшимся узлам и сохраняют транзакционную целостность нетронутой.
Варианты осуществления изобретения также уменьшают число или устраняют локальные транзакции. Однако обновление объектов в сети 215 должно быть транзакционным. Локальная транзакция – это запрос, который один узел отправляет другому узлу. Они требуются при определенных обстоятельствах, которые требуют внутренней связи между узлами. Эти локальные транзакции минимизированы для того, чтобы минимизировать сетевые задержки.
Варианты осуществления изобретения добиваются этого с помощью выделенного менеджера объектов по сети 215 и с помощью выделенных кэшей объектов.
Узлы сети или сервер доступности в конечном счете должны быть обновлены самой последней информацией о проданных местах. Она широковещательно передается из пространства 301 продажи. Когда запрос доступности прибывает, и если он находится на пути столкновения с транзакционным обновлением, запросы и обновления обслуживаются в локальном кэше, прежде чем транзакционное обновление в сети будет выполнено. Это дает в результате отсутствие замедления в выполнении обслуживания. Даже если локальные обновления сети сохраняют транзакционную целостность, служебные запросы не испытывают ухудшения от таких транзакционных обновлений.
Варианты осуществления изобретения также имеют доступность, которая распределена по глобальной вычислительной сети. Варианты осуществления изобретения достигают этого посредством отделения транзакций доступности от транзакций продажи, ограничивая транзакции продажи пространством 301 продажи и ограничивая транзакции доступности пространством 303 доступности, и использование механизма обновления доступности с гораздо более медленными частотами и большими объемами делает возможным развертывание множественных, независимых, удаленных пространств доступности.
Варианты осуществления изобретения, которые разделяют доступность и продажу, позволяют выполнять развертывание удаленных пространств доступности там, где они необходимы, например, в большинстве GDS, больших авиакомпаниях и т.п. Это переворачивает сетевой трафик: транзакции доступности становятся локальными, они применяются там, где они необходимы и дешевы; а обновления в пространствах доступности являются менее частыми, большими по объему и чрезвычайно эффективными и низкозатратными.
Фиг. 5 показывает вариант осуществления изобретения, включающий в себя развертывание удаленных пространств доступности и обратный трафик от центральной сети к удаленным пространствам.
Фиг. 5 аналогична фиг. 3 и 4, и, таким образом, аналогичные признаки обозначены аналогичными ссылочными позициями, и они повторно не описываются. Однако вариант осуществления по фиг. 5 имеет локальные размещения в Европе 503 и Азии 501 и предоставляет ответы по доступности локально, тем самым, избегая тех транзакций, которые отправляются в местоположение удаленного сервера, такое как Атланта.
Это размещение не только предоставляет корректный ответ по доступности локально, но также создает значительную экономию затрат, устраняя затраты по отправке транзакций доступности в Атланту. В зависимости от соотношения просмотров к бронированию экономия затрат может быть очень значительной, поскольку объем данных, выдаваемых из Атланты в Азию и Европу, значительно меньше, чем устраненные транзакции доступности.
В заключение, варианты осуществления изобретения предоставляют возможность распространения в реальном времени или бесперебойной доступности в удаленных местоположениях, через WAN, без большого объема запросов доступности, приходящих непосредственно в CRS.
Это устраняет ошибки типа 1 и типа 2, ассоциированные с посредником, обмен AVS- или AVN-сообщениями и кэш-решения, описанные ранее. Ошибка типа 1 возникает, когда запрос доступности говорит, что существуют места, доступные для данного типа продукта, но в действительности их нет, таким образом, продажа не может быть успешно произведена. Ошибка типа 2 возникает, когда запрос доступности говорит, что нет мест, доступных для данного продукта, но в действительности существуют доступные места, следовательно, авиакомпании теряют потенциальную возможность продажи.
Варианты осуществления изобретения масштабируются на множество местоположений. Например, если конкретное решение применяется одним клиентом, оно может быть легко преобразовано для использования другим клиентом, поскольку можно легко и быстро развернуть новую сеть в каждой GDS.