СПОСОБЫ И СИСТЕМЫ ОБЕСПЕЧЕНИЯ НАДЕЖНОЙ СОВМЕСТИМОСТИ МЕДИЦИНСКИХ УСТРОЙСТВ
METHODS AND SYSTEMS FOR PROVIDING RELIABLE COMPATIBILITY OF MEDICAL DEVICES

Уровень техники
Устройства на базе процессора находят все более широкое применение, в том числе в области медицины. Например, при выполнении медицинской процедуры может применяться одно или большее количество медицинских устройств на базе процессора. Этими медицинскими устройствами могут быть, например, операционные инструменты, оборудование для контроля состояния пациента и устройства для поддержки жизни пациента. Процессор каждого устройства можно использовать для управления устройством, сбора данных, обмена данными и других задач.
Применяемые во время процедуры медицинские устройства могут поставляться либо одним, либо группой разных изготовителей. И в том, и в другом случае конечный пользователь медицинского устройства может иметь ограниченные возможности, если он хочет осуществить сопряжение устройства или устройств одного изготовителя с устройством или устройствами другого изготовителя. В частности, каждый изготовитель медицинских устройств может использовать уникальный протокол обмена для сбора и обмена данными. Обычно подробности работы этих протоколов являются конфиденциальной информацией изготовителя. Чтобы защитить свою конкурентоспособность и обеспечить высокое качество работы устройства, изготовители предпочитают не предоставлять конфиденциальную информацию конкурентам.
Сущность изобретения
Предложенные варианты данного изобретения позволяют изготовителю медицинского устройства удовлетворить требования конечного пользователя к функциональной совместимости, не предоставляя конфиденциальную информацию. В одном примере изобретения устройство сопряжения выполнено с возможностью обеспечения одного или группы каналов связи с медицинскими устройствами первой стороны, каждое из которых обменивается данными, используя собственный протокол изготовителя. Устройство сопряжения можно выполнить с возможностью осуществления трансляции между собственным протоколом изготовителя и вторым протоколом, доступным устройству сопряжения через второй канал связи. Для конфигурации медицинских устройств третьей стороны, чтобы соединять их с устройством сопряжения по второму каналу связи, можно сообщить третьим сторонам подробности второго протокола. Применяя второй канал связи, одно или группа медицинских устройств третьей стороны может передавать и/или получать данные от медицинских устройств первой стороны, причем нет необходимости передавать какую-либо конфиденциальную информацию о собственном(ых) протоколе(ах) медицинских устройств первой стороны устройству(ам) третьей стороны.
В одном из вариантов изобретения медицинские устройства первой стороны представляют собой группу операционных инструментов и соответствующее вспомогательное оборудование, а медицинское устройство третьей стороны представляет собой управляющую станцию, используемую для контроля и управления указанными инструментами и вспомогательным оборудованием. Инструменты и вспомогательное оборудование можно соединить с устройством сопряжения посредством соответствующих соединений, использующих собственный физический протокол связи. Например, в одном из вариантов изобретения инструменты используют собственный протокол последовательной связи. Устройство сопряжения может осуществлять трансляцию между протоколом(ами) последовательной передачи данных для устройств первой стороны и вторым протоколом, который доступен станции управления через соединение Ethernet.
Предложенный способ предусматривает использование устройства сопряжения, которое позволяет опрашивать медицинское устройство первой стороны через первый интерфейс и служит в качестве сервера для запросов клиентов от устройств(а) третьей стороны, полученных по второму каналу связи. Например, второй канал связи может содержать сетевое соединение, например, набор протоколов TCP/IP, предоставленных через Ethernet или другой сетевой канал. Устройство сопряжения может обмениваться данными с каждым медицинским устройством первой стороны через соответствующий первый интерфейс, в то же время обмениваясь данными с устройством(ами) третьей стороны через второй интерфейс. Устройство сопряжения может сделать доступными данные, поступающие от соответствующих медицинских устройств первой стороны, в ответ на запросы клиентов, сделанные посредством сетевого порта (например, порта TCP/IP), связанного с каждым соответствующим медицинским устройством первой стороны. В другом варианте изобретения устройство сопряжения может получать данные, например, команды и установочные параметры для конкретного медицинского устройства первой стороны, причем адресуемое устройство идентифицируют в соответствии с портом, через который выдаются команды и установочные параметры. В ответ устройство сопряжения может транслировать данные в соответствующий протокол для устройства первой стороны и передавать данные через первый интерфейс.
Эти варианты изобретения приведены для того, чтобы показать примеры и обленить понимание изобретения, а не для того, чтобы ограничить его или определить его границы. Примеры осуществления изобретения описаны более подробно ниже. Благодаря подробному описанию и/или в результате осуществления на практике одного или группы вариантов предлагаемого изобретения можно лучше понять преимущества различных вариантов изобретения.
Краткое описание чертежей
Ниже изобретение описано более подробно со ссылками на прилагаемые чертежи, на которых:
на фиг.1 показана схема, иллюстрирующая пример набора медицинских устройств,
на фиг.2 показана блок-схема, иллюстрирующая пример того, как изготовитель, являющийся первой стороной, может обеспечить взаимодействие своих устройств с аппаратным обеспечением третьей стороны путем использования предложенного изобретения,
на фиг.3 показана блок-схема, иллюстрирующая этапы способа, осуществляемого устройством сопряжения,
на фиг.4 показана схема потока данных, иллюстрирующая обмен данными между медицинскими устройствами первой стороны, устройством сопряжения и устройством третьей стороны,
на фиг.5А-5В показана блок-схема, иллюстрирующая способ обработки, который можно осуществить посредством устройства сопряжения.
Подробное описание
Ниже следует подробное описание со ссылками на различные примеры изобретения и прилагаемые чертежи. Каждый пример приведен с целью пояснения и не ограничивает настоящее изобретение. Специалисту в данной области очевидно, что изобретение может иметь модификации и вариации. Например, отличительные признаки, изображенные на чертежах или описанные в тексте как часть одного варианта, можно применить в другом варианте, чтобы получить дополнительный вариант. Таким образом, предполагается, что описанное изобретение может включать в себя модификации и вариации, не выходящие за рамки прилагаемой формулы изобретения и ее эквивалентов.
Для полного понимания объекта данного изобретения в следующем подробном описании раскрыто большое число конкретных деталей. Тем не менее специалисту очевидно, что изобретение можно осуществить и без указанных конкретных деталей. В других случаях, чтобы не затруднять понимание объекта изобретения, способы, устройства или системы, понятные специалисту в данной области, подробно не описаны.
На фиг.1 показана схема, иллюстрирующая примерный набор 100 медицинских устройств. В данном примере для размещения пациента (не показан), подвергаемого медицинской процедуре, предусмотрен стол 102 или другая опора. Например, при таких процедурах, как артроскопия и эндоскопия, может использоваться группа медицинских устройств, хотя очевидно, что объект данного изобретения можно использовать с оборудованием любого типа, применяемым для медицинских процедур любого вида.
В данном примере группа устройств содержит электрод 104 для абляции, который применяют во время процедуры для воздействия на ткани микроволнами или другой энергией. Электрод 104 для абляции содержит управляемый процессором источник 106 энергии. В артроскопической хирургии и при других процедурах, чтобы удалять костную ткань или другие структуры, можно применять шейвер 108 с приводом 110, причем мощностью и крутящим моментом, обеспечиваемым приводом 110, управляет процессор или микроконтроллер в зависимости от вводимых пользователем данных. Для наблюдения анатомических особенностей пациента во время процедуры можно использовать систему 112 камеры и камерную головку 114 вместе с монитором 116. Систему 118 переливания жидкостей можно использовать для контроля объема одной или большего количества жидкостей в операционной полости во время процедуры посредством одного или большего количества насосов, клапанов и прочих устройств, управляемых при помощи процессора системы 118.
Для контроля основных показателей пациента во время процедуры, для подачи жидкости, вентиляции и т.д. можно использовать дополнительное оборудование (не показано). Всем этим оборудованием или его частью могут управлять процессоры, например, микропроцессоры, микроконтроллеры и другие устройства. Медицинское устройство может иметь один или большее количество микропроцессоров, его архитектура не ограничивается.
Медицинские устройства 100 могут быть выполнены с возможностью предоставления данных и/или получения команд через интерфейс данных. Например, устройства могут иметь последовательные или другие порты для обеспечения связи устройств друг с другом и/или с системой 120 управления для предоставления данных, получения команд и т.д. Систему 120 управления можно выполнить с возможностью обеспечения интерфейса пользователя, который можно настроить для управления устройствами разных типов. Например, система 120 управления может содержать рабочую станцию, автономное устройство, или устройство другого типа, которое может обеспечить графический интерфейс пользователя и/или сенсорный интерфейс. В другом примере система 120 управления может иметь кнопки, ручки, ползунки и другие механические интерфейсы, которые могут предназначаться для ввода данных в устройства, а также световые индикаторы, круговые шкалы, светодиодные индикаторы и т.п., которые обеспечивают вывод данных из приборов.
Как отмечено выше, если конечный пользователь намерен использовать устройства, поставляемые разными изготовителями, могут возникнуть проблемы. В частности, хотя устройства 100 могут содержать последовательные или другие коммуникационные порты, устройства одного изготовителя могут обмениваться данными, применяя собственный протокол, недоступный другим изготовителям. Например, изготовитель устройств 104, 106, 108, 110, 112, 114, 116 и 118 (изготовитель, являющийся первой стороной) может захотеть, чтобы его устройства работали с системой 120 управления, поставляемой другим изготовителем (изготовителем, являющимся третьей стороной), но без сообщения подробностей протокола(ов) обмена, используемого(ых) устройствами 104-118. В этом примере все устройства 104-118 поставляются одним и тем же изготовителем. Тем не менее, в другом примере некоторые устройства 104-118 могут быть поставлены изготовителем, являющимся третьей стороной, и они могут сопрягаться непосредственно с системой 120 управления, поставляемой изготовителем, являющимся третьей стороной. Пользователь может захотеть, применяя устройство 122 сопряжения, использовать по меньшей мере одно устройство, поставляемое изготовителем, являющимся первой стороной.
В другом примере изготовитель, являющийся первой стороной, может фактически поставить устройства, поставляемые другой стороной (четвертой стороной), при этом изготовитель, являющийся первой стороной, может иметь доступ к протоколу(ам) управления устройств четвертой стороны для обеспечения функциональной совместимости. Здесь для примера устройства четвертой стороны могут рассматриваться как устройства первой стороны.
На фиг.2 показана схема, иллюстрирующая то, каким образом изготовитель, являющийся первой стороной, может обеспечить возможность того, чтобы его устройства работали с аппаратным обеспечением третьей стороны. В данном примере устройство 122 сопряжения выполнено с возможностью создания моста между устройствами 104-118 и контроллером 120 третьей стороны. Устройство 122 сопряжения имеет группу первых аппаратных портов 124, выполненных с возможностью соединения с соответствующими интерфейсами данных устройств 106, 110, 112 и 118 через каналы 126, 128, 130 и 132 связи соответственно. Также, устройство 122 сопряжения имеет второй аппаратный порт 134, обеспечивающий канал 136 связи с контроллером 120 третьей стороны. В этом варианте изобретения устройства 104, 108, 114 и 116 соединены с соответствующими базовыми модулями, а не непосредственно с устройством 122 сопряжения, но очевидно, что этот конкретный набор устройств и организация потока данных между устройствами показаны только для примера. В других вариантах изобретения возможно использование большего или меньшего количества аппаратных портов 124, чем показано в данном примере.
Устройство 122 сопряжения содержит процессор 138 и запоминающее устройство 140. Запоминающее устройство 140 содержит в себе программы 142, которые могут выполняться процессором 138, чтобы транслировать один или большее количество протоколов, используемых устройствами 104-118, в протокол, используемый устройством 120. Показанные на схеме данные 144 представляют собой данные, полученные от одного или группы устройств 104-118, данные, полученные от устройства 120, рабочие данные устройства 122 сопряжения и/или данные, передаваемые в одно или группу устройств 104-120. Процессор 138 может содержать любое подходящее обрабатывающее устройство, в частности, микропроцессоры, микроконтроллеры и т.п.
В одном из вариантов изобретения процессор 138 представляет собой многозадачный процессор, имеющий доступ к первой шине 146, чтобы передавать/получать данные через аппаратные порты 124, в то время как вторая шина 148 предназначена для передачи/получения данных через аппаратный порт 134. Порт 134, например, может являться портом RJ45, при этом процессор 138 выполнен с возможностью обеспечения сетевого интерфейса Ethernet (IEEE 802.3), хотя в других вариантах изобретения для организации сетевого интерфейса можно применять сопроцессор, например, сетевой контроллер. В других вариантах изобретения вместо порта RJ45 или в дополнение к нему можно использовать любой подходящий последовательный или беспроводный интерфейс.
Каждый из портов 124 можно выполнить с возможностью обеспечения подходящего физического канала связи с соответствующим медицинским устройством. Хотя здесь все порты обозначены как «порт 124», очевидно, что различные экземпляры, обозначенные как «порт 124», могут отличаться по конструкции (например, по числу и типу физических соединителей). В частности, в зависимости от изготовителя, являющегося первой стороной, и/или конкретных устройств, порты 124 могут представлять собой последовательные порты одинаковой или разной конфигурации, например, разъемы RS-232, USB-разъемы и т.д. В другом варианте изобретения один или группа портов 124 могут быть параллельными портами, RJ45 или другими портами, или любыми другими физическими каналами связи. Для обеспечения физического канала связи с одним или группой портов 124 и/или портом 134 можно применить технологию беспроводной связи (например, IEEE 802.11, 802.16 или другую технологию радиосвязи), если технология беспроводной связи подходит для применения в области медицины. Другими примерами физических каналов связи, которые можно использовать на одной или обеих сторонах, являются Ethernet, RS-485, RS-422 и инфракрасный (ИК) канал связи.
Хотя здесь это не показано, устройство 122 сопряжения может иметь дополнительные признаки. Например, если одно или группа устройств 104-120 выполнены так, что их питание осуществляется через интерфейс данных, то соответствующий(ие) порт(ы) устройства 122 сопряжения можно выполнить с возможностью подачи питания (например, +5 В постоянного тока, при необходимости) от подходящего источника питания, соединенного с устройством 122 сопряжения. Кроме того, хотя показан один порт 136, устройство 122 сопряжения может поддерживать группу физических каналов для передачи данных и команд по второму протоколу.
В любом случае, программы 142 конфигурируют процессор 138 так, что он может обмениваться данными с устройствами 106, 110, 112 и 118 в соответствии с собственным(и) протоколом(ами) первой стороны, используя каждый соответствующий канал 126, 128, 130 и 132. Протокол(ы) первой стороны может (могут) содержать любое количество протоколов обмена, используемых данными устройствами. В некоторых случаях все устройства могут использовать одинаковый собственный протокол. С другой стороны, в некоторых случаях одно или группа устройств 106, 110, 112 и 118 могут иметь протокол обмена, специфический для данного устройства.
Благодаря программам 142 процессор 138 может передавать и получать данные и/или команды в соответствии с протоколами обмена первой стороны, независимо от количества или типа этих протоколов. Кроме того, программы 142 могут сконфигурировать процессор 138 так, что он будет обмениваться данными с устройством 120, используя второй протокол обмена, детали которого могут быть раскрыты третьим сторонам, чтобы устройство 120 могло взаимодействовать с устройствами 106-118. Примеры такого обмена данными рассмотрены ниже и показаны на фиг.3-5.
На фиг.3 показана блок-схема, иллюстрирующая этапы одного из примеров способа 300, осуществляемого посредством устройства сопряжения, например, устройства 122. На этапе 302 происходит соединение с устройством или устройствами первой стороны (например, с устройствами 106-118, показанными на фиг.2), например, верификация физического канала и соответствующее квитирование согласно протоколу(ам) обмена первой стороны для соответствующих(его) устройств(а) первой стороны. «Устройства первой стороны» могут представлять собой медицинские устройства, которые обмениваются данными, используя протокол обмена, определенный категорией, отдельной от категории, определяющей «устройство третьей стороны». Обычно устройства первой стороны могут относиться к одной и той же категории, хотя устройства первой стороны могут содержать устройства разных изготовителей, которые совместно пользуются протоколом обмена контролируемым образом. Как отмечено выше, все устройства первой стороны могут использовать общий, но собственный протокол, либо разные устройства первой стороны могут использовать различные протоколы первой стороны.
На этапе 304 происходит соединение с устройством или устройствами третьей стороны (например, с устройством 120, показанным на фиг.2) согласно второму протоколу обмена. В одном из вариантов изобретения на этапе 304 происходит установление связи клиент-сервер, причем второй протокол обмена определяет набор правил опроса и обработки ошибок, чтобы обеспечить устойчивость связи с устройством(ами) третьей стороны. Второй протокол обмена отличается от протокола(ов) первой стороны, при этом детали второго протокола обмена можно сделать доступными для поставщиков устройств третьей стороны.
Пока связь с устройством третьей стороны остается устойчивой, устройство сопряжения может реагировать на запросы, генерируемые устройством третьей стороны и идентифицирующие конкретные устройства или функции. На фиг.3 это показано в виде этапов 306, 308 и 310.
На этапе 306 происходит получение запроса или команды, обращенных к конкретному устройству первой стороны. Например, в одном из вариантов изобретения каждому устройству или функции первой стороны присвоен номер порта TCP/IP, таким образом, к устройству или функции можно обращаться на основе номера порта TCP/IP, используемого устройством третьей стороны при выполнении запроса и получении данных.
На этапе 308 происходит обмен данными с соответствующим(и) устройством(ами) первой стороны, при котором применяют соответствующий протокол или протоколы первой стороны, например, выдавая через соответствующий интерфейс первой стороны запрос или команду для соответствующего устройства. Кроме того, на этапе 308 может происходить получение данных от устройств(а) первой стороны. На этапе 310 происходит выдача данных из устройств(а) первой стороны в соответствии со вторым протоколом обмена. Например, при необходимости, данные из устройств(а) первой стороны можно преобразовать; а затем передать в устройство третьей стороны. Эти данные могут содержать обновление состояния, подтверждение изменения установки и т.д. В других вариантах изобретения данные и сообщения, относящиеся к конкретному устройству первой стороны, передаются устройством сопряжения посредством порта TCP/IP, определенным образом связанного с этим устройством первой стороны.
В некоторых вариантах изобретения устройство сопряжения принимает команду на этапе 306, преобразует команду в соответствующий протокол первой стороны, а затем на этапе 308 передает команду в устройство первой стороны, которое после этого в ответ возвращает данные. Затем на этапе 310 возвращенные данные могут быть преобразованы и переданы в устройство третьей стороны. Однако, как поясняется ниже, в некоторых вариантах изобретения устройство сопряжения работает по принципу «спроси меня» и обменивается данными с устройствами первой и третьей стороны, используя параллельные процессы - устройство сопряжения периодически опрашивает устройство(а) первой стороны и имеет готовые кэшированные данные от каждого устройства на случай получения запроса от устройств(а) третьей стороны.
Дополнительно к опросу устройств первой стороны или вместо него в устройство сопряжения устройствами первой стороны могут выдаваться данные по принципу «незапрашиваемых обновлений». Аналогичным образом, дополнительно к ожиданию запросов от устройства третьей стороны или вместо него устройство сопряжения может выдавать незапрашиваемые обновления в устройство третьей стороны в ответ на обновленные данные, полученные от одного или группы устройств первой стороны.
На фиг.4 показана блок-схема 400 потока данных, иллюстрирующая обмен данными между тремя узлами: медицинским(и) устройством(ами) (106, 110 и 118) первой стороны, устройством сопряжения 122 и устройством(ами) 120 третьей стороны. Здесь для более простого объяснения показано три устройства первой стороны, хотя данные принципы применимы независимо от числа устройств.
В данном примере устройство 122 сопряжения выдает данные в устройство 106, которое отвечает на это. В частности, данные 402 квитирования чередуют с командой 404, выдаваемой устройством сопряжения 122, а устройство 106 отвечает, передавая чередующиеся данные 402 квитирования и ответные данные 406. Сначала процедуру квитирования могут применить, чтобы установить связь с каждым из устройств первой стороны в соответствии с одним или большим количеством протоколов первой стороны. Например, она может содержать верификацию физического канала, аутентификацию устройства 106 как разрешенного устройства и подготовку канала передачи данных в соответствии с протоколом первой стороны для каждого устройства. Данные 402 квитирования также можно чередовать с командами и ответами, как показано в примере, чтобы проверять работоспособность канала связи. Очевидно, что конкретный протокол квитирования и передачи данных (т.е. протокол первой стороны) будет зависеть от характеристик отдельных устройств, а стрелка 402 показана только для примера и не означает, что все устройства используют один и тот же протокол квитирования и передачи данных.
Хотя устройство 122 сопряжения может опрашивать устройства первой стороны, устройствам первой стороны не требуется ждать цикла опроса, чтобы осуществить обновление. Вместо этого, как показано для устройства 110 первой стороны, в некоторых вариантах изобретения может поддерживаться получение потока данных, содержащих данные 408 незапрашиваемого обновления (которые в этом примере чередуются с данными 402 квитирования). Например, устройство 110 первой стороны может иметь обновление состояния на основании внутренних условий устройства и/или внешнего условия, контролируемого этим устройством. Незапрашиваемое обновление может быть принято устройством 122 сопряжения и использовано для обновления набора 413 текущих данных.
На блок-схеме показано, что устройство 118 первой стороны получает поток чередующихся данных, состоящий из данных 402 квитирования, запроса 410 и команды 404. Данный пример показывает, как можно применять различные комбинации квитирования, опроса и команд для разных устройств первой стороны в зависимости от конкретного случая.
Устройство 122 сопряжения также выполняет процедуру квитирования с устройством 120 третьей стороны, но делает это в соответствии со вторым протоколом обмена. Например, в одном из вариантов изобретения устройство 122 сопряжения создает полный коммуникационный стек TCP/IP, как указано выше. В этом примере показан назначенный порт TCP/IP для подтверждения соединения, при этом связь проверяется посредством сообщений 412 и 414, передаваемых между устройством 120 третьей стороны и устройством 122 сопряжения. После проверки работоспособности канала связи между устройствами 120 и 122 устройство 122 может выдавать в контроллер 120 третьей стороны незапрашиваемые обновления. Таким образом, если данные и/или состояние устройства меняются, контроллер 120 третьей стороны может обновиться быстрее, чем в случае ожидания завершения цикла опроса. Например, если одно из устройств первой стороны содержит камеру или другой инструмент для контроля, в котором возникает ошибка и который выходит из связи, контроллер третьей стороны может обновиться немедленно. Если связь не может быть проверена через порт для подтверждения соединения, то в устройстве 120 третьей стороны может отображаться соответствующее состояние ошибки, например, оба устройства 120, 122 могут пытаться восстановить соединение, при этом устройство 120 отображает, что данные отсутствуют, пока не будет восстановлено соединение.
На фиг.4 пунктирными линиями показаны дополнительные порты, в частности, назначенные порты для каждого, из устройств 106, 110, 118. В некоторых вариантах изобретения каждое устройство имеет соответствующий номер порта, определяемый в соответствии со вторым протоколом обмена. Например, как показано стрелкой 416, устройство 120 третьей стороны может выдать команду в соответствии со вторым протоколом через порт TCP/IP, соответствующий устройству 106 первой стороны. Командные данные 419 могут быть извлечены и сохранены в запоминающем устройстве, - а затем выданы в качестве команды в соответствии с протоколом первой стороны для соответствующего устройства. Например, командные данные 419 могут быть транслированы в потоке 402-404-402, выданном в устройство 106 первой стороны. В ответ на это данные из потока 402-406-402 могут быть использованы для обновления текущих данных 413, а затем выданы в соответствии со вторым протоколом, как показано стрелкой 418.
Кроме того, устройство 122 сопряжения обеспечивает наличие порта TCP/IP, соответствующего устройству 110 первой стороны. Например, незапрашиваемое обновление (показанное стрелками 402-408-402) может использоваться устройством 122 сопряжения для обновления текущих данных 413. В ответ на появление обновления устройство 122 сопряжения, как показано стрелкой 420, может само выдать незапрашиваемое обновление в устройство 120 третьей стороны.
В этом примере также имеется порт для устройства 118. Например, устройство 120 третьей стороны может выдать команду и запрос данных, используя порт, как показано стрелкой 422. В ответ устройство 122 сопряжения обновляет командные данные и выдает вышеупомянутые потоки 402-410-404 данных. Например, как показано на фиг.2, запрос от устройства 120 может представлять собой запрос данных от одного или группы устройств, и/или он может содержать команду(ы) для устройств, например, запрос от устройства 120, содержащий команду для системы 118 переливания жидкостей на увеличение или уменьшение расхода. В одном из вариантов изобретения устройство 120 выдает запрос на номер порта TCP/IP, назначенный для системы 118 переливания жидкостей, вместе с данными, идентифицирующими команду в соответствии с опубликованным синтаксисом для второго протокола обмена. Например, команда на увеличение расхода может содержать сообщение в кодах ASCII, содержащее символы «Flow++».
В соответствии с блок-схемой, показанной на фиг.2, процессор 138 может определить по номеру порта, через который от устройства 120 поступил запрос клиента, что команда предназначена для системы 118 переливания жидкостей. Процессор 138 может преобразовать сообщение в кодах ASCII в подходящий синтаксис команд для системы 118 переливания жидкостей и передать команду по каналу 132, применяя специфический протокол для системы 118 переливания жидкостей. В следующий раз, когда система 118 переливания жидкостей опрашивается или выдает незапрашиваемое обновление в соответствии с протоколом первой стороны; данные, выдаваемые системой 118, отражают ее ответ на команду.
В качестве другого примера в некоторых вариантах изобретения устройство (например, устройство 112 на фиг.2) можно выполнить с возможностью отображения данных в виде изображения. Устройство 120 может запросить текущие изображения от системы 112 камеры, сделав запрос через номер порта, предназначенный для системы 112 камеры, применяя подходящий синтаксис, идентифицирующий требуемые данные (например, сообщение в кодах ASCII содержащее символы «Updatelmage()»). В ответ устройство 122 сопряжения может передать команду/запрос по каналу 130, получить текущие данные, а затем выдать текущие данные по каналу 136. Дополнительно или вместо этого система 112 камеры (или другое устройство) может выдавать текущие данные в устройство 122 сопряжения в ответ на периодические запросы или сигналы для проверки связи, выдаваемые устройством 122 сопряжения. Текущие данные можно сохранять в запоминающем устройстве 140 устройства 122 сопряжения, чтобы облегчить доступ со стороны устройства 120 через канал 136.
Выше были рассмотрены потоки данных между устройствами первой стороны, передаваемых последовательно, при этом в некоторых вариантах изобретения можно использовать последовательные или параллельные запросы. Однако, варианты изобретения содержат варианты, в которых устройство 122 сопряжения поддерживает многозадачный режим. Таким образом, между устройством 122 сопряжения и различными устройствами первой стороны возможны различные варианты обмена данными. Обмен данными между устройством 122 сопряжения и устройством 120 третьей стороны также может происходить одновременно (и в то же время, что и обмен информацией между устройством 122 и устройством первой стороны).
Например, устройство 120 первой стороны, показанное на фиг.4, может одновременно получать данные через соответствующие порты, как показано стрелками 418 и 420. В течение этого промежутка времени, чтобы обеспечить устойчивое соединение, может осуществляться обмен 412, 414 данными через порт для подтверждения соединения. Кроме того, в течение этого промежутка времени устройство 122 сопряжения может выдавать и/или получать данные, не имеющие отношения к данным, показанным стрелками 418 и 420, например, когда устройство сопряжения выдает данные 418 и 420, в пути от соответствующего устройства первой стороны, выдавшего данные, могут быть даже более новые данные, а в другие устройства первой стороны по их соответствующим соединениям могут выть выданы дополнительные команды.
Для наглядности на стрелках 416, 418, 420, 422 не показаны отдельные компоненты потока данных. Очевидно, что в отдельных портах может осуществляться соответствующее квитирование, чтобы обеспечить устойчивость порта к условиям использования и целостность данных, обмен которыми осуществляется согласно второму протоколу.
На фиг.5А-5В показана блок-схема, иллюстрирующая способ 500 обработки, который можно осуществить посредством устройства сопряжения. Хотя при описании блок-схемы, показанной на фиг.3, уже был рассмотрен общий принцип, на фиг.5А-5В представлен более детальный пример, который можно использовать, чтобы обеспечить надежное взаимодействия, а также обновления, необходимые во многих ситуациях в медицинской области. В этом примере осуществление способа 500 начинается с этапа 502 и представляет собой две параллельные ветви 504 (см. фиг.6А) и 506 (см. фиг.5В). Если процессор устройства сопряжения может осуществлять параллельные потоки, то каждая ветвь может содержать собственный поток, или ветви можно реализовать, используя многозадачный процессор. Кроме того, процессор может обеспечивать один экземпляр ветви 504 для каждого устройства первой стороны, причем для одновременного соединения с соединенными устройствами используются разные экземпляры ветви 504.
Каждый экземпляр ветви 504 представляет соединение с соответствующими устройствами первой стороны. На этапе 508 определяют, соединено ли устройство первой стороны. Как известно из уровня техники, данный процесс может предусматривать определение наличия физического канала на основе уровня напряжения в линии, сопротивления и т.д. Если устройство соединено, то на этапе 510 выполняют соответствующее квитирование для создания начального соединения.
На этапе 511 способа происходит проверка сообщения об обновлении от устройства. Если устройство выдало незапрашиваемое обновление, то, согласно способу, происходит переход к этапу 516, на котором происходит обновление текущих данных в запоминающем устройстве устройства сопряжения на основе данных, возвращенных устройством первой стороны (это рассмотрено выше). Если от устройства не принято никаких данных, то, согласно способу, осуществляется переход к этапу 512, на котором происходит опрос устройства путем передачи в устройство в соответствии с протоколом для устройства первой стороны сигнала для проверки связи или другого распознаваемого сообщения.
В одном из вариантов изобретения каждое устройство первой стороны опрашивается каждые 250 миллисекунд, однако можно использовать и другие интервалы времени, а также осуществить несколько попыток повтора. Соответственно, на фиг.5А показан этап повтора, на котором определяют, необходим ли повтор. Если повтор необходим, то происходит возвращение к этапу 512. В противном случае, если повтор не требуется, происходит переход к этапу 514, на котором определяют, что имеется время ожидания для устройства, или что устройство дает неожиданный или непонятный ответ. Если да, то может запуститься соответствующая процедура обработки ошибок, например, прежде чем будет выдано состояние ошибки, может осуществляться ограниченное число повторов выполнения всей последовательности опроса. После этого происходит переход к выдаче команды поддержания активности, в то время как ветвь 504 переходит на один уровень вверх, чтобы попытаться снова осуществить опрос на этапе 512. В одном из вариантов изобретения после четырех попыток выполнения последовательности опроса (причем каждая попытка содержит некоторое количество повторов и также завершается через время ожидания) происходит возвращение к этапу 510, чтобы попытаться идентифицировать устройство снова.
Однако, если опрашиваемое устройство отвечает на опрос на этапе 512 (т.е. отсутствует время ожидания на этапе 514), то происходит переход к этапу 516. На этапе 516 происходит обновление текущих данных в запоминающем устройстве устройства сопряжения на основе данных, возвращенных устройством первой стороны. Устройство сопряжения выполнено с возможностью распознавания формата данных и протокола обмена каждого устройства первой стороны и сохранения возвращенных данных в запоминающем устройстве. Устройство сопряжения может сохранять данные, используя внутренний формат устройства сопряжения, в формате, соответствующем протоколу первой стороны, или преобразовывать и сохранять данные в соответствии со вторым протоколом обмена. Для верификации ответа, как отмечено выше, можно использовать соответствующие процедуры обработки ошибок. Например, если информация о контрольной сумме или другой код свидетельствует о проблеме, может отображаться состояние ошибки. Кроме того, выдается запрос активности, после чего происходит возвращение к этапам 511-512 для повторной проверки данных и опроса устройства, если необходимо.
В некоторых вариантах изобретения соединяться и обмениваться данными в соответствии с ветвью 504 могут все соединенные устройства первой стороны. Однако, в других вариантах изобретения устройства могут опрашиваться по очереди. Помимо этого, процедура может включать в себя соответствующую обработку соединений/отсоединений устройства - при соединении нового устройства может начинаться последовательность опроса, и если устройство отсоединено, могут выполняться соответствующие этапы по завершению процесса опроса. На практике, после осуществления соединения квитирование и запросы активности могут чередоваться с обновлениями статуса и сервисными обновлениями.
Если в устройство первой стороны необходимо выдать команду, указанную команду можно выдать при опросе устройства или как отдельное сообщение для данного устройства. Это можно осуществить благодаря тому, что устройство сопряжения «понимает» протокол обмена устройства первой стороны. Например, команды уровня мощности для отдельного устройства можно определить в специфическом смещении в командном сообщении и/или, чтобы запустить команду, может потребоваться специфическая последовательность символов. Если необходимо выдать команду, устройство сопряжения может создавать соответствующий битовый поток и включать этот поток в соответствующим образом синхронизированное сообщение.
Способ 500 также содержит ветвь 506, представляющую обеспечение функционирования интерфейса для обмена данными с устройством третьей стороны в соответствии со вторым протоколом. В отличие от протокола или протоколов устройств(а) первой стороны, которые остаются собственными, второй протокол может быть предоставлен изготовителям, являющимся третьей стороной. Кроме того, второй протокол не является специфическим для данных устройств, напротив, второй протокол можно использовать для обмена данными между группой разных устройств (например, всех устройств первой стороны, соединенных с устройством сопряжения).
На этапе 520 происходит определение того, соединено ли устройство третьей стороны с портом(ами), обеспечивающим(и) связь с использованием второго протокола. Например, если следует использовать соединение RJ45, на этапе 520 может происходить определение того, существует ли физическое соединение. На этапе 522 происходит квитирование и установление соответствующих сетевых связей через соединение. В некоторых вариантах изобретения указанный этап предусматривает создание сетевого сокетного соединения, например, сокетного соединения TCP/IP, а также открытие портов TCP/IP, соответствующих каждому присоединенному первому устройству. На этапах 524 и 526 происходит определение того, появляется ли ошибка во время/после процесса квитирования, а также есть ли время ожидания. Если да, то происходит возврат к этапу 522, чтобы снова попытаться осуществить квитирование.
Например, можно ожидать, что «регистрация» оборудования третьей стороны происходит по меньшей мере каждые 250 миллисекунд, хотя можно задать другой временной интервал. Соответственно, в некоторых вариантах изобретения устройство сопряжения выполнено с возможностью назначения сетевого порта (например, порта TCP/IP) в качестве порта для подтверждения соединения для контроля состояния соединения с устройством третьей стороны, чтобы обеспечить постоянное соединение. Этапы 524-526 могут выполняться непрерывно, на основе сообщений, обмен которыми происходит через порт для подтверждения соединения. В более общем смысле на указанных этапах происходит определение того, принят ли через порт TCP/IP для подтверждения соединения хотя бы один запрос. Если подтверждение соединения не определено, то устройство сопряжения может реагировать на состояние ошибки.
Если ошибки или время ожидания отсутствуют, то происходит переход к этапу 528, на котором происходит определение того, принят ли запрос данных или команда от устройства третьей стороны. Если на этапе 528 принят запрос, происходит переход к этапу 530, на котором происходит декодирование запроса. Второй протокол обмена может определять синтаксис для адресации устройствам и форматирования запросов данных, команд для устройств и т.д. Устройство сопряжения может распознавать этот синтаксис. Например, через определенный номер порта TCP/IP для конкретного устройства можно сделать запрос, содержащий команду и/или запрос одного или большего количества элементов данных. Таким образом, этап 528 предусматривает возможность одновременного контроля группы портов TCP/IP. На практике можно поддерживать группу потоков, каждый из которых предназначен для координации запросов и ответов через соответствующий порт TCP/IP.
Как показано на фиг.5 В, можно выполнять процедуру проверки контрольных сумм или другую процедуру контроля ошибок. В этом примере в случае ошибки в контрольной сумме происходит возврат к этапу 522 через состояние ошибки, чтобы снова попытаться осуществить квитирование. Если в контрольной сумме нет ошибки, то запросы данных и/или команды обрабатываются в соответствии с этапом 532. Для запроса элемента(ов) данных устройство сопряжения хранит команду в очереди, так что эта команда выдается устройству в следующий интервал опроса. Команду можно сохранить в формате, являющимся внутренним форматом устройства сопряжения, в формате, соответствующем протоколу обмена второй стороны, или ее можно преобразовать и поставить в очередь в соответствии с протоколом первой стороны. Если запрос содержит команду, то устройство сопряжения может ответить напрямую, сразу после получения команды преобразуя команду для передачи с использованием протокола первой стороны.
В этом примере, если запрос не принят (или если принятый запрос обработан), происходит переход от этапа 528 к этапу 534, на котором происходит определение того, имеются ли данные для выдачи. Как уже отмечалось, в некоторых вариантах изобретения устройство сопряжения может обеспечивать незапрашиваемые обновления, чтобы оборудование третьей стороны имело самые новые данные. Например, устройство сопряжения может использовать временные метки и/или разряды состояний, связанные с элементами данных, полученных от оборудования третьей стороны, чтобы определить, были ли выданы элементы данных в оборудование третьей стороны.
Если имеются данные для выдачи, на этапе 536 осуществляют выборку данных, а на этапе 538 данные выдают в формате, соответствующем второму протоколу обмена. Как отмечено выше, эти данные можно сохранить в первоначальном формате, или их можно преобразовать во время хранения. Устройство сопряжения способно преобразовывать данные в любом случае, так как это устройство «понимает» протокол обмена первой стороны и протокол, используемый для обмена данными с устройством третьей стороны. Например, используя протокол для конкретного устройства, можно определять, что информация о состоянии этого устройства (например, уровень' мощности устройства, температура и т.п.) содержится в последовательном потоке данных в виде особой битовой комбинации со специфическим сдвигом. Устройство сопряжения можно запрограммировать так, чтобы идентифицировать в последовательном потоке данных информацию о состоянии устройства, транслировать битовую комбинацию и сохранить информацию о состоянии в запоминающем устройстве. Если наступило время преобразования данных, устройство сопряжения может создавать сообщение в соответствии с синтаксисом второго протокола обмена, а затем отправлять сообщение соответствующим образом (например, в кодах ASCII через порт TCP/IP, соответствующий устройству, состояние которого было обновлено).
Способ, проиллюстрированный на фиг.5А-5В, показан только для примера. В других вариантах изобретения текущие данные могут возвращаться в ответ на запрос от устройства третьей стороны. Например, если на этапе 530 запрашиваются текущие данные, то на этапе 532 устройство сопряжения может выдать запрос на обновленный(е) элемент(ы) данных через первый интерфейс, используя протокол первой стороны, и, если возвращаются обновленные данные, они могут быть преобразованы для передачи на этапах 536 и 538, используя второй протокол.
На практике устройство сопряжения также может выполнять подходящие процедуры, чтобы входить и выходить из процедур опроса и обмена данными при ошибке и других событиях, например, при выключении устройства. Кроме того, устройство сопряжения может поддерживать процессы администрирования и обеспечения безопасности.
В одном из вариантов изобретения устройство сопряжения обеспечивает процедуру аутентификации для проверки доступа, через второй интерфейс и/или выдачи в устройство сопряжения команд администрирования. Например, в ответ на команды администрирования можно подключать или блокировать различные порты первой стороны, устанавливать сетевые опции и регулировать параметры устройства. В некоторых вариантах изобретения интерфейс для администрирования можно использовать, чтобы обновлять программное обеспечение устройства сопряжения для поддержки дополнительных устройств первой стороны и/или изменения поддерживаемых протоколов обмена первой стороны.
Общие аспекты
Применяемые здесь выражения «предназначен для» или «выполнен с возможностью» означают открытые и охватывающие формулировки, которые не исключают устройств, предназначенных для или выполненных с возможностью осуществления дополнительных задач или этапов. Кроме того, применяемое выражение «основанный на» или «на основе» означает открытую и охватывающую формулировку, поскольку процесс, этап, расчет или другое действие, «основанное на» одном или большем количестве перечисленных условий или значениях, фактически могут быть основаны на дополнительных условиях или значениях, выходящих за пределы перечисленных условий и значений. Содержащиеся в данном документе заголовки, перечни и нумерация предназначены для упрощения объяснения, а не для ограничения.
Варианты изобретения, выполненные в соответствии с признаками объекта изобретения, могут быть реализованы в цифровых электронных схемах, аппаратных средствах ЭВМ, микропрограммном обеспечении, программном обеспечении или в их сочетании. В одном из вариантов изобретения компьютер может содержать процессор или процессоры. Процессор содержит или имеет доступ к машиночитаемому носителю, например, к соединенному с процессором запоминающему устройству с произвольной выборкой (RAM). Процессор выполняет программы, исполняемые на компьютере, сохраненные в запоминающем устройстве, например, как отмечено выше, выполняет одну или большее количество компьютерных программ для взаимодействия с оборудованием первой стороны и третьей стороны.
Такие процессоры могут содержать микропроцессор, цифровой процессор сигналов (DSP), специализированную интегральную схему (ASIC), программируемые логические интегральные схемы (FPGA) и машины состояний. Кроме того, такие процессоры могут содержать программируемые электронные устройства, например, программируемые логические контроллеры (PLC), программируемые контроллеры прерываний (PIC), программируемые логические устройства (PLD), программируемые постоянные запоминающие устройства (PROM), электрически программируемые постоянные запоминающие устройства (EPROM или EEPROM) или другие аналогичные устройства.
Такие процессоры могут содержать или быть связаны со средами, например, с материальными и долговременными машиночитаемыми носителями, на которых можно хранить программы, которые при их выполнении процессором могут вызвать реализацию процессором описанных в данном документе этапов, выполняемых процессором или при содействии процессора. К машиночитаемым носителям, в частности, относятся все электронные, оптические, магнитные и другие запоминающие устройства, способные обеспечить процессор, например, процессор сервера, машиночитаемыми программами.
Кроме того, к носителям, в частности, относятся дискеты, компакт-диски, магнитные диски, микросхемы памяти, постоянные запоминающие устройства, запоминающие устройства с произвольной выборкой, специализированные интегральные схемы, сконфигурированные процессоры, все оптические носители, все магнитные ленты или другие магнитные носители или любые другие носители, с которых процессор компьютера может считывать информацию. Также, машиночитаемые носители могут представлять собой различные другие устройства, например, маршрутизатор, частную сеть, сеть общего пользования или другое устройство передачи данных. Процессор и описанная здесь обработка могут содержаться в одной или группе структур, и они могут быть рассредоточены по одной или группе структур. Процессор может содержать код для выполнения одного или большего количества описанных здесь способов (или частей способов).
Хотя объект данного изобретения подробно описан на примере отдельных вариантов осуществления, специалисту в данной области техники очевидно, что предложенное изобретение может претерпевать изменения, а также иметь вариации и эквиваленты этих вариантов. Также, данное описание приведено только в качестве примера и не ограничивает изобретение, при этом в объект данного изобретения возможно внесение таких изменений, вариаций и/или дополнений, которые очевидны для специалиста в данной области техники.