|
(21), (22) Заявка: 2008123830/09, 18.01.2006
(24) Дата начала отсчета срока действия патента:
18.01.2006
(30) Конвенционный приоритет:
13.12.2005 US 11/302,306
(43) Дата публикации заявки: 27.12.2009
(46) Опубликовано: 10.09.2010
(56) Список документов, цитированных в отчете о поиске:
RU 2182355 C1, 10.05.2002. RU 2157592 С2, 10.10.2000. US 20050163061 A1, 28.07.2005. US 2003046423 A1, 06.03.2003.
(85) Дата перевода заявки PCT на национальную фазу:
11.06.2008
(86) Заявка PCT:
JP 2006/301082 20060118
(87) Публикация PCT:
WO 2007/069344 20070621
Адрес для переписки:
129090, Москва, ул. Б.Спасская, 25, стр.3, ООО “Юридическая фирма Городисский и Партнеры”, пат.пов. Ю.Д.Кузнецову, рег. 595
|
(72) Автор(ы):
ИСТХАМ Брайант (JP), МИЛЛИГАН Томас (JP)
(73) Патентообладатель(и):
ПАНАСОНИК ЭЛЕКТРИК ВОРКС КО., ЛТД. (JP)
|
(54) СИСТЕМЫ И СПОСОБЫ ОБРАБОТКИ ПЕРЕХВАТА УПРАВЛЕНИЯ ПРИ ОТКАЗЕ В РАСПРЕДЕЛЕННОЙ СРЕДЕ С МАРШРУТИЗАЦИЕЙ
(57) Реферат:
Изобретение относится к системе и способу, предназначенным для обработки перехвата управления при отказе в распределенной среде с маршрутизацией. Техническим результатом является повышение надежности системы за счет согласования привязок между двумя или более поставщиками. Система содержит вычислительные устройства, каждое из которых включает в себя процессор и запоминающее устройство в электронной связи с процессором. Первая привязка имеет идентификатор первой привязки. В запоминающем устройстве хранятся команды для осуществления способа согласования привязок. В сети объявляют первую привязку. Устанавливают второго поставщика, также обеспечивающего в сети первую привязку со вторым идентификатором привязки. Вычислительное устройство путем оценивания функции (F) конфликта затем определяет, должно ли оно обеспечивать первую привязку. На основании результата функции конфликта либо останавливается добавление первой привязки со вторым идентификатором привязки, либо отменяется первая привязка с первым идентификатором привязки. 2 н. и 17 з.п. ф-лы, 13 ил.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение в целом относится к компьютерам и связанной с применением компьютеров технологии. Более конкретно, настоящее изобретение относится к системе и способам, предназначенным для обработки перехвата управления при отказе в распределенной среде с маршрутизацией.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Технологии применения компьютеров и связи продолжают расширяться в быстром темпе. Действительно, технологии применения компьютеров и связи включаются во многие аспекты дня жизни человека. Например, многие устройства, используемые сегодня потребителями, имеют малый компьютер во внутренней части устройства. Эти малые компьютеры являются изменяющимися по размерам и степеням сложности. Эти малые компьютеры включают в себя все от одного микроконтроллера до полнофункциональной укомплектованной компьютерной системы. Например, эти малые компьютеры могут быть однокристальным компьютером, таким как микроконтроллер, одноплатным компьютером, таким как контроллер, типовым настольным компьютером, таким как совместимый с компьютерами фирмы IBM персональный компьютер (PC) и т.д.
Компьютеры обычно имеют один или несколько процессоров в основе компьютера. Процессоры обычно являются взаимосоединенными с различными внешними входами и выходами и действуют, чтобы осуществлять управление конкретным компьютером или устройством. Например, процессор в терморегуляторе может быть соединен с используемыми для выбора установки температуры кнопками, с печью или кондиционером для изменения температуры, и с датчиками температуры для считывания и отображения текущей температуры на устройстве отображения.
Многие приборы, устройства и т.д. включают в себя один или несколько малых компьютеров. Например, терморегуляторы, печи, системы кондиционирования воздуха, холодильные шкафы, телефоны, печатающие устройства, автомобили, торговые автоматы, и многие различные виды промышленного оборудования в настоящее время обычно имеют в своей внутренней части малые компьютеры, или процессоры. Программное обеспечение управляет процессорами этих компьютеров и выдает команды процессорам как выполнять некоторые задачи. Например, исполняющееся в терморегуляторе программное обеспечение может обеспечивать, чтобы кондиционер прекращал работу при достижении конкретной температуры, или может обеспечивать, чтобы нагреватель включался, когда необходимо.
Эти типы малых компьютеров, которые являются частью устройства, прибора, инструментального средства и т.д., часто называют встроенными системами. Термин “встроенная система” обычно относится к аппаратным средствам и программному обеспечению компьютера, которые являются частью более крупной системы. Встроенные системы могут не иметь обычных устройств ввода и вывода, таких как клавиатура мышь и/или монитор. Обычно в основе каждой встроенной системы находится один или несколько процессоров.
Система освещения может включать в состав встроенную систему. Встроенная система может использоваться, чтобы осуществлять текущий контроль (мониторинг) и управлять действиями системы освещения. Например, встроенная система может обеспечивать элементы управления для уменьшения яркости светильников в рамках системы освещения. В качестве альтернативы встроенная система может обеспечивать элементы управления для повышения яркости светильников. Встроенная система может обеспечивать элементы управления для инициации конкретной схемы освещения среди отдельных светильников в рамках системы освещения. Встроенные системы могут быть соединены с отдельными выключателями в рамках системы освещения. Эти встроенные системы могут выдавать команды выключателям на включение или выключение питания отдельных светильников или полной системы освещения. Подобным образом встроенные системы могут быть связаны с отдельными светильниками в рамках системы освещения. Яркость или состояние электропитания каждого отдельного светильника могут регулироваться посредством встроенной системы.
Система безопасности также может включать в состав встроенную систему. Встроенная система может использоваться для управления отдельными датчиками защиты, которые составляют систему безопасности. Например, встроенная система может обеспечивать элементы управления, чтобы включать питание каждого из датчиков защиты автоматически. Встроенные системы могут быть связаны с каждым из отдельных датчиков защиты. Например, встроенная система может быть соединена с датчиком движения. Встроенная система может включать питание отдельного датчика движения автоматически и предусматривать элементы управления для активации датчика движения, если движение обнаружено. Активация датчика движения может включать в себя обеспечение команд для включения питания светодиода (СИД, LED), расположенного внутри датчика движения, вывода аварийного сигнала из портов вывода в составе датчика движения и т.п. Встроенные системы также могут быть связаны с датчиками, контролирующими дверь. Встроенная система может подавать команды на контролирующий дверь датчик, чтобы активировать, когда дверь открывается или закрывается. Подобным образом встроенные системы могут быть связаны с датчиками, контролирующими окно. Встроенная система может обеспечивать команды, чтобы активировать контролирующий окно датчик, когда окно открывается или закрывается.
Некоторые встроенные системы также могут использоваться для управления изделиями беспроводной связи, такими как телефоны сотовой связи. Встроенная система может обеспечивать команды, чтобы включать питание светодиодного дисплея телефона сотовой связи. Встроенная система также может активировать аудиодинамики в телефоне сотовой связи, чтобы обеспечивать пользователю звуковое уведомление, относящееся к телефону сотовой связи.
Бытовые приборы также могут включать в состав встроенную систему. Бытовые приборы могут включать в себя приборы, обычно используемые на обыкновенной кухне, например печь, холодильник, микроволновую печь и т.д. Бытовые приборы также могут включать в себя приборы, которые имеют отношение к обеспечению здоровья и благосостояния пользователя. Например, массажное кресло может включать в состав встроенную систему. Встроенная система может обеспечивать команды для автоматического откидывания спинки кресла в соответствии с предпочтениями пользователя. Встроенная система также может обеспечивать команды для инициации колебательных компонентов в кресле, которые обеспечивают вибрации в кресле с качающейся спинкой в соответствии с предпочтениями пользователя.
Дополнительные изделия, обычно используемые в домах, также могут включать в состав встроенные системы. Например, встроенная система может использоваться в туалете для управления уровнем воды, используемой для пополнения контейнерного бачка. Встроенные системы могут использоваться в ванне струйного типа для управления оттоком воздуха.
Как изложено, встроенные системы могут использоваться для осуществления текущего контроля или управления многими различными системами, ресурсами, изделиями и т.д. С развитием сети Интернет и глобальной гипертекстовой системы (Всемирной паутины, www), встроенные системы являются все в большей степени связанными с Интернет, так что они могут дистанционно контролироваться и/или управляться. Другие встроенные системы могут соединяться с вычислительными сетями, включая локальные сети, глобальные сети, и т.д.
Некоторые встроенные системы могут предоставлять данные и/или услуги на другие вычислительные устройства с использованием вычислительной сети. В качестве альтернативы могут быть типовые компьютеры или вычислительные устройства, которые предоставляют данные и/или услуги на другие вычислительные устройства с использованием компьютерной сети. В сети может быть множество поставщиков. Иногда поставщики могут претерпевать отказ, что в свою очередь означает, что данные и/или услуги, обеспечиваемые поставщиком, также могут отказать. Преимущества могут быть реализованы, если обеспечены системы и способы для обработки перехвата управления при отказе в компьютерных сетях.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Раскрыто вычислительное устройство, выполненное с возможностью осуществления способа для согласования привязок. Вычислительное устройство включает в себя процессор и запоминающее устройство в электронной связи с процессором. Первая привязка имеет первый идентификатор (ID) привязки. В запоминающем устройстве хранятся команды для осуществления способа согласования привязок. Первая привязка объявляется в сети. Выявляется второй поставщик, который также обеспечивает в сети первую привязку со вторым идентификатором привязки. Вычислительное устройство затем определяет, должно ли оно обеспечивать первую привязку путем оценивания функции (F) конфликта. На основании результата функции конфликта либо останавливается добавление первой привязки со вторым ID привязки, либо отменяется первая привязка с первым ID привязки.
Первая привязка может включать в себя объект и интерфейс. К услуге можно осуществлять доступ посредством использования объекта и интерфейса.
В некоторых вариантах осуществления функция конфликта использует первый ID привязки и второй ID привязки в качестве входных данных и обеспечивает булев результат. Кроме того, функция (F) конфликта может удовлетворять условию, что F(A,B) не является такой же, как F(B,A), так что (F) удовлетворяет условию, что если F(A,B)=Истина (True), то F(B,A)=Ложь (False). В некоторых вариантах осуществления функция (F) конфликта представляет собой функцию «меньше чем».
Команды могут реализовывать второй способ. Из сети принимается попытка удаления. Попытка удаления является попыткой удаления второй привязки в сети. Определяется, имеет ли вычислительное устройство возможность обеспечения второй привязки. Попытке удаления позволяют продолжаться, если вычислительное устройство не является способным обеспечивать вторую привязку. Попытка удаления останавливается и вторая привязка добавляется к сети, если вычислительное устройство способно обеспечивать вторую привязку, но в настоящий момент времени не обеспечивает вторую привязку. В некоторых вариантах осуществления вычислительное устройство выполнено с возможностью осуществления способа трехстадийного взятия обязательств.
Вычислительное устройство может быть осуществлено в различных системах. Например, вычислительным устройством может быть встроенное устройство, которое является частью системы управления освещением. Вычислительным устройством может быть встроенное устройство, которое является частью системы безопасности. Кроме того, вычислительным устройством может быть встроенное устройство, которое является частью домашней системы управления.
Также раскрывается способ согласования привязок между двумя или большим числом поставщиков. Первая привязка имеет первый ID привязки. Первая привязка объявляется в сети первым поставщиком. Выявляется второй поставщик, который также обеспечивает первую привязку со вторым ID привязки в сети. Первый поставщик затем путем оценивания функции (F) конфликта определяет, следует ли обеспечивать первую привязку. На основании результата функции конфликта либо останавливается добавление первой привязки со вторым ID привязки, либо отменяется первая привязка с первым ID привязки.
Также раскрывается машиночитаемый носитель, содержащий исполняемые команды для осуществления способа согласования привязок между двумя или несколькими поставщиками. Первая привязка имеет первый ID привязки. Первая привязка объявляется в сети первым поставщиком. Выявляется второй поставщик, который также обеспечивает первую привязку со вторым ID привязки в сети. Первый поставщик затем путем оценивания функции (F) конфликта определяет, должен ли он обеспечивать первую привязку. На основании результата функции конфликта либо останавливается добавление первой привязки со вторым ID привязки, либо отменяется первая привязка с первым ID привязки.
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ
Примерные варианты осуществления изобретения станут более полно очевидными из нижеследующего описания и прилагаемой формулы изобретения при рассмотрении вместе с сопроводительными чертежами. При понимании, что эти чертежи изображают только примерные варианты осуществления и, следовательно, не должны рассматриваться ограничивающими объем изобретения, примерные варианты осуществления изобретения будут описаны с дополнительной конкретностью и подробностью путем использования сопроводительных чертежей, на которых:
Фиг.1 – блок-схема сети, иллюстрирующая два промежуточных узла доступа в вычислительной сети.
Фиг.2 – блок-схема сети, иллюстрирующая несколько промежуточных узлов доступа в вычислительной сети.
Фиг.3 – блок-схема поставщика с наличием двух привязок.
Фиг.4 – временная диаграмма, иллюстрирующая процесс трехстадийного взятия обязательств.
Фиг.5 – блок-схема последовательности операций, иллюстрирующая способ распространения сигнала или сообщения посредством промежуточного узла доступа.
Фиг.6 – блок-схема сети, которая включает в себя один или несколько промежуточных узлов доступа и два поставщика.
Фиг.7 – схема последовательности операций, иллюстрирующая один вариант осуществления способа определения того, какой поставщик будет обеспечивать привязку.
Фиг.8 – вариант осуществления способа предоставления возможности передачи управления от одного поставщика на другой.
Фиг.9 – схема последовательности операций варианта осуществления способа установления запросчиком (запрашивающей стороной) канала передачи услуги с поставщиком.
Фиг.10 – блок-схема аппаратных компонентов, которые могут использоваться в варианте осуществления вычислительного устройства или встроенного устройства.
Фиг.11 – блок-схема, иллюстрирующая систему освещения, которая может использовать системы и способы, раскрытые в документе.
Фиг.12 – блок-схема, иллюстрирующая систему безопасности, которая может использовать системы и способы, раскрытые в документе.
Фиг.13 – блок-схема, иллюстрирующая домашнюю систему, которая может использовать системы и способы, раскрытые в документе.
ЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Теперь описываются различные варианты осуществления изобретения с помощью ссылки на чертежи, где сходные числовые ссылочные позиции обозначают идентичные или функционально сходные элементы. Варианты осуществления настоящего изобретения, в виде описанных в целом и проиллюстрированных на фигурах чертежей в документе, могут быть выполнены и спроектированы в виде широкого разнообразия различных конфигураций. Таким образом, нижеследующее более подробное описание нескольких примерных вариантов осуществления настоящего изобретения, представленных на чертежах, не предназначено для ограничения объема изобретения, заявленного в формуле изобретения, а является лишь представляющим варианты осуществления изобретения.
Термин “примерный” используется в документе исключительно, чтобы означать “использующийся в качестве примера, экземпляра или иллюстрации”. Любой описанный в документе вариант осуществления в качестве “примерного” не должен обязательно рассматриваться в качестве предпочтительного или преимущественного над другими вариантами осуществления. Тогда как различные аспекты вариантов осуществления представлены на чертежах, чертежи не обязательно вычерчены в масштабе, если конкретно не указано.
Многие возможности вариантов осуществления, раскрытых в документе, могут быть реализованы в виде программного обеспечения, электронных аппаратных средств или их комбинации. Чтобы ясно проиллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные компоненты будут описаны в целом, в терминах их функциональности. То, осуществлена ли такая функциональность в виде аппаратных средств или программного обеспечения, зависит от конкретного применения и конструктивных ограничений, наложенных на систему в целом. Специалисты в данной области техники могут реализовывать описанную функциональность различными способами для каждого конкретного применения, но такие решения по реализации не должны интерпретироваться вызывающими выход за рамки объема настоящего изобретения.
Если описанная функциональность реализована в виде программного обеспечения, такое программное обеспечение может включать в себя любой вид команды компьютера или машиноисполняемого кода, размещенного в запоминающем устройстве и/или переданного в виде электронных сигналов по системной шине или сети. Программное обеспечение, которое реализует функциональность, связанную с описанными в документе компонентами, может содержать единственную команду или многие команды, и может быть распределенным по нескольким различным сегментам кода, между различными программами, и по нескольким запоминающим устройствам.
В распределенных сетях зачастую имеются отказы в базовых сетях, которые соединяют систему вместе. Обычные сети решают эту проблему путем идентификации обходных маршрутов и переключения на эти маршруты, когда встречается отказ. В дополнение к отказу сетевых компонентов, также могут претерпевать отказ головные поставщики информации. В обычных сетях эта проблема решается посредством наличия многих “избыточных” поставщиков и использования перехвата управления, чтобы переключать запросы между ними. Эти два решения обычно работают в сетях различного масштаба, отказы канала связи происходят в среде WAN и перехват управления при отказе происходит в LAN, с помощью мониторинга выделенной частью аппаратных средств различных систем и переключения.
Настоящие системы и способы обеспечивают возможность иметь множество поставщиков для одной и той же привязки, причем только одна из них является фактически маршрутизируемой за один раз. Остальные являются неактивными, но могут становиться активными и видимыми, если маршрутизируемый в текущий момент поставщик терпит отказ по какой-либо причине.
Это дает возможность высокой готовности услуг (поставщиков) в распределенной системе. Также не является требованием, чтобы все потенциальные поставщики являлись сильно связанными, как имеет место во многих системах сегодня.
Система включает в себя набор узлов, которые соединены произвольным образом. Этот набор соединений может содержать петли, но имеется, по меньшей мере, один маршрут от каждого узла на другой узел. С этой сетью соединены запросчики и поставщики. Они могут существовать на отдельных узлах, которые соединены с единственным узлом в сети, или они могут исполняться непосредственно на сетевом узле.
Поставщики добавляют информацию привязки в сеть. Каждой привязке назначается уникальный идентификатор, и она может также включать в себя идентификатор объекта и идентификатор интерфейса. Допускаются частичные дубликаты (подразумевая идентификатор объекта и идентификатор интерфейса), но уникальный идентификатор привязки не может в точности повторяться другой привязкой.
Эта информация распространяется через сеть с использованием распределенного трехстадийного взятия обязательств (описаного ниже). Это дает любому узлу в сети возможность неограниченно “останавливать” распространение. Такая же процедура используется, когда нарушен канал связи, и сеть нуждается в определении нового маршрута, а также при удалении привязки из системы.
На Фиг.1 показана блок-схема сети, иллюстрирующая два промежуточных узла доступа в сети 100. Поставщик 102 находится в электронной связи с сетью 100. Вариант осуществления сети 100 по Фиг.1 включает в себя два запросчика 104 в электронной связи с сетью 100. Промежуточные узлы 106 доступа также находятся в сети 100. Может иметься большее количество узлов в сети 100.
Промежуточным узлом 106 доступа является сетевой узел, который поставляет функциональные возможности и услуги в сеть 100. Промежуточный узел 106 доступа может использоваться различными способами. Например, промежуточный узел 106 доступа может присутствовать в сети, чтобы поставлять услуги на компьютеры, приложения и/или объекты в сети 100. Промежуточный узел 106 доступа может также использоваться, чтобы обеспечивать преобразователь протоколов. Промежуточный узел 106 доступа может быть встроенным, или узел 106 может быть достаточно велик, чтобы обрабатывать трафик предприятия.
Одна возможность, которую может включать в себя промежуточный узел 106 доступа, относится к уточнению объекта. Уточнение объекта относится к ситуации, в которой промежуточный узел 106 доступа помещает себя вместо объекта и обеспечивает различные реализации тех же интерфейсов. Это позволяет, среди прочего, решать проблемы в реализации интерфейса без изменения фактического конечного поставщика интерфейса.
Дополнительная возможность промежуточного узла 106 доступа состоит в пополнении объекта. Пополнение объекта происходит, когда промежуточный узел 106 доступа добавляет к объекту новые интерфейсы, которые конечный поставщик не поддерживает.
В текущем конструктивном решении промежуточный узел 106 доступа не проводит различия между клиентами и устройствами, так что любая добавленная услуга является доступной любому (авторизованному) подсоединенному субъекту или узлу.
Как показано на Фиг.1, сеть 100 может наследовать многие возможности web-услуг. Доступ к web-услугам осуществляют, используя web-протоколы, обычно протоколы HTTP (протокол передачи гипертекстовых файлов) и SOAP (протокол доступа к объектам). Архитектура основывается на одноранговой парадигме организации сети.
Множество промежуточных узлов 106 доступа во взаимодействии друг с другом образуют сеть 110 промежуточных узлов доступа. Для запросчиков 104 и/или поставщиков 102 один или несколько промежуточных узлов 106 доступа в составе сети 110 промежуточных узлов доступа предстают в виде единого промежуточного узла 106 доступа. Размер или число включенных в сеть 110 промежуточных узлов доступа являются прозрачными для поставщиков 102 и/или запросчиков 104.
Поставщиком 102 является узел в сети 100, являющийся источником услуги 108. Запросчиком 104 является узел в сети 100, являющийся пользователем услуги 108. Запросчик 104 является программным субъектом, реализованным на узле, который может непосредственно находить услугу 108 для управления или взаимодействия с ней.
Услуга 108 может быть услугой любого вида, которая может обеспечиваться посредством вычислительного устройства. Некоторые возможные примеры услуг 108 включают в себя обеспечение данных температуры исходя из местоположения, обеспечение данных наблюдения, обеспечение информации о погоде, обеспечение аудиопотока, обеспечение потокового видео и т.д. Многие различные виды услуг и/или данных могут поставляться по вычислительной сети 100 от поставщика 102.
К услуге 108 осуществляют доступ через одну или несколько привязок 112. Привязка 112 включает в себя идентификатор 114 объекта и идентификатор 116 интерфейса. Обычно объект 114 и интерфейс 116 имеются в парах. Поставщик 102 может обеспечивать множество привязок 112. Является возможным, что множество поставщиков 102 могут поставлять одинаковые услугу 108, привязку 112, объект 114 или интерфейс 116. Каждая привязка 112 может быть представлена с помощью уникального идентификатора 118 привязки. Идентификатор 118 привязки должен быть уникальным для сети 110 промежуточных узлов доступа.
Поставщиком 102 может быть встроенный поставщик. Встроенным поставщиком является поставщик 102, реализуемый во встроенном устройстве. Встроенным устройством является вид вычислительного устройства, которое не включает в себя все те компоненты, связанные с типичным настольным компьютером. Например, некоторые встроенные устройства не включают в себя мониторы, другие не включают в себя клавиатуру или мышь, и некоторые встроенные устройства не включают в себя ни монитор, ни клавиатуру/мышь. Многие встроенные устройства являются устройствами на основе микроконтроллеров, то есть центральным процессором для встроенного устройства является микроконтроллер.
Термин “сеть”, как используется в документе, относится к системе, в которой ряд узлов являются взаимосоединенными посредством канала связи. Узел является физическим вычислительным устройством, которое взаимодействует с другими узлами. Конкретное поведение узла определяется согласно приложениям или программному обеспечению, которое оно исполняет. Приложения, исполняющиеся на узлах сети, взаимодействуют друг с другом через программные модули, которые реализуют протоколы, формализованные правила того, как данные посылаются по сети. Некоторые протоколы рассматривают вопросы хронирования, установления последовательности и проверки ошибок передачи данных. Другие в большей степени рассматривают то, как данные отформатированы, и команды и ответы, которыми узлы обмениваются. Набор протоколов, которые работают вместе, называется стеком протоколов, причем каждый протокол действует в качестве уровня в стеке, который основывается на вершине другого уровня. Верхний уровень стека протоколов используется приложением, средние уровни рассматривают вопросы передачи групп (пакетов и кадров) данных между узлами, и нижний уровень занимается непосредственно сетевыми аппаратными средствами, которые передают данные.
Физические сети состоят из узлов, которые соединяются посредством физической среды некоторого вида (например, электрического провода, оптического волокна, эфира). Это физическое соединение иногда может называться каналом связи. Физическая сеть, ограниченная двумя узлами, может называться двухточечным соединением, тогда как физическая сеть, которая может поддерживать более двух узлов, может называться множественным доступом. Каждый узел в сети множественного доступа имеет физический адрес, который используется, чтобы отличать его от других узлов в сети.
Логические сети могут накладываться на физические сети, чтобы задать уникальную группу узлов. Каждый узел в логической сети имеет логический адрес, который отображен в соответствии с протоколом на физический адрес узла. Подсеть, или фрагмент сети, является физически или логически независимой частью сети, различаемой согласно номеру подсети.
Большинство протоколов рассматривают логические сети, поскольку большинство вопросов физических сетей уже имеют много строго определенных реализаций, и не требуется определение новых физических уровней. Логические сети также имеют преимущество являться изолированными от физической сети и, следовательно, являются в целом более полезными. Например, протокол TCP/IP определен поверх протокола (IP) логической сети. IP может быть реализован во многих физических сетях (Ethernet, последовательная, беспроводная и т.д.). Это делает TCP/IP более общим решением, чем оно было определено только в терминах некоторой конкретной физической сети.
В сети 100 может использоваться любое количество промежуточных узлов 106 доступа. На Фиг.2 иллюстрируется сеть 200, которая включает в себя ряд промежуточных узлов 206 доступа, как показано. Два запросчика 204 находятся в электронной связи с промежуточными узлами 206 доступа. Кроме того, запросчик/поставщик 205 находится в электронной связи с промежуточными узлами 206 доступа. В показанном на Фиг. 2 варианте осуществления сети 200 два запросчика 204 запрашивают услуги 208, обеспечиваемые поставщиком 202. Данные из услуг 208 посылаются через сеть 210 промежуточных узлов доступа.
Сеть 210 промежуточных узлов доступа по Фиг.2 действует сходно с сетью 110 промежуточных узлов доступа по Фиг.1. В типовом режиме работы запросчики 104, 204 и поставщики 102, 202, включая запросчик/поставщик 205, не будут проводить различие между сетью 110 промежуточных узлов доступа по Фиг.1 и сетью 210 промежуточных узлов доступа по Фиг.2. На Фиг.2 также иллюстрируется, что узел может использоваться и как запросчик, и как поставщик, как показано посредством проиллюстрированного запросчика/поставщика 205. Этот запросчик/поставщик 205 предоставляет услугу 228 и привязку 232. На Фиг. 2 также иллюстрируется, что услуга/привязка может быть предоставлена промежуточным узлом 206 доступа.
Промежуточные узлы 106, 206 доступа могут соединяться произвольным образом, который включает в себя петли. На Фиг. 1 и 2 были проиллюстрированы запросчики 104, 204, 205 и поставщики 102, 202, 205, 206e. Запросчики и поставщики могут быть отдельными узлами или могут одновременно существовать на промежуточном узле доступа.
На Фиг.3 показана блок-схема поставщика 402 с наличием двух привязок 412a, 412b. Когда поставщик 402 соединяется с сетью 110 промежуточных узлов доступа, он объявляет свои привязки 412a, 412b путем рассылки объявления 430a о первой привязке и объявления 430b о второй привязке. Объявление 430a первой привязки извещает любого принимающего этот сигнал, что первая привязка 412a является доступной, и о ее конкретном ID 418a привязки. Объявление 430b второй привязки извещает любого принимающего этот сигнал, что вторая привязка 412b является доступной, и о ее конкретном ID 418b привязки. С наличием этой информации запросчики могут запрашивать привязки 412a, 412b от поставщика 402. Также является возможным, что первый промежуточный узел 106, 206 доступа назначает и отслеживает ID 418 привязки. Это является возможным, поскольку поставщику 402 требуется только объект 114 и интерфейс 116, тогда как промежуточный узел доступа требует уникальный ID 418 привязки.
На Фиг.4 показана временная диаграмма 500, иллюстрирующая процесс трехстадийного взятия обязательств. Показана ось 501 времени. Промежуточный узел А 502 доступа имеет привязку для добавления в сеть 100. В некоторой точке после соединения с сетью 100 во время t1 промежуточный узел А 502 доступа объявляет 530 привязку. Это объявление 530 достигает другого промежуточного узла доступа, промежуточного узла B 504 доступа. Промежуточный узел B 504 доступа может затем квитировать 505 привязку во время t2. В этой точке промежуточный узел А 502 доступа еще не является потенциальным поставщиком для промежуточного узла B 504 доступа. Чтобы закрепить промежуточный узел А 502 доступа на обеспечение другого промежуточного узла B 504 доступа услугой или привязкой, промежуточный узел А 502 доступа нуждается в подтверждении 532 связывания с промежуточным узлом В 504 доступа, показанным в момент времени t3. В этой точке после подтверждения 532 процесс трехстадийного взятия обязательств завершается и промежуточный узел А 502 доступа обязуется предоставлять услугу на промежуточный узел В 504 доступа. Будучи подтвержденным, промежуточный узел В 504 доступа может объявлять привязку на любые соединенные запросчики 104. Обратите внимание, что это заключительное объявление не нуждается в использовании процесса трехфазной фиксации.
На Фиг.5 показана схема последовательности операций, иллюстрирующая способ 600 для распространения сигнала или сообщения посредством промежуточного узла 106 доступа. Сообщения или сигналы, такие как объявление 430a, могут обрабатываться в соответствии с показанным способом 600. Принимают 602 сообщение или сигнал. Затем определяют 604, является ли сообщение/сигнал дубликатом, путем проверки уникального ID 418 привязки из сигнала или сообщения. Если сигнал является дубликатом, то узел немедленно квитирует 606 прием сигнала.
Если сигнал/сообщение не является дубликатом, то сигнал/сообщение распространяется 608 на все промежуточные узлы 106 доступа, которые соединены с данным узлом, кроме узла, который послал сигнал на данный узел. Затем узел ожидает 610 квитанций от подсоединенных узлов, которым послан этот сигнал. При приеме квитанций и/или при достижении лимита времени ожидания посылается 612 подтверждение на все подсоединенные промежуточные узлы 106 доступа. Обратите внимание, что это подтверждение инициируется только первоначальным отправителем сигнала. Однако оно пересылается на все промежуточные узлы 106 доступа.
Способ 600, как в общих чертах представлено на Фиг.5, имеет следствием оптимальное поведение для промежуточных узлов 106, которые могут содержать петли. Поставщики, являющиеся непосредственно соединенными (сосуществующими) на промежуточном узле, могут использовать те же самые логические средства при очень низких издержках.
Может иметься проблема, когда множество поставщиков соединяются с сетью и являются обеспечивающими одинаковую привязку. В настоящих вариантах осуществления полагается, что желательно иметь только одного из поставщиков, который фактически обеспечивает привязку, тогда как дополнительные поставщики с той же привязкой поддерживаются сетью в резерве и будут способны обеспечивать привязку в будущем, если такая потребность возникнет. Трехстадийное взятие обязательств используется, чтобы согласовывать, какой из поставщиков будет фактически обеспечивать привязку. Полагается, что каждый поставщик имеет равное право и возможность обеспечения привязки, и поэтому является приемлемым любое средство определения, какой поставщик должен фактически ее обеспечивать.
На Фиг.6 показана блок-схема 700 сети 710, которая включает в себя один или несколько промежуточных узлов доступа и два поставщика 702a, 702b. Поставщик А 702a включает в себя первую привязку 712a с наличием идентификатора А 718a привязки. Поставщик В 702b включает в себя первую привязку 712b с наличием идентификатора B 718b привязки. Таким образом, оба поставщика могут обеспечивать одну и ту же привязку, первую привязку, хотя они имеют различные идентификаторы 718a, 718b привязок. Сеть 710 и поставщики 702a, 702b должны согласовывать и определять, какой поставщик 702 будет обеспечивать привязку, и какие будут поддерживаться в резерве для обеспечения привязки в более позднее время в случае необходимости. Эта ситуация обычно происходит, когда два или более поставщиков 702 соединяются с сетью 710 приблизительно в одно время, так что каждый из поставщиков не становится осведомленным о другом поставщике, пока не будут объявлены их привязки.
На Фиг.7 показана схема последовательности операций, иллюстрирующая один вариант осуществления способа 800 определения, какой поставщик 702 будет обеспечивать привязку 712 в ситуации, как проиллюстрировано на Фиг. 6. Блок-схема 800 последовательности операций будет поясняться по отношению к поставщику А 702a для пояснения. Однако следует понимать, что этому же способу в настоящем варианте осуществления следует также поставщик В 702b. Поставщик А 702a соединяется 802 с сетью 710. Затем поставщик А 702a объявляет 804 свою первую привязку 712a с ее уникальным идентификатором 718a привязки. Приблизительно в то же время поставщик В 702b соединяется с сетью 710 и сообщает свою первую привязку 712b с ее уникальным идентификатором 718b привязки. Оба поставщика начали процесс распределенного трехстадийного взятия обязательств.
В течение процесса распределенного трехстадийного взятия обязательств поставщик А 702a становится осведомленным 806 о поставщике В 702b и конкретно становится осведомленным, что поставщик В 702b осуществляет попытку предоставить такую же первую привязку 712. Поставщик А 702a может стать осведомленным об этом, в качестве примера, при приеме им объявления от поставщика В 702b. Поставщик А 702a затем определяет 808, будет ли он обеспечивать первую привязку 712a. Это осуществляется путем оценивания функции (F) конфликта, которая принимает в качестве входных данных: (1) идентификатор 718a привязки поставщика А 702a и (2) идентификатор 718b привязки поставщика В 702b. Если результатом 810 есть истина, то поставщик А 702a останавливает 812 добавление поставщика В 702b, не посылая ожидаемой квитанции поставщику В 702b. Если результатом есть ложь, то поставщик А 702a отменяет 814 свое собственное добавление. Поставщик А 702a может отменять свое собственное добавление посредством множества способов, включая, но без ограничения указанным, посылку сообщения отмены или просто не выполняя подтверждение каких-либо привязок и, таким образом, не выполняя завершение трехфазного взятия обязательств с любыми другими узлами.
Как только этот способ 800 выполнен поставщиками 702a, 702b, будет активной только единственная привязка. Дополнительный поставщик (поставщик с наличием привязки, поддерживаемый в резерве) по-прежнему присутствует. Если текущий поставщик удаляет привязку по какой-либо причине, эти “дополнительные” поставщики “останавливают” удаление, пока они добавляют ту же привязку (используя описанный выше процесс), и затем они дают возможность удалению продолжаться. Это дает возможность перехвата управления от одного поставщика на другой. Этот процесс описан ниже в связи с Фиг.8.
В раскрытых вариантах осуществления функция (F) конфликта удовлетворяет нижеследующим условиям: (1) F имеет результатом булев (истина/ложь) результат, и (2) F(G1,G2) является инверсной F(G2,G1). Первое условие просто означает, что когда F вычисляется, она обеспечивает результат либо «истина», либо «ложь». Второе условие означает, что функция конфликта не будет выдавать тот же результат, если параметры являются теми же, но в другом порядке. Например, F(G1,G2)=F(G1,G2), но F(G1,G2) дает инверсный результат по отношению к F(G2, G1). При этих условиях является важным, чтобы любой поставщик последовательно помещал идентификатор его собственной привязки (например, G1) первым в параметрах функции конфликта. В качестве альтернативы, любой поставщик может последовательно помещать идентификатор его собственной привязки (например, G1) вторым в параметрах функции конфликта. Поскольку порядок следования параметров является важным, поставщики должны последовательно применять одинаковые правила при передаче параметров функции конфликта. Одним примером F будет сравнение “меньше чем”. Если идентификатором 718a привязки было 6000 и идентификатором 718b привязки было 10000, и если F является сравнением «меньше чем», то F(6000, 10000) обеспечит результат «истина», поскольку 6000<10000. Кроме того, F(10000, 6000) будет выдавать результат «ложь», поскольку 10000 не меньше 6000.
На Фиг.8 показан вариант осуществления способа 900 предоставления возможности передачи управления от одного поставщика на другой. Предполагается контекст показанного на Фиг.6 и что способ Фиг.7 был исполнен так, что только один поставщик, поставщик А 702a, является активно обеспечивающим привязку 712a. Поставщик А 702a осуществляет попытку удаления 902 привязки 712a из системы. Например, возможно поставщик А 702a является действующим автономно или неисправным и неспособен продолжать операцию. Когда поставщик В 702b принимает 904 удаление, он выполняет проверку, чтобы определить 906, может ли он обеспечивать такую же привязку. Если он не может обеспечивать такую же привязку, то удаление привязки продолжается 908. В этой ситуации поставщик В 702b имеет первую привязку 712b и, в результате, он может обеспечивать такую же привязку (то есть, первую привязку). Поставщик В 702b затем останавливает 910 удаление первой привязки. Поставщик В 702b также добавляет 912 к системе или сети первую привязку 712b, используя описанный выше процесс. Поставщик В 702b в заключение позволяет 914 продолжение удаления первой привязки 712a. Поставщик В 702b затем начинает обеспечение первой привязки 712b с ее идентификатором B 718b привязки, тогда как первая привязка 712a с идентификатором А 718a привязки удаляется. Это дает возможность перехвата управления при отказе от одного поставщика на другой.
На Фиг.9 показана схема последовательности операций для варианта осуществления способа 1000 для запросчика 104, устанавливающего канал передачи услуги с поставщиком 102. Запросчик 104 соединяется 1002 с сетью 100. Затем запросчик 104 может запросить 1004 перечень привязок от промежуточного узла(ов) 106 доступа. Используя перечень привязок, запросчик способен определить, какая услуга ему требуется, и он запрашивает 1006 услугу от поставщика 102. Сеть 110, 210 промежуточных узлов доступа передает 1008 запрос от запросчика 104 на поставщик 102.
На Фиг.10 показана блок-схема компонентов аппаратных средств, которые могут использоваться в реализации встроенного устройства, которое может использоваться либо в качестве встроенного поставщика, либо в качестве встроенного запросчика.
Может быть предусмотрен центральный процессор (ЦПУ, CPU) 1110 или процессор для управления действием встроенного устройства 1102, включая остальные компоненты такового, соединенные с ЦПУ 1110 посредством шины 1112. ЦПУ 1110 может быть исполнен в виде микропроцессора, микроконтроллера, цифрового процессора сигналов или другого устройства, известного в области техники. ЦПУ 1110 исполняет логические и арифметические операции на основании программного кода, хранимого в запоминающем устройстве 1114. В некоторых вариантах осуществления запоминающее устройство 1114 может быть внутриплатным ЗУ, включенным вместе с ЦПУ 1110. Например, микроконтроллеры зачастую включают в себя некоторый объем внутриплатного ЗУ.
Встроенное устройство 1102 также может включать в себя сетевой интерфейс 1116. Сетевой интерфейс 1116 обеспечивает связь между встроенным устройством 1102 и другими устройствами, соединенными с сетью 100. Сеть 100 может быть сетью пейджинговой связи, сетью сотовой связи, глобальной сетью связи, сетью Интернет, вычислительной сетью, сетью телефонной связи и т.д. Сетевой интерфейс 1116 работает в соответствии со стандартными протоколами для применимой сети 100.
Встроенное устройство 1102 может также включать в себя запоминающее устройство 1114. Запоминающее устройство 1114 может включать в себя оперативное запоминающее устройство (ОЗУ, RAM) для хранения временных данных. В качестве альтернативы, или в виде дополнения, запоминающее устройство 1114 может включать в себя постоянное запоминающее устройство (ПЗУ, ROM) для хранения в большей степени постоянных данных, таких как неизменяемый программный код и данные конфигурации. Запоминающее устройство 1114 также может быть реализовано в виде ЗУ на магнитном носителе, таком как накопитель на жестком диске. Запоминающим устройством 1114 может быть любой тип электронного устройства, способного хранить информацию в электронной форме.
Встроенное устройство 1102 также может включать в себя коммуникационные порты 1118, которые обеспечивают связь с другими устройствами. Встроенное устройство 1102 также может включать в себя устройства 1120 ввода/вывода, такие как клавиатура, мышь, джойстик, сенсорный экран, монитор, динамики, принтер и т.д.
Настоящие системы и способы могут использоваться в нескольких контекстах. На Фиг.11 иллюстрируется один вариант осуществления системы, в которой могут быть реализованы настоящие системы и способы. На Фиг.11 показана блок-схема, иллюстрирующая один вариант осуществления системы 1200 освещения, которая включает в себя систему 1208 контроллера освещения. Система 1200 освещения по Фиг.11 может встраиваться в различные помещения в доме. Как проиллюстрировано, система 1200 включает в себя помещение А 1202, помещение B 1204 и помещение C 1206. Хотя на Фиг. 11 показаны три помещения, система 1200 может быть реализована в любом количестве и разнообразии помещений внутри дома, жилого помещения или другой среды.
Система 1208 контроллера освещения может осуществлять контроль и управление дополнительными встроенными системами и компонентами в рамках системы 1200. В одном варианте осуществления каждое из помещения А 1202 и помещения B 1204 включает в себя переключательные компоненты 1214, 1218. Переключательные компоненты 1214, 1218 могут также включать в себя дополнительную встроенную систему 1216, 1220. Дополнительные встроенные системы 1216, 1220 могут принимать команды от системы 1208 контроллера освещения. Дополнительные встроенные системы 1216, 1220 затем могут исполнять эти команды. Команды могут включать в себя включение или выключение питания для различных осветительных компонентов 1210, 1212, 1222, и 1224. Команды также могут включать в себя уменьшение яркости или повышение яркости различных осветительных компонентов 1210, 1212, 1222, и 1224. Команды могут дополнительно включать в себя установку яркости осветительных компонентов 1210, 1212, 1222, и 1224 в виде различных схем. Дополнительные встроенные системы 1216, 1220 содействуют системе 1208 контроллера освещения в осуществлении контроля и управления каждым осветительным компонентом 1210, 1212, 1222, и 1224, размещенным в помещении А 1202 и помещении B 1204.
Система 1208 контроллера освещения также может подавать команды непосредственно на осветительный компонент 1226, который включает в себя дополнительную встроенную систему 1228 в изображенном помещении C 1206. Система 1208 контроллера освещения может выдавать команды дополнительной встроенной системе 1228 на выключение или включение питания отдельного осветительного компонента 1226. Сходным образом команды, принятые от системы 1208 контроллера освещения, могут включать в себя уменьшение яркости или повышение яркости отдельного осветительного компонента 1226.
Система 1208 контроллера освещения также может контролировать и поставлять команды непосредственно на отдельные осветительные компоненты 1230 и 1232 в составе системы 1200. Эти команды могут включать в себя команды, сходные с описанными предварительно.
На Фиг.12 показан дополнительный вариант осуществления системы, в которой могут быть реализованы имеющиеся системы и способы согласно настоящему изобретению. На Фиг.12 показана блок-схема, иллюстрирующая систему 1300 безопасности. Система 1300 безопасности в изображенном варианте осуществления реализована в помещении А 1302, помещении В 1304 и помещении C 1306. Эти помещения могут быть внутри дома или в другой закрытой среде. Система 1300 также может быть реализована в открытой среде, где помещения A, B и C, 1302, 1304, и 1306 соответственно, представляют территории или границы.
Система 1300 включает в себя систему 1308 контроллера безопасности. Система 1308 контроллера безопасности осуществляет контроль и прием информации от различных компонентов в составе системы 1300. Например, датчик 1314, 1318 движения может включать в себя дополнительную встроенную систему 1316, 1320. Датчики 1314, 1318 движения могут контролировать непосредственное пространство на наличие движения и при выявлении движения извещать систему 1308 контроллера безопасности через дополнительную встроенную систему 1316, 1320. Система 1308 контроллера безопасности может также подавать команды на различные компоненты в составе системы 1300. Например, система 1308 контроллера безопасности может подавать команды на дополнительные встроенные системы 1316, 1320, чтобы включать или выключать питание оконного датчика 1310, 1322 и дверного датчика 1312, 1324. В одном варианте осуществления дополнительные встроенные системы 1316, 1320 уведомляют систему 1308 контроллера безопасности, когда оконные датчики 1310, 1322 обнаруживают движение окна. Подобным образом дополнительные встроенные системы 1316, 1320 уведомляют систему 1308 контроллера безопасности, когда дверные датчики 1312, 1324 обнаруживают движение двери. Дополнительные встроенные системы 1316, 1320 могут выдавать команды датчикам движения 1314, 1318 на активацию LED (не показано), размещенного внутри датчиков 1314, 1318 движения.
Система 1308 контроллера безопасности также может осуществлять контроль и подачу команд непосредственно на отдельные компоненты в составе системы 1300. Например, система 1308 контроллера безопасности может осуществлять контроль и обеспечивать команды, чтобы включать или выключать питание датчика 1330 движения или оконного датчика 1332. Система 1308 контроллера безопасности может также выдавать команды датчику 1330 движения и оконному датчику 1332 на активацию LED (не показано) или звуковые аварийные уведомления в датчиках 1330 и 1332.
Каждый отдельный компонент, содержащий систему 1300, может также включать в себя дополнительную встроенную систему. Например, на Фиг.12 иллюстрируется дверной датчик 1326, включающий в себя дополнительную встроенную систему 1328. Система 1308 контроллера безопасности может контролировать и подавать команды на дополнительную встроенную систему 1328 сходным образом, как предварительно описано.
На Фиг.13 показана блок-схема, иллюстрирующая один вариант осуществления домашней системы 1400. Домашняя система 1400 включает в себя домашний контроллер 1408, который обеспечивает текущий контроль различных систем, таких как система 1200 освещения, система 1300 безопасности и т.п. Домашняя система 1400 дает возможность пользователю управлять различными компонентами и системами посредством одной или нескольких встроенных систем. В одном варианте осуществления система 1408 домашнего контроллера осуществляет контроль и обеспечивает информацию таким же образом, как предварительно описано относительно Фиг. 11 и 12. В изображенном варианте осуществления домашний контроллер 1408 подает команды на отопительный компонент 1424 через дополнительную встроенную систему 1420. Отопительный компонент 1424 может включать в себя печь или другое отопительное устройство, обычно используемое в местах постоянного проживания или офисах. Система 1408 домашнего контроллера может обеспечивать команды для включения или выключения питания отопительного компонента 1424 через дополнительную встроенную систему 1420.
Сходным образом домашний контроллер 1408 может осуществлять контроль и подавать команды непосредственно на компонент в составе домашней системы 1400, такой как охлаждающий компонент 1430. Охлаждающий компонент 1430 может включать в себя кондиционер или другое устройство охлаждения, обычно используемое в местах постоянного проживания или офисах. Центральный домашний контроллер 1408 может выдавать команды охлаждающему компоненту 1430 на включение или выключение питания в зависимости от считывания показаний температуры, накопленных посредством центральной встроенной системы 1408. Домашняя система 1400 функционирует сходным образом, как предварительно описано относительно Фиг. 11 и 12.
Имеются много типов встроенных устройств и много причин для создания сетей из устройств. Будет изложено несколько примеров приложений организации сети из устройств. Специалистами в данной области техники будет признано, что описанные примеры не являются исчерпывающими.
Одним примером приложения организации сети из устройств является дистанционный контроль. Многие полезные сети устройств включают в себя дистанционный контроль, одностороннюю передачу информации от одного узла на другой. В этих приложениях поставщики обычно действуют в качестве малых серверов, которые сообщают некоторую информацию в ответ на запрос запросчика. Также может быть установлено, чтобы поставщики объявляли абонентам информацию о своем состоянии. Запросчик может запрашивать периодические отчеты или обновления всякий раз при изменении состояния, возможно с наличием некоторого средства ограничения, как часто должны посылаться обновления. Может быть установлено, чтобы поставщики уведомляли запросчика, когда происходит некоторое событие или исключительное условие.
Другим примером применения сети из устройств является дистанционное управление, где запросчики способны посылать команды на поставщики, чтобы запустить некоторое конкретное действие. В большинстве случаев дистанционное управление включает в себя обратную связь некоторого вида.
Еще в дополнение примером применения организации сети из устройств являются распределенные системы управления. Функции и данные, связанные с отдельными поставщиками, могут объединяться и координироваться через сеть, чтобы создать распределенную систему, которая представляет дополнительную ценность. Иногда эти распределенные системы управления могут устанавливаться в большей или меньшей степени автоматически. Во многих случаях, более усложненное устройство присоединяется к одноранговой сети для выполнения работ по заданию конфигурации, мониторингу или диагностике. Такие системы могут создаваться объектами, которые взаимодействуют как равный с равным или через конфигурацию главный-подчиненный, в которой каждый объект в системе взаимодействует с единственным центральным узлом, содержащим все логические средства управления.
В зависимости от каждой категории сетевого приложения имеются различные пути, которыми запросчик может соединяться с поставщиками. Если в состав включается относительно небольшое количество поставщиков, запросчик может использовать web-браузер, устройство персонального вызова или даже сотовый телефон с поддержкой протокола (WAP) приложений для беспроводной связи, чтобы взаимодействовать с поставщиком более или менее интерактивно. Однако если количество поставщиков растет, эти способы могут становиться непригодными для работы, и запросчики могут применять более общие способы управления данными, такие как электронные таблицы или приложения базы данных.
Поскольку различные сети реализуются во времени и с помощью различных технологий, может возникать ситуация, в которой множество сетей могут находиться в том же доме или учреждении, причем каждая использует свои собственные протоколы и является неспособной взаимодействовать с другими. В этом случае различные сети и протоколы могут быть соединены мостами, чтобы образовать единую, более крупную сеть. Это может давать возможность отдельному приложению осуществлять доступ к каждому поставщику, упрощая взаимодействие со всеми поставщиками.
Информация и сигналы могут быть представлены с использованием любой из разнообразия различных технологий и способов. Например, данные, инструкции, команды, информация, сигналы, биты, символы и элементарные сигналы, на которые могут осуществляться ссылки по всему вышеуказанному описанию, могут быть представлены посредством напряжений, токов, электромагнитных волн, магнитных полей или частиц, оптических полей или частиц, либо любой комбинации таковых.
Различные иллюстративные логические блоки, модули, схемы и этапы алгоритма, описанные в связи с раскрытыми в документе вариантами осуществления, могут быть осуществлены в виде электронных аппаратных средств, программного обеспечения или комбинации таковых. Чтобы ясно проиллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы и этапы были описаны выше в целом в терминах их функциональности. То, реализована ли эта функциональность в виде аппаратного средства или программного обеспечения, зависит от конкретного применения и конструктивных ограничений, наложенных на систему в целом. Специалисты в данной области техники могут реализовывать описанную функциональность различными способами для каждого конкретного применения, но такие решения по реализации не должны интерпретироваться в качестве вызывающих выход за рамки объема настоящего изобретения.
Различные иллюстративные логические блоки, модули и схемы, описанные в связи с раскрытыми в документе вариантами осуществления, могут быть реализованы или выполнены с помощью универсального процессора, цифрового процессора (DSP) сигналов, специализированной интегральной схемы (ASIC), программируемой вентильной матрицы (FPGA) или другого устройства программируемой логики, дискретной вентильной или транзисторной логики, дискретных аппаратных компонентов, или любой комбинации таковых, предназначенной для выполнения описанных в документе функций. Универсальный процессор может быть микропроцессором, но в качестве альтернативы процессор может быть любым обычным процессором, контроллером, микроконтроллером или конечным автоматом. Процессор также может быть реализован в виде комбинации вычислительных устройств, например комбинации DSP и микропроцессора, набора микропроцессоров, одного или нескольких микропроцессоров вместе с базовыми средствами DSP, или любой другой такой конфигурации.
Этапы способа или алгоритма, описанные в связи с раскрытыми в документе вариантами осуществления, могут быть реализованы непосредственно в виде аппаратных средств, в исполняемом посредством процессора программном модуле, или в виде их комбинации. Программный модуль может постоянно находиться в оперативном запоминающем устройстве (ОЗУ, RAM), флэш-памяти, постоянном запоминающем устройстве (ПЗУ, ROM), стираемом программируемом ПЗУ (СППЗУ, EPROM), электрически стираемом программируемом ПЗУ (ЭСППЗУ, EEPROM), регистрах, накопителе на жестком диске, съемном диске, ПЗУ на компакт-диске (CD-ROM) или носителе данных любого другого вида, известного в области техники. Примерный носитель данных является соединенным с процессором, так что процессор может считывать информацию с носителя данных и записывать информацию на него. В качестве альтернативы носитель данных может составлять одно целое с процессором. Процессор и носитель данных могут постоянно находиться в специализированной интегральной микросхеме ASIC. ASIC может постоянно находиться в пользовательском терминале. В качестве альтернативы процессор и носитель данных могут постоянно находиться в качестве дискретных компонентов в пользовательском терминале.
Раскрытые в документе способы содержат один или несколько этапов или действий для выполнения описанного способа. Этапы способа и/или действия могут быть взаимозаменяемыми друг с другом без выхода за рамки объема настоящего изобретения. Другими словами, если только для надлежащей работы варианта осуществления не требуется конкретный порядок следования этапов или действий, то порядок и/или использование конкретных этапов и/или действий могут модифицироваться без выхода за рамки объема настоящего изобретения.
Тогда как были проиллюстрированы и описаны конкретные варианты осуществления и применения настоящего изобретения, должно быть понятно, что изобретение не является ограниченным точной конфигурацией и компонентами, раскрытыми в документе. Различные модификации, изменения и разновидности, которые будут очевидны специалистам в данной области техники, могут быть сделаны в организации действия и подробностях способов и систем раскрытого в документе настоящего изобретения без выхода за рамки существа и объема изобретения.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение является применимым к встроенной системе.
Формула изобретения
1. Система, выполненная с возможностью осуществления согласования привязок, причем данная система содержит вычислительные устройства, которые являются поставщиками, при этом каждое из вычислительных устройств содержит: процессор и запоминающее устройство в электронной связи с процессором, причем в запоминающем устройстве хранится привязка, которая имеет идентификатор привязки, уникальный для соответствующих поставщиков, и посредством которой осуществляется доступ к услуге, предоставляемой в сети, при этом в первом запоминающем устройстве первого вычислительного устройства, являющегося первым поставщиком, хранятся команды, исполняемые первым процессором для предписания первому вычислительному устройству объявлять в сети первую привязку с первым идентификатором привязки, устанавливать, что второй поставщик также обеспечивает в сети первую привязку со вторым идентификатором привязки, путем оценивания функции (F) конфликта определять, должно ли первое вычислительное устройство обеспечивать первую привязку, и обеспечивать первую привязку или не обеспечивать первую привязку со стороны первого вычислительного устройства посредством отмены первой привязки с первым идентификатором привязки на основании результата оценивания функции конфликта, и при этом во втором запоминающем устройстве второго вычислительного устройства, являющегося вторым поставщиком, хранятся команды, исполняемые вторым процессором для предписания второму вычислительному устройству объявлять в сети первую привязку со вторым идентификатором привязки, устанавливать, что первый поставщик также обеспечивает в сети первую привязку с первым идентификатором привязки, путем оценивания функции (F) конфликта определять, должно ли второе вычислительное устройство обеспечивать первую привязку, и обеспечивать первую привязку или не обеспечивать первую привязку со стороны второго вычислительного устройства посредством отмены первой привязки со вторым идентификатором привязки на основании результата оценивания функции конфликта.
2. Система по п.1, в которой первая привязка содержит идентификатор объекта и идентификатор интерфейса.
3. Система по п.2, в которой доступ услуге осуществляется посредством использования идентификатора объекта и идентификатора интерфейса.
4. Система по п.1, в которой функция конфликта использует первый идентификатор привязки и второй идентификатор привязки в качестве входных данных.
5. Система по п.4, в которой функция конфликта обеспечивает булев результат.
6. Система по п.5, в которой функция (F) конфликта удовлетворяет условию, что F(A, B) не является такой же, как F(B, A).
7. Система по п.5, в которой функция (F) конфликта удовлетворяет условию, что если F(A, B)=«истина», то F(B, A)=«ложь».
8. Система по п.5, в которой функция (F) конфликта представляет собой функцию «меньше чем».
9. Система по п.1, в которой в запоминающем устройстве каждого из вычислительных устройств дополнительно хранятся команды, исполняемые процессором для предписания вычислительному устройству принимать из сети попытку удаления, причем эта попытка удаления является попыткой удалить вторую привязку в сети; определять, способно ли вычислительное устройство обеспечивать вторую привязку, разрешать продолжение попытки удаления, если вычислительное устройство не является способным обеспечивать вторую привязку, и останавливать попытку удаления, и добавлять вторую привязку к сети, если вычислительное устройство способно обеспечивать вторую привязку, но в текущий момент не обеспечивает вторую привязку.
10. Система по п.1, в которой в первом запоминающем устройстве дополнительно хранятся команды, исполняемые первым процессором для предписания первому вычислительному устройству объявлять в сети первую привязку с первым идентификатором привязки, устанавливать, что второй поставщик также обеспечивает в сети первую привязку со вторым идентификатором привязки, путем оценивания функции (F) конфликта определять, должно ли первое вычислительное устройство обеспечивать первую привязку, и останавливать добавление первой привязки со вторым идентификатором привязки, и выполнять добавление первой привязки с первым идентификатором привязки путем не послания ожидаемого подтверждения второму поставщику, посредством чего первым вычислительным устройством обеспечивается первая привязка, либо отменять добавление первой привязки с первым идентификатором привязки путем послания ожидаемого подтверждения второму поставщику, посредством чего первым вычислительным устройством не обеспечивается первая привязка, на основании результата оценивания функции конфликта, при этом во втором запоминающем устройстве дополнительно хранятся команды, исполняемые вторым процессором для предписания второму вычислительному устройству объявлять в сети первую привязку со вторым идентификатором привязки, устанавливать, что первый поставщик также обеспечивает в сети первую привязку с первым идентификатором привязки, путем оценивания функции (F) конфликта определять, должно ли второе вычислительное устройство обеспечивать первую привязку, и останавливать добавление первой привязки с первым идентификатором привязки, и выполнять добавление первой привязки со вторым идентификатором привязки путем не послания ожидаемого подтверждения первому поставщику, посредством чего вторым вычислительным устройством обеспечивается первая привязка, либо отменять добавление первой привязки со вторым идентификатором привязки путем послания ожидаемого подтверждения первому поставщику, посредством чего вторым вычислительным устройством не обеспечивается первая привязка, на основании результата оценивания функции конфликта.
11. Система по п.1, которая является системой управления освещением, при этом каждое из вычислительных устройств является встроенным устройством, представляющим собой часть системы управления освещением.
12. Система по п.1, которая является системой безопасности, при этом каждое из вычислительных устройств является встроенным устройством, представляющим собой часть системы безопасности.
13. Система по п.1, которая является домашней системой управления, при этом каждое из вычислительных устройств является встроенным устройством, представляющим собой часть домашней системы управления.
14. Способ согласования привязок между двумя или более поставщиками, содержащий этапы, на которых объявляют в сети посредством первого поставщика первую привязку, которая имеет первый идентификатор привязки и посредством которой осуществляется доступ к услуге, предоставляемой в сети, при этом первый идентификатор привязки является уникальным для первого поставщика; устанавливают, что второй поставщик также обеспечивает первую привязку со вторым идентификатором привязки в сети; путем оценивания функции (F) конфликта определяют, должен ли первый поставщик обеспечивать первую привязку; на основании результата оценивания функции конфликта предписывают первому поставщику обеспечивать первую привязку или предписывают первому поставщику не обеспечивать первую привязку посредством отмены первой привязки с первым идентификатором привязки; объявляют в сети посредством второго поставщика первую привязку, которая имеет второй идентификатор привязки и посредством которой осуществляется доступ к услуге, предоставляемой в сети, при этом второй идентификатор привязки является уникальным для второго поставщика; устанавливают, что первый поставщик также обеспечивает первую привязку с первым идентификатором привязки в сети; путем оценивания функции (F) конфликта определяют, должен ли второй поставщик обеспечивать первую привязку; и на основании результата оценивания функции конфликта предписывают второму поставщику обеспечивать первую привязку или предписывают второму поставщику не обеспечивать первую привязку посредством отмены первой привязки со вторым идентификатором привязки.
15. Способ по п.14, в котором функция конфликта обеспечивает булев результат.
16. Способ по п.15, в котором функция (F) конфликта удовлетворяет условию, что F(A, B) не является такой же, как F(B, A).
17. Способ по п.15, в котором функция (F) конфликта удовлетворяет условию, что если F(А, В)=«истина», то F(В, А)=«ложь».
18. Способ по п.14, дополнительно содержащий этапы, на которых принимают из сети попытку удаления, причем этой попыткой удаления осуществляется попытка удалить вторую привязку в сети; определяют, способен ли первый поставщик обеспечивать вторую привязку; разрешают продолжение попытки удаления, если первый поставщик не является способным обеспечивать вторую привязку; и останавливают попытку удаления и добавляют вторую привязку к сети, если первый поставщик способен обеспечивать вторую привязку, но в текущий момент не обеспечивает вторую привязку.
19. Способ по п.14, дополнительно содержащий этапы, на которых на основании результата оценивания функции конфликта останавливают добавление первой привязки со вторым идентификатором привязки и выполняют добавление первой привязки с первым идентификатором привязки путем того, что не посылают ожидаемое подтверждение второму поставщику, посредством чего первым поставщиком обеспечивается первая привязка, либо отменяют добавление первой привязки с первым идентификатором привязки путем того, что посылают ожидаемое подтверждение второму поставщику, посредством чего первым поставщиком не обеспечивается первая привязка; на основании результата оценивания функции конфликта останавливают добавление первой привязки с первым идентификатором привязки и выполняют добавление первой привязки со вторым идентификатором привязки путем того, что не посылают ожидаемое подтверждение первому поставщику, посредством чего вторым поставщиком обеспечивается первая привязка, либо отменяют добавление первой привязки со вторым идентификатором привязки путем того, что посылают ожидаемое подтверждение первому поставщику, посредством чего вторым поставщиком не обеспечивается первая привязка.
РИСУНКИ
|
|