×
25.08.2017
217.015.ade0

ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ

Вид РИД

Изобретение

Юридическая информация Свернуть Развернуть
№ охранного документа
0002612583
Дата охранного документа
09.03.2017
Краткое описание РИД Свернуть Развернуть
Аннотация: Изобретение относится к доставке данных. Технический результат заключается в обеспечении адаптированной к изменяемой ситуации доставки данных в вычислительных системах. Способ включает в себя этап, на котором определяют относительную денежную ценность данных, по отношению к времени, в конкретный момент времени. Способ дополнительно включает в себя этап, на котором, на основании этой определенной денежной ценности, предоставляют данные набору из одного или нескольких потребительских устройств конечного пользователя для потребителей, коррелированных с этой денежной ценностью. 3 н. и 17 з.п. ф-лы, 11 ил.
Реферат Свернуть Развернуть

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ И УРОВЕНЬ ТЕХНИКИ

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

Дополнительно, функциональные возможности вычислительных систем могут быть расширены благодаря способности вычислительных систем устанавливать связь с другими вычислительными системами через сетевые соединения. Сетевые соединения могут включать в себя, но не ограничиваются этим, соединения через проводную или беспроводную сеть Ethernet, соединения сотовой связи или даже соединения компьютера с компьютером через последовательные, параллельные, USB или другие соединения. Эти соединения позволяют вычислительной системе получать доступ к службам в других вычислительных системах и быстро и эффективно принимать данные приложений из другой вычислительной системы.

Многие компьютеры предназначены для использования прямого взаимодействия пользователя с компьютером. В связи с этим, компьютеры имеют входные аппаратные и программные пользовательские интерфейсы, чтобы облегчить взаимодействие пользователя с системой. Например, современный универсальный компьютер может включать в себя клавиатуру, манипулятор "мышь", сенсорную панель, камеру и т.д., чтобы дать пользователю возможность вводить данные в компьютер. Помимо этого, могут предоставляться различные программные пользовательские интерфейсы.

Примеры программных пользовательских интерфейсов включают в себя графические пользовательские интерфейсы, пользовательский интерфейс на основе текстовой командной строки, пользовательский интерфейс с функциональными клавишами или "горячими" клавишами и т.п.

Приложения, соединенные с сетью Интернет, обеспечивают увеличение ценности для конечного пользователя благодаря эффективному использованию и установлению взаимосвязей для наборов данных. Поставщики географических данных, к примеру, получают и имеют получаемые в течение длительного времени значительные доходы от предоставления точной информации для карт и навигации. Для приложений, особенно, в том числе, и при перемещении в пространстве, полнота ценности для пользователя чаще всего прямо соответствует количеству и точности данных, на которые могут опираться приложения. Навигационное приложение, к примеру, получит большое преимущество, чтобы эффективно использовать не только географические данные, но и иметь возможность использовать информацию о гостиницах, ресторанах и заправочных станциях, об универсальных магазинах и торговых центрах и их времени работы, информацию о дорожном движении, оповещения о погоде, и все, что могло бы представлять интерес для кого-то во время перемещения. Поскольку доступ к структурированным данным становится все более важным для конкурентоспособности приложения и полноты ценности для пользователя, имеется рост рыночных возможностей у поставщиков, владельцев и производителей данных для перепродажи имеющихся у них данных для таких целей и существует расширение возможностей у поставщиков инфраструктуры для предоставления инфраструктур торговых площадок, которые позволяют поставщикам продавать и распределять такие данные.

В то же время, поставщики данных в реальном времени и почти в реальном времени имеют долгосрочно получаемые значительные доходы от предоставления доступа к 'свежим' данным, что особенно ценно, притом что они отражают текущую или совсем недавно наблюдаемую действительность. Примерами являются данные финансового рынка, актуальные деловые и мировые новости или спортивные результаты. Данные о ценообразовании на финансовом рынке, к примеру, являются наиболее ценными в течение нескольких секунд или даже миллисекунд в отношении устанавливаемой цены. Они теряют почти всю свою ценность через 15 минут, а потом восстанавливают некоторую ценность, поскольку они становятся историческими данными, используемыми для составления графиков и других аналитических целей.

Изобретение, заявляемое в данном документе, не ограничивается вариантами осуществления, которые устраняют какие-либо недостатки или которые работают только в таких рабочих средах, как описанные выше. Скорее, это описание предшествующего уровня техники предоставляется только чтобы пояснить одну иллюстративную технологическую область, в которой могут быть осуществлены на практике некоторые варианты осуществления, описываемые в данном документе.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

Один вариант осуществления, продемонстрированный в данном документе, относится к способу, осуществляемому на практике в вычислительной системе. Способ включает в себя действия для доставки данных. Способ включает в себя этап, на котором определяют относительную денежную ценность данных, по отношению к времени, в конкретный момент времени. Способ дополнительно включает в себя этап, на котором, на основании этой определенной денежной ценности, предоставляют данные набору из одного или нескольких потребительских устройств конечного пользователя для потребителей, коррелированных с этой денежной ценностью.

Другой вариант осуществления, продемонстрированный в данном документе, относится к способу, осуществляемому на практике в вычислительной системе. Способ включает в себя действия для доставки данных. Способ включает в себя этап, на котором определяют потребительский класс для потребителей данных. Способ дополнительно включает в себя этап, на котором определяют срок действия данных перед предоставлением данных на устройства конечного пользователя, коррелированные с потребительским классом, чтобы соответствовать этому потребительскому классу.

Этот раздел "Раскрытие изобретения" предусмотрен для представления в упрощенной форме подборки концепций, которые дополнительно описываются ниже в разделе "Осуществление изобретения". Этот раздел "Раскрытие изобретения" не предназначен ни для идентификации ключевых признаков или существенных признаков заявляемого изобретения, ни для использования в качестве помощи при определении объема заявляемого изобретения.

Дополнительные признаки и преимущества будут изложены в описании, которое последует ниже, и частично будут понятны из этого описания или могут быть изучены при практическом осуществлении идей, изложенных в данном документе. Признаки и преимущества настоящего изобретения могут быть реализованы и достигнуты посредством инструментальных средств и комбинаций, конкретно указанных в прилагаемой формуле изобретения. Признаки настоящего изобретения станут в большей степени очевидными из последующего описания и прилагаемой формулы изобретения либо могут быть изучены при практическом осуществлении настоящего изобретения, как изложено в дальнейшем в этом документе.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Для того чтобы описать, каким образом могут быть достигнуты вышеперечисленные и другие преимущества и признаки, более конкретное описание изобретения, кратко описанного выше, будет представлено со ссылкой на конкретные варианты осуществления, которые продемонстрированы на прилагаемых чертежах. Подразумевая, что эти чертежи изображают только типичные варианты осуществления и, следовательно, не должны рассматриваться как ограничивающие охватываемый объем, варианты осуществления будут описываться и поясняться с дополнительной спецификой и детализацией посредством сопроводительных чертежей, на которых:

Фиг. 1 демонстрирует график ценности данных в динамике по времени;

Фиг. 2 демонстрирует рабочую среду рынка данных о событиях;

Фиг. 3 демонстрирует альтернативное изображение рабочей среды рынка данных о событиях;

Фиг. 4 демонстрирует альтернативное изображение рабочей среды рынка данных о событиях;

Фиг. 5 демонстрирует альтернативное изображение рабочей среды рынка данных о событиях;

Фиг. 6 демонстрирует систему сбора и распределения данных о событиях;

Фиг. 7 демонстрирует пример системы сбора данных о событиях;

Фиг. 8 демонстрирует пример системы распределения данных о событиях;

Фиг. 9 демонстрирует систему сбора и распределения данных о событиях;

Фиг. 10 демонстрирует способ доставки данных; и

Фиг. 11 демонстрирует другой способ доставки данных.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

Некоторые данные могут получать ценность на основании и по результатам их 'свежести'. Например, финансовые данные, такие как котировки акций, могут иметь ценность, которая падает очень быстро с течением времени. В то же время, если данные могут быть предоставлены очень быстро, например, в течение нескольких миллисекунд, эти данные могут иметь очень высокую ценность. Таким образом, свежие данные могут быть крайне востребованы и могут быть предоставлены некоторым образом, подобно тому, как предоставляются данные, поставляемые из доступных по запросу банков данных и/или от торговых площадок данных.

Некоторые варианты осуществления, описываемые в данном документе, могут реализовывать торговую площадку для данных о событиях. Некоторые варианты осуществления могут предоставлять платформу и систему торговой площадки распределения данных для данных в реальном времени. Некоторые варианты осуществления могут включать в себя эффективную систему многоадресной доставки событий, чтобы сократить время доставки и поддерживать большую ценность данных, предоставляя их в более свежем состоянии. Некоторые варианты осуществления могут создавать возможность для доставки в системы извещающего уведомления. Некоторые варианты осуществления могут включать в себя механизмы для накапливания статистических данных и данных отслеживания распределения для сценариев составления счетов и/или выписывания счетов по поручению. Дополнительно, некоторые варианты осуществления могут включать в себя соглашение об уровне услуг (SLA) доставки с разбиением на классы.

Фиг. 1 демонстрирует график 100, демонстрирующий ценность данных в динамике по времени. Как продемонстрировано, когда впервые создаются оперативные данные, описывающие имеющийся факт, эти данные могут иметь значительную ценность. Ценность быстро падает через какое-то время до точки, в которой данные нулевые или около того. Затем данные восстанавливают некоторую ценность через какое-то время, поскольку они имеют ценность в качестве исторического факта, который может быть заархивирован и найден позже. Таким образом, целесообразно обеспечить возможность предоставления текущих данных конечным пользователям как можно быстрее.

Один из способов быстрого предоставления данных осуществляется при посредничестве системы уведомлений о событиях и, в частности, с использованием эффективной системы уведомлений о событиях, которая более подробно описывается ниже. Этим способом данные могут быть предоставлены пользователям настолько быстро, насколько система уведомлений о событиях способна довести данные до конечных пользователей. Соответственно, если пользователь может быть немедленно уведомлен и обеспечен имеющимися данными о факте, ценность этих данных может быть сохранена. Это дополнительно дало бы возможность взыскивать более высокую плату (либо от поставщика данных, либо от потребителя данных) за предоставление данных.

Фиг. 2 демонстрирует пример рынка 202 данных, который может использовать систему распределения событий для предоставления данных. Фиг. 2 демонстрирует поставщика 204 данных, который может предоставлять данные на рынок 202 данных о событиях. Поставщик 204 данных может быть любым из множества различных источников, таких, но не ограничиваясь этим, как поставщики финансовых данных, поставщики спортивных информационных данных, поставщики новостной информации и т.д. Рынок 202 данных о событиях может быть посредником в операциях с данными, который принимает данные из множества разных источников и распределяет данные конечным потребителям (показаны как получатели 206).

Фиг. 2 демонстрирует три группы получателей, в том числе индивидуальных подписчиков на данные, групповых подписчиков на данные и подписчиков, которые принимают информацию благодаря наличию конкретного приложения или решения, развернутого на устройстве конечного пользователя. Другие группы подписчиков, хоть и не показаны особо, могут быть реализованы дополнительно или в качестве альтернативы.

Плата за доставку данных может быть структурирована множеством разных способов. Фиг. 3 и 4 демонстрируют два примера того, как может выполняться монетизация доставки данных.

В первом примере, продемонстрированном на Фиг. 3, счет за доставку данных выставляется поставщику 204 данных. Рынок 202 данных о событиях может предоставлять поставщику 204 данных статистические данные 208 о доставке данных, и поставщик 204 данных может самостоятельно выставлять счет получателям 206 данных.

Во втором примере, продемонстрированном на Фиг. 4, рынок 202 данных может выставлять счет напрямую получателям 206. Рынок 202 данных может затем взять свою долю и передать любые добавочные финансовые средства поставщику данных.

Теперь обратимся к Фиг. 5, как отмечалось ранее, данные могут быть тем более ценными, чем быстрее они могут быть доставлены. Таким образом, некоторые варианты осуществления могут предоставлять данные, основываясь на сумме, уплаченной подписчиком (например, получателем) или поставщиком 204 данных. Например, подписчики, которые платят большие деньги за данные, могут получать доставку своих данных с использованием инфраструктуры, разработанной или оптимизированной для доставки данных с большей скоростью, чем некоторая другая инфраструктура, используемая для доставки данных подписчикам, которые платят меньшие деньги за свои данные. Это может предусматривать использование элементов инфраструктуры (например, обслуживающих узлов), которые находятся ближе к подписчикам, что позволяет быстрее доставлять данные.

В качестве альтернативы или дополнительно, данные могут блокироваться на поставщике 204 данных, при этом блокирование дает возможность доставлять данные с переменной задержкой. Например, эксклюзивные подписчики могут иметь возможность принимать данные в реальном времени почти без задержки от времени генерирования данных до времени доставки данных, тогда как для других подписчиков данные могут преднамеренно задерживаться, причем задержка зависит от уровня обслуживания, на который подписался подписчик. Например, в некоторых вариантах осуществления, поставщики данных могут предложить ограниченное число эксклюзивных соглашений об обслуживании, гарантирующих доставку оперативных данных в течение очень короткого отрезка времени. В силу исключительности и дефицитности этих соглашений, поставщик данных потенциально может взимать большее вознаграждение за эти соглашения. Второй уровень ограниченных соглашений может быть предоставлен за меньшее вознаграждение. Оперативные данные будут задерживаться по сравнению с предоставлением подписчикам на эксклюзивное обслуживание. Могут быть предусмотрены различные уровни, в том числе уровни бесплатного предоставления данных после достаточно длительной привнесенной задержки.

Нижеследующее демонстрирует пример особо эффективной системы событий для предоставления данных о событиях в режиме реального времени.

Такой пример продемонстрирован на Фиг. 6. Фиг. 6 демонстрирует пример, в котором информация от большого числа разных источников доставляется большому количеству разных целевых объектов. В некоторых примерах, информация от единственного источника или информация, собранная от множественных источников, может использоваться для создания единственного события, которое доставляется большому количеству целевых объектов. Это может быть выполнено, в некоторых вариантах осуществления, с использованием топологии с разветвлением по выходу, как продемонстрировано на Фиг. 6.

Фиг. 6 демонстрирует источники 116. Как будет обсуждено дальше в данном документе, варианты осуществления могут использовать сегменты 140 сбора. Каждый из сегментов 140 сбора может включать в себя ряд источников 116. Может иметься потенциально большое количество и разнообразие источников 116. Источники 116 предоставляют информацию. Такая информация может, например, включать в себя, но не ограничиваясь этим, электронную почту, текстовые сообщения, котировки акций в режиме реального времени, результаты спортивных соревнований в режиме реального времени, сводки новостей и т.д.

Фиг. 6 демонстрирует, что каждый сегмент включает в себя средство сбора, такое как иллюстративное средство 118 сбора. Средство 118 сбора накапливает информацию от источников 116 и на основании этой информации генерирует события. В примере, продемонстрированном на Фиг. 6, множество событий демонстрируется как сгенерированное средствами сбора с использованием различных источников. Событие 104-1 используется для иллюстрации. В некоторых вариантах осуществления, событие 104-1 может быть нормализовано, как разъясняется далее в данном документе. Средство 118 сбора может быть службой в сети, такой, как сеть Интернет, которая собирает информацию от источников 116 в сети.

Фиг. 6 демонстрирует, что событие 104-1 отправляется в раздел 144 распределения. Раздел 144 распределения рассредоточивает события по множеству сегментов распределения. Сегмент 120-1 распределения используется в качестве аналога для всех сегментов распределения. Каждый сегмент распределения обслуживает ряд конечных пользователей или устройств, представленных подписками. Число подписок, обслуживаемых сегментом распределения, может отличаться от других сегментов распределения. В некоторых вариантах осуществления, число подписок, обслуживаемых сегментом, может зависеть от емкости сегмента распределения. В качестве альтернативы или дополнительно, сегмент распределения может быть выбран для обслуживания пользователей, основываясь на логической или географической близости к конечным пользователям. Это может позволить доставлять предупреждения конечным пользователям более своевременно.

В продемонстрированном примере, сегмент 120-1 распределения включает в себя средство 122-1 распределения. Средство 122-1 распределения обращается за информацией к базе 124-1 данных. База 124-1 данных включает в себя информацию о подписках с подробностями о соотнесенных целевых объектах 102 доставки. В частности, база данных может включать в себя такую информацию, как информация, описывающая платформы для целевых объектов 102, приложения, используемые целевыми объектами 102, сетевые адреса для целевых объектов 102, пользовательские настройки конечных пользователей, использующих целевые объекты 102 и т.д. Используя информацию в базе 124-1 данных, средство 122-1 распределения формирует пакет 126-1, причем пакет 126-1 включает в себя событие 104 (или, по меньшей мере, информацию из события 104) и маршрутную карту 128-1, идентифицирующую множество целевых объектов 102 из числа целевых объектов 102, которым будет отправлена информация из события 104-1 в качестве уведомления. Затем пакет 126-1 помещается в очередь 130-1.

Сегмент 120-1 распределения может включать в себя ряд средств доставки. Средства доставки выводят пакеты из очереди 130-1 и доставляют уведомления на целевые объекты 102. Например, средство 108-1 доставки может взять пакет 126-1 из очереди 130-1 и отправить информацию о событии 104 на целевой объект 102, идентифицированный в маршрутной карте 128-1. Таким образом, уведомления 134, включающие в себя информацию о событии 104-1, могут быть отправлены от различных сегментов распределения на целевые объекты 102 во множестве разных форматов, подходящих для разных целевых объектов 102 и точно определенных для конкретных целевых объектов 102. Это дает возможность создавать персонализированные уведомления 134, индивидуализированные для каждого конкретного целевого объекта 102, исходя из общего события 104-1, на границе системы доставки, а не проводить большое число персонализированных уведомлений через систему доставки.

Нижеследующее демонстрирует альтернативные описания систем накопления информации и распределения событий, которые могут использоваться в некоторых вариантах осуществления.

В качестве основы, система согласно одному варианту осуществления использует инфраструктуру публикации/подписки, которая предоставляется в Windows Azure Service Bus, поставляемой компанией Microsoft Corporation, Редмонд, Вашингтон, но которая также присутствует в подобной форме и в различных других системах обмена сообщениями. Эта инфраструктура обеспечивает две функциональные возможности, которые облегчают описанную реализацию предлагаемого способа: Разделы и Очереди.

Очередь (Queue) представляет собой структуру хранения для сообщений, которая позволяет добавлять (ставить в очередь) сообщения в последовательном порядке и извлекать (выводить из очереди) сообщения в том же порядке, в каком они были добавлены. Сообщения могут добавляться и извлекаться любым количеством одновременно действующих клиентов, с учетом выравнивания нагрузки на стороне постановки в очередь и уравновешивания нагрузки по обработке между получателями на стороне вывода из очереди. Очередь также дает субъектам возможность получить блокировку на сообщении по мере того, как оно выводится из очереди, давая потребляющему клиенту возможность четкого управления над ним, когда сообщение фактически удаляется из очереди, или же оно может быть восстановлено в очереди в случае, если обработка выбранного сообщения завершается неуспешно.

Раздел (Topic) представляет собой структуру хранения, которая имеет все характеристики Очереди, но предусматривает несколько одновременно существующих 'подписок', каждая из которых дает возможность изолированного, фильтрованного представления поверх последовательности поставленных в очередь сообщений. Каждая подписка в Разделе производит копию каждого поставленного в очередь сообщения в том случае, если соотнесенное условие(я) фильтра подписки безусловно соответствует сообщению. В результате, сообщение, поставленное в очередь в Раздел с 10 подписками, когда каждая подписка имеет простое условие 'прохождения', соответствующее всем сообщениям, даст в общей сложности 10 сообщений, одно для каждой подписки. Подписка может, подобно Очереди, иметь несколько одновременно действующих потребителей, обеспечивая уравновешивание нагрузки по обработке между получателями.

Другим основополагающим понятием является понятие 'событие', которое, с точки зрения базовой инфраструктуры публикации/подписки, является всего лишь сообщением. Применительно к одному варианту осуществления, событие подчиняется набору простых ограничений, регулирующих использование тела сообщения и параметров сообщения. Тело сообщения события обычно передается в виде непрозрачного блока данных и любые данные о событии, рассматриваемые одним вариантом осуществления, как правило, передаются в параметрах сообщения, которые представляют собой набор пар ключ/значение, который является частью сообщения, представляющего событие.

Обратимся теперь к Фиг. 7, задача архитектуры согласно одному варианту осуществления состоит в том, чтобы массово собирать данные о событии от широкого разнообразия разных источников 116 и пересылать эти события в инфраструктуру публикации/подписки для дальнейшей обработки. Обработка может включать в себя некоторую форму анализа, оперативный поиск, или перераспределение событий заинтересованным подписчикам посредством механизмов уведомления с использованием pull-технологии (передача информации по запросу клиента) либо push-технологии (передача информации всем подписчикам услуги).

Архитектура согласно одному варианту осуществления определяет средство 118 сбора, модель для устройств согласования сбора и нормализации события, сегментированное хранилище 138 для размещения метаданных об источниках 116 сбора, общую модель сегментирования и планирования, и модель для того, как передавать инициированные пользователем изменения состояния источников 116 сбора в систему во время выполнения и без необходимости дополнительных поисков в базе данных.

В реальной реализации, сбор может поддерживать реальные устройства согласования сбора для исходных событий от широкого разнообразия публичных и частных сетевых служб, включающих в себя каналы RSS, Atom и OData, почтовые ящики электронной почты, в том числе, но не ограничиваясь такими, поддерживающие протоколы IMAP и POP3, информационные источники 116 социальных сетей, такие, как ленты сообщений Twitter или стены Facebook, и подписки на внешние инфраструктуры публикации/подписки, такие как Windows Azure Service Bus или Simple Queue Service от Amazon.

Нормализация события

Данные о событии нормализуются, чтобы сделать события практически потребляемыми подписчиками на инфраструктуру публикации/подписки, которым они переадресуются. Под нормализацией понимается, в данном контексте, что события сопоставляются с общей моделью событий с непротиворечивым представлением информационных элементов, которые могут представлять интерес для широкого круга подписчиков в различных контекстах. Выбранная в данном документе модель является простым представлением события в форме плоского списка пар ключ/значение, которые могут сопровождаться одной, непрозрачной, двоичной порцией данных, не интерпретируемой системой в дальнейшем. Это представление события легко представимо на большинстве инфраструктур публикации/подписки, а также очень четко сопоставляется с общими протоколами сети Интернет, такими как HTTP.

Для демонстрации нормализации события, рассмотрим сопоставление канала RSS или Atom с событием 104 (см. Фиг. 1 и 2). RSS и Atom представляют собой два стандарта сети Интернет, которые очень широко используются для публикации новостей и другой актуальной информации, часто в хронологическом порядке, и это помогает сделать такую информацию доступной для обработки в компьютерных программах в структурированном виде. RSS и Atom имеют общую очень похожую структуру и набор по-разному именуемых, но семантически идентичных, элементов данных. Итак, первый этап нормализации должен определить общие имена в качестве ключей для таких семантически идентичных элементов, которые определены в обоих стандартах, например, заголовок или резюме. Во-вторых, данные, которые встречаются только в одном, но не в другом стандарте, обычно сопоставляются с соответственным 'родным' именем. Помимо этого, эти виды каналов часто несут 'расширения', являющиеся элементами данных, которые не определены в основном стандарте, но используют возможности расширяемости в соответственных стандартах для добавления дополнительных данных.

Некоторые из этих расширений, в том числе, но не ограничиваясь этим, GeoRSS для геопозиционирования или OData для внедрения структурированных данных в Atom-каналы, сопоставляются универсальным способом, который является общим для разных источников 116 событий, так что подписчик на инфраструктуру публикации/подписки, в которой порождаются события, может интерпретировать информацию геопозиционирования единообразно, независимо от того, были данные собраны из RSS или Atom или ленты сообщений Twitter. Продолжая рассматривать пример с GeoRSS, простое выражение GeoRSS, представляющее географическую 'точку', может, соответственно, сопоставляться с парой числовых параметров 'Широта'/'Долгота', представляющих координаты в международной системе координат WGS84.

Расширения, которые несут комплексные, структурированные данные, такие как OData, могут реализовывать модель сопоставления, которая сохраняет комплексный тип структуры и данных, без усложнения основополагающей модели событий. Некоторые варианты осуществления проводят нормализацию до канонического и компактного представления комплексных данных, как JSON, и сопоставляют параметр комплексных данных, например, параметр OData 'Арендатор' комплексных данных типа 'Человек', с парой ключ/значение, причем ключом является имя 'Арендатор' параметра, а значение выражается комплексными данными, описывающими человека с именем, биографической информацией, а также адресной информацией, представленными в упорядоченной форме JSON. Если источником данных является XML-документ, как в случае RSS или Atom, значение может создаваться путем преобразования XML-данных в JSON с сохранением структуры, обеспечиваемой XML, но выравнивая такие частности XML, как атрибуты и элемент, подразумевая, что и атрибуты и элементы XML, которые являются подчиненными одного и того же узла XML-элемента, сопоставляются с параметрами JSON как 'узлы-братья', без различения в дальнейшем.

Источники и сегментирование

Архитектура согласно одному варианту осуществления фиксирует метаданные об источниках 116 данных в записях 'описание источника', которые могут быть сохранены в базе 138 данных источников. 'Описание источника' может иметь набор общих элементов и набор элементов, специфичных для источника данных. Общие элементы могут включать в себя имя источника, продолжительность временного интервала, в течение которого источник 116 считается действительным, удобочитаемое для человека описание и тип источника 116 для установления различий. Специфичные для источника элементы зависят от типа источника 116 и могут включать в себя сетевой адрес, учетные данные или другие значимые данные ключа безопасности для получения доступа к ресурсу, представленному этим адресом, и метаданные, которые дают указания устройству согласования сбора источника либо выполнять сбор данных определенным образом, возможно, предоставляя временной интервал для проверки RSS-канала, либо выполнять пересылку событий определенным образом, например, отделять события, собранные из новостного канала текущих событий, промежутками, по меньшей мере, в 60 секунд, чтобы получатели уведомлений имели возможность увидеть каждый краткий новостной сюжет на ограниченной поверхности экрана, если нужно создать впечатление непрерывности.

Описания источников размещаются в одном или нескольких хранилищах, таких как база 138 данных источников. Описания источников могут быть сегментированы по этим хранилищам и внутри них по двум осям различения.

Первая ось является установлением различий системным арендатором. Системные арендаторы или 'пространства имен' являются механизмом для создания обособленных областей для объектов в пределах системы. Показывая конкретный случай, если "Фред" является пользователем системы, реализующей один вариант осуществления, Фред сможет создать область арендатора, которая предоставляет Фреду обособленную, виртуальную рабочую среду, в которой могут размещаться описания источников, а также конфигурация и состояние, совершенно независимо от других источников 116 в системе. Эта ось может служить фактором различения для рассредоточения описаний источников по хранилищам, в частности и в тех случаях, когда арендатору нужна обособленность хранимых метаданных (которые могут включать в себя важные для безопасности данные, такие, как пароли), или вследствие технических, регламентных или коммерческих причин. Системный арендатор также может обозначать взаимосвязь с конкретным центром обработки данных, в котором размещаются данные описания источников, и откуда должен быть выполнен сбор данных.

Вторая ось может быть различением по числовому идентификатору сегмента, выбранному из предварительно заданного диапазона идентификаторов. Идентификатор сегмента может быть получен из инвариантов, содержащихся в описании источников, таких, например, как имя источника и идентификатор арендатора. Идентификатор сегмента может быть получен из этих инвариантов с использованием хэш-функции (одним из многих вариантов является хэш-функция Дженкинса, см. http://www.burtleburtle.net/bob/hash/doobs.html), и результирующее значение хеш-функции вычисляется по нисходящей в диапазоне идентификаторов сегмента, возможно, с использованием функции модуля на значении хеш-функции. Диапазон идентификаторов выбирается так, чтобы быть больше (и может быть существенно больше), чем наибольшее число сегментов хранения, которое, как ожидается, необходимо для хранения всех описаний источников, когда-либо размещавшихся в системе.

Введение сегментов хранения обычно обусловлено ограничениями по емкости, которые либо непосредственно связаны с квотами емкости в базовом хранилище данных, либо связаны с ограничениями по емкости, затрагивающими средство 118 сбора, такими как ограничения по полосе частот для данного центра обработки данных или секции центра обработки данных, что может привести к вариантам осуществления, создающим сегменты 140 сбора, которые задействуют емкость по разным центрам обработки данных или секторам центра обработки данных, чтобы удовлетворить потребностям полосы пропускания на входе. Сегменту хранения принадлежит подмножество полного диапазона идентификаторов и взаимосвязь записи описания источника с сегментом хранения (и ресурсами, необходимыми для доступа к нему), таким образом, может быть выведена напрямую из его идентификатора сегмента.

Помимо обеспечения оси сегментирования хранения, идентификатор сегмента также используется для заданий планирования или сбора, и четкого определения отношения принадлежности сегмента 140 сбора данному описанию источника (которое теоретически отличается от отношения с сегментом хранения).

Принадлежность и сегменты сбора

Каждое описание источника в системе может принадлежать определенному сегменту 140 сбора. Используется четкая и однозначная принадлежность, потому что система не собирает параллельно события от точно такого же источника 116 в нескольких местах, поскольку это может привести к порождению дублирующихся событий. Для уточнения, один RSS-канал, определенный в пределах области арендатора, принадлежит ровно одному сегменту 140 сбора в системе и в пределах этого сегмента есть один запланированный сбор, выполняемый на конкретном канале в любой данный момент времени.

Сегмент 140 сбора приобретает право владения описанием источника посредством приобретения права владения диапазоном идентификаторов сегментов. Диапазон идентификаторов может назначаться сегменту 140 сбора с использованием внешней и специализированной системы сегментирования, которая может иметь возможности обхода отказа и может назначать главных/резервных владельцев, или с использованием более простого механизма, когда диапазон идентификаторов сегментов равномерно рассредоточивается по числу отдельных рассчитанных экземпляров, выполняющих роль средств сбора. При более сложной реализации с внешней системой сегментирования, избранный главный владелец для сегмента отвечает за выбор планирования заданий, если система стартует из 'холодного' состояния, то есть сегмент не имел предыдущего владельца. В более простом сценарии, рассчитанный экземпляр, владеющий сегментом, сам и выбирает планирование.

Планирование

Потребности планирования для заданий сбора зависят от характера реального источника, но, как правило, есть два вида моделей сбора, которые реализуются в некоторых описываемых вариантах осуществления.

В первой модели, владелец инициирует некоторую форму соединения или долгосрочный сетевой запрос на сетевой службе источника и ждет данные, которые должны быть возвращены по этому соединению в виде дейтаграмм или потока. В случае долгосрочного запроса, часто его еще называют длинный опрос, сетевая служба источника будет удерживать запрос до истечения времени ожидания или пока данные не станут доступными, в свою очередь, устройство согласования сбора будет ждать завершения запроса с выводом полезной информации или без этого, а затем повторно посылает запрос. В результате, эта модель планирования сбора имеет форму 'сплошного' цикла, который инициируется, когда владелец источника 116 узнает об источнике, и при этом новый запрос или соединение инициируется немедленно в тот момент, когда текущее соединение или запрос завершается или временно прерывается. Поскольку владелец непосредственно контролирует сплошной цикл, цикл может надежно поддерживаться, пока владелец работает. Если владелец останавливается и перезапускается, цикл тоже перезапускается. Если меняется принадлежность, цикл останавливается, и новый владелец начинает цикл.

Во второй модели, сетевая служба источника поддерживает не долгосрочные запросы или соединения, выдающие данные по мере того, как они становятся доступными, а обыкновенные службы запрос/ответ, которые немедленно выдают результат всякий раз, когда делается запрос. В таких службах, и это относится ко многим ресурсам "Всемирной паутины" (Web), запрашивание данных в непрерывном сплошном цикле приводит к огромной нагрузке на источнике 116, а также вызывает значительный поток информационного обмена в сети, который либо просто указывает, что источник 116 не изменился, либо, в худшем случае, много раз переносит одни и те же данные. Чтобы уравновесить потребности своевременного сбора событий, и не перегружать источник 116 бесполезным потоком информационного обмена запросов, средство 118 сбора в связи с этим будет исполнять запросы в цикле 'заданной длительности', в котором запросы на источнике 116 исполняются периодически, основываясь на интервале, который обеспечивает уравновешивание этих обстоятельств, а также принимает во внимание рекомендации от источника 116. Цикл 'заданной длительности' инициируется, когда владелец источника 116 узнает об источнике.

Есть два заслуживающих внимания варианта реализации для цикла заданной длительности. Первый вариант предназначен для сценариев режима максимальных усилий в небольшом масштабе и использует локальные, в оперативной памяти, синхронизирующие объекты для планирования, что приводит к характеристикам масштаба, управления и перезапуска, аналогичным характеристикам сплошного цикла. Цикл инициируется и сразу планирует обратный вызов по таймеру, вызывающий запуск первого прохода цикла задания сбора. Когда это задание завершено (даже с ошибкой), и определяется, что цикл должен продолжать исполняться, другой обратный вызов по таймеру планируется на тот момент, когда задание должно быть выполнено в следующий раз.

Второй вариант использует 'запланированные сообщения', что является особенностью некоторых систем публикации/подписки, в том числе Windows Azure Service Bus. Этот вариант обеспечивает значительно больший масштаб сбора за счет несколько более высокой сложности. Цикл планирования инициируется владельцем, и сообщение помещается в очередь планирования сегмента сбора. Сообщение содержит описание источника. Впоследствии оно забирается исполнителем, который выполняет задание сбора и затем ставит в очередь результирующее событие в целевую систему публикации/подписки. В заключение, он также ставит новое 'запланированное' сообщение в очередь планирования. Это сообщение называется 'запланированным', так как оно помечается моментом времени, в который оно становится доступным для извлечения любым потребителем в очереди планирования.

В этой модели, сегмент 140 сбора может горизонтально масштабироваться при наличии одной роли 'владелец', который сначала выбирает планирование и который может быть сопоставлен с любым числом ролей 'исполнитель', которые выполняют фактические задания сбора.

Обновления источников

Когда система работает, сегмент 140 сбора должен иметь возможность узнавать о новых источниках 116 для наблюдения и о том, за какими источниками 116 больше не нужно наблюдать. Принятие решения об этом, как правило, возлагается на пользователя, за исключением случая помещения источника 116 в черный список (как описано ниже) вследствие обнаруженной неисправляемой или временной ошибки, и является результатом взаимодействия со службой 142 управления. Чтобы сообщать о таких изменениях, система сбора поддерживает раздел 'обновление источников' в базовой инфраструктуре публикации/подписки. Каждый сегмент 140 сбора имеет специальную подписку на раздел, причем подписка имеет условие фильтрации, которое ограничивает приемлемые сообщения теми, которые несут идентификатор сегмента в пределах диапазона сегментов сбора, имеющих владельца. Это позволяет службе 142 управления установить обновления о новых или выведенных из эксплуатации источниках 116 и отправить их в правильный сегмент 140, не требуя сведений о распределении принадлежности сегментов.

Служба 142 управления подает команды обновления в раздел, которые содержат описание источника, идентификатор сегмента (с целью вышеупомянутой фильтрации) и идентификатор операции, который указывает, должен ли источник 116 быть добавлен или источник 116 удаляется из системы.

После того, как владелец сегмента 140 сбора выбрал командное сообщение, он либо запланирует новый цикл сбора для нового источника 116, либо он прервет и приостановит, или даже выведет из эксплуатации, существующий цикл сбора.

Внесение в черный список

Источники 116, для которых сбор данных не достигает успеха, могут временно или бессрочно вноситься в черный список. Временное внесение в черный список выполняется, если сетевой ресурс источника 116 недоступен или возвращает ошибку, которая не связана напрямую с выпущенным запросом сбора. Продолжительность временного внесения в черный список зависит от характера ошибки. Временное внесение в черный список выполняется путем прерывания обычного цикла планирования (сплошного или заданной длительности) и планирования следующего прохода цикла (посредством обратного вызова или запланированного сообщения) на момент времени, когда сбойная ситуация, как ожидается, будет разрешена другой стороной.

Бессрочное внесение в черный список выполняется, если ошибка определяется как непосредственный результат запроса сбора, означая, что запрос вызывает ошибку установления подлинности или авторизации, или удаленный источник 116 указывает какую-то другую ошибку запроса. Если ресурс бессрочно вносится в черный список, источник 116 помечается как внесенный в черный список в хранилище сегмента, и цикл сбора немедленно прерывается. Для восстановления бессрочно внесенного в черный список источника 116 требуется удаление метки черного списка в хранилище, возможно, вместе с изменениями конфигурации, которые вызывают изменение поведения для запроса, и перезапуск цикла сбора через раздел обновления источников.

Распределение уведомлений

Варианты осуществления могут быть выполнены с возможностью распределения копии информации из данного входного события каждому из большого числа 'целевых объектов 102', которые соотнесены с некоторой областью, и делают это за минимальное время для каждого целевого объекта 102. Целевой объект 102 может включать в себя адрес устройства или приложения, который привязан к идентификатору устройства согласования с некоторой сторонней системой уведомлений или с некоторой доступной по сети внешней инфраструктурой, и вспомогательные данные для получения доступа к этой системе уведомлений или инфраструктуре.

Некоторые варианты осуществления могут включать в себя архитектуру, которая разделена на три отдельных роли обработки, которые подробно описываются в дальнейшем и могут быть поняты со ссылкой на Фиг. 8. Как отмечено на Фиг. 8 при помощи '1', многоточий и 'n', каждая из ролей обработки может иметь один или несколько экземпляров этой роли обработки. Заметим, что использование 'n' в каждом случае следует рассматривать как отличные друг от друга случаи применительно к ролям обработки, подразумевая, что каждая из ролей обработки не обязательно имеет одинаковое число экземпляров. Роль 'средство распределения' 112 принимает события и их связки с маршрутными картами (см., например, маршрутную карту 128-1 на Фиг. 6), содержащими группы целевых объектов 102. 'Средство доставки' 108 принимает эти связки и обрабатывает маршрутные карты для доставки к местоположениям в сети, представленным целевыми объектами 102. 'Роль управления', проиллюстрированная службой 142 управления, обеспечивает внешний API для управления целевыми объектами 102, а также отвечает за прием статистических данных и информации об ошибках от средства 108 доставки и за обработку/хранение этих данных.

Поток данных прикрепляется к 'разделу 144 распределения', в который подаются события для распределения. Подаваемые события размечаются, используя параметр сообщения, с учетом области, с которой они соотнесены, что может быть одним из вышеупомянутых ограничений, которые различают события и необработанные сообщения.

Раздел 144 распределения, в продемонстрированном примере, имеет одно прохождение (без фильтрации) подписки на каждый 'сегмент 120 распределения'. 'Сегмент распределения' представляет собой обособленный набор ресурсов, который отвечает за распределение и доставку уведомлений подмножеству целевых объектов 102 для данной области. Копия каждого события, отправленного в раздел распределения, доступна для всех одновременно сконфигурированных сегментов распределения фактически в одно и то же время через их соотнесенные подписки, давая возможность распараллеливания работы по распределению.

Распараллеливание посредством сегментирования помогает достичь своевременного распределения. Чтобы понять это, рассмотрим область с 10 миллионами целевыми объектами 102. Если бы данные целевых объектов были размещены в несегментированном хранилище, системе пришлось бы последовательно просматривать единое, большое результирующее множество базы данных или, если бы результирующие множества были собраны с использованием запросов сегментирования на одном и том же хранилище, производительность сбора целевых данных была бы, по меньшей мере, ограничена сверху производительностью инфраструктуры переднего сетевого шлюза данного хранилища, и как следствие, время ожидания доставки уведомлений целевым объектам 102, записи описания которых появляются очень поздно в данных результирующих множествах, вероятно, будет неудовлетворительным.

Если же, вместо этого, 10 миллионов целевых объектов 102 распределены по 1000 хранилищам, каждое из которых размещает 10000 записей целевых объектов, и эти хранилища увязываются с выделенной вычислительной инфраструктурой ('средство 122 распределения' и 'средство 108 доставки', описанные в данном документе), выполняющей запросы и обработку результатов в виде сегментов, как описано в данном документе, то сбор описаний целевых объектов может быть распараллелен по широкому набору вычислительных и сетевых ресурсов, что значительно снижает разницу во времени для распределения всех событий, измеренную от первого до последнего распределенного события.

Фактическое число сегментов распределения технически не ограничено. Оно может варьироваться от одного сегмента до любого числа сегментов больше одного.

В продемонстрированном примере, после сбора 'средством 122 распределения' для сегмента 120 распределения события 104, оно сначала вычисляет размер данных события, а затем вычисляет размер маршрутной карты 128, который может быть вычислен на основании разницы между размером события и меньшей величиной из допустимого максимального размера сообщения базовой системы обмена сообщениями и теоретического максимального размера. События ограничиваются в размере таким образом, что есть некоторый минимальный резерв для данных 'маршрутной карты'.

Маршрутная карта 128 представляет собой список, который содержит описания целевых объектов 102. Маршрутные карты создаются средством 122 распределения путем выполнения запроса поиска соответствия области события с целевыми объектами 102, размещенными в хранилище 124 сегмента, возвращения всех целевых объектов 102, соответствующих области события, и набора дополнительных условий, сужающих выбор, на основании условий фильтрации относительно данных события. Варианты осуществления могут включать в себя, среди этих условий фильтра, условие временного окна, которое ограничивает результат теми целевыми объектами 102, которые считаются действующими на текущий момент, подразумевая, что текущее UTC-время находится в пределах начала/конца временного окна действия, содержащегося в записи описания целевого объекта. Эта функция используется для внесения в черный список, что описано ниже в этом документе. По мере того, как просматривается результат поиска, средство создает копию события 104, заполняет маршрутную карту 128 до максимального размера описаниями целевых объектов, извлеченными из хранилища 124, а затем ставит результирующую связку события и маршрутной карты в 'очередь 130 доставки сегмента'.

Метод маршрутной карты гарантирует, что скорость потока событий для событий от средства 122 распределения до средства(ств) 108 доставки выше фактической интенсивности потока передачи сообщений в базовой инфраструктуре, это означает, что, например, если 30 описаний целевых объектов могут быть упакованы в маршрутную карту 128 совместно с данными событий, скорость потока для пар событие/целевой объект в 30 раз выше, чем если бы пары событие/целевой объект были сразу же сгруппированы в сообщения.

Средство 108 доставки является потребителем связок 126 событие/маршрутная карта из очереди 130 доставки. Роль средства 108 доставки состоит в том, чтобы выводить из очереди эти связки, и доставлять событие 104 во все пункты назначения, перечисленные в маршрутной карте 128. Доставка обычно происходит через средство согласования, которое форматирует сообщение события в сообщение уведомления, понятное для соответственной целевой инфраструктуры. Например, сообщение уведомления может быть доставлено в формате MPNS для телефона на базе Windows® 7, форматах APN (рассылаемые уведомления Apple) для устройств на базе iOS, форматах C2DM (Отправка сообщений из облака в устройство) для устройств на базе Android, JSON (Нотация объектов Java Script) для обозревателей на устройствах, HTTP (Протокол передачи гипертекста) и т.д.

Средство 108 доставки, в большинстве случаев, будет распараллеливать доставку по независимым целевым объектам 102 и последовательно осуществлять доставку на целевые объекты 102, которые совместно используют область, обеспечиваемую инфраструктурой целевого объекта. Примером последнего является то, что конкретное устройство согласования в средстве доставки может выбирать для отправки все события, предназначенные конкретному приложению целевого объекта на конкретной платформе уведомлений, через одно сетевое соединение.

Средства 122 и 108 распределения и доставки развязываются с использованием очереди 130 доставки, чтобы обеспечить возможность независимого масштабирования средств 108 доставки и избежать замедления обратной доставки и блокировки запроса распределения/стадии упаковки.

Каждый сегмент 120 распределения может иметь любое количество экземпляров средств доставки, которые одновременно следят за очередью 130 доставки. Длина очереди 130 доставки может быть использована для определения того, сколько средств доставки действует одновременно. Если длина очереди преодолевает определенное пороговое значение, новые экземпляры средств доставки могут быть добавлены для сегмента 120, чтобы увеличить пропускную способность отправки.

Сегменты 120 распределения и соотнесенные с ними экземпляры средств распределения и доставки могут масштабироваться практически неограниченно для того, чтобы достичь оптимального распараллеливания на высоком уровне. Если инфраструктура целевого объекта способна принимать и переправлять один миллион запросов событий на устройства в параллельном режиме, то описанная система способна распределить события по своей инфраструктуре доставки, возможно используя для этого сетевую инфраструктуру и полосы пропускания между центрами обработки данных, таким образом, что она может насытить инфраструктуру целевого объекта подаваемыми событиями для доставки всем требуемым целевым объектам 102, что будет настолько своевременным, насколько позволит инфраструктура целевого объекта под нагрузкой и учитывая любые разрешенные квоты доставки.

По мере того как сообщения доставляются на целевые объекты 102 через их соответствующие инфраструктурные устройства согласования, в некоторых вариантах осуществления система принимает к сведению целый ряд статистических информационных элементов. Среди них имеются измеренные временные периоды продолжительности между приемом связки доставки и доставкой любого отдельного сообщения, и продолжительности операции фактической отправки. Кроме того, часть статистической информации является показателем того, была ли доставка успешной или неудачной. Эта информация накапливается в средстве 108 доставки и сводится к средним значениям по каждой области и по каждому целевому приложению. 'Целевое приложение' является группирующим указателем, вводимым для определенной цели статистического накопительного пакета. Вычисленные средние значения отправляются в очередь 146 статистики доставки в заданных интервалах. Эта очередь высвобождается (набором) исполнителем(ей) в службе 142 управления, которая подает данные событий в информационное хранилище для целого ряда целей. Эти цели могут включать в себя, в дополнение к оперативному контролю, выставление счетов арендатору, для которого были доставлены события и/или раскрытия статистических данных арендатору для его собственного выставления счетов третьей стороне.

Когда обнаруживаются ошибки доставки, эти ошибки сортируются на временные и постоянные сбойные ситуации. Временные сбойные ситуации могут включать в себя, например, сетевые сбои, которые не позволяют системе достигать пункта назначения доставки в целевой инфраструктуре, или целевая инфраструктура сообщает, что была временно достигнута квота доставки. Постоянные сбойные ситуации могут включать в себя, например, ошибки установления подлинности/авторизации на целевой инфраструктуре или другие ошибки, которые не могут быть исправлены без ручного вмешательства, и сбойные ситуации, когда целевая инфраструктура сообщает, что целевой объект более не доступен или не желает принимать сообщения на постоянной основе. После сортировки, отчет об ошибках подается в очередь 148 сбоев доставки. Для временных сбойных ситуаций, ошибка также может включать в себя абсолютную временную метку UTC, когда сбойная ситуация, как ожидается, будет разрешена. В то же время, целевой объект локально вносится в черный список целевым устройством согласования для любых дополнительных локальных доставок этим экземпляром средства доставки. Черный список тоже может включать в себя временную метку.

Очередь 148 сбоев доставки высвобождается (набором) исполнителем(ей) в роли управления. Постоянные ошибки могут привести к тому, что соответственный целевой объект будет немедленно удален из соответственного хранилища 124 сегмента распределения, к которому роль управления имеет доступ. 'Удаление' может означать, что запись действительно удаляется или, в качестве альтернативы, что запись просто становится невидимой для запросов поиска благодаря установке временной метки 'конец' ее периода действия на значение временной метки ошибки. Временные сбойные ситуации могут привести к тому, что целевой объект будет отключен на период, указанный ошибкой. Отключение может быть сделано путем перемещения начала периода действия целевого объекта до временной метки, указанной в ошибке, когда сбойная ситуация, как ожидается, будет исправлена.

Фиг. 9 демонстрирует иллюстрацию, дающую общее представление о системе, где сегмент 140 сбора связан с сегментом 120 распределения через раздел 144 распределения.

Следующее далее обсуждение касается ряда способов и действий способов, которые могут быть выполнены. Несмотря на то, что действия способов могут обсуждаться в определенном порядке или могут демонстрироваться в блок-схеме последовательности операций способа как происходящие в конкретном порядке, конкретная упорядоченность не требуется, если специально не указано, или требуется, потому что действие зависит от другого действия, которое должно быть завершено до выполняемого действия.

Фиг. 10 демонстрирует способ 1000. Способ 1000 может быть осуществлен на практике в вычислительной системе. Способ 1000 включает в себя действия для доставки данных. Способ включает в себя этап, на котором определяют относительную денежную ценность данных, по отношению к времени, в конкретный момент времени (действие 1002). Данные могут быть определены как функция времени. Например, со ссылкой на Фиг. 1, данные имеют наибольшую ценность в момент времени t=0, а наименьшую ценность при t=15 минут. Таким образом, в конкретное время, данные имеют конкретную ценность. Для конкретного момента времени, эта ценность может быть определена.

Способ 1000 дополнительно включает в себя этап, на котором, на основании этой определенной денежной ценности, предоставляют данные набору из одного или нескольких потребительских устройств конечного пользователя для потребителей, коррелированных с этой денежной ценностью (действие 1004). Например, некоторые потребители могут выплачивать вознаграждение за данные, и, следовательно, будет предприниматься попытка доставки данных как можно ближе ко времени t=0. Другие потребители могут платить меньше за данные, а значит, будет предприниматься попытка доставить данные через некоторое время после t=0, которое соответствует уровню для этих потребителей, платящих меньше.

На практике может быть осуществлен способ 1000, в котором этап, на котором предоставляют данные набору из одного или нескольких потребительских устройств конечного пользователя для потребителей, коррелированных с денежной ценностью, содержит этап, на котором предоставляют данные на потребительские устройства конечного пользователя в соответствии с соглашениями об уровне услуг с конечными пользователями.

На практике может быть осуществлен способ 1000, в котором этап, на котором предоставляют данные набору из одного или нескольких потребительских устройств конечного пользователя для потребителей, коррелированных с денежной ценностью, содержит этап, на котором предоставляют данные на разные потребительские устройства конечного пользователя в соответствии с разными уровнями разбиения на классы. Например, Фиг. 5 демонстрирует, как разные классы свежести данных могут использоваться для предоставления данных потребителям через их потребительские устройства.

На практике может быть осуществлен способ 1000, в котором этап, на котором предоставляют данные набору из одного или нескольких потребительских устройств конечного пользователя для потребителей, коррелированных с денежной ценностью, содержит этап, на котором блокируют данные, чтобы преднамеренно задерживать доставку данных. Например, данные могут преднамеренно задерживаться, чтобы уменьшить их ценность, основываясь на уровне обслуживания или уровне предпочтения потребителя.

На практике может быть осуществлен способ 1000, в котором этап, на котором предоставляют данные набору из одного или нескольких потребительских устройств конечного пользователя для потребителей, коррелированных с денежной ценностью, содержит этап, на котором предоставляют данные на потребительское устройство конечного пользователя, основываясь на сумме, уплаченной подписчиком. Например, некоторые потребители могут принимать более свежие данные на том основании, что они заплатили определенную сумму денег. Аналогично, более высокие платежи могут привести к доставке более свежих данных на потребительское устройство.

На практике может быть осуществлен способ 1000, в котором этап, на котором предоставляют данные набору из одного или нескольких потребительских устройств конечного пользователя для потребителей, коррелированных с денежной ценностью, содержит этап, на котором предоставляют данные, выбирая инфраструктуру среди множества инфраструктур для доставки данных на одно или несколько потребительских устройств конечного пользователя, при этом выбор инфраструктуры выполняется, чтобы выбрать предпочтительную инфраструктуру для предпочтительных подписчиков. Например, некоторые инфраструктуры могут быть предпочтительными по сравнению с другими инфраструктурами тем, что эти предпочтительные инфраструктуры имеют особенности, которые позволяют доставлять через них данные быстрее, чем другие инфраструктуры. Таким образом, подписчики более высокого класса, или более предпочтительные, по сравнению с подписчиками более низкого класса, или менее предпочтительными, могут принимать данные через предпочтительные инфраструктуры, в противоположность приему данных по другим инфраструктурам.

Способ 1000 может дополнительно включать в себя этап, на котором предоставляют статистические данные о том, как данные были предоставлены на потребительские устройства конечного пользователя, поставщику данных. Например, как показано на Фиг. 3, статистические данные 208 могут быть предоставлены поставщику 204 данных. Это может позволить поставщику данных выставлять счета подписчикам за данные в соответствии с тем, как данные были предоставлены им.

Теперь обратимся к Фиг. 11, где продемонстрирован другой способ 1100. Способ 1100 может быть осуществлен на практике в вычислительной системе. Способ 1100 включает в себя действия для доставки данных. Способ 1100 включает в себя этап, на котором определяют потребительский класс для потребителя данных (действие 1102). Например, Фиг. 5 демонстрирует разбиение по разным классам для разных потребителей. Способ 1100 дополнительно включает в себя этап, на котором определяют срок действия данных перед предоставлением данных на устройства конечного пользователя, коррелированные с потребительским классом, чтобы соответствовать этому потребительскому классу (действие 1104). Например, данные могут преднамеренно не отправляться потребителям, пока они не будут достаточно задержаны, чтобы соответствовать потребительскому классу. Это может быть понято со ссылкой на Фиг. 1, где показаны данные, теряющие ценность с течением времени. Таким образом, потребители более низкого класса могут принимать менее ценные данные, ценность которых была снижена за счет задержки их доставки. Аналогично, способы могут включать в себя этапы, на которых преднамеренно ухудшают качество самих данных, внешних по отношению к ухудшаемым данным, как несвежих, для доставки потребителям более низкого класса.

На практике может быть осуществлен способ 1100, в котором этап, на котором определяют срок действия данных, содержит этап, на котором определяют срок действия данных для потребительских устройств конечного пользователя в соответствии с соглашениями об уровне обслуживания с конечными пользователями.

На практике может быть осуществлен способ 1100, в котором этап, на котором определяют срок действия данных, содержит этап, на котором определяют срок действия данных для разных потребительских устройств конечного пользователя в соответствии с разными уровнями разбиения на классы. Например, Фиг. 5 демонстрирует, как разные классы свежести данных могут использоваться для предоставления данных потребителям через их потребительские устройства.

На практике может быть осуществлен способ 1100, в котором этап, на котором определяют срок действия данных, содержит этап, на котором блокируют данные, чтобы преднамеренно задерживать доставку данных. Например, данные могут преднамеренно задерживаться, чтобы уменьшить их ценность, основываясь на уровне обслуживания или уровне предпочтения потребителя.

На практике может быть осуществлен способ 1100, в котором этап, на котором определяют срок действия данных, содержит этап, на котором определяют срок действия данных для потребительского устройства конечного пользователя, основываясь на сумме, уплаченной подписчиком. Например, некоторые потребители могут принимать более свежие данные на том основании, что они заплатили определенную сумму денег. Аналогично, более высокие платежи могут привести к доставке более свежих данных на потребительское устройство.

На практике может быть осуществлен способ 1100, в котором этап, на котором определяют срок действия данных, содержит этап, на котором выбирают инфраструктуру среди множества инфраструктур для доставки данных на одно или несколько потребительских устройств конечного пользователя, при этом выбор инфраструктуры выполняется, чтобы выбрать предпочтительную инфраструктуру для предпочтительных подписчиков и менее предпочтительную инфраструктуру для менее предпочтительных подписчиков. Например, некоторые инфраструктуры могут быть предпочтительными по сравнению с другими инфраструктурами тем, что эти предпочтительные инфраструктуры имеют особенности, которые позволяют доставлять через них данные быстрее, чем другие инфраструктуры. Таким образом, подписчики более высокого класса, или более предпочтительные, по сравнению с подписчиками более низкого класса, или менее предпочтительными, могут принимать данные через предпочтительные инфраструктуры, в противоположность приему данных по другим инфраструктурам.

Способ 1100 может дополнительно включать в себя этап, на котором предоставляют статистические данные о том, как данные были предоставлены на потребительские устройства конечного пользователя, поставщику данных. Например, как показано на Фиг. 3, статистические данные 208 могут быть предоставлены поставщику 204 данных. Это может позволить поставщику данных выставлять счета подписчикам за данные в соответствии с тем, как данные были предоставлены им.

Дополнительно, способы могут быть осуществлены на практике с помощью компьютерной системы, включающей в себя одно или несколько процессорных устройств и машиночитаемые носители, такие как компьютерная память. В частности, компьютерная память может хранить исполняемые компьютером инструкции, которые при их исполнении одним или несколькими процессорными устройствами обеспечивают выполнение различных функций, таких как действия, перечисленные в вариантах осуществления.

Варианты осуществления настоящего изобретения могут содержать или задействовать специализированный или универсальный компьютер, включающий в себя компьютерные аппаратные средства, как более подробно обсуждено ниже. Варианты осуществления в рамках объема настоящего изобретения также включают в себя физические и другие машиночитаемые носители для переноса или хранения исполняемых компьютером инструкций и/или структур данных. Такие машиночитаемые носители могут быть любыми имеющимися носителями, к которым можно осуществлять доступ посредством универсальной или специализированной компьютерной системы. Машиночитаемые носители, которые хранят исполняемые компьютером инструкции, являются физическими средами хранения информации. Машиночитаемые носители, которые переносят исполняемые компьютером инструкции, являются передающими средами. Таким образом, в качестве примера, а не ограничения, варианты осуществления настоящего изобретения могут содержать, по меньшей мере, два совершенно разных вида машиночитаемых носителей: физические машиночитаемые среды хранения информации и передающие машиночитаемые среды.

Физические машиночитаемые среды хранения информации включают в себя ОЗУ, ПЗУ, ЭСППЗУ, CD-ROM или другое хранилище на оптическом диске (такое, как CD, DVD и т.д), хранилище на магнитных дисках или другие магнитные устройства хранения, или любой другой носитель, который может использоваться для хранения требуемого средства программного кода в форме исполняемых компьютером инструкций или структур данных, и к которому можно получить доступ посредством универсального или специализированного компьютера.

"Сеть" определяется как один или несколько каналов передачи данных, которые дают возможность транспортировки электронных данных между компьютерными системами и/или модулями и/или другими электронными устройствами. Когда информация пересылается или предоставляется по сети или по другому коммуникационному соединению (аппаратному, беспроводному, либо комбинации аппаратного или беспроводного) на компьютер, компьютер, собственно, рассматривает это соединение как передающую среду. Передающие среды могут включать в себя сеть и/или каналы передачи данных, которые могут использоваться для переноса или требуемого средства программного кода в форме исполняемых компьютером инструкций или структур данных, и к которым можно получить доступ посредством универсального или специализированного компьютера. Комбинации вышеперечисленных сред и носителей тоже охватываются понятием 'машиночитаемый носитель'.

Дополнительно, после достижения различных компонентов компьютерной системы, средство программного кода в форме исполняемых компьютером инструкций или структур данных может автоматически пересылаться от передающего машиночитаемого носителя в физическую машиночитаемую среду хранения информации (или наоборот). Например, исполняемые компьютером инструкции или структуры данных, принятые по сети или каналу передачи данных, могут помещаться в буфер в ОЗУ в модуле сетевого интерфейса (например, "NIC"), а затем, в конечном счете, пересылаются в ОЗУ компьютерной системы и/или в менее энергозависимые машиночитаемые физические среды хранения информации в компьютерной системе. Таким образом, машиночитаемые физические среды хранения информации могут быть включены в состав компонентов компьютерной системы, которые тоже (или даже в первую очередь) используют передающие среды.

Исполняемые компьютером инструкции содержат, например, инструкции и данные, которые предписывают универсальному компьютерному, специализированному компьютеру или специализированному устройству обработки данных выполнять определенную функцию или группу функций. Исполняемые компьютером инструкции могут быть, например, двоичными файлами, инструкциями в промежуточном формате, таком, как язык ассемблера, или даже исходным кодом. Хотя предмет изобретения и был описан на языке, характерном для структурных признаков и/или методологических действий, нужно понимать, что предмет изобретения, определяемый в прилагаемой формуле изобретения, не обязательно ограничивается описанными признаками или действиями, изложенными выше. Скорее, описанные признаки и действия раскрыты в качестве иллюстративных форм реализации формулы изобретения.

Специалистам в данной области техники будет понятно, что настоящее изобретение может быть осуществлено на практике в сетевых вычислительных рабочих средах со многими типами конфигураций компьютерных систем, в том числе, персональных компьютеров, настольных компьютеров, переносных компьютеров, устройств обработки сообщений, карманных устройств, многопроцессорных систем, микропроцессорной или программируемой бытовой электроники, сетевых ПК, миникомпьютеров, больших компьютеров, подвижных телефонов, КПК, устройств персонального вызова, маршрутизаторов, коммутаторов и т.п. Настоящее изобретение также может быть осуществлено на практике в распределенных системных рабочих средах, когда задачи выполняют и локальные и удаленные компьютерные системы, которые связаны (аппаратными каналами передачи данных, беспроводными каналами передачи данных, либо комбинацией аппаратных и беспроводных каналов передачи данных) через сеть. В распределенной системной рабочей среде, программные модули могут располагаться как в локальных, так и в удаленных запоминающих устройствах хранения информации.

Настоящее изобретение может быть воплощено в других специфических формах, не отступая от его сущности или характеристик. Описанные варианты осуществления во всех отношениях должны рассматриваться только как иллюстративные и не ограничивающие. Объем настоящего изобретения, следовательно, определяется прилагаемой формулой изобретения, а не вышеприведенным описанием. Все изменения, которые находятся в рамках смысла и диапазона эквивалентности формулы изобретения, должны быть заключены в определяемый ею объем.


ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
ТОРГОВАЯ ПЛОЩАДКА ДЛЯ СВОЕВРЕМЕННОГО РАСПРЕДЕЛЕНИЯ ДАННЫХ О СОБЫТИЯХ
Источник поступления информации: Роспатент

Показаны записи 1-10 из 499.
10.06.2015
№216.013.5597

Регулировка громкости на основании местоположения слушателя

Изобретение относится к средствам регулировки громкости на основании местоположения слушателя. Технический результат заключается в осуществлении возможности регулирования громкости на основании местоположения слушателя. Идентифицируется местоположение одного или более громкоговорителей и...
Тип: Изобретение
Номер охранного документа: 0002553432
Дата охранного документа: 10.06.2015
27.06.2015
№216.013.5800

Смоделированное видео с дополнительными точками обзора и повышенной разрешающей способностью для камер наблюдения за движением транспорта

Изобретение относится к формированию смоделированного видеоизображения. Техническим результатом является получение смоделированных видеоизображений движения транспортных средств, имеющих высокую частоту кадров, высокую разрешающую способность и многочисленные виды, путем обработки видео от...
Тип: Изобретение
Номер охранного документа: 0002554069
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.581e

Выбираемые пользователем операционные среды для устройств мобильной связи

Изобретение относится к системам связи. Технический результат заключается в осуществлении передач в зависимости от типа операционной среды. В устройстве мобильной связи принимают передачу информации от источника передачи. Получают указатель типа операционной среды, связанного с источником...
Тип: Изобретение
Номер охранного документа: 0002554099
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5946

Система и способ для выбора вкладки в браузере с вкладками

Изобретение относится к средствам управления и выбора одной из набора открытых вкладок в браузере с вкладками. Технический результат заключается в уменьшении времени доступа к необходимой вкладке. Отображают web-браузер в окне дисплея, причем окно web-браузера отображает множество открытых...
Тип: Изобретение
Номер охранного документа: 0002554395
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5acc

Поддержание возможности отмены и возврата при объединениях метаданных

Группа изобретений относится к средствам для совместной работы над документами. Технический результат заключается в обеспечении сохранения метаданных во время операции отмены на клиентском компьютере при совместной работе над документами. Для этого представлен способ для сохранения метаданных...
Тип: Изобретение
Номер охранного документа: 0002554785
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5b08

Синхронизация частей файла с использованием серверной модели хранения информации

Изобретение относится к области синхронизации частей файла с помощью серверной модели хранения информации в клиент-серверной компьютерной сети. Техническим результатом является повышение защищенности данных при синхронизации. Изменения в содержимом электронного документа могут быть приняты на...
Тип: Изобретение
Номер охранного документа: 0002554845
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5b0a

Контрольные точки для файловой системы

Изобретение относится к средствам обеспечения контрольных точек. Технический результат заключается в уменьшении времени восстановления. Указывают, что первый набор обновлений подлежит связыванию с первой контрольной точкой. Определяют необходимость записи данных контрольной точки, относящихся к...
Тип: Изобретение
Номер охранного документа: 0002554847
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5b0e

Захват и загрузка состояний операционной системы

Изобретение относится к области захвата и загрузки состояний операционной системы. Техническим результатом является повышение эффективности восстановления операционной системы к базовому состоянию. В одном варианте воплощения выполняется сохранение состояний памяти операционной системы...
Тип: Изобретение
Номер охранного документа: 0002554851
Дата охранного документа: 27.06.2015
10.07.2015
№216.013.5c7e

Использование предварительной обработки на сервере для развертывания представлений электронных документов в компьютерной сети

Изобретение относится к области компьютерных сетей, а именно к клиент-серверным компьютерным сетям. Технический результат заключается в увеличении производительности сети и снижении задержки в доставке электронных документов, запрошенных пользователями. Технический результат достигается за счет...
Тип: Изобретение
Номер охранного документа: 0002555219
Дата охранного документа: 10.07.2015
10.07.2015
№216.013.5c7f

Управление виртуальными портами

Группа изобретений относится к устройствам ввода с возможностью обеспечения одновременной работы нескольких пользователей. Технический результат заключается в обеспечении обратной связи между пользователями вычислительной среды. Каждый такой виртуальный порт может иметь различные относящиеся к...
Тип: Изобретение
Номер охранного документа: 0002555220
Дата охранного документа: 10.07.2015
Показаны записи 1-10 из 235.
10.06.2015
№216.013.5597

Регулировка громкости на основании местоположения слушателя

Изобретение относится к средствам регулировки громкости на основании местоположения слушателя. Технический результат заключается в осуществлении возможности регулирования громкости на основании местоположения слушателя. Идентифицируется местоположение одного или более громкоговорителей и...
Тип: Изобретение
Номер охранного документа: 0002553432
Дата охранного документа: 10.06.2015
27.06.2015
№216.013.5800

Смоделированное видео с дополнительными точками обзора и повышенной разрешающей способностью для камер наблюдения за движением транспорта

Изобретение относится к формированию смоделированного видеоизображения. Техническим результатом является получение смоделированных видеоизображений движения транспортных средств, имеющих высокую частоту кадров, высокую разрешающую способность и многочисленные виды, путем обработки видео от...
Тип: Изобретение
Номер охранного документа: 0002554069
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.581e

Выбираемые пользователем операционные среды для устройств мобильной связи

Изобретение относится к системам связи. Технический результат заключается в осуществлении передач в зависимости от типа операционной среды. В устройстве мобильной связи принимают передачу информации от источника передачи. Получают указатель типа операционной среды, связанного с источником...
Тип: Изобретение
Номер охранного документа: 0002554099
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5946

Система и способ для выбора вкладки в браузере с вкладками

Изобретение относится к средствам управления и выбора одной из набора открытых вкладок в браузере с вкладками. Технический результат заключается в уменьшении времени доступа к необходимой вкладке. Отображают web-браузер в окне дисплея, причем окно web-браузера отображает множество открытых...
Тип: Изобретение
Номер охранного документа: 0002554395
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5acc

Поддержание возможности отмены и возврата при объединениях метаданных

Группа изобретений относится к средствам для совместной работы над документами. Технический результат заключается в обеспечении сохранения метаданных во время операции отмены на клиентском компьютере при совместной работе над документами. Для этого представлен способ для сохранения метаданных...
Тип: Изобретение
Номер охранного документа: 0002554785
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5b08

Синхронизация частей файла с использованием серверной модели хранения информации

Изобретение относится к области синхронизации частей файла с помощью серверной модели хранения информации в клиент-серверной компьютерной сети. Техническим результатом является повышение защищенности данных при синхронизации. Изменения в содержимом электронного документа могут быть приняты на...
Тип: Изобретение
Номер охранного документа: 0002554845
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5b0a

Контрольные точки для файловой системы

Изобретение относится к средствам обеспечения контрольных точек. Технический результат заключается в уменьшении времени восстановления. Указывают, что первый набор обновлений подлежит связыванию с первой контрольной точкой. Определяют необходимость записи данных контрольной точки, относящихся к...
Тип: Изобретение
Номер охранного документа: 0002554847
Дата охранного документа: 27.06.2015
27.06.2015
№216.013.5b0e

Захват и загрузка состояний операционной системы

Изобретение относится к области захвата и загрузки состояний операционной системы. Техническим результатом является повышение эффективности восстановления операционной системы к базовому состоянию. В одном варианте воплощения выполняется сохранение состояний памяти операционной системы...
Тип: Изобретение
Номер охранного документа: 0002554851
Дата охранного документа: 27.06.2015
10.07.2015
№216.013.5c7e

Использование предварительной обработки на сервере для развертывания представлений электронных документов в компьютерной сети

Изобретение относится к области компьютерных сетей, а именно к клиент-серверным компьютерным сетям. Технический результат заключается в увеличении производительности сети и снижении задержки в доставке электронных документов, запрошенных пользователями. Технический результат достигается за счет...
Тип: Изобретение
Номер охранного документа: 0002555219
Дата охранного документа: 10.07.2015
10.07.2015
№216.013.5c7f

Управление виртуальными портами

Группа изобретений относится к устройствам ввода с возможностью обеспечения одновременной работы нескольких пользователей. Технический результат заключается в обеспечении обратной связи между пользователями вычислительной среды. Каждый такой виртуальный порт может иметь различные относящиеся к...
Тип: Изобретение
Номер охранного документа: 0002555220
Дата охранного документа: 10.07.2015
+ добавить свой РИД