RU2780964C2 - System and method for automated drilling network - Google Patents

System and method for automated drilling network Download PDF

Info

Publication number
RU2780964C2
RU2780964C2 RU2020112522A RU2020112522A RU2780964C2 RU 2780964 C2 RU2780964 C2 RU 2780964C2 RU 2020112522 A RU2020112522 A RU 2020112522A RU 2020112522 A RU2020112522 A RU 2020112522A RU 2780964 C2 RU2780964 C2 RU 2780964C2
Authority
RU
Russia
Prior art keywords
network
drilling
control
data
user
Prior art date
Application number
RU2020112522A
Other languages
Russian (ru)
Other versions
RU2020112522A3 (en
RU2020112522A (en
Inventor
Хуан РОХАС
Шуньфэн Чжэн
Чжицзе Лю
Эрик ТИССЕН
Маркос Сугуру КАДЖИТА
Гийом ТАМБУАЗ
МЛ. Уилсон СИЛВА ДОС САНТОС
Original Assignee
Шлюмбергер Текнолоджи Б.В.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Шлюмбергер Текнолоджи Б.В. filed Critical Шлюмбергер Текнолоджи Б.В.
Priority claimed from PCT/US2018/050322 external-priority patent/WO2019051439A1/en
Publication of RU2020112522A publication Critical patent/RU2020112522A/en
Publication of RU2020112522A3 publication Critical patent/RU2020112522A3/ru
Application granted granted Critical
Publication of RU2780964C2 publication Critical patent/RU2780964C2/en

Links

Images

Abstract

FIELD: computer technology.
SUBSTANCE: system of interaction of a drilling control network and a user network contains the first control system connected to a set of network elements, which forms the drilling control network; a virtualization service dispatcher connected to the first control system and the set of network elements; a virtual connection controller connected to the set of network elements, wherein the virtual connection controller establishes a virtual connection between the first control system and the user network; and an operation ending dispatcher connected to the virtualization service dispatcher, the set of network elements, and the first control system, wherein the operation ending dispatcher finishes operations of the first control system and the virtualization service dispatcher in accordance with a sequence of operation ending for the drilling control network.
EFFECT: increase in the degree of safety in the interaction of a drilling control network and a user network.
14 cl, 34 dwg

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] Данная заявка заявляет приоритет предварительной заявки на патент США № 62/556,815, озаглавленной “Rig Security”, которая была подана 11 сентября 2017 г., и полностью включена в данную заявку посредством ссылки.[0001] This application claims priority of U.S. Provisional Application No. 62/556,815 entitled "Rig Security", which was filed September 11, 2017, and is incorporated herein by reference in its entirety.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION

[0002] Для управления различными операциями на буровой установке различные сетевые устройства могут быть расположены по всей буровой установке. Эти сетевые устройства могут управлять буровым оборудованием, контролировать технические характеристики буровой установки и/или осуществлять различные работы по техническому обслуживанию в отношении буровой установки. Соответственно, существуют различные проблемы в отношении эффективного принудительного выполнения протоколов безопасности в отношении таких сетевых устройств.[0002] To control various operations on the drilling rig, various network devices may be located throughout the drilling rig. These network devices may control the drilling equipment, monitor the performance of the drilling rig, and/or perform various maintenance activities on the drilling rig. Accordingly, there are various problems regarding the effective enforcement of security protocols in relation to such network devices.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0003] В целом, в одном аспекте раскрытая технология относится к системе. Система содержит систему управления, соединенную с различными элементами сети, которые формируют сеть управления бурением. Система управления содержит программируемый логический контроллер (PLC, programmable logic controller), который осуществляет операции бурения. Система дополнительно содержит диспетчер служб виртуализации, соединенный с системой управления и элементами сети. Диспетчер служб виртуализации реализует службу виртуализации на сети управления бурением, которая управляет операцией бурения. Система дополнительно содержит контроллер, соединенный с элементами сети. Контроллер виртуальных соединений устанавливает виртуальное соединение между системой управления и пользовательской сетью.[0003] In general, in one aspect, the disclosed technology relates to a system. The system comprises a control system connected to various network elements that form a drilling control network. The control system contains a programmable logic controller (PLC) that performs drilling operations. The system further comprises a virtualization service manager connected to the management system and network elements. The virtualization service manager implements a virtualization service on the drilling control network that controls the drilling operation. The system further comprises a controller connected to the network elements. The virtual connection controller establishes a virtual connection between the control system and the user network.

[0004] В целом, в одном аспекте раскрытая технология относится к системе, содержащей систему управления, соединенную с первым набором элементов сети, которые формируют первую зону безопасности в сети управления бурением. Система управления содержит программируемый логический контроллер (PLC), который осуществляет операции бурения. Система дополнительно содержит диспетчер служб виртуализации, соединенный с системой управления и первым набором элементов сети. Диспетчер служб виртуализации реализует службу виртуализации в сети управления бурением, которая управляет операцией бурения. Система дополнительно содержит межсетевое устройство защиты, соединенное с первой зоной безопасности и второй зоной безопасности, содержащей второй набор элементов сети. Сеть управления бурением изменяет конфигурацию, в ответ на проверку сетевого устройства, первой зоны безопасности, чтобы позволить сетевому устройству осуществлять связь с устройством назначения во второй зоне безопасности.[0004] In general, in one aspect, the disclosed technology relates to a system comprising a control system coupled to a first set of network elements that form a first security zone in a drilling control network. The control system contains a programmable logic controller (PLC) that performs drilling operations. The system further comprises a virtualization services manager connected to the management system and the first set of network elements. The virtualization service manager implements a virtualization service on the drilling control network that controls the drilling operation. The system further comprises a firewall connected to the first security zone and the second security zone containing the second set of network elements. The drilling control network reconfigures, in response to checking the network device, the first security zone to allow the network device to communicate with the destination device in the second security zone.

[0005] В целом, в одном аспекте раскрытая технология относится к системе. Система содержит систему управления, соединенную с различными элементами сети, которые формируют сеть управления бурением. Система управления содержит программируемый логический контроллер (PLC), который осуществляет операции бурения. Система дополнительно содержит диспетчер служб виртуализации, соединенный с системой управления и элементами сети. Диспетчер служб виртуализации реализует службу виртуализации на сети управления бурением, которая управляет операцией бурения. Система дополнительно содержит диспетчер конфигурации, соединенный с элементами сети и системой управления. Диспетчер конфигурации устанавливает обновление на системе управления с использованием агента безопасности на системе.[0005] In general, in one aspect, the disclosed technology relates to a system. The system comprises a control system connected to various network elements that form a drilling control network. The control system contains a programmable logic controller (PLC) that performs drilling operations. The system further comprises a virtualization service manager connected to the management system and network elements. The virtualization service manager implements a virtualization service on the drilling control network that controls the drilling operation. The system further comprises a configuration manager connected to the network elements and the control system. The Configuration Manager installs the update on the management system using the security agent on the system.

[0006] Другие аспекты изобретения станут очевидными из последующего описания и прилагаемой формулы изобретения.[0006] Other aspects of the invention will become apparent from the following description and the appended claims.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВBRIEF DESCRIPTION OF GRAPHICS

[0007] На фиг. 1, 2, 4, 9.1, 9.2, 9.3, 13, 16, 17, 20.1, 20.2, 24 и 28 проиллюстрированы системы в соответствии с одним или более вариантами реализации изобретения.[0007] FIG. 1, 2, 4, 9.1, 9.2, 9.3, 13, 16, 17, 20.1, 20.2, 24, and 28 illustrate systems in accordance with one or more embodiments of the invention.

[0008] На фиг. 3, 5, 7, 10, 11, 15, 18, 19, 21, 22, 25, 27, 29 и 30 проиллюстрированы блок-схемы в соответствии с одним или более вариантами реализации изобретения.[0008] FIG. 3, 5, 7, 10, 11, 15, 18, 19, 21, 22, 25, 27, 29 and 30 illustrate block diagrams in accordance with one or more embodiments of the invention.

[0009] На фиг. 6, 8.1, 8.2, 12, 14, 23, 26.1, 26.2, 31, 32, и 33 проиллюстрированы примеры в соответствии с одним или более вариантами реализации изобретения.[0009] FIG. 6, 8.1, 8.2, 12, 14, 23, 26.1, 26.2, 31, 32, and 33 illustrate examples in accordance with one or more embodiments of the invention.

[0010] На фиг. 34.1 и 34.2 проиллюстрирована вычислительная система в соответствии с одним или более вариантами реализации изобретения. [0010] FIG. 34.1 and 34.2 illustrate a computing system in accordance with one or more embodiments of the invention.

ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

[0011] Конкретные варианты реализации изобретения будут подробно описаны со ссылкой на прилагаемые фигуры. Для обеспечения последовательности одинаковые элементы на различных фигурах обозначены одинаковыми номерами позиций. [0011] Specific embodiments of the invention will be described in detail with reference to the accompanying figures. To ensure consistency, the same elements in different figures are indicated by the same reference numbers.

[0012] В последующем подробном описании вариантов реализации изобретения многочисленные конкретные подробности приводятся для того, чтобы обеспечить более глубокое понимание изобретения. Однако, для специалистов в данной области техники будет очевидным, что изобретение может быть реализовано без этих конкретных подробностей. В других случаях хорошо известные признаки не были описаны подробно, чтобы избежать излишнего усложнения описания.[0012] In the following detailed description of embodiments of the invention, numerous specific details are provided in order to provide a better understanding of the invention. However, it will be apparent to those skilled in the art that the invention may be practiced without these specific details. In other cases, well-known features have not been described in detail in order to avoid over-complicating the description.

[0013] По всей заявке порядковые числительные (например, первый, второй, третий и т. д.) могут быть использованы как имеющие свойства прилагательного для элемента (т. е. любого существительного в заявке). Использование порядковых числительных не подразумевает и не создает какого-либо конкретного упорядочения элементов, а также не ограничивает какой-либо элемент только одним элементом, если он явно не описан, например, посредством использования терминов «перед», «после», «один» и других подобных терминов. Скорее, использование порядковых числительных предназначено для того, чтобы провести различие между элементами. В качестве примера, первый элемент отличается от второго элемента, причем первый элемент может содержать более одного элемента и следовать (или предшествовать) за вторым элементом при расстановке элементов. [0013] Throughout the application, ordinal numbers (eg, first, second, third, etc.) can be used as having adjective properties for the element (ie, any noun in the application). The use of ordinal numbers does not imply or create any particular ordering of the elements, nor does it restrict any element to only one element unless it is explicitly described, for example, through the use of the terms "before", "after", "one", and other similar terms. Rather, the use of ordinal numbers is intended to distinguish between elements. As an example, the first element is different from the second element, wherein the first element may contain more than one element and follow (or precede) the second element in the arrangement of the elements.

[0014] В целом, варианты реализации изобретения включают в себя различные системы и различные способы для эксплуатации сети управления бурением. В частности, один или более вариантов реализации изобретения относятся к сети управления бурением, которая содержит различные системы управления с программируемыми логическими контроллерами (PLC). В частности, диспетчер служб виртуализации, работающий в сети, может формировать виртуальные машины и/или программные контейнеры на уровне служб виртуализации. Эти виртуальные машины и/или программные контейнеры могут осуществлять одну или более операций бурения и/или операций по техническому обслуживанию. [0014] In general, embodiments of the invention include various systems and various methods for operating a drilling control network. In particular, one or more embodiments of the invention relate to a drilling control network that includes various programmable logic controller (PLC) control systems. In particular, a virtualization services manager running on a network may create virtual machines and/or software containers at the virtualization services layer. These virtual machines and/or software containers may perform one or more drilling and/or maintenance operations.

[0015] Кроме того, сеть управления бурением может содержать диспетчер конфигурации, координированный контроллер и/или другие сетевые устройства для автоматизации и/или назначения приоритетов различных процессов, выполняемых в сети управления бурением. Таким образом, раскрытая технология описывает различные реализации, которые могут обеспечить решения задач, характерных для условий эксплуатации, связанных с сетью управления бурением. Соответственно, один или более способов раскрытой технологии может восполнить пробелы между автоматизацией процесса управления, выявленные в разных отраслях промышленности, и теми условиями, которые характерны для сети управления бурением. [0015] In addition, the drilling control network may include a configuration manager, a coordinated controller, and/or other network devices for automating and/or prioritizing various processes running on the drilling control network. Thus, the disclosed technology describes various implementations that can provide solutions to the operational challenges associated with a drilling control network. Accordingly, one or more methods of the disclosed technology can bridge the gaps between process automation found in various industries and those conditions that are characteristic of a drilling control network.

[0016] На фиг. 1 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. На фиг. 1 проиллюстрирована буровая система (10) в соответствии с одним или более вариантами реализации изобретения. Бурильная колонна (58) проиллюстрирована как расположенная внутри ствола (46) скважины. Ствол (46) скважины может быть расположен в толще Земли (40), имеющей поверхность (42). Ствол (46) скважины проиллюстрирован как вырезанный посредством действия бурового долота (54). Буровое долото (54) может быть расположено на дальнем конце компоновки (56) низа бурильной колонны, которая присоединяется к нижней части бурильной колонны (58) и образует ее. Компоновка (56) низа бурильной колонны может содержать ряд устройств, содержащих различные субблоки. В состав субблоков (62) могут входить субблоки измерения в процессе бурения (ИПБ). Примеры измерений ИПБ могут включать следующее: направление, угол наклона буровой скважины, данные технического контроля, давление в скважине (давление внутри и/или снаружи бурильной трубы, и/или давление в кольцевом пространстве), сопротивление, плотность и пористость. Субблоки (62) также могут включать субблоки для измерения крутящего момента и осевой нагрузки на буровое долото (54). Сигналы от субблоков (62) могут быть обработаны в процессоре (66). После обработки информация от процессора (66) может быть передана к блоку (64) генератора импульсов. Блок (64) генератора импульсов может преобразовывать информацию от процессора (66) в импульсы давления в промывочной жидкости. Импульсы давления могут генерироваться в специальную структуру, которая представляет собой данные от субблоков (62). Импульсы давления могут перемещаться вверх посредством промывочной жидкости в центральном отверстии в бурильной колонне и к системе на поверхности. Субблоки в компоновке (56) низа бурильной колонны могут дополнительно содержать турбину или двигатель для обеспечения электропитания для вращения и управления направлением бурения бурового долота (54).[0016] FIG. 1 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. In FIG. 1 illustrates a drilling system (10) in accordance with one or more embodiments of the invention. The drill string (58) is illustrated as being located within the wellbore (46). The borehole (46) may be located in the earth (40) having a surface (42). The wellbore (46) is illustrated as being cut by the action of a drill bit (54). The drill bit (54) may be located at the distal end of the bottom hole assembly (56) that is attached to and forms the bottom of the drill string (58). The bottom hole assembly (56) may comprise a number of devices containing various subassemblies. The sub-units (62) may include measurement-while-drilling (MDD) sub-units. Examples of BSI measurements may include the following: direction, borehole inclination, inspection data, downhole pressure (pressure inside and/or outside the drill pipe, and/or annulus pressure), resistivity, density, and porosity. Subassemblies (62) may also include subassemblies for measuring torque and axial load on the drill bit (54). The signals from the subblocks (62) may be processed in the processor (66). After processing, information from the processor (66) can be transmitted to the block (64) of the pulse generator. Block (64) of the pulse generator can convert information from the processor (66) into pressure pulses in the flushing fluid. The pressure pulses can be generated into a special structure, which is the data from the sub-units (62). The pressure pulses can travel upward through the flushing fluid in the central hole in the drill string and to the system at the surface. The subassemblies in the bottom hole assembly (56) may further comprise a turbine or motor to provide power to rotate and control the drilling direction of the drill bit (54).

[0017] Буровая установка (12) может содержать буровую вышку (68) и подъемную систему, вращающуюся систему и/или, например, систему циркуляции бурового раствора. Подъемная система может подвешивать бурильную колонну (58) и может содержать буровую лебедку (70), ходовой конец (71) талевого каната, кронблок (75), талевый канат (79), талевый блок и крюк (72), вертлюг (74) и/или неподвижный конец (77) талевого каната. Вращающаяся система может содержать ведущую бурильную трубу (76), роторный стол (88) и/или двигатели (не показаны). Вращающаяся система может сообщать вращательное усилие бурильной колонне (58). Аналогичным образом, варианты реализации изобретения, проиллюстрированные на фиг. 1, также могут быть применимы в случае конфигураций бурового оборудования с верхним приводом. Хотя буровая система (10) проиллюстрирована как расположенная на суше, специалисты в данной области техники придут к выводу, что описанные варианты реализации изобретения являются в равной степени применимыми также к среде морских и прибрежных регионов.[0017] The drilling rig (12) may include a drilling derrick (68) and a lifting system, a rotating system and/or a drilling fluid circulation system, for example. The lifting system may suspend the drill string (58) and may include a drawworks (70), a running end (71) of a wireline, a crown block (75), a wireline (79), a traveling block and a hook (72), a swivel (74) and /or fixed end (77) of the drilling line. The rotating system may include a kelly (76), a rotary table (88), and/or motors (not shown). The rotating system can impart rotational force to the drill string (58). Similarly, the embodiments of the invention illustrated in FIG. 1 may also be applicable to top drive drilling configurations. Although the drilling system (10) is illustrated as being located on land, those skilled in the art will find that the described embodiments of the invention are equally applicable to offshore and coastal environments as well.

[0018] Система циркуляции бурового раствора может нагнетать промывочную жидкость вниз вдоль отверстия в бурильной колонне. Промывочная жидкость может называться буровым раствором, который может представлять собой смесь воды и/или дизельного топлива, специальных глин и/или других химических реактивов. Буровой раствор может храниться в амбаре (78) для хранения бурового раствора. Буровой раствор может отводиться в буровые насосы (не показаны), которые могут нагнетать буровой раствор через буровой стояк (86) и в ведущую бурильную трубу (76) через вертлюг (74), который может содержать вращающееся уплотнение. Подобным образом, описанные технологии могут быть также применимы к бурению при пониженном гидростатическом давлении. В случае когда используют бурение при пониженном гидростатическом давлении, в некоторых точках перед вводом бурильной колонны в буровой раствор при помощи системы закачки (не показана) может вводиться газ.[0018] The mud circulation system may force the drilling fluid down along the hole in the drill string. The drilling fluid may be referred to as a drilling fluid, which may be a mixture of water and/or diesel fuel, specialty clays and/or other chemicals. The drilling fluid may be stored in the drilling fluid storage pit (78). The mud may be diverted to mud pumps (not shown) which may force the mud through the drill string (86) and into the kelly (76) through a swivel (74) which may include a rotary seal. Likewise, the techniques described may also be applicable to reduced hydrostatic pressure drilling. In the case where low hydrostatic pressure drilling is used, gas may be introduced at some points before the drill string is introduced into the drilling fluid by means of an injection system (not shown).

[0019] Буровой раствор может проходить через бурильную колонну (58) и через буровое долото (54). Поскольку зубья бурового долота (54) измельчают и выдалбливают геологический пласт, образуя буровой шлам, через отверстия или промывочные насадки бурового долота (54) может подаваться буровой раствор. Эти струи бурового раствора могут поднимать буровой шлам с забоя скважины и от бурового долота (54), и вверх к поверхности в кольцевом пространстве между бурильной колонной (58) и стенкой ствола (46) скважины.[0019] The drilling fluid may pass through the drill string (58) and through the drill bit (54). As the teeth of the drill bit (54) grind and gouge the geologic formation, forming drill cuttings, drilling fluid can be supplied through the holes or flushing nozzles of the drill bit (54). These mud jets can lift cuttings from the bottom of the hole and away from the drill bit (54), and up to the surface in the annulus between the drill string (58) and the borehole wall (46).

[0020] На поверхности буровой раствор и буровой шлам могут выходить из скважины через боковой отвод противовыбросового превентора (99) и через трубопровод для возврата бурового раствора в скважину (не показан). Противовыбросовый превентор (99) содержит устройство для регулирования давления и вращающееся уплотнение. Трубопровод для возврата бурового раствора в скважину может подавать буровой раствор в один или более сепараторов (не показаны), которые могут отделять буровой раствор от бурового шлама. Из сепаратора буровой раствор может быть возвращен для хранения и повторного использования в амбар (78) для хранения бурового раствора.[0020] At the surface, drilling fluid and cuttings may exit the wellbore through a side arm of the blowout preventer (99) and through a mud return line (not shown). The blowout preventer (99) includes a pressure control device and a rotary seal. The mud return conduit may supply the drilling fluid to one or more separators (not shown) that may separate the drilling fluid from the drilling cuttings. From the separator, the drilling fluid can be returned for storage and reuse to the drilling fluid storage pit (78).

[0021] На бурильной колонне (12) могут быть расположены различные датчики для осуществления измерений бурового оборудования. В частности, нагрузка на крюк может быть измерена посредством датчика (94) нагрузки на крюк, установленного на неподвижном конце (77) талевого каната, положение блока и связанная с ним скорость блока могут быть измерены посредством датчика (95) блока, который может входить в состав буровой лебедки (70). Крутящий момент на поверхности может быть измерен посредством датчика на роторном столе (88). Давление бурового стояка может быть измерено датчиком (92) давления, расположенном на буровом стояке (86). Сигналы от этих измерений могут передаваться на поверхностный процессор (96) или другие элементы сети (не показаны), расположенные около буровой установки (12). Кроме того, пульсации бурового раствора, перемещающиеся вверх по бурильной колонне, могут быть обнаружены посредством датчика (92) давления. Например, датчик (92) давления может содержать преобразователь, который преобразует давление бурового раствора в электронные сигналы. Датчик (92) давления может быть соединен с поверхностным процессором (96), который преобразует сигнал из сигнала давления в цифровую форму, сохраняет и демодулирует цифровой сигнал в пригодные для использования данные ИПБ. В соответствии с различными вышеописанными вариантами реализации изобретения поверхностный процессор (96) может быть запрограммирован для автоматического обнаружения одного или более состояний буровой установки, основываясь на различных описанных входных каналах. Процессор (96) может быть запрограммирован, например, для осуществления автоматизированного обнаружения событий, как описано выше. Процессор (96) может передавать информацию об определенном состоянии буровой установки и/или обнаруженном состоянии на систему пользовательского (97) интерфейса, которая может быть разработана чтобы предупреждать различный персонал буровой установки о событиях, возникших на буровой установке и/или рекомендовать персоналу буровой установки действия для предотвращения определенных событий. Как описано ниже, один или более видов этого оборудования может управляться посредством сети управления бурением, соединенной с буровой установкой (12). Например, сеть (210) управления бурением, описанная ниже со ссылкой на фиг. 2, может автоматизировать один или более процессов бурения, связанных с этим оборудованием без осуществляемого вручную вмешательства пользователя. [0021] Various sensors may be located on the drill string (12) to take measurements of the drilling equipment. In particular, the hook load can be measured by means of a hook load sensor (94) mounted on the fixed end (77) of the drilling line, the position of the block and the associated speed of the block can be measured by means of a block sensor (95), which may be included in composition of the drawworks (70). The surface torque can be measured by means of a sensor on the rotary table (88). The pressure of the drill stem can be measured by a pressure sensor (92) located on the drill stem (86). Signals from these measurements may be transmitted to the surface processor (96) or other network elements (not shown) located near the drilling rig (12). In addition, mud pulsations moving up the drill string can be detected by the pressure sensor (92). For example, the pressure sensor (92) may include a transducer that converts mud pressure into electronic signals. The pressure sensor (92) may be connected to a surface processor (96) which digitizes the signal from the pressure signal, stores and demodulates the digital signal into usable SPI data. In accordance with the various embodiments of the invention described above, the surface processor (96) may be programmed to automatically detect one or more rig states based on the various input channels described. The processor (96) may be programmed, for example, to perform automated event detection as described above. The processor (96) may communicate information about a specific rig state and/or detected condition to a user interface (97) system that may be designed to alert various rig personnel of events occurring on the rig and/or advise drilling rig personnel to take action. to prevent certain events. As described below, one or more of these equipments may be controlled by a drilling control network connected to the drilling rig (12). For example, the drilling control network (210) described below with reference to FIG. 2 can automate one or more of the drilling processes associated with this equipment without manual user intervention.

[0022] Возвращаясь к фиг. 2, на фиг. 2 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. Как проиллюстрировано на фиг. 2, сеть управления бурением (210) может содержать человеко-машинный интерфейс (HMI, human machine interface) (например, HMI (218)), сервер архивных данных (например, сервер архивных данных (225)), различные элементы сети (например, элементы (224) сети). Человеко-машинный интерфейс может быть аппаратными средствами и/или программным обеспечением, связанным с сетью (210) управления бурением, и который выполнен с возможностью представления данных и/или приема входных данных от пользователя, относящихся к различным операциям бурения и/или операциям по техническому обслуживанию, выполняемым в сети (210) управления бурением. Например, человеко-машинный интерфейс может включать в себя программное обеспечение для обеспечения графического интерфейса пользователя (GUI, graphical user interface) для представления данных и/или приема команд управления для эксплуатации буровой установки. Сервер архивных данных может быть аппаратными средствами и/или программным обеспечением, которое выполнено с возможностью записи событий, происходящих в сети управления бурением. Например, сервер архивных данных может хранить время и описание событий, связанных с оборудованием и/или системами управления, результатами измерений датчиков и/или эксплуатационными параметрами, в виде записей сервера архивных данных, таких как при диагностировании неисправностей. Сетевой элемент может относиться к различным компонентам аппаратных средств в сети, таким как коммутаторы, маршрутизаторы, концентраторы, оборудование пользователя или любые другие логические объекты для объединения одного или более физических устройств в сети. [0022] Returning to FIG. 2, in FIG. 2 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. As illustrated in FIG. 2, the drilling control network (210) may contain a human machine interface (HMI, human machine interface) (for example, HMI (218)), an archive data server (for example, an archive data server (225)), various network elements (for example, elements (224) of the network). The human-machine interface may be hardware and/or software associated with the drilling control network (210) and which is configured to present data and/or receive input from a user related to various drilling and/or maintenance operations. service performed in the drilling control network (210). For example, the human-machine interface may include software for providing a graphical user interface (GUI) for presenting data and/or receiving control commands for operating the drilling rig. The archive server may be hardware and/or software that is configured to record events occurring on the drilling control network. For example, the history server may store the time and description of events related to equipment and/or control systems, sensor measurements, and/or operational parameters in the history server's records, such as when troubleshooting. A network element may refer to various hardware components in a network, such as switches, routers, hubs, user equipment, or any other logical entity for connecting one or more physical devices in a network.

[0023] В одном или более вариантах реализации изобретения сеть (210) управления бурением содержит буровое оборудование (например, буровое оборудование (219), противовыбросовый превентор (99), буровую установку (12) и другие компоненты, описанные выше на фиг. 1, и в прилагаемом описании) и различные физические компоненты, связанные с буровым оборудованием, например, для измерения и/или управления буровым оборудованием. Сеть (210) управления бурением может дополнительно содержать системы управления (например, системы управления (221)), такие как различные системы управления операциями бурения и/или различные системы управления техническим обслуживанием, которые являются детерминированными частями сети. Системы управления операциями бурения и/или системы управления техническим обслуживанием могут содержать, например программируемые логические контроллеры (PLC) (например, PLC (217)), который содержит аппаратные средства и/или программное обеспечение с функциональными средствами для управления одним или более процессами, выполняемыми посредством буровой установки, включая, но не ограничиваясь компонентами, проиллюстрированными на фиг. 1. В частности, программируемый логический контроллер может управлять состояниями вентилей, уровнями флюида, давлениями в трубе, сигналами тревоги и/или сбросами давления по всей буровой установке. Дополнительную информацию о системах управления в сети управления бурением смотрите в заявке на патент США № 14/788,124, озаглавленной “Rig Control System”, которая была подана 30 июня 2015 г., опубликованная как US 2016/0290119, и заявке на патент США № 14/788,038, озаглавленной “Unified Control System for Drilling Rigs”, которая была подана 30 июня 2015 г., опубликованная как US 2016/0222775, заявке на патент США № 14/754,901, озаглавленной “Drilling Control System”, которая была подана 30 июня 2015 г., опубликованная как US 2016/0290120. Каждая из опубликованных заявок на патент полностью включена в данную заявку посредством ссылки.[0023] In one or more embodiments, the drilling control network (210) comprises drilling equipment (e.g., drilling equipment (219), blowout preventer (99), drilling rig (12), and other components described above in FIG. 1, and in the accompanying description) and various physical components associated with the drilling equipment, for example, for measuring and/or controlling the drilling equipment. The drilling control network (210) may further comprise control systems (eg, control systems (221)), such as various drilling operations control systems and/or various maintenance control systems, which are deterministic parts of the network. Drilling operations control systems and/or maintenance management systems may include, for example, programmable logic controllers (PLCs) (eg, PLC (217)), which contains hardware and/or software with functionality to control one or more processes performed by by means of a drilling rig, including but not limited to the components illustrated in FIG. 1. In particular, the programmable logic controller may control valve states, fluid levels, pipe pressures, alarms, and/or depressurizations throughout the rig. For more information on control systems in the drilling control network, see U.S. Patent Application No. 14/788,124 entitled "Rig Control System", which was filed June 30, 2015, published as US 2016/0290119, and U.S. Patent Application No. 14 /788,038, entitled “Unified Control System for Drilling Rigs”, which was filed June 30, 2015, published as US 2016/0222775, US Patent Application No. 14/754,901, entitled “Drilling Control System”, which was filed June 30 2015 published as US 2016/0290120. Each of the published patent applications is incorporated herein by reference in its entirety.

[0024] Кроме того, программируемый логический контроллер может быть компьютерной системой с повышенной устойчивостью к неблагоприятным условиям окружающей среды, выполненной с возможностью выдерживать вибрации, экстремальные температуры, влажные условия среды и/или пыльные условия среды, например, около буровой установки. Системы управления операциями бурения и/или системы управления техническим обслуживанием могут также относиться к системам управления, которые содержат множество PLC в сети управления бурением. Кроме того, система управления может быть частью обратной связи сети управления бурением, которая выполнена с возможностью управления операциями в пределах системы, блока и/или субблока, проиллюстрированных выше на фиг. 1 и в прилагаемом описании. PLC может передавать данные PLC на одно или более устройств, соединенных с сетью управления бурением и/или пользовательской сетью. Данные PLC могут включать: результаты измерений датчиков, обновления состояния и/или информацию, связанную с операциям бурения и/или операциям по техническому обслуживанию. Аналогичным образом, одна или более систем управления (например, система управления (221)) может быть выполнена с возможностью контроля и/или выполнения различных процессов бурения в отношении системы циркуляции бурового раствора, вращающейся системы, системы подачи труб и/или разных других буровых работ, проиллюстрированных в отношении фиг. 1 и описанных в прилагаемом описании. [0024] In addition, the programmable logic controller may be a computer system with increased resistance to adverse environmental conditions, designed to withstand vibrations, extreme temperatures, humid environmental conditions and/or dusty environmental conditions, such as near a drilling rig. Drilling control systems and/or maintenance control systems may also refer to control systems that include a plurality of PLCs in a drilling control network. In addition, the control system may be part of a drilling control feedback network that is configured to control operations within the system, block, and/or sub-block illustrated above in FIG. 1 and in the accompanying description. The PLC may transmit PLC data to one or more devices connected to the drilling control network and/or user network. The PLC data may include: sensor measurements, status updates and/or information related to drilling operations and/or maintenance operations. Likewise, one or more control systems (e.g., control system (221)) may be configured to control and/or perform various drilling operations with respect to a mud circulation system, a rotary system, a pipe supply system, and/or various other drilling operations. illustrated with respect to FIG. 1 and described in the accompanying description.

[0025] Кроме того, сеть управления бурением может быть соединена с пользовательской сетью (например, пользовательской сетью (230)). В частности, пользовательская сеть может содержать различные элементы сети, устройства пользователя (например, устройство X (251) пользователя) и/или оборудование пользователя на буровой площадке (например, оборудование (242) пользователя на буровой площадке). Например, оборудование пользователя на буровой площадке может включать в себя телефонную сеть, персональные компьютеры, принтеры, серверы приложений и/или файловые серверы, расположенные около буровой установки. Устройства пользователя могут быть также соединены с сетью управления бурением, причем устройства пользователя могут включать в себя персональные компьютеры, смартфоны, человеко-машинные интерфейсы и любые другие устройства, соединенные с сетью, которые получают входные данные от одного или более пользователей. Элементы сети, HMI, серверы архивных данных, оборудование пользователя на буровой площадке, устройства пользователя и/или другие сетевые устройства могут содержать вычислительные системы, аналогичные вычислительным системам (3400), представленной на фиг. 34.1 и 34.2, и описанной в прилагаемом описании. [0025] In addition, the drilling control network may be connected to a user network (eg, user network (230)). In particular, the user network may comprise various network elements, user devices (eg, user device X (251)), and/or user equipment at the well site (eg, user equipment (242) at the well site). For example, user equipment at a well site may include a telephone network, personal computers, printers, application servers, and/or file servers located near the drilling rig. User devices may also be connected to the drilling control network, where user devices may include personal computers, smartphones, human-machine interfaces, and any other network-connected devices that receive input from one or more users. The network elements, HMIs, historical data servers, well site user equipment, user devices, and/or other network devices may comprise computing systems similar to computing systems (3400) shown in FIG. 34.1 and 34.2, and described in the accompanying description.

[0026] В некоторых вариантах реализации изобретения контроллер виртуальных соединений (например, контроллер (243)) виртуальных соединений управляет доступом к сети управления бурением. Контроллер виртуальных соединений может представлять собой аппаратные средства и/или программное обеспечение, которое выполнено с возможностью установления виртуального соединения (например, виртуального соединения (235)) между пользовательской сетью (например, пользовательской сетью (230)) и сетью управления бурением (например, сетью (210) управления бурением). Виртуальное соединение может быть, например, соединением канального уровня между двумя соседними сетевыми элементами, такими как два сетевых коммутатора. В других вариантах реализации изобретения виртуальное соединение может быть соединением «точка-точка» через множество узлов сети. Аналогичным образом, контроллер виртуальных соединений может представлять собой виртуальную машину (VM, virtual machine), программный контейнер или физический сетевой элемент, расположенный в пользовательской сети. Например, контроллер (243) виртуальных соединений может быть инсталляционным сервером или сетевым элементом, который устанавливает связь с инсталляционным сервером в пользовательской сети (230). В некоторых вариантах реализации изобретения сеть управления бурением содержит множество инсталляционных серверов для различных зон безопасности, таких как зоны управления, например, в случаях, когда контроллер виртуальных соединений осуществляет связь с каждым инсталляционным сервером на основе того, где устанавливается одно или более виртуальных соединений. В одном или более вариантах реализации изобретения, например, контроллер виртуальных соединений выполнен с возможностью включения питания и/или выключения питания инсталляционного сервера, который обеспечивает связь с устройствами в сети управления бурением. [0026] In some embodiments, the virtual connection controller (eg, virtual connection controller (243)) controls access to the drilling control network. The virtual connection controller may be hardware and/or software that is configured to establish a virtual connection (e.g., virtual connection (235)) between a user network (e.g., user network (230)) and a drilling control network (e.g., network (210) drilling control). A virtual connection may be, for example, a link layer connection between two adjacent network elements, such as two network switches. In other embodiments of the invention, the virtual connection may be a point-to-point connection through a plurality of network nodes. Similarly, the virtual connection controller may be a virtual machine (VM, virtual machine), a software container, or a physical network element located on the user's network. For example, the virtual connection controller (243) may be an installation server or a network element that communicates with an installation server in the user network (230). In some embodiments of the invention, the drilling control network contains a plurality of installation servers for different security zones, such as control zones, for example, in cases where the virtual connection controller communicates with each installation server based on where one or more virtual connections are established. In one or more embodiments of the invention, for example, the virtual connection controller is configured to power on and/or power off the installation server that communicates with devices on the drilling control network.

[0027] В одном или более вариантах реализации изобретения контроллер виртуальных соединений расположен в пользовательской сети (например, пользовательской сети (230)). Аналогичным образом, в некоторых вариантах реализации изобретения контроллер виртуальных соединений содержит аппаратные средства и/или программное обеспечение, распределенное среди множества сетевых элементов в пользовательской сети и сети управления бурением. В одном или более вариантах реализации изобретения, например, контроллер виртуальных соединений является инсталляционным сервером, который выполнен с возможностью управления безопасностью в сети управления бурением. В частности, сеть управления бурением может представлять собой отдельную зону безопасности от пользовательской сети. Дополнительную информацию о контроллере виртуальных соединений, можно найти в приведенном ниже разделе, озаглавленном «Контроллер виртуальных соединений», и прилагаемом описании. [0027] In one or more embodiments of the invention, the virtual connection controller is located in the user network (eg, user network (230)). Similarly, in some embodiments of the invention, the virtual connection controller comprises hardware and/or software distributed among a plurality of network elements in the user network and the drilling control network. In one or more embodiments of the invention, for example, the virtual connection controller is an installation server that is configured to manage security on a drilling control network. In particular, the drilling control network may be a separate security zone from the user network. For more information about the Virtual Connection Controller, see the section below entitled "Virtual Connection Controller" and the accompanying description.

[0028] В некоторых вариантах реализации изобретения сеть управления бурением содержит диспетчер служб виртуализации (например, диспетчер (213) служб виртуализации). Диспетчер служб виртуализации может содержать аппаратные средства и/или программное обеспечение, которое выполнено с возможностью формирования, завершения, контроля и/или управления одной и/или более виртуальными машинами (например, виртуальными машинами (227)) и/или программными контейнерами (например, программными контейнерами (229)), работающими на уровне служб виртуализации сети управления бурением. В некоторых вариантах реализации изобретения диспетчер служб виртуализации содержит гипервизор для управления одной или более виртуализированными средами в сети управления бурением. Например, службы виртуализации могут включать в себя сетевой процесс, который управляет операциями бурения и/или операциями по техническому обслуживанию, реализованными в сети управления бурением, например, в тех случаях, когда виртуальные машины и/или программные контейнеры работают на сетевом уровне. Вместо реализации виртуальной машины или программного контейнера на отдельном устройстве-хосте, например, служба виртуализации может быть реализована с использованием виртуальной машины или программного контейнера, который работает на множестве устройств-хостов. Дополнительную информацию о диспетчере служб виртуализации можно найти в приведенных ниже разделах, озаглавленных «Управление завершением работы и запуском» и «Репликация защищенных данных» и прилагаемых описаниях.[0028] In some embodiments, the drilling control network includes a virtualization services manager (eg, virtualization services manager (213)). The Virtualization Services Manager may include hardware and/or software that is configured to generate, terminate, monitor, and/or manage one and/or more virtual machines (e.g., virtual machines (227)) and/or software containers (e.g., software containers (229)) operating at the level of drilling control network virtualization services. In some embodiments of the invention, the virtualization services manager includes a hypervisor for managing one or more virtualized environments in the drilling control network. For example, the virtualization services may include a network process that manages drilling operations and/or maintenance operations implemented on the drilling control network, such as where virtual machines and/or software containers operate at the network layer. Instead of implementing a virtual machine or software container on a single host device, for example, a virtualization service may be implemented using a virtual machine or software container that runs on multiple host devices. For more information about the Virtualization Services Manager, see the sections below entitled "Managing Shutdown and Startup" and "Replication of Secure Data" and the accompanying descriptions.

[0029] В некоторых вариантах реализации изобретения сеть управления бурением содержит координированный контроллер (например, координированный контроллер (229)). Например, координированный контроллер может осуществлять связь с диспетчером служб виртуализации для назначения приоритетов различных автоматизированных операций, таких как операции бурения и/или операции по техническому обслуживанию, в сети управления бурением. Дополнительную информацию о координированном контроллере можно найти в приведенном ниже разделе, озаглавленном «Диспетчер конфигурации и координированный контроллер», и прилагаемых описаниях.[0029] In some embodiments, the drilling control network includes a coordinated controller (eg, coordinated controller (229)). For example, the coordinated controller may communicate with the virtualization services manager to prioritize various automated operations, such as drilling operations and/or maintenance operations, in the drilling control network. For more information about the Coordinated Controller, see the section below entitled "Configuration Manager and Coordinated Controller" and the accompanying descriptions.

[0030] В некоторых вариантах реализации изобретения сеть управления бурением содержит диспетчер завершения работы (например, диспетчер (211) завершения работы). Диспетчер завершения работы может представлять собой аппаратные средства и/или программное обеспечение, которое выполнено с возможностью инициализации операций завершения на одном или более устройствах-хостах, одной или более виртуальных машинах, одном или более виртуальных контейнерах, одном или более контроллерах виртуализации и/или диспетчере служб виртуализации. В одном или более вариантах реализации изобретения диспетчер служб виртуализации и диспетчер завершения работы являются одним и тем же программным приложением на сетевом устройстве. Например, диспетчер завершения работы может быть выполнен с возможностью контроля переменных окружения и других сетевых переменных для различных систем в сети управления бурением. Таким образом, в ответ на различные триггеры, связанные с переменными окружения и сетевыми переменными диспетчер завершения работы может инициировать координированный процесс на основании установленных правил для выполнения полного завершения работы системы управления или подсистем в сети управления бурением. Дополнительную информацию о диспетчере завершения работы можно найти в приведенном ниже разделе, озаглавленном «Управление завершением работы и запуском» и прилагаемом описании.[0030] In some embodiments, the drilling control network includes a shutdown manager (eg, shutdown manager (211)). A shutdown manager may be hardware and/or software that is configured to initiate shutdown operations on one or more host devices, one or more virtual machines, one or more virtual containers, one or more virtualization controllers, and/or a shutdown manager. virtualization services. In one or more embodiments of the invention, the virtualization services manager and the shutdown manager are the same software application on the network device. For example, the shutdown manager may be configured to monitor environment variables and other network variables for various systems in the drilling control network. Thus, in response to various triggers associated with environment variables and network variables, the shutdown manager can initiate a coordinated process based on established rules to perform a complete shutdown of the control system or subsystems in the drilling control network. For more information about Shutdown Manager, see the section below titled "Managing Shutdown and Startup" and the accompanying description.

[0031] В некоторых вариантах реализации изобретения различные компоненты сети управления бурением разделяют на разные зоны безопасности, например зону контроля и зону управления. В частности, разные зоны безопасности могут быть соединены с использованием межсетевого устройства защиты (например, межсетевого устройства (226) защиты). Например, межсетевое устройство защиты может содержать аппаратные средства и/или программное обеспечение, выполненное с возможностью фильтрации пактов данных, передаваемых между зоной контроля и зоной управления. В частности, межсетевое устройство защиты может выполнять анализ пакетов на одном или более сетевых уровнях, таких как транспортный уровень и/или уровень приложений сети управления бурением. В частности, межсетевое устройство защиты может анализировать пакет и/или приложение, которое отправило пакет, для определения была ли авторизована передача данных между устройством-источником и устройством назначения в разных зонах безопасности. В некоторых вариантах реализации изобретения авторизация пактов определяется с использованием аутентификации на основе сертификата. Например, сетевым устройствам в зонах контроля и зонах управления могут быть назначены сертификаты безопасности, которые могут храниться в сетевых устройствах. Межсетевое устройство защиты может быть выполнено с возможностью действовать как сервер аутентификации для определения, истек ли срок действия сертификата безопасности и/или является ли устройство-источник (например, диспетчер (216) конфигурации) авторизованным для осуществления связи с устройством назначения, таким как сервер архивных данных, система управления, устройство пользователя, виртуальная машина, и т. д. Дополнительную информацию об управлении сетевым взаимодействием в зоне контроля можно найти в приведенном ниже разделе, озаглавленном «Кибербезопасность системы управления» и прилагаемом описании. Аналогичным образом, дополнительную информацию о взаимодействии межсетевых устройств защиты и сети управления бурением можно найти в заявке на патент США № 15/361,781, озаглавленной “Well Construction Site Communications Network”, которая была подана 28 ноября 2016 г. и опубликована как US 2018/0152319, которая полностью включена в данную заявку посредством ссылки.[0031] In some embodiments of the invention, the various components of the drilling control network are divided into different security zones, such as a control zone and a control zone. In particular, different security zones may be connected using a firewall (eg, firewall (226)). For example, the firewall may include hardware and/or software configured to filter data packets transmitted between the control zone and the control zone. In particular, the firewall may perform packet analysis at one or more network layers, such as the transport layer and/or the application layer of the drilling control network. In particular, the firewall may analyze the packet and/or the application that sent the packet to determine whether the data transfer between the source device and the destination device was authorized in different security zones. In some embodiments of the invention, the authorization of packages is determined using certificate-based authentication. For example, network devices in control zones and management zones can be assigned security certificates that can be stored on network devices. The firewall may be configured to act as an authentication server to determine if a security certificate has expired and/or if a source device (e.g., configuration manager (216) ) is authorized to communicate with a destination device, such as an archive server. data, management system, user device, virtual machine, etc. For more information about network communication management in the zone of control, see the section below entitled "Control system cybersecurity" and the accompanying description. Similarly, additional information on the interworking of firewalls and the drilling control network can be found in U.S. Patent Application No. 15/361,781 entitled “Well Construction Site Communications Network”, which was filed November 28, 2016 and published as US 2018/0152319 , which is incorporated herein by reference in its entirety.

[0032] В некоторых вариантах реализации изобретения одно или более сетевых устройств в зоне контроля может содержать один или более агентов безопасности (например, агенты (261) безопасности). Агент безопасности может содержать аппаратные средства и/или программное обеспечение, выполненное с возможностью работы в качестве локального объекта на сетевом устройстве-хосте в пределах зоны контроля. Например, агент безопасности может быть расположен на человеко-машинном интерфейсе, сервере архивных данных, одной или более системах управления, и т. д. Соответственно, агент безопасности может быть выполнен с возможностью обеспечения принудительного выполнения правила безопасности и политики управления доступом на соответствующем сетевом устройстве. Таким образом, агент безопасности может осуществлять связь с диспетчером конфигурации (например, диспетчером (216) конфигурации) и/или диспетчером приложений через межсетевое устройство защиты, чтобы администрировать установки программного обеспечения и/или процессы программного обеспечения на своем главном сетевом устройстве. Кроме того, диспетчер конфигурации может представлять собой аппаратные средства и/или программное обеспечение, которые выполнены с возможностью управления установками программного обеспечения для одного или более устройств в системе управления бурением. Например, диспетчер конфигурации может обнаруживать обновление программного обеспечения для управления системой и координирования установки программного обеспечения с использованием агента безопасности в системе управления. Дополнительную информацию об агенте безопасности и диспетчере конфигурации можно найти в приведенном ниже разделах, озаглавленных «Кибербезопасность системы управления» и «Диспетчер конфигурации и координированный контроллер», и прилагаемом описании. [0032] In some embodiments of the invention, one or more network devices in the zone of control may contain one or more security agents (eg, agents (261) security). The security agent may comprise hardware and/or software configured to operate as a local entity on a host network device within a zone of control. For example, the security agent may be located on a human-machine interface, an archive server, one or more control systems, etc. Accordingly, the security agent may be configured to enforce a security rule and an access control policy on an appropriate network device. . Thus, the security agent may communicate with a configuration manager (eg, configuration manager (216)) and/or an application manager via a firewall to administer software installations and/or software processes on its host network device. In addition, the configuration manager may be hardware and/or software that is configured to manage software settings for one or more devices in the drilling control system. For example, the configuration manager may detect a software update to manage the system and coordinate software installation using a security agent on the control system. For more information about the security agent and the configuration manager, see the sections below entitled "Control System Cyber Security" and "Configuration Manager and Coordinated Controller" and the accompanying description.

[0033] В некоторых вариантах реализации изобретения сеть управления бурением содержит контроллер управления данными (например, контроллер (212) управления данными), соединенный с различными устройствами постоянного хранения данных (например, устройствами (215) постоянного хранения данных). Устройство постоянного хранения данных может содержать аппаратные средства и/или программное обеспечение, которое выполнено с возможностью реализации энергонезависимого запоминающего устройства. Например, устройство постоянного хранения данных может содержать диск постоянного хранения данных, такой как жесткий диск и/или твердотельный накопитель в центральном репозитории данных. В одном или более вариантах реализации изобретения контроллер управления данными содержит аппаратные средства и/или программное обеспечение, которое выполнено с возможностью управления хранением и/или извлечением данных в отношении различных устройств постоянного хранения данных. Например, контроллер управления данными может представлять собой часть центрального репозитория данных, который содержит различные устройства постоянного хранения данных в сети управления бурением. Аналогичным образом, контроллер управления данными может устанавливать одно или более сетевых соединений с одним или более удаленными устройствами (например, устройством Y (252) пользователя). Таким образом, контроллер управления данными может администрировать передачу данных между сетевым устройством и сетью управления бурением через Интернет (например, Интернет (250)). Дополнительную информацию о контроллере управления данными и устройствах постоянного хранения данных можно найти в приведенном ниже разделе, озаглавленном «Репликация защищенных данных» и прилагаемом описании.[0033] In some embodiments, the drilling control network comprises a data control controller (eg, data control controller (212)) connected to various persistent storage devices (eg, persistent storage devices (215)). The persistent storage device may comprise hardware and/or software that is configured to implement a non-volatile storage device. For example, the persistent storage device may include a persistent storage drive such as a hard drive and/or solid state drive in a central data repository. In one or more embodiments of the invention, the data management controller comprises hardware and/or software that is configured to manage the storage and/or retrieval of data with respect to various persistent storage devices. For example, a data management controller may be part of a central data repository that contains various persistent data storage devices in a drilling control network. Similarly, the data controller may establish one or more network connections with one or more remote devices (eg, device Y (252) user). Thus, the data management controller can manage data communication between the network device and the drilling control network via the Internet (eg, Internet (250)). For more information about the data controller and persistent storage devices, see the section below titled "Secure Data Replication" and the accompanying description.

[0034] В некоторых вариантах реализации изобретения сеть управления бурением содержит систему ввода в эксплуатацию буровой установки (например, систему (222) ввода в эксплуатацию буровой установки). Например, система ввода в эксплуатацию буровой установки может генерировать граф знаний, который описывает систему управления и подсистемы в системе управления. Соответственно, с использованием графа знаний система ввода в эксплуатацию буровой установки может автоматически вводить в эксплуатацию систему управления для операций бурения и/или операций по техническому обслуживанию в сети управления бурением. Дополнительную информацию о графе знаний и системе ввода в эксплуатацию буровой установки можно найти в приведенном ниже разделе, озаглавленном «Интеллектуальный ввод в эксплуатацию системы управления», и прилагаемом описании.[0034] In some embodiments, the drilling control network includes a drilling rig commissioning system (eg, drilling rig commissioning system (222)). For example, a drilling rig commissioning system may generate a knowledge graph that describes the control system and subsystems within the control system. Accordingly, using the knowledge graph, the drilling rig commissioning system can automatically commission the control system for drilling operations and/or maintenance operations in the drilling control network. Further information about the knowledge graph and the rig commissioning system can be found in the section below entitled "Smart Control System Commissioning" and the accompanying description.

[0035] В то время как на фиг. 1 и 2 проиллюстрированы различные конфигурации компонентов, могут использоваться другие конфигурации, не выходя за пределы объема данного изобретения. Например, различные компоненты на фиг. 1 и 2 могут быть объединены для создания одного компонента. В другом примере компоненты, проиллюстрированные в пользовательской сети (230) могут также быть расположены в сети (210) управления бурением, при этом компоненты, проиллюстрированные в сети (210) управления бурением могут также быть расположены в пользовательской сети (230). В качестве другого примера, функции, выполняемые одним компонентом, могут выполняться двумя или более компонентами. [0035] While in FIG. 1 and 2 illustrate various component configurations, other configurations may be used without departing from the scope of the present invention. For example, the various components in FIG. 1 and 2 can be combined to create one component. In another example, the components illustrated in the user network (230) may also be located in the drilling control network (210), while the components illustrated in the drilling control network (210) may also be located in the user network (230). As another example, functions performed by one component may be performed by two or more components.

[0036] Кроме того, различные компоненты на фиг. 1 и 2 описываются как «сконфигурированные» с определенным типом функциональных средств. Таким образом, «сконфигурированный» в данной заявке может означать определенные машиночитаемые команды, находящиеся в программном обеспечении, например, микропрограммном обеспечении в физическом устройстве, которое осуществляет один или более способов, как описано в данной заявке. Аналогичным образом, «сконфигурированный» может также означать определенные конфигурации, настройки, параметры и другие сохраненные переменные, которые определяют конкретную функцию, выполняемую аппаратными средствами и/или программным обеспечением. Например, аппаратный регистр может быть сконфигурирован с конкретными значениями, которые определяют тип и/или режим работы аппаратного устройства. Таким образом, различные сетевые устройства могут быть сконфигурированы для реализации конкретной подтверждающей операции с сетью управления бурением и/или пользовательской сетью. Кроме того, «сконфигурированный» может также относиться к протоколам аппаратного средства и/или программного обеспечения, которые определяют физические взаимодействия между компонентами внутри и/или за пределами сети. [0036] In addition, the various components in FIG. 1 and 2 are described as "configured" with a specific type of functionality. Thus, "configured" in this application may mean certain computer-readable instructions residing in software, such as firmware in a physical device, that performs one or more of the methods as described in this application. Likewise, "configured" may also mean certain configurations, settings, parameters, and other stored variables that define a particular function performed by the hardware and/or software. For example, a hardware register may be configured with specific values that define the type and/or mode of operation of the hardware device. Thus, various network devices may be configured to implement a particular confirmation operation with the drilling control network and/or user network. In addition, "configured" can also refer to the hardware and/or software protocols that define the physical interactions between components within and/or outside the network.

[0037] Возвращаясь к фиг. 3, на фиг. 3 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 3 проиллюстрирован способ работы сети управления бурением. Один или более этапов на фиг. 3 могут быть выполнены посредством одного или более компонентов (например, контроллером (243) виртуальных соединений), как проиллюстрировано на фиг. 1 и/или 2. В то время как различные этапы на фиг. 3 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [0037] Returning to FIG. 3, in FIG. 3 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 3 illustrates the operation of a drilling control network. One or more steps in FIG. 3 may be performed by one or more components (eg, a virtual connection controller (243)), as illustrated in FIG. 1 and/or 2. While the various steps in FIG. 3 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[0038] На этапе 300 инициируют запуск для различных служб виртуализации в зоне контроля в соответствии с одним или более вариантами реализации изобретения. Например, компоненты в сети управления бурением могут содержать функциональные средства для осуществления различных способов для инициализации автоматизированного процесса запуска. В частности, различные контроллеры виртуальных соединений, работающие на различных устройствах-хостах, могут выбирать диспетчер служб виртуализации из их группы. Соответственно, диспетчер служб виртуализации может управлять автоматизированным процессом запуска различных служб виртуализации, виртуальных машин и/или программных контейнеров посредством сети управления бурением с использованием команд инициализации с задержкой во времени. Дополнительную информацию об автоматизированном процессе запуска можно найти на фиг. 11 и в приведенном ниже разделе, озаглавленном «Управление завершением работы и запуском» и прилагаемом описании.[0038] At step 300, start is initiated for various virtualization services in the zone of control in accordance with one or more embodiments of the invention. For example, the components in the drilling control network may contain functionality for implementing various methods to initiate an automated start-up process. In particular, different virtual connection controllers running on different host devices can choose a virtualization service manager from their group. Accordingly, the virtualization service manager may control the automated process of starting various virtualization services, virtual machines, and/or software containers via the drilling control network using time-delayed initialization commands. More information about the automated startup process can be found in FIG. 11 and in the section below entitled "Managing Shutdown and Startup" and the accompanying description.

[0039] На этапе 310 изменяют конфигурацию зоны контроля с учетом одного или более новых сетевых устройств в соответствии с одним или более вариантами реализации изобретения. В некоторых вариантах реализации изобретения сетевое взаимодействие для различных устройств в пределах зоны контроля ограничивается заданными связями. Иными словами, сетевому устройству может быть позволено в зоне контроля осуществлять связь только с определенными авторизованными устройствами. Например, когда в зону контроля добавляют новое сетевое устройство, новое сетевое устройство может быть проверено, чтобы определить какие устройства внутри и/или за пределами зоны контроля авторизованы для осуществления связи с новым сетевым устройством. Соответственно, может быть изменена конфигурация зоны контроля, например, с использованием элементов сети и/или межсетевых устройств защиты, для реализации авторизованной передачи данных. Дополнительную информацию об изменении конфигурации и управлении передачей данных в зоне контроля можно найти на фиг. 18 и в приведенном ниже разделе, озаглавленном «Кибербезопасность системы управления», и прилагаемом описании.[0039] At step 310, the control area is reconfigured to account for one or more new network devices, in accordance with one or more embodiments of the invention. In some embodiments of the invention, networking for various devices within a control zone is limited to predetermined links. In other words, a network device may only be allowed to communicate with certain authorized devices in the control area. For example, when a new network device is added to the control zone, the new network device can be checked to determine which devices inside and/or outside the control zone are authorized to communicate with the new network device. Accordingly, the control zone may be reconfigured, for example, using network elements and/or firewalls, to implement authorized data transmission. Additional information on reconfiguration and control of data transmission in the monitoring area can be found in FIG. 18 and in the section below entitled "Control System Cybersecurity" and the accompanying description.

[0040] На этапе 320 устанавливают одно или более программных приложений на одном или более сетевых устройствах в зоне контроля с использованием одного или более агентов безопасности в соответствии с одним или более вариантами реализации изобретения. Например, сеть управления бурением может содержать диспетчер конфигурации, который осуществляет связь с агентом безопасности. Агент безопасности может быть расположен на сетевом устройстве в пределах зоны контроля, при этом диспетчер конфигурации может быть расположен в зоне управления за пределами зоны контроля. Таким образом, диспетчер конфигурации может обнаружить обновления программного обеспечения для программных приложений, работающих в зоне контроля, например программных приложений для обеспечения служб виртуализации посредством виртуальных машин, программных контейнеров, систем управления, и т. д. Соответственно, диспетчер конфигурации может координировать с агентом безопасности установку инсталляционных файлов программного обеспечения, например, в какие дни и в какое время сетевое устройство не используется для выполнения операций бурения и/или технического обслуживания. Дополнительную информацию об установке программного обеспечения на сетевых устройствах в зоне контроля можно найти на фиг. 19 и в приведенном ниже разделе, озаглавленном «Кибербезопасность системы управления», и прилагаемом описании.[0040] At step 320, one or more software applications are installed on one or more network devices in the zone of control using one or more security agents in accordance with one or more embodiments of the invention. For example, the drilling control network may include a configuration manager that communicates with a security agent. The security agent may be located on a network device within the control zone, while the configuration manager may be located in the control zone outside the control zone. Thus, the configuration manager can detect software updates for software applications running in the zone of control, such as software applications for providing virtualization services through virtual machines, software containers, management systems, etc. Accordingly, the configuration manager can coordinate with the security agent installing software installation files, such as which days and times the network device is not used for drilling and/or maintenance operations. Additional information about installing software on network devices in the control zone can be found in Fig. 19 and in the section below entitled "Control System Cybersecurity" and the accompanying description.

[0041] На этапе 330 автоматически вводят в эксплуатацию одну или более систем управления для зоны контроля в соответствии с одним или более вариантов реализации изобретения. Например, система ввода в эксплуатацию буровой установки в сети управления бурением может генерировать граф знаний. С использованием графа знаний система ввода в эксплуатацию буровой установки может автоматически вводить в эксплуатацию систему управления для операций бурения и/или операций по техническому обслуживанию в пределах зоны контроля. Дополнительную информацию о системах управления автоматическим вводом в эксплуатацию можно найти в приведенном ниже разделе, озаглавленном «Интеллектуальный ввод в эксплуатацию системы управления», и прилагаемом описании.[0041] At step 330, one or more control systems for the control area are automatically put into operation in accordance with one or more embodiments of the invention. For example, a drilling rig commissioning system in a drilling control network may generate a knowledge graph. Using the knowledge graph, the rig commissioning system may automatically commission the control system for drilling operations and/or maintenance operations within the control zone. Further information on automatic commissioning control systems can be found in the section below entitled "Smart Commissioning of the Control System" and the accompanying description.

[0042] На этапе 340 получают данные датчика от одного или более устройств датчика в соответствии с одним или более вариантами реализации изобретения. В некоторых вариантах реализации изобретения, например, сеть управления бурением может содержать устройства датчика (например, устройство (214) датчика), которое устанавливает сетевое соединение непосредственно с сетью управления бурением. Например, устройство датчика может включать в себя интеллектуальное устройство датчика с интерфейсом связи для приема и передачи данных, таких как данные датчика, по сети управления бурением. Таким образом, системы управления в сети управления бурением могут подписываться на получение данных датчика от интеллектуального устройства датчика. Аналогичным образом, система управления может получать данные датчика, анализировать данные датчика в отношении того, используется ли тип данных датчика каким-либо приложением, и затем соответственно использовать или игнорировать данные датчика. Таким образом, данные датчика могут передаваться по сети управления бурением посредством реализации протокола связи, который направляет данные датчика от интеллектуального устройства датчика к системе управления. Дополнительную информацию об интеллектуальных устройствах датчика и передаче данных датчика по сети управления бурением можно найти в приведенном ниже разделе, озаглавленном «Интеграция интеллектуального устройства датчика», и прилагаемом описании.[0042] At 340, sensor data is obtained from one or more sensor devices, in accordance with one or more embodiments of the invention. In some embodiments, for example, the drilling control network may comprise sensor devices (eg, sensor device (214)) that establishes a network connection directly to the drilling control network. For example, the sensor device may include a smart sensor device with a communication interface for receiving and transmitting data, such as sensor data, over a drilling control network. Thus, control systems in the drilling control network can subscribe to receive sensor data from the sensor smart device. Similarly, the control system may receive sensor data, parse the sensor data as to whether the sensor data type is being used by any application, and then use or ignore the sensor data accordingly. Thus, sensor data can be transmitted over the drilling control network by implementing a communication protocol that routes sensor data from the sensor smart device to the control system. For more information about sensor smart devices and the transmission of sensor data over the drilling control network, see the section below entitled "Sensor Smart Device Integration" and the accompanying description.

[0043] На этапе 350 устанавливают виртуальное соединение с зоной контроля в соответствии с одним или более вариантами реализации изобретения. В некоторых вариантах реализации изобретения, например, после аутентификации сетевого устройства посредством контроллера виртуальных соединений на определенный период времени устанавливается виртуальное соединение между зоной контроля и другой зоной безопасности, такой как та, что может присутствовать в пользовательской сети. Например, контроллер виртуальных соединений может управлять временным каналом, который устанавливает виртуальное соединение. Несмотря на то, что виртуальное соединение осуществляется посредством Интернет, сетевой трафик может протекать за пределами и в зоне контроля. После завершения виртуального соединения зона контроля может снова стать закрытой сетью, защищенной от различных возможных нарушений в системе безопасности. Аналогичным образом, такие временные виртуальные соединения могут обеспечивать принудительное выполнение критериев безопасности одновременно для локальных пользователей и/или для удаленных пользователей, которые входят в пользовательскую сеть через Интернет. Кроме того, сеть управления бурением может обеспечивать автоматический контроль того, когда и к каким частям зоны контроля получают доступ различные пользователи. Дополнительную информацию о виртуальных соединениях и контроллерах виртуальных соединений можно найти в приведенных ниже разделах, озаглавленных «Контроллер виртуальных соединений» и «Структура кибербезопасности», и прилагаемых описаниях.[0043] At step 350, a virtual connection is established with the control zone in accordance with one or more embodiments of the invention. In some embodiments of the invention, for example, after a network device is authenticated by a virtual connection controller, a virtual connection is established for a certain period of time between the control zone and another security zone, such as one that may be present in the user network. For example, the virtual connection controller may control the time channel that establishes the virtual connection. Although the virtual connection is made over the Internet, network traffic can flow outside and in the zone of control. After the virtual connection is completed, the zone of control can again become a closed network, protected from various possible security breaches. Likewise, such temporary virtual connections can enforce security criteria simultaneously for local users and/or for remote users who enter the user's network over the Internet. In addition, the drilling control network can provide automatic control of when and to what parts of the control zone different users access. Additional information about virtual connections and virtual connection controllers can be found in the sections below entitled "Virtual Connection Controller" and "Cyber Security Framework" and the accompanying descriptions.

[0044] На этапе 360 выполняют одну или более операций бурения с использованием одной или более систем управления в зоне контроля в соответствии с одним или более вариантами реализации изобретения. Кроме того, зона контроля в сети управления бурением может содержать один или более компонентов, таких как координированный контроллер или диспетчер служб виртуализации, для администрирования операций бурения и/или операций по техническому обслуживанию. Например, зона контроля может содержать системы управления, которые автоматизируют операции бурения и/или операции по техническому обслуживанию без вмешательства пользователя. Дополнительную информацию об управлении операциями бурения, например, можно найти в заявке на патент США № 14/982,917, озаглавленной “Well Construction Display”, которая была подана 29 декабря 2015 г. и опубликована как US 2017/0167200, которая полностью включена в данную заявку посредством ссылки.[0044] At step 360, one or more drilling operations are performed using one or more control systems in the control zone in accordance with one or more embodiments of the invention. In addition, the control zone in the drilling control network may contain one or more components, such as a coordinated controller or a virtualization service manager, for administering drilling operations and/or maintenance operations. For example, the control zone may include control systems that automate drilling operations and/or maintenance operations without user intervention. Further information on managing drilling operations, for example, can be found in U.S. Patent Application No. 14/982,917 entitled "Well Construction Display", which was filed December 29, 2015 and published as US 2017/0167200, which is incorporated herein in its entirety. through a link.

[0045] На этапе 370 виртуальное соединение завершают в соответствии с одним или более вариантами реализации изобретения. Например, виртуальное соединение может завершаться, когда контроллер виртуальных соединений удаляет соединение канального уровня между зоной контроля и другой зоной безопасности, такой как пользовательская сеть. Завершение может возвратить зону контроля в закрытое состояние. Аналогичным образом, настройки межсетевого экрана могут быть установлены контроллером виртуальных соединений в состояние блокировки сетевого трафика от и к зоне контроля. В случае коммутируемого виртуального соединения, контроллер виртуальных соединений может установить коммутируемое виртуальное соединение в такое состояние, чтобы оно представляло собой разомкнутую цепь. В одном или более вариантах реализации изобретения, например, контроллер виртуальных соединений выключает питание и отсоединяется после выполнения определения, что виртуальное соединение завершено. [0045] At 370, the virtual connection is terminated in accordance with one or more embodiments of the invention. For example, a virtual connection may be terminated when the virtual connection controller removes the link layer connection between the control zone and another security zone, such as a user network. Termination may return the zone of control to a closed state. Similarly, firewall settings can be set by the virtual connection controller to block network traffic from and to the zone of control. In the case of a switched virtual connection, the virtual connection controller may set the switched virtual connection to a state such that it represents an open circuit. In one or more embodiments of the invention, for example, the virtual connection controller turns off the power and disconnects after determining that the virtual connection is completed.

[0046] На этапе 380 инициируют завершение работы зоны контроля в соответствии с одним или более вариантами реализации изобретения. В некоторых вариантах реализации изобретения, например, сеть управления бурением содержит диспетчер завершения работы, который администрирует последовательность завершения работы для операций завершения работы для устройств в зоне контроля. В некоторых вариантах реализации изобретения завершение работы инициируется для всей сети управления бурением. Последовательность завершения работы может выполняться с помощью команд завершения работы с временной задержкой, которые позволяют устройствам в зоне контроля прекращать работу упорядоченным образом. Дополнительную информацию о последовательностях завершения работы и диспетчерах завершения работы можно найти в приведенном ниже разделе, озаглавленном «Управление завершением работы и запуском» и прилагаемом описании.[0046] At step 380, shutdown of the control zone is initiated in accordance with one or more embodiments of the invention. In some embodiments of the invention, for example, the drilling control network includes a shutdown manager that manages the shutdown sequence for shutdown operations for devices in the control zone. In some embodiments of the invention, shutdown is initiated for the entire drilling control network. Shutdown sequencing can be performed using time-delay shutdown commands that allow devices in the control zone to shut down in an orderly manner. For more information on shutdown sequences and shutdown managers, see the section below entitled "Managing Shutdown and Startup" and the accompanying description.

Контроллер виртуальных соединенийVirtual connection controller

[0047] В целом, варианты реализации изобретения включают систему и различные способы для доступа к системам управления в сети управления бурением. [0047] In general, embodiments of the invention include a system and various methods for accessing control systems in a drilling control network.

[0048] Возвращаясь к фиг. 4, на фиг. 4 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. Как проиллюстрировано на фиг. 4, сеть управления бурением (410) может содержать человеко-машинный интерфейс (HMI) (например, HMI (421)), сервер архивных данных (например, сервер архивных данных (425)) и различные элементы сети (например, элементы (424) сети). Человеко-машинный интерфейс может быть аппаратными средствами и/или программным обеспечением, связанным с сетью (410) управления бурением, и которое содержит функциональные средства для представления данных и/или приема входных данных от пользователя, относящихся к различным операциям бурения и/или операциям по техническому обслуживанию, выполняемым в сети (410) управления бурением. Например, человеко-машинный интерфейс может включать в себя программное обеспечение для обеспечения графического интерфейса пользователя (GUI) для представления данных и/или приема команд управления для эксплуатации буровой установки. Элемент сети может относиться к различным компонентам аппаратных средств в сети, таким как коммутаторы, маршрутизаторы, концентраторы или любые другие логические объекты для объединения одного или более физических устройств в сети. В частности, сетевой элемент, человеко-машинный интерфейс и/или сервер архивных данных могут быть вычислительной системой, аналогичной вычислительной системе (3400), проиллюстрированной на фиг. 34.1 и 34.2, и описанной в прилагаемом описании. [0048] Returning to FIG. 4 in FIG. 4 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. As illustrated in FIG. 4, the drilling control network (410) may include a human machine interface (HMI) (e.g., HMI (421)), a history server (e.g., a history server (425)) and various network elements (e.g., elements (424) networks). The human-machine interface may be hardware and/or software associated with the drilling control network (410) and which contains functionality for presenting data and/or receiving input from a user related to various drilling and/or drilling operations. maintenance performed on the drilling control network (410). For example, the human-machine interface may include software for providing a graphical user interface (GUI) for presenting data and/or receiving control commands for operating a drilling rig. A network element may refer to various hardware components in a network, such as switches, routers, hubs, or any other logical entity for connecting one or more physical devices in a network. In particular, the network element, the human-machine interface, and/or the archive server may be a computing system similar to the computing system (3400) illustrated in FIG. 34.1 and 34.2, and described in the accompanying description.

[0049] В одном или более вариантах реализации изобретения сеть (410) управления бурением может содержать буровое оборудование (например, буровое оборудование (426)), такое как противовыбросовый превентор (99), буровая установка (12) и другие компоненты, проиллюстрированные выше на фиг. 1 и в прилагаемом описании. Сеть (410) управления бурением может дополнительно содержать различные системы управления операциями бурения (например, системы (422) управления операциями бурения) и различные системы управления техническим обслуживанием (например, системы (423) управления техническим обслуживанием). Системы управления операциями бурения и/или системы управления техническим обслуживанием могут содержать, например программируемый логический контроллер (PLC), который содержит аппаратные средства и/или программное обеспечение с функциональными средствами для управления одним или более процессами, выполняемыми посредством буровой установки, включая, но, не ограничиваясь компонентами, проиллюстрированными на фиг. 1. В частности, программируемый логический контроллер может управлять состояниями вентилей, уровнями флюида, давлениями в трубе, сигналами тревоги и/или сбросами давления по всей буровой установке. В частности, программируемый логический контроллер может быть компьютерной системой с повышенной устойчивостью к неблагоприятным условиям окружающей среды с функциональными средствами, позволяющими выдерживать вибрации, экстремальные температуры, влажные условия среды и/или пыльные условия среды, например, около буровой установки. [0049] In one or more embodiments, the drilling control network (410) may include drilling equipment (e.g., drilling equipment (426)), such as a blowout preventer (99), a drilling rig (12), and other components illustrated above in fig. 1 and in the accompanying description. The drilling control network (410) may further comprise various drilling operations management systems (eg, drilling operations management systems (422)) and various maintenance management systems (eg, maintenance management systems (423)). Drilling operations control systems and/or maintenance management systems may include, for example, a programmable logic controller (PLC) that contains hardware and/or software with functionality to control one or more processes performed by a drilling rig, including, but, without being limited to the components illustrated in FIG. 1. In particular, the programmable logic controller may control valve states, fluid levels, pipe pressures, alarms, and/or depressurizations throughout the rig. In particular, the programmable logic controller may be a ruggedized computer system with functionality to withstand vibration, extreme temperatures, wet environments, and/or dusty environments, such as near a drilling rig.

[0050] Кроме того, системы управления операциями бурения и/или системы управления техническим обслуживанием могут относиться к системам управления, которые содержат множество PLC в сети (410) управления бурением. Например, система управления может содержать функциональные средства для операций управления в пределах системы, блока и/или субблока, проиллюстрированных выше на фиг. 1 и в прилагаемом описании. Таким образом, одна или более систем (422) управления операциями бурения может содержать функциональные средства для контроля и/или выполнения различных процессов бурения в отношении системы циркуляции бурового раствора, вращающейся системы, системы подачи труб и/или разных других буровых работ, проиллюстрированных в отношении фиг. 1 и в прилагаемом описании. Подобным образом, одна или более систем (423) управления техническим обслуживанием может содержать функциональные средства для контроля и/или выполнения различных работ по техническому обслуживанию, относящихся к буровому оборудованию, расположенному около буровой установки. В то время как системы управления операциями бурения и системы управления техническим обслуживанием проиллюстрированы как отдельные устройства на фиг. 4, в одном или более вариантах реализации изобретения программируемый логический контроллер и другое буровое оборудование (426) на буровой установке может одновременно использоваться в системе управления операциями бурения и в системе управления техническим обслуживанием. [0050] In addition, drilling operations control systems and/or maintenance management systems may refer to control systems that contain a plurality of PLCs in the drilling control network (410). For example, the control system may include functionality for control operations within the system, block, and/or sub-block illustrated above in FIG. 1 and in the accompanying description. Thus, one or more drilling control systems (422) may comprise functionality to control and/or perform various drilling operations with respect to a mud circulation system, a rotary system, a pipe supply system, and/or various other drilling operations illustrated with respect to fig. 1 and in the accompanying description. Similarly, one or more maintenance management systems (423) may include functionality to monitor and/or perform various maintenance activities related to drilling equipment located near the drilling rig. While drilling operations control systems and maintenance management systems are illustrated as separate devices in FIG. 4, in one or more embodiments of the invention, the PLC and other drilling equipment (426) on the rig may be used simultaneously in the drilling operations control system and in the maintenance management system.

[0051] В одном или более вариантах реализации изобретения сеть (410) управления бурением соединяется с пользовательской сетью (например, пользовательской сетью (430)). В частности, пользовательская сеть (430) может содержать различные элементы сети (например, сетевые элементы (441)) и/или оборудование пользователя на буровой площадке (например, оборудование (442) пользователя на буровой площадке). Например, оборудование пользователя на буровой площадке может включать телефонную сеть, персональные компьютеры для разных пользователей, принтеры, серверы приложений и/или файловые серверы, расположенные около буровой установки. Аналогичным образом, сеть (410) управления бурением и пользовательская сеть (430) могут быть соединены посредством одного или более физических каналов передачи данных. В одном или более вариантах реализации изобретения, например, пользовательская сеть (410) использует один или более сетевых элемента совместно с сетью (410) управления бурением. [0051] In one or more embodiments of the invention, the drilling control network (410) is connected to a user network (eg, user network (430)). In particular, the user network (430) may comprise various network elements (eg, network elements (441)) and/or wellsite user equipment (eg, wellsite user equipment (442)). For example, user equipment at the well site may include a telephone network, personal computers for different users, printers, application servers, and/or file servers located near the drilling rig. Similarly, the drilling control network (410) and the user network (430) may be connected via one or more physical data links. In one or more embodiments of the invention, for example, the user network (410) shares one or more network elements with the drilling control network (410).

[0052] В одном или более вариантах реализации изобретения сеть (410) управления бурением передает данные через виртуальное соединение без ограничений на тип данных и источник данных. Таким образом, виртуальное соединение может управлять передачей данных между сетью (410) управления бурением и пользовательской сетью (430). [0052] In one or more embodiments of the invention, the drilling control network (410) transmits data over a virtual connection without restrictions on the type of data and the source of the data. Thus, the virtual connection can control the communication between the drilling control network (410) and the user network (430).

[0053] В состоянии незанятости контроллер (443) виртуальных соединений может быть физически соединен с сетью (410) управления бурением и изолирован от любой передачи данных по сети с сетевыми элементами (424) в сети (410) управления бурением. В одном или более вариантах реализации изобретения, когда контроллер (443) виртуальных соединений обнаруживает запрос для доступа к сети (410) управления бурением от неавторизованного пользователя или устройства пользователя, контроллер (443) виртуальных соединений может реализовывать различные правила на локальном межсетевом экране (не показан) для установления виртуального соединения с сетью (410) управления бурением. Реализованные правила могут позволить пользователю осуществить доступ к одному или более утвержденным программным приложениям, устанавливать какие сетевые порты могут принимать данные через виртуальное соединение и/или назначать сетевые протоколы для использования утвержденных адресов Интернет протокола (IP, Internet Protocol) в пределах виртуального соединения. [0053] In the idle state, the virtual connection controller (443) may be physically connected to the drilling control network (410) and isolated from any network communication with the network elements (424) in the drilling control network (410). In one or more embodiments of the invention, when the virtual connection controller (443) detects a request to access the drilling control network (410) from an unauthorized user or user device, the virtual connection controller (443) may implement various rules on a local firewall (not shown). ) to establish a virtual connection to the drilling control network (410). The implemented rules may allow the user to access one or more approved software applications, set which network ports can receive data over the virtual connection, and/or assign network protocols to use approved Internet Protocol (IP) addresses within the virtual connection.

[0054] В одном или более вариантах реализации изобретения контроллер (443) виртуальных соединений отсоединяется от сети (410) управления бурением, в то время как буровая установка осуществляет операции бурения. Более того, контроллер (443) виртуальных соединений может содержать функциональные средства для включения питания инсталляционного сервера и установления виртуального соединения после получения подтверждения, что буровая установка не осуществляет операции бурения.[0054] In one or more embodiments of the invention, the virtual connection controller (443) is disconnected from the drilling control network (410) while the drilling rig is performing drilling operations. Moreover, the virtual connection controller (443) may include functionality for powering up the installation server and establishing a virtual connection after receiving confirmation that the drilling rig is not performing a drilling operation.

[0055] В одном или более вариантах реализации изобретения, например, контроллер (443) виртуальных соединений содержит функциональные средства для управления коммутируемым виртуальным соединением (например, коммутируемым виртуальным соединением (415)), расположенным между сетью (410) управления бурением и пользовательской сетью (430). Например, коммутируемое виртуальное соединение (415) может содержать аппаратные средства и/или программное обеспечение в сети (410) управления бурением и пользовательской сети (430) для реализации виртуального соединения. Таким образом, когда коммутируемое виртуальное соединение (415) находится в состоянии «разомкнуто», не может возникать виртуальное соединение между пользовательской сетью (430) и сетью (410) управления бурением. Когда коммутируемое виртуальное соединение (415) находится в состоянии «разомкнуто», коммутируемое виртуальное соединение (415) может образовывать временную виртуальную цепь, которая обеспечивает передачу сетевого трафика, такого как данные PLC (например, данные (417) PLC), между сетью (410) управления бурением и пользовательской сетью (430). Данные PLC могут включать: результаты измерений датчиков, обновления состояния и/или информацию, относящуюся к операциям бурения и/или операциям по техническому обслуживанию, выполняемым в сети (410) управления бурением, которые поступают из сети (410) управления бурением. В частности, состояние по умолчанию коммутируемого виртуального соединения (415) может иметь место, когда сеть (410) управления бурением отсоединяется от пользовательской сети (430) до тех пор, пока контроллер (443) виртуальных соединений не обнаружит авторизованного пользователя и/или устройство пользователя, запрашивающее доступ. [0055] In one or more embodiments of the invention, for example, the virtual connection controller (443) contains functionality for managing a switched virtual connection (for example, switched virtual connection (415)) located between the drilling control network (410) and the user network ( 430). For example, the switched virtual connection (415) may include hardware and/or software in the drilling control network (410) and user network (430) to implement the virtual connection. Thus, when the switched virtual connection (415) is in the "open" state, no virtual connection can occur between the user network (430) and the drilling control network (410). When the switched virtual connection (415) is in the "open" state, the switched virtual connection (415) can form a temporary virtual circuit that allows network traffic, such as PLC data (for example, PLC data (417) ), between the network (410 ) drilling and user network management (430). The PLC data may include: sensor measurements, status updates, and/or information related to drilling operations and/or maintenance operations performed on the drilling control network (410) that come from the drilling control network (410). In particular, the default state of the switched virtual connection (415) may occur when the drilling control network (410) disconnects from the user network (430) until the virtual connection controller (443) detects an authorized user and/or user device. The requesting access.

[0056] Аналогичным образом, несмотря на то, что на фиг. 4 проиллюстрировано одно коммутируемое виртуальное соединение, сеть (410) управления бурением и пользовательскую сеть (430) может соединять множество коммутируемых виртуальных соединений. Например, в случае возникновения повреждения в физическом канале передачи данных в коммутируемом виртуальном соединении с целью резервирования может быть реализовано множество коммутируемых виртуальных соединений. Аналогичным образом, сеть (410) управления бурением может содержать две или более физически отделенных сетей, причем могут быть установлены различные виртуальные соединения, чтобы обеспечить доступ к различным системам (422) управления операциями бурения и/или системам (423) управления техническим обслуживанием. Кроме того, между сетью (410) управления бурением и пользовательской сетью (430) могут существовать другие сетевые линии связи, которые не показаны на фиг. 4, и обеспечивают передачу данных PLC за пределы сети (410) управления бурением. [0056] Similarly, although FIG. 4 illustrates one switched virtual connection, the drilling control network (410) and the user network (430) can connect a plurality of switched virtual connections. For example, in the event of a failure in a physical data link in a switched virtual connection, a plurality of switched virtual connections can be implemented for redundancy purposes. Similarly, the drilling control network (410) may comprise two or more physically separated networks, and different virtual connections may be established to provide access to different drilling control systems (422) and/or maintenance control systems (423). In addition, other network links may exist between the drilling control network (410) and the user network (430) that are not shown in FIG. 4 and enable the transmission of PLC data outside the drilling control network (410).

[0057] В одном или более вариантах реализации изобретения сеть (410) управления бурением является закрытой сетью. Например, сеть (410) управления бурением может быть физической сетью или виртуальной сетью в тех случаях, когда передачей данных по сети управляют между узлами сети в сети (410) управления бурением (например, сетевыми элементами (424), системами (422) управления операциями бурения, системами (423) управления техническим обслуживанием) и узлами сети за пределами сети (410) управления бурением (например, узлами сети в пользовательской сети (430), такими как сетевые элементы (441) и/или оборудование (442) пользователя на буровой площадке). В одном или более вариантах реализации изобретения, например, в то время как сеть (410) управления бурением и пользовательская сеть (430) совместно используют один или более сетевых элементов, узлы сети в сети (410) управления бурением не могут осуществлять связь с различными устройствами пользователя (например, устройством X (451) пользователя) до тех пор, пока не будет установлено виртуальное соединение в коммутируемом виртуальном соединении (415). [0057] In one or more embodiments of the invention, the drilling control network (410) is a closed network. For example, the drilling control network (410) may be a physical network or a virtual network in cases where network communication is controlled between network nodes in the drilling control network (410) (e.g., network elements (424), operations control systems (422) drilling, maintenance management systems (423)), and network nodes outside the drilling management network (410) (e.g., network nodes in the user network (430), such as network elements (441) and/or user equipment (442) at the drilling site). In one or more embodiments of the invention, for example, while the drilling control network (410) and the user network (430) share one or more network elements, the network nodes in the drilling control network (410) cannot communicate with different devices. user (eg, user device X (451)) until a virtual connection is established in the switched virtual connection (415).

[0058] Более того, пользовательская сеть (430) может быть открытой сетью. В частности, узлы сети в пользовательской сети (430) могут получать и/или передавать данные за пределы пользовательской сети (430), например, через Интернет (450). В тех случаях, когда сеть (410) управления бурением может быть ограничена передачей данных по сети между узлами сети в сети (410) управления бурением, пользователи в пользовательской сети (430) могут устанавливать множество различных авторизованных сетевых соединений за пределами пользовательской сети (430), например, пользователи могут осуществлять VoIP телефонные звонки через Интернет (450), отправлять сообщения по электронной почте и/или осуществлять доступ к Интернет из устройства пользователя в пользовательской сети (например, устройства X (451) пользователя). Аналогичным образом, различные устройства пользователя (например, устройство A (452) пользователя и устройство N (458) пользователя) могут соединяться с пользовательской сетью (430). Устройства пользователя могут включать в себя различные компьютерные системы, которые содержат функциональные средства для подключения к пользовательской сети (430), такие как смартфоны, переносные компьютеры, персональные компьютеры и т. д. [0058] Moreover, the user network (430) may be an open network. In particular, network nodes in the user network (430) can receive and/or transmit data outside the user network (430), for example, via the Internet (450). Where the drilling control network (410) may be limited to network communication between network nodes in the drilling control network (410), users in the user network (430) may establish many different authorized network connections outside the user network (430) for example, users can make VoIP phone calls over the Internet (450), send emails, and/or access the Internet from a user's device on the user's network (eg, the user's device X (451)). Likewise, different user devices (eg, user device A (452) and user device N (458) may be connected to the user network (430). User devices may include various computer systems that contain functionality for connecting to the user network (430), such as smartphones, laptops, personal computers, etc.

[0059] В одном или более вариантах реализации изобретения сеть (410) управления бурением содержит распределенную архитектуру. Например, сеть (410) управления бурением может содержать функциональные средства для управления операциями бурения и/или операциями по техническому обслуживанию, расположенные около буровой установки, без использования центрального контроллера. В другом примере сеть (410) управления бурением может представлять собой кольцевую сеть, в которой данные PLC, команды управления и другой сетевой трафик протекает в одном направлении или множестве направлений по всей кольцевой сети. В одном или более вариантах реализации изобретения в тех случаях, когда устанавливается виртуальное соединение с пользовательской сетью (430), данные PLC передаются в одном направлении через сеть (410) управления бурением к контроллеру (443) виртуальных соединений и/или одному или более устройств пользователя. [0059] In one or more embodiments of the invention, the drilling control network (410) comprises a distributed architecture. For example, the drilling control network (410) may include functionality to control drilling operations and/or maintenance operations located near the drilling rig without the use of a central controller. In another example, the drilling control network (410) may be a ring network in which PLC data, control commands, and other network traffic flows in one direction or multiple directions throughout the ring network. In one or more embodiments of the invention, when a virtual connection to the user network (430) is established, PLC data is transmitted in one direction through the drilling control network (410) to the virtual connection controller (443) and/or one or more user devices .

[0060] В то время как на фиг. 1 и 2 проиллюстрированы различные конфигурации компонентов, могут использоваться другие конфигурации, не выходящие за пределы объема данного изобретения. Например, различные компоненты на фиг. 1 и 2 могут быть объединены для создания одного компонента. В качестве другого примера, функции, выполняемые одним компонентом, могут выполняться двумя или более компонентами. [0060] While in FIG. 1 and 2 illustrate various component configurations, other configurations may be used without departing from the scope of this invention. For example, the various components in FIG. 1 and 2 can be combined to create one component. As another example, functions performed by one component may be performed by two or more components.

[0061] Возвращаясь к фиг. 5, на фиг. 5 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 5 проиллюстрирован способ для доступа к одной или более системам управления в сети управления бурением. Один или более этапов на фиг. 5 могут быть выполнены посредством одного или более компонентов (например, контроллером (443) виртуальных соединений), как проиллюстрировано на фиг. 1, 2 и/или 4. В то время как различные этапы на фиг. 5 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [0061] Returning to FIG. 5 in FIG. 5 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 5 illustrates a method for accessing one or more control systems in a drilling control network. One or more steps in FIG. 5 may be performed by one or more components (eg, a virtual connection controller (443)), as illustrated in FIG. 1, 2 and/or 4. While the various steps in FIG. 5 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[0062] На этапе 500 получают запрос для доступа к одному или более программируемым логическим контроллерам, расположенным в сети управления бурением, в соответствии с одним или более вариантов реализации изобретения. Например, устройство пользователя может передать запрос для доступа к контроллеру виртуальных соединений, назначенному для управления коммутируемым виртуальным соединением с сетью управления бурением. Устройство пользователя может подключаться локально в пользовательской сети, соединенной с сетью управления бурением, или подключаться к контроллеру виртуальных соединений удаленно, например, через Интернет. [0062] At step 500, a request is received to access one or more programmable logic controllers located in the drilling control network, in accordance with one or more embodiments of the invention. For example, the user device may send a request to access a virtual connection controller assigned to manage a switched virtual connection to a drilling control network. The user device may connect locally on the user network connected to the drilling control network, or connect to the virtual connection controller remotely, such as via the Internet.

[0063] Кроме того, запрос может представлять собой сообщение, которое идентифицирует устройство пользователя и/или пользователя, предпринимающего попытку доступа к одному или более PLC в сети управления бурением. Например, запрос может содержать парольную информацию и/или другую информацию для идентификации, которая может использоваться контроллером виртуальных соединений для определения, является ли устройство пользователя авторизованным. Запрос также может содержать информацию, относящуюся к тому, к какому PLC устройство пользователя или пользователь пытается получить доступ. В то время как этап 500 описывает запрос для доступа к одному или более PLC, в одном или более вариантах реализации изобретения запрос осуществляется для доступа к одной или более системам управления операциями бурения и/или одной или более системам управлением техническим обслуживанием, как проиллюстрировано выше на фиг. 4 и описанных в прилагаемом описании. [0063] In addition, the request may be a message that identifies the device of the user and/or the user attempting to access one or more PLCs in the drilling control network. For example, the request may contain password information and/or other identification information that may be used by the virtual connection controller to determine if the user's device is authorized. The request may also contain information related to which PLC the user's device or the user is trying to access. While step 500 describes a request for access to one or more PLCs, in one or more embodiments of the invention, the request is for access to one or more drilling operations control systems and/or one or more maintenance control systems, as illustrated above in fig. 4 and described in the accompanying description.

[0064] В одном или более вариантах реализации изобретения для доступа к сети управления бурением контроллер виртуальных соединений осуществляет многофакторную аутентификацию. Например, устройство пользователя может входить в пользовательскую сеть с помощью имени пользователя и пароля. Соответственно, после установления сетевого соединения с пользовательской сетью для установления виртуального соединения контроллер виртуальных соединений может запросить дополнительный пароль и/или идентификацию. Например, дополнительный пароль и/или идентификационная информация может представлять собой личный идентификационный номер, биометрический идентификатор, такой как отпечатки пальцев, личную информацию, относящуюся к пользователю, запрашивающему доступ и/или код устройства пользователя, передаваемый независимо на устройство пользователя. Для дополнительной информации о кодах пользовательского устройства, смотрите этап 740 на фиг. 7 и прилагаемое описание. [0064] In one or more embodiments of the invention, the virtual connection controller performs multi-factor authentication to access the drilling control network. For example, the user's device may log into the user's network using a username and password. Accordingly, after establishing a network connection with the user network to establish a virtual connection, the virtual connection controller may request an additional password and/or identification. For example, the additional password and/or identification information may be a personal identification number, a biometric identifier such as a fingerprint, personal information relating to the user requesting access, and/or a user device code transmitted independently to the user's device. For more information on user device codes, see block 740 in FIG. 7 and the accompanying description.

[0065] На этапе 510 выполняют определение, является ли устройство пользователя авторизованным для доступа к одному или более программируемым логическим контроллерам в соответствии с одним или более вариантов реализации изобретения. В ответ на полученный запрос на этапе 500, например, сетевой элемент и/или программное приложение может определить, имеет ли устройство пользователя разрешение для доступа к конкретному PLC. Например, контроллер виртуальных соединений может осуществлять доступ к учетной записи пользователя, связанного с устройством пользователя, и/или пользователя, эксплуатирующего устройство пользователя. Учетная запись пользователя может содержать учетные данные пользователя, которые определяют, к какому PLC пользователь и/или устройство пользователя может получить доступ. Кроме того, учетные данные пользователя могут также указывать одно или более временных окон, когда пользователь и/или устройство пользователя может управлять конкретным PLC и/или любым PLC. Чтобы получить дополнительную информацию относительно временных окон, смотрите этапы 720, 725 и 730, проиллюстрированные ниже на фиг. 7 и прилагаемое описание. Учетные данные пользователя могут вводиться вручную в учетную запись пользователя администратором и/или генерироваться автоматически на основании различной информации, связанной с пользователем и/или устройством пользователя, хранящейся в учетной записи пользователя или в другом месте.[0065] At step 510, a determination is made whether the user device is authorized to access one or more programmable logic controllers in accordance with one or more embodiments of the invention. In response to the received request at step 500, for example, the network element and/or software application may determine if the user device has permission to access a particular PLC. For example, the virtual connection controller may access the account of the user associated with the user's device and/or the user operating the user's device. The user account may contain user credentials that define which PLC the user and/or the user's device can access. In addition, the user credentials may also indicate one or more time windows when the user and/or user device can control a particular PLC and/or any PLC. For more information regarding time windows, see steps 720, 725, and 730 illustrated below in FIG. 7 and the accompanying description. The user's credentials may be manually entered into the user's account by an administrator and/or generated automatically based on various information associated with the user and/or the user's device, stored in the user's account or elsewhere.

[0066] На этапе 520 устанавливают виртуальное соединение между сетью управления бурением и пользовательской сетью в ответ на определение того, что устройство пользователя является авторизованным в соответствии с одним или более вариантами реализации изобретения. Если выполнено определение, что устройство пользователя является авторизованным для доступа к конкретному PLC, например, контроллер виртуальных соединений может установить виртуальное соединение с сетью управления бурением. Если между сетью управления бурением и пользовательской сетью существует коммутируемое виртуальное соединение, контроллер виртуальных соединений может позволить передачу данных по сети через коммутируемое виртуальное соединение для установления виртуального соединения. Коммутируемое виртуальное соединение может быть аналогично виртуальному соединению (415), проиллюстрированному выше на фиг. 4 и в прилагаемом описании. С другой стороны, если выполнено определение, что устройство пользователя не является авторизованным для доступа к одному или более из PLC и/или устройство пользователя не является авторизованным в данный момент времени, виртуальное соединение не может быть установлено на этапе 520. [0066] In step 520, a virtual connection is established between the drilling control network and the user network in response to determining that the user device is authorized in accordance with one or more embodiments of the invention. If it is determined that the user device is authorized to access a particular PLC, for example, the virtual connection controller may establish a virtual connection to the drilling control network. If a switched virtual connection exists between the drilling control network and the user network, the virtual connection controller may allow network communication over the switched virtual connection to establish a virtual connection. The switched virtual connection may be similar to the virtual connection (415) illustrated above in FIG. 4 and in the accompanying description. On the other hand, if it is determined that the user device is not authorized to access one or more of the PLCs and/or the user device is not currently authorized, the virtual connection cannot be established at step 520.

[0067] В одном или более вариантах реализации изобретения контроллер виртуальных соединений выключается и/или отсоединяется от сети управления бурением. После того, как на этапе 510 определяют, что пользователь является авторизованным для доступа к сети управления бурением, контроллер виртуальных соединений может включить питание и установить виртуальное соединение с сетью управления бурением. [0067] In one or more embodiments of the invention, the virtual connection controller is turned off and/or disconnected from the drilling control network. After it is determined in step 510 that the user is authorized to access the drilling control network, the virtual connection controller may power up and establish a virtual connection to the drilling control network.

[0068] На этапе 530 виртуальное соединение завершают в соответствии с одним или более вариантами реализации изобретения. В частности, контроллер виртуальных соединений или другое программное приложение может завершить виртуальное соединение, установленное на этапе 520. Например, контроллер виртуальных соединений может удалить соединение канального уровня между сетью управления бурением и пользовательской сетью, возвращая тем самым сеть управления бурением в закрытое состояние. Аналогичным образом, настройки межсетевого экрана могут быть установлены контроллером виртуальных соединений в состояние блокировки сетевого трафика от и к сети управления бурением. В случае коммутируемого виртуального соединения, контроллер виртуальных соединений может установить коммутируемое виртуальное соединение в такое состояние, чтобы оно представляло собой разомкнутую цепь. В одном или более вариантах реализации изобретения, например, контроллер виртуальных соединений выключает питание и отсоединяется после выполнения определения, что виртуальное соединение завершено.[0068] At step 530, the virtual connection is terminated in accordance with one or more embodiments of the invention. In particular, the virtual connection controller or other software application may terminate the virtual connection established at 520. For example, the virtual connection controller may remove the link layer connection between the drilling control network and the user network, thereby returning the drilling control network to a closed state. Similarly, firewall settings can be set by the virtual connection controller to block network traffic to and from the drilling control network. In the case of a switched virtual connection, the virtual connection controller may set the switched virtual connection to a state such that it represents an open circuit. In one or more embodiments of the invention, for example, the virtual connection controller turns off the power and disconnects after determining that the virtual connection is completed.

[0069] В одном или более вариантах реализации изобретения, например, пользователю и/или устройству пользователя назначается конкретный период времени, когда виртуальное соединение на этапе 520 остается активным. Как только на этапе 520 виртуальное соединение устанавливается, виртуальное соединение может автоматически завершиться по истечении часа или другого конкретного периода времени. В одном или более вариантах реализации изобретения, например, виртуальное соединение автоматически завершается после утвержденного периода времени технического обслуживания, за исключением увеличения этого периода времени, которое утверждается через один или более соответствующих каналов. Аналогичным образом, в другом варианте реализации программное приложение, работающее в пользовательской сети и/или устройстве пользователя, контролирует прошло ли конкретный период времени с тех пор, как осуществлялось какое-либо действие пользователя в отношении виртуального соединения. Например, если устройство пользователя не передало команду управления и/или не получило каких либо данных PLC через виртуальное соединение из этапа 520 в течение конкретного периода времени, контроллер виртуальных соединений может определить, что имеет место простой устройства пользователя и, соответственно, завершает виртуальное соединение. [0069] In one or more embodiments of the invention, for example, the user and/or user device is assigned a specific period of time when the virtual connection at step 520 remains active. Once, at step 520, the virtual connection is established, the virtual connection may automatically end after an hour or other specified period of time. In one or more embodiments of the invention, for example, the virtual connection is automatically terminated after the approved maintenance time period, except for an increase in this time period, which is asserted through one or more appropriate channels. Similarly, in another implementation, a software application running on the user's network and/or the user's device monitors whether a specific period of time has elapsed since any user action on the virtual connection has taken place. For example, if the user device has not transmitted a control command and/or received any PLC data via the virtual connection from step 520 within a specific period of time, the virtual connection controller may determine that the user device is idle and terminate the virtual connection accordingly.

[0070] В другом варианте реализации устройство пользователя может передавать запрос для завершения виртуального соединения, например, контроллеру виртуальных соединений. Пользователь может принять решение, что он или она завершает доступ к одному или более PLC или системам управления, и отправить команду контроллеру виртуальных соединений для завершения виртуального соединения. Соответственно, устройство пользователя может автоматически передавать запрос для завершения виртуального соединения в ответ на выход пользователя из графического интерфейса пользователя, предусмотренного для доступа к одному или более PLC. [0070] In another embodiment, the user device may send a request to terminate the virtual connection, for example, to a virtual connection controller. The user may decide that he or she terminates access to one or more PLCs or control systems and send a command to the virtual connection controller to terminate the virtual connection. Accordingly, the user device may automatically send a request to terminate the virtual connection in response to the user exiting a graphical user interface provided for accessing one or more PLCs.

[0071] Кроме того, как проиллюстрировано выше на фиг. 5 и ниже на фиг. 7, доступ может описывать доступ для чтения и/или управления в отношении одного или более сетевых устройств, таких как PLC, расположенных в сети управления бурением. Однако, в одном или более вариантах реализации изобретения доступ относится к командам управления, передаваемым в сеть управления бурением. Например, между сетью управления бурением и пользовательской сетью может существовать одна или более сетевых линий связи, которые обеспечивают передачу данных PLC. В этом случае установленное виртуальное соединение может быть ограничено для передачи управляющих команд и/или других управляющих данных, которые передаются для изменения настроек, параметров и процессов, выполняемых в сети управления бурением. Например, в некоторых вариантах реализации изобретения устройство пользователя может быть выполнено с возможностью контроля сети управления бурением без установления виртуального соединения на этапе 520. При этом виртуальное соединение может быть установлено только, когда устройство пользователя пытается регулировать различные настройки на одном или более PLC и/или других сетевых устройствах в сети управления бурением. [0071] In addition, as illustrated above in FIG. 5 and below in FIG. 7, access may describe read and/or control access to one or more network devices, such as PLCs, located on the drilling control network. However, in one or more embodiments of the invention, access refers to control commands transmitted to the drilling control network. For example, between the drilling control network and the user network, there may be one or more network links that provide data transmission to the PLC. In this case, the established virtual connection may be restricted to transmit control commands and/or other control data that is transmitted to change the settings, parameters and processes performed in the drilling control network. For example, in some embodiments of the invention, the user device may be configured to monitor the drilling control network without establishing a virtual connection at 520. Here, the virtual connection may only be established when the user device attempts to adjust various settings on one or more PLCs and/or other network devices in the drilling control network.

[0072] Возвращаясь к фиг. 6, на фиг. 6 проиллюстрирован пример сквозного соединения от узла сети в сети управления бурением к инсталляционному серверу. Следующий пример приводится исключительно с целью пояснения, но не ограничения объема изобретения. Возвращаясь к фиг. 6, на фиг. 6 проиллюстрирован логический путь (680), который устанавливается от программируемого логического контроллера (например, PLC A (661)) к инсталляционному серверу Q (674). Как проиллюстрировано на фиг. 6, различные сетевые линии связи (например, сетевая линия A (681) связи, сетевая линия B (682) связи, сетевая линия C (683) связи, сетевая линия D (684) связи, сетевая линия E (685) связи) формируются между различными узлами сети в сети X (610) управления бурением (например, PLC A (661), PLC B (662), коммутатор A (671), коммутатор B (672)) и пользовательской сетью B (630) (например, коммутатор C (673), инсталляционный сервер Q (674)). Кроме того, виртуальное соединение X (615) устанавливается между коммутатором A (671) в сети управления бурением A (610) и коммутатором C (673) в сети B (630) управления бурением. С помощью виртуального соединения X (615) формируется логический путь (680) между PLC A (661) и инсталляционным сервером Q (674), который позволяет инсталляционному серверу Q (674) получать данные от PLC A (661) и/или передавать данные к PLC A (661). Логический путь (680) может позволить инсталляционному серверу Q (674) осуществлять связь с PLC A (661), например, посредством регулировки настроек в PLC A (661), используя управляющие команды. Аналогичным образом, инсталляционный сервер Q (674) может получать данные PLC от PLC A (661), который предоставляет информацию о различных операциях бурения и/или задачах технического обслуживания, выполняемых в сети A (610) управления бурением. Когда виртуальное соединение X (615) завершается, логический путь (680) между PLC A (661) и инсталляционным сервером Q (674) также завершается.[0072] Returning to FIG. 6, in FIG. 6 illustrates an example end-to-end connection from a network node in a drilling control network to an installation server. The following example is given solely for the purpose of explaining and not limiting the scope of the invention. Returning to FIG. 6, in FIG. 6 illustrates a logical path (680) that is established from a programmable logic controller (eg, PLC A (661)) to an installation server Q (674). As illustrated in FIG. 6, various network links (for example, network link A (681) communication, network line B (682) communication, network line C (683) communication, network line D (684) communication, network line E (685) communication) are formed between different network nodes in the drilling control network X (610) (for example, PLC A (661), PLC B (662), switch A (671), switch B (672)) and user network B (630) (for example, switch C (673), installation server Q (674)). In addition, a virtual connection X (615) is established between switch A (671) in drilling control network A (610) and switch C (673) in drilling control network B (630). The X virtual connection (615) forms a logical path (680) between PLC A (661) and installation server Q (674) that allows installation server Q (674) to receive data from PLC A (661) and/or transmit data to PLC A (661). The logical path (680) may allow installation server Q (674) to communicate with PLC A (661), for example by adjusting settings in PLC A (661) using control commands. Similarly, installation server Q (674) may receive PLC data from PLC A (661), which provides information about various drilling operations and/or maintenance tasks performed on the drilling control network A (610). When virtual connection X (615) is terminated, the logical path (680) between PLC A (661) and installation server Q (674) is also terminated.

[0073] В одном или более вариантах реализации изобретения, например, виртуальное соединение между сетью управления бурением и пользовательской сетью не обеспечивает непосредственного доступа для устройства пользователя (например, устройства пользователя X (451)) к системам управления операциями бурения и/или системам управления техническим обслуживанием. В противоположность к проиллюстрированному на фиг. 6, например, в некоторых вариантах реализации изобретения устройство Z (651) пользователя может не осуществлять связь непосредственно с PLC A (661), а через контроллер виртуальных соединений и/или другое сетевое средство. Может существовать логический путь через виртуальное соединение X (615) к контроллеру виртуальных соединений. На основании управляющих команд, принимаемых в контроллере виртуальных соединений из устройства пользователя, контроллер виртуальных соединений может передавать повторно новые управляющие команды непосредственно к программируемому логическому контроллеру или системе управления в сети управления бурением. Аналогичным образом, контроллер виртуальных соединений может принимать данные PLC от программируемого логического контроллера или системы управления перед повторной передачей данных PLC к устройству пользователя. [0073] In one or more embodiments of the invention, for example, the virtual connection between the drilling control network and the user network does not provide direct access for the user device (for example, user device X (451)) to drilling control systems and / or technical control systems. service. In contrast to that illustrated in FIG. 6, for example, in some embodiments of the invention, user device Z (651) may not communicate directly with PLC A (661), but through a virtual connection controller and/or other network facility. There may be a logical path through virtual connection X (615) to the virtual connection controller. Based on the control commands received in the virtual connection controller from the user device, the virtual connection controller may retransmit new control commands directly to the programmable logic controller or control system in the drilling control network. Similarly, the virtual connection controller may receive PLC data from a programmable logic controller or control system before retransmitting the PLC data to the user device.

[0074] Возвращаясь к фиг. 7, на фиг. 7 проиллюстрирована блок-схема для генерирования карты уязвимости в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 7 проиллюстрирован способ для доступа к одной или более системам управления в сети управления бурением. Один или более этапов на фиг. 7 могут быть выполнены посредством одного или более компонентов (например, контроллером (443) виртуальных соединений), как проиллюстрировано на фиг. 1, 2 и/или 4. В то время как различные этапы на фиг. 7 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [0074] Returning to FIG. 7 in FIG. 7 illustrates a flowchart for generating a vulnerability map in accordance with one or more embodiments of the invention. In particular, in FIG. 7 illustrates a method for accessing one or more control systems in a drilling control network. One or more steps in FIG. 7 may be performed by one or more components (eg, a virtual connection controller (443)), as illustrated in FIG. 1, 2 and/or 4. While the various steps in FIG. 7 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[0075] На этапе 700 устанавливают сетевое соединение между устройством пользователя и пользовательской сетью в соответствии с одним или более вариантами реализации изобретения. В частности, устройство пользователя может подключаться к пользовательской сети удаленно через Интернет. Аналогичным образом, сетевое подключение может устанавливаться локально в пользовательской сети, например, путем подключения устройства пользователя к коммутатору, расположенному на буровой установке. Что касается удаленного сетевого подключения, сетевое подключение может быть установлено с использованием протокола удаленного дисплея, такого как протокол удаленного рабочего стола, для доступа к контроллеру виртуальных соединений в пользовательской сети. В одном или более вариантах реализации изобретения устройство пользователя подключается к сетевому элементу в пользовательской сети, который может осуществлять связь с контроллером виртуальных соединений и/или инсталляционным сервером. Например, устройство пользователя может предоставлять информацию для входа в систему, такую как идентификационная и/или парольная информация для входа в пользовательскую сеть. В одном или более вариантах реализации изобретения пользовательская сеть может быть аналогичной пользовательской сети (430), проиллюстрированной на фиг. 4 и описанной в прилагаемом описании. [0075] At 700, a network connection is established between the user device and the user network, in accordance with one or more embodiments of the invention. In particular, the user's device may connect to the user's network remotely via the Internet. Similarly, the network connection may be established locally on the user's network, for example by connecting the user's device to a switch located on the drilling rig. With respect to a remote network connection, a network connection can be established using a remote display protocol such as Remote Desktop Protocol to access the virtual connection controller on the user's network. In one or more embodiments of the invention, the user's device connects to a network element in the user's network that can communicate with a virtual connection controller and/or installation server. For example, the user's device may provide login information, such as identification and/or password information for logging into the user's network. In one or more embodiments of the invention, the user network may be similar to the user network (430) illustrated in FIG. 4 and described in the accompanying description.

[0076] На этапе 705 получают запрос для доступа к одному или более программируемым логическим контроллерам, расположенным в сети управления бурением, в соответствии с одним или более вариантов реализации изобретения. Этап 705 может быть аналогичен этапу 500, проиллюстрированному на фиг. 5 и описанному в прилагаемом описании. [0076] At step 705, a request is received to access one or more programmable logic controllers located in the drilling control network, in accordance with one or more embodiments of the invention. Step 705 may be similar to step 500 illustrated in FIG. 5 and described in the accompanying description.

[0077] На этапе 710 получают учетные данные пользователя из учетной записи пользователя, связанной с устройством пользователя, в соответствии с одним или более вариантами реализации изобретения. Например, различные учетные записи пользователя могут храниться в пользовательской сети в запоминающем устройстве или в удаленном месте хранения, которое доступно одному или более программным приложениям, работающим в пользовательской сети. В одном или более вариантах реализации изобретения контроллер виртуальных соединений идентифицирует устройство пользователя из этапа 700 и сопоставляет устройство пользователя с конкретной учетной записью пользователя. Например, идентификационная и/или парольная информация из блока 700 может также быть связана с конкретной учетной записью пользователя. С другой стороны, устройствам пользователя может быть назначена дополнительная уникальная идентификация, которая сопоставляет устройство пользователя с конкретной учетной записью пользователя. [0077] At block 710, user credentials are obtained from a user account associated with the user's device, in accordance with one or more embodiments of the invention. For example, the various user accounts may be stored on the user's network in a storage device or remote storage location that is accessible by one or more software applications running on the user's network. In one or more embodiments of the invention, the virtual connection controller identifies the user's device from block 700 and associates the user's device with a specific user account. For example, the identification and/or password information from block 700 may also be associated with a particular user account. On the other hand, user devices may be assigned an additional unique identification that associates the user device with a particular user account.

[0078] В одном или более вариантах реализации изобретения учетные данные пользователя содержат атрибуты предоставления разрешений. Например, атрибуты предоставления разрешений могут назначать одну или более систем управления и/или один или более программируемых логических контроллеров в сети управления бурением, к которым пользователь и/или устройство пользователя может осуществлять доступ. В частности, различным сотрудникам в сети управления бурением может быть назначен доступ на основании их функциональных обязанностей и сферы ответственности. Например, пользователь, функциональными обязанностями которого является эксплуатация и техническое обслуживание бурового насоса, может иметь атрибуты предоставления разрешений, которые назначают доступ к PLC бурового насоса и PLC обработки бурового раствора. Однако, пользователь не может иметь атрибутов предоставления разрешений, которые обеспечивают доступ к PLC верхнего привода, который управляет вращением бурильной колонны. Соответственно, атрибуты предоставления разрешений для пользователя могут быть описаны в соответствующей учетной записи пользователя для пользователя. [0078] In one or more embodiments of the invention, the user's credentials contain permission granting attributes. For example, the permission attributes may designate one or more control systems and/or one or more programmable logic controllers in the drilling control network that the user and/or user device can access. In particular, various employees in the drilling control network may be assigned access based on their functional duties and responsibilities. For example, a user whose job is to operate and maintain a mud pump may have permission grant attributes that assign access to the mud pump PLC and the mud processing PLC. However, the user cannot have permission attributes that provide access to the top drive PLC that controls the rotation of the drill string. Accordingly, permission granting attributes for a user may be described in the corresponding user account for the user.

[0079] На этапе 715 выполняют определение относительно того, какие программируемые логические контроллеры связаны с учетной записью пользователя в соответствии с одним или более вариантами реализации изобретения. Например, запрос из этапа 705 может представлять собой запрос для доступа к конкретному PLC или системе управления в сети управления бурением. Контроллер виртуальных соединений может анализировать учетные данные пользователя из блока 710, чтобы определить соответствуют ли атрибуты предоставления разрешений конкретному PLC. С другой стороны, если запрос является запросом общего характера для доступа к сети управления бурением, контроллер виртуальных соединений может проверять атрибуты предоставления разрешений для PLC и/или систем управления, связанных с пользователем и/или устройством пользователя. Если устройство пользователя в текущий момент времени не является авторизованным для доступа к любым программируемым логическим контроллерам в сети управления бурением, запрос из этапа 705 может быть отклонен. Подобным образом, этап 715 может быть аналогичен этапу 510, проиллюстрированному на фиг. 5 и описанному в прилагаемом описании.[0079] At 715, a determination is made as to which programmable logic controllers are associated with a user account, in accordance with one or more embodiments of the invention. For example, the request from step 705 may be a request to access a particular PLC or control system on the drilling control network. The virtual connection controller may parse the user credentials from block 710 to determine if the grant attributes are appropriate for a particular PLC. On the other hand, if the request is a general request for access to the drilling control network, the virtual connection controller may check the granting attributes of the PLCs and/or control systems associated with the user and/or user device. If the user device is not currently authorized to access any PLCs on the drilling control network, the request from step 705 may be rejected. Likewise, step 715 may be similar to step 510 illustrated in FIG. 5 and described in the accompanying description.

[0080] На этапе 720 выполняют определение, является ли одно или более временных окон связанным с одним или более программируемыми логическими контроллерами и/или учетной записью пользователя в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения, например, доступ к сети управления бурением ограничен по времени. В частности, доступ к PLC и/или системе управления может быть предоставлен для устройства пользователя в утвержденные периоды времени. Таким образом, в одном или более вариантах реализации изобретения доступ к одному или более PLC и/или системам управления связывают с одним или более временных окон. Например, временное окно может определять время начала и время окончания, когда устройство пользователя может осуществлять доступ к конкретному PLC. Между временем начала и временем окончания устройство пользователя может получать данные PLC от конкретного PLC и/или передавать одну или более управляющих команд к конкретному PLC. Аналогичным образом, временное окно может быть назначено для конкретного пользователя и/или устройства пользователя, например, чтобы предотвратить доступ к системе управления во время регламентной операции технического обслуживания. [0080] At step 720, a determination is made whether one or more time windows are associated with one or more programmable logic controllers and/or a user account in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, for example, access to the drilling control network is time limited. In particular, access to the PLC and/or control system may be granted to the user's device at approved times. Thus, in one or more embodiments of the invention, access to one or more PLCs and/or control systems is associated with one or more time windows. For example, the time window may define a start time and an end time when a user device can access a particular PLC. Between the start time and end time, the user device may receive PLC data from a particular PLC and/or transmit one or more control commands to a particular PLC. Likewise, a time window may be assigned to a particular user and/or user device, for example, to prevent access to the control system during a routine maintenance operation.

[0081] В другом варианте реализации изобретения временное окно может относиться к ограниченному периоду времени, в течение которого устройству пользователя позволено осуществлять доступ к конкретному PLC. Например, контроллер виртуальных соединений может записывать период времени, в течении которого устройство пользователя осуществляет доступ к конкретному PLC перед завершением виртуального соединения. Соответственно, когда устройство пользователя превышает период времени, назначенный для временного окна, виртуальное соединение может быть завершено. Таким образом, после окончания конкретного временного окна контроллер виртуальных соединений может препятствовать установлению последующего виртуального соединения до тех пор, пока временное окно не будет возвращено в исходное состояние. Например, для пользователя и/или устройства пользователя временное окно может возвращаться в исходное состояние еженедельно, ежемесячно или через другие периодические интервалы времени. [0081] In another embodiment of the invention, a time window may refer to a limited period of time during which a user device is allowed to access a particular PLC. For example, the virtual connection controller may record the period of time that the user device accesses a particular PLC before terminating the virtual connection. Accordingly, when the user device exceeds the time period assigned to the time window, the virtual connection can be terminated. Thus, after a particular time window has elapsed, the virtual connection controller may prevent a subsequent virtual connection from being established until the time window is reset. For example, for the user and/or the user's device, the time window may reset on a weekly, monthly, or other periodic interval.

[0082] Например, в следующем варианте реализации изобретения пользователю может быть назначено одно или более общих временных окон для доступа к PLC или системе управления в сети управления бурением. В общем временном окне виртуальное соединение может быть установлено в тех случаях, когда устройство пользователя может осуществлять доступ к любому PLC или системе управления, для которых устройство пользователя авторизовано для доступа иным образом. С другой стороны, в одном или более вариантах реализации изобретения пользователю назначается конкретное временное окно для конкретного PLC или системы управления. В конкретном временном окне виртуальное соединение устанавливается, когда устройство пользователя может осуществлять доступ к конкретному PLC или системе управления, связанным с конкретным временным окном. Кроме того, конкретное временное окно для устройства пользователя может перекрываться на некотором отрезке времени с другим конкретным временным окном или не перекрываться по времени. [0082] For example, in a further embodiment of the invention, a user may be assigned one or more common time windows to access a PLC or control system on a drilling control network. In a common time window, a virtual connection may be established in cases where the user device can access any PLC or control system for which the user device is otherwise authorized to access. On the other hand, in one or more embodiments of the invention, a user is assigned a particular time window for a particular PLC or control system. In a specific time window, a virtual connection is established when a user device can access a specific PLC or control system associated with a specific time window. In addition, a particular time window for a user's device may overlap at some point in time with another particular time window, or may not overlap in time.

[0083] В одном или более вариантах реализации изобретения учетные данные пользователя из этапа 710 содержат атрибуты временного окна. В частности, атрибутами временного окна могут быть поля данных, которые содержат информацию, относящуюся к временам начала, временам окончания, конкретным дням недели, месяца или года и выделенным периодам времени для различных временных окон, назначенных пользователю и/или устройству пользователя. Кроме того, атрибуты временного окна могут описывать общие временные окна и частные временные окна. [0083] In one or more embodiments of the invention, the user credentials from block 710 contain time window attributes. In particular, time window attributes may be data fields that contain information related to start times, end times, specific days of the week, month, or year, and allocated time periods for various time windows assigned to the user and/or user device. In addition, time window attributes may describe general time windows and private time windows.

[0084] На этапе 725 получают время начала временного окна для виртуального соединения в соответствии с одним или более вариантами реализации изобретения. Контроллер виртуальных соединений может извлекать различные атрибуты временных окон из учетной записи пользователя для определения, например, времени начала временного окна для виртуального соединения с сетью управления бурением. В частности, время начала временного окна может представлять собой время до или после времени, в которое был получен запрос на этапе 705. Если время начала временного окна является временем после запроса, контроллер виртуальных соединений может уведомить устройство пользователя, что виртуальное соединение не может быть установлено до времени начала. Если время начала является временем перед запросом, контроллер виртуальных соединений может сразу установить виртуальное соединение. [0084] In step 725, the time window start time for the virtual connection is obtained, in accordance with one or more embodiments of the invention. The virtual connection controller may retrieve various time window attributes from the user account to determine, for example, the start time of the time window for the virtual connection to the drilling control network. In particular, the start time of the time window may be a time before or after the time at which the request was received in step 705. If the start time of the time window is the time after the request, the virtual connection controller may notify the user device that the virtual connection cannot be established. before the start time. If the start time is the time before the request, the virtual connection controller may immediately establish a virtual connection.

[0085] На этапе 730 получают время окончания временного окна для виртуального соединения в соответствии с одним или более вариантами реализации изобретения. Аналогичным образом этапу 725, для определения времени окончания временного окна могут быть проверены различные атрибуты временного окна. В одном или более вариантах реализации изобретения контроллер виртуальных соединений уведомляет устройство пользователя о периоде времени, в течении которого виртуальное соединение будет установлено, например, до времени окончания текущего временного окна. [0085] At step 730, the end time of the time window for the virtual connection is obtained in accordance with one or more embodiments of the invention. Similarly to block 725, various attributes of the time window may be checked to determine the end time of the time window. In one or more embodiments of the invention, the virtual connection controller notifies the user device of the period of time during which the virtual connection will be established, for example, until the end time of the current time window.

[0086] На этапе 735 генерируют код устройства пользователя для виртуального соединения в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения, например, после определения, что устройство пользователя авторизовано для доступа к сети управления бурением, контроллер виртуальных соединений запускает процесс для генерирования ограниченного по времени набора учетных данных виртуального соединения. Например, учетные данные виртуального соединения могут содержать конфигурации сети и/или межсетевого экрана для осуществления связи через виртуальное соединение. Кроме того, в ответ на определение контроллером виртуальных соединений того, что устройство пользователя является авторизованным, учетные данные виртуального соединения могут содержать код устройства пользователя специально сгенерированный для устройства пользователя. Код устройства пользователя может быть псевдослучайной или иным образом заданной буквенно-цифровой последовательностью, которая позволяет устройству пользователя осуществлять связь с PLC и/или системой управления в сети управления бурением. [0086] At 735, a user device code for a virtual connection is generated, in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, for example, after determining that the user device is authorized to access the drilling control network, the virtual connection controller starts a process to generate a time-limited set of virtual connection credentials. For example, the virtual connection credentials may contain network and/or firewall configurations for communicating over the virtual connection. In addition, in response to the virtual connection controller determining that the user's device is authorized, the virtual connection credential may contain a user device ID specially generated for the user's device. The user device code may be a pseudo-random or otherwise defined alphanumeric sequence that allows the user device to communicate with a PLC and/or control system on a drilling control network.

[0087] В одном или более вариантах реализации изобретения, например, код устройства пользователя выполнен с возможностью обеспечивать вход устройства пользователя в приложение системы управления, представленное контроллером виртуальных соединений. В частности, поскольку код устройства пользователя может отличаться от идентификационной и/или парольной информации, используемой для установления сетевого соединения на этапе 700, код устройства пользователя может обеспечить многофакторную аутентификацию для целей безопасности. Например, код устройства пользователя может представлять собой временно действующий программный токен, в котором хранится код устройства пользователя в пользовательской сети или устройстве пользователя. Как только виртуальное соединение завершается, например, когда истекает временное окно, код устройства пользователя не может больше позволять осуществлять связь с сетью управления бурением через любые текущие или будущие виртуальные соединения. Таким образом, код устройства пользователя может быть сгенерирован в ответ на авторизованный запрос и ограничивается одним или более виртуальными соединениями.[0087] In one or more embodiments of the invention, for example, the user device code is configured to allow the user device to enter the control system application represented by the virtual connection controller. In particular, since the user device ID may be different from the identification and/or password information used to establish the network connection at 700, the user device ID can provide multi-factor authentication for security purposes. For example, the user device ID may be a temporary soft token that stores the user device ID on the user network or user device. Once the virtual connection is terminated, such as when the time window expires, the user device code may no longer allow communication with the drilling control network via any current or future virtual connections. Thus, a user device code may be generated in response to an authorized request and limited to one or more virtual connections.

[0088] На этапе 740 код устройства пользователя передают на устройство пользователя в соответствии с одним или более вариантами реализации изобретения. В ответ на генерируемый код устройства пользователя на этапе 735 контроллер виртуальных соединений может передавать код устройства пользователя на устройство пользователя из этапа 700. Однако, в одном или более вариантах реализации изобретения контроллер виртуальных соединений действует как сетевое средство между устройством пользователя и системами управления в сети управления бурением. Таким образом, контроллер виртуальных соединений может хранить код устройства пользователя локально в пользовательской сети без передачи кода устройства пользователя на устройство пользователя. [0088] At 740, the user device code is transmitted to the user device in accordance with one or more embodiments of the invention. In response to the generated user device code in step 735, the virtual connection controller may transmit the user device code to the user device from step 700. However, in one or more embodiments of the invention, the virtual connection controller acts as a network facility between the user device and control systems in the control network. drilling. Thus, the virtual connection controller can store the user device code locally on the user network without transmitting the user device code to the user device.

[0089] На этапе 743 включают питание инсталляционного сервера в соответствии с одним или более вариантами реализации изобретения. Например, инсталляционный сервер может быть контроллером виртуальных соединений или отдельным от контроллера виртуальных соединений устройством. Когда выключают питание инсталляционного сервера, может быть прекращена передача данных по сети между сетью управления бурением и пользовательской сетью, которая содержит инсталляционный сервер. Питание инсталляционного сервера может быть включено, например, программным приложением, работающим в пользовательской сети. [0089] At 743, the installation server is powered on, in accordance with one or more embodiments of the invention. For example, the installation server may be a virtual connection controller or a device separate from the virtual connection controller. When the power of the installation server is turned off, network communication between the drilling control network and the user network that contains the installation server may be terminated. The power of the installation server can be turned on, for example, by a software application running on the user's network.

[0090] На этапе 745 виртуальное соединение устанавливают во время начала в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения, например, виртуальное соединение устанавливается подобным образом, как проиллюстрировано на этапе 520 на фиг. 5 и описано в прилагаемом описании. Время начала может быть таким же, как время начала, как проиллюстрировано на этапе 725 и описано в прилагаемом описании. Аналогичным образом, виртуальное соединение может быть установлено контроллером виртуальных соединений. Более того, в одном или более вариантах реализации изобретения контроллер виртуальных соединений или другое сетевое приложение контролирует сетевой трафик через виртуальное соединение. Например, контроллер виртуальных соединений может записывать запросы для конкретных типов данных PLC из сети управления бурением, а также любые управляющие команды, передаваемые любым PLC или системам управления в сети управления бурением.[0090] At 745, a virtual connection is established at start time, in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, for example, a virtual connection is established in a manner similar to that illustrated at block 520 in FIG. 5 and described in the accompanying description. The start time may be the same as the start time as illustrated at 725 and described in the accompanying description. Similarly, a virtual connection may be established by a virtual connection controller. Moreover, in one or more embodiments of the invention, the virtual connection controller or other network application controls network traffic through the virtual connection. For example, the virtual connection controller may record requests for specific types of PLC data from the drilling control network, as well as any control commands sent to any PLCs or control systems in the drilling control network.

[0091] В одном или более вариантах реализации изобретения, например, контроллер виртуальных соединений определяет одно или более прав доступа для устройства пользователя в отношении виртуального соединения. Например, устройству пользователя может быть предоставлен доступ для чтения и/или доступ для управления к одной или более настроек в PLC или системе управления в сети управления бурения. Например, права доступа для устройства пользователя могут храниться в учетной записи пользователя, описанной на этапе 710 наряду с атрибутами временного окна и атрибутами предоставления разрешений. [0091] In one or more embodiments of the invention, for example, the virtual connection controller determines one or more access rights for the user's device with respect to the virtual connection. For example, a user device may be granted read access and/or control access to one or more settings in a PLC or control system in a drilling control network. For example, access rights for a user's device may be stored in the user's account, described at 710, along with time window attributes and permission grant attributes.

[0092] На этапе 750 получают одну или более управляющих команд для одного или более программируемых логических контроллеров в соответствии с одним или более вариантов реализации изобретения. Управляющие команды могут представлять собой сообщение или инструкцию, которая вызывает выполнение PLC или системой управления заданного типа операции. Например, управляющие команды могут изменять один или более процессов, которые должны выполняться системой управления операциями бурения и/или системой управления техническим обслуживанием. Более того, управляющие команды могут регулировать настройки оборудования и параметры в отношении одного или более процессов. В одном или более вариантах реализации изобретения, например, сеть управления бурением получает только управляющие команды от пользовательской сети и/или устройства пользователя через виртуальное соединение на этапе 745. Когда виртуальное соединение завершается, пользовательская сеть и/или устройство пользователя может все еще получать данные PLC из сети управления бурением, но не может модифицировать настройки и/или процессы, выполняемые в сети управления бурением. [0092] At 750, one or more control commands are received for one or more programmable logic controllers, in accordance with one or more embodiments of the invention. Control commands may be a message or instruction that causes the PLC or control system to perform a given type of operation. For example, control commands may change one or more processes to be performed by the drilling operations control system and/or the maintenance management system. Moreover, control commands may adjust equipment settings and parameters in relation to one or more processes. In one or more embodiments of the invention, for example, the drilling control network only receives control commands from the user network and/or user device via the virtual connection at 745. When the virtual connection is terminated, the user network and/or user device may still receive PLC data. from the drilling control network, but cannot modify the settings and/or processes running on the drilling control network.

[0093] В некоторых вариантах реализации изобретения, например, устройство пользователя может передавать управляющую команду контроллеру виртуальных соединений. Соответственно, контроллер виртуальных соединений может транслировать управляющую команду на соответствующий PLC или систему управления в конкретные команды программного обеспечения и/или аппаратного средства. В другом варианте реализации изобретения устройство пользователя передает управляющую команду непосредственно на соответствующий PLC или систему управления без прохождения через промежуточное приложение. Например, сквозное соединение может быть установлено между устройством пользователя и PLC или системой управления в сети управления бурением. [0093] In some embodiments of the invention, for example, the user device may send a control command to the virtual connection controller. Accordingly, the virtual connection controller may translate the control command to the respective PLC or control system into specific software and/or hardware commands. In another embodiment of the invention, the user device transmits the control command directly to the respective PLC or control system without passing through an intermediate application. For example, an end-to-end connection may be established between a user device and a PLC or control system in a drilling control network.

[0094] На этапе 755 передают данные программируемого логического контроллера, относящиеся к одному или более программируемым логическим контроллерам, в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения, например, на устройстве пользователя предусмотрен графический интерфейс пользователя, который представляет данные PLC, относящиеся к контроллеру виртуальных соединений или системе управления. В частности, сервер архивных данных может быть расположен в сети управления бурением, которая хранит предшествующие данные управления бурением, например, результаты измерения датчиков, данные о контроле качества, отказы системы, например, собранные около различных PLC и систем управления в сети управления бурением. На графическом интерфейсе пользователя данные PLC могут быть представлены как необработанные данные и/или преобразованные данные с использованием различных методик анализа статистики необработанных данных. Например, если пользователь запрашивает доступ к ходу операции бурения с конкретным буровым долотом за прошедшую неделю, на графическом интерфейсе пользователя могут быть отображены соответствующие данные PLC для бурового долота. [0094] In step 755, programmable logic controller data related to one or more programmable logic controllers is transmitted, in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, for example, a graphical user interface is provided on a user device that presents PLC data related to a virtual connection controller or control system. In particular, the historical data server may be located in the drilling control network, which stores the previous drilling control data, for example, sensor measurements, quality control data, system failures, for example, collected from various PLCs and control systems in the drilling control network. On a graphical user interface, PLC data can be presented as raw data and/or transformed data using various raw data statistics analysis techniques. For example, if a user requests access to the drilling progress of a particular drill bit over the past week, the corresponding PLC data for the drill bit may be displayed on the GUI.

[0095] В одном или более вариантах реализации изобретения контроллер виртуальных соединений в пользовательской сети получает данные PLC непосредственно от PLC и систем управления в сети управления бурением. Соответственно, контроллер виртуальных соединений может передавать часть данных PLC на устройство пользователя. Аналогичным образом, контроллер виртуальных соединений может преобразовывать данные PLC в различный формат перед передачей данных PLC на устройство пользователя. [0095] In one or more embodiments of the invention, the virtual connection controller in the user network receives PLC data directly from the PLC and control systems in the drilling control network. Accordingly, the virtual connection controller may transmit a portion of the PLC data to the user device. Similarly, the virtual connection controller may convert the PLC data to a different format before transmitting the PLC data to the user device.

[0096] Несмотря на то, что этап 755 показан как происходящий во время установления виртуального соединения на этапе 745, и перед тем как виртуальное соединение завершается на этапе 770, в одном или более вариантах реализации изобретения данные PLC передаются без использования виртуального соединения. Например, между сетью управления бурением и пользовательской сетью может существовать одна или более сетевых линий связи, которые обеспечивают передачу данных PLC от PLC в сети управления бурением в пользовательскую сеть. Однако, эти сетевые линии связи могут содержать функциональные средства, которые препятствуют передаче управляющих команд через сетевые линии связи. [0096] Although step 755 is shown as occurring during the establishment of a virtual connection at step 745, and before the virtual connection is terminated at step 770, in one or more embodiments of the invention, PLC data is transmitted without using a virtual connection. For example, between the drilling control network and the user network, there may be one or more network links that allow the transmission of PLC data from the PLC in the drilling control network to the user network. However, these network links may contain functionality that prevents transmission of control commands over the network links.

[0097] На этапе 760 выполняют определение, было ли достигнуто время окончания для виртуального соединения в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения, например, контроллер виртуальных соединений контролирует генератор тактовых импульсов в отношении того, было ли установлено виртуальное соединение на этапе 745 за пределами конкретного временного окна. Как только временное окно заканчивается, контроллер виртуальных соединений может завершить виртуальное соединение подобным образом, как проиллюстрировано выше в отношении этапа 530 на фиг. 5 и описанного в прилагаемом описании. Аналогичным образом, если устройство пользователя передает запрос для завершения виртуального соединения, может быть определено, что время окончания достигнуто. Когда выполняют определение, что время окончания достигнуто, процесс может перейти к этапу 770. Когда выполняют определение, что время окончания не достигнуто, процесс может вернуться к этапу 750.[0097] At block 760, a determination is made whether an end time has been reached for the virtual connection, in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, for example, the virtual connection controller monitors the clock generator as to whether the virtual connection was established at 745 outside of a particular time window. Once the time window ends, the virtual connection controller may terminate the virtual connection in a manner similar to that illustrated above with respect to block 530 in FIG. 5 and described in the accompanying description. Similarly, if the user's device sends a request to terminate the virtual connection, it may be determined that the end time has been reached. When a determination is made that the end time has been reached, the process may proceed to block 770. When a determination is made that the end time has not been reached, the process may return to block 750.

[0098] На этапе 770 виртуальное соединение завершают в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения после определения времени окончания виртуального соединения код устройства пользователя из этапа 735 становится непригодным для использования. Соответственно, контроллер виртуальных соединений может завершить виртуальное соединение подобным образом, как проиллюстрировано на этапе 530 фиг. 5 и описано в прилагаемом описании. [0098] At 770, the virtual connection is terminated in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, after determining the end time of the virtual connection, the user device code from block 735 becomes unusable. Accordingly, the virtual connection controller may terminate the virtual connection in a similar manner as illustrated at block 530 of FIG. 5 and described in the accompanying description.

[0099] На этапе 775 выключают питание инсталляционного сервера в соответствии с одним или более вариантом реализации изобретения. Например, инсталляционный сервер или контроллер виртуальных соединений в пользовательской сети может обнаружить, что не существует оставшихся виртуальных соединений с сетью управления бурением и инсталляционный сервер может автоматически выключиться соответствующим образом. При выключении инсталляционный сервер не может быть скомпрометирован нарушениями в системе безопасности в пользовательской сети. [0099] At step 775, the power of the installation server is turned off in accordance with one or more embodiments of the invention. For example, the installation server or virtual connection controller in the user network may detect that there are no remaining virtual connections to the drilling control network and the installation server may automatically shut down accordingly. When shut down, the installation server cannot be compromised by security breaches on the user's network.

[00100] Соответственно, как показано в процессах, проиллюстрированных выше на фиг. 5 и 7, автоматизация установления и завершения виртуальных соединений может быть не заметной для пользователя и с минимальным вмешательством оператора. В частности, узкоспециализированное техническое обслуживание может быть выполнено с минимальным привлечением персонала буровой установки (например, для утверждения разных временных окон в разных учетных записях пользователей). Кроме того, технологический процесс операций бурения и технического обслуживания может быть последовательным независимо от того, подключается ли какое-либо устройство пользователя на буровой площадке или удаленно. Аналогичным образом, алгоритмы, проиллюстрированные на фиг. 5 и 7 могут устранить различные подключения к сети управления бурением, осуществляемые вручную, которые зависят от готовности операций и персонала буровой установки. Аналогичным образом, подключения к сети управления бурением, осуществляемые вручную, могут быть забыты и управляться ненадлежащим образом, что приводит к различным рискам нарушения безопасности для сети управления бурением.[00100] Accordingly, as shown in the processes illustrated above in FIG. 5 and 7, the automation of establishing and terminating virtual connections may be invisible to the user and with minimal operator intervention. In particular, highly specialized maintenance can be performed with minimal involvement of rig personnel (for example, to approve different time windows in different user accounts). In addition, the workflow of drilling and maintenance operations can be consistent whether any user device is connected at the wellsite or remotely. Similarly, the algorithms illustrated in FIG. 5 and 7 can eliminate various manual drilling control network connections that depend on the readiness of operations and rig personnel. Similarly, manual connections to the drilling control network can be forgotten and mismanaged, leading to various security risks for the drilling control network.

[00101] В одном или более вариантах реализации изобретения алгоритмы, проиллюстрированные на фиг. 5 и 6 и описанные в прилагаемом описании устраняют вмешательство, осуществляемое вручную пользователями для подключения устройств пользователя к PLC в сети управления бурением. Например, в системах строительства скважин различные системы управления могут управляться локально. Поскольку нарушение в системе безопасности системы управления может представлять различные риски для безопасности эксплуатации, оборудования, безопасности персонала и/или экологической безопасности, обеспечение безопасности систем управления операциями бурения и систем управления техническим обслуживанием может представлять собой сложную задачу. Соответственно, вспомогательные задачи, подобные инспектированию сетевого трафика к сети управления бурением могут не быть опциональными функциями. Кроме того, различные меры безопасности могут основываться на пассивном мониторинге. Таким образом, работы по техническому обслуживанию часто выполняют локально из-за рисков, связанных с предоставлением удаленного доступа. По этой причине описанные выше алгоритмы могут автоматизировать локальные и удаленные соединения устройств пользователя с физическим подключением и отключением соединений между сетью управления бурением и различными сетями. [00101] In one or more embodiments of the invention, the algorithms illustrated in FIG. 5 and 6 and described in the accompanying description eliminate manual intervention by users to connect user devices to a PLC in a drilling control network. For example, in well construction systems, various control systems may be controlled locally. Because a security breach in a control system can pose various risks to operational, equipment, personnel and/or environmental safety, securing drilling control systems and maintenance management systems can be challenging. Accordingly, ancillary tasks such as inspecting network traffic to the drilling control network may not be optional features. In addition, various security measures can be based on passive monitoring. Thus, maintenance work is often performed locally due to the risks associated with providing remote access. For this reason, the algorithms described above can automate local and remote connections of user devices with physical connection and disconnection of connections between the drilling control network and various networks.

[00102] Обратимся к фиг. 8.1 и 8.2, причем на фиг. 8.1 и 8.2 проиллюстрирован пример установления виртуального соединения для доступа к системе управления в сети управления бурением. Следующий пример приводится исключительно с целью пояснения, но не ограничения объема изобретения. [00102] Referring to FIG. 8.1 and 8.2, and in Fig. 8.1 and 8.2 illustrate an example of establishing a virtual connection to access a control system in a drilling control network. The following example is given solely for the purpose of explaining and not limiting the scope of the invention.

[00103] Возвращаясь к фиг. 8.1, на которой контроллер (810) буровой установки показан действующим как контроллер виртуальных соединений в данном примере. В частности, контроллер (810) буровой установки идентифицирует текущую дату и время на основании данных, хранящихся в атрибуте (801) текущего времени. Кроме того, контроллер (810) буровой установки принимает различные отложенные запросы (например, запрос пользователя Джо для доступа к PLC (821) управления топливом, запрос пользователя Билла для доступа к PLC (822) электропитания и запрос пользователя Кэти для доступа к PLC (823) обработки бурового раствора) для доступа к различным программируемым логическим контроллерам, расположенным в сети около буровой установки. [00103] Returning to FIG. 8.1, in which the rig controller (810) is shown acting as the virtual connection controller in this example. Specifically, the rig controller (810) identifies the current date and time based on the data stored in the current time attribute (801). In addition, the rig controller (810) receives various pending requests (for example, user Joe's request to access the fuel management PLC (821), user Bill's request to access the power PLC (822), and user Katie's request to access the PLC (823). ) drilling fluid processing) to access various programmable logic controllers located in the network near the drilling rig.

[00104] В соответствии с фиг. 8.1, контроллер (810) буровой установки анализирует запрос (821) пользователя Джо для доступа, используя функцию (841) авторизации PLC для определения, запретить или предоставить запросу (821) пользователя Джо доступ к PLC (815) управления топливом. Функция (841) авторизации PLC может соответствовать одному или более этапов, проиллюстрированных на фиг. 3 и 5 и описанных в прилагаемом описании. Сначала контроллер (810) буровой установки получает информацию из учетной записи (824) пользователя Джо, находящейся в пользовательской сети (не показана) около буровой установки. В частности, на основании данных, хранящихся в учетной записи (824) пользователя Джо, пользователь Джо имеет атрибуты (803) предоставления разрешений, назначенные ему авторизацией для доступа к PLC (811) бурового насоса, PLC (812) управления бурением и PLC (813) обработки бурового раствора. Аналогичным образом, на основании данных, хранящихся в учетной записи (824) пользователя Джо, пользователь Джо имеет атрибуты (804) временного окна, которые определяют общее временное окно (831) для доступа к PLC каждый вторник с 9:00 утра до 12:00 ночи и другое общее временное окно (832) для доступа к PLC каждый четверг с 2:00 дня до 5:00 дня. После анализа информации из учетной записи (824) пользователя Джо контроллер (810) буровой установки определяет, что пользователь Джо потерпел неудачу при авторизации для доступа к PLC (815) управления топливом на буровой установке. Соответственно, запрос (821) пользователя Джо отклоняется и виртуальное соединение не устанавливается. [00104] Referring to FIG. 8.1, the rig controller (810) analyzes user Joe's access request (821) using the PLC's authorization function (841) to determine whether to deny or grant user Joe's request (821) access to the fuel management PLC (815). The PLC authorization function (841) may correspond to one or more of the steps illustrated in FIG. 3 and 5 and described in the accompanying description. First, the controller (810) of the drilling rig obtains information from the user account (824) Joe located in the user network (not shown) near the drilling rig. Specifically, based on data stored in user Joe's account (824), user Joe has permission grant attributes (803) assigned to him by authorization to access the mud pump PLC (811), drilling control PLC (812), and PLC (813). ) mud treatment. Similarly, based on data stored in user Joe's account (824), user Joe has time window attributes (804) that define a common time window (831) to access the PLC every Tuesday from 9:00 am to 12:00 pm nights and another general time window (832) for PLC access every Thursday from 2:00 pm to 5:00 pm. After parsing the information from user Joe's account (824), the rig controller (810) determines that user Joe has failed in authorization to access the rig's fuel management PLC (815). Accordingly, user Joe's request (821) is denied and the virtual connection is not established.

[00105] Кроме того, как проиллюстрировано на фиг. 8.1, контроллер (810) буровой установки анализирует запрос (822) пользователя Билла для доступа, используя функцию (841) авторизации PLC для определения, запретить или предоставить запросу (822) пользователя Билла доступ к PLC (814) электропитания. Сначала контроллер (810) буровой установки получает информацию из учетной записи (825) пользователя Билла, находящейся в пользовательской сети около буровой установки. В частности, на основании данных, хранящихся в учетной записи (825) пользователя Билла пользователь Билл имеет атрибуты (803) предоставления разрешений, назначенные ему авторизацией для доступа к PLC (814) электропитания и PLC (815) управления топливом. Аналогичным образом, на основании учетной записи (825) пользователя Билла пользователь Билл имеет атрибуты (804) временного окна, которые определяют частное временное окно (833) для доступа к PLC (814) электропитания каждый вторник с 11:00 утра до 1:00 дня и другое частное временное окно (834) для доступа к PLC (815) управления топливом каждый четверг с 8:00 утра до 5:00 дня. После анализа информации из учетной записи (825) пользователя Билла контроллер (810) буровой установки определяет, что пользователь Билл является авторизованным на текущую дату и время для доступа к PLC (814) электропитания на буровой установке. Соответственно, запрос (822) пользователя Билла удовлетворяется и контроллером (810) буровой установки устанавливается виртуальное соединение, которое позволяет устройству (851) пользователя, принадлежащее пользователю Билл осуществить доступ к PLC (815) электропитания.[00105] In addition, as illustrated in FIG. 8.1, the rig controller (810) analyzes Bill's user's request (822) for access using the PLC's authorization function (841) to determine whether to deny or grant Bill's user's request (822) access to the power PLC (814). First, the controller (810) of the drilling rig receives information from the account (825) of the user Bill, located in the user network near the drilling rig. Specifically, based on the data stored in Bill's user account (825), Bill has permission grant attributes (803) assigned to him by authorization to access the Power PLC (814) and Fuel Management PLC (815). Similarly, based on user Bill's account (825), user Bill has time window attributes (804) that define a private time window (833) to access the Power PLC (814) every Tuesday from 11:00 am to 1:00 pm and another private time window (834) to access the fuel management PLC (815) every Thursday from 8:00 am to 5:00 pm. After parsing the information from user Bill's account (825), the rig controller (810) determines that user Bill is authorized on the current date and time to access the power PLC (814) on the rig. Accordingly, user Bill's request (822) is granted and a virtual connection is established by the rig controller (810) which allows the user device (851) owned by user Bill to access the power supply PLC (815).

[00106] В соответствии с фиг. 8.1, контроллер (810) буровой установки анализирует запрос (823) пользователя Кэти для доступа, используя функцию (841) авторизации PLC для определения, запретить или предоставить запросу (823) пользователя Кэти доступ к PLC (813) управления топливом. Сначала контроллер (810) буровой установки получает информацию из учетной записи (826) пользователя Кэти, находящейся в пользовательской сети. В частности, на основании данных, хранящихся в учетной записи (826) пользователя Кэти, пользователь Кэти имеет атрибуты (803) предоставления разрешений, назначенные ей авторизацией для доступа к PLC (811) бурового насоса и PLC (813) обработки бурового раствора. Аналогичным образом, на основании данных, хранящихся в учетной записи (826) пользователя Кэти, пользователь Кэти имеет атрибуты (804) временного окна, которые определяют общее временное окно (835) для доступа к PLC каждый понедельник с 10:00 утра до 1:00 дня и другое общее временное окно (836) для доступа к PLC каждую среду с 2:00 дня до 5:00 дня. После анализа информации из учетной записи (826) пользователя Кэти контроллер (810) буровой установки определяет, что пользователь Кэти является авторизованной для доступа к PLC (813) обработки бурового раствора на буровой установке, но запрос (823) пользователя Кэти находится за пределами обоих общих временных окон (835, 636) для ее учетной записи (826) пользователя. Соответственно, запрос (823) пользователя Кэти отклоняется и виртуальное соединение не устанавливается. [00106] Referring to FIG. 8.1, the rig controller (810) analyzes user Cathy's access request (823) using the PLC's authorization function (841) to determine whether to deny or grant user Cathy's request (823) access to the fuel management PLC (813). First, the rig controller (810) obtains information from user Katie's account (826) located on the user's network. Specifically, based on the data stored in user Kathy's account (826), user Kathy has permission grant attributes (803) assigned to her by the authorization to access the mud pump PLC (811) and the mud processing PLC (813). Similarly, based on the data stored in user Kathy's account (826), user Kathy has time window attributes (804) that define a common time window (835) for accessing the PLC every Monday from 10:00 am to 1:00 am days and another general time window (836) for PLC access every Wednesday from 2:00 pm to 5:00 pm. After parsing the information from user Katie's account (826) the rig controller (810) determines that user Cathy is authorized to access the drilling fluid PLC (813) on the drilling rig, but user Cathy's request (823) is outside of both common time windows (835, 636) for her user account (826). Accordingly, user Cathy's request (823) is denied and the virtual connection is not established.

[00107] Возвращаясь к фиг. 8.2, на фиг. 8.2 проиллюстрирован графический интерфейс (860) пользователя, работающий на устройстве (851) пользователя, принадлежащее пользователю Билл. В то время как устанавливается виртуальное соединение с сетью управления бурением на буровой установке, инсталляционный сервер в пользовательской сети может отправлять данные PLC из PLC (814) электропитания на устройство (851) пользователя, принадлежащее пользователю Билл, которые представляются на дисплее (880) состояния PLC электропитания. В частности, показаны различные атрибуты состояния, такие как текущее состояние (881) PLC (814) электропитания, текущее потребление (882) электроэнергии на буровой установке, потребление электроэнергии за последние семь дней (883) и потребление электроэнергии за последние тридцать дней (884). Кроме того, графический интерфейс (860) пользователя содержит панель (890) команд PLC электропитания. Используя панель (890) команд PLC электропитания, пользователь Билл может передавать одну или более команд управления на инсталляционный сервер для управления PLC (814) электропитания. Например, команды управления могут включать отключение электропитания бурового насоса (891), отключение электропитания забойного двигателя (892) и регулировку настроек максимальной мощности для различного оборудования (893) буровой установки. Кроме того, графический интерфейс (860) пользователя также содержит дисплей (870) часов PLC, который отображает пользователю Биллу текущую дату (871) и текущее время (872). Аналогичным образом, контроллер (810) буровой установки вычислил оставшееся время (873) в общем временном окне (831) и представил оставшееся время (873) на дисплее (870) часов PLC. [00107] Returning to FIG. 8.2, in fig. 8.2 illustrates a graphical user interface (860) running on a user device (851) owned by user Bill. While a virtual connection is being established with the drilling control network on the drilling rig, the installation server in the user network can send PLC data from the power supply PLC (814) to the user device (851) owned by the user Bill, which are presented on the PLC status display (880) power supply. In particular, various state attributes are shown, such as the current state (881) of the PLC (814) power supply, the current power consumption (882) of the drilling rig, the power consumption of the last seven days (883) and the power consumption of the last thirty days (884) . In addition, the graphical user interface (860) contains a power PLC command panel (890). Using the power PLC command panel (890), user Bill can send one or more control commands to the installation server to control the power PLC (814). For example, the control commands may include turning off power to the mud pump (891), turning off power to the downhole motor (892), and adjusting maximum power settings for various equipment (893) of the drilling rig. In addition, the graphical user interface (860) also includes a PLC clock display (870) that displays the current date (871) and current time (872) to the user Bill. Similarly, the rig controller (810) calculated the remaining time (873) in the total time window (831) and presented the remaining time (873) on the PLC clock display (870).

Управление завершением работы и запускомShutdown and startup management

[00108] В целом, варианты реализации изобретения включают систему и различные способы для инициализации операций завершения работы и запуска в сети управления бурением. В частности, один или более вариантов реализации изобретения относятся к системе, которая содержит диспетчер завершения работы, который управляет последовательностью завершения работы сети управления бурением. В некоторых вариантах реализации изобретения, например, использование виртуальных машин и программного контейнера прекращается перед завершением операций диспетчера служб виртуализации. Диспетчер служб виртуализации может управлять и предоставлять службы виртуализации посредством сети управления бурением, такие как генерация и/или завершение различных виртуальных машин и программных контейнеров, работающих на уровне служб виртуализации. После того, как диспетчер служб виртуализации завершает работу, может быть последовательно завершена работа на устройствах-хостах, работающих по всей сети управления бурением. В заключение, может быть завершена работа устройств-хостов. [00108] In general, embodiments of the invention include a system and various methods for initiating shutdown and startup operations in a drilling control network. In particular, one or more embodiments of the invention relate to a system that includes a shutdown manager that controls the shutdown sequence of the drilling control network. In some embodiments of the invention, for example, the use of the virtual machines and the software container is terminated before the virtualization services manager operations are terminated. The virtualization services manager may manage and provide virtualization services over the drilling control network, such as generating and/or terminating various virtual machines and software containers running at the virtualization services layer. After the Virtualization Services Manager is terminated, host devices running throughout the drilling control network can be sequentially terminated. Finally, the host devices may be terminated.

[00109] Соответственно, в некоторых вариантах реализации изобретения, последовательность завершения работы является автоматизированным процессом, управляемым диспетчером завершения работы. В частности, диспетчер завершения работы может координировать последовательность завершения работы с использованием различных команд завершения работы с временной задержкой, которые сообщают время, когда сетевые устройства прекращают работу. Таким образом, путем использования команд завершения работы с временной задержкой диспетчер завершения работы может управлять постепенным завершением работы сети, в то время как диспетчер завершения работы находится в сети, а также, в то время как диспетчер завершения работы находится в автономном режиме, то есть после того, как диспетчер завершения работы уже завершил свои собственные операции. [00109] Accordingly, in some embodiments of the invention, the shutdown sequence is an automated process controlled by a shutdown manager. In particular, the shutdown manager may coordinate the shutdown sequence using various time-delay shutdown commands that tell the time when network devices shut down. Thus, by using shutdown commands with a time delay, the shutdown manager can manage a graceful shutdown of the network while the shutdown manager is online, as well as while the shutdown manager is offline, i.e. after how the shutdown manager has already completed its own operations.

[00110] Возвращаясь к фиг. 9,1, на фиг. 9,1 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. Как проиллюстрировано на фиг. 9.1, сеть (900) управления бурением может содержать различные устройства пользователя (например, устройство (990) пользователя), различные элементы сети (например, элементы (905) сети) и различные устройства-хосты (например, устройство-хост A (911), устройство-хост N (912), устройства-хосты (913)). Устройства пользователя могут содержать аппаратные средства и/или программное обеспечение, связанное с сетью (900) управления бурением, и которое содержат функциональные средства для представления данных и/или приема входных данных от пользователя, относящихся к различным операциям бурения и/или операциям по техническому обслуживанию, выполняемым в сети (900) управления бурением. Например, устройство пользователя может включать в себя персональные компьютеры, смартфоны, человеко-машинные интерфейсы и любые другие устройства, соединенные с сетью, которые получают входные данные от одного или более пользователей, например, посредством предоставления графического интерфейса пользователя (GUI). Аналогичным образом, устройство пользователя может представлять данные и/или принимать управляющие команды от пользователя для управления буровой установкой. Сетевой элемент может относиться к различным программным компонентам и/или компонентам аппаратных средств в сети, таким как коммутаторы, маршрутизаторы, концентраторы, оборудование пользователя или любые другие логические объекты для объединения одного или более физических устройств в сети. [00110] Returning to FIG. 9.1, in Fig. 9.1 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. As illustrated in FIG. 9.1, the drilling control network (900) may contain various user devices (for example, user device (990), various network elements (for example, network elements (905)), and various host devices (for example, host device A (911) , host device N (912), host devices (913)). The user devices may comprise hardware and/or software associated with the drilling control network (900) and which includes functionality for presenting data and/or receiving input from the user related to various drilling and/or maintenance operations. performed in the drilling control network (900). For example, a user device may include personal computers, smartphones, human-machine interfaces, and any other network-connected devices that receive input from one or more users, such as by providing a graphical user interface (GUI). Likewise, the user device may present data and/or receive control commands from the user to control the drilling rig. A network element may refer to various software and/or hardware components in a network, such as switches, routers, hubs, user equipment, or any other logical entities for connecting one or more physical devices in a network.

[00111] В одном или более вариантах реализации изобретения сеть (900) может дополнительно содержать различные устройства-хосты. В частности, устройство-хост может содержать аппаратные средства и/или программное обеспечение, которое соединяется с буровым оборудованием (например, буровое оборудование A (986), буровое оборудование N (987)) и один или более программируемых логических контроллеров (PLC) (например, PLC A (981), PLC N (982)). Буровое оборудование может содержать противовыбросовый превентор (99), буровую установку (12) и другие компоненты, проиллюстрированные выше на фиг. 1 и рассмотренные в прилагаемом описании. PLC, соединенные с устройствами-хостами, могут формировать различные системы управления, такие как различные системы управления бурением и различные системы управления техническим обслуживанием. В частности, PLC могут содержать аппаратные средства и/или программное обеспечение с функциональными средствами для управления одним или более процессами, выполняемыми посредством буровой установки, включая, но, не ограничиваясь компонентами, проиллюстрированными на фиг. 1. В частности, PLC может управлять состояниями вентилей, уровнями флюида, давлениями в трубе, сигналами тревоги и/или сбросами давления по всей буровой установке. Кроме того, программируемый логический контроллер может быть компьютерной системой с повышенной устойчивостью к неблагоприятным условиям окружающей среды с функциональными средствами, позволяющими выдерживать вибрации, экстремальные температуры, влажные условия среды и/или пыльные условия среды, например, около буровой установки. [00111] In one or more embodiments of the invention, the network (900) may further comprise various host devices. In particular, the host device may include hardware and/or software that communicates with drilling equipment (e.g., drilling equipment A (986), drilling equipment N (987)) and one or more programmable logic controllers (PLCs) (e.g. , PLC A (981), PLC N (982)). The drilling equipment may include a blowout preventer (99), a drilling rig (12), and other components illustrated above in FIG. 1 and discussed in the accompanying description. PLCs connected with host devices can form various control systems such as various drilling control systems and various maintenance control systems. In particular, PLCs may comprise hardware and/or software functionality for controlling one or more of the processes performed by the drilling rig, including but not limited to the components illustrated in FIG. 1. Specifically, the PLC can control valve states, fluid levels, pipe pressures, alarms and/or depressurizations throughout the rig. Further, the programmable logic controller may be a ruggedized computer system with functionality to withstand vibration, extreme temperatures, wet environments, and/or dusty environments, such as near a drilling rig.

[00112] В одном или более вариантах реализации изобретения устройство-хост содержит контроллер виртуализации (например, контроллер A (931) виртуализации, контроллер N (932) виртуализации), работающий в операционной системе хоста (например, операционной системе A (921) хоста, операционной системе N (922) хоста). Контроллер виртуализации может содержать аппаратные средства и/или программное обеспечение, которое содержит функциональные средства для осуществления связи с другими контроллерами виртуализации в сети управления бурением и/или реализации различных служб виртуализации в сети управления бурением. Например, контроллеры виртуализации могут представлять собой виртуальные машины и/или программные контейнеры, работающие на устройствах-хостах (911, 912). Службы виртуализации могут включать в себя сетевые процессы, которые выполняются на множестве сетевых устройств (например, устройствах-хостах (911, 912), элементах сети (905), устройствах-хостах (913)). Примеры служб виртуализации могут включать в себя управление данными месторождения среди PLC и/или бурового оборудования, управление виртуальной машиной, управление программным контейнером, распределение ресурсов памяти среди устройств-хостов в сети управления бурением, различные сетевые процессы для администрирования сети управления бурением и т. д. [00112] In one or more embodiments of the invention, the host device comprises a virtualization controller (e.g., virtualization controller A (931), virtualization controller N (932)), running on a host operating system (e.g., host operating system A (921), operating system of N (922) host). The virtualization controller may include hardware and/or software that includes functionality for communicating with other virtualization controllers on the drilling control network and/or implementing various virtualization services on the drilling control network. For example, virtualization controllers may be virtual machines and/or software containers running on host devices (911, 912). The virtualization services may include network processes that run on a plurality of network devices (eg, host devices (911, 912), network elements (905), host devices (913)). Examples of virtualization services may include managing field data among PLCs and/or drilling equipment, managing a virtual machine, managing a software container, allocating memory resources among host devices in a drilling control network, various network processes for administering a drilling control network, etc. .

[00113] Программный контейнер может представлять собой частный случай пользовательского пространства, реализованного посредством одного ядра операционной системы хоста (например, операционной системой A (921) хоста, операционной системой N (922) хоста). В частности, программный контейнер может представлять собой абстракцию на уровень приложений, которая позволяет изолированным процессам работать внутри программного контейнера. Аналогичным образом, множество программных контейнеров может работать на одном ядре операционной системы. Программные контейнеры могут включать в себя Docker-контейнеры, контейнеры Java™, контейнеры Windows-сервер, и т. д. Напротив, виртуальная машина может включать в себя аппаратные средства и/или программное обеспечение, которое может обеспечить абстракцию физического аппаратного средства. Например, виртуальная машина может иметь независимую операционную систему, которая отделена от операционной системы хоста, причем виртуальная машина может работать на одном или более устройствах-хостах со специализированной памятью и другими компьютерными ресурсами. [00113] A software container may be a special case of user space implemented by a single host operating system kernel (eg, host operating system A (921), host operating system N (922). In particular, a software container may be an application layer abstraction that allows isolated processes to run within a software container. Similarly, multiple software containers can run on a single operating system core. Software containers may include Docker containers, Java™ containers, Windows Server containers, etc. In contrast, a virtual machine may include hardware and/or software that can provide an abstraction of the physical hardware. For example, the virtual machine may have an independent operating system that is separate from the host operating system, and the virtual machine may run on one or more host devices with dedicated memory and other computing resources.

[00114] Возвращаясь к фиг. 9.2, в одном или более вариантах реализации изобретения диспетчер (960) служб виртуализации выбирается контроллером виртуализации, который назначается другими контроллерами виртуализации для инициализации служб виртуализации, виртуальных машин и/или программных контейнеров, работающих на уровне служб виртуализации. Дополнительную информацию о выбранном диспетчере служб виртуализации можно найти ниже на фиг. 9.3 и в приведенном описании. [00114] Returning to FIG. 9.2, in one or more embodiments of the invention, the virtualization services manager (960) is selected by the virtualization controller, which is assigned by other virtualization controllers to initialize virtualization services, virtual machines and/or software containers running at the virtualization services layer. Additional information about the selected Virtualization Services Manager can be found below in FIG. 9.3 and in the above description.

[00115] Кроме того, диспетчер служб виртуализации (например, диспетчер (960) служб виртуализации) может администрировать и/или контролировать различные ресурсы устройств-хостов для виртуальных машин и/или программных контейнеров, работающих на уровне служб виртуализации. Аналогичным образом, общая архитектура виртуализации сети (900) управления бурением может быть такой же, как в случае, когда операционная система хоста работает на вычислительной системе без операционной системы (например, аппаратной вычислительной системе) или в качестве виртуальной машины. Например, виртуальные машины и программные контейнеры могут осуществлять связь друг с другом на уровне служб виртуализации и запускать службы виртуализации согласованным образом. [00115] In addition, a virtualization services manager (eg, a virtualization services manager (960)) may administer and/or monitor various host device resources for virtual machines and/or software containers running at the virtualization services layer. Likewise, the overall virtualization architecture of the drilling control network (900) may be the same as when the host operating system runs on a non-operating computer system (eg, a hardware computer system) or as a virtual machine. For example, virtual machines and software containers can communicate with each other at the virtualization service layer and start the virtualization services in a consistent manner.

[00116] В соответствии с фиг. 9.2 в некоторых вариантах реализации изобретения диспетчер завершения работы может принимать запрос от устройства пользователя (например, устройства (990) пользователя) для завершения операции всей или части сети управления бурением. Соответственно, диспетчер завершения работы может инициировать завершение операций для устройств-хостов, виртуальных машин, программных контейнеров, диспетчеров служб виртуализации и/или контроллеров виртуализации. В некоторых вариантах реализации изобретения диспетчер завершения работы инициирует завершение операций автоматически в ответ на обнаружение одного или более условий завершения работы, соответствующих заданным состояниям в сети управления бурением, например, сбои в работе оборудования буровой установки, вызванные прекращением операций в сети управления бурением. Аналогичным образом, диспетчер завершения работы может автоматически инициировать завершение операций в заданное время, например, пользователь может назначать заданный день и/или время для прекращения работы сети управления бурением. [00116] Referring to FIG. 9.2, in some embodiments of the invention, the shutdown manager may receive a request from a user device (eg, user device (990)) to complete the operation of all or part of the drilling control network. Accordingly, the shutdown manager may initiate shutdown operations for host devices, virtual machines, software containers, virtualization service managers, and/or virtualization controllers. In some embodiments, the shutdown manager initiates shutdown automatically in response to the detection of one or more shutdown conditions corresponding to predetermined conditions on the drilling control network, such as rig equipment failures caused by the termination of operations on the drilling control network. Similarly, the shutdown manager may automatically initiate the completion of operations at a predetermined time, for example, the user may designate a predetermined day and/or time to shut down the drilling control network.

[00117] В некоторых вариантах реализации изобретения, например, диспетчер завершения работы содержит функциональные средства для передачи команды завершения работы с временной задержкой (например, команды A (971) завершения работы с временной задержкой, команды N (972) завершения работы с временной задержкой, команды B (973) завершения работы с временной задержкой) для одного или более устройств-хостов, одного или более контроллеров виртуализации, и т. д. Команда завершения работы с временной задержкой может содержать инструкции, назначающие заданное время, когда соответствующее аппаратные средства и/или программное обеспечение (например, устройство-хост A (911), виртуальная машина A (941), программный контейнер A (946), контроллер A (931) виртуализации, диспетчер (960) служб виртуализации, и т. д.) завершает операции. Время завершения может представлять собой определенное время дня, например, в 8:00 вечера центрального поясного времени, или относительное время, например, 10 минут после приема соответствующей команды завершения работы с временной задержкой от диспетчера завершения работы. [00117] In some embodiments of the invention, for example, the shutdown manager comprises functionality for sending a shutdown command with a time delay (e.g., command A (971) shutdown with a time delay, command N (972) shutdown with a time delay, B (973) timeout shutdown command) for one or more host devices, one or more virtualization controllers, etc. The timeout shutdown command may include instructions assigning a predetermined time when the corresponding hardware and/or or software (e.g. host device A (911), virtual machine A (941), software container A (946), virtualization controller A (931), virtualization services manager (960), etc.) completes operations . The completion time may be a specific time of day, such as 8:00 pm CST, or a relative time, such as 10 minutes after the appropriate time-delayed shutdown command is received from the shutdown manager.

[00118] В заданное время завершения работы, например, программное приложение или сетевое устройство может завершить работу различных процессов программного обеспечения и/или аппаратного средства, работающего в сетевом устройстве. Аналогичным образом, время завершения может соответствовать различным процессам, связанным с операциями завершения работы, такими как, например, освобождение ресурсов компьютера, системной памяти и вычислительной мощности, и/или хранящихся данных от процессов программного обеспечения и/или аппаратного средства в запоминающем устройстве для дальнейшего извлечения. Операции завершения работы могут дополнительно соответствовать окончанию подачи электропитания на соответствующее сетевое устройство, такое как виртуальная машина, программный контейнер и/или устройство-хост.[00118] At a given shutdown time, for example, a software application or a network device may shut down various software and/or hardware processes running on the network device. Similarly, the completion time may correspond to various processes associated with shutdown operations, such as, for example, freeing computer resources, system memory and processing power, and/or stored data from software and/or hardware processes in storage for further extraction. The shutdown operations may further correspond to the end of power supply to the corresponding network device, such as a virtual machine, a software container, and/or a host device.

[00119] Возвращаясь к фиг. 9.3, на фиг. 9.3 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. Как проиллюстрировано на фиг. 9.3, сеть (900) управления бурением может содержать функциональные средства для инициализации одного или более процессов для служб перезапуска в сети (900) управления бурением. В одном или более вариантах реализации изобретения, например, различные контроллеры виртуализации (например, контроллер A (931) виртуализации, контроллер N (932) виртуализации, контроллер X (933) виртуализации) содержат функциональные средства для определения, какой контроллеров виртуализации может действовать как выбранный диспетчер служб виртуализации для сети (933) управления бурением. В частности, выбранный диспетчер служб виртуализации может представлять собой временный диспетчер служб виртуализации до тех пор, пока во всей сети управления бурением не будет установлен уровень служб виртуализации. Как проиллюстрировано на фиг. 9.3, например, контроллеры (931, 932, 933) виртуализации выбирают контроллер X (933) виртуализации в качестве диспетчера (965) служб виртуализации. Аналогично другим контроллерам виртуализации, контроллер X (933) виртуализации работает как виртуализированная среда на операционной системе X (923) хоста, расположенная в устройстве-хосте X (913). Поскольку выбранный диспетчер (965) служб виртуализации для сети, контроллер X (933) виртуализации может действовать как ведущий при координировании различных процессов среди других контроллеров (931, 932) виртуализации в сети (900) управления бурением. В частности, выбранный диспетчер (965) служб виртуализации может содержать функциональные средства, аналогичные диспетчеру (960) служб виртуализации на фиг. 9.1. [00119] Returning to FIG. 9.3, in fig. 9.3 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. As illustrated in FIG. 9.3, the drilling control network (900) may contain functionality to initialize one or more processes for restart services in the drilling control network (900). In one or more embodiments of the invention, for example, various virtualization controllers (e.g., virtualization controller A (931), virtualization controller N (932), virtualization controller X (933)) contain functionality for determining which virtualization controller can act as the selected virtualization service manager for the drilling control network (933). In particular, the virtualization services manager selected may be a temporary virtualization services manager until the virtualization services layer is established throughout the drilling control network. As illustrated in FIG. 9.3, for example, the virtualization controllers (931, 932, 933) select the virtualization controller X (933) as the virtualization services manager (965). Like other virtualization controllers, the virtualization controller X (933) operates as a virtualized environment on the host operating system X (923) located in the host device X (913). Since the virtualization services manager (965) for the network is selected, the virtualization controller X (933) can act as master in coordinating various processes among other virtualization controllers (931, 932) in the drilling control network (900). In particular, the selected virtualization services manager (965) may contain functionality similar to the virtualization services manager (960) in FIG. 9.1.

[00120] В некоторых вариантах реализации изобретения диспетчер служб виртуализации содержит функциональные средства для передачи одной или более команд инициализации с задержкой по времени (например, команды A (976) инициализации с задержкой по времени, команды N (977) инициализации с задержкой по времени). Например, выбранный диспетчер (965) служб виртуализации для сети может содержать функциональные средства для определения одного или более заданных времен в последовательности запуска для виртуальных машин, программных контейнеров и/или других служб виртуализации, работающих в сети (900) управления бурением. Таким образом, команды инициализации с задержкой по времени могут обеспечить реализацию различных служб виртуализации, представленных диспетчером служб виртуализации, перед реализацией различных виртуальных машин и/или программных контейнеров в сети (900) управления бурением. [00120] In some embodiments of the invention, the virtualization service manager includes functionality for sending one or more time-delay initialization commands (e.g., time-delay initialization commands A (976), time-delay initialization commands N (977) ) . For example, the selected network virtualization services manager (965) may include functionality to determine one or more predetermined times in the startup sequence for virtual machines, software containers, and/or other virtualization services running on the drilling control network (900). Thus, the time-delay initialization commands may enable the implementation of the various virtualization services provided by the virtualization services manager prior to the implementation of the various virtual machines and/or software containers in the drilling control network (900).

[00121] В то время как на фиг. 9.1, 9.2 и 9.3 проиллюстрированы различные конфигурации компонентов, могут использоваться другие конфигурации, не выходя за пределы объема данного изобретения. Например, различные компоненты на фиг. 9.1, 9.2 и 9.3 могут быть объединены для создания одного компонента. В качестве другого примера, функции, выполняемые одним компонентом, могут выполняться двумя или более компонентами. [00121] While in FIG. 9.1, 9.2 and 9.3 illustrate various component configurations, other configurations may be used without departing from the scope of this invention. For example, the various components in FIG. 9.1, 9.2 and 9.3 can be combined to create one component. As another example, functions performed by one component may be performed by two or more components.

[00122] Возвращаясь к фиг. 10, на фиг. 10 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 10 проиллюстрирован способ завершения работы сети. Один или более этапов на фиг. 10 могут быть выполнены посредством одного или более компонентов (например, диспетчера (950) завершения работы), как проиллюстрировано на фиг. 1, 2, 9.1, 9.2 и/или 9.3. В то время как различные этапы на фиг. 10 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [00122] Returning to FIG. 10 in FIG. 10 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 10 illustrates a method for shutting down a network. One or more steps in FIG. 10 may be performed by one or more components (eg, shutdown manager (950)), as illustrated in FIG. 1, 2, 9.1, 9.2 and/or 9.3. While the various steps in FIG. 10 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00123] На этапе 1000 в сети управления бурением получают запрос для инициализации завершения работы в соответствии с одним или более вариантами реализации изобретения. Например, пользователь может предоставить пользовательский ввод на устройстве пользователя в сети управления бурением для выполнения постепенного завершения работы. В ответ на пользовательский ввод устройство пользователя может передавать запрос на диспетчер завершения работы для инициализации процесса для завершения операций по всей сети управления бурением. Запрос может представлять собой сообщение, которое идентифицирует дату и/или время, а также то, какие системы управления и другие сетевые устройства назначены для завершения операций. В некоторых вариантах реализации изобретения диспетчер завершения работы аналогичен диспетчеру (950) завершения работы, проиллюстрированному выше на фиг. 9.1 и в прилагаемом описании. [00123] At step 1000, a request is received in the drilling control network to initiate shutdown in accordance with one or more embodiments of the invention. For example, a user may provide user input on a user's device in the drilling control network to perform graceful shutdown. In response to user input, the user device may send a request to the completion manager to initiate a process to complete operations throughout the drilling control network. The request may be a message that identifies the date and/or time, as well as which control systems and other network devices are assigned to complete operations. In some embodiments, the shutdown manager is similar to the shutdown manager (950) illustrated above in FIG. 9.1 and in the attached description.

[00124] В некоторых вариантах реализации изобретения диспетчер завершения работы автоматически инициирует завершение работы, если различные условия завершения работы, такие как условия окружающей среды (например, температура, влажность, конденсация и т. д.), сетевые условия и/или условия операций бурения превышают заданные эксплуатационные предельные значения одной или более виртуализированных систем (например, диспетчера служб виртуализации, различных контроллеров виртуализации и т. д.). Например, диспетчер завершения работы и/или диспетчер служб виртуализации может контролировать сеть управления бурением в отношении условий завершения работы. Если обнаружено конкретное условие завершения работы, диспетчер завершения работы может автоматически инициировать последовательность завершения работы сети управления бурением. Таким образом, диспетчер завершения работы может активировать постепенное завершение работы сети без вмешательства пользователя. В некоторых вариантах реализации изобретения диспетчер завершения работы может активировать завершение работы в случае прекращения подачи электропитания. Таким образом, диспетчер завершения работы может выполнять завершение работы сети перед тем, как какая-либо из систем исчерпает ресурс источника резервного электропитания. В некоторых вариантах реализации изобретения, например, после того, как диспетчер завершения работы обнаруживает, что операции бурения завершены, диспетчер завершения работы инициирует завершение работы.[00124] In some embodiments, the shutdown manager automatically initiates a shutdown if various shutdown conditions such as environmental conditions (e.g., temperature, humidity, condensation, etc.), network conditions, and/or drilling operation conditions exceed the specified operational limits of one or more virtualized systems (eg, virtualization service manager, various virtualization controllers, etc.). For example, the shutdown manager and/or the virtualization services manager may monitor the drilling control network regarding shutdown conditions. If a particular shutdown condition is detected, the shutdown manager may automatically initiate a drilling control network shutdown sequence. Thus, the shutdown manager can trigger a graceful network shutdown without user intervention. In some embodiments of the invention, the shutdown manager may activate shutdown in the event of a power outage. Thus, the shutdown manager can perform a network shutdown before either system runs out of backup power. In some embodiments of the invention, for example, after the shutdown manager detects that drilling operations have been completed, the shutdown manager initiates shutdown.

[00125] На этапе 1010 определяют одно или более времен завершения для диспетчера служб виртуализации, одного или более контроллеров виртуализации и/или одного или более устройств-хостов в соответствии с одним или более вариантами реализации изобретения. Диспетчер завершения работы может определять, когда различные программы системы программного обеспечения и сетевые устройства в сети управления бурением завершают операции. Кроме того, времена завершения могут соответствовать последовательности завершения работы, описанной с помощью порядка, в котором диспетчер завершения работы, диспетчер служб виртуализации, один или более контроллеров виртуализации и одно или более устройств-хостов завершают операции в сети управления бурением. В некоторых вариантах реализации изобретения, например, последовательность завершения работы назначает диспетчер завершения работы в качестве первой программы системы программного обеспечения или сетевого устройства для завершения операций. После завершения диспетчера завершения работы последовательность завершения работы может назначить диспетчер завершения работы следующим. После завершения диспетчера служб виртуализации последовательность завершения работы может назначить отдельный контроллер виртуализации следующим для завершения операций. После завершения работы контроллеров виртуализации устройство-хост может быть запланировано для завершения операций. В другом варианте реализации изобретения может использоваться другая последовательность завершения работы, например, когда в последовательности завершения работы одно устройство-хост завершает операции перед диспетчером служб виртуализации или диспетчером завершения работы. [00125] At 1010, one or more termination times are determined for the virtualization service manager, one or more virtualization controllers, and/or one or more host devices, in accordance with one or more embodiments of the invention. The shutdown manager may determine when various programs of the software system and network devices in the drilling control network complete operations. In addition, the completion times may correspond to a shutdown sequence described by the order in which the shutdown manager, virtualization services manager, one or more virtualization controllers, and one or more host devices complete operations on the drilling control network. In some embodiments, for example, the shutdown sequence designates the shutdown manager as the first program of the software system or network device to complete operations. After the completion of the shutdown manager, the shutdown sequence can designate the shutdown manager as next. After the Virtualization Services Manager completes, the shutdown sequence can designate an individual virtualization controller as the next one to complete operations. After the virtualization controllers are shut down, the host device can be scheduled to complete operations. In another embodiment of the invention, a different shutdown sequence may be used, such as where in the shutdown sequence one host device completes operations before the virtualization services manager or the shutdown manager.

[00126] В некоторых вариантах реализации изобретения времена завершения работы основываются на том, сколько ресурсов электропитания остается для различных аппаратных устройств в сети. Например, в ответ на прекращение подачи электропитания в сети один или более источников электропитания устройств-хостов могут сообщать диспетчеру завершения работы, сколько минут времени работы осталось для устройств-хостов. Затем диспетчер завершения работы может вычислить выделенный период времени для выполнения процесса завершения работы для каждой виртуальной машины, программного контейнера, диспетчера служб виртуализации, контроллеров виртуализации и т. д. до того, как любое из устройств будет обесточено. [00126] In some embodiments, shutdown times are based on how much power resources remain for various hardware devices on the network. For example, in response to a power outage on the network, one or more power supplies of the host devices can tell the shutdown manager how many minutes of uptime the host devices have left. The shutdown manager can then calculate an allocated period of time to complete the shutdown process for each virtual machine, software container, virtualization service manager, virtualization controllers, and so on, before any of the devices are powered down.

[00127] На этапе 1015 завершают различные службы виртуализации, связанные с одной или более виртуальными машинами и/или одним или более виртуальными контейнерами в соответствии с одним или более вариантами реализации изобретения. Например, диспетчер служб виртуализации и/или диспетчер завершения работы может осуществлять связь с виртуальными машинами и программными контейнерами для остановки служб виртуализации, которые выполняются виртуальными машинами и программными контейнерами. Службы виртуализации могут включать в себя критические процессы, в которых могут быть потеряны данные в результате жесткого или принудительного завершения работы критических процессов. [00127] At 1015, various virtualization services associated with one or more virtual machines and/or one or more virtual containers are terminated, in accordance with one or more embodiments of the invention. For example, a virtualization service manager and/or a shutdown manager may communicate with virtual machines and software containers to stop virtualization services that are running on the virtual machines and software containers. Virtualization services can include critical processes that can lose data as a result of hard or forced shutdown of critical processes.

[00128] На этапе 1020 завершают работу одной или более виртуальных машин и/или одного или более виртуальных контейнеров в соответствии с одним или более вариантами реализации изобретения. После завершения работы служб виртуализации на виртуальных машинах и/или программных контейнерах, например, диспетчер служб виртуализации и/или диспетчер завершения работы могут начать осуществлять связь с виртуальными машинами и/или программными контейнерами, чтобы обеспечить завершение работы виртуальных машин и/или программных контейнеров как части последовательности завершения работы. [00128] At 1020, one or more virtual machines and/or one or more virtual containers are shut down, in accordance with one or more embodiments of the invention. After the virtualization services on the virtual machines and/or software containers are terminated, for example, the virtualization services manager and/or shutdown manager may begin communicating with the virtual machines and/or software containers to ensure that the virtual machines and/or software containers are shut down as part of the shutdown sequence.

[00129] Если виртуальная машина и/или программный контейнер не могут завершить операции постепенно, например, произошел сбой нижележащего процесса для постепенного завершения работы, диспетчер завершения работы или диспетчер служб виртуализации может осуществить принудительное завершение работы виртуальной машины или программного контейнера. В частности, разница между принудительным завершением работы и постепенным завершением работы может включать в себя, то, что данные были успешно сохранены или потеряны/повреждены во время процесса завершения работы. [00129] If the virtual machine and/or software container cannot gracefully complete operations, for example, an underlying process fails to gracefully shut down, the shutdown manager or virtualization services manager may force shutdown the virtual machine or software container. In particular, the difference between a hard shutdown and a graceful shutdown may include whether data was successfully saved or lost/corrupted during the shutdown process.

[00130] На этапе 1030 передают различные команды завершения работы с временной задержкой, соответствующие одному или более временам завершения, для диспетчера служб виртуализации, одного или более контроллеров виртуализации и одного или более устройств-хостов в соответствии с одним или более вариантами реализации изобретения. В некоторых вариантах реализации изобретения, например, команда завершения работы с временной задержкой для устройства-хоста имеет время задержки: T+X+Y, где T является временем, когда диспетчер завершения работы завершает операции, X является временем, когда диспетчер служб виртуализации завершает операции, и Y является назначенным временем, когда контроллеры виртуализации завершили операции. Команда завершения работы с временной задержкой контроллера виртуализации может иметь время задержки: T+X. Аналогичным образом, команда завершения работы с временной задержкой диспетчера служб виртуализации может иметь время задержки T. Таким образом, команда завершения работы с временной задержкой может быть аналогичной команда завершения работы с временной задержкой, проиллюстрированной на фиг. 9.1 и описанной в прилагаемом описании. [00130] At 1030, various timed shutdown commands corresponding to one or more completion times are transmitted to the virtualization service manager, one or more virtualization controllers, and one or more host devices, in accordance with one or more embodiments of the invention. In some embodiments, for example, a timed shutdown command for a host device has a delay time of: T+X+Y, where T is the time the shutdown manager completes operations, X is the time the virtualization services manager completes operations , and Y is the scheduled time when the virtualization controllers completed operations. The virtualization controller timed shutdown command can have a delay time of T+X. Similarly, the time-delay shutdown command of the virtualization service manager may have a delay time T. Thus, the time-delay shutdown command may be similar to the time-delay shutdown command illustrated in FIG. 9.1 and described in the attached description.

[00131] В частности, диспетчер завершения работы может администрировать последовательность завершения работы с использованием команд завершения работы с временной задержкой, как проиллюстрировано ниже в примере на фиг. 12. С помощью процесса завершения работы сеть управления бурением может выполнить постепенное завершение работы, которое может позволить сети возобновить операции позже с минимальным риском повреждения данных и системы. [00131] In particular, the shutdown manager may administer the shutdown sequence using timed shutdown commands, as illustrated below in the example of FIG. 12. With the shutdown process, the drilling control network can perform a graceful shutdown, which can allow the network to resume operations later with minimal risk of data and system damage.

[00132] Обратимся к фиг. 12, на фиг. 12 представлен пример последовательности Q (1200) завершения работы. Следующий пример приводится исключительно с целью пояснения, а не ограничения объема изобретения. На фиг. 12 последовательность Q (1200) завершения работы содержит последовательные ряды событий (например, событие A (1205), событие B (1210), событие C (1220), событие D (1230), событие E (1240), событие F (1250) и событие G (1260). При событии A (1205) диспетчер X завершения работы обнаруживает событие согласованного завершения работы, например, прекращение подачи электропитания на буровую установку, заданное условие окружающей среды в отношении местоположения или устройства на буровой установке, и т. д. При событии B (1210) диспетчер X завершения работы передает команды завершения работы с временной задержкой на диспетчер Y завершения работы, различные контроллеры виртуализации и устройства-хосты. При событии C (1220) завершаются различные виртуальные машины и программные контейнеры, работающие в сети буровой установки. При событии D (1230) диспетчер X завершения работы завершает операции. При событии E (1240) диспетчер Y служб виртуализации завершает операции на основании времени в соответствующей команде завершения работы с временной задержкой. Как проиллюстрировано на фиг. 12, диспетчер Y служб виртуализации был назначен диспетчером служб виртуализации для остановки работы во временной период X (1201). При событии F (1250) контроллеры виртуализации останавливают работу в соответствии со временем в их соответствующих командах завершения работы с временной задержкой, например, во временной период Y (1202). При событии G (1260) устройства-хосты останавливают работу в соответствии со временем в их соответствующих командах завершения работы с временной задержкой, например, во временной период Z (1203). В отношении события E (1240), события F (1250) и события G (1260), они могут быть хорошо рассчитанными по времени событиями, когда периоды (1201, 1202, 1203) времени обеспечивают некоторое время для постепенного завершения работы этих компонентов. Однако, когда компоненты перестают отправлять ответ, так что служба не может быть завершена, последовательность Q (1200) завершения работы может перейти к следующему событию и соответственно прекратит исполнение неотвечающей службы. Таким образом, команды с временной задержкой для поэтапного согласованного завершения работы процесса после того, как диспетчер завершения работы уже завершил операции. Таким образом, завершение операций в событии C (1220), событии D (1230), событии E (1240), событии F (1250) и событии G (1260) может включать в себя постепенные завершения работы и/или принудительные завершения работы. [00132] Referring to FIG. 12, in FIG. 12 shows an example of a shutdown sequence Q (1200). The following example is given solely for the purpose of explanation and not limitation of the scope of the invention. In FIG. 12, the completion sequence Q (1200) contains successive series of events (for example, event A (1205), event B (1210), event C (1220), event D (1230), event E (1240), event F (1250) and event G (1260) At event A (1205), the shutdown manager X detects a consistent shutdown event, such as a rig power outage, a specified environmental condition for a location or device on the rig, etc. At event B (1210), shutdown manager X sends shutdown commands with a time delay to shutdown manager Y, various virtualization controllers, and host devices At event C (1220), various virtual machines and software containers running on the rig network are shut down On event D (1230), shutdown manager X ends operations On event E (1240), virtualization services manager Y finishes operations based on time according to to the current shutdown command with a time delay. As illustrated in FIG. 12, Virtualization Services Manager Y has been designated as Virtualization Services Manager to stop operation in time period X (1201). At event F (1250), the virtualization controllers stop operation according to the time in their respective shutdown commands with a time delay, for example, in time period Y (1202). At event G (1260), the host devices stop operation according to the time in their respective shutdown commands with a time delay, for example, in time period Z (1203). With respect to event E (1240), event F (1250) and event G (1260), they can be well-timed events where time periods (1201, 1202, 1203) provide some time for these components to gracefully shut down. However, when the components stop sending a response so that the service cannot be terminated, the shutdown sequence Q(1200) may move to the next event and terminate the unresponsive service accordingly. Thus, commands with a time delay for staged, consistent shutdown of a process after the shutdown manager has already completed operations. Thus, the completion of operations in Event C (1220), Event D (1230), Event E (1240), Event F (1250), and Event G (1260) may include graceful shutdowns and/or forced shutdowns.

[00133] В то время как последовательность Q (1200) завершения работы на фиг. 12 иллюстрирует одну последовательность событий для согласованного завершения работы, предусмотрена другая последовательность событий, которая содержит события, добавленные и/или удаленные из последовательности завершения работы. Аналогичным образом, операции различных компонентов могут быть завершены в порядке, отличном от последовательности Q (1200) завершения работы. [00133] While the shutdown sequence Q (1200) in FIG. 12 illustrates one sequence of events for consistent shutdown, another sequence of events is provided that contains events added to and/or removed from the shutdown sequence. Likewise, the operations of the various components may be completed in a different order from the shutdown sequence Q (1200).

[00134] В соответствии с фиг. 10, на этапе 1040 операции завершаются в диспетчере завершения работы в соответствии с одним или более вариантами реализации изобретения. После того, как команды завершения работы с временной задержкой передаются на различные сетевые устройства, диспетчер завершения работы может завершить какие-либо связанные с ним процессы. Например, диспетчер завершения работы может представлять собой виртуальную машину или программный контейнер, который может быть завершен диспетчером служб виртуализации. Если диспетчер завершения работы является аппаратным устройством, диспетчер завершения работы может подвергнуться жесткому завершению работы, которое прекращает электропитание диспетчера завершения работы. Диспетчер завершения работы может быть аналогичен диспетчеру завершения работы, представленному выше на фиг. 9.1 и в прилагаемом описании. [00134] Referring to FIG. 10, at block 1040, operations are completed in the shutdown manager, in accordance with one or more embodiments of the invention. After time-delayed shutdown commands are sent to various network devices, the shutdown manager can terminate any processes associated with it. For example, the shutdown manager may be a virtual machine or a software container that may be terminated by the virtualization services manager. If the shutdown manager is a hardware device, the shutdown manager may be subjected to a hard shutdown that cuts power to the shutdown manager. The shutdown manager may be similar to the shutdown manager shown above in FIG. 9.1 and in the attached description.

[00135] На этапе 1050 завершают операции в диспетчере служб виртуализации на основании команды завершения работы с временной задержкой в соответствии с одним или более вариантами реализации. Во время завершения, связанное с командой завершения работы с временной задержкой, диспетчер служб виртуализации может завершить какую-либо службу виртуализации, работающую по сети управления бурением, и самого себя. Диспетчер служб виртуализации может быть аналогичен диспетчеру служб виртуализации, представленному выше на фиг. 2A, 2B и/или 2C и в прилагаемом описании. [00135] In step 1050, operations are terminated in the virtualization service manager based on a timed shutdown command, in accordance with one or more embodiments. During the shutdown associated with the timed shutdown command, the virtualization service manager may shut down any virtualization service running over the drilling control network and itself. The Virtualization Services Manager may be similar to the Virtualization Services Manager shown above in FIG. 2A, 2B and/or 2C and in the accompanying description.

[00136] На этапе 1060 завершают операции в одном или более контроллерах виртуализации на основании одной или более команд завершения работы с временной задержкой в соответствии с одним или более вариантами реализации. Контроллеры виртуализации могут быть аналогичными контроллерам виртуализации, представленным выше на фиг. 9.1, 9.2 и/или 9.3 и в прилагаемом описании. [00136] At 1060, operations on one or more virtualization controllers are completed based on one or more time-delay shutdown commands, in accordance with one or more embodiments. The virtualization controllers may be similar to the virtualization controllers shown above in FIG. 9.1, 9.2 and/or 9.3 and in the accompanying description.

[00137] На этапе 1070 завершают операции в одном или более устройствах-хостах на основании одной или более команд завершения работы с временной задержкой в соответствии с одним или более вариантами реализации. Устройства-хосты могут быть аналогичными устройствам-хостам, представленным выше на фиг. 9.1, 9.2 и/или 9.3 и в прилагаемом описании. [00137] At 1070, operations are completed on one or more host devices based on one or more time-delay shutdown commands, in accordance with one or more embodiments. The host devices may be similar to the host devices shown above in FIG. 9.1, 9.2 and/or 9.3 and in the accompanying description.

[00138] В то время как операции на этапах 1020, 1040, 1050, 1060 и 1070 могут соответствовать постепенным завершениям работы, для завершения операций может использоваться одно или более принудительных завершений работы. Например, команда завершения работы с временной задержкой может активировать принудительное завершение работы контроллера виртуализации с помощью операционной системы хоста, завершающей ресурсы, связанные с контроллером виртуализации. Аналогичным образом, команда завершения работы с временной задержкой может также обеспечить инструкции для источника электропитания, который прекращает электропитание каких-либо аппаратных средств, связанных с устройством-хостом, виртуальной машиной и/или программным контейнером. [00138] While the operations at steps 1020, 1040, 1050, 1060, and 1070 may correspond to graceful shutdowns, one or more hard shutdowns may be used to complete the operations. For example, a timed shutdown command may force a forced shutdown of the virtualization controller with the host operating system terminating resources associated with the virtualization controller. Likewise, a timed shutdown command may also provide instructions to a power source that terminates power to any hardware associated with a host device, virtual machine, and/or software container.

[00139] Возвращаясь к фиг. 11, на фиг. 11 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 11 проиллюстрирован способ запуска сети управления бурением. Один или более этапов на фиг. 11 могут быть выполнены посредством одного или более компонентов (например, контроллером (933) виртуализации), как проиллюстрировано на фиг. 1, 2, 9.1, 9.2 и/или 9.3. В то время как различные этапы на фиг. 11 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [00139] Returning to FIG. 11 in FIG. 11 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 11 illustrates a method for starting a drilling control network. One or more steps in FIG. 11 may be performed by one or more components (eg, virtualization controller (933)), as illustrated in FIG. 1, 2, 9.1, 9.2 and/or 9.3. While the various steps in FIG. 11 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00140] На этапе 1100 инициируют операции на различных устройствах-хостах в соответствии с одним или более вариантами реализации изобретения. Например, на устройства-хосты может подаваться электропитание, при этом могут запускаться операционные системы хоста на устройствах-хостах. [00140] At 1100, operations are initiated on various host devices, in accordance with one or more embodiments of the invention. For example, host devices can be powered up and host operating systems can run on the host devices.

[00141] На этапе 1110 инициируют операции на различных контроллерах виртуализации, работающих на различных устройствах-хостах, в соответствии с одним или более вариантами реализации изобретения. Например, контроллеры виртуализации могут работать на устройствах-хостах в качестве операционной системы хоста или в качестве отдельного программного сценария. Соответственно, контроллер виртуализации может передавать и принимать информацию от других контроллеров виртуализации по сети управления бурением. [00141] At 1110, operations are initiated on various virtualization controllers running on various host devices, in accordance with one or more embodiments of the invention. For example, virtualization controllers can run on host devices as a host operating system or as a standalone software script. Accordingly, the virtualization controller can transmit and receive information from other virtualization controllers over the drilling control network.

[00142] На этапе 1120 определяют диспетчер служб виртуализации из числа различных контроллеров виртуализации в соответствии с одним или более вариантами реализации изобретения. На основании обмена данными среди контроллеров виртуализации в качестве диспетчера служб виртуализации может быть выбран один контроллер виртуализации. Процесс выбора может основываться на типах систем управления, работающих на устройствах-хостах посредством сети управления бурением. Например, контроллер виртуализации на устройстве-хосте с наименьшим количеством служебных данных может быть выбран в качестве диспетчера служб виртуализации. Выбранный диспетчер служб виртуализации может быть аналогичен выбранному диспетчеру служб виртуализации, представленному выше на фиг. 9.3 и в прилагаемом описании. [00142] At 1120, a virtualization service manager is determined from among various virtualization controllers, in accordance with one or more embodiments of the invention. Based on communication among the virtualization controllers, one virtualization controller can be selected as the virtualization service manager. The selection process may be based on the types of control systems operating on the host devices via the drilling control network. For example, the virtualization controller on the host device with the least overhead might be selected as the virtualization service manager. The selected Virtualization Services Manager may be similar to the selected Virtualization Services Manager shown above in FIG. 9.3 and in the attached description.

[00143] На этапе 1130 определяют одно или более времен инициализации служб для различных контроллеров виртуализации в соответствии с одним или более вариантами реализации изобретения. Например, диспетчер служб виртуализации может определять последовательность запуска для различных служб виртуализации, работающих в сети управления бурением, например, порядок формирования виртуальных машин и/или программных контейнеров для работы различных систем управления. Соответственно, времена инициализации могут быть аналогичными временам завершения работы, описанным на фиг. 10, так что различные операции запуска являются поэтапными. Соответственно, времена инициализации служб могут предоставлять диспетчеру служб виртуализации возможность проверки того, что конкретные виртуальные машины и/или программные контейнеры работают удовлетворительно перед тем, как будет сформирована следующая группа виртуальных машин и/или программных контейнеров. [00143] At 1130, one or more service initialization times are determined for various virtualization controllers, in accordance with one or more embodiments of the invention. For example, the virtualization services manager may determine the startup sequence for the various virtualization services running on the drilling control network, such as the order in which virtual machines and/or software containers are generated to operate the various control systems. Accordingly, the initialization times may be similar to the shutdown times described in FIG. 10 so that the various start-up operations are staged. Accordingly, service initialization times may provide the virtualization service manager with the opportunity to verify that particular virtual machines and/or software containers are operating satisfactorily before the next group of virtual machines and/or software containers is formed.

[00144] На этапе 1140 передают различные команды инициализации с временной задержкой на различные контроллеры виртуализации на основании различных времен инициализации служб в соответствии с одним или более вариантами реализации изобретения. Команды инициализации с временной задержкой могут быть аналогичными командам инициализации с временной задержкой, представленным выше на фиг. 9.3 и в прилагаемом описании. [00144] At 1140, different time delay initialization commands are sent to different virtualization controllers based on different service initialization times, in accordance with one or more embodiments of the invention. The time delay initialization instructions may be similar to the time delay initialization instructions shown above in FIG. 9.3 and in the attached description.

[00145] На этапе 1150 формируют различные виртуальные машины и/или программные контейнеры на основании различных времен инициализации служб в соответствии с одним или более вариантами реализации изобретения. [00145] At 1150, different virtual machines and/or software containers are generated based on different service initialization times, in accordance with one or more embodiments of the invention.

Структура кибербезопасностиStructure of cybersecurity

[00146] В целом, варианты реализации изобретения включают систему и различные способы для средств доступа в одной или более зонах безопасности. В частности, один или более вариантов реализации изобретения относятся к системе, которая содержит один или два канала, соединяющих две или более зон безопасности. Например, канал может обеспечить коммуникационный путь между сетевыми устройствами, расположенными в разных зонах безопасности. В некоторых вариантах реализации изобретения канал является временным каналом, который управляется инсталляционным сервером или контроллером виртуальных соединений. С помощью временного канала могут устанавливаться и завершаться временные виртуальные соединения, чтобы управлять авторизованным доступом к различным системам управления в зоне безопасности. Например, временный канал может ограничивать доступ к сетевому устройству определенными периодами времени и/или специально авторизованными сетевыми устройствами. [00146] In general, embodiments of the invention include a system and various methods for accessors in one or more security zones. In particular, one or more embodiments of the invention relate to a system that contains one or two channels connecting two or more security zones. For example, a channel may provide a communication path between network devices located in different security zones. In some embodiments of the invention, the channel is a temporary channel that is managed by an installation server or a virtual connection controller. With the help of a temporary channel, temporary virtual connections can be established and terminated in order to control authorized access to various control systems in the security zone. For example, a temporary channel may restrict access to a network device to certain periods of time and/or to specially authorized network devices.

[00147] Аналогичным образом, системы управления в сети управления бурением могут издавать данные по одному или более однонаправленным каналам. Например, сетевое устройство может подписываться на получение данных от соответствующей системы управления, которые предоставляются конкретным однонаправленным каналом. Когда соответствующая система управления осуществляет широковещательную передачу данных, какой-либо подписчик данных может принимать данные по однонаправленному каналу, соответственно. Однако, однонаправленный канал может препятствовать подписчикам передавать команды по коммуникационному пути в обратном направлении. Таким образом, подписчики ограничиваются пассивной ролью применительно к получению данных из однонаправленного канала. [00147] Similarly, control systems in a drilling control network may publish data over one or more bearers. For example, a network device may subscribe to receive data from an associated management system that is provided by a particular bearer. When the respective control system broadcasts data, any data subscriber may receive the data over a bearer, respectively. However, the unidirectional channel may prevent subscribers from sending commands over the communication path in the opposite direction. Thus, subscribers are limited to a passive role in relation to receiving data from a bearer.

[00148] На фиг. 13 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. Как проиллюстрировано на фиг. 13, сеть (1310) управления бурением может содержать человеко-машинный интерфейс (HMI) (например, HMI (1321)), сервер архивных данных, различные элементы сети (например, элементы Q (1323) сети, элементы R (1324) сети) и/или различные устройства пользователя (например, устройство M (1381) пользователя). Человеко-машинный интерфейс может быть аппаратными средствами и/или программным обеспечением, связанным с сетью (1310) управления бурением, и которое содержит функциональные средства для представления данных и/или приема входных данных от пользователя, относящихся к различным операциям бурения и/или операциям по техническому обслуживанию, выполняемым в сети (1310) управления бурением. Например, человеко-машинный интерфейс может включать в себя программное обеспечение для обеспечения графического интерфейса пользователя (GUI) для представления данных и/или приема команд управления для эксплуатации буровой установки. Сетевой элемент может относиться к различным компонентам аппаратных средств в сети, таким как коммутаторы, маршрутизаторы, концентраторы, оборудование пользователя или любые другие логические объекты для объединения одного или более физических устройств в сети. Устройства пользователя могут включать в себя персональные компьютеры, смартфоны, человеко-машинные интерфейсы и любые другие устройства, соединенные с сетью, которые получают входные данные от одного или более пользователей. В некоторых вариантах реализации изобретения сеть (1310) управления бурением соединяется с пользовательской сетью (например, пользовательской сетью (1330)). В частности, пользовательская сеть (1330) может содержать различные элементы сети (не показаны), устройства пользователя (например, устройство N (1382) пользователя, устройство O (1383) пользователя, устройство P (1384) пользователя) и/или оборудование пользователя на буровой площадке. Например, оборудование пользователя на буровой площадке может включать в себя телефонную сеть, персональные компьютеры, принтеры, серверы приложений и/или файловые серверы, расположенные около буровой установки. Сетевые элементы, человеко-машинный интерфейс (1321), оборудование пользователя на буровой площадке, устройства пользователя и/или сервер архивных данных могут быть вычислительными системами, подобными вычислительной системе (3400), представленной на фиг. 34.1 и 34.2, и описанной в прилагаемом описании. [00148] FIG. 13 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. As illustrated in FIG. 13, the drilling control network (1310) may include a human machine interface (HMI) (e.g., HMI (1321)), an archive server, various network elements (e.g., network elements Q (1323), network elements R (1324) ) and/or various user devices (eg, user device M (1381)). The human-machine interface may be hardware and/or software associated with the drilling control network (1310) and which contains functionality for presenting data and/or receiving input from a user related to various drilling and/or drilling operations. maintenance performed on the drilling control network (1310). For example, the human-machine interface may include software for providing a graphical user interface (GUI) for presenting data and/or receiving control commands for operating a drilling rig. A network element may refer to various hardware components in a network, such as switches, routers, hubs, user equipment, or any other logical entity for connecting one or more physical devices in a network. User devices may include personal computers, smartphones, human-machine interfaces, and any other devices connected to a network that receive input from one or more users. In some embodiments, the drilling control network (1310) is connected to a user network (eg, user network (1330)). In particular, the user network (1330) may comprise various network elements (not shown), user devices (e.g., user device N (1382), user device O (1383), user device P (1384)), and/or user equipment on drilling site. For example, user equipment at a well site may include a telephone network, personal computers, printers, application servers, and/or file servers located near the drilling rig. The network elements, human-machine interface (1321), wellsite user equipment, user devices, and/or the archive server may be computing systems similar to computing system (3400) shown in FIG. 34.1 and 34.2, and described in the accompanying description.

[00149] В одном или более вариантах реализации изобретения сеть (1310) управления бурением содержит буровое оборудование (например, противовыбросовый превентор (99), буровая установка (12) и другие компоненты, проиллюстрированные выше на фиг. 1 и в прилагаемом описании). Сеть (1310) управления бурением может дополнительно содержать системы управления (например, системы управления (1322)), такие как различные системы управления операциями бурения и различные системы управления техническим обслуживанием, которые являются детерминированными частями сети. Системы управления операциями бурения и/или системы управления техническим обслуживанием могут содержать, например программируемый логический контроллер (PLC), который содержит аппаратные средства и/или программное обеспечение с функциональными средствами для управления одним или более процессами, выполняемыми посредством буровой установки, включая, но, не ограничиваясь компонентами, проиллюстрированными на фиг. 1. В частности, программируемый логический контроллер может управлять состояниями вентилей, уровнями флюида, давлениями в трубе, сигналами тревоги и/или сбросами давления по всей буровой установке. [00149] In one or more embodiments, the drilling control network (1310) includes drilling equipment (eg, blowout preventer (99), drilling rig (12), and other components illustrated in FIG. 1 above and in the accompanying description). The drilling control network (1310) may further comprise control systems (eg, control systems (1322)), such as various drilling operations control systems and various maintenance control systems, which are deterministic parts of the network. Drilling operations control systems and/or maintenance management systems may include, for example, a programmable logic controller (PLC) that contains hardware and/or software with functionality to control one or more processes performed by a drilling rig, including, but, without being limited to the components illustrated in FIG. 1. In particular, the programmable logic controller may control valve states, fluid levels, pipe pressures, alarms, and/or depressurizations throughout the rig.

[00150] Кроме того, программируемый логический контроллер может быть компьютерной системой с повышенной устойчивостью к неблагоприятным условиям окружающей среды с функциональными средствами, позволяющими выдерживать вибрации, экстремальные температуры, влажные условия среды и/или пыльные условия среды, например, около буровой установки. Системы управления операциями бурения и/или системы управления техническим обслуживанием могут также относиться к системам управления, которые содержат множество PLC в сети управления бурением (1310). Кроме того, система управления может быть частью обратной связи сети управления бурением, которая содержит функциональные средства для управления операциями в пределах системы, блока и/или субблока, проиллюстрированных выше на фиг. 1 и в прилагаемом описании. PLC может передавать данные PLC (например, данные (1317) PLC) на одно или более устройств, соединенных с сетью (1310) управления бурением и/или пользовательской сетью (1330). Данные PLC могут включать в себя: результаты измерений датчиков, обновления состояния и/или информацию, относящуюся к операциям бурения и/или операциям по техническому обслуживанию, выполняемым в сети (1310) управления бурением, которые поступают из сети (1310) управления бурением. Аналогичным образом, одна или более систем (1322) управления может содержать функциональные средства для контроля и/или выполнения различных процессов бурения в отношении системы циркуляции бурового раствора, вращающейся системы, системы подачи труб и/или разных других буровых работ, проиллюстрированных в отношении фиг. 1 и в прилагаемом описании. [00150] Further, the programmable logic controller may be a ruggedized computer system with functionality to withstand vibration, extreme temperatures, wet environments, and/or dusty environments, such as near a drilling rig. Drilling operations control systems and/or maintenance management systems may also refer to control systems that comprise a plurality of PLCs in a drilling control network (1310). In addition, the control system may be part of a drilling control feedback network that contains functionality to control operations within the system, block and/or sub-block illustrated above in FIG. 1 and in the accompanying description. The PLC may transmit PLC data (eg, PLC data (1317)) to one or more devices connected to the drilling control network (1310) and/or user network (1330). The PLC data may include: sensor measurements, status updates, and/or information related to drilling operations and/or maintenance operations performed on the drilling control network (1310) that come from the drilling control network (1310). Likewise, one or more control systems (1322) may include functionality to control and/or perform various drilling operations with respect to a mud circulation system, a rotary system, a pipe supply system, and/or various other drilling operations illustrated with respect to FIG. 1 and in the accompanying description.

[00151] В одном или более вариантах реализации изобретения сеть (1310) управления бурением и/или пользовательская сеть (1330) делится на различные зоны безопасности (например, зона A (1361) безопасности, зона B (1362) безопасности, зона C (1363) безопасности, зона D (1364) безопасности зона E (1365) безопасности). В частности, зона безопасности может содержать аппаратные средства и/или программное обеспечение, которое содержит функциональные средства для обеспечения принудительного выполнения одной или более политик управления доступом для некоммуникационных средств в пределах части сети. Например, политика управления доступом может назначать, какие пользователи и/или типы пользователей могут иметь доступ к некоммуникационному средству, и/или способность выполнять одну или более функций, связанных с некоммуникационным средством. В некоторых вариантах реализации изобретения политика управления доступом относится к одному или более временным окнам, когда заданные пользователи имеют доступ к соответствующему некоммуникационному средству. В некоторых вариантах реализации изобретения политика управления доступом содержит различные правила, позволяющие сетевому устройству осуществлять доступ к одному или более утвержденным программным приложениям, устанавливать какие сетевые порты могут принимать данные через канал и/или назначать сетевые протоколы для использования утвержденных адресов Интернет протокола (IP) в пределах канала. [00151] In one or more embodiments of the invention, the drilling control network (1310) and/or user network (1330) is divided into different security zones (e.g., security zone A (1361), security zone B (1362), zone C (1363 ) security zone D (1364) security zone E (1365) security). In particular, the security zone may contain hardware and/or software that contains functionality to enforce one or more access control policies for non-communication facilities within a portion of the network. For example, an access control policy may designate which users and/or types of users may have access to the non-communication medium and/or the ability to perform one or more functions associated with the non-communication medium. In some embodiments of the invention, the access control policy refers to one or more time windows when given users have access to the corresponding non-communication facility. In some embodiments, an access control policy contains various rules that allow a network device to access one or more approved software applications, set which network ports can receive data over a channel, and/or assign network protocols to use approved Internet Protocol (IP) addresses in within the channel.

[00152] Некоммуникационные средства могут соответствовать человеко-машинным интерфейсам, буровому оборудованию, оборудованию пользователя, серверам, персональным компьютерам, различным элементам сети и/или различным сетевым устройствам. Аналогичным образом, зона безопасности может реализовывать политику управления доступом с использованием различных коммуникационных средств. Например, коммуникационные средства могут включать в себя аппаратные средства и/или программное обеспечение, которое содержит функциональные средства для передачи данных по коммуникационному пути, такие как маршрутизаторы, коммутаторы, персональные компьютеры и/или элементы сети. Принудительное выполнение различных политик управления доступом может включать в себя принудительное выполнение с использованием различных сетевых протоколов связи и принудительное выполнение, не связанное с сетью, например, конструктивно закрываемые телекоммуникационные шкафы, в которых расположены PLC, серверы, коммутаторы, межсетевые экраны и другое оборудование.[00152] The non-communication media may correspond to human-machine interfaces, drilling equipment, user equipment, servers, personal computers, various network elements, and/or various network devices. Likewise, a security zone may implement an access control policy using various communication means. For example, the communications media may include hardware and/or software that contains functionality for transmitting data over a communications path, such as routers, switches, personal computers, and/or network elements. Enforcement of various access control policies may include enforcement using various network communication protocols and non-network enforcement, such as telecom closets that contain PLCs, servers, switches, firewalls, and other equipment.

[00153] В некоторых вариантах реализации изобретения зоны безопасности дополнительно подразделяются на подзоны. Например, каждая подзона в зоне безопасности может иметь соответствующие политики управления доступом, характерные для подзоны и общие политики управления доступом, которые применяются к каждой подзоне в пределах зоны безопасности. Подзоны могут быть в отдельных широковещательных доменах в пределах конкретной зоны безопасности. [00153] In some embodiments of the invention, security zones are further subdivided into subzones. For example, each subzone within a security zone may have corresponding subzone-specific access control policies and general access control policies that apply to each subzone within the security zone. Subzones may be in separate broadcast domains within a particular security zone.

[00154] В одном или более вариантах реализации изобретения один или более каналов (например, однонаправленный канал A (1371), двунаправленный канал B (1372), временный канал (1373), двунаправленный канал D (1375)), соединяющих различные зоны безопасности. В частности, канал может включать в себя коммуникационные средства, которые реализуют один или более сетевых протоколов связи, работающие между различными зонами безопасности. Например, двунаправленный канал (например, двунаправленный канал B (1372)) может реализовывать политику управления доступом, которая обеспечивает аналогичные правила для передачи и приема данных сетевыми устройствами, расположенными в одной из двух зон безопасности, соединенных двунаправленным каналом. Например, устройство M (1381) пользователя может передавать и запрашивать одни и те же данные по двунаправленному каналу B (1372) как устройство O (1383) пользователя, которое расположено в разных зонах безопасности. [00154] In one or more embodiments of the invention, one or more channels (e.g., Bearer A (1371), Bidirectional Channel B (1372), Temporary Channel (1373), Bidirectional Channel D (1375)) connecting different security zones. In particular, the channel may include communication means that implement one or more network communication protocols operating between different security zones. For example, a bidirectional channel (eg, bidirectional channel B (1372)) may implement an access control policy that enforces similar rules for transmitting and receiving data by network devices located in one of two security zones connected by a bidirectional channel. For example, user device M (1381) may transmit and request the same data on bi-directional channel B (1372) as user device O (1383), which is located in different security zones.

[00155] В некоторых вариантах реализации изобретения сеть (1310) управления бурением и/или пользовательская сеть (1330) содержит однонаправленный канал (например, однонаправленный канал A (1371)). Однонаправленный канал может реализовывать протокол управления доступом, который ограничивает передачу некоторых типов данных в одном направлении в пределах сети. Например, однонаправленный канал может обеспечивать передачу определенных типов данных датчика в заданную зону безопасности, при этом предотвращая прием некоторых типов данных, например, настроек параметров, команд управления и т. д. из той же зоны безопасности. Как проиллюстрировано на фиг. 13, устройство N (1382) пользователя может считывать данные (1317) PLC от систем (1322) управления, но не может передавать команды управления, оказывающие влияние на тип данных PLC, отправленных системами (1322) управления. [00155] In some embodiments, the drilling control network (1310) and/or user network (1330) contains a bearer (eg, bearer A (1371)). A bearer may implement an access control protocol that restricts the transmission of certain types of data in one direction within a network. For example, a bearer may allow certain types of sensor data to be sent to a given security zone while preventing certain types of data, such as parameter settings, control commands, etc., from being received from the same security zone. As illustrated in FIG. 13, user device N (1382) can read PLC data (1317) from control systems (1322), but cannot transmit control commands affecting the type of PLC data sent by control systems (1322).

[00156] В некоторых вариантах реализации изобретения сеть (1310) управления бурением и/или пользовательская сеть (1330) содержит один или более временных каналов (например, временный канал C (1375)), соединяющий две или более зон безопасности. В одном или более вариантах реализации изобретения временный канал представляет собой коммутируемое виртуальное соединение. Например, коммутируемое виртуальное соединение может содержать аппаратные средства и/или программное обеспечение в зоне безопасности в сети (1310) управления бурением и другую зону безопасности в пользовательской сети (1330) для реализации виртуального соединения. Таким образом, когда коммутируемое виртуальное соединение находится в состоянии «разомкнуто», виртуальное соединение не может быть установлено через временный канал. Когда коммутируемое виртуальное соединение находится в состоянии «замкнуто», образуется виртуальное соединение, которое соответствует временному виртуальному каналу. Затем временный виртуальный канал может обеспечить передачу сетевого трафика, такого как данные PLC, между двумя зонами безопасности. В частности, состояние по умолчанию коммутируемого виртуального может иметь место, когда две зоны безопасности разъединены до тех пор, пока авторизованный пользователь и/или устройство пользователя не запросит доступ. В некоторых вариантах реализации изобретения виртуальное соединение по временному каналу завершается во время операций бурения, выполняемых одной или более системами управления, при этом виртуальное соединение может быть установлено, когда в сети управления бурением отсутствуют операции бурения. [00156] In some embodiments, the drilling control network (1310) and/or the user network (1330) comprises one or more time channels (eg, time channel C (1375)) connecting two or more safety zones. In one or more embodiments of the invention, the temporary channel is a switched virtual connection. For example, a switched virtual connection may include hardware and/or software in a security zone in the drilling control network (1310) and another security zone in the user network (1330) to implement the virtual connection. Thus, when the switched virtual connection is in the "open" state, the virtual connection cannot be established through the temporary channel. When a switched virtual connection is in the "closed" state, a virtual connection is formed that corresponds to a temporary virtual circuit. The temporary virtual circuit can then carry network traffic, such as PLC data, between the two security zones. In particular, the default switched virtual state may occur when two security zones are disconnected until an authorized user and/or user device requests access. In some embodiments of the invention, the virtual connection over the time channel is terminated during drilling operations performed by one or more control systems, and the virtual connection can be established when there are no drilling operations in the drilling control network.

[00157] В некоторых вариантах реализации изобретения временный канал управляется контроллером виртуальных соединений (например, контроллером (1343) виртуальных соединений). Контроллер виртуальных соединений может содержать аппаратные средства и/или программное обеспечение, которое содержит функциональные средства для установления виртуального соединения по временному каналу. Виртуальное соединение может быть, например, соединением канального уровня между двумя соседними коммуникационными средствами, например, такими как физический канал передачи данных, который содержит коммутаторы, расположенные в разных зонах безопасности. В других вариантах реализации изобретения виртуальное соединение может быть соединением «точка-точка» через множество узлов сети. Кроме того, контроллер (1343) виртуальных соединений может представлять собой виртуальную машину (VM) или физический сетевой элемент, расположенный в сети (1310) управления бурением и/или пользовательской сети (1330). Например, контроллер (1343) виртуальных соединений может быть инсталляционным сервером или сетевым элементом, который устанавливает связь с инсталляционным сервером. В одном или более вариантах реализации изобретения, например, контроллер (1343) виртуальных соединений содержит функциональные средства для включения питания и/или выключения питания инсталляционного сервера, который обеспечивает связь с сетевыми устройствами в конкретной зоне безопасности.[00157] In some embodiments of the invention, the temporary channel is controlled by a virtual connection controller (eg, virtual connection controller (1343)). The virtual connection controller may contain hardware and/or software that contains functionality for establishing a virtual connection over a time channel. A virtual connection may be, for example, a link layer connection between two adjacent communication media, such as, for example, a physical data link that contains switches located in different security zones. In other embodiments of the invention, the virtual connection may be a point-to-point connection through a plurality of network nodes. In addition, the virtual connection controller (1343) may be a virtual machine (VM) or a physical network element located in the drilling control network (1310) and/or the user network (1330). For example, the virtual connection controller (1343) may be an installation server or a network element that communicates with the installation server. In one or more embodiments of the invention, for example, the virtual connection controller (1343) contains the functionality to power on and/or power off the installation server that provides communication with network devices in a particular security zone.

[00158] В некоторых вариантах реализации изобретения зона безопасности содержит один или более внутренних каналов (например, внутренний канал E (1374)). Например, внутренний канал может принудительно выполнять одну или более политик управления доступом между двумя или более некоммуникационными средствами в пределах одной зоны безопасности, например осуществление связи, управляемой конкретной политикой управления доступом между двумя программными приложениями, работающими в пределах одной зоны безопасности или одной подзоне. Например, внутренний канал может принудительно выполнять политику управления доступом между системой управления, управляемой сетью управления бурением и сетевым устройством, предоставленным сторонним поставщиком, которое находится за пределами управления сети управления бурением. [00158] In some embodiments of the invention, the security zone contains one or more internal channels (for example, internal channel E (1374)). For example, an internal channel may enforce one or more access control policies between two or more non-communicating entities within the same security zone, such as a communication governed by a particular access control policy between two software applications operating within the same security zone or one subzone. For example, an internal channel may enforce an access control policy between a control system controlled by the drilling control network and a network device provided by a third party vendor that is outside the control of the drilling control network.

[00159] В другом варианте реализации изобретения две системы управления, расположенные в одной и той же зоне безопасности или подзоне, осуществляют связь по внутреннему каналу. Например, системы управления в пределах зоны безопасности могут быть расположены в одном и том же широковещательном домене. Таким образом, может оказаться невозможным реализовать межсетевой экран или другую коммуникационную инфраструктуру, которая принудительно выполняет политику управления доступом между двумя системами управления. Поэтому, внутренний канал может реализовывать фильтрацию IP-адресов, фильтрацию портов и/или другой тип сетевой фильтрации для принудительного осуществления безопасной связи между двумя системами управления. Аналогичным образом, когда функциональные ограничения сети не позволяют разделить сетевые устройства на разные зоны или подзоны, такие как в случае, когда сетевые устройства управляются разными группами сторонних лиц, связь может оставаться безопасной. [00159] In another embodiment of the invention, two control systems located in the same security zone or subzone communicate over an internal channel. For example, control systems within a security zone may be located in the same broadcast domain. Thus, it may not be possible to implement a firewall or other communications infrastructure that enforces an access control policy between two control systems. Therefore, the internal link may implement IP address filtering, port filtering, and/or other type of network filtering to enforce secure communication between the two control systems. Similarly, when the network devices' functional limitations do not allow the network devices to be divided into different zones or sub-zones, such as when the network devices are managed by different groups of third parties, communications can remain secure.

[00160] В некоторых вариантах реализации изобретения канал соединяет зону безопасности с другой зоной безопасности, которая расположена за пределами сети (1310) управления бурением и пользовательской сети (1330). Например, как проиллюстрировано на фиг. 13, зона F (1366) безопасности соответствует Интернету (1350). В частности, удаленное устройство (1385) пользователя может осуществлять связь по двунаправленному каналу D (1375) с устройством N (1382) пользователя, которое расположено в зоне C (1363) безопасности, расположенной в пользовательской сети (1330). [00160] In some embodiments of the invention, the channel connects a security zone to another security zone that is located outside the drilling control network (1310) and the user network (1330). For example, as illustrated in FIG. 13, security zone F (1366) corresponds to the Internet (1350). In particular, a remote user device (1385) can communicate on a bi-directional channel D (1375) with a user device N (1382), which is located in a security zone C (1363) located in a user network (1330).

[00161] Хотя на фиг. 13 проиллюстрированы различные конфигурации компонентов, могут использоваться другие конфигурации, не выходя за пределы объема данного изобретения. Например, различные компоненты в соответствии с фиг. 13 могут быть объединены для создания одного компонента. В качестве другого примера, функции, выполняемые одним компонентом, могут выполняться двумя или более компонентами. [00161] Although in FIG. 13 illustrates various component configurations, other configurations may be used without departing from the scope of the present invention. For example, various components according to FIG. 13 can be combined to create one component. As another example, functions performed by one component may be performed by two or more components.

[00162] Обратимся к фиг. 14, на фиг. 14 представлен пример структуры (1400) зоны безопасности для одной или более сетей. Следующий пример приводится исключительно с целью пояснения, но не ограничения объема изобретения. На фиг. 14 структура (1400) зоны безопасности содержит зону (1461) безопасности сети управления, которая содержит подзону (1411) системы управления и подзону (1412) управления протоколом промежуточного программного обеспечения. Системы в зоне (1461) безопасности сети управления и соответствующих подзонах могут действовать в соответствии с различными политиками управления доступом, которые включают выделение объема для хранения и вычислительной мощности и не могут использоваться совместно с какой-либо другой зоной безопасности. В подзоне (1411) системы управления системы управления могут иметь быстрые контуры управления (например, до 1 кГц), которые могут поддерживаться в детерминированной вычислительной среде. Подзона (1411) системы управления может иметь самый высокий уровень безопасности в пределах структуры (1400) зоны безопасности. Например, крайние сроки циклов управления в подзоне (1411) системы управления могут влиять на доступность данных, в результате чего данные могут быть труднодоступными из-за увеличения задержки в сети или джиттера сети. Канал между подзоной (1411) системы управления и подзоной (1412) управления протоколами промежуточного программного обеспечения может быть реализован с помощью программно-совместимого PLC (IPC) или межсетевого шлюза для платформы без операционной системы, который преобразует сетевые протоколы, такие как EtherNet/IP, Profinet, Profibus, Modbus TCP/IP или EtherCat в протокол промежуточного программного обеспечения. Логическая часть программно-совместимого PLC может отображать соответственно адреса памяти шины локального управления в разделах протокола промежуточного программного обеспечения и обратно, например, придерживаясь подхода «белого» списка. В подзоне (1412) управления протоколами промежуточного программного обеспечения один или более протоколов промежуточного программного обеспечения могут использоваться для координации различных систем управления. Например, различные средства в подзоне (1412) управления протоколами промежуточного программного обеспечения могут взаимодействовать между управлением оборудованием и управлением процессом строительства скважины. В данном случае циклы управления могут быть циклами обратной связи, которые работают на высоких частотах данных (например, вплоть до 1 кГц) и могут работать асинхронно в менее жестком режиме реального времени. [00162] Referring to FIG. 14, in FIG. 14 shows an example of a security zone design (1400) for one or more networks. The following example is given solely for the purpose of explaining and not limiting the scope of the invention. In FIG. 14, the security zone structure (1400) comprises a control network security zone (1461), which contains a control system subzone (1411) and a middleware protocol control subzone (1412). Systems in the control network security zone (1461) and corresponding subzones may operate in accordance with various access control policies, which include allocation of storage and computing power, and cannot be shared with any other security zone. In sub-zone (1411) control systems control systems may have fast control loops (for example, up to 1 kHz), which can be supported in a deterministic computing environment. The subzone (1411) of the control system may have the highest level of security within the structure (1400) of the security zone. For example, the control cycle deadlines in the control system subzone (1411) may affect the availability of data, whereby the data may be difficult to access due to increased network delay or network jitter. The link between the control system subzone (1411) and the middleware protocol control subzone (1412) can be implemented using a software-compatible PLC (IPC) or non-OS platform gateway that converts network protocols such as EtherNet/IP, Profinet, Profibus, Modbus TCP/IP or EtherCat to middleware protocol. The logic part of a software-compatible PLC can map local control bus memory addresses to and from middleware protocol sections, respectively, for example, following a white list approach. In the middleware protocol management subzone (1412), one or more middleware protocols may be used to coordinate various control systems. For example, various means in the middleware protocol control subzone (1412) may interact between equipment control and well construction process control. In this case, the control loops may be feedback loops that operate at high data rates (eg, up to 1 kHz) and may operate asynchronously in less harsh real time.

[00163] Кроме того, структура (1400) зоны безопасности дополнительно содержит зону (1462) безопасности контроля и управления сети управления (CNSO, control network supervisory and operator), которая содержит подзону (1421) человеко-машинного интерфейса системы управления (CSHMI, control system human machine interface) и подзону (1422) контроля протокола промежуточного программного обеспечения. Зона (1462) безопасности CNSO может содержать интерфейсы для диспетчерского управления, например, людьми-операторами или алгоритмами, которым предоставляется такой же доступ, как и людям-операторам. Таким образом, подзона (1421) CSHMI содержит интерфейс системы управления для людей-операторов, например джойстик, сенсорную панель и/или сенсорные экраны. В частности, кресло бурильщика может находиться в подзоне (1421) CSHMI. Канал, соединяющий подзону (1421) CSHMI и подзону (1412) управления протоколом промежуточного программного обеспечения, может дать людям-операторам возможность взаимодействовать с представлениями оборудования на основании протокола промежуточного программного обеспечения (например, описанием, функциональными возможностями, калибровкой и т. д.). Канал может соответственно предоставлять различным сетевым устройствам различные функциональные возможности управления. Аналогичным образом, пользователи протокола промежуточного программного обеспечения могут проходить аутентификацию посредством различных сертификатов безопасности. В данном случае функциональные возможности подписки и/или доступа к данным могут быть поделены на сегменты с помощью доменов протокола промежуточного программного обеспечения. Например, двунаправленный канал может соединять подзону (1422) контроля протокола промежуточного программного обеспечения и подзону (1412) управления протоколами промежуточного программного обеспечения. Этот двунаправленный канал может предоставлять координированным алгоритмам управления дифференцированный доступ к данным датчика и функциональную возможность управления для одной или более систем управления. [00163] In addition, the security zone structure (1400) further comprises a control network supervisory and operator (CNSO, control network supervisory and operator) security zone (1462), which contains a subzone (1421) of the control system human-machine interface (CSHMI, control system human machine interface) and a middleware protocol control subzone (1422). The CNSO security zone (1462) may contain interfaces for supervisory control, for example, by human operators or algorithms, which are given the same access as human operators. Thus, the CSHMI subzone (1421) contains a control system interface for human operators, such as a joystick, touch pad and/or touch screens. In particular, the driller's seat may be located in the CSHMI subzone (1421). A channel connecting the CSHMI subzone (1421) and the middleware protocol control subzone (1412) may allow human operators to interact with hardware representations based on the middleware protocol (e.g., description, functionality, calibration, etc.) . The channel may respectively provide different control functionality to different network devices. Likewise, users of the middleware protocol can be authenticated with various security certificates. In this case, the subscription and/or data access functionality can be segmented using middleware protocol domains. For example, a bidirectional channel may connect the middleware protocol control subzone (1422) and the middleware protocol control subzone (1412). This bi-directional channel may provide coordinated control algorithms with differentiated access to sensor data and control functionality for one or more control systems.

[00164] В соответствии с зоной (1462) безопасности CNSOS, подзона (1422) контроля протокола промежуточного программного обеспечения может содержать различные усовершенствованные алгоритмы координированного управления на основании протокола промежуточного программного обеспечения, которые выполняются в мягком реальном времени. Что касается политик управления доступом в подзоне (1422) контроля протокола промежуточного программного обеспечения, различные вычислительные среды могут быть разделены посредством гипервизора виртуализации и/или физического разделения. Функциональная возможность управления и/или доступ к данным также могут быть сегментированы посредством доменов протокола промежуточного программного обеспечения. [00164] In accordance with the CNSOS security zone (1462), the middleware protocol control subzone (1422) may contain various advanced coordinated control algorithms based on the middleware protocol that are executed in soft real time. With regard to access control policies in the middleware protocol control subzone (1422), different computing environments can be separated by virtualization hypervisor and/or physical separation. Control functionality and/or data access may also be segmented via middleware protocol domains.

[00165] В соответствии с фиг. 14, структура (1400) зоны безопасности дополнительно содержит защищенную зону (1463) безопасности, которая содержит подзону (1431) управления конфигурированием, подзону (1432) приложения поддержки управления, подзону (1433) голосовой связи и телевизионного системы замкнутого типа (closed-circuit television; CCTV) и подзону (1434) системы регистрации персонала. В частности, защищенная зона (1463) безопасности может содержать инфраструктуру поддержки, которая дополняет средства в зоне (1461) безопасности сети управления и зоне (1462) безопасности CNSOS. Например, политики управления доступом в защищенной зоне (1463) безопасности могут включать в себя активное исправление операционной системы для устройств с MAC-адресами, которые заносятся в «белый» список в точках физического сетевого соединения. Каналы в пределах защищенной зоны (1463) безопасности и каналы, которые выходят из этой зоны, могут проходить аутентификацию с помощью сертификатов безопасности (например, протокола промежуточного программного обеспечения, HTTPS) вместе с углубленным анализом пакетов управляемого межсетевого экрана. [00165] Referring to FIG. 14, the security zone structure (1400) further comprises a secure security zone (1463), which contains a configuration management subzone (1431), a control support application subzone (1432), a voice communication subzone (1433), and a closed-circuit television system (1433). ; CCTV) and subzone (1434) of the personnel registration system. In particular, the protected security zone (1463) may contain a support infrastructure that complements the facilities in the control network security zone (1461) and the CNSOS security zone (1462). For example, security access control policies (1463) may include active operating system patching for devices with MAC addresses that are whitelisted at physical network connection points. Channels within the protected security zone (1463) and channels that leave that zone can be authenticated with security certificates (eg, middleware protocol, HTTPS) along with managed firewall packet sniffing.

[00166] В соответствии с защищенной зоной (1463) безопасности, подзона (1434) системы регистрации персонала может быть тем местом, где определяются и поддерживаются локальные роли для различных зон и подзон безопасности. Подзона (1432) приложения поддержки управления может содержать системы, которым поручено управлять обновлениями и модификациями систем управления в зоне (1461) безопасности сети управления. Например, временный канал может соединять подзону (1432) приложения поддержки управления и подзону (1411) системы управления. После одобрения (например, назначенного временного окна) временному каналу может быть разрешена передача обновлений программного обеспечения, микропрограммного обеспечения и/или конфигурации из подзоны (1432) приложения поддержки управления в системы управления в подзоне (1411) системы управления. Аналогичным образом, временный канал может включать многофакторную аутентификацию для доступа. [00166] In accordance with the protected zone (1463) security, subzone (1434) of the personnel registration system may be the place where local roles are defined and maintained for various zones and subzones of security. The management support application subarea (1432) may contain systems tasked with managing updates and modifications to management systems in the management network security area (1461). For example, the temporary channel may connect the control support application subzone (1432) and the control system subzone (1411). Upon approval (eg, an assigned time window), the time channel may be allowed to transmit software, firmware, and/or configuration updates from the control support application subzone (1432) to the control systems in the control system subzone (1411). Likewise, the temporary channel may include multi-factor authentication for access.

[00167] Кроме того, структура (1400) зоны безопасности дополнительно содержит зону (1464) безопасности приложений процесса, которая содержит подзону (1441) информации о процессе и подзону (1442) управления процессом. Зона (1464) безопасности приложений процесса может содержать сетевые устройства, принимающие решения по управлению процессом с участием пользователей и не связанных с буровой установкой компонентов. В некоторых вариантах реализации изобретения однонаправленный канал может позволить приложениям и технологическим процессам в подзоне (1441) информации о процессе использовать данные из подзоны (1412) управления протоколами промежуточного программного обеспечения. В подзоне (1441) информации о процессе сетевые устройства могут подписываться только на информацию, передаваемую подзоной (1412) управления протоколами промежуточного программного обеспечения. Например, устройство датчика или система управления могут издавать данные, которые передаются по однонаправленному каналу и принимаются одним или более подписчикам в подзоне (1441) информации о процессе. В частности, один или более сетевых протоколов связи, связанных с однонаправленным каналом, могут реализовывать архитектуру программного обеспечения, которая обеспечивает модель издания-подписки среди различных сетевых устройств, находящихся в подзоне (1412) протокола промежуточного программного обеспечения и/или соединенных с ней. В случае, когда соответствующее сетевое устройство или компонент соответствующего сетевого устройства является подписчиком для конкретного устройства датчика или системы управления, данные из устройства датчика или системы управления могут передаваться по однонаправленному каналу. В случае, когда устройство датчика имеет пять подписчиков, например, данные датчика из устройства датчика могут передаваться каждому из пяти подписчиков каждый раз, когда осуществляется широковещательная передача данных датчика по однонаправленному каналу. Таким образом, устройство датчика может выступать в качестве издателя в модели издания-подписки. В некоторых вариантах реализации изобретения сеть управления бурением использует сертификат безопасности для аутентификации устройства перед тем, как ему будет разрешено издавать или подписываться в однонаправленном канале. [00167] In addition, the security zone structure (1400) further comprises a process application security zone (1464), which contains a process information subzone (1441) and a process control subzone (1442). The process application security zone (1464) may contain network devices that make process control decisions involving users and non-rig related components. In some embodiments, the bearer may allow applications and processes in the process information subzone (1441) to use data from the middleware protocol control subzone (1412). In the process information subzone (1441), network devices can only subscribe to information transmitted by the middleware protocol control subzone (1412). For example, a sensor device or control system may emit data that is transmitted over a bearer and received by one or more subscribers in a process information subzone (1441). In particular, one or more network communication protocols associated with a bearer may implement a software architecture that provides a publish-subscribe model among various network devices residing in and/or connected to the middleware protocol subzone (1412). In the case where the respective network device or component of the respective network device is a subscriber for a particular sensor device or control system, data from the sensor device or control system may be transmitted over a unidirectional channel. In the case where the sensor device has five subscribers, for example, sensor data from the sensor device may be transmitted to each of the five subscribers each time the sensor data is broadcast on a bearer. Thus, the sensor device can act as a publisher in a publish-subscribe model. In some embodiments, the drilling control network uses a security certificate to authenticate a device before it is allowed to issue or subscribe on a bearer.

[00168] В подзоне (1442) управления процессом сетевые устройства могут реализовывать службы механизмов управления, которым предоставляются различные функциональные возможности управления. Эта зона может быть ограничена функциональной возможностью управления, предоставленной через домен протокола промежуточного программного обеспечения. [00168] In the process control subzone (1442), network devices may implement control mechanism services that are provided with various control functionality. This zone may be limited by the control functionality provided through the middleware protocol domain.

[00169] Структура (1400) зоны безопасности дополнительно содержит зону (1465) безопасности сети периметра, которая содержит демилитаризованную (DMZ, demilitarized) подзону (1451) управления конфигурированием, подзону (1452) управления инфраструктурой, подзону (1453) голосовой связи и прокси CCTV и подзону (1454) локального доступа. Зона (1465) безопасности сети периметра может соответствовать некоммуникационным средствам, расположенным в сети периметра. Например, сеть периметра может быть логической или физической подсетью сети управления бурением и/или пользовательской сети, которая подвергает внешние серверы организации воздействию ненадежной сети, например Интернета и/или сети предприятия. Зона (1465) безопасности сети периметра может иметь относительно низкий уровень безопасности в структуре (1400) зоны безопасности и может соединяться с каналами, которые взаимодействуют с системами управления в сети управления бурением и с не связанными с буровой установкой компонентами. [00169] The security zone structure (1400) further comprises a perimeter network security zone (1465), which contains a demilitarized (DMZ, demilitarized) configuration management subzone (1451), an infrastructure management subzone (1452), a voice communication subzone (1453), and a CCTV proxy and a local access subzone (1454). The perimeter network security zone (1465) may correspond to non-communication facilities located in the perimeter network. For example, a perimeter network may be a logical or physical subnet of a drilling control network and/or a user network that exposes the organization's external servers to an untrusted network, such as the Internet and/or a company network. The perimeter network security zone (1465) may have a relatively low security level within the security zone structure (1400) and may be connected to channels that interact with control systems in the drilling control network and non-rig components.

[00170] По-прежнему в соответствии с фиг. 14 структура (1400) зоны безопасности дополнительно содержит зону (1466) безопасности сети предприятия, которая содержит подзону (1455) корпоративного общедоступного облака, подзону (1456) гостевого доступа, подзону (1457) пользователей сети и подзону (1458) ролевой стационарной станции. Зона (1466) безопасности сети предприятия может соответствовать сети предприятия, которая может соединять устройства пользователя и сетевые устройства в различных отделах и сетях рабочих групп. Например, сеть предприятия может быть объединяющей магистралью организации, которая предоставляет коммуникационные и сетевые ресурсы сотрудникам и гостям во многих различных отделах. За пределами зоны (1466) безопасности сети предприятия находится зона (1467) безопасности Интернета, которая содержит не прошедшую аутентификацию подзону (1471) Интернета и подзону (1472) общедоступного облака. [00170] Still in accordance with FIG. 14, the security zone structure (1400) further comprises an enterprise network security zone (1466), which contains a corporate public cloud subzone (1455), a guest access subzone (1456), a network users subzone (1457), and a role fixed station subzone (1458). An enterprise network security zone (1466) may correspond to an enterprise network that may connect user devices and network devices in various departments and workgroup networks. For example, an enterprise network may be the backbone of an organization that provides communication and networking resources to employees and guests in many different departments. Outside the enterprise network security zone (1466) is the Internet security zone (1467), which contains an unauthenticated Internet subzone (1471) and a public cloud subzone (1472).

[00171] В то время как в отношении зон безопасности и подзон структуры (1400) зоны безопасности в соответствии с фиг. 14 рассматриваются различные каналы, специалист в данной области техники должен знать в свете раскрытой технологии, что один или более однонаправленных каналов, один или более двунаправленных каналов и/или один или более временных каналов могут соединять любые две зоны безопасности или подзоны структуры (1400) зоны безопасности. Аналогичным образом, один или более внутренних каналов могут быть расположены в любой зоне безопасности и/или подзоне безопасности структуры (1400) зоны безопасности. [00171] While with respect to the security zones and subzones of the security zone structure (1400) in accordance with FIG. 14 discusses various channels, one skilled in the art should be aware in light of the disclosed technology that one or more unidirectional channels, one or more bidirectional channels, and/or one or more time channels can connect any two security zones or subzones of the zone structure (1400). security. Similarly, one or more internal channels may be located in any security zone and/or security subzone of the security zone structure (1400).

[00172] Возвращаясь к фиг. 15, на фиг. 15 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 15 проиллюстрирован способ для средств доступа в одной или более зонах безопасности, расположенных в сети управления бурением и/или пользовательской сети. Один или более этапов на фиг. 15 могут быть выполнены посредством одного или более компонентов (например, контроллером (1343) виртуальных соединений), как проиллюстрировано на фиг. 1, 2, 13 и/или 14. В то время как различные этапы на фиг. 15 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [00172] Returning to FIG. 15, in FIG. 15 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 15 illustrates a method for accessors in one or more security zones located in a drilling control network and/or a user network. One or more steps in FIG. 15 may be performed by one or more components (eg, a virtual connection controller (1343)), as illustrated in FIG. 1, 2, 13 and/or 14. While the various steps in FIG. 15 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00173] На этапе 1500 запрос на доступ к данным в зоне Y безопасности поступает от сетевого устройства в зоне X безопасности в соответствии с одним или более вариантами реализации изобретения. Например, сетевое устройство может быть устройством пользователя, которое передает запрос в контроллер виртуальных соединений, управляющий каналом между указанными зонами. Устройство пользователя может быть локально подключено в пользовательской сети и/или сети управления бурением и/или удаленно подключено к контроллеру виртуальных соединений, например, через Интернет. Аналогичным образом, устройство пользователя может быть системой управления или одним или более элементами сети, расположенными в пользовательской сети или сети управления бурением. Например, система управления может запрашивать данные из одной или более других систем управления для выполнения алгоритма, связанного с конкретной операцией бурения. Зона X безопасности и/или зона Y безопасности могут быть аналогичны зонам безопасности, представленным выше на фиг. 13 и 14 и в прилагаемом описании. [00173] At 1500, a request to access data in security zone Y is received from a network device in security zone X, in accordance with one or more embodiments of the invention. For example, the network device may be a user device that sends a request to a virtual connection controller that manages the link between the specified zones. The user device may be locally connected to the user network and/or the drilling control network and/or remotely connected to the virtual connection controller, for example via the Internet. Similarly, the user device may be a control system or one or more network elements located in a user network or a drilling control network. For example, the control system may request data from one or more other control systems in order to execute an algorithm associated with a particular drilling operation. The security zone X and/or the security zone Y may be similar to the security zones shown above in FIG. 13 and 14 and in the accompanying description.

[00174] На этапе 1510 сетевое устройство проходит аутентификацию для осуществления связи через временный канал в соответствии с одним или более вариантами реализации изобретения. Например, временный канал может соединять зону X безопасности и зону Y безопасности. В ответ на получение запроса, например на этапе 1500, сетевое устройство и/или программное приложение может определить, имеет ли сетевое устройство разрешение на доступ к данным из одного или более некоммуникационных средств, расположенных в конкретной зоне безопасности. Например, контроллер виртуальных соединений может осуществлять доступ к учетной записи пользователя, связанного с устройством пользователя, и/или пользователя, эксплуатирующего устройство пользователя. Учетная запись пользователя может содержать учетные данные пользователя, которые определяют, к какому PLC пользователь и/или устройство пользователя может получить доступ. Для завершения аутентификации сетевому устройству могут потребоваться дополнительные учетные данные пользователя, которые могут вручную вводиться в учетную запись пользователя администратором и/или генерироваться автоматически на основании различной информации, связанной с пользователем и/или устройством пользователя, хранящейся в учетной записи пользователя или в другом месте.[00174] At 1510, the network device is authenticated to communicate over a temporary channel, in accordance with one or more embodiments of the invention. For example, a temporary channel may connect security zone X and security zone Y. In response to receiving the request, such as at 1500, the network device and/or the software application may determine if the network device has permission to access data from one or more non-communication media located in a particular security zone. For example, the virtual connection controller may access the account of the user associated with the user's device and/or the user operating the user's device. The user account may contain user credentials that define which PLC the user and/or the user's device can access. To complete authentication, the network device may require additional user credentials, which may be manually entered into the user account by an administrator and/or generated automatically based on various user and/or user device related information stored in the user account or elsewhere.

[00175] Кроме того, учетные данные пользователя также могут указывать одно или более временных окон, когда пользователь и/или устройство пользователя могут осуществлять связь посредством временного канала. Аналогичным образом, учетные данные пользователя могут быть атрибутами временного окна, такими как поля данных, которые содержат информацию, относящуюся к временам начала, временам окончания, конкретным дням недели, месяца или года и выделенным периодам времени для различных временных окон, назначенных пользователю и/или устройству пользователя. Кроме того, атрибуты временного окна могут описывать общие временные окна и частные временные окна. [00175] In addition, the user's credentials may also indicate one or more time windows when the user and/or user device may communicate via the time channel. Similarly, user credentials may be time window attributes, such as data fields that contain information related to start times, end times, specific days of the week, month, or year, and allotted time periods for various time windows assigned to the user and/or user device. In addition, time window attributes may describe general time windows and private time windows.

[00176] В одном или более вариантах реализации изобретения для временного канала между двумя зонами безопасности контроллер виртуальных соединений осуществляет многофакторную аутентификацию. Например, устройство пользователя может входить в пользовательскую сеть с помощью имени пользователя и пароля. Соответственно, после установления сетевого соединения с пользовательской сетью контроллер виртуальных соединений может запросить дополнительный пароль и/или идентификацию для установления виртуального соединения через временный канал. Например, дополнительный пароль и/или идентификационная информация может представлять собой личный идентификационный номер, биометрический идентификатор, такой как отпечатки пальцев, личную информацию, относящуюся к пользователю, запрашивающему доступ и/или код сетевого устройства, передаваемый независимо на устройство пользователя. [00176] In one or more embodiments of the invention, for a temporary channel between two security zones, the virtual connection controller performs multi-factor authentication. For example, the user's device may log into the user's network using a username and password. Accordingly, after establishing a network connection with the user network, the virtual connection controller may request an additional password and/or identification to establish a virtual connection through a temporary channel. For example, the additional password and/or identification information may be a personal identification number, a biometric identifier such as a fingerprint, personal information relating to the user requesting access, and/or a network device code transmitted independently to the user's device.

[00177] В некоторых вариантах реализации изобретения, например, для временного канала генерируется ограниченный по времени набор учетных данных виртуального соединения. Например, учетные данные виртуального соединения могут содержать конфигурации сети и/или межсетевого экрана для осуществления связи через виртуальное соединение. Кроме того, в ответ на определение контроллером виртуальных соединений того, что устройство пользователя является авторизованным, учетные данные виртуального соединения могут содержать код сетевого устройства, специально сгенерированный контроллером виртуальных соединений или другим элементом сети для сетевого устройства. Код сетевого устройства может быть псевдослучайной или иным образом заданной буквенно-цифровой последовательностью, которая позволяет сетевому устройству осуществлять связь с PLC и/или системой управления в сети управления бурением. [00177] In some embodiments of the invention, for example, a time-limited set of virtual connection credentials is generated for a temporary channel. For example, the virtual connection credentials may contain network and/or firewall configurations for communicating over the virtual connection. In addition, in response to the VC controller's determination that the user's device is authorized, the virtual connection credential may contain a network device code specially generated by the VC controller or other network element for the network device. The network device code may be a pseudo-random or otherwise defined alphanumeric sequence that allows the network device to communicate with a PLC and/or control system on the drilling control network.

[00178] На этапе 1520 устанавливают виртуальное соединение с использованием временного канала между зоной X безопасности и зоной Y безопасности в соответствии с одним или более вариантами реализации изобретения. Если определено, например, что устройство пользователя является авторизованным для доступа к некоммуникационным средствам в зоне безопасности, контроллер виртуальных соединений может установить виртуальное соединение через временный канал. Если между двумя зонами безопасности существует коммутируемое виртуальное соединение, контроллер виртуальных соединений может разрешить сетевую связь через коммутируемое виртуальное соединение для установления виртуального соединения. С другой стороны, если контроллером виртуальных соединений определено, что сетевое устройство не является авторизованным для доступа к одному или более конкретным некоммуникационным средствам в зоне безопасности и/или устройство пользователя не является авторизованным в данный момент времени, виртуальное устройство соединение не может быть установлено на этапе 1520. [00178] At 1520, a virtual connection is established using a temporary channel between security zone X and security zone Y, in accordance with one or more embodiments of the invention. If it is determined, for example, that the user's device is authorized to access non-communication facilities in the security zone, the virtual connection controller may establish a virtual connection over a temporary channel. If a switched virtual connection exists between two security zones, the virtual connection controller may allow network communication over the switched virtual connection to establish a virtual connection. On the other hand, if it is determined by the virtual connection controller that the network device is not authorized to access one or more specific non-communication facilities in the security zone and/or the user device is not currently authorized, the connection cannot be established at the step 1520.

[00179] В одном или более вариантах реализации изобретения контроллер виртуальных соединений выключается и/или физически отсоединяется от сети управления бурением и/или пользовательской сети. После аутентификации сетевого устройства на этапе 1510 контроллер виртуальных соединений может включить питание и установить виртуальное соединение по временному каналу. В некоторых вариантах реализации изобретения контроллер виртуальных соединений или другое программное приложение может завершить виртуальное соединение, установленное на этапе 1520. Например, контроллер виртуальных соединений может удалить соединение канального уровня, возвращая тем самым временный канал в закрытое состояние. Аналогичным образом, настройки межсетевого экрана могут быть установлены контроллером виртуальных соединений для блокировки сетевого трафика через временный канал. В случае коммутируемого виртуального соединения, контроллер виртуальных соединений может установить коммутируемое виртуальное соединение в такое состояние, чтобы оно представляло собой разомкнутую цепь. В одном или более вариантах реализации изобретения, например, контроллер виртуальных соединений выключает питание и отсоединяется после выполнения определения, что виртуальное соединение завершено.[00179] In one or more embodiments of the invention, the virtual connection controller is turned off and/or physically disconnected from the drilling control network and/or user network. After the network device is authenticated at 1510, the virtual connection controller may power up and establish a virtual connection over the time channel. In some embodiments, the virtual connection controller or other software application may terminate the virtual connection established at 1520. For example, the virtual connection controller may remove the link layer connection, thereby returning the temporary channel to a closed state. Similarly, firewall settings can be set by the virtual connection controller to block network traffic through the temporary channel. In the case of a switched virtual connection, the virtual connection controller may set the switched virtual connection to a state such that it represents an open circuit. In one or more embodiments of the invention, for example, the virtual connection controller turns off the power and disconnects after determining that the virtual connection is completed.

[00180] На этапе 1530 данные передаются между зоной X безопасности и сетевым устройством в зоне Y безопасности по виртуальному соединению в соответствии с одним или более вариантами реализации изобретения. Например, сетевое устройство может получать данные PLC из системы управления, расположенной в зоне X безопасности. Аналогичным образом, сетевое устройство может передавать одну или более команд управления для регулирования параметров и/или настроек в одной или более системах управления в зоне X безопасности. Другими словами, как только установлено виртуальное соединение, сетевое устройство может иметь доступ для чтения и/или управления доступом к одному или более некоммуникационным средствам в конкретной зоне безопасности. Например, в одном или более вариантах реализации изобретения доступ относится к командам управления, отправляемым по временному каналу для средств контроля и управления в зоне безопасности. [00180] At 1530, data is transferred between security zone X and a network device in security zone Y over a virtual connection, in accordance with one or more embodiments of the invention. For example, a network device may receive PLC data from a control system located in security zone X. Similarly, the network device may send one or more control commands to adjust parameters and/or settings in one or more control systems in the security zone X. In other words, once a virtual connection has been established, the network device may have read and/or control access to one or more non-communication media in a particular security zone. For example, in one or more embodiments of the invention, access refers to control commands sent over a temporary channel for control and management in a security zone.

[00181] На этапе 1540 проводят один или более анализов пакетов в отношении данных, передаваемых между зоной X безопасности и зоной Y безопасности в соответствии с одним или более вариантами реализации изобретения. При анализе пакета может быть проанализирована одна или более частей передаваемых по каналу данных для определения того, нарушается ли одна или более политик управления доступом. Например, анализ пакетов может проводиться межсетевым экраном и/или одним или более элементами сети в сети управления бурением и/или пользовательской сетью. Например, в некоторых вариантах реализации изобретения проводят углубленный анализ пакетов в отношении данных, передаваемых по временному каналу на этапе 1520 или другим каналам, действующим в сети управления бурением или пользовательской сети. [00181] At step 1540, one or more packet analyzes are performed on data transmitted between security zone X and security zone Y, in accordance with one or more embodiments of the invention. When analyzing a packet, one or more pieces of data transmitted over the channel can be analyzed to determine if one or more access control policies are violated. For example, packet sniffing may be performed by the firewall and/or one or more network elements in the drilling control network and/or user network. For example, in some embodiments of the invention, deep packet analysis is performed on data transmitted over a time channel at 1520 or other channels operating in a drilling control network or user network.

[00182] Хотя выше на фиг. 15 и в прилагаемом описании упоминается временный канал, в других вариантах реализации изобретения аналогичные этапы могут быть применены к однонаправленным каналам и/или двунаправленным каналам. Аналогичным образом, варианты реализации изобретения, описанные со ссылкой на фиг. 15, также могут применяться к внутренним каналам, действующим в пределах одной зоны безопасности. Кроме того, в технологиях, представленных выше на фиг. 15, вместо зон безопасности могут использоваться подзоны. [00182] Although above in FIG. 15 and the accompanying description mentions a temporary channel, in other embodiments of the invention, similar steps can be applied to unidirectional channels and/or bidirectional channels. Similarly, the embodiments of the invention described with reference to FIGS. 15 may also apply to internal channels operating within the same security zone. In addition, in the technologies shown above in FIG. 15, sub-zones may be used instead of security zones.

Кибербезопасность системы управленияCyber security control system

[00183] В целом, варианты реализации изобретения включают в себя системы и способы осуществления связи с сетевыми устройствами в зоне контроля сети управления бурением. В частности, один или более вариантов реализации изобретения относятся к системе, которая содержит межсетевое устройство защиты, которое связывает зону контроля с зоной управления. Например, системы контроля для выполнения операций бурения и операций по техническому обслуживанию могут быть расположены внутри зоны контроля, тогда как зона управления содержит сетевые устройства, которые предназначены для управления и администрирования процессов с использованием систем контроля. Аналогичным образом, топология сети с нулевым уровнем доверия может быть реализована в пределах зоны контроля, которая разрешает сетевое взаимодействие только между устройствами с предварительной авторизацией.[00183] In general, embodiments of the invention include systems and methods for communicating with network devices in the control area of a drilling control network. In particular, one or more embodiments of the invention relate to a system that includes a firewall that links a control zone to a control zone. For example, control systems for drilling operations and maintenance operations may be located within the control zone, while the control zone contains network devices that are designed to control and administer processes using control systems. Similarly, a zero-trust network topology can be implemented within a zone of control that only allows network communication between pre-authorized devices.

[00184] В некоторых вариантах реализации изобретения один или более агентов безопасности расположены на различных сетевых устройствах в зоне контроля. Агент безопасности может быть компонентом внутри главного сетевого устройства, причем агент безопасности отвечает за управление связью с главным сетевым устройством и устройствами, расположенными за пределами зоны контроля. Например, агент безопасности может отслеживать свое главное сетевое устройство и сетевой трафик, чтобы определять разные временные окна для передачи данных. Из-за потенциально большого объема сети агенту безопасности может быть необходимо определить конкретное время, когда передача данных не мешает процессам управления. Например, для выполнения установки программного обеспечения агенту безопасности может быть необходимо организовать передачу файла установки программного обеспечения на главное сетевое устройство. Затем после получения файла программный агент может определить подходящее время для выполнения установки программного обеспечения с помощью файла. [00184] In some embodiments of the invention, one or more security agents are located on various network devices in the control zone. The security agent may be a component within the host network device, where the security agent is responsible for managing communication with the host network device and devices located outside the control zone. For example, a security agent may monitor its host network device and network traffic to determine different time windows for data transmission. Due to the potentially large size of the network, it may be necessary for the security agent to determine specific times when data transmission does not interfere with management processes. For example, to perform a software installation, a security agent may need to arrange for a software installation file to be transferred to a host network device. Then, after receiving the file, the software agent can determine the appropriate time to perform the software installation using the file.

[00185] Возвращаясь к фиг. 16, на фиг. 16 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. Как проиллюстрировано на фиг. 16, сеть (1600) управления бурением может содержать различные сетевые зоны (например, зону (1620) контроля X, зону (1670) управления Y), связанные с межсетевым устройством защиты (например, межсетевым устройством (1660) защиты Х). В одном или более вариантах реализации изобретения сеть управления бурением содержит зону контроля (например, зону (1620) контроля Х) с различными системами управления (например, зону (1621) контроля А, систему (1622) управления В, систему (1623) управления С) и сетевые элементы (например, сетевой элемент A (1631), сетевой элемент B (1632), сетевой элемент C (1633)). В частности, зона контроля может содержать различные детерминированные системы, такие как системы управления, которые работают в части обратной связи сети управления бурением. Внутри части обратной связи системы управления могут работать с использованием высокоскоростной передачи данных и в соответствии с требованиями точной синхронизации. Например, запросы состояния могут делаться между сетевыми устройствами в зоне контроля на очень высоких частотах, например от микросекунд до миллисекунд.[00185] Returning to FIG. 16, in FIG. 16 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. As illustrated in FIG. 16, the drilling control network (1600) may comprise various network zones (eg, control zone (1620) X, control zone (1670) Y) associated with a firewall (eg, firewall (1660) X). In one or more embodiments of the invention, the drilling control network contains a control zone (for example, control zone (1620) X) with various control systems (for example, control zone (1621) A, control system (1622) B, control system (1623) C ) and network elements (eg, network element A (1631), network element B (1632), network element C (1633)). In particular, the control zone may contain various deterministic systems, such as control systems that operate in the feedback portion of the drilling control network. Within the feedback part, the control systems can operate using high-speed data transmission and in accordance with the requirements of accurate timing. For example, status requests may be made between network devices in the control area at very high rates, such as microseconds to milliseconds.

[00186] Кроме того, системы управления могут содержать аппаратные средства и/или программное обеспечение с функциональными средствами для выполнения различных операций бурения и/или различных операций по техническому обслуживанию. Например, системы управления операциями бурения и/или системы управления техническим обслуживанием могут содержать, например, программируемые логические контроллеры (PLC) (например, PLC А (1627), PLC В (1628)), которые содержат аппаратные средства и/или программное обеспечение с функциональными средствами для управления одним или более процессами, выполняемыми посредством буровой установки, включая, но, не ограничиваясь этим, компоненты, проиллюстрированные на фиг. 1. Что касается PLC, программируемый логический контроллер может управлять состояниями вентилей, уровнями флюида, давлениями в трубе, сигналами тревоги и/или сбросами давления по всей буровой установке. Кроме того, программируемый логический контроллер может быть компьютерной системой с повышенной устойчивостью к неблагоприятным условиям окружающей среды с функциональными средствами, позволяющими выдерживать вибрации, экстремальные температуры, влажные условия среды и/или пыльные условия среды, например, около буровой установки. Системы управления операциями бурения и/или системы управления техническим обслуживанием могут также относиться к системам управления, которые содержат множество PLC в сети управления бурением (1600). Кроме того, системы управления могут быть связаны с буровым оборудованием (например, буровым оборудованием A (1629), противовыбросовым превентором (99), буровой установкой (12) и другими компонентами, проиллюстрированными выше на фиг. 1 и рассмотренными в прилагаемом описании).[00186] In addition, control systems may include hardware and/or software with functionality to perform various drilling operations and/or various maintenance operations. For example, drilling operations control systems and/or maintenance management systems may include, for example, programmable logic controllers (PLCs) (e.g., PLC A (1627), PLC B (1628)) that contain hardware and/or software with functional means for controlling one or more processes performed by the drilling rig, including, but not limited to, the components illustrated in FIG. 1. With respect to the PLC, the PLC can control valve states, fluid levels, pipe pressures, alarms and/or depressurizations throughout the rig. Further, the programmable logic controller may be a ruggedized computer system with functionality to withstand vibration, extreme temperatures, wet environments, and/or dusty environments, such as near a drilling rig. Drilling operations control systems and/or maintenance management systems may also refer to control systems that comprise a plurality of PLCs in a drilling control network (1600). In addition, control systems may be associated with drilling equipment (eg, drilling equipment A (1629), blowout preventer (99), drilling rig (12) and other components illustrated above in Fig. 1 and discussed in the accompanying description).

[00187] Без ограничения общности термин «система управления» может относиться к системе управления операциями бурения, используемой для эксплуатации и контроля оборудования, системы сбора и мониторинга данных бурения, которая используется для сбора данных о процессе бурения и оборудовании, а также для мониторинга операции процесса бурения, или системе программного обеспечения для интерпретации бурения, которая используется для анализа и понимания хода бурения и событий в связи с бурением.[00187] Without loss of generality, the term "control system" can refer to a drilling operations control system used to operate and control equipment, a drilling data acquisition and monitoring system that is used to collect data on the drilling process and equipment, and to monitor the operation of the process. drilling, or a drilling interpretation software system that is used to analyze and understand the progress of drilling and events associated with drilling.

[00188] В некоторых вариантах реализации изобретения одна или более зон контроля связаны с зоной управления (например, зоной (1670) управления Y). Например, зона (1670) управления Y может быть частью сети (1600) управления бурением, которая содержит различные сетевые элементы (не проиллюстрированы), сетевые устройства (например, сетевые устройства (1672)), один или более диспетчеров конфигурации (например, диспетчер (1671) конфигурации) и/или один или более диспетчеров приложений (например, диспетчер (1673) приложений). Например, зона управления может быть защищенной зоной безопасности за пределами зон контроля. В частности, администрирование сетевых устройств в зоне контроля может быть передано другим сетевым устройствам, расположенным в одной или более зонах управления. [00188] In some embodiments, one or more control zones are associated with a control zone (eg, control zone (1670) Y). For example, the Y control zone (1670) may be part of a drilling control network (1600) that contains various network elements (not illustrated), network devices (e.g., network devices (1672)), one or more configuration managers (e.g., manager ( 1671) configuration) and/or one or more application managers (eg, application manager (1673)). For example, a control zone may be a protected security zone outside of control zones. In particular, administration of network devices in a control zone may be transferred to other network devices located in one or more control zones.

[00189] Аналогичным образом, при использовании межсетевого устройства защиты за пределами зоны контроля фильтрация пакетов может оказывать ограниченное воздействие на время отклика сети в пределах зоны контроля. Таким образом, зона контроля, которая работает с огромным объемом данных, может сохранять свою вычислительную мощность, поскольку она не задействована в обработку пакетов межсетевым устройством защиты. Например, осуществляется поиск пакетов, входящих в зону контроля, в то время как пакеты в зоне контроля могут беспрепятственно перемещаться. Для получения дополнительной информации о фильтрации пакетов между зоной контроля и зоной управления смотрите фиг. 18 и прилагаемое описание. [00189] Similarly, when using a firewall outside the control zone, packet filtering may have a limited impact on network response time within the control zone. Thus, the control zone, which works with a huge amount of data, can save its processing power, since it is not involved in packet processing by the firewall. For example, a search is made for packages that are included in the control zone, while packages in the control zone can move freely. For more information on packet filtering between the control zone and the control zone, see FIG. 18 and the accompanying description.

[00190] В соответствии с фиг. 17, на фиг. 17 предоставлен пример агента безопасности, получающего файл обновления программного обеспечения. Следующий пример приводится исключительно с целью пояснения, но не ограничения объема раскрытой технологии. На фиг. 17 агент (1741) безопасности R осуществляет связь с диспетчером (1771) конфигурации X, действующим в качестве исходного устройства, по сети (1700) управления бурением. В частности, агент (1741) защиты R работает на устройстве (1726) назначения М, которое расположено в зоне (1720) контроля A. Агент (1741) безопасности R получает файл (1775) обновления программного обеспечения X по логическому пути S (1780). Логический путь S (1780) содержит различные сетевые линии связи (т. е. сетевую линию связи А (1781), сетевую линию связи B (1782), сетевую линию связи C (1783)), которые охватывают межсетевое устройство (1760) защиты Q и коммутатор O (1731). Таким образом, межсетевое устройство (1760) защиты Q обнаруживает, что диспетчер (1771) конфигурации X авторизован для передачи данных на устройство (1726) назначения М и передает пакеты, связанные с файлом (1775) обновления программного обеспечения Х, в зону (1720) контроля A. В пределах зоны (1720) контроля A коммутатор O (1731) определяет, что пакеты, связанные с файлом (1775) обновления программного обеспечения Х, могут быть переданы на устройство (1726) назначения М. [00190] Referring to FIG. 17, in FIG. 17 provides an example of a security agent receiving a software update file. The following example is provided solely for the purpose of illustrating and not limiting the scope of the disclosed technology. In FIG. 17, the security agent R (1741) communicates with the controller (1771) of configuration X, acting as the home device, over the drilling control network (1700). In particular, the protection agent (1741) R runs on the destination device (1726) M, which is located in the control zone (1720) A. The security agent (1741) R receives the software update file (1775) X on the logical path S (1780) . Logical path S (1780) contains various network links (i.e., network link A (1781), network link B (1782), network link C (1783)), which cover the security gateway (1760) Q and commutator O (1731). Thus, security gateway (1760) Q detects that configuration manager (1771) X is authorized to send data to destination device (1726) M and sends packets associated with software update file (1775) X to zone (1720) control A. Within the control zone (1720) A, the switch O (1731) determines that the packets associated with the software update file (1775) X can be transmitted to the destination device (1726) M.

[00191] В соответствии с фиг. 17, когда агент (1741) безопасности R получает файл (1775) обновления программного обеспечения Х, агент (1741) безопасности R анализирует зону (1720) контроля A и устройство (1726) назначения М, чтобы определить, существуют ли сетевые условия для установки файла (1775) обновления программного обеспечения X. Как только агент (1741) защиты R обнаруживает, что существуют сетевые условия для доступного состояния сети установки, агент (1741) безопасности R выполняет файл (1775) обновления программного обеспечения, чтобы обновить одну или более программ системы программного обеспечения, работающих на устройстве (1726) назначения М. [00191] Referring to FIG. 17, when the security agent (1741) R receives the software update file (1775) X, the security agent (1741) R analyzes the control zone (1720) A and the destination device (1726) M to determine whether the network conditions exist to install the file (1775) software update X. Once the security agent (1741) R detects that there are network conditions for the available network state of the installation, the security agent (1741) R executes the software update file (1775) to update one or more programs of the system software running on the device (1726) destination M.

[00192] В соответствии с фиг. 16, в некоторых вариантах реализации изобретения зона управления содержит один или более диспетчеров конфигурации (например, диспетчер (1671) конфигурации). В частности, диспетчер конфигурации может содержать аппаратные средства и/или программное обеспечение, которые содержат функциональные средства для управления установками программного обеспечения и другими программными процессами в одной или более зонах контроля. Например, диспетчер конфигурации может определить, существует ли новая версия программного обеспечения для программного приложения, работающего на соответствующем устройстве в зоне контроля. Соответственно, диспетчер конфигурации может определить, не создает ли новая версия программного обеспечения какие-либо конфликты с системой управления и/или другими сетевыми устройствами в зоне контроля, и гарантируется ли установка новой версии программного обеспечения на соответствующем устройстве. Таким образом, диспетчер конфигурации может содержать функциональные средства для управления обновлениями программного обеспечения и другой настройкой конфигураций программного обеспечения. Аналогичным образом, настройка конфигураций программного обеспечения может включать в себя изменение различных настроек программного обеспечения, таких как компьютерные ресурсы, связанные с программным приложением, настройки времени при выполнении процессов программного обеспечения и т. д. В некоторых вариантах реализации изобретения диспетчер конфигурации содержит функциональные средства для добавления сетевых устройств в зону контроля и/или удаления сетевых устройств из зоны контроля, например, путем проверки и/или отмены проверки конкретного сетевого устройства. [00192] Referring to FIG. 16, in some embodiments, the control zone includes one or more configuration managers (eg, configuration manager (1671)). In particular, the configuration manager may include hardware and/or software that contains functionality for managing software installations and other software processes in one or more control zones. For example, the configuration manager can determine if there is a new software version for the software application running on the corresponding device in the control zone. Accordingly, the configuration manager can determine whether the new software version creates any conflicts with the control system and/or other network devices in the control zone, and whether the installation of the new software version on the corresponding device is guaranteed. Thus, the configuration manager may contain functionality for managing software updates and other software configuration settings. Similarly, setting up software configurations may include changing various software settings, such as computer resources associated with a software application, time settings for running software processes, and so on. In some embodiments, the configuration manager includes functionality for adding network devices to the control zone and/or removing network devices from the control zone, for example, by checking and/or unchecking a specific network device.

[00193] Более того, зона управления может содержать один или более диспетчеров приложений (например, диспетчер (1673) приложений). В частности, диспетчер приложений может содержать аппаратные средства и/или программное обеспечение с функциональными средствами для управления различными процессами обратной связи, выполняемыми в зоне контроля. В частности, диспетчер приложений может быть удален от приложений управления, управляемых системами управления, и, таким образом, он является более гибким, чем приложения управления, в отношении вычислительной мощности и сетевых ресурсов. Например, диспетчер приложений может содержать функциональные средства для координации различных систем управления и других сетевых устройств для совместной работы и работы без помех в зоне контроля. [00193] Moreover, the control zone may contain one or more application managers (eg, application manager (1673)). In particular, the application manager may comprise hardware and/or software with functionality for managing various feedback processes performed in the monitoring area. In particular, the application manager can be removed from control applications managed by control systems and thus is more flexible than control applications in terms of processing power and network resources. For example, an application manager may contain functionality for coordinating various control systems and other network devices to work together and operate without interference in a control area.

[00194] В соответствии с фиг. 16, зоны контроля могут дополнительно содержать различные сетевые устройства (например, человеко-машинный интерфейс (HMI) Y (1625), сервер (1624) архивных данных Х, сетевое устройство Z (1626)) и различные сетевые элементы (например, сетевой элемент A (1631), сетевой элемент B (1632), сетевой элемент C (1633)). Сетевые устройства могут содержать персональные компьютеры, системы управления, смартфоны, человеко-машинные интерфейсы, пользовательские устройства, буровое оборудование, оборудование пользователя на буровой площадке и любые другие устройства, подключенные к сети управления бурением. Человеко-машинный интерфейс может быть аппаратными средствами и/или программным обеспечением, связанным с сетью (1600) управления бурением, и которое содержит функциональные средства для представления данных и/или приема входных данных от пользователя, относящихся к различным операциям бурения и/или операциям по техническому обслуживанию, выполняемым в сети (1600) управления бурением. Например, человеко-машинный интерфейс может включать в себя программное обеспечение для обеспечения графического интерфейса пользователя (GUI) для представления данных и/или приема команд управления для эксплуатации буровой установки. Сервер архивных данных может содержать аппаратные средства и/или программное обеспечение для сбора и/или анализа данных датчиков, полученных в пределах зоны контроля. Сетевой элемент может относиться к различным компонентам аппаратных средств в сети, таким как коммутаторы, маршрутизаторы, концентраторы, оборудование пользователя или любые другие логические объекты для объединения одного или более физических устройств в сети. Сетевые элементы, человеко-машинные интерфейсы, серверы архивных данных, сетевые устройства и/или системы управления могут быть вычислительными системами, подобными вычислительной системе (3400), проиллюстрированной на фиг. 34.1 и 34.2, и описанной в прилагаемом описании. [00194] Referring to FIG. 16, control zones may further comprise various network devices (e.g., human machine interface (HMI) Y (1625), archive data server (1624) X, network device Z (1626)) and various network elements (e.g., network element A (1631), NE B (1632), NE C (1633)). Network devices may include personal computers, control systems, smartphones, human-machine interfaces, user devices, drilling equipment, user equipment at the well site, and any other devices connected to the drilling control network. The human-machine interface may be hardware and/or software associated with the drilling control network (1600) and which contains functionality for presenting data and/or receiving input from a user related to various drilling and/or drilling operations. maintenance performed on the drilling control network (1600). For example, the human-machine interface may include software for providing a graphical user interface (GUI) for presenting data and/or receiving control commands for operating a drilling rig. The historical data server may contain hardware and/or software for collecting and/or analyzing sensor data received within the control zone. A network element may refer to various hardware components in a network, such as switches, routers, hubs, user equipment, or any other logical entity for connecting one or more physical devices in a network. The network elements, human-machine interfaces, archive servers, network devices, and/or control systems may be computing systems like the computing system (3400) illustrated in FIG. 34.1 and 34.2, and described in the accompanying description.

[00195] В то время как на фиг. 16 и 17 проиллюстрированы различные конфигурации компонентов, могут использоваться другие конфигурации, не выходя за пределы объема данного изобретения. Например, различные компоненты на фиг. 16 и 17 могут быть объединены для создания одного компонента. В качестве другого примера, функции, выполняемые одним компонентом, могут выполняться двумя или более компонентами. [00195] While in FIG. 16 and 17 illustrate various component configurations, other configurations may be used without departing from the scope of the present invention. For example, the various components in FIG. 16 and 17 can be combined to create one component. As another example, functions performed by one component may be performed by two or more components.

[00196] Возвращаясь к фиг. 18, на фиг. 18 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 18 проиллюстрирован способ осуществления связи с одним или более сетевыми устройствами в зоне контроля сети управления бурением. Один или более этапов на фиг. 18 могут быть выполнены посредством одного или более компонентов (например, межсетевого устройства (1660) защиты Х), как проиллюстрировано на фиг. 1, 2, 16 и/или 17. В то время как различные этапы на фиг. 18 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно.[00196] Returning to FIG. 18, in FIG. 18 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 18 illustrates a method for communicating with one or more network devices in the control area of a drilling control network. One or more steps in FIG. 18 may be implemented by one or more components (eg, security firewall (1660) X) as illustrated in FIG. 1, 2, 16 and/or 17. While the various steps in FIG. 18 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00197] На этапе 1800 сетевое устройство соединяют с зоной контроля в соответствии с одним или более вариантами реализации изобретения. В частности, сетевое устройство может устанавливать сетевое соединение с сетью управления бурением, которая содержит зону контроля. Сетевое соединение может быть установлено вручную техническим специалистом, который включает один или более сетевых портов управления бурением, соединенных с сетевым устройством. Сетевое устройство может быть аналогичным одному из сетевых устройств, проиллюстрированных на фиг. 16 и описанных в прилагаемом описании, например системе (1622) управления B, серверу (1624) архивных данных Х и т. д. [00197] At 1800, a network device is connected to a monitoring zone, in accordance with one or more embodiments of the invention. In particular, the network device may establish a network connection to a drilling control network that contains a control zone. The network connection can be manually established by a technician who includes one or more drilling control network ports connected to a network device. The network device may be similar to one of the network devices illustrated in FIG. 16 and described in the accompanying description, such as control system (1622) B, archive data server (1624) X, etc.

[00198] На этапе 1805 связь между сетевым устройством и другими сетевыми устройствами в зоне контроля проверяется в соответствии с одним или более вариантами реализации изобретения. В частности, посредством проверки могут определить, какие устройства могут быть авторизованными устройствами назначения для проверенного сетевого устройства в зоне контроля. Например, сетевое устройство может иметь один или более наборов сетевых учетных данных, которые предоставляют доступ к связи различным устройствам в зоне контроля. Сетевые учетные данные могут быть предоставлены на буровой площадке человеком-оператором, который настраивает сетевое устройство в зоне контроля. Аналогичным образом, сетевые учетные данные могут храниться в сетевом устройстве, и проверка может выполняться автоматически с помощью одного или более программных протоколов, работающих на сетевом устройстве и/или в сети управления бурением. Например, диспетчер конфигурации может анализировать сетевые учетные данные для сетевого устройства, чтобы выполнить проверку.[00198] In step 1805, communication between the network device and other network devices in the control area is checked in accordance with one or more embodiments of the invention. In particular, the check can determine which devices can be authorized destination devices for the checked network device in the control zone. For example, a network device may have one or more sets of network credentials that grant communication access to various devices within a zone of control. Network credentials may be provided at the well site by a human operator who sets up a network device in the control area. Similarly, network credentials may be stored on a network device and verification may be performed automatically by one or more software protocols running on the network device and/or on the drilling control network. For example, the configuration manager may parse the network credentials for a network device to perform validation.

[00199] В некоторых вариантах реализации изобретения сетевое устройство осуществляет широковещательную передачу сетевых учетных данных по всей зоне контроля, чтобы выполнить проверку. Таким образом, каждое из сетевых устройств в зоне контроля может анализировать сетевые учетные данные, чтобы определить, может ли сетевое устройство быть авторизованным исходным устройством. Таким образом, для проверок в зоне контроля могут выполняться децентрализованные сетевые протоколы.[00199] In some embodiments of the invention, the network device broadcasts the network credentials throughout the control zone to perform verification. Thus, each of the network devices in the control zone can parse the network credentials to determine if the network device can be an authorized source device. Thus, decentralized network protocols can be executed for checks in the control zone.

[00200] На этапе 1810 изменяют конфигурацию зоны контроля с учетом проверки сетевого устройства в соответствии с одним или более вариантами реализации изобретения. В зависимости от устройств назначения для проверенного сетевого устройства, может быть изменена конфигурация различных сетевых элементов, межсетевых устройств защиты и т. д. внутри и/или вне зоны контроля для обеспечения связи между проверенным сетевым устройством и устройствами назначения. [00200] At step 1810, the control zone is reconfigured to take into account the network device check, in accordance with one or more embodiments of the invention. Depending on the destination devices for the verified network device, various network elements, firewalls, etc., can be reconfigured inside and/or outside the control area to allow communication between the verified network device and the destination devices.

[00201] В некоторых вариантах реализации изобретения, например, диспетчер конфигурации в зоне контроля получает информацию о проверке в связи с проверенным сетевым устройством. По существу, диспетчер конфигурации может обновлять одну или более таблиц сетей, хранящихся на различных коммутаторах, маршрутизаторах и т. д. в сети управления бурением, чтобы обеспечить проверенную связь. [00201] In some embodiments of the invention, for example, a configuration manager in a monitoring zone receives verification information in connection with a verified network device. As such, the configuration manager may update one or more of the network tables stored on the various switches, routers, etc. in the drilling control network to ensure verified communications.

[00202] На этапе 1815 из сетевого устройства поступает пакет в соответствии с одним или более вариантами реализации изобретения. Например, один или более пакетов могут быть переданы по логическому пути, который содержит межсетевое устройство защиты в сети управления бурением. Логический путь может содержать различные узлы сети, которые, например, обеспечивают путь через сеть управления бурением к зоне контроля. Таким образом, когда межсетевое устройство защиты, коммутатор или другой сетевой элемент на логическом пути получает пакет, соответствующее промежуточное устройство может провести дополнительный анализ пакета. [00202] At 1815, a packet arrives from a network device in accordance with one or more embodiments of the invention. For example, one or more packets may be transmitted over a logical path that contains a firewall in the drilling control network. The logical path may contain various network nodes which, for example, provide a path through the drilling control network to the control zone. Thus, when a firewall, switch, or other network element along the logical path receives a packet, the corresponding intermediate device can perform further analysis of the packet.

[00203] На этапе 1820 осуществляется определение для пакета относительно устройства назначения в зоне контроля в соответствии с одним или более вариантами реализации изобретения. В частности, пакет или устройство назначения пакета может быть проанализирован(о) для определения требуемого устройства назначения. Например, пакет может содержать сетевой адрес назначения, который указывает окончательное местоположение пакета в сети управления бурением. Аналогичным образом, зона контроля и устройство назначения могут быть аналогичны зонам контроля и/или устройствам назначения, проиллюстрированным выше на фиг. 2 и 3 и в прилагаемом описании. [00203] At step 1820, a determination is made for the packet with respect to the destination device in the monitoring zone, in accordance with one or more embodiments of the invention. In particular, the packet or packet destination device may be analyzed to determine the desired destination device. For example, the packet may contain a destination network address that indicates the final location of the packet in the drilling control network. Likewise, the control zone and destination device may be similar to the control zones and/or destination devices illustrated above in FIG. 2 and 3 and in the accompanying description.

[00204] В некоторых вариантах реализации изобретения сетевое устройство в зоне управления связано с соответствующим устройством в зоне контроля. Таким образом, межсетевое устройство защиты может идентифицировать соответствующее устройство назначения на основании того, какое устройство или приложение отправляет пакет. [00204] In some embodiments of the invention, a network device in the control area is associated with a corresponding device in the control area. Thus, the firewall can identify the appropriate destination device based on which device or application is sending the packet.

[00205] На этапе 1825 определяют, авторизовано ли сетевое устройство для связи с устройством назначения в соответствии с одним или более вариантами реализации изобретения. В частности, сеть управления бурением может реализовывать различные протоколы безопасности, чтобы обеспечить ограничение сетевого трафика через зону контроля заданными типами и/или количествами данных. Например, ограничение сетевого трафика, даже на границе межсетевого устройства защиты, может не быть типовым. Таким образом, в межсетевом устройстве защиты и/или других элементах сети, связанных с зоной контроля, может применяться подход с нулевым уровнем доверия к пакетам, входящим в зону контроля, а также к пакетам, уже перемещающимся внутри зоны контроля. По существу, зоны контроля могут обеспечивать топологию сети, которая динамически отслеживает и контролирует сетевой трафик между авторизованными и неавторизованными устройствами в части обратной связи сети. Если процесс останавливается в части обратной связи, например, элементы сети и/или межсетевое устройство защиты могут отобразить прерывание процесса в определенном месте в пределах зоны контроля. [00205] At 1825, it is determined if the network device is authorized to communicate with the destination device, in accordance with one or more embodiments of the invention. In particular, the drilling control network may implement various security protocols to ensure that network traffic across the control zone is limited to predetermined types and/or amounts of data. For example, restricting network traffic, even at the edge of a firewall, may not be typical. Thus, the firewall and/or other network elements associated with the control zone can apply a zero-trust approach to packets entering the control zone, as well as packets already moving inside the control zone. As such, control zones can provide a network topology that dynamically monitors and controls network traffic between authorized and unauthorized devices in terms of network feedback. If the process stops on a feedback part, for example, the network elements and/or the firewall may display the interruption of the process at a specific location within the control zone.

[00206] В некоторых вариантах реализации изобретения сеть управления бурением может хранить такую сетевую информацию, как сетевые адреса, сетевые протоколы, сетевые зависимости и номера портов, для каждого из сетевых устройств, подключенных к сети управления бурением. На основании этой сетевой информации зона контроля может ограничивать сетевую связь разрешенными местами в сети управления бурением. Например, межсетевое устройство защиты может анализировать исходное устройство и устройство назначения пакета с помощью таблицы поиска, чтобы определить, авторизована ли связь. [00206] In some embodiments, the drilling control network may store network information such as network addresses, network protocols, network dependencies, and port numbers for each of the network devices connected to the drilling control network. Based on this network information, the control zone can restrict network communication to allowed locations in the drilling control network. For example, the firewall may analyze the packet's source and destination devices using a lookup table to determine if communication is authorized.

[00207] В некоторых вариантах реализации изобретения сеть управления бурением определяет потенциальную угрозу безопасности путем обнаружения пакета, имеющего неавторизованную связь. Например, когда межсетевое устройство защиты получает пакет для передачи на неавторизованное устройство назначения, межсетевое устройство защиты может предоставлять аварийное уведомление о неавторизованной связи. Таким образом, различные нарушения требований безопасности в зоне управления могут быть идентифицированы как дополнение к нарушениям требований безопасности в зоне контроля. [00207] In some embodiments of the invention, the drilling control network determines a potential security threat by detecting a packet having unauthorized communication. For example, when a firewall receives a packet for transmission to an unauthorized destination, the firewall may provide an unauthorized communication alarm notification. Thus, various security violations in the control zone can be identified as an addition to security violations in the control zone.

[00208] На этапе 1830 прекращается передача пакета в ответ на определение того, что между устройством назначения и сетевым устройством отсутствует авторизованная связь, в соответствии с одним или более вариантами реализации изобретения. На основании определения, что пакет не авторизован для передачи на устройство назначения, межсетевое устройство защиты и/или другие элементы сети могут прекратить передачу пакета. Например, зона контроля может осуществлять фильтрацию пакетов на границе зоны контроля с помощью межсетевого устройства защиты или в пределах зоны контроля с помощью коммутатора или другого элемента сети. [00208] At step 1830, the transmission of the packet is terminated in response to a determination that there is no authorized communication between the destination device and the network device, in accordance with one or more embodiments of the invention. Based on the determination that the packet is not authorized for transmission to the destination device, the firewall and/or other network elements may stop transmitting the packet. For example, a control zone may filter packets at the border of the control zone using a firewall or within the control zone using a switch or other network element.

[00209] В одном варианте реализации изобретения, например, если PLC насоса требуется только для связи с HMI, то эта связь может быть единственной разрешенной связью для PLC насоса в пределах зоны контроля. Если пакет пытается переместиться куда-либо еще в пределах зоны контроля, передача пакета прекращается. Этот процесс прекращения передачи может осуществляться посредством коммутаторов (например, элементов (1631, 1632, 1633) сети, как проиллюстрировано на фиг. 16, между PLC A (1627) и сервером (1624) архивных данных Х или сетевым устройством Z (1626)). Соответственно, в некоторых вариантах реализации изобретения устройство анализирует заголовок пакета, чтобы определить, авторизован ли пакет для связи с устройством назначения. Например, элементы сети в зоне контроля могут игнорировать содержимое, то есть данные информационного наполнения, пакета и просто фильтровать на основании сетевых адресов назначения и/или исходного сетевого адреса пакетов. В другом варианте реализации изобретения содержимое может просматриваться сетевым устройством, например агентом безопасности, работающим на главном сетевом устройстве. Если исходное устройство авторизовано для связи с устройством назначения, межсетевое устройство защиты может сканировать исходный сетевой адрес и сетевой адрес назначения пакета, чтобы сделать соответствующее определение. [00209] In one embodiment of the invention, for example, if the pump PLC is required only to communicate with the HMI, then this communication may be the only communication allowed for the pump PLC within the control zone. If the packet tries to travel somewhere else within the control zone, the packet transmission is terminated. This termination process may be performed by switches (eg, network elements (1631, 1632, 1633) as illustrated in FIG. 16 between PLC A (1627) and archive data server X or network device Z (1626)) . Accordingly, in some embodiments of the invention, the device parses the header of the packet to determine if the packet is authorized to communicate with the destination device. For example, network elements in the control zone may ignore the content, ie payload data, of the packet and simply filter based on the destination network addresses and/or source network address of the packets. In another embodiment of the invention, the content may be viewed by a network device, such as a security agent running on a host network device. If the source device is authorized to communicate with the destination device, the firewall can scan the packet's source network address and destination network address to make an appropriate determination.

[00210] На этапе 1840 пакет передается на устройство назначения в ответ на определение того, что связь между устройством назначения и сетевым устройством авторизована, в соответствии с одним или более вариантами реализации изобретения. В тех случаях, когда сетевое устройство авторизовано для связи с устройством назначения в пределах зоны контроля, межсетевое устройство защиты и/или другой элемент сети может пересылать пакет через зону контроля. [00210] At 1840, the packet is transmitted to the destination device in response to determining that communication between the destination device and the network device is authorized, in accordance with one or more embodiments of the invention. In cases where a network device is authorized to communicate with a destination device within the control zone, the firewall and/or other network element may forward the packet through the control zone.

[00211] В некоторых вариантах реализации изобретения архитектура сети, представленная на фиг. 16, 17 и/или 18, позволяет сети управления бурением сокращать сетевые ресурсы для управления PLC, т. е. сводить к минимуму ресурсы, необходимые для работы насоса, и т. д. С другой стороны, процессы управления для управления другими системами управления в зоне контроля могут действовать и размещаться за межсетевым устройством защиты. Образно, человеческая рука может быть аналогом PLC систем управления в зоне контроля. Фактическое движение руки является функциональным, но то, как движется рука и место назначения, в которое перемещается рука, может определяться мозгом, который соответствует местоположению за пределами зоны контроля и за межсетевым устройством защиты. Другими словами, усилия по планированию и организации систем управления могут прилагаться за пределами зоны контроля, а исполнение происходит внутри зоны контроля. [00211] In some embodiments of the invention, the network architecture shown in FIG. 16, 17 and/or 18 allows the drilling control network to reduce the network resources for PLC control, i.e., to minimize the resources required to operate the pump, etc. On the other hand, control processes for controlling other control systems in control zone can operate and be placed behind the firewall. Figuratively, the human hand can be an analogue of PLC control systems in the control zone. The actual movement of the hand is functional, but how the hand moves and the destination the hand moves to can be determined by the brain, which corresponds to a location outside the control zone and behind the firewall. In other words, efforts to plan and organize control systems can be made outside the zone of control, and execution occurs inside the zone of control.

[00212] Кроме того, при доступе к системам в зоне контроля могут существовать риски безопасности. Например, может предоставляться удаленный доступ для устранения неполадок в устройствах, обновления систем управления и перемещения файлов в сеть управления бурением и/или за ее пределы. На фиг. 18 и в прилагаемом описании предоставлены безопасные протоколы управления, которые могут обеспечивать автоматическую передачу данных различными автоматизированными способами в зону управления или получение данных из зоны контроля без вмешательства человека в процессы передачи данных. [00212] In addition, when accessing systems in the zone of control, there may be security risks. For example, remote access may be provided to troubleshoot devices, update control systems, and move files into and/or out of the drilling control network. In FIG. 18 and the accompanying description provide secure control protocols that can automatically transfer data in various automated ways to the control area or receive data from the control area without human intervention in the data transfer processes.

[00213] Возвращаясь к фиг. 19, на фиг. 19 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 19 представлен способ установки программного обеспечения на сетевое устройство в зоне контроля. Например, блок-схема, проиллюстрированная на фиг. 19, может выполняться в дополнение к блок-схеме или отдельно от блок-схемы, представленной на фиг. 18. Один или более этапов в соответствии с фиг. 19 могут быть выполнены одним или более компонентами (например, агентом (1643) безопасности C), как проиллюстрировано на фиг. 1, 2, 16 и/или 17. В то время как различные этапы на фиг. 19 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно.[00213] Returning to FIG. 19, in FIG. 19 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 19 shows a method for installing software on a network device in the control zone. For example, the block diagram illustrated in FIG. 19 may be performed in addition to the flowchart or separately from the flowchart shown in FIG. 18. One or more steps in accordance with FIG. 19 may be implemented by one or more components (eg, security agent (1643) C) as illustrated in FIG. 1, 2, 16 and/or 17. While the various steps in FIG. 19 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00214] На этапе 1900 определяют, существует ли установка программного обеспечения для сетевого устройства в зоне контроля сети управления бурением в соответствии с одним или более вариантами реализации изобретения. Сетевое устройство может быть системой управления, сервером активных данных, HMI или другим сетевым устройством, как представлено на фиг. 16 и в прилагаемом описании. Например, диспетчер конфигурации может хранить информацию о версии программного обеспечения, касающуюся систем управления и/или других сетевых устройств в пределах зоны контроля сети управления бурением. Соответственно, когда выпущена новая версия программного обеспечения, диспетчер конфигурации может получить уведомление о новой версии программного обеспечения. Таким образом, диспетчер конфигурации может автоматически определять, существует ли обновление программного обеспечения для сетевого устройства. [00214] In step 1900, it is determined if there is a software installation for a network device in the control area of the drilling control network, in accordance with one or more embodiments of the invention. The network device may be a control system, an active data server, an HMI, or another network device as shown in FIG. 16 and in the accompanying description. For example, the configuration manager may store software version information regarding control systems and/or other network devices within the control area of the drilling control network. Accordingly, when a new software version is released, the configuration manager may be notified of the new software version. Thus, the configuration manager can automatically detect if a software update exists for the network device.

[00215] Кроме того, диспетчер конфигурации может получить запрос, например, от пользователя-человека или автоматизированного процесса, на установку программного приложения на одно или более сетевых устройств в зоне контроля. Вместо замены существующей версии программного обеспечения диспетчер конфигурации может организовать совершенно новую установку программного обеспечения. Например, в случае, когда система управления добавляется в зону контроля, для добавленной системы управления может быть назначена одна или более установок программного обеспечения. [00215] In addition, the configuration manager may receive a request, for example, from a human user or an automated process, to install a software application on one or more network devices in the area of control. Instead of replacing an existing version of the software, the configuration manager can arrange for a completely new installation of the software. For example, in the case where a control system is added to the control area, one or more software installations may be assigned to the added control system.

[00216] На этапе 1910 один или более файлов установки программного обеспечения принимаются посредством агента безопасности в соответствии с одним или более вариантами реализации изобретения. Например, диспетчер конфигурации может связываться с агентом безопасности, расположенным на главном сетевом устройстве. Диспетчер конфигурации может передать файл установки программного обеспечения на устройство для обновления программного обеспечения на устройстве. Например, файл установки программного обеспечения может быть передан из диспетчера конфигурации в зоне управления на главное сетевое устройство в зоне контроля аналогично тому, как это представлено выше на фиг. 18 и в прилагаемом описании. В некоторых вариантах реализации изобретения или, например, устройство брандмауэра может искать файл установки программного обеспечения перед входом в зону контроля. В некоторых вариантах реализации изобретения агент безопасности отслеживает сетевой трафик в зоне контроля до тех пор, пока не появится доступное временное окно для передачи файла установки программного обеспечения на главное сетевое устройство.[00216] At 1910, one or more software installation files are received by a security agent, in accordance with one or more embodiments of the invention. For example, a configuration manager may communicate with a security agent located on a host network device. The configuration manager can transfer the software installation file to the device to update the software on the device. For example, a software installation file may be transferred from a configuration manager in a control zone to a host network device in a control zone in a manner similar to that shown above in FIG. 18 and in the accompanying description. In some embodiments of the invention or, for example, the firewall device may look for a software installation file before entering the control zone. In some embodiments of the invention, the security agent monitors network traffic in the zone of control until there is an available time window to transfer the software installation file to the host network device.

[00217] Как только агент безопасности получает файл установки программного обеспечения, файл может быть помещен в устройство хранения до тех пор, пока не наступит заданное время выполнения, которое связано с заданным состоянием сети. Для получения дополнительной информации о заданных состояниях сети смотрите этапы 530 и 540 и прилагаемое ниже описание. [00217] Once the security agent receives the software installation file, the file may be placed on the storage device until a predetermined execution time that is associated with a predetermined network state occurs. See steps 530 and 540 and the description below for more information on the specified network states.

[00218] На этапе 1920 определяются одно или более условий работы сетевого устройства относительно сетевого устройства в соответствии с одним или более вариантами реализации изобретения. В некоторых вариантах реализации изобретения, например, агент безопасности отслеживает функционирование главного сетевого устройства, такое ​​как осуществление операций бурения и/или операций по техническому обслуживанию. Таким образом, условия работы сетевого устройства могут соответствовать функционированию главного сетевого устройства, с определением того, например, занято ли главное сетевое устройство в настоящее время операциями управления, а, значит, оно не подходит для установки программного обеспечения. Аналогичным образом, условия сетевого устройства также могут обозначать функционирование в пределах зоны контроля или сети управления бурением. Например, если другие системы управления требуют, чтобы главное сетевое устройство было подключено к сети для выполнения различных процессов, агент безопасности может идентифицировать зависимые системы управления среди условий работы сетевого устройства. [00218] At 1920, one or more network device operating conditions are determined with respect to the network device, in accordance with one or more embodiments of the invention. In some embodiments of the invention, for example, the security agent monitors the operation of the main network device, such as the implementation of drilling operations and/or maintenance operations. In this way, the operating conditions of the network device can correspond to the operation of the network master, determining, for example, whether the network master is currently occupied with control operations, and therefore not suitable for software installation. Likewise, network device terms may also denote operation within a control zone or drilling control network. For example, if other control systems require the host network device to be connected to the network to perform various processes, the security agent may identify dependent control systems among the operating conditions of the network device.

[00219] На этапе 1930 определяют, соответствуют ли одно или более условий работы сетевого устройства заданному состоянию сети для выполнения установки программного обеспечения в соответствии с одним или более вариантами реализации изобретения. Например, агент безопасности может препятствовать обработке файла установки программного обеспечения до тех пор, пока главное сетевое устройство не выполнит определенные условия сетевого устройства. В частности, как только на этапе 1920 агент безопасности подтверждает, что одно или более условий работы сетевого устройства соответствуют заданному состоянию сети, агент безопасности может приступить к установке программного обеспечения. Примером заданного состояния сети является случай, когда завершаются операции бурения и операции по техническому обслуживанию в сети управления бурением. Другое заданное состояние сети связано с непродолжительным периодом сетевого трафика в ночное время. Другим примером заданного состояния сети является ситуация, когда одна или более систем управления находятся в автономном режиме для технического обслуживания и, таким образом, это предоставляет другим системам управления временное окно для осуществления локальных операций. [00219] In step 1930, it is determined whether one or more network device operating conditions match a given network state to perform software installation in accordance with one or more embodiments of the invention. For example, a security agent may prevent the processing of a software installation file until the host network device meets certain network device conditions. In particular, once at step 1920 the security agent confirms that one or more conditions of the network device are consistent with the specified network state, the security agent may proceed to install the software. An example of a predetermined network state is when drilling operations and maintenance operations in the drilling control network are completed. Another set network state is associated with a short period of network traffic during the night. Another example of a given network state is when one or more control systems are offline for maintenance and thus provides other control systems with a time window to perform local operations.

[00220] Кроме того, как только возникает заданное состояние, агент безопасности может связываться с диспетчером конфигурации и/или другими сетевыми устройствами в зоне контроля или зоне управления для выполнения установки программного обеспечения. В некоторых вариантах реализации изобретения агент безопасности определяет заданное состояние сети для получения файла установки программного обеспечения на этапе 1910. [00220] In addition, once a predetermined state occurs, the security agent may communicate with the configuration manager and/or other network devices in the control zone or control zone to perform software installation. In some embodiments of the invention, the security agent determines the specified network state to obtain the software installation file at 1910.

[00221] На этапе 1940 один или более файлов установки программного обеспечения выполняются на сетевом устройстве на основании заданного состояния сети в соответствии с одним или более вариантами реализации изобретения. Например, выполнение файла установки программного обеспечения может включать в себя изменение одной или более настроек на главном сетевом устройстве, извлечение содержимого из файла, запуск программных приложений с помощью файла, сканирование файла на наличие вирусов и т. д. [00221] At 1940, one or more software installation files are executed on a network device based on a predetermined network state, in accordance with one or more embodiments of the invention. For example, executing a software installation file may include changing one or more settings on a host network device, extracting content from a file, launching software applications using the file, scanning the file for viruses, and so on.

[00222] Как только заданное состояние сети определено, файлы установки программного обеспечения могут и дальше обрабатываться на главном сетевом устройстве, в то время как главное сетевое устройство остается в заданном состоянии сети. В некоторых вариантах реализации изобретения агент безопасности может обнаружить изменение заданного состояния и, таким образом, автоматически завершить установку программного обеспечения. [00222] Once the target network state is determined, the software installation files can continue to be processed on the host network device while the host network device remains in the preset network state. In some embodiments of the invention, the security agent may detect a change in a predetermined state and thus automatically complete the installation of the software.

[00223] И дальше в соответствии с фиг. 19 и прилагаемым описанием системы управления в сети управления бурением, как правило, остаются статичными с течением времени, то есть системы управления могут редко обновляться посредством нового программного обеспечения. Таким образом, функциональные средства устройства в системе управления могут редко меняться. Поскольку системы управления на буровой установке являются системами добычи, изменение программного обеспечения на сетевом устройстве может привести к огромным затратам на добычу. Таким образом, изменения в сфере промышленного управления происходят очень медленно. [00223] And further in accordance with Fig. 19 and the accompanying description of the control system in the drilling control network tend to remain static over time, that is, control systems may rarely be updated with new software. Thus, the functionality of the device in the control system may rarely change. Since the control systems on the rig are production systems, changing the software on the network device can result in huge production costs. Thus, changes in the field of industrial management are very slow.

[00224] Однако, поскольку все чаще предоставляется удаленный доступ к системам управления, серверам архивных данных и другим сетевым устройствам в сети управления бурением, из-за этого уровня доступа возрастают риски кибербезопасности. Таким образом, процессы, представленные выше на фиг. 18 и 19, обеспечивают варианты реализации изобретения как для обеспечения безопасности в зоне контроля сети управления бурением, так и для добавления и/или обновления безопасности в зоне контроля. Таким образом, процессами системы управления можно управлять наряду с периодическими обновлениями программного обеспечения в зоне контроля, что предотвращает множество угроз кибербезопасности. [00224] However, as remote access to control systems, archive servers, and other network devices on the drilling control network is increasingly being provided, cybersecurity risks increase due to this level of access. Thus, the processes shown above in FIG. 18 and 19 provide embodiments of the invention both for providing security in the control zone of the drilling control network and for adding and/or updating security in the control zone. In this way, control system processes can be managed along with periodic software updates in the control zone, which prevents many cybersecurity threats.

Репликация защищенных данныхReplication of protected data

[00225] В целом, варианты реализации изобретения включают систему и различные способы обеспечения архитектуры управления данными в сети управления бурением. В частности, один или более вариантов реализации изобретения относятся к системе, которая содержит контроллер управления данными, который управляет передачей данных между сетью управления бурением и удаленными устройствами. Например, в некоторых вариантах реализации изобретения сетевое соединение является соединением с низкой пропускной способностью. Таким образом, контроллер управления данными может управлять передачей различных массивов данных посредством соединения с низкой пропускной способностью в течение заданного периода времени. После завершения передачи данных массивы данных сохраняются в различных устройствах постоянного хранения данных на основании заданных типов данных, таких как образы программного обеспечения, модели данных и т. д. В некоторых вариантах реализации изобретения устройства постоянного хранения данных разделяются на основании данных, связанных с различными условиями работы сети, такими как условия производства и условия технологической подготовки. Например, условия технологической подготовки могут состоять в том, что программное обеспечение и/или аппаратные средства в сети управления бурением проходят испытания перед применением в фактических производственных условиях. [00225] In general, embodiments of the invention include a system and various methods for providing a data management architecture in a drilling control network. In particular, one or more embodiments of the invention relate to a system that includes a data controller that manages data communication between a drilling control network and remote devices. For example, in some embodiments of the invention, the network connection is a low bandwidth connection. Thus, the data controller can control the transmission of various data sets through a low bandwidth connection for a predetermined period of time. After the data transfer is completed, the data arrays are stored in different persistent storage devices based on predetermined data types such as software images, data models, etc. In some embodiments, persistent storage devices are separated based on data associated with different conditions. network operation, such as production conditions and technological preparation conditions. For example, the conditions of technological preparation may be that the software and/or hardware in the drilling control network is tested before being used in actual production conditions.

[00226] Как только данные сохраняются в устройствах постоянного хранения данных, в сети управления бурением могут быть реализованы различные протоколы безопасности, чтобы обеспечить безопасное использование данных сетевыми устройствами по всей сети управления бурением. Например, поддерживая данные в соответствующем устройстве постоянного хранения данных, сеть управления бурением может поддерживать резервирование данных в случае, когда сетевое устройство, такое как виртуальная машина или программный контейнер, завершает операции с соответствующими данными. Соответственно, контроллер управления данными и устройства постоянного хранения данных могут обеспечивать четко определенную цепочку передачи данных в связи с тем, как данные поступают в сеть управления бурением и передаются в конкретные системы в сети управления бурением. Например, когда определенная версия программного приложения мешает одному или более процессам в системе управления, контроллер управления данными может отображать данные, связанные с версией, обратно с установки программного приложения на соответствующее устройство постоянного хранения данных и обратно на источник данных и время прибытия в сеть. [00226] Once the data is stored in persistent storage devices, various security protocols can be implemented in the drilling control network to ensure that the data is securely used by network devices throughout the drilling control network. For example, by maintaining the data in an appropriate persistent storage device, the drilling control network can maintain redundancy of data in the event that a network device such as a virtual machine or a software container completes operations on the corresponding data. Accordingly, the data controller and persistent storage devices can provide a well-defined data chain in connection with how data enters the drilling control network and is transmitted to specific systems in the drilling control network. For example, when a certain version of the software application interferes with one or more processes in the control system, the data management controller may map the version-related data back from the installation of the software application to the corresponding persistent storage device and back to the data source and network arrival time.

[00227] Возвращаясь к фиг. 20.1, на фиг. 20.1 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения устройство постоянного хранения данных (например, устройство (271) постоянного хранения данных А, устройство (272) постоянного хранения данных N) является виртуальной машиной или программным контейнером, который содержит функциональные средства для доступа к данным и/или предоставления данных в связи с заданным типом данных. Например, в некоторых вариантах реализации изобретения устройство постоянного хранения данных содержит функциональные средства для предоставления данных без использования контроллера управления данными в качестве промежуточного устройства, например, устройство постоянного хранения данных может напрямую принимать запросы на данные из сети управления бурением (например, сети (200) управления бурением Х). Таким образом, устройство постоянного хранения данных может быть децентрализовано и отделено от контроллера управления данными. [00227] Returning to FIG. 20.1, in fig. 20.1 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, a persistent storage device (e.g., persistent storage device (271) A, persistent storage device (272) N) is a virtual machine or software container that contains functionality for accessing data and/or providing data in connection with a given data type. For example, in some embodiments of the invention, the persistent storage device contains the functionality to provide data without using the data controller as an intermediate device, for example, the persistent storage device can directly receive requests for data from the drilling control network (for example, network (200) drilling control X). Thus, the persistent storage device can be decentralized and separated from the data management controller.

[00228] В некоторых вариантах реализации изобретения контроллер управления данными (например, контроллер (210) управления данными A) администрирует контролируемые по времени передачи данных больших объемов в сеть управления бурением. Например, контроллер управления данными может отслеживать сетевой трафик в сеть и из сети, чтобы определить заданный период времени, когда передача данных не мешает операциям добычи. Соответственно, поскольку удаленное сетевое соединение может быть соединением с низкой пропускной способностью, контроллер управления данными может выполнять передачу данных в течение одного или более периодов времени для завершения передачи данных. После получения данных в сети управления бурением контроллер управления данными может содержать функциональные средства, чтобы идентифицировать один или более заданных типов данных, связанных с данными, и сохранять данные в устройстве постоянного хранения данных, связанном с заданным типом данных.[00228] In some embodiments of the invention, the data control controller (eg, data control controller (210) A) manages time-controlled data transmissions of large volumes to the drilling control network. For example, the data controller may monitor network traffic to and from the network to determine a predetermined period of time when data transmission does not interfere with mining operations. Accordingly, since the remote network connection may be a low bandwidth connection, the data controller may perform data transmission for one or more time periods to complete the data transmission. Upon receipt of data on the drilling control network, the data management controller may comprise functionality to identify one or more predetermined data types associated with the data and store the data in a persistent storage device associated with the predetermined data type.

[00229] В одном или более вариантах реализации изобретения устройство постоянного хранения данных связано с образами программного обеспечения (например, образами (2081) программного обеспечения). Например, устройство постоянного хранения данных может содержать различные образы программного обеспечения для разных версий программного обеспечения, используемых сетевыми устройствами во всей сети управления бурением. Например, сеть (2000) управления бурением Х может содержать диспетчер (2055) конфигурации, который содержит аппаратные средства и/или программное обеспечение с функциональными средствами для определения того, существует ли обновление программного обеспечения для одного или более сетевых устройств. После обнаружения обновления программного обеспечения диспетчер (2055) конфигурации может получить доступ к устройству (2071) постоянного хранения данных A, чтобы получить образ программного обеспечения для соответствующего обновления программного обеспечения. В другом варианте реализации изобретения устройство постоянного хранения данных связано с конфигурациями сети для различных систем управления и другими сетевыми устройствами для различных условий работы сети. Таким образом, диспетчер конфигурации может настраивать сохранение сети и/или настраивать конфигурацию сети для различных виртуальных машин, контейнеров программного обеспечения и других сетевых устройств по всей сети управления бурением с помощью одного или более устройств постоянного хранения данных. [00229] In one or more embodiments of the invention, the persistent storage device is associated with software images (eg, software images (2081)). For example, a persistent storage device may contain different software images for different software versions used by network devices throughout the drilling control network. For example, the drilling control network (2000) X may comprise a configuration manager (2055) that contains hardware and/or software with the functionality to determine if a software update exists for one or more network devices. Upon detection of a software update, the configuration manager (2055) can access persistent storage device (2071) A to obtain a software image for the corresponding software update. In another embodiment of the invention, the persistent storage device is associated with network configurations for various control systems and other network devices for various network conditions. Thus, the configuration manager may set up network persistence and/or set up network configuration for various virtual machines, software containers, and other network devices throughout the drilling control network using one or more persistent storage devices.

[00230] В соответствии с фиг. 20.1 сеть (2000) управления бурением Х может дополнительно содержать различные сетевые устройства (например, системы (2015) управления, виртуальные машины (2040), устройства-хосты (2050), диспетчер (2060) служб виртуализации A). Например, сетевые устройства могут содержать одно или более устройств-хостов, которые содержат аппаратные средства и/или программное обеспечение, которые связаны с буровым оборудованием (например, один или более программируемых логических контроллеров (PLC)). Буровое оборудование может содержать противовыбросовый превентор (99), буровую установку (12) и другие компоненты, проиллюстрированные выше на фиг. 1 и рассмотренные в прилагаемом описании. [00230] Referring to FIG. 20.1, the drilling control network (2000) X may further comprise various network devices (e.g., control systems (2015), virtual machines (2040), host devices (2050), virtualization service manager (2060) A). For example, network devices may comprise one or more host devices that contain hardware and/or software that is associated with drilling equipment (eg, one or more programmable logic controllers (PLCs)). The drilling equipment may include a blowout preventer (99), a drilling rig (12), and other components illustrated above in FIG. 1 and discussed in the accompanying description.

[00231] PLC, связанные с устройствами-хостами, могут образовывать различные системы управления (например, системы (2015) управления), такие как различные системы управления операциями бурения и различные системы управления техническим обслуживанием. В частности, PLC могут содержать аппаратные средства и/или программное обеспечение с функциональными средствами для управления одним или более процессами, выполняемыми посредством буровой установки, включая, но, не ограничиваясь компонентами, проиллюстрированными на фиг. 1. В частности, PLC может управлять состояниями вентилей, уровнями флюида, давлениями в трубе, сигналами тревоги и/или сбросами давления по всей буровой установке. Кроме того, программируемый логический контроллер может быть компьютерной системой с повышенной устойчивостью к неблагоприятным условиям окружающей среды с функциональными средствами, позволяющими выдерживать вибрации, экстремальные температуры, влажные условия среды и/или пыльные условия среды, например, около буровой установки. [00231] PLCs associated with host devices may form various control systems (eg, control systems (2015)), such as various drilling operations control systems and various maintenance management systems. In particular, PLCs may comprise hardware and/or software functionality for controlling one or more of the processes performed by the drilling rig, including but not limited to the components illustrated in FIG. 1. Specifically, the PLC can control valve states, fluid levels, pipe pressures, alarms and/or depressurizations throughout the rig. Further, the programmable logic controller may be a ruggedized computer system with functionality to withstand vibration, extreme temperatures, wet environments, and/or dusty environments, such as near a drilling rig.

[00232] Что касается устройств постоянного хранения данных, в некоторых вариантах реализации изобретения устройство постоянного хранения данных связано с моделями данных (например, моделями (2082) данных). Модели данных могут содержать различные базы данных для геологических данных и данных добычи, данных бурения, трехмерных моделей, данных, не связанных со скважиной, полученных данных по операциям бурения и т. д. Аналогичным образом, модели данных могут также содержать разные версии одних и тех же данных, например данные, полученные в разные периоды времени, и/или обновленные версии данных на основании последующих операций бурения. Например, в одном или более процессах управления, выполняемых различными системами управления, могут использоваться модели данных для выполнения одной или более операций бурения. В другом варианте реализации изобретения пользователь анализирует прошлые операции бурения, используя одну или более моделей данных, полученных из устройств постоянного хранения данных. [00232] With regard to persistent storage devices, in some embodiments of the invention, the persistent storage device is associated with data models (eg, data models (2082)). Data models can contain different databases for geological and production data, drilling data, 3D models, non-well data, received drilling operations data, etc. Similarly, data models can also contain different versions of the same the same data, such as data acquired over different time periods and/or updated versions of the data based on subsequent drilling operations. For example, one or more control processes performed by different control systems may use data models to perform one or more drilling operations. In another embodiment of the invention, the user analyzes past drilling operations using one or more data models obtained from persistent data storage devices.

[00233] В соответствии с фиг. 20.2, диспетчер служб виртуализации (например, диспетчер А (2060) служб виртуализации) может содержать аппаратные средства и/или программное обеспечение, которые содержат функциональные средства для создания, прекращения работы, мониторинга и/или контроля одной или более виртуальных машин (например, виртуальной машины A (2041), виртуальной машины N (2042)) и/или программных контейнеров (например, программного контейнера A (2046), программного контейнера N (2047)), работающих на уровне служб виртуализации сети управления бурением. В некоторых вариантах реализации изобретения диспетчер служб виртуализации содержит гипервизор для управления одной или более виртуализированными средами в сети управления бурением. Например, службы виртуализации могут быть реализованы на одном или более уровнях сети в сети управления бурением, например, когда виртуальные машины и/или программные контейнеры работают на уровнях сети. Вместо реализации виртуальной машины или программного контейнера на отдельном устройстве-хосте, например, служба виртуализации может быть реализована с использованием виртуальной машины или программного контейнера, который работает на множестве устройств-хостов. Примеры служб виртуализации могут включать в себя управление данными месторождения среди PLC и/или бурового оборудования, управление виртуальной машиной, управление программным контейнером, распределение ресурсов памяти среди устройств-хостов в сети управления бурением, различные сетевые процессы для администрирования сети управления бурением и т. д. Например, диспетчер служб виртуализации может связываться с виртуальными машинами и программными контейнерами, чтобы останавливать и/или инициировать службы виртуализации, которые выполняются виртуальными машинами и программными контейнерами. [00233] Referring to FIG. 20.2, a virtualization services manager (e.g., virtualization services manager A (2060)) may contain hardware and/or software that contain functionality for creating, shutting down, monitoring, and/or controlling one or more virtual machines (e.g., a virtual machine). machine A (2041), virtual machine N (2042)) and/or software containers (for example, software container A (2046), software container N (2047)) operating at the drilling control network virtualization service level. In some embodiments of the invention, the virtualization services manager includes a hypervisor for managing one or more virtualized environments in the drilling control network. For example, virtualization services may be implemented at one or more network layers in a drilling control network, such as when virtual machines and/or software containers operate at the network layers. Instead of implementing a virtual machine or software container on a single host device, for example, a virtualization service may be implemented using a virtual machine or software container that runs on multiple host devices. Examples of virtualization services may include managing field data among PLCs and/or drilling equipment, managing a virtual machine, managing a software container, allocating memory resources among host devices in a drilling control network, various network processes for administering a drilling control network, etc. For example, the virtualization service manager may communicate with virtual machines and software containers to stop and/or start virtualization services that are running on the virtual machines and software containers.

[00234] В одном или более вариантах реализации изобретения устройство-хост содержит контроллер виртуализации (например, контроллер A (2031) виртуализации, контроллер N (2032) виртуализации), работающий в операционной системе хоста (например, операционной системе A (2021) хоста, операционной системе N (2022) хоста). Контроллер виртуализации может содержать аппаратные средства и/или программное обеспечение, которое содержит функциональные средства для осуществления связи с другими контроллерами виртуализации в сети управления бурением и/или реализации различных служб виртуализации в сети управления бурением. Например, контроллеры виртуализации могут представлять собой виртуальные машины и/или программные контейнеры, работающие на устройствах-хостах (2011, 2012). Службы виртуализации могут включать в себя сетевые процессы, которые выполняются на множестве сетевых устройств (например, устройствах-хостах (2011, 2012), элементах сети (2005), устройствах-хостах (2013)). [00234] In one or more embodiments of the invention, the host device comprises a virtualization controller (e.g., virtualization controller A (2031), virtualization controller N (2032) running on a host operating system (e.g., host operating system A (2021), operating system N (2022) host). The virtualization controller may include hardware and/or software that includes functionality for communicating with other virtualization controllers on the drilling control network and/or implementing various virtualization services on the drilling control network. For example, virtualization controllers can be virtual machines and/or software containers running on host devices (2011, 2012). Virtualization services may include network processes that run on multiple network devices (eg, host devices (2011, 2012), network elements (2005), host devices (2013)).

[00235] Кроме того, программный контейнер может представлять собой частный случай пользовательского пространства, реализованного посредством одного ядра операционной системы хоста (например, операционной системы A (2021) хоста, операционной системы N (2022) хоста). В частности, программный контейнер может представлять собой абстракцию на уровень приложений, которая позволяет изолированным процессам работать внутри программного контейнера. Аналогичным образом, множество программных контейнеров может работать на одном ядре операционной системы. Программные контейнеры могут включать в себя Docker-контейнеры, контейнеры Java™, контейнеры Windows-сервер®, и т. д. Напротив, виртуальная машина может включать в себя аппаратные средства и/или программное обеспечение, которое может обеспечить абстракцию физического аппаратного средства. Например, виртуальная машина может иметь независимую операционную систему, которая отделена от операционной системы хоста, причем виртуальная машина может работать на одном или более устройствах-хостах со специализированной памятью и другими компьютерными ресурсами. [00235] In addition, the software container may be a special case of user space implemented by a single host operating system kernel (eg, host operating system A (2021), host operating system N (2022). In particular, a software container may be an application layer abstraction that allows isolated processes to run within a software container. Similarly, multiple software containers can run on a single operating system core. Software containers may include Docker containers, Java™ containers, Windows Server® containers, etc. In contrast, a virtual machine may include hardware and/or software that may provide an abstraction of physical hardware. For example, the virtual machine may have an independent operating system that is separate from the host operating system, and the virtual machine may run on one or more host devices with dedicated memory and other computing resources.

[00236] Кроме того, диспетчер служб виртуализации (например, диспетчер А (2060) служб виртуализации) может администрировать и/или контролировать различные ресурсы устройства-хоста для виртуальных машин и/или программных контейнеров, работающих на уровне служб виртуализации. Аналогичным образом, общая архитектура виртуализации сети (2000) управления бурением может быть такой же, как и в случае когда операционная система хоста работает на платформе без операционной системы (например, аппаратной вычислительной системе) или в качестве виртуальной машины. Например, виртуальные машины и программные контейнеры могут осуществлять связь друг с другом на уровне служб виртуализации и запускать службы виртуализации согласованным образом. [00236] In addition, the virtualization services manager (eg, virtualization services manager A (2060)) can administer and/or monitor various host device resources for virtual machines and/or software containers running at the virtualization services layer. Likewise, the overall drilling control network (2000) virtualization architecture may be the same as when the host operating system runs on a non-operating system platform (eg, a hardware computing system) or as a virtual machine. For example, virtual machines and software containers can communicate with each other at the virtualization service layer and start the virtualization services in a consistent manner.

[00237] Кроме того, сеть управления бурением может содержать устройства пользователя, которые могут содержать аппаратные средства и/или программное обеспечение, подключенное к сети управления бурением. Устройства пользователя могут быть сетевыми устройствами, которые содержат функциональные средства для представления данных и/или приема входных данных от пользователя, относящихся к различным операциям бурения и/или операциям по техническому обслуживанию, выполняемым в сети управления бурением. Например, устройство пользователя может включать в себя персональные компьютеры, смартфоны, человеко-машинные интерфейсы и любые другие устройства, соединенные с сетью, которые получают входные данные от одного или более пользователей, например, посредством предоставления графического интерфейса пользователя (GUI). Аналогичным образом, устройство пользователя может представлять данные и/или принимать управляющие команды от пользователя для управления буровой установкой. Сетевой элемент может относиться к различным программным компонентам и/или компонентам аппаратных средств в сети, таким как коммутаторы, маршрутизаторы, концентраторы, оборудование пользователя или любые другие логические объекты для объединения одного или более физических устройств в сети. [00237] In addition, the drilling control network may include user devices, which may include hardware and/or software connected to the drilling control network. User devices may be network devices that contain functionality for presenting data and/or receiving input from a user related to various drilling operations and/or maintenance operations performed on the drilling control network. For example, a user device may include personal computers, smartphones, human-machine interfaces, and any other network-connected devices that receive input from one or more users, such as by providing a graphical user interface (GUI). Likewise, the user device may present data and/or receive control commands from the user to control the drilling rig. A network element may refer to various software and/or hardware components in a network, such as switches, routers, hubs, user equipment, or any other logical entities for connecting one or more physical devices in a network.

[00238] В то время как на фиг. 20.1 и 20.2 проиллюстрированы различные конфигурации компонентов, могут использоваться другие конфигурации, не выходя за пределы объема данного изобретения. Например, различные компоненты на фиг. 20.1 и 20.2 могут быть объединены для создания одного компонента. В качестве другого примера, функции, выполняемые одним компонентом, могут выполняться двумя или более компонентами. [00238] While in FIG. 20.1 and 20.2 illustrate various component configurations, other configurations may be used without departing from the scope of this invention. For example, the various components in FIG. 20.1 and 20.2 can be combined to create one component. As another example, functions performed by one component may be performed by two or more components.

[00239] Возвращаясь к фиг. 21, на фиг. 21 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 21 представлен способ хранения и/или предоставления данных сетевым устройствам в сети управления бурением. Один или более этапов на фиг. 21 могут быть выполнены посредством одного или более компонентов (например, контроллера А (2010) управления данными), как проиллюстрировано на фиг. 1, 2, 20.1 и 20.2. В то время как различные этапы на фиг. 21 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [00239] Returning to FIG. 21, in FIG. 21 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 21 shows a method for storing and/or providing data to network devices in a drilling control network. One or more steps in FIG. 21 may be performed by one or more components (eg, data controller A (2010)), as illustrated in FIG. 1, 2, 20.1 and 20.2. While the various steps in FIG. 21 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and that some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00240] На этапе 2100 устанавливают сетевое соединение между сетью управления бурением и удаленным устройством в соответствии с одним или более вариантами реализации изобретения. Например, сетевое соединение может быть сетевым соединением с низкой пропускной способностью, которое передает определенные данные буровой установки и/или общие данные буровой установки в сеть управления бурением. Сетевое соединение может быть установлено контроллером управления данными, работающим в сети управления бурением. В частности, сетевое соединение может быть установлено в заданные периоды времени и в течение определенных интервалов для обеспечения передачи данных без вмешательства в операции бурения или добычи. Например, заданные периоды времени могут соответствовать периодам, когда системы управления работают в автономном режиме и/или удаленные пользователи вряд ли будут получать доступ к сети управления бурением через удаленное сетевое соединение. [00240] At 2100, a network connection is established between the drilling control network and a remote device, in accordance with one or more embodiments of the invention. For example, the network connection may be a low bandwidth network connection that transmits certain rig data and/or general rig data to the drilling control network. The network connection may be established by a data controller operating on the drilling control network. In particular, a network connection may be established at predetermined times and intervals to allow data to be transmitted without interfering with drilling or production operations. For example, the predetermined time periods may correspond to periods when the control systems are offline and/or remote users are unlikely to access the drilling control network via a remote network connection.

[00241] На этапе 2110 данные получают по сетевому соединению и в сети управления бурением в соответствии с одним или более вариантами реализации изобретения. Для передачи данных в сеть управления бурением могут существовать различные ограничения. Например, сетевое соединение с низкой пропускной способностью может иметь высокую задержку и ограниченную доступность или время работы нисходящего канала связи. Таким образом, небольшие объемы данных могут передаваться без проблем, в то время как для передачи больших объемов данных может потребоваться много дней для выполнения передачи данных. Контроллер управления данными может поддерживать постоянную передачу данных в течение одного или более временных интервалов для получения данных на этапе 2110. [00241] At 2110, data is received over a network connection and in a drilling control network, in accordance with one or more embodiments of the invention. There may be various restrictions for transmitting data to the drilling control network. For example, a low bandwidth network connection may have high latency and limited downlink availability or uptime. Thus, small amounts of data can be transferred without problems, while large amounts of data may take many days to complete the data transfer. The data management controller may support continuous data transmission for one or more timeslots to receive data at 2110.

[00242] На этапе 2120 определяются одно или более устройств постоянного хранения данных, которые связаны с заданным типом данных в соответствии с одним или более вариантами реализации изобретения. Например, данные, полученные по сетевому соединению, могут быть идентифицированы на основании заданного набора типов данных. Например, данные могут включать в себя вложенные метаданные, которые определяют один или более типов данных для указанных данных. С другой стороны, контроллер управления данными или другое сетевое устройство может анализировать данные на основании отправителя данных для определения типов данных, связанных с указанными данными. [00242] At 2120, one or more persistent storage devices are determined that are associated with a given data type, in accordance with one or more embodiments of the invention. For example, data received over a network connection can be identified based on a given set of data types. For example, the data may include nested metadata that defines one or more data types for the specified data. On the other hand, the data management controller or other network device may analyze the data based on the sender of the data to determine the types of data associated with said data.

[00243] На этапе 2130 данные хранятся в одном или более устройствах постоянного хранения данных, связанных с заданным типом данных, в соответствии с одним или более вариантами реализации изобретения. В ответ на определение типа данных, связанных с указанными данными, данные могут быть переданы по сети управления бурением в соответствующее устройство постоянного хранения данных. Процесс сохранения может включать в себя запись отметки времени, когда данные были переданы источником и/или получены в сети управления бурением. Аналогичным образом, данные могут быть введены в одну или более баз данных для последующего доступа к ним. Например, если данные соответствуют образу программного обеспечения, контроллер управления данными может хранить образ программного обеспечения на основе версии программного обеспечения, а также любые системы управления, которые используют программные приложения на основе образа программного обеспечения. [00243] At 2130, data is stored in one or more persistent storage devices associated with a given data type, in accordance with one or more embodiments of the invention. In response to determining the type of data associated with said data, the data may be transmitted over the drilling control network to an appropriate persistent storage device. The storage process may include recording a timestamp of when the data was transmitted by the source and/or received on the drilling control network. Similarly, data may be entered into one or more databases for later access. For example, if the data matches the software image, the data controller may store the software image based on the software version, as well as any control systems that use software applications based on the software image.

[00244] На этапе 2140 данные предоставляются одному или более сетевым устройствам посредством одного или более устройств постоянного хранения данных в соответствии с одним или более вариантами реализации изобретения. Например, контроллер управления данными может выступать промежуточным устройством между получением запросов на данные и предоставлением доступа сетевым устройствам, запрашивающим данные. Кроме того, как только данные сохраняются в устройстве постоянного хранения данных, устройство постоянного хранения данных может соответственно напрямую получать запросы на данные и предоставлять доступ к данным. [00244] At 2140, data is provided to one or more network devices via one or more persistent storage devices, in accordance with one or more embodiments of the invention. For example, the data controller may act as an intermediary between receiving requests for data and granting access to network devices requesting data. In addition, once the data is stored in the persistent storage device, the persistent storage device can accordingly directly receive requests for data and grant access to the data.

[00245] В одном или более вариантах реализации изобретения данные предоставляются устройством постоянного хранения данных сетевым устройствам с помощью инсталляционного сервера. Например, инсталляционный сервер может реализовывать временный канал, который устанавливается и перекрывается для того, чтобы управлять авторизованным доступом к устройству постоянного хранения данных. Например, временный канал может ограничивать доступ к сетевому устройству определенными периодами времени и/или специально авторизованными сетевыми устройствами. Таким образом, временный канал может обеспечить коммуникационный путь между сетевыми устройствами, расположенными в разных зонах безопасности, в течение авторизованных периодов времени. В одном или более вариантах реализации изобретения временный канал представляет собой коммутируемое виртуальное соединение. Например, коммутируемое виртуальное соединение может включать аппаратные средства и/или программное обеспечение в двух зонах безопасности в сети управления бурением для реализации виртуального соединения. Таким образом, когда коммутируемое виртуальное соединение находится в состоянии «разомкнуто», виртуальное соединение не может быть установлено через временный канал. Когда коммутируемое виртуальное соединение находится в состоянии «замкнуто», образуется виртуальное соединение, которое соответствует временному виртуальному каналу. Затем временный виртуальный канал может обеспечить передачу сетевого трафика, такого как данные постоянного хранения, между двумя зонами безопасности. [00245] In one or more embodiments of the invention, data is provided by a persistent storage device to network devices using an installation server. For example, the installation server may implement a temporary channel that is established and closed in order to manage authorized access to a persistent storage device. For example, a temporary channel may restrict access to a network device to certain periods of time and/or to specially authorized network devices. Thus, a temporary channel can provide a communication path between network devices located in different security zones during authorized periods of time. In one or more embodiments of the invention, the temporary channel is a switched virtual connection. For example, the switched virtual connection may include hardware and/or software in two security zones in the drilling control network to implement the virtual connection. Thus, when the switched virtual connection is in the "open" state, the virtual connection cannot be established through the temporary channel. When a switched virtual connection is in the "closed" state, a virtual connection is formed that corresponds to a temporary virtual circuit. The temporary virtual circuit can then provide network traffic, such as persistent data, between the two security zones.

[00246] На этапе 2150 одна или более цепочек передачи данных определяются для данных, предоставляемых одному или более сетевым устройствам, в соответствии с одним или более вариантами реализации изобретения. В частности, цепочка передачи данных может включать информацию о том, как данные принимаются и используются сетевыми устройствами в сети управления бурением. Например, цепочка передачи данных может быть определена и/или сохранена устройством постоянного хранения данных, контроллером управления данными или другим сетевым устройством в сети управления бурением. В некоторых вариантах реализации изобретения цепочка передачи данных описывает источник (например, идентификационную информацию для удаленного устройства, которое передает конкретные данные в сеть управления бурением), информацию о дате, такую как одна или более временных отметок, и другую информацию относительно того, когда данные поступают в сеть управления бурением и передаются на одно или более устройств постоянного хранения данных. Цепочка передачи данных также может описывать использование данных различными сетевыми устройствами, получающими доступ к данным из соответствующего устройства постоянного хранения данных. В некоторых вариантах реализации изобретения цепочка передачи данных включает информацию, касающуюся использования конкретных данных в операциях технологической подготовки, операциях проверки и/или операциях добычи.[00246] At 2150, one or more data chains are determined for data provided to one or more network devices, in accordance with one or more embodiments of the invention. In particular, the data chain may include information about how data is received and used by network devices in the drilling control network. For example, the communication chain may be defined and/or stored by a persistent storage device, a data management controller, or other network device in the drilling control network. In some embodiments of the invention, the data chain describes the source (for example, identification information for the remote device that transmits specific data to the drilling control network), date information, such as one or more timestamps, and other information regarding when the data arrives. to the drilling control network and transmitted to one or more persistent storage devices. A data chain may also describe the use of data by various network devices accessing data from a corresponding persistent storage device. In some embodiments of the invention, the data communication chain includes information regarding the use of specific data in technological preparation operations, verification operations, and/or production operations.

[00247] В некоторых вариантах реализации изобретения для определения цепочки передачи данных контроллер управления данными записывает отметку времени, информацию о версии, запросы данных, историю редактирования и другие метаданные, касающиеся данных, связанных с одним или более устройствами постоянного хранения данных. Например, контроллер управления данными может регистрировать любые запросы данных, передаваемые сетевыми устройствами на устройство постоянного хранения данных. Аналогичным образом, контроллер управления данными может записывать модификации программного обеспечения и других данных, созданных во время операций технологической подготовки, операций проверки и/или операций добычи. Таким образом, устройство постоянного хранения данных может содержать несколько версий одних и тех же данных на основании изменений, внесенных в данные при выходе из устройства постоянного хранения данных и/или возврате в устройство постоянного хранения данных. [00247] In some embodiments of the invention, to determine the data transmission chain, the data controller records the timestamp, version information, data requests, edit history, and other metadata regarding data associated with one or more persistent storage devices. For example, the data management controller may log any data requests transmitted by the network devices to the persistent storage device. Likewise, the data management controller may record modifications to software and other data generated during pre-production operations, verification operations, and/or production operations. Thus, a persistent storage device may contain multiple versions of the same data based on changes made to the data when exiting the persistent storage device and/or returning to the persistent storage device.

[00248] В некоторых вариантах реализации изобретения сетевое устройство или оператор анализирует цепочку передачи данных, чтобы идентифицировать одну или более проблем в сети управления бурением. Например, если модифицированный программный код создает неисправную систему управления, цепочка передачи данных может определить, когда программный код был модифицирован одним или более сетевыми устройствами. Аналогичным образом, с помощью цепочки передачи данных могут быть идентифицированы другие образы программного обеспечения, которые имели аналогичные модификации. И напротив, без цепочки передачи данных дата, тип и/или источник модификации могут быть неизвестны во время анализа неисправной системы управления. [00248] In some embodiments of the invention, the network device or operator analyzes the communication chain to identify one or more problems in the drilling control network. For example, if the modified program code creates a faulty control system, the communication chain can determine when the program code has been modified by one or more network devices. Similarly, other software images that have had similar modifications can be identified using the data chain. Conversely, without a data chain, the date, type, and/or source of the modification may not be known at the time of analysis of the failed control system.

[00249] Возвращаясь к фиг. 22, на фиг. 22 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 22 проиллюстрирован способ доступа к данным из одного или более устройств постоянного хранения данных в сети управления бурением. Один или более этапов на фиг. 22 могут быть выполнены посредством одного или более компонентов (например, контроллера А (2010) управления данными), как проиллюстрировано на фиг. 1, 2, 20.1 и/или 20.2. В то время как различные этапы на фиг. 22 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [00249] Returning to FIG. 22, in FIG. 22 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 22 illustrates a method for accessing data from one or more persistent storage devices in a drilling control network. One or more steps in FIG. 22 may be performed by one or more components (eg, data controller A (2010)), as illustrated in FIG. 1, 2, 20.1 and/or 20.2. While the various steps in FIG. 22 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00250] На этапе 2200 запрос данных поступает от сетевого устройства в сети управления бурением в соответствии с одним или более вариантами реализации изобретения. Например, пользователь может предоставить пользовательский ввод на устройстве пользователя в сети управления бурением для доступа к данным в устройстве постоянного хранения данных. Запрос может быть сообщением, которое идентифицирует данные, устройство постоянного хранения данных с данными и/или тип данных, связанный с указанными данными. Таким образом, запрос может быть передан непосредственно в соответствующее устройство постоянного хранения данных. В другом варианте реализации изобретения контроллер управления данными может идентифицировать устройство постоянного хранения данных с данными, например, на основании заданного типа данных, и соответственно передать запрос. [00250] At 2200, a request for data is received from a network device in a drilling control network, in accordance with one or more embodiments of the invention. For example, a user may provide user input on a user device on a drilling control network to access data on a persistent storage device. The request may be a message that identifies the data, a data persistence device, and/or a data type associated with said data. Thus, the request can be transferred directly to the appropriate persistent storage device. In another embodiment of the invention, the data management controller may identify a persistent storage device with data, for example, based on a predetermined data type, and send a request accordingly.

[00251] На этапе 2210 определяют, соответствуют ли одно или более условий работы сети для сети управления бурением одному или более условиям добычи в соответствии с одним или более вариантами реализации изобретения. Например, контроллер управления данными, устройство постоянного хранения данных и/или другое сетевое устройство могут отслеживать сеть управления бурением, чтобы определить, идентифицируют ли условия работы сети операции бурения или операции добычи, происходящие в сети. Например, диспетчер служб виртуализации может определить, присутствуют ли в сети операции бурения и/или операции добычи, и передать уведомление о том, что условия работы сети представляют собой условия добычи. [00251] At step 2210, it is determined whether one or more network conditions for the drilling control network correspond to one or more production conditions in accordance with one or more embodiments of the invention. For example, the data controller, persistent storage device, and/or other network device may monitor the drilling control network to determine if network conditions identify drilling operations or production operations occurring on the network. For example, the virtualization service manager may determine whether drilling operations and/or production operations are present in the network and send a notification that the network conditions are production conditions.

[00252] На этапе 2220 определяют, какие устройства постоянного хранения данных связаны с одним или более условиями работы сети в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения, например, устройства постоянного хранения данных могут быть разделены на основании того, используются ли данные для условий технологической подготовки или условий добычи. В частности, устройства постоянного хранения данных для условий добычи могут содержать образы программного обеспечения, модели данных и другие типы данных, которые используются в операциях бурения или операциях добычи. Таким образом, данные могут быть проверены и подтверждены одной или более системами управления как постоянные для использования одной или более системами управления. Аналогичным образом, промежуточные устройства постоянного хранения данных могут содержать непроверенные данные и/или данные, подвергаемые проверке сетью управления бурением. [00252] At 2220, it is determined which persistent storage devices are associated with one or more network conditions, in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, for example, persistent data storage devices can be separated based on whether the data is used for processing conditions or production conditions. In particular, production persistence data storage devices may contain software images, data models, and other types of data that are used in drilling or production operations. Thus, data can be verified and validated by one or more control systems as permanent for use by one or more control systems. Similarly, intermediate persistent storage devices may contain unverified data and/or data subject to verification by the drilling control network.

[00253] Например, в некоторых вариантах реализации изобретения множество устройств постоянного хранения данных расположены в репозитории данных. В репозитории данных промежуточные устройства постоянного хранения данных отделены от постоянных производственных хранилищ. Например, во время обычной работы буровой установки системы управления на буровой установке связаны с постоянными производственными хранилищами. Во время промежуточных испытаний системы управления переключаются на промежуточные устройства постоянного хранения данных для предотвращения повреждения данных по добыче и нарушения безопасности версий программного обеспечения на этапе испытаний. Более того, во время технологической подготовки постоянные производственные хранилища могут стать резервной копией данных для различных систем управления и сетевых устройств в сети управления бурением. [00253] For example, in some embodiments of the invention, a plurality of persistent storage devices are located in a data repository. In a data repository, intermediate persistent storage devices are separated from persistent production stores. For example, during normal operation of a drilling rig, the control systems on the drilling rig are linked to permanent production storage facilities. During intermediate testing, control systems are switched to intermediate persistent storage devices to prevent damage to production data and compromise the security of software versions during the testing phase. Moreover, during production preparation, permanent production storages can become a backup copy of data for various control systems and network devices in the drilling control network.

[00254] На этапе 2230 данные передаются в сетевое устройство с помощью одного или более устройств постоянного хранения данных, связанных с одним или более условиями работы сети, в соответствии с одним или более вариантами реализации изобретения. [00254] At 2230, data is transferred to the network device using one or more persistent storage devices associated with one or more network conditions, in accordance with one or more embodiments of the invention.

[00255] Обратимся к фиг. 23, на фиг. 23 предоставлен пример обновления программного обеспечения посредством архитектуры хранения данных для сети управления бурением. Следующий пример приводится исключительно с целью пояснения, но не ограничения объема раскрытой технологии.[00255] Referring to FIG. 23, in FIG. 23 provides an example of a software upgrade through a storage architecture for a drilling control network. The following example is provided solely for the purpose of illustrating and not limiting the scope of the disclosed technology.

[00256] На фиг. 23 проиллюстрирован контроллер Z (2310) управления данными, связанный с производственной виртуальной машиной R (2342), работающей на диспетчере O (2360) служб виртуализации, различными системами Q (2315) управления, промежуточным хранилищем (2371) для образов программного обеспечения и производственным хранилищем (2372) для образов программного обеспечения. Контроллер Z (2310) управления данными контролирует системы Q (2315) управления для обнаружения различных условий (2305) работы сети, связанных с сетью управления бурением (не проиллюстрирована). Первоначально контроллер Z (2310) управления данными получает запрос на обновление программного обеспечения в производственной виртуальной машине R (2342). Промежуточная виртуальная машина R (2341) или диспетчер O (2360) служб виртуализации могут передавать запрос в контроллер Z (2310) управления данными. В другом варианте реализации изобретения контроллер Z (2310) управления данными автоматически обнаруживает начальное обновление (2325) программного обеспечения для программного приложения, работающего в производственной виртуальной машине R (2342), например, посредством доступа к Интернету. [00256] FIG. 23 illustrates a data management controller Z (2310) associated with a production virtual machine R (2342) running on a virtualization services manager O (2360), various management systems Q (2315), a staging store (2371) for software images, and a production storage (2372) for software images. The data controller Z (2310) monitors the control systems Q (2315) to detect various network conditions (2305) associated with a drilling control network (not illustrated). Initially, the data controller Z (2310) receives a request to update the software in the production virtual machine R (2342). The intermediate virtual machine R (2341) or the virtualization services manager O (2360) may send a request to the data controller Z (2310). In another embodiment, the data controller Z (2310) automatically detects the initial software update (2325) for the software application running in the production virtual machine R (2342), for example, via Internet access.

[00257] В ответ на получение запроса на обновление программного обеспечения контроллер Z (2310) управления данными и/или диспетчер O (2360) служб виртуализации определяют, происходят ли операции добычи в сети управления бурением. Как только операции добычи прекращаются, диспетчер O (2360) служб виртуализации завершает работу производственной виртуальной машины R (2342) и создает промежуточную виртуальную машину R (2341). Промежуточная виртуальная машина R (2341) может быть экземпляром виртуальной машины с функциональными средствами аналогично производственной виртуальной машине R (2342). Например, промежуточная виртуальная машина R (2341) может содержать дополнительные функциональные средства для отладки и/или мониторинга программных процессов или процессов аппаратных средств, выполняемых в связи с промежуточной виртуальной машиной R (2341). [00257] In response to receiving a software update request, the data management controller Z (2310) and/or the virtualization services manager O (2360) determine whether production operations are occurring on the drilling control network. As soon as mining operations stop, the virtualization services manager O (2360) shuts down the production R virtual machine (2342) and creates an intermediate R virtual machine (2341). The intermediate virtual machine R (2341) may be a virtual machine instance with functionality similar to the production virtual machine R (2342). For example, the intermediate virtual machine R (2341) may contain additional functionality for debugging and/or monitoring software processes or hardware processes running in connection with the intermediate virtual machine R (2341).

[00258] Таким образом, диспетчер O (2360) служб виртуализации может испытывать начальное обновление (2325) программного обеспечения на промежуточной виртуальной машине R (2341) перед реализацией в производственной виртуальной машине R (2342). Таким образом, диспетчер O (2360) служб виртуализации может проверять, является ли версия программного обеспечения на промежуточной виртуальной машине R (2341) стабильной и способной выполнять различные процессы управления в условиях испытания перед реализацией в фактических производственных условиях. Аналогичным образом, программный код в начальном обновлении (2325) программного обеспечения может быть модифицирован на промежуточной виртуальной машине R (2341), например, путем изменения настроек конфигурации, настройки процессов, связанных с обновлением программного обеспечения, в соответствии с операциями, выполняемыми одной или более системами управления, и т. д.[00258] Thus, the virtualization services manager O (2360) may experience an initial software update (2325) on the staging R virtual machine (2341) before implementation in the production R virtual machine (2342). Thus, the virtualization services manager O(2360) can check whether the software version on the R(2341) staging virtual machine is stable and capable of performing various control processes under test conditions before implementation in actual production conditions. Similarly, the program code in the initial software update (2325) can be modified on the intermediate virtual machine R (2341), for example, by changing the configuration settings, customizing the processes associated with the software update, in accordance with the operations performed by one or more control systems, etc.

[00259] Как только создана промежуточная виртуальная машина R (2341), контроллер Z (2310) управления данными обращается к промежуточному хранилищу (2371), где хранится начальное обновление (2325) программного обеспечения. Затем контроллер Z (2310) управления данными передает начальное обновление (2325) программного обеспечения в промежуточную виртуальную машину R (2341) для установки. Промежуточная виртуальная машина R (2341) может управлять обновленным программным обеспечением, вносить изменения в начальное обновление (2325) программного обеспечения и проводить различные испытания для заменяющей виртуальной машины, пока не будет определено, что обновленное программное обеспечение может использоваться в производственной виртуальной машине. [00259] Once the intermediate virtual machine R (2341) is created, the data controller Z (2310) accesses the intermediate storage (2371) where the initial software update (2325) is stored. The data controller Z (2310) then transfers the initial software update (2325) to the intermediate virtual machine R (2341) for installation. The staging virtual machine R (2341) can manage the updated software, make changes to the initial software update (2325) and perform various tests on the replacement virtual machine until it is determined that the updated software can be used in the production virtual machine.

[00260] Кроме того, начальное обновление (2325) программного обеспечения или модифицированное обновление программного обеспечения может быть дополнительно проверено оператором, другими сетевыми устройствами, другими промежуточными виртуальными машинами и т. д. После проверки проверенное обновление (2326) программного обеспечения может быть помещено в промежуточное хранилище (2371) и/или производственное хранилище (2372), если обновление готово к применению в операциях бурения. Таким образом, контроллер Z (2310) управления данными может затем передать копии проверенного обновления (2326) программного обеспечения на сетевые устройства в сети управления бурением. [00260] In addition, the initial software update (2325) or modified software update can be further verified by the operator, other network devices, other intermediate virtual machines, etc. After verification, the verified software update (2326) can be placed in intermediate storage (2371) and/or production storage (2372) if the update is ready for use in drilling operations. Thus, the data controller Z (2310) can then send copies of the verified software update (2326) to network devices in the drilling control network.

[00261] Интеграция интеллектуального устройства датчика [00261] Sensor Smart Device Integration

[00262] В общем, варианты реализации изобретения включают систему, устройство датчика и различные способы передачи данных датчика по сети управления бурением. Возвращаясь к фиг. 24, на фиг. 24 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. Как проиллюстрировано на фиг. 24, сеть управления бурением (2430) может содержать человеко-машинный интерфейс (HMI) (например, HMI (2433)), сервер архивных данных (например, сервер архивных данных (2437)) и различные элементы сети (например, элементы (2431) сети). Человеко-машинный интерфейс может представлять собой аппаратные средства и/или программное обеспечение, связанное с сетью (2430) управления бурением. Например, HMI (2433) может позволять оператору взаимодействовать с буровой системой, например, отправлять команду для управления оборудованием или просматривать информацию датчиков, поступающую с бурового оборудования. Человеко-машинный интерфейс может содержать функциональные средства для представления данных и/или получения от пользователя входных данных относительно различных операций бурения и/или операций по техническому обслуживанию. Например, человеко-машинный интерфейс может включать в себя программное обеспечение для обеспечения графического интерфейса пользователя (GUI) для представления данных и/или приема команд управления для эксплуатации буровой установки. Элемент сети может относиться к различным компонентам аппаратных средств в сети, таким как коммутаторы, маршрутизаторы, концентраторы или любые другие логические объекты для объединения одного или более физических устройств в сети. В частности, сетевой элемент, человеко-машинный интерфейс и/или сервер архивных данных могут быть вычислительной системой, аналогичной вычислительной системе (3400), проиллюстрированной на фиг. 34.1 и 34.2, и описанной в прилагаемом описании. [00262] In general, embodiments of the invention include a system, a sensor device, and various methods for transmitting sensor data over a drilling control network. Returning to FIG. 24, in FIG. 24 illustrates a block diagram of a system in accordance with one or more embodiments of the invention. As illustrated in FIG. 24, the drilling control network (2430) may include a human machine interface (HMI) (for example, HMI (2433)), an archive server (for example, an archive server (2437)) and various network elements (for example, elements (2431) networks). The human-machine interface may be hardware and/or software associated with the drilling control network (2430). For example, the HMI (2433) may allow an operator to interact with the drilling system, such as sending a command to control the equipment or viewing sensor information from the drilling equipment. The human-machine interface may include functionality for presenting data and/or receiving user input regarding various drilling and/or maintenance operations. For example, the human-machine interface may include software for providing a graphical user interface (GUI) for presenting data and/or receiving control commands for operating a drilling rig. A network element may refer to various hardware components in a network, such as switches, routers, hubs, or any other logical entity for connecting one or more physical devices in a network. In particular, the network element, the human-machine interface, and/or the archive server may be a computing system similar to the computing system (3400) illustrated in FIG. 34.1 and 34.2, and described in the accompanying description.

[00263] В одном или более вариантах реализации изобретения интеллектуальное устройство датчика (например, интеллектуальное устройство X (2420) датчика) соединено с сетью (2430) управления бурением. В частности, интеллектуальное устройство датчика может содержать аппаратные средства и/или программное обеспечение, которое содержит функциональные средства для получения одного или более измерений датчиков, например, измерения датчика в отношении состояния окружающей среды в непосредственной близости от интеллектуального устройства датчика. Интеллектуальное устройство датчика может обрабатывать измерения датчиков с их преобразованием в различные типы данных датчиков (например, данных (2417) датчика). Например, интеллектуальное устройство X (2420) датчика может содержать функциональные средства для преобразования измерений датчиков, полученных из системы датчика (например, системы (2424) датчика), в формат протокола связи, который может передаваться по сети (2430) управления бурением посредством интерфейса связи (например, интерфейса (2421) связи). Интеллектуальные устройства датчиков могут включать в себя датчики давления, датчики крутящего момента, поворотные переключатели, датчики веса, датчики положения, микропереключатели и т. д. [00263] In one or more embodiments of the invention, a sensor smart device (eg, sensor smart device X (2420)) is connected to the drilling control network (2430). In particular, the sensor smart device may comprise hardware and/or software that contains functionality for obtaining one or more sensor measurements, eg, sensor measurements with respect to the state of the environment in close proximity to the sensor smart device. The sensor smart device can process the sensor measurements into various types of sensor data (eg, sensor data (2417)). For example, the sensor smart device X (2420) may include functionality for converting sensor measurements received from a sensor system (e.g., sensor system (2424)) into a communication protocol format that can be transmitted over the drilling control network (2430) via a communication interface. (eg, communication interface (2421)). Sensor smart devices can include pressure sensors, torque sensors, rotary switches, weight sensors, position sensors, microswitches, etc.

[00264] Кроме того, интеллектуальное устройство датчика может содержать процессор (например, процессор (2421)), интерфейс связи (например, интерфейс (2422) связи), запоминающее устройство (например, запоминающее устройство (2423)) и систему датчика (например, систему (2424) датчика). Процессор может быть аналогичен компьютерному процессору (3402), представленному ниже на фиг. 34.1 и в прилагаемом описании. Интерфейс (2422) связи может быть аналогичен интерфейсу (3412) связи, представленному ниже на фиг. 34.1 и в прилагаемом описании. Запоминающее устройство (2423) может быть аналогичным непостоянному запоминающему устройству (3404) и/или постоянному запоминающему устройству (3406), представленному ниже на фиг. 34.1 и в прилагаемом описании. Система (2424) датчика может быть аналогичной различным датчикам (например, датчику (94) нагрузки на крюк, датчику (95) блока, датчику (92) давления и т. д.), представленным на фиг. 1 и в прилагаемом описании. [00264] Further, the sensor smart device may include a processor (e.g., processor (2421)), a communication interface (e.g., communication interface (2422)), a storage device (e.g., memory (2423)) and a sensor system (e.g., sensor system (2424). The processor may be similar to the computer processor (3402) shown in FIG. 34.1 and in the accompanying description. The communication interface (2422) may be similar to the communication interface (3412) shown below in FIG. 34.1 and in the accompanying description. The storage device (2423) may be similar to the non-persistent storage device (3404) and/or the persistent storage device (3406) shown below in FIG. 34.1 and in the accompanying description. The sensor system (2424) may be similar to various sensors (eg, hook load sensor (94), block sensor (95), pressure sensor (92), etc.) shown in FIG. 1 and in the accompanying description.

[00265] В одном или более вариантах реализации изобретения сеть (2430) управления бурением может содержать буровое оборудование (например, буровое оборудование (2432)), такое как буровая лебедка (60), верхний привод, буровые насосы и другие компоненты, представленные выше на фиг. 1 и в прилагаемом описании). Сеть (2430) управления бурением может дополнительно содержать различные системы управления операциями бурения (например, системы (2435) управления операциями бурения) и различные системы управления техническим обслуживанием (например, системы (2436) управления техническим обслуживанием). Системы управления операциями бурения и/или системы управления техническим обслуживанием могут содержать, например программируемый логический контроллер (PLC), который содержит аппаратные средства и/или программное обеспечение с функциональными средствами для управления одним или более процессами, выполняемыми посредством буровой установки, включая, но, не ограничиваясь компонентами, проиллюстрированными на фиг. 1. В частности, программируемый логический контроллер может управлять состояниями вентилей, уровнями флюида, давлениями в трубе, сигналами тревоги и/или сбросами давления по всей буровой установке. В частности, программируемый логический контроллер может быть компьютерной системой с повышенной устойчивостью к неблагоприятным условиям окружающей среды с функциональными средствами, позволяющими выдерживать вибрации, экстремальные температуры, влажные условия среды и/или пыльные условия среды, например, около буровой установки. Без ограничения общности термин «система управления» может относиться к системе управления операциями бурения, используемой для эксплуатации и контроля оборудования, системы сбора и мониторинга данных бурения, которая используется для сбора данных о процессе бурения и оборудовании, а также для мониторинга операции процесса бурения, или системе программного обеспечения для интерпретации бурения, которая используется для анализа и понимания хода бурения и событий в связи с бурением.[00265] In one or more embodiments, the drilling control network (2430) may include drilling equipment (e.g., drilling equipment (2432)), such as a drawworks (60), top drive, mud pumps, and other components shown above in fig. 1 and in the accompanying description). The drilling management network (2430) may further comprise various drilling operations management systems (eg, drilling operations management systems (2435)) and various maintenance management systems (eg, maintenance management systems (2436)). Drilling operations control systems and/or maintenance management systems may include, for example, a programmable logic controller (PLC) that contains hardware and/or software with functionality to control one or more processes performed by a drilling rig, including, but, without being limited to the components illustrated in FIG. 1. In particular, the programmable logic controller may control valve states, fluid levels, pipe pressures, alarms, and/or depressurizations throughout the rig. In particular, the programmable logic controller may be a ruggedized computer system with functionality to withstand vibration, extreme temperatures, wet environments, and/or dusty environments, such as near a drilling rig. Without loss of generality, the term "control system" may refer to a drilling operations control system used to operate and control equipment, a drilling data acquisition and monitoring system that is used to collect data on the drilling process and equipment, and to monitor the operation of the drilling process, or a drilling interpretation software system that is used to analyze and understand drilling progress and events associated with drilling.

[00266] Кроме того, системы управления операциями бурения и/или системы управления техническим обслуживанием могут относиться к системам управления, которые содержат множество PLC в сети (2430) управления бурением. Например, система управления может содержать функциональные средства для операций управления в пределах системы, блока и/или субблока, проиллюстрированных выше на фиг. 1 и в прилагаемом описании. Таким образом, одна или более систем (2435) управления операциями бурения могут содержать функциональные средства для мониторинга и/или выполнения различных процессов бурения в отношении системы циркуляции бурового раствора, вращающейся системы, подъемной системы, системы подачи труб и/или разных других буровых работ, представленных на фиг. 1 и в прилагаемом описании. Аналогичным образом, одна или более систем (2436) управления техническим обслуживанием может содержать функциональные средства для контроля и/или выполнения различных работ по техническому обслуживанию, относящихся к буровому оборудованию, расположенному около буровой установки. В то время как системы управления операциями бурения и системы управления техническим обслуживанием проиллюстрированы как отдельные устройства на фиг. 24, в одном или более вариантах реализации изобретения программируемый логический контроллер и другое буровое оборудование (2432) на буровой установке может одновременно использоваться в системе управления операциями бурения и в системе управления техническим обслуживанием. [00266] Additionally, drilling operations control systems and/or maintenance management systems may refer to control systems that comprise a plurality of PLCs in the drilling control network (2430). For example, the control system may include functionality for control operations within the system, block, and/or sub-block illustrated above in FIG. 1 and in the accompanying description. Thus, one or more drilling control systems (2435) may include functionality for monitoring and/or performing various drilling operations in relation to a mud circulation system, a rotary system, a lifting system, a pipe supply system, and/or various other drilling operations, shown in FIG. 1 and in the accompanying description. Similarly, one or more maintenance management systems (2436) may include functionality to monitor and/or perform various maintenance activities related to drilling equipment located near the drilling rig. While drilling operations control systems and maintenance management systems are illustrated as separate devices in FIG. 24, in one or more embodiments of the invention, a programmable logic controller and other drilling equipment (2432) on a drilling rig may be used simultaneously in a drilling operations control system and a maintenance management system.

[00267] В одном или более вариантах реализации изобретения интеллектуальное устройство датчика содержит функциональные средства для установки сетевого соединения (например, сетевого соединения (2440)) с одним или более устройствами и/или системами (например, сетевым контроллером (2438), системами (2435) управления операцией бурения, системами (2436) управления техническим обслуживанием) в сети управления бурением. Например, в одном или более вариантах реализации изобретения сетевое соединение (2440) может быть соединением Ethernet, которое устанавливает адрес Интернет-протокола (IP) для интеллектуального устройства X (2420) датчика. Соответственно, одно или более устройств и/или систем в сети (2430) управления бурением могут передавать пакеты данных на интеллектуальное устройство X (2420) датчика и/или принимать пакеты данных от интеллектуального устройства X (2420) датчика с помощью протокола сети Ethernet. Например, данные датчика (например, данные (2415) датчика) могут отправляться по сети (2430) управления бурением в пакетах данных с помощью протокола связи. Данные датчика могут содержать результаты измерений датчика, обработанные данные датчика на основании одного или более базовых измерений или параметров датчика, метаданные, относящиеся к устройству датчика, такие как временные отметки и идентификационная информация устройства датчика, атрибуты содержимого, информацию о конфигурации датчика, такую как смещение, коэффициенты преобразования и т. д. Таким образом, интеллектуальное устройство X (2420) датчика может действовать в качестве устройства-хоста в сети (2430) управления бурением, например в качестве узла сети и/или терминала в сети (2430) управления бурением. В одном варианте реализации изобретения один или более интеллектуальных датчиков могут подключаться к сети управления бурением по сети с питанием через Ethernet.[00267] In one or more embodiments of the invention, the sensor smart device comprises the functionality to establish a network connection (e.g., network connection (2440)) with one or more devices and/or systems (e.g., network controller (2438), systems (2435 ) drilling operation management, maintenance management systems (2436) in the drilling management network. For example, in one or more embodiments of the invention, the network connection (2440) may be an Ethernet connection that establishes an Internet Protocol (IP) address for the smart device X (2420) of the sensor. Accordingly, one or more devices and/or systems in the drilling control network (2430) may transmit data packets to the sensor smart device X (2420) and/or receive data packets from the sensor smart device X (2420) using the Ethernet network protocol. For example, sensor data (eg, sensor data (2415)) may be sent over the drilling control network (2430) in data packets using a communication protocol. Sensor data may include sensor measurements, processed sensor data based on one or more underlying measurements or sensor parameters, sensor device related metadata such as timestamps and sensor device identification information, content attributes, sensor configuration information such as offset , conversion factors, etc. Thus, the sensor smart device X (2420) can act as a host device in the drilling control network (2430), for example, as a network node and/or terminal in the drilling control network (2430). In one embodiment of the invention, one or more smart sensors may be connected to the drilling control network via a Power over Ethernet network.

[00268] В одном или более вариантах реализации изобретения сеть (2430) управления бурением может содержать коммуникационную шину (например, коммуникационную шину (2439)). Например, коммуникационная шина (2439) может содержать аппаратные средства, такие как компоненты сети, провода, оптоволокно и т. д., которые могут соединять один или более сетевых элементов в сети (2430) управления бурением. Аналогичным образом, коммуникационная шина (2439) может содержать программное обеспечение, такое как один или более протоколов связи, которые содержат функциональные средства для передачи данных датчика между устройствами, например интеллектуальным устройством X (2420) датчика и различными системами управления в сети (2430) управления бурением. Кроме того, сеть (2430) управления бурением может содержать различные элементы сети (например, элементы (2431) сети) и/или оборудование пользователя на буровой площадке (например, оборудование (2434) пользователя на буровой площадке). Например, оборудование пользователя на буровой площадке может включать в себя телефонную сеть, персональные компьютеры для разных пользователей, принтеры, серверы приложений и/или файловые серверы, расположенные около буровой установки. [00268] In one or more embodiments of the invention, the drilling control network (2430) may comprise a communication bus (eg, communication bus (2439)). For example, the communication bus (2439) may include hardware, such as network components, wires, optical fibers, etc., that may connect one or more network elements in the drilling control network (2430). Similarly, the communication bus (2439) may contain software, such as one or more communication protocols, that contain the functionality to transfer sensor data between devices, such as a sensor smart device X (2420) and various control systems in the control network (2430). drilling. In addition, the drilling control network (2430) may comprise various network elements (eg, network elements (2431)) and/or user equipment at the wellsite (eg, user equipment (2434) at the wellsite). For example, user equipment at the well site may include a telephone network, personal computers for different users, printers, application servers, and/or file servers located near the drilling rig.

[00269] Сеть (2430) управления бурением может дополнительно содержать сетевой контроллер (2438). Например, в одном или более вариантах реализации изобретения сетевой контроллер (2438) содержит программное обеспечение и/или аппаратные средства, которые содержат функциональные средства для приема запросов от систем управления на подписку на соответствующие устройства датчиков. Аналогичным образом, сетевой контроллер (2438) может реализовывать один или более протоколов связи для передачи данных датчиков по всей сети (2430) управления бурением. Например, сетевой контроллер (2438) может быть контроллером программно-конфигурируемой сети (SDN, software-defined network), реализованным на нескольких элементах сети в сети (2430) управления бурением. [00269] The drilling control network (2430) may further comprise a network controller (2438). For example, in one or more embodiments of the invention, the network controller (2438) includes software and/or hardware that includes functionality for receiving requests from control systems to subscribe to appropriate sensor devices. Similarly, the network controller (2438) may implement one or more communication protocols to communicate sensor data throughout the drilling control network (2430). For example, the network controller (2438) may be a software-defined network (SDN) controller implemented on multiple network elements in the drilling control network (2430).

[00270] Хотя на фиг. 24 проиллюстрированы различные конфигурации компонентов, могут использоваться другие конфигурации, не выходя за пределы объема данного изобретения. Например, различные компоненты в соответствии с фиг. 24 могут быть объединены для создания одного компонента. В качестве другого примера, функции, выполняемые одним компонентом, могут выполняться двумя или более компонентами. [00270] Although in FIG. 24 illustrates various component configurations, other configurations may be used without departing from the scope of the present invention. For example, various components according to FIG. 24 can be combined to create one component. As another example, functions performed by one component may be performed by two or more components.

[00271] Возвращаясь к фиг. 25, на фиг. 25 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 25 проиллюстрирован способ передачи данных датчика. Один или более этапов на фиг. 25 могут быть выполнены посредством одного или более компонентов (например, интеллектуального устройства Х (2420) датчика), как проиллюстрировано на фиг. 1, 2 и/или 24. В то время как различные этапы на фиг. 25 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [00271] Returning to FIG. 25 in FIG. 25 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 25 illustrates a method for transmitting sensor data. One or more steps in FIG. 25 may be implemented by one or more components (eg, sensor smart device X (2420)), as illustrated in FIG. 1, 2 and/or 24. While the various steps in FIG. 25 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and that some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00272] На этапе 2500 устанавливают сетевое соединение между устройством датчика и сетью управления бурением в соответствии с одним или более вариантами реализации изобретения. Например, устройство датчика может образовывать сетевое соединение, такое как соединение Ethernet, с сетью управления бурением. Сетевое соединение может быть аутентифицировано с помощью пароля и/или другой идентификационной информации от устройства датчика. Например, в одном или более вариантах реализации изобретения устройство датчика имеет «готовые к использованию» функциональные средства, причем устройство датчика может непосредственно связываться с различными элементами сети и/или системами управления в сети управления бурением. Кроме того, устройство датчика может быть аналогичным интеллектуальному устройству X (2420) датчика, представленному на фиг. 24 и в прилагаемом описании. В одном или более вариантах реализации изобретения устройство датчика подключается к сети управления бурением без среднего уровня, например компьютера среднего уровня, взаимодействующего между устройством датчика и сетью управления бурением. В одном варианте реализации изобретения в сети управления бурением может использоваться коммуникационное программное обеспечение промежуточного уровня, такое как издатель и приемник, для обмена данными между различными узлами сети. Примером коммуникационного программного обеспечения промежуточного уровня является служба распределенных данных (DDS, distributed data service). Интеллектуальный датчик может поддерживать это коммуникационное программное обеспечение промежуточного уровня таким образом, что находящаяся в нем информация может быть легко передана другим узлам сети при подключении к сети управления бурением.[00272] At 2500, a network connection is established between the sensor device and the drilling control network, in accordance with one or more embodiments of the invention. For example, the sensor device may form a network connection, such as an Ethernet connection, to a drilling control network. The network connection may be authenticated with a password and/or other identification information from the sensor device. For example, in one or more embodiments of the invention, the sensor device has "ready to use" functionality, wherein the sensor device can communicate directly with various network elements and/or control systems in the drilling control network. In addition, the sensor device may be similar to the smart sensor device X (2420) shown in FIG. 24 and in the accompanying description. In one or more embodiments of the invention, the sensor device is connected to the drilling control network without a middle layer, such as a middle layer computer, interworking between the sensor device and the drilling control network. In one embodiment of the invention, a drilling control network may use middleware communication software, such as a publisher and receiver, to exchange data between various network nodes. An example of middleware communication software is a distributed data service (DDS). The smart sensor can support this communication middleware so that the information it contains can be easily transferred to other network nodes when connected to the drilling control network.

[00273] На этапе 2510 одно или более измерений датчика генерируются с помощью системы датчика в соответствии с одним или более вариантами реализации изобретения. В частности, устройство датчика может использовать систему датчика для обнаружения одного или более условий окружающей среды, таких как температура, давление, крутящий момент и т. д., в непосредственной близости от устройства датчика. Измерения датчика могут быть цифровыми и/или аналоговыми показаниями, получаемыми устройством датчика. [00273] At 2510, one or more sensor measurements are generated by a sensor system in accordance with one or more embodiments of the invention. In particular, the sensor device may use the sensor system to detect one or more environmental conditions, such as temperature, pressure, torque, etc., in the vicinity of the sensor device. The sensor measurements may be digital and/or analog readings obtained by the sensor device.

[00274] На этапе 2520 одно или более измерений датчика обрабатываются с помощью одного или более предварительно сохраненных алгоритмов для получения данных датчика в соответствии с одним или более вариантами реализации изобретения. Например, в одном или более вариантах реализации изобретения устройство датчика преобразует измерения датчика (например, мА или электрическое напряжение) в данные датчика (например, фунт-сила или фунт/кв. дюйм). В частности, измерения датчика и/или данные датчика могут быть преобразованы в заданный формат протокола связи для передачи по сети управления бурением. Например, предварительно сохраненный алгоритм может соответствовать различным блокам данных в конкретном типе сетевого пакета. В одном или более вариантах реализации изобретения одна или более функциональных возможностей PLC (например, вычисление данных и/или передача данных) интегрированы в устройство датчика. Таким образом, обработка данных датчика может быть реализована на уровне датчика, чтобы обеспечить интегрирование с сетью управления бурением. [00274] At 2520, one or more sensor measurements are processed by one or more pre-stored algorithms to obtain sensor data, in accordance with one or more embodiments of the invention. For example, in one or more embodiments of the invention, the sensor device converts sensor measurements (eg, mA or electrical voltage) into sensor data (eg, lbf or psi). In particular, sensor measurements and/or sensor data may be converted into a predetermined communication protocol format for transmission over a drilling control network. For example, a pre-stored algorithm may correspond to different blocks of data in a particular type of network packet. In one or more embodiments of the invention, one or more PLC functionality (eg, data calculation and/or data transmission) is integrated into the sensor device. Thus, sensor data processing can be implemented at the sensor level to enable integration with the drilling control network.

[00275] Кроме того, устройство датчика может вставлять другую информацию вместе с измерениями датчика в данные датчика. Например, данные датчика могут содержать информацию издателя, такую как идентификационная информация аппаратных средств, касающаяся устройства датчика, исходных адресов и т. д. В одном или более вариантах реализации изобретения, например, устройство датчика может вставлять информацию, которую протокол связи использует для идентификации подписчиков, такую как теги, метаданные, атрибуты содержимого и другие данные. [00275] In addition, the sensor device may insert other information along with the sensor measurements into the sensor data. For example, the sensor data may contain publisher information such as hardware identification information regarding the sensor device, source addresses, etc. In one or more embodiments of the invention, for example, the sensor device may insert information that the communication protocol uses to identify subscribers. , such as tags, metadata, content attributes, and other data.

[00276] В одном или более вариантах реализации изобретения предварительно сохраненный алгоритм является уравнением с несколькими переменными. Например, предварительно сохраненный алгоритм может получить множество входных данных для одной или более переменных для генерирования данных датчика. Измерения датчика на этапе 2510 могут быть одними входными данными для предварительно сохраненного алгоритма, тогда как другие входные данные могут соответствовать другим параметрам. Например, предварительно сохраненный алгоритм может представлять собой уравнение давления, причем в уравнении давления сила и площадь поверхности выступают в качестве входных данных. Система датчика может получать результаты измерений силы, в то время как площадь поверхности может быть статическими и/или динамическими входными данными для уравнения давления. Эти статические и/или динамические входные данные могут быть предварительно сконфигурированы на устройстве датчика до того, как оно начнет вычислять и передавать данные датчика в сеть управления бурением. Например, пользователь может удаленно войти в устройство датчика через сеть управления бурением и обновить значение площади поверхности в уравнении. Данные датчика могут представлять собой выходные данные уравнения давления с использованием обновленного значения площади поверхности и текущего значения силы, обнаруженного системой датчика. [00276] In one or more embodiments of the invention, the previously stored algorithm is an equation with multiple variables. For example, a pre-stored algorithm may receive multiple inputs for one or more variables to generate sensor data. The sensor measurements at step 2510 may be one input to the previously stored algorithm, while other inputs may correspond to other parameters. For example, a pre-stored algorithm may be a pressure equation, with force and surface area as input in the pressure equation. The sensor system may receive force measurements while the surface area may be static and/or dynamic input to the pressure equation. These static and/or dynamic inputs may be pre-configured on the sensor device before it computes and transmits sensor data to the drilling control network. For example, a user may remotely log into the sensor device via the drilling control network and update the surface area value in the equation. The sensor data may be the output of a pressure equation using the updated surface area and the current force value detected by the sensor system.

[00277] Для расчета объема флюида устройство датчика может измерять высоту уровня флюида в резервуаре, в то время как размеры резервуара могут быть статическими значениями, заданными перед операцией. Данные датчика, подлежащие передаче в сеть управления бурением, могут включать в себя, среди прочего, как объем флюида, так и уровень флюида. Аналогичным образом, устройство датчика может получать измерения датчика в отношении температуры из системы датчика на устройстве датчика или от внешнего устройства датчика, подключенного к сети управления бурением. Аналогичным образом, соответствующее значение для расчета объема, например, размеры резервуара, может представлять собой значения данных, хранящиеся на устройстве датчика, которые могут обновляться при изменении размеров резервуара, например, когда в буровой системе используют другой резервуар для бурового раствора. [00277] To calculate the fluid volume, the sensor device may measure the height of the fluid level in the reservoir, while the dimensions of the reservoir may be static values set before operation. The sensor data to be transmitted to the drilling control network may include, among other things, both fluid volume and fluid level. Similarly, the sensor device may receive sensor measurements with respect to temperature from a sensor system on the sensor device or from an external sensor device connected to the drilling control network. Similarly, a relevant value for volume calculation, such as reservoir dimensions, may be data values stored on the sensor device that may be updated when reservoir dimensions change, such as when a different mud reservoir is used in the drilling system.

[00278] На этапе 2530 данные датчика передаются по сети управления бурением посредством одного или более протоколов связи в соответствии с одним или более вариантами реализации изобретения. Например, с помощью интерфейса связи устройство датчика может передавать данные датчика в одну или более систем управления, одно или более устройств датчиков и/или один или более элементов сети в сети управления бурением. В некоторых вариантах реализации изобретения данные датчика включают идентификационную информацию устройства датчика, информацию о качестве датчика и/или информацию о конфигурации устройства датчика. Например, протокол связи может позволить устройству датчика отправлять данные датчика по многоадресной IP-передаче в различные системы управления и элементы сети в сети управления бурением. Таким образом, протокол связи может позволить различным устройствам, таким как устройства датчиков и программные приложения, работающие на элементах сети, работать в режиме готовности к использованию. Например, в одном или более вариантах реализации изобретения протоколы связи включают в себя протокол связи службы распределенных данных (DDS).[00278] At 2530, sensor data is transmitted over the drilling control network via one or more communication protocols, in accordance with one or more embodiments of the invention. For example, using a communication interface, a sensor device may communicate sensor data to one or more control systems, one or more sensor devices, and/or one or more network elements in a drilling control network. In some embodiments, the sensor data includes sensor device identification information, sensor quality information, and/or sensor device configuration information. For example, the communication protocol may allow a sensor device to send sensor data over IP multicast to various control systems and network elements in the drilling control network. Thus, the communication protocol can allow various devices such as sensor devices and software applications running on network elements to operate in a ready-to-use mode. For example, in one or more embodiments of the invention, the communication protocols include a Distributed Data Service (DDS) communication protocol.

[00279] Обратимся к фиг. 26.1 и 26.2, на фиг. 26.1 и 26.2 приведен пример передачи данных датчика по сети управления бурением. Следующий пример приводится исключительно с целью пояснения, но не ограничения объема раскрытой технологии.[00279] Referring to FIG. 26.1 and 26.2, in Fig. Figures 26.1 and 26.2 show an example of transmitting sensor data over a drilling control network. The following example is provided solely for the purpose of illustrating and not limiting the scope of the disclosed technology.

[00280] Обратимся к фиг. 26.1, на фиг. 26.1 проиллюстрировано устройство Y (2621) датчика с сетевым соединением с сетью А (2630) управления бурением. Как проиллюстрировано на фиг. 26.1, существует коммуникационный путь X (2681) по сети A (24630) управления бурением между устройством Y (2621) датчика и программируемым логическим контроллером A (2661). В частности, устройство Y (2621) датчика передает данные Y (2616) датчика в программируемый логический контроллер A (2661), причем данные Y (2616) датчика могут использоваться для одного или более приложений, выполняемых программируемым логическим контроллером A (2661) и/или компьютером (2640) среднего уровня, который связан с программируемым логическим контроллером А (2661). Таким образом, устройство Y (2621) датчика может связываться непосредственно с программируемым логическим контроллером A (2661) или любыми другими элементами сети, такими как компьютер (2640) среднего уровня, подключенный к сети A (2630) управления бурением. [00280] Referring to FIG. 26.1, in fig. 26.1 illustrates a sensor arrangement Y (2621) with a network connection to the drilling control network A (2630). As illustrated in FIG. 26.1, there is a communication path X (2681) over drilling control network A (24630) between sensor device Y (2621) and PLC A (2661). In particular, the sensor device Y (2621) transmits sensor data Y (2616) to programmable logic controller A (2661), wherein the sensor data Y (2616) can be used for one or more applications performed by programmable logic controller A (2661) and/ or a midrange computer (2640) that is connected to programmable logic controller A (2661). Thus, sensor device Y (2621) can communicate directly with programmable logic controller A (2661) or any other network elements such as a midrange computer (2640) connected to drilling control network A (2630).

[00281] В соответствии с фиг. 26.1, PLC A (2661) может обрабатывать измерения датчика, полученные от устройства X (2614) датчика, и выводить их на компьютер (2640) среднего уровня в приемлемом формате, отличающемся от формата протокола связи данных Y (2616) датчика. Без компьютера (2640) среднего уровня измерения датчика от устройства X (2614) датчика не могут быть переданы по сети (2630) управления бурением в распознаваемом формате протокола связи для использования другими сетевыми устройствами, например, устройством Y (2621) датчика. И напротив, устройство Y (2621) датчика может преобразовывать измерения датчика в формат протокола связи, который может интерпретироваться любым устройством, имеющим сетевое соединение с сетью А (2630) управления бурением. [00281] Referring to FIG. 26.1, PLC A (2661) may process the sensor measurements received from the sensor device X (2614) and output them to the middle-level computer (2640) in an acceptable format other than the sensor data communication protocol Y (2616) format. Without the mid-level computer (2640), sensor measurements from sensor device X (2614) cannot be transmitted over the drilling control network (2630) in a recognizable communication protocol format for use by other network devices, such as sensor device Y (2621). Conversely, the sensor device Y (2621) can convert the sensor measurements into a communication protocol format that can be interpreted by any device having a network connection to the drilling control network A (2630).

[00282] Обратимся к фиг. 26.2, на фиг. 26.2 проиллюстрирована система X (2635) управления, которая принимает данные датчика от устройства M (2622) датчика и устройства N (2623) датчика. В частности, данные M (2617) датчика могут передаваться из устройства M (2622) датчика в систему X (2635) управления по коммуникационному пути I (2682). Аналогичным образом, данные N (2618) датчика могут передаваться из устройства N (2623) датчика в систему X (2635) управления по коммуникационному пути J (2683). Как проиллюстрировано на фиг. 26.1 и 26.2, коммуникационные пути (2681, 2682, 2683) могут быть логическими путями, проходящими через различные узлы сети по сети А (2630) управления бурением. Например, коммуникационные пути (2681, 2682, 2683) могут содержать одни и те же и/или разные элементы сети, общую коммуникационную шину и/или изменяющуюся топологию сети между устройствами (2622, 2623) датчиков и системой X (2635) управления. [00282] Referring to FIG. 26.2, in fig. 26.2 illustrates a control system X (2635) that receives sensor data from a sensor device M (2622) and a sensor device N (2623). In particular, the sensor data M (2617) can be transmitted from the sensor device M (2622) to the control system X (2635) via the communication path I (2682). Similarly, sensor data N (2618) may be transmitted from sensor device N (2623) to control system X (2635) over communication path J (2683). As illustrated in FIG. 26.1 and 26.2, the communication paths (2681, 2682, 2683) may be logical paths passing through various network nodes on the drilling control network A (2630). For example, communication paths (2681, 2682, 2683) may contain the same and/or different network elements, a common communication bus, and/or varying network topology between sensor devices (2622, 2623) and control system X (2635).

[00283] Возвращаясь к фиг. 27, на фиг. 27 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В частности, на фиг. 27 проиллюстрирован способ передачи данных датчика. Один или более этапов на фиг. 27 могут быть выполнены посредством одного или более компонентов (например, сети (2430) управления бурением), как проиллюстрировано на фиг. 1, 2, 24, 26.1 и/или 26.2. В то время как различные этапы на фиг. 27 проиллюстрированы и описаны последовательно, для специалистов в данной области техники будет очевидным, что некоторые или все из этапов могут быть выполнены в разной очередности, могут быть объединены или опущены, а также некоторые или все из этапов могут быть выполнены параллельно. Кроме того, этапы могут выполняться активно или пассивно. [00283] Returning to FIG. 27 in FIG. 27 illustrates a block diagram in accordance with one or more embodiments of the invention. In particular, in FIG. 27 illustrates a method for transmitting sensor data. One or more steps in FIG. 27 may be performed by one or more components (eg, a drilling control network (2430)), as illustrated in FIG. 1, 2, 24, 26.1 and/or 26.2. While the various steps in FIG. 27 are illustrated and described sequentially, it will be apparent to those skilled in the art that some or all of the steps may be performed in different order, may be combined or omitted, and some or all of the steps may be performed in parallel. In addition, steps can be performed actively or passively.

[00284] На этапе 2700 устанавливают сетевое соединение между одним или более устройствами датчиков и сетью управления бурением в соответствии с одним или более вариантами реализации изобретения. Этап 2700 может быть аналогичен этапу 2500, представленному выше на фиг. 25 и в прилагаемом описании. [00284] At 2700, a network connection is established between one or more sensor devices and a drilling control network, in accordance with one or more embodiments of the invention. Step 2700 may be similar to step 2500 shown above in FIG. 25 and in the accompanying description.

[00285] На этапе 2710 поступают один или более запросов от одной или более систем управления для подписки на данные датчика в соответствии с одним или более вариантами реализации изобретения. Например, посредством протокола связи система управления может сделать запрос на то, чтобы система управления была идентифицирована как подписчик для конкретного устройства датчика и/или типа данных датчика в конкретной виртуальной сети или домене в сети управления бурением. Таким образом, на интеллектуальные устройства датчиков, издающие данные в этой конкретной виртуальной сети или домене, может существовать подписка со стороны данной системы управления. Однако интеллектуальные устройства датчиков, издаваемые в другой виртуальной сети или домене, могут быть невидимы для этой системы управления и на них не может быть подписана данная система управления. [00285] At 2710, one or more requests are received from one or more control systems to subscribe to sensor data, in accordance with one or more embodiments of the invention. For example, via a communication protocol, the control system may request that the control system be identified as a subscriber for a particular sensor device and/or sensor data type in a particular virtual network or domain in the drilling control network. Thus, sensor smart devices publishing data in that particular virtual network or domain can be subscribed to by that management system. However, sensor smart devices published in another virtual network or domain may not be visible to this management system and cannot be subscribed to by this management system.

[00286] На этапе 2720 одна или более систем управления назначаются в качестве подписчиков данных датчика в соответствии с одним или более вариантами реализации изобретения. Например, один или более протоколов связи могут реализовывать архитектуру программного обеспечения, которая обеспечивает модель издания-подписки среди различных элементов сети, находящихся в сети управления бурением и/или подключенных к сети управления бурением. Если соответствующая система управления или компонент соответствующей системы управления является подписчиком для конкретного устройства датчика в конкретной виртуальной сети или домене, данные датчика от устройства датчика могут соответственно быть переданы в соответствующую систему управления или соответствующий компонент системы управления. Если устройство датчика имеет пять подписчиков, например, данные датчика от устройства датчика могут передаваться каждому из пяти подписчиков каждый раз, когда осуществляется широковещательная передача данных датчика по сети управления бурением. Таким образом, устройство датчика может выступать в качестве издателя в модели издания-подписки. В некоторых вариантах реализации изобретения сеть управления бурением использует сертификат безопасности для аутентификации устройства перед тем, как ему будет разрешено издаваться или подписываться в сети. [00286] At 2720, one or more control systems are designated as sensor data subscribers, in accordance with one or more embodiments of the invention. For example, one or more communication protocols may implement a software architecture that provides a publish-subscribe model among various network elements residing in the drilling control network and/or connected to the drilling control network. If the corresponding control system or component of the corresponding control system is a subscriber for a particular sensor device in a particular virtual network or domain, sensor data from the sensor device can be transferred to the corresponding control system or the corresponding control system component, respectively. If the sensor device has five subscribers, for example, sensor data from the sensor device may be transmitted to each of the five subscribers each time the sensor data is broadcast over the drilling control network. Thus, the sensor device can act as a publisher in a publish-subscribe model. In some embodiments, the drilling control network uses a security certificate to authenticate a device before it is allowed to publish or sign on the network.

[00287] Кроме того, при назначении системы управления в качестве подписчика протокол связи может реализовывать систему, основанную на тематике систему, и/или систему, основанную на содержимом. В системе, основанной на тематике, данные датчиков передаются по сети управления бурением через один или более логических каналов. В ответ на запрос стать подписчиком, например, система управления может быть назначена на получение данных датчика, назначенных конкретному каналу, связанному с подпиской. Таким образом, протокол связи может идентифицировать подписчиков конкретного канала в соответствии с IP-адресами, аппаратными адресами и другой идентификационной информацией и передавать данные датчика подписчикам канала. [00287] In addition, when assigning a control system as a subscriber, the communication protocol may implement a topic-based system and/or a content-based system. In a topic-based system, sensor data is transmitted over the drilling control network through one or more logical channels. In response to a request to become a subscriber, for example, the control system may be assigned to receive sensor data assigned to a particular channel associated with the subscription. Thus, the communication protocol can identify the subscribers of a particular channel according to IP addresses, hardware addresses, and other identification information, and transmit sensor data to the channel subscribers.

[00288] В системе, основанной на содержимом, подписчик определяет один или более атрибутов содержимого для анализа данных датчика. В одном или более вариантах реализации изобретения, например, атрибут содержимого соответствует классу данных датчика. Например, классы данных датчика могут включать в себя различные типы данных датчика, такие как данные температуры, данные давления, предупредительные уведомления и т. д. Кроме того, класс может быть определен в соответствии с конкретной единицей оборудования, такой как буровой насос. Таким образом, класс данных датчика может включать в себя любые данные датчика, полученные в отношении бурового насоса. Аналогичным образом, протокол связи, подписчик и/или другой элемент сети могут анализировать данные датчика для определения того, соответствуют ли данные датчика одному или более атрибутам содержимого. Например, атрибуты содержимого могут храниться в метаданных базы данных датчика. Аналогичным образом, атрибуты содержимого могут включать в себя основанные на времени атрибуты, такие как данные, относящиеся к измерениям датчиков, которые были получены за определенный период времени. В другом примере атрибуты содержимого могут соответствовать различным типам данных датчика, таким как данные давления, данные температуры, данные крутящего момента и т. д. Атрибуты содержимого могут также указывать конкретный тип оборудования на буровой установке, например данные датчика, относящиеся к буровому насосу. Например, в одном или более вариантах реализации изобретения система управления техническим обслуживанием подписывается на данные температуры возле буровой установки. Таким образом, система управления техническим обслуживанием может принимать любые данные датчика, которые относятся к данным температуры. [00288] In a content-based system, a subscriber defines one or more content attributes to analyze sensor data. In one or more embodiments of the invention, for example, the content attribute corresponds to a sensor data class. For example, sensor data classes may include various types of sensor data such as temperature data, pressure data, alerts, and so on. In addition, a class may be defined according to a particular piece of equipment, such as a mud pump. Thus, a sensor data class may include any sensor data received in relation to a mud pump. Similarly, the communication protocol, subscriber, and/or other network element may analyze the sensor data to determine if the sensor data matches one or more content attributes. For example, content attributes may be stored in sensor database metadata. Likewise, the content attributes may include time-based attributes, such as data related to sensor measurements that have been acquired over a certain period of time. In another example, content attributes may correspond to various types of sensor data such as pressure data, temperature data, torque data, etc. Content attributes may also indicate a specific type of equipment on a drilling rig, such as sensor data related to a mud pump. For example, in one or more embodiments of the invention, a maintenance management system subscribes to temperature data near a drilling rig. Thus, the maintenance management system can receive any sensor data that relates to temperature data.

[00289] На этапе 2725 одно или более устройств датчиков и/или одна или более систем управления аутентифицируются как издатель и/или подписчик в соответствии с одним или более вариантами реализации изобретения. В некоторых вариантах реализации изобретения, например, в сети управления бурением могут быть предусмотрены различные процедуры безопасности и/или протоколы безопасности, которые обеспечивают разрешение на издание и/или подписку в отношении данных датчика в определенной виртуальной сети или домене только доверенным и аутентифицированным участникам (например, издателям и/или подписчикам). Кроме того, устройства датчиков и/или системы управления могут получать сертификаты безопасности, которые идентифицируют соответствующее устройство как издателя и/или подписчика в сети управления бурением. Например, сертификат безопасности может представлять собой цифровой ключ, который разрешает устройству датчика и/или системе управления передавать данные через виртуальную сеть в другие авторизованные устройства датчиков и/или системы управления. В некоторых вариантах реализации изобретения сетевой контроллер в сети управления бурением может действовать в качестве сетевого посредника в процессе добавления в различные типы данных датчика и/или удаления подписчиков из различных типов данных датчика и/или выдачи сертификатов безопасности различным устройствам. В некоторых вариантах реализации изобретения система управления может отправлять запрос на отмену подписки на конкретный тип данных датчика и/или устройства датчика. [00289] At 2725, one or more sensor devices and/or one or more control systems are authenticated as a publisher and/or subscriber in accordance with one or more embodiments of the invention. In some embodiments of the invention, for example, in a drilling control network, various security procedures and/or security protocols may be provided that ensure that only trusted and authenticated participants (for example, , publishers and/or subscribers). In addition, sensor devices and/or control systems may receive security certificates that identify the respective device as a publisher and/or subscriber in the drilling control network. For example, a security certificate may be a digital key that authorizes a sensor device and/or control system to communicate over a virtual network to other authorized sensor devices and/or control systems. In some embodiments, a network controller in a drilling control network may act as a network broker in the process of adding to and/or desubscribing various sensor data types and/or issuing security certificates to various devices. In some embodiments of the invention, the control system may send a request to unsubscribe from a particular sensor data type and/or sensor device.

[00290] На этапе 2730 получают данные датчика от одного или более устройств датчика в соответствии с одним или более вариантами реализации изобретения. Например, сеть управления бурением может получать данные датчика по сетевому соединению с устройством датчика. [00290] At 2730, sensor data is obtained from one or more sensor devices, in accordance with one or more embodiments of the invention. For example, a drilling control network may receive sensor data over a network connection to a sensor device.

[00291] На этапе 2740 в сети управления бурением выбирают систему управления в соответствии с одним или более вариантами реализации изобретения. Например, система управления может быть выбрана посредством протокола связи, работающего в сети, или посредством сетевого контроллера для администрирования протокола связи. [00291] At 2740, a control system is selected in the drilling control network, in accordance with one or more embodiments of the invention. For example, the control system may be selected by a communication protocol running on the network, or by a network controller to administer the communication protocol.

[00292] На этапе 2750 определяют, является ли система управления подписчиком данных датчика в соответствии с одним или более вариантами реализации изобретения. Например, протокол связи может итеративно выбирать системы управления, связанные с конкретным типом данных датчика и/или устройства датчика. В некоторых вариантах реализации изобретения подписка на данные датчика соответствует виртуальной сети в сети управления бурением. Таким образом, протокол связи, работающий в сети управления бурением, может анализировать различные сертификаты безопасности, хранящиеся в системе управления, чтобы определить, имеет ли система управления или устройство датчика соответствующий сертификат безопасности для доступа к виртуальной сети. Если система управления имеет сертификат безопасности подписчика, система управления может получать данные датчиков по виртуальной сети. Аналогичным образом, если устройство датчика имеет сертификат безопасности издателя, устройство датчика может передавать данные на другие устройства в виртуальной сети. [00292] At 2750, it is determined if the control system is a sensor data subscriber, in accordance with one or more embodiments of the invention. For example, the communication protocol may iteratively select control systems associated with a particular type of sensor data and/or sensor device. In some embodiments, the sensor data subscription corresponds to a virtual network in the drilling control network. Thus, a communication protocol running on the drilling control network can parse various security certificates stored in the control system to determine if the control system or sensor device has the appropriate security certificate to access the virtual network. If the management system has a subscriber security certificate, the management system can receive sensor data over the virtual network. Similarly, if a sensor device has a publisher security certificate, the sensor device can communicate to other devices in the virtual network.

[00293] Например, с помощью данных датчика на этапе 2730 сеть управления бурением может выбрать систему управления, которая является подписчиком данных датчика. Аналогичным образом, на этапах 2740 и 2750 могут быть выбраны разные системы управления, чтобы определить, является ли соответствующая система управления подписчиком данных датчика. Когда определено, что система управления является подписчиком, процесс может перейти к этапу 2760. Когда определено, что система управления не является подписчиком, процесс может вернуться к этапу 2780.[00293] For example, using the sensor data in step 2730, the drilling control network can select a control system that is a subscriber to the sensor data. Similarly, at steps 2740 and 2750, different control systems may be selected to determine if the corresponding control system is a sensor data subscriber. When the control system is determined to be a subscriber, the process may proceed to block 2760. When it is determined that the control system is not a subscriber, the process may return to block 2780.

[00294] На этапе 2760 данные датчика передаются в систему управления в соответствии с одним или более вариантами реализации изобретения. Например, данные датчика могут быть переданы аналогично тому, как изложено выше в связи с этапом 2530 и в прилагаемом описании. Кроме того, данные датчика могут быть направлены на один или более компонентов в системе управления. Например, система управления может содержать несколько PLC. Таким образом, например, два PLC в системе управления могут использовать данные датчика, в то время как третий PLC в системе управления может игнорировать данные датчика. Аналогичным образом, хотя система управления может быть издателем или подписчиком, или и тем и другим, один или более компонентов, таких как отдельные PLC, также могут быть издателями и/или подписчиками в сети управления бурением. [00294] At 2760, sensor data is transmitted to a control system in accordance with one or more embodiments of the invention. For example, sensor data may be transmitted in a manner similar to that set forth above in connection with block 2530 and in the accompanying description. In addition, sensor data may be directed to one or more components in the control system. For example, a control system may contain several PLCs. Thus, for example, two PLCs in the control system can use the sensor data, while a third PLC in the control system can ignore the sensor data. Similarly, although the control system may be a publisher or a subscriber, or both, one or more components, such as individual PLCs, may also be publishers and/or subscribers in a drilling control network.

[00295] На этапе 2770 одна или более операций бурения выполняются в системе управления с использованием данных датчика в соответствии с одним или более вариантами реализации изобретения. Например, данные датчика могут использоваться в одной или более операциях бурения и/или операциях по техническому обслуживанию в отношении буровой установки. Посредством связи непосредственно с устройством датчика различные операции датчика могут выполняться на устройстве датчика и/или в связи с устройством датчика. Например, другое буровое оборудование в сети управления бурением может быть откалибровано с помощью данных датчика, полученных от устройства датчика. [00295] At 2770, one or more drilling operations are performed on the control system using sensor data, in accordance with one or more embodiments of the invention. For example, sensor data may be used in one or more drilling operations and/or maintenance operations on a drilling rig. By communicating directly with the sensor device, various sensor operations can be performed on the sensor device and/or in connection with the sensor device. For example, other drilling equipment in the drilling control network may be calibrated with sensor data received from the sensor device.

[00296] Кроме того, благодаря получению данных датчика непосредственно от устройства датчика могут быть сокращены период продуктивной эксплуатации и время простоя буровой установки. Например, если в системе, которая содержит устройство датчика, компьютер среднего уровня и программируемый логический контроллер, произошел сбой аппаратных средств или программного обеспечения, может потребоваться независимая проверка сбоя среди компонентов системы. С другой стороны, когда данные датчика идентифицируют сбой аппаратных средств или программного обеспечения, может быть проведена диагностика указанного сбоя в устройстве датчика, создающем данные датчика. Например, сетевой контроллер или удаленный пользователь может проанализировать датчик, чтобы определить, соответствует ли система датчиков одному или более заданным критериям или нет. В ответ на анализ данных датчика, например, различные настройки в устройстве датчика могут быть отрегулированы для устранения сбоя и удовлетворения заданным критериям. Таким образом, получение данных датчика непосредственно из устройства датчика может сократить непродуктивное время, возникающее в результате сбоя устройства датчика. Также могут существовать другие возможности, такие как профилактическое обслуживание устройства датчика. [00296] In addition, by obtaining sensor data directly from the sensor device, the productive life and downtime of the drilling rig can be reduced. For example, if a system that contains a sensor device, a mid-range computer, and a programmable logic controller experiences a hardware or software failure, it may be necessary to independently verify the failure among the system components. On the other hand, when the sensor data identifies a hardware or software failure, diagnosis can be made of said failure in the sensor device generating the sensor data. For example, a network controller or a remote user may analyze the sensor to determine if the sensor system meets one or more specified criteria or not. In response to the analysis of sensor data, for example, various settings in the sensor device can be adjusted to correct the failure and meet predetermined criteria. Thus, obtaining sensor data directly from the sensor device can reduce non-productive time resulting from sensor device failure. Other possibilities may also exist, such as preventive maintenance of the sensor device.

[00297] Например, в некоторых вариантах реализации изобретения система управления подписчиком автоматически перенастраивает устройство датчика издателя в ответ на анализ данных датчика, полученных от устройства датчика издателя. Заданным критерием может быть интервал погрешностей для измерений датчика, полученных системой датчиков в устройстве датчика издателя. Анализируя изданные данные датчика, система управления подписчиком может обнаружить погрешность смещения с помощью системы датчика. Таким образом, система управления может подключаться непосредственно к устройству датчика издателя по сети управления бурением для автоматического регулирования одной или более настроек устройства датчика издателя, с тем, чтобы измерения датчика от устройства датчика удовлетворяли интервалу погрешностей. [00297] For example, in some embodiments, the subscriber management system automatically reconfigures the publisher's sensor device in response to analysis of sensor data received from the publisher's sensor device. The predetermined criterion may be an error interval for sensor measurements obtained by the sensor system in the publisher's sensor device. By analyzing the published sensor data, the subscriber management system can detect an offset error using the sensor system. Thus, the control system may connect directly to the publisher's sensor device over the drilling control network to automatically adjust one or more of the publisher's sensor device settings so that sensor measurements from the sensor device satisfy an error margin.

[00298] На этапе 2780 определяют, существует ли другой подписчик в сети управления бурением в соответствии с одним или более вариантами реализации изобретения. Когда определено, что данные датчика не были отправлены одному или более подписчикам, процесс может перейти к этапу 2740. Когда определено, что для данных датчика больше нет подписчиков, процесс может закончиться.[00298] At step 2780, it is determined if another subscriber exists in the drilling control network, in accordance with one or more embodiments of the invention. When it is determined that the sensor data has not been sent to one or more subscribers, the process may proceed to block 2740. When it is determined that there are no more subscribers for the sensor data, the process may end.

[00299] Кроме того, в одном или более вариантах реализации изобретения процессы, описанные выше на фиг. 25 и 27, могут обеспечить передачу данных датчиков и их передачу без использования программируемого логического контроллера. Например, в ориентированной системе, возможно, придется устанавливать, настраивать и обслуживать в течение всего процесса бурения различные логические каналы для передачи данных, например от устройства датчика на программное приложение. Таким образом, техническое обслуживание такой ориентированной системы может увеличить расходы. В частности, независимо от того, включают ли расходы добавление элементов сети, удаление или замену элемента сети, связанные с этим расходы могут расти в геометрической прогрессии. Таким образом, процессы, проиллюстрированные на фиг. 25 и 27, могут позволить устройствам датчиков и/или сети управления бурением децентрализовать передачу данных датчика. [00299] In addition, in one or more embodiments of the invention, the processes described above in FIG. 25 and 27 can provide sensor data transmission and transmission without the use of a programmable logic controller. For example, in a oriented system, various logical channels may need to be installed, configured, and maintained throughout the drilling process to transfer data, such as from a sensor device to a software application. Thus, the maintenance of such an oriented system can increase costs. In particular, whether the costs include adding network elements, removing or replacing a network element, the associated costs can grow exponentially. Thus, the processes illustrated in FIG. 25 and 27 may allow the sensor devices and/or the drilling control network to decentralize the transmission of sensor data.

[00300] В то время как на фиг. 24, 25, 26.2 и/или 27 выше проиллюстрированы различные системы управления в связи с раскрытой технологией, в некоторых вариантах реализации изобретения различные процессы, описанные выше, также могут применяться к системам сбора данных, системе мониторинга работы и/или системам программного обеспечения для интерпретации данных. Например, одни и те же данные датчика от интеллектуального устройства датчика могут передаваться в систему управления, систему мониторинга работы, систему сбора данных и систему программного обеспечения для интерпретации данных. [00300] While in FIG. 24, 25, 26.2 and/or 27 above illustrate various control systems in connection with the disclosed technology, in some embodiments of the invention, the various processes described above may also be applied to data acquisition systems, performance monitoring system and/or interpretation software systems. data. For example, the same sensor data from a sensor smart device may be transmitted to a control system, an operation monitoring system, a data acquisition system, and a data interpretation software system.

Ввод в эксплуатацию интеллектуальной системы управления бурениемCommissioning of intelligent drilling control system

[00301] В целом, варианты реализации изобретения включают в себя систему и различные способы генерирования и/или использования графа знаний системы управления буровой установкой. В одном или более вариантах реализации изобретения граф знаний включает в себя узлы, соответствующие компонентам системы управления буровой установкой, и линии связи, соединяющие узлы, для представления взаимодействий между соответствующими парами компонентов. В одном или более вариантах реализации изобретения каждая линия связи представляет по меньшей мере заданную характеристику передачи данных и использования ресурсов соответствующей пары компонентов. [00301] In general, embodiments of the invention include a system and various methods for generating and/or using a rig control system knowledge graph. In one or more embodiments of the invention, the knowledge graph includes nodes corresponding to components of the rig control system and links connecting the nodes to represent interactions between respective pairs of components. In one or more embodiments of the invention, each link represents at least a predetermined data transmission and resource utilization characteristic of a respective pair of components.

[00302] В одном или более вариантах реализации изобретения система управления буровой установкой имеет иерархическую структуру и содержит первый иерархический уровень и второй иерархический уровень. Первый иерархический уровень содержит подсистемы и компоненты аппаратных средств (например, буровое оборудование и вспомогательные инструменты), тогда как второй иерархический уровень содержит программные компоненты, установленные в каждой из подсистем. В одном или более вариантах реализации изобретения каждая подсистема с установленными программными компонентами связана с каким-либо аспектом операции бурения и используется для управления частью компонентов аппаратных средств, предназначенной для конкретного аспекта операции бурения.[00302] In one or more embodiments of the invention, the drilling rig control system has a hierarchical structure and includes a first hierarchical level and a second hierarchical level. The first hierarchical level contains the subsystems and hardware components (eg, drilling equipment and auxiliary tools), while the second hierarchical level contains the software components installed in each of the subsystems. In one or more embodiments of the invention, each subsystem with installed software components is associated with some aspect of the drilling operation and is used to control a portion of the hardware components dedicated to a particular aspect of the drilling operation.

[00303] В одном или более вариантах реализации изобретения граф знаний содержит общий граф знаний системы управления буровой установкой и ряд графов знаний подсистемы. Общий граф знаний системы управления буровой установкой соответствует первому иерархическому уровню, а графы знаний подсистемы соответствуют второму иерархическому уровню. В одном или более вариантах реализации изобретения граф знаний создается путем применения алгоритмов машинного обучения к системе управления буровой установкой во время обычной операции бурения. В одном или более вариантах реализации изобретения граф знаний используют в качестве стандарта для выполнения задач управления системой управления буровой установкой. В одном или более вариантах реализации изобретения граф знаний используют для помощи при вводе в эксплуатацию буровой установки, в частности при вводе в эксплуатацию системы управления буровой установкой. Используемый в данном документе термин «ввод в эксплуатацию» относится к приведению буровой установки в рабочее состояние, которое может осуществляться в любое время до или во время работы буровой установки и может выполняться один раз или периодически в течение всей работы буровой установки. [00303] In one or more embodiments of the invention, the knowledge graph comprises a general rig control system knowledge graph and a number of subsystem knowledge graphs. The general knowledge graph of the drilling rig control system corresponds to the first hierarchical level, and the knowledge graphs of the subsystem correspond to the second hierarchical level. In one or more embodiments of the invention, a knowledge graph is created by applying machine learning algorithms to a drilling rig control system during a normal drilling operation. In one or more embodiments of the invention, a knowledge graph is used as a standard for performing control tasks of a drilling rig control system. In one or more embodiments of the invention, a knowledge graph is used to assist in the commissioning of a drilling rig, in particular in the commissioning of a drilling rig control system. As used herein, the term "commissioning" refers to bringing the drilling rig into operation, which may be performed at any time before or during operation of the drilling rig, and may be performed once or periodically throughout the operation of the drilling rig.

[00304] На фиг. 28 проиллюстрирована структурная схема системы в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации данного изобретения один или более элементов, проиллюстрированных на фиг. 28, могут быть опущены, повторены и/или заменены. Соответственно, варианты реализации изобретения не должны рассматриваться как ограниченные конкретными компоновками модулей, проиллюстрированными на фиг. 28.[00304] FIG. 28 is a block diagram of a system in accordance with one or more embodiments of the invention. In one or more embodiments of the present invention, one or more of the elements illustrated in FIG. 28 may be omitted, repeated and/or replaced. Accordingly, embodiments of the invention should not be construed as being limited to the particular module arrangements illustrated in FIG. 28.

[00305] Как проиллюстрировано на фиг. 28, система (2800) управления буровой установкой соединена с человеко-машинным интерфейсом (HMI) (2820), который позволяет пользователю управлять работой системы бурения, описанной выше со ссылкой на фиг. 1. Человеко-машинный интерфейс может быть аппаратными средствами и/или программным обеспечением, связанным с системой (2800) управления буровой установкой, и которое содержит функциональные средства для представления данных и/или получения от пользователя входных данных относительно различных операций бурения и/или операций по техническому обслуживанию, выполняемых в пределах системы (2800) управления буровой установкой. Например, человеко-машинный интерфейс может включать в себя программное обеспечение для обеспечения графического интерфейса пользователя (GUI) для представления данных и/или приема команд управления для эксплуатации буровой установки. [00305] As illustrated in FIG. 28, the rig control system (2800) is connected to a human machine interface (HMI) (2820) that allows the user to control the operation of the drilling system described above with reference to FIG. 1. The human-machine interface may be hardware and/or software associated with the rig control system (2800) and which contains functionality for presenting data and/or receiving user input regarding various drilling and/or operations. maintenance performed within the drilling rig control system (2800). For example, the human-machine interface may include software for providing a graphical user interface (GUI) for presenting data and/or receiving control commands for operating a drilling rig.

[00306] В одном или более вариантах реализации изобретения система (2800) управления буровой установкой содержит несколько подсистем (например, подсистему A (2801a), подсистему B (2801b)) и компоненты аппаратных средств (например, компонент A (2802a) аппаратных средств, компонент B (2802b) аппаратных средств, компонент C (2802c) аппаратных средств). Компоненты аппаратных средств могут включать буровое оборудование и другие инструменты, связанные с буровой установкой (12), как описано выше со ссылкой на фиг. 1. Например, компонент A (2802a) аппаратных средств может соответствовать подсистеме циркуляции бурового раствора, компонент B (2802b) аппаратных средств может соответствовать вращающейся подсистеме, а компонент C (2802c) аппаратных средств может соответствовать элементу сети. Элемент сети может включать в себя физические устройства в сети, такие как коммутаторы, маршрутизаторы, концентраторы или любые другие логические объекты для установления коммуникационных соединений между подсистемами и другими компонентами аппаратных средств. [00306] In one or more embodiments, the drilling rig control system (2800) comprises multiple subsystems (e.g., subsystem A (2801a), subsystem B (2801b)) and hardware components (e.g., hardware component A (2802a), hardware component B (2802b), hardware component C (2802c). The hardware components may include drilling equipment and other tools associated with the drilling rig (12), as described above with reference to FIG. 1. For example, hardware component A (2802a) may correspond to a mud circulation subsystem, hardware component B (2802b) may correspond to a rotating subsystem, and hardware component C (2802c) may correspond to a network element. A network element may include physical devices on the network such as switches, routers, hubs, or any other logical entities for establishing communication connections between subsystems and other hardware components.

[00307] Подсистемы (например, подсистема A (2801a), подсистема B (2801b)) могут содержать, например, программируемые логические контроллеры (PLC), имеющие аппаратные средства и/или программное обеспечение с функциональными средствами для управления одним или более процессами, выполняемыми буровой установкой (12), включая, но, не ограничиваясь ими, компоненты, представленные на фиг. 1. В частности, PLC может быть компьютерной системой с повышенной устойчивостью к неблагоприятным условиям окружающей среды с функциональными средствами, позволяющими выдерживать вибрации, экстремальные температуры, влажные условия среды и/или пыльные условия среды, например, около буровой установки (12). В частности, PLC может управлять состояниями клапанов, уровнями флюида, давлениями в трубе, сигналами тревоги и/или сбросами давления по всей буровой установке (12) и соответствующему компоненту А (2802a) аппаратных средств, компоненту B (2802b) аппаратных средств и т. д. Таким образом, один или более компонентов системы (2800) управления буровой установкой могут содержать функциональные средства для мониторинга и/или выполнения различных процессов бурения в отношении системы циркуляции бурового раствора, вращающейся системы, системы подачи труб и/или других различных операций бурения, описанных выше со ссылкой на фиг. 1. В одном или более вариантах реализации изобретения подсистемы (например, подсистема A (2801a), подсистема B (2801b)) и компоненты аппаратных средств (например, компонент A (2802a) аппаратных средств, компонент B (2802ba) аппаратных средств, компонент C (2802c) аппаратных средств) совместно упоминаются как компоненты первого иерархического уровня, образующие первый иерархический уровень в системе (2800) управления буровой установкой. Соответственно, базовые элементы аппаратных средств и/или программного обеспечения каждого компонента первого иерархического уровня совместно упоминаются как компоненты второго иерархического уровня, образующие второй иерархический уровень в системе (2800) управления буровой установкой. В этом контексте система (2800) управления буровой установкой содержит иерархическую структуру компонентов. [00307] Subsystems (e.g. subsystem A (2801a), subsystem B (2801b)) may comprise, for example, programmable logic controllers (PLCs) having hardware and/or software with functionality to control one or more processes running drilling rig (12), including, but not limited to, the components shown in FIG. 1. In particular, the PLC may be a computer system with increased resistance to adverse environmental conditions with functional means to withstand vibrations, extreme temperatures, wet environmental conditions and/or dusty environmental conditions, for example, near a drilling rig (12). In particular, the PLC may control valve states, fluid levels, pipe pressures, alarms and/or depressurizations throughout the rig (12) and the associated hardware component A (2802a), hardware component B (2802b), etc. e. Thus, one or more components of the rig control system (2800) may include functionality for monitoring and/or performing various drilling operations in relation to a mud circulation system, a rotary system, a pipe supply system, and/or other various drilling operations, described above with reference to FIG. 1. In one or more embodiments of the invention, subsystems (e.g., subsystem A (2801a), subsystem B (2801b)) and hardware components (e.g., hardware component A (2802a), hardware component B (2802ba), component C (2802c) hardware) are collectively referred to as the components of the first hierarchical level, forming the first hierarchical level in the rig control system (2800). Accordingly, the underlying hardware and/or software elements of each first hierarchical level component are collectively referred to as the second hierarchical level components constituting the second hierarchical level in the drilling rig control system (2800). In this context, the rig control system (2800) comprises a hierarchical structure of components.

[00308] В одном или более вариантах реализации изобретения компоненты системы (2800) управления буровой установкой соединены с возможностью связи и управляются системой (2810) ввода в эксплуатацию буровой установки, которая является вычислительной системой, выполненной с возможностью выполнения одной или более задач системы (2800) управления буровой установкой. В одном или более вариантах реализации изобретения система (2810) ввода в эксплуатацию буровой установки обеспечивает единый ввод в эксплуатацию (или выполнение других задач управления) всех компонентов в системе (2800) управления буровой установкой посредством единого HMI (2820). Другими словами, использование системы (2810) ввода в эксплуатацию буровой установки уменьшает сложность многократного отдельного ввода в эксплуатацию каждого компонента в системе (2800) управления буровой установкой посредством нескольких дезинтегрированных HMI.[00308] In one or more embodiments of the invention, the components of the drilling rig control system (2800) are communicatively connected to and controlled by the drilling rig commissioning system (2810), which is a computing system configured to perform one or more tasks of the system (2800 ) drilling rig control. In one or more embodiments of the invention, the drilling rig commissioning system (2810) provides a single commissioning (or other control tasks) of all components in the drilling rig control system (2800) through a single HMI (2820). In other words, the use of the rig commissioning system (2810) reduces the complexity of multiple separate commissioning of each component in the rig control system (2800) by multiple disintegrated HMIs.

[00309] В одном или более вариантах реализации изобретения задачи управления включают задачу ввода в эксплуатацию программного обеспечения, задачу ввода в эксплуатацию сети, задачу диагностики и т. д. В одном или более вариантах реализации изобретения система (2810) ввода в эксплуатацию буровой установки создает граф знаний, который описывает обычную работу системы (2800) управления буровой установкой. Граф знаний имеет иерархическую структуру, соответствующую иерархической структуре компонентов системы (2800) управления буровой установкой. В одном или более вариантах реализации изобретения система (2810) ввода в эксплуатацию буровой установки использует алгоритмы машинного обучения для создания графа знаний во время обычной работы системы (2800) управления буровой установкой. Алгоритмы машинного обучения могут основываться на одном или более методах стохастического, численного и статистического анализа. В одном или более вариантах реализации изобретения граф знаний используют для выполнения диагностических задач во время нештатной работы системы (2800) управления буровой установкой. В одном или более вариантах реализации изобретения граф знаний системы (2800) управления буровой установкой используют для выполнения задач ввода в эксплуатацию программного обеспечения и сети для конфигурирования новой системы управления буровой установкой отдельно от системы (2800) управления буровой установкой, на которой обучается система (2810) ввода в эксплуатацию буровой установки. Например, новая система управления буровой установкой, введенная в эксплуатацию посредством системы (2810) ввода в эксплуатацию буровой установки, может использоваться для управления другой буровой установкой, отдельной от буровой установки (12), управляемой системой (2800) управления буровой установкой.[00309] In one or more embodiments, the control tasks include a software commissioning task, a network commissioning task, a diagnostics task, etc. In one or more embodiments, the drilling rig commissioning system (2810) creates a knowledge graph that describes the normal operation of the rig control system (2800). The knowledge graph has a hierarchical structure corresponding to the hierarchical structure of the components of the drilling rig control system (2800). In one or more embodiments of the invention, the rig commissioning system (2810) uses machine learning algorithms to create a knowledge graph during normal operation of the rig control system (2800). Machine learning algorithms may be based on one or more of the methods of stochastic, numerical and statistical analysis. In one or more embodiments of the invention, the knowledge graph is used to perform diagnostic tasks during abnormal operation of the drilling rig control system (2800). In one or more embodiments of the invention, the knowledge graph of the rig control system (2800) is used to perform software and network commissioning tasks to configure a new rig control system separate from the rig control system (2800) on which the system (2810) is learning. ) Commissioning of the drilling rig. For example, a new drilling rig control system commissioned by the drilling rig commissioning system (2810) may be used to control another drilling rig separate from the drilling rig (12) controlled by the drilling rig control system (2800).

[00310] В одном или более вариантах реализации изобретения система (2810) ввода в эксплуатацию буровой установки выполняет различные функции, описанные выше, с помощью способа, описанного ниже со ссылкой на фиг. 29. Пример графа знаний описан ниже со ссылкой на фиг. 31-32. В одном или более вариантах реализации изобретения система (2810) ввода в эксплуатацию буровой установки, человеко-машинный интерфейс (2820) и различные компоненты системы (2800) управления буровой установкой могут представлять собой вычислительную систему, аналогичную вычислительной системе (3400), описанной со ссылкой на фиг. 34.1 и 34.2. В одном или более вариантах реализации изобретения система (2810) ввода в эксплуатацию буровой установки отделена от системы (2800) управления буровой установкой и сообщается с ней. В одном или более вариантах реализации изобретения система (2810) ввода в эксплуатацию буровой установки и система (2800) управления буровой установкой объединены в единую систему.[00310] In one or more embodiments of the invention, the rig commissioning system (2810) performs the various functions described above using the method described below with reference to FIG. 29. An example of a knowledge graph is described below with reference to FIG. 31-32. In one or more embodiments of the invention, the drilling rig commissioning system (2810), the human-machine interface (2820), and various components of the drilling rig control system (2800) may be a computing system similar to the computing system (3400) described with reference to in fig. 34.1 and 34.2. In one or more embodiments of the invention, the rig commissioning system (2810) is separate from and communicates with the rig control system (2800). In one or more embodiments of the invention, the rig commissioning system (2810) and the rig control system (2800) are combined into a single system.

[00311] На фиг. 29 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения способ может быть основан на системах, проиллюстрированных выше на фиг. 1, 2 и 28. Один или более этапов, проиллюстрированных на фиг. 29, могут быть опущены, повторены и/или выполнены в другом порядке в различных вариантах реализации изобретения. Соответственно, варианты реализации изобретения не должны рассматриваться как ограниченные конкретным количеством и порядком этапов, проиллюстрированных на фиг. 29.[00311] FIG. 29 illustrates a block diagram in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, the method may be based on the systems illustrated above in FIG. 1, 2 and 28. One or more of the steps illustrated in FIG. 29 may be omitted, repeated, and/or performed in a different order in various embodiments of the invention. Accordingly, embodiments of the invention should not be construed as being limited to the specific number and order of the steps illustrated in FIG. 29.

[00312] В одном или более вариантах реализации изобретения блок-схему, проиллюстрированная на фиг. 29, использует система ввода в эксплуатацию буровой установки для ввода в эксплуатацию системы управления буровой установкой или иного управления указанной системой. Первоначально на этапе 2900 обнаруживаются компоненты системы управления буровой установкой на буровой площадке. В одном или более вариантах реализации изобретения компоненты обнаруживаются, когда отдельные подсистемы и компоненты аппаратных средств приводятся в действие и находятся в рабочем режиме, то есть начинают обмениваться данными по сети. Находящиеся в рабочем режиме компоненты должны быть введены в эксплуатацию и соединены с возможностью связи друг с другом перед использованием для управления операцией бурения на недавно разработанной буровой площадке. [00312] In one or more embodiments of the invention, the block diagram illustrated in FIG. 29 uses a drilling rig commissioning system to commission a drilling rig control system or otherwise control said system. Initially, at step 2900, components of the drilling rig control system are located at the well site. In one or more embodiments of the invention, the components are discovered when the individual subsystems and hardware components are powered up and in operation, that is, they begin to communicate over the network. The operational components must be commissioned and communicatively connected to each other before being used to control the drilling operation at the newly developed well site.

[00313] В одном или более вариантах реализации изобретения компоненты обнаруживаются в ответ на предупреждение во время операции бурения установленной буровой площадки. Предупреждение может указывать на нештатную работу или другое событие/аварийную ситуацию, обнаруженные системой управления буровой установкой или пользователем, контролирующим операцию бурения. Предупреждение может содержать запрос, предоставляемый автоматически или посредством пользователя, классифицирующего предупреждение, на систему ввода в эксплуатацию буровой установки для проведения диагностики системы управления буровой установкой на установленной буровой площадке.[00313] In one or more embodiments of the invention, the components are detected in response to an alert during a drilling operation at an established well site. The alert may indicate an abnormal operation or other event/emergency detected by the rig control system or by the user supervising the drilling operation. The alert may include a request, provided automatically or by a user categorizing the alert, to the rig commissioning system to perform diagnostics on the rig control system at the installed well site.

[00314] На этапе 2910 получают граф знаний. В одном или более вариантах реализации изобретения граф знаний создается системой ввода в эксплуатацию буровой установки во время периода подготовки посредством машинного обучения, когда обычная операция бурения выполняется системой управления буровой установкой на установленной буровой площадке. Один или более стохастических, численных и статистических методов анализа могут использоваться в течение периода подготовки посредством машинного обучения. В одном или более вариантах реализации изобретения граф знаний создается с помощью способа, описанного ниже со ссылкой на фиг. 29.[00314] In step 2910, a knowledge graph is obtained. In one or more embodiments of the invention, the knowledge graph is created by the drilling rig commissioning system during the machine learning preparation period when the normal drilling operation is performed by the drilling rig control system at the installed well site. One or more stochastic, numerical, and statistical analysis methods may be used during the training period through machine learning. In one or more embodiments of the invention, the knowledge graph is created using the method described below with reference to FIG. 29.

[00315] В одном или более вариантах реализации изобретения статистическая информация, хранящаяся в узлах и связях графа знаний, представляет заданные целевые/опорные показатели вычислительных операций соответствующих подсистем и/или операций передачи данных между каждой парой компонентов системы управления буровой установкой. Например, заданный показатель может включать в себя среднее значение, медиану, моду, корреляцию, ранжирование, количественный показатель, категорию и/или другие статистические данные. Иными словами, статистическая информация, хранящаяся в узлах и связях графа знаний, может соответствовать среднему значению, медиане, моде, ранжированию, количественному показателю и т. д. использования вычислительных ресурсов и/или коммуникационных действий соответствующей пары компонентов. Кроме того, статистическая информация также может включать корреляцию между использованием вычислительных ресурсов и коммуникационными действиями соответствующей пары компонентов. [00315] In one or more embodiments of the invention, the statistical information stored in the nodes and links of the knowledge graph represents predetermined targets/references for the computing operations of the respective subsystems and/or data transfer operations between each pair of components of the drilling rig control system. For example, a predetermined score may include mean, median, mode, correlation, ranking, score, category, and/or other statistics. In other words, the statistical information stored in the nodes and links of the knowledge graph may correspond to the mean, median, mode, ranking, score, etc. of the use of computing resources and/or communication actions of the corresponding pair of components. In addition, the statistical information may also include a correlation between the use of computing resources and the communication activities of the respective pair of components.

[00316] В одном или более вариантах реализации изобретения связи также содержат информацию ранжирования, которая вычисляется на основании различных типов искусственного интеллекта (AI, artificial intelligence) в зависимости от условий работы буровой установки, эксплуатационных факторов, этапов эксплуатации и общей готовности системы. Например, заданный показатель, представленный конкретной связью, может быть низким, конкретная связь может иметь более высокий ранг, чем другие связи в графе знаний, из-за производственной потребности в конкретной связи. В одном или более вариантах реализации изобретения производственная потребность в каждом узле/связи определяется на основании одного или более условий работы буровой установки, эксплуатационных факторов, этапов эксплуатации и общей готовности системы. Пример ранжирования вычисления узлов/связей во время работы буровой установки описан ниже со ссылкой на фиг. 33. [00316] In one or more embodiments of the invention, the links also contain ranking information, which is calculated based on various types of artificial intelligence (AI, artificial intelligence) depending on the conditions of the drilling rig, operational factors, stages of operation and overall system availability. For example, the target value represented by a particular relationship may be low, a particular relationship may rank higher than other relationships in the knowledge graph due to the production need for a particular relationship. In one or more embodiments of the invention, the production requirement for each node/link is determined based on one or more rig operating conditions, operating factors, operating stages, and overall system availability. An example of ranking node/link calculation during rig operation is described below with reference to FIG. 33.

[00317] В одном или более вариантах реализации изобретения граф знаний поступает в систему ввода в эксплуатацию буровой установки в качестве целевого рабочего условия для ввода в эксплуатацию недавно разработанной буровой площадки или буровой установки. В одном или более вариантах реализации изобретения граф знаний поступает в систему ввода в эксплуатацию буровой установки в качестве эталонного стандарта для диагностики потенциальных проблем на установленной буровой площадке или буровой установке. [00317] In one or more embodiments of the invention, the knowledge graph is input to the drilling rig commissioning system as a target operating condition for commissioning a newly developed drilling site or drilling rig. In one or more embodiments of the invention, the knowledge graph is provided to the rig commissioning system as a reference standard for diagnosing potential problems at the installed well site or rig.

[00318] На этапе 2920 задача управления системы управления буровой установкой выполняется на основании графа знаний системой ввода в эксплуатацию буровой установки. В одном или более вариантах реализации изобретения задача ввода в эксплуатацию программного обеспечения выполняется на основании графа знаний. Например, задача ввода в эксплуатацию программного обеспечения может включать одно или более из следующего: установка программного обеспечения, соединение программного обеспечения со службой, соединение программного обеспечения с программным обеспечением, проверка лицензии, проверка пользователя и конфигурации сетевого порта. В одном или более вариантах реализации изобретения задача ввода в эксплуатацию программного обеспечения относится к программному обеспечению, установленному в подсистемах системы управления буровой установкой на недавно разработанной буровой площадке или буровой установке. Например, задача ввода в эксплуатацию программного обеспечения может выполняться в отношении программного компонента на втором иерархическому уровне системы управления буровой установкой.[00318] In step 2920, a rig control system control task is performed based on the knowledge graph by the rig commissioning system. In one or more embodiments of the invention, a software commissioning task is performed based on a knowledge graph. For example, a software commissioning task may include one or more of the following: software installation, software to service connection, software to software connection, license check, user and network port configuration check. In one or more embodiments of the invention, the software commissioning task refers to software installed in subsystems of a drilling rig control system at a newly developed well site or drilling rig. For example, a software commissioning task may be performed on a software component at a second hierarchical level of a drilling rig control system.

[00319] В одном или более вариантах реализации изобретения установка программного обеспечения включает одну или более задач проверки версии программного обеспечения, проверки типа или модели аппаратного средства, проверки функциональных возможностей жесткого диска, проверки емкости памяти компьютера, проверки версии операционной системы, проверки версии микропрограммного обеспечения, проверки установки и конфигурации межсетевой защиты, проверки ширины полосы пропускания и пропускной способности сети и проверок других параметров системы. В одном или более вариантах реализации изобретения одна из этих задач проверки соответствует узлам на графе знаний, которые соединены, например, посредством связей с программным приложением. Эти связи представляют требования к программному приложению для надлежащего осуществления процесса. Если какой-либо из этих узлов отсутствует, программное приложение может не работать должным образом. На данном этапе система ввода в эксплуатацию может определить, что система не соответствует требованиям и приложение не может выполняться.[00319] In one or more embodiments of the invention, installing the software includes one or more tasks of checking the software version, checking the type or model of hardware, checking the functionality of the hard drive, checking the memory capacity of the computer, checking the operating system version, checking the firmware version , firewall installation and configuration checks, network bandwidth and throughput checks, and other system settings checks. In one or more embodiments of the invention, one of these validation tasks corresponds to nodes in the knowledge graph that are connected, for example, through links to a software application. These associations represent the requirements for the software application to carry out the process properly. If any of these nodes are missing, the software application may not work properly. At this point, the commissioning system may determine that the system is not compliant and the application cannot run.

[00320] В одном или более вариантах реализации изобретения соединение для передачи данных между парой компонентов системы управления буровой установкой устанавливается на основании графа знаний. Например, соединение для передачи данных может быть установлено между парой компонентов на первом иерархическом уровне и/или втором иерархическом уровне системы управления буровой установкой на недавно разработанной буровой площадке или буровой установке.[00320] In one or more embodiments of the invention, a data connection between a pair of rig control system components is established based on a knowledge graph. For example, a data connection may be established between a pair of components at a first hierarchical level and/or a second hierarchical level of a drilling rig control system at a newly developed well site or drilling rig.

[00321] В одном или более вариантах реализации изобретения задача диагностики системы управления буровой установкой выполняется на основании графа знаний. В частности, во время текущей операции бурения на установленной буровой площадке создается заданный показатель вычислительных операций и/или обмена данными между парой компонентов системы управления буровой установкой. Например, заданный показатель может соответствовать передаче данных между парой компонентов на первом иерархическом уровне и/или втором иерархическом уровне системы управления буровой установкой. Заданный показатель сравнивается с соответствующим целевым заданным показателем пары компонентов, хранимым в графе знаний, для генерирования результата. Например, результат может указывать на разницу между заданным показателем, полученным в ходе текущей операции бурения, и соответствующим целевым заданным показателем, полученным в ходе предыдущей обычной операции бурения, например на этапе подготовки посредством машинного обучения. Другими словами, разница представляет собой отклонение текущей операции бурения от предыдущей обычной операции бурения. Например, отклонение может быть обусловлено устаревшим программным компонентом, истечением срока действия лицензии на программное обеспечение, ошибкой конфигурации программного обеспечения и т. д. Соответственно, задача диагностики выполняется посредством анализа разницы для определения первопричины отклонения и определения применимого корректирующего действия.[00321] In one or more embodiments of the invention, the task of diagnosing a drilling rig control system is performed based on a knowledge graph. In particular, during an ongoing drilling operation at an established drilling site, a setpoint of computational operations and/or data exchange between a pair of drilling rig control system components is generated. For example, the predetermined metric may correspond to communication between a pair of components at a first hierarchical level and/or a second hierarchical level of a drilling rig control system. The setpoint is compared with the corresponding target setpoint of the component pair stored in the knowledge graph to generate a result. For example, the result may indicate the difference between a setpoint obtained during the current drilling operation and a corresponding target setpoint obtained during a previous conventional drilling operation, such as in a machine learning preparation step. In other words, the difference represents the deviation of the current drilling operation from the previous conventional drilling operation. For example, a deviation may be due to an outdated software component, software license expiration, software configuration error, etc. Accordingly, a diagnostic task is performed by analyzing the difference to determine the root cause of the deviation and determine the applicable corrective action.

[00322] На фиг. 30 проиллюстрирована блок-схема в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения способ может быть основан на системах, проиллюстрированных выше на фиг. 1, 2 и 28. Один или более этапов, проиллюстрированных на фиг. 30, могут быть опущены, повторены и/или выполнены в другом порядке в различных вариантах реализации изобретения. Соответственно, варианты реализации изобретения не должны рассматриваться как ограниченные конкретным количеством и порядком этапов, проиллюстрированных на фиг. 30.[00322] FIG. 30 illustrates a block diagram in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, the method may be based on the systems illustrated above in FIG. 1, 2 and 28. One or more of the steps illustrated in FIG. 30 may be omitted, repeated, and/or performed in a different order in various embodiments of the invention. Accordingly, embodiments of the invention should not be construed as being limited to the specific number and order of the steps illustrated in FIG. thirty.

[00323] В одном или более вариантах реализации изобретения блок-схему, проиллюстрированную на фиг. 30, используют на этапе подготовки посредством машинного обучения для создания графа знаний системы управления буровой установкой во время операции бурения. Каждая итерация по блок-схеме выполняется, когда отдельные подсистемы и компоненты аппаратных средств приведены в действие и находятся в рабочем режиме, то есть начинают осуществлять связь через сеть. Находящиеся в рабочем режиме компоненты обнаруживаются посредством нескольких итераций блок-схемы, чтобы создать и расширить граф знаний системы управления буровой установкой. [00323] In one or more embodiments of the invention, the block diagram illustrated in FIG. 30 is used in the preparation phase through machine learning to generate a knowledge graph of the rig control system during a drilling operation. Each iteration of the flowchart is performed as the individual subsystems and hardware components are powered up and operational, that is, they begin to communicate over the network. Live components are discovered through multiple iterations of the block diagram to create and extend the knowledge graph of the rig control system.

[00324] Первоначально на этапе 3001 система управления буровой установкой сканируется для обнаружения любой подсистемы или компонента аппаратных средств, который находится в рабочем режиме, то есть осуществляет связь через сеть. В одном или более вариантах реализации изобретения сканирование выполняется системой ввода в эксплуатацию буровой установки с помощью сетевых протоколов связи. В одном или более вариантах реализации изобретения система ввода в эксплуатацию буровой установки содержит модуль искусственного интеллекта (AI), который контролирует все процессы, выполняющиеся на компьютерах, которые входят в состав системы управления бурением. Когда новый процесс (например, приложение, службы, сценарий и т. д.) запускается на любом из компьютеров, новый модуль обнаруживается модулем AI. Как только новый процесс обнаружен, дерево зависимостей создается как граф знаний. Например, как описано ниже в связи с этапами 3002-3012, модуль AI может определить все необходимые программные компоненты, такие как библиотеки DLL, файлы конфигурации, база данных, сетевые порты, сетевые соединения и т. д., которые необходимы процессу. Поскольку на компьютере(ах) запущено несколько процессов, или служб, или сценариев, модуль AI вычисляет важность каждого программного компонента, сопоставляя его с эксплуатационными данными. Эксплуатационные данные предоставляются на этапе обучения, когда система обучается способам обнаружения различной оперативной информации. В случае операций бурения большинство эксплуатационных этапов уже заданы. Учитывая, что эти эксплуатационные этапы повторяются в ходе операции бурения, модуль AI может использовать сведения о том, что выполняется определенный эксплуатационный этап, и применить численные алгоритмы для определения или повторного вычисления важности определенных программных компонентов (или узлов). Поскольку время начала следующего эксплуатационного этапа не определено, могут применяться стохастические способы вычисления ранжирования. В зависимости от предстоящего эксплуатационного этапа ранжирование узлов и границ изменяется в зависимости от важности каждого узла и границы. Другими словами, ранжирования изменяются в зависимости от важности узлов и границ для определенных этапов операций бурения. Например, во время бурения определенные приложения должны быть запущены и доступны для бурения скважины. Ранг этих приложений является высоким до и во время выполнения этого эксплуатационного этапа. Есть и менее важные системные компоненты. Чтобы вычислить ранг этих компонентов, можно применить статистический или вероятностный подход.[00324] Initially, in step 3001, the rig control system is scanned to detect any subsystem or hardware component that is operational, that is, communicating over the network. In one or more embodiments of the invention, scanning is performed by a rig commissioning system using network communication protocols. In one or more embodiments of the invention, the rig commissioning system includes an artificial intelligence (AI) module that controls all processes running on computers that are part of the drilling control system. When a new process (such as an application, services, script, etc.) is launched on any of the computers, the new module is detected by the AI module. Once a new process is discovered, a dependency tree is created as a knowledge graph. For example, as described below in connection with steps 3002-3012, the AI module may determine all necessary software components such as DLLs, configuration files, database, network ports, network connections, etc. that are required by the process. Because multiple processes or services or scripts are running on the computer(s), the AI module calculates the importance of each software component against operational data. Operational data is provided during the training phase, when the system is trained to detect various operational information. In the case of drilling operations, most of the operational steps are already defined. Given that these production steps are repeated during the drilling operation, the AI module can use the knowledge that a certain production step is in progress and apply numerical algorithms to determine or recalculate the importance of certain software components (or nodes). Since the start time of the next operational phase is not determined, stochastic ranking calculation methods can be applied. Depending on the upcoming operational phase, the ranking of nodes and boundaries changes depending on the importance of each node and boundary. In other words, the rankings change depending on the importance of nodes and boundaries for certain stages of drilling operations. For example, while drilling, certain applications must be running and available to drill the well. The rank of these applications is high before and during this operational phase. There are also less important system components. To calculate the rank of these components, you can apply a statistical or probabilistic approach.

[00325] На этапе 3002 определяют, обнаружена ли подсистема или компонент аппаратного средства. Если определение дает отрицательный результат, выполнение способа возвращается к этапу 3001 для продолжения сканирования. Если определение дает положительный результат, выполнение способа переходит к этапу 3003, на котором обнаруженный компонент классифицируется, например, как один из множества компонентов первого иерархического уровня и компонентов второго иерархического уровня системы управления буровой установкой. На этапе 404 определяют, является ли обнаруженный класс компонента действительным. Если определение дает отрицательный результат, обнаруженный компонент отбрасывается, и выполнение способа возвращается к этапу 3001 для продолжения сканирования. Если определение дает положительный результат, выполнение способа переходит к этапу 3005, на котором выполняется другое определение относительно того, включен ли уже обнаруженный компонент в граф знаний. Если определение дает положительный результат, выполнение способа возвращается к этапу 3001 для продолжения сканирования. Если определение дает отрицательный результат, выполнение способа переходит к этапу 3006, на котором вычисляется количественный показатель и ранг обнаруженного компонента. [00325] In step 3002, it is determined if a subsystem or hardware component has been detected. If the determination is negative, the method returns to block 3001 to continue scanning. If the determination is positive, the method proceeds to step 3003 where the detected component is classified, for example, as one of a plurality of first hierarchical level components and second hierarchical level components of the rig control system. At block 404, it is determined if the detected bean class is valid. If the determination fails, the detected component is discarded and the method returns to block 3001 to continue scanning. If the determination is positive, the method proceeds to block 3005 where another determination is made as to whether the already discovered component is included in the knowledge graph. If the determination is positive, the method returns to block 3001 to continue scanning. If the determination fails, the method proceeds to block 3006 where the score and rank of the detected component is calculated.

[00326] В одном или более вариантах реализации изобретения количественный показатель представляет собой заданный показатель вычислительных операций обнаруженного компонента. В одном или более вариантах реализации изобретения количественный показатель представляет собой заданный показатель коммуникационных действий между обнаруженным компонентом и другим компонентом в графе знаний. Как только вычислен количественный показатель, его сравнивают с количественными показателями других компонентов в графе знаний для получения ранга недавно обнаруженного компонента. Затем выполнение способа переходит к этапу 3007, на котором делается еще одно определение относительно того, может ли обнаруженный компонент подсоединяться к графу знаний. Если определение дает отрицательный результат, выполнение способа переходит к этапу 3008, на котором обнаруженный компонент помещается в качестве незадействованного узла в граф знаний, прежде чем выполнение способа возвратится к этапу 3001 для продолжения сканирования. Если определение дает положительный результат, выполнение способа переходит к этапу 3009, на котором обнаруженный компонент соединяется с другим(и) узлом(ами) в графе знаний, чтобы расширить граф знаний. [00326] In one or more embodiments of the invention, the score is a specified measure of computational operations of the detected component. In one or more embodiments of the invention, a score is a predetermined measure of communication activities between a discovered component and another component in the knowledge graph. Once a score is computed, it is compared with the scores of the other components in the knowledge graph to obtain the rank of the newly discovered component. The method then proceeds to block 3007 where another determination is made as to whether the discovered component can be connected to the knowledge graph. If the determination fails, the method proceeds to block 3008, where the discovered component is placed as an idle node in the knowledge graph, before the method returns to block 3001 to continue scanning. If the determination is positive, the method proceeds to step 3009, where the detected component is connected to other node(s) in the knowledge graph to expand the knowledge graph.

[00327] Затем выполнение способа переходит к этапу 3010, на котором определяют необходимость корректировки графа, например, если вновь обнаруженный компонент может соединяться с ранее обнаруженным незадействованным узлом. Если определение дает положительный результат, выполнение способа переходит к этапу 3013 для прохождения графа знаний и незадействованных узлов. На последующем этапе 3007 идентифицируют один или более незадействованных узлов, которые могут подсоединяться благодаря недавно обнаруженному компоненту. Если определение на этапе 3010 дает отрицательный результат, выполнение способа переходит к этапу 3012, на котором определяют, завершена ли подготовка посредством машинного обучения. Например, определение может осуществляться с помощью алгоритма машинного обучения. Если определение дает отрицательный результат, выполнение способа возвращается к этапу 3001 для входа в следующую итерацию. Если определение дает положительный результат, выполнение способа завершается и граф знаний сохраняется. В одном или более вариантах реализации изобретения сохраненный граф знаний впоследствии используется системой ввода в эксплуатацию буровой установки для выполнения задачи управления системы управления буровой установкой. [00327] The method then proceeds to block 3010, which determines if the graph needs to be adjusted, for example, if a newly discovered component can connect to a previously discovered idle node. If the determination is positive, the method proceeds to block 3013 to traverse the knowledge graph and idle nodes. At a subsequent step 3007, one or more idle nodes are identified that can connect due to the newly discovered component. If the determination at block 3010 fails, the execution of the method proceeds to block 3012, where it is determined whether the training has been completed by machine learning. For example, the determination may be performed using a machine learning algorithm. If the determination fails, the method returns to block 3001 to enter the next iteration. If the determination gives a positive result, the execution of the method ends and the knowledge graph is saved. In one or more embodiments of the invention, the stored knowledge graph is subsequently used by the rig commissioning system to perform the control task of the rig control system.

[00328] На фиг. 31-33 проиллюстрированы примеры в соответствии с одним или более вариантами реализации изобретения. В одном или более вариантах реализации изобретения примеры могут быть основаны на системах, проиллюстрированных выше на фиг. 1, 2 и 28, и/или блок-схемах способа, проиллюстрированных выше на фиг. 29-30. В одном или более вариантах реализации изобретения один или более элементов, проиллюстрированных на фиг. 31-33, могут быть опущены, повторены и/или заменены. Соответственно, варианты реализации изобретения не должны рассматриваться как ограниченные конкретными компоновками модулей, проиллюстрированными на фиг. 31-33.[00328] FIG. 31-33 illustrate examples in accordance with one or more embodiments of the invention. In one or more embodiments of the invention, the examples may be based on the systems illustrated above in FIG. 1, 2 and 28 and/or the flow diagrams of the method illustrated above in FIGS. 29-30. In one or more embodiments of the invention, one or more of the elements illustrated in FIG. 31-33 may be omitted, repeated and/or replaced. Accordingly, embodiments of the invention should not be construed as being limited to the particular module arrangements illustrated in FIG. 31-33.

[00329] В примере, проиллюстрированном на фиг. 31-33, существует множество подсистем, составляющих систему управления буровой установкой. Существует подсистема управления бурением, которая управляет машинами для бурения скважины. Существует подсистема бурового раствора, которая перемешивает буровой раствор, который закачивается вглубь скважины насосной подсистемой. Существует подсистема цементирования, которая смешивает и закачивает цемент. В дополнение к вышеупомянутым ключевым подсистемам бурения существует много других подсистем, таких как генераторная система питания буровой установки, которые сосуществуют и составляют общую систему управления буровой установкой. Каждая из этих подсистем выполняет специальные функции, используя тяжелую технику и сложные системы управления для безопасного бурения нефтяных и газовых скважин. Нередко существует минимальная интеграция между этими подсистемами, главным образом потому, что эти подсистемы предназначены для автономного использования. Разные поставщики могут производить эти подсистемы, и до сих пор прилагалось очень мало усилий по сотрудничеству для обеспечения плавного интегрирования этих подсистем. Уровень интеграции между различными подсистемами зависит от степени сотрудничества между различными поставщиками подсистем. В случае, когда эти подсистемы применяются на площадке буровой установки, один или более инженеров по вводу в эксплуатацию буровой установки физически соединяют между собой эти подсистемы для конфигурации всей системы управления буровой установкой. Из-за огромного количества типов и конфигураций подсистем буровой установки инженеры по вводу в эксплуатацию должны обладать обширными знаниями и опытом в отношении многих типов подсистем буровой установки для выполнения задач по вводу в эксплуатацию буровой установки. Работа по интегрированию разнородных подсистем буровых установок часто является сложной, трудоемкой и подверженной ошибкам.[00329] In the example illustrated in FIG. 31-33, there are many subsystems that make up a rig control system. There is a drilling control subsystem that controls the machines for drilling the well. There is a drilling fluid subsystem that mixes the drilling fluid which is pumped downhole by the pumping subsystem. There is a cementing subsystem that mixes and pumps cement. In addition to the aforementioned key drilling subsystems, there are many other subsystems, such as the rig's generator power system, that coexist to form the overall rig control system. Each of these subsystems performs specific functions, using heavy machinery and sophisticated control systems to safely drill oil and gas wells. Often there is minimal integration between these subsystems, mainly because these subsystems are meant to be used standalone. Different vendors may produce these subsystems, and so far there has been very little collaborative effort to ensure the smooth integration of these subsystems. The level of integration between different subsystems depends on the degree of cooperation between the various subsystem vendors. In the case where these subsystems are applied at a rig site, one or more rig commissioning engineers physically interconnect these subsystems to configure the entire rig control system. Due to the vast number of types and configurations of rig subsystems, commissioning engineers must have extensive knowledge and experience with many types of rig subsystems in order to perform rig commissioning tasks. The job of integrating heterogeneous rig subsystems is often complex, time-consuming and error-prone.

[00330] Как отмечалось выше, интеллектуальную систему ввода в эксплуатацию буровой установки применяют для автоматического ввода в эксплуатацию систем управления буровой установкой. Подсистема буровой установки приводится в рабочий режим, когда выполнены все механические соединения, установка оборудования, электропроводка и любые другие физические соединения. Когда подсистема приводится в рабочий режим, приводятся в действие компьютерные устройства. На этом этапе интеллектуальная система ввода в эксплуатацию буровой установки принимает на себя и выполняет все задачи ввода в эксплуатацию программного обеспечения, необходимые подсистеме для выполнения всех ее функций. В рамках задач ввода в эксплуатацию программного обеспечения интеллектуальная система ввода в эксплуатацию выполняет установку программного обеспечения, проверку лицензии, проверку пользователя, конфигурацию сетевого порта и любые другие действия, необходимые для надлежащего функционирования системы управления подсистемой. Интеллектуальная система ввода в эксплуатацию выполняет эти действия на основании графа знаний подсистемы буровой установки. Граф знаний подсистемы содержит всю информацию, необходимую для проверки и подтверждения правильности интеллектуальной системой установки и конфигурации программного обеспечения на уровне подсистемы. [00330] As noted above, an intelligent drilling rig commissioning system is used to automatically commission drilling rig control systems. The rig subsystem is brought online when all mechanical connections, equipment installation, electrical wiring, and any other physical connections have been made. When the subsystem is brought into operation, the computer devices are brought into action. At this stage, the intelligent rig commissioning system takes over and performs all the software commissioning tasks required by the subsystem to perform all of its functions. As part of software commissioning tasks, the intelligent commissioning system performs software installation, license verification, user verification, network port configuration, and any other actions necessary for the proper functioning of the subsystem management system. The intelligent commissioning system performs these actions based on the knowledge graph of the rig subsystem. The subsystem knowledge graph contains all the information necessary for the intelligent system to validate and validate the software installation and configuration at the subsystem level.

[00331] На фиг. 31 проиллюстрирован приведенный в качестве примера граф знаний (3100) подсистемы, соответствующий подсистеме A (2801a), проиллюстрированной выше на фиг. 28. На графе знаний (3100) подсистемы узлы обозначены в виде кубиков, а связи - в виде двойных стрелок. Каждому узлу и каждой связи назначается количественный показатель, представляющий заданный показатель вычислительной работы и/или коммуникационных действий в связи с узлом/связью. Например, ПриложA (3100a) соответствует прикладному программному обеспечению, которое установлено в подсистеме A (2801a) и которому присвоен количественный показатель 0,97, причем узлы, обозначенные как ПриложB и ПриложC, соответствуют дополнительным компонентам прикладного программного обеспечения, которым соответственно назначены количественные показатели 0,90 и 0,89. Эти количественные показатели указывают, что ПриложA (3100a) выполняет более интенсивную вычислительную работу, чем ПриложB, которое, в свою очередь, выполняет более интенсивную вычислительную работу, чем ПриложC. В другом примере СлужбG (3100b) соответствует программной службе G операционной системы в подсистеме A (2801a), причем дополнительные узлы, обозначенные как СлужбH, СлужбJ, СлужбK, СлужбL и СлужбP, соответствуют программным службам H, J, K, L и P соответственно. Кроме того, межсетевой экран (3100c) соответствует программному обеспечению межсетевого экрана в подсистеме A (2801a). Точно так же узлы, обозначенные как ПортX и ПортY, соответствуют портам коммуникационной сети в подсистеме A (2801a). Кроме того, узлы, обозначенные как IPадрес2 и IPадрес3, соответствуют сетевым узлам с конкретным IP-адресом 2 и IP-адресом 3. Следует обратить внимание, что связям между ПриложA (3100a) и СлужбH, СлужбL и ПортX соответственно назначены количественные показатели 0,69, 0,69 и 0,89. Эти количественные показатели указывают, что ПриложA (3100a) связывается со СлужбH и СлужбL с аналогичной работой/частотой, которые имеют более низкий количественный показатель (то есть работают менее активно или не так часто), чем коммуникационные действия между ПриложA (3100a) и ПортX. Количественные показатели, присвоенные всем узлам и связям в графе знаний (3100) подсистемы, агрегируются в общий количественный показатель (3100d), который представляет собой заданный показатель (т. е. 0,99) агрегированных внутренних вычислительных/коммуникационных действий в пределах подсистемы A (2801a) во время операции бурения. Например, общий количественный показатель (3100d) может быть средневзвешенным значением количественных показателей, назначенных всем узлам и связям. В другом примере общий количественный показатель (3100d) может быть вычислен с помощью другой статистической формулы на основании количественных показателей, назначенных всем узлам и связям.[00331] FIG. 31 illustrates an exemplary subsystem knowledge graph (3100) corresponding to subsystem A (2801a) illustrated above in FIG. 28. On the knowledge graph (3100) of the subsystem, the nodes are indicated in the form of cubes, and the connections are in the form of double arrows. Each node and each link is assigned a score representing a given measure of computational work and/or communication activity in connection with the node/link. For example, AppA (3100a) corresponds to an application software that is installed in subsystem A (2801a) and assigned a score of 0.97, with nodes labeled AppB and AppC corresponding to additional application software components that are respectively assigned scores of 0. .90 and 0.89. These scores indicate that AppA (3100a) is more computationally intensive than AppB, which in turn is more computationally intensive than AppC. In another example, ServicesG (3100b) corresponds to operating system software service G in subsystem A (2801a), with additional nodes designated ServicesH, ServicesJ, ServicesK, ServicesL, and ServicesP corresponding to software services H, J, K, L, and P, respectively. In addition, the firewall (3100c) corresponds to the firewall software in subsystem A (2801a). Similarly, the nodes labeled PortX and PortY correspond to the communications network ports in subsystem A (2801a). In addition, the nodes labeled IPAddress2 and IPAddress3 correspond to network nodes with specific IP address 2 and IP address 3. Note that the links between AppA (3100a) and ServicesH, ServicesL and PortX are respectively assigned scores of 0.69 , 0.69 and 0.89. These scores indicate that AppA (3100a) is communicating with ServicesH and ServicesL with similar performance/frequency, which have a lower score (i.e. less active or less frequent) than the communication activities between AppA (3100a) and PortX. The scores assigned to all nodes and links in the knowledge graph (3100) of the subsystem are aggregated into a total score (3100d), which is a target score (i.e. 0.99) of the aggregated internal computing/communication activities within subsystem A ( 2801a) during a drilling operation. For example, the overall score (3100d) could be a weighted average of the scores assigned to all nodes and links. In another example, the overall score (3100d) may be calculated using a different statistical formula based on the scores assigned to all nodes and links.

[00332] В приведенном в качестве примера сценарии подсистема A (2801a) представляет собой автономный компьютер, такой как ноутбук или компьютерный сервер, который содержит вышеупомянутые программные приложения, программные службы, межсетевой экран, порты коммуникационной сети, сетевые узлы и т. д. Граф знаний подсистемы (3100) также содержит правило (3101) ввода в эксплуатацию, которое определяет правила установки, подключения, связи и конфигурации порта, касающиеся прикладного программного обеспечения ПриложA (3100a). [00332] In the exemplary scenario, subsystem A (2801a) is a stand-alone computer such as a laptop or computer server that contains the aforementioned software applications, software services, firewall, communication network ports, network nodes, etc. Graph The subsystem knowledge (3100) also contains a commissioning rule (3101) that defines installation, connection, communication, and port configuration rules regarding the application software ApplA (3100a).

[00333] По завершении ввода в эксплуатацию каждой подсистемы интеллектуальная система ввода в эксплуатацию автоматически обнаруживает и выполняет дальнейшую конфигурацию программного обеспечения, чтобы обеспечить взаимодействие между собой всех подсистем в системе управления буровой установкой. Кроме того, интеллектуальная система ввода в эксплуатацию сканирует и проводит испытания на совместимость с любым оборудованием, которое входит в состав оборудования буровой установки, а также обеспечивает наличие и надлежащую конфигурацию программного обеспечения для управления оборудованием. При обнаружении расхождений интеллектуальная система ввода в эксплуатацию подключается к облаку и загружает любые недостающие компоненты программного обеспечения или компоненты конфигурации программного обеспечения, необходимые для полной установки и надлежащей конфигурации программного обеспечения для данной установки системы управления буровой установкой. Интеллектуальная система ввода в эксплуатацию выполняет эти действия на основании общего графа знаний системы управления буровой установкой. В одном или более вариантах реализации изобретения интеллектуальная система ввода в эксплуатацию также сохраняет тип буровой установки в качестве части графа знаний, такого как база данных отображения типа и графа знаний, которая может быть использована позже для ввода в эксплуатацию новых буровых установок такого же типа.[00333] Upon completion of the commissioning of each subsystem, the intelligent commissioning system automatically detects and performs further software configuration to ensure that all subsystems in the rig control system interact with each other. In addition, the intelligent commissioning system scans and tests for compatibility with any equipment that is part of the rig equipment, and ensures that the equipment control software is present and properly configured. When discrepancies are found, the intelligent commissioning system connects to the cloud and downloads any missing software components or software configuration components required to fully install and properly configure the software for a given rig control system installation. The intelligent commissioning system performs these actions based on the overall knowledge graph of the rig control system. In one or more embodiments of the invention, the intelligent commissioning system also stores the type of drilling rig as part of a knowledge graph, such as a type mapping and knowledge graph database that can be used later to commission new drilling rigs of the same type.

[00334] На фиг. 32 проиллюстрирован приведенный в качестве примера общий граф (3200) знаний системы управления буровой установкой, соответствующий системе (2800) управления буровой установкой, проиллюстрированной выше на фиг. 28. На общем графе (3200) знаний системы управления буровой установкой узлы обозначены в виде кубиков, а связи - в виде двойных стрелок. Каждому узлу и каждой связи назначается количественный показатель, представляющий заданный показатель вычислительной работы и/или коммуникационных действий в связи с узлом/связью. Например, узел, обозначенный как ПодсистемаX, соответствует графу (3100) знаний подсистемы, проиллюстрированному выше на фиг. 31, причем узлы, обозначенные как ПодсистемаY и ПодсистемаZ, соответствуют дополнительным графам знаний подсистемы, которым соответственно назначены общие количественные показатели 0,89 и 0,99. Хотя граф (3100) знаний подсистемы соответствует подсистеме A (2801a), проиллюстрированной выше на фиг. 28, ПодсистемаY и ПодсистемаZ могут соответствовать другим подсистемам, проиллюстрированным выше на фиг. 28. Например, ПодсистемаY может соответствовать подсистеме B (2801b). Количественные показатели ПодсистемыX (то есть 0,99) и ПодсистемыY (то есть 0,89) указывают, что подсистема A (2801a) выполняет более интенсивную агрегированную внутреннюю вычислительную/коммуникационную работу, чем подсистема B (2801b). [00334] FIG. 32 illustrates an exemplary general rig control system knowledge graph (3200) corresponding to the rig control system (2800) illustrated above in FIG. 28. On the general graph (3200) of knowledge of the drilling rig control system, the nodes are indicated in the form of cubes, and the links are in the form of double arrows. Each node and each link is assigned a score representing a given measure of computational work and/or communication activity in connection with the node/link. For example, the node labeled SubsystemX corresponds to the subsystem knowledge graph (3100) illustrated above in FIG. 31, with the nodes labeled SubsystemY and SubsystemZ corresponding to additional subsystem knowledge graphs that are respectively assigned overall scores of 0.89 and 0.99. Although the subsystem knowledge graph (3100) corresponds to subsystem A (2801a) illustrated above in FIG. 28, SubsystemY and SubsystemZ may correspond to other subsystems illustrated above in FIG. 28. For example, SubsystemY may correspond to subsystem B (2801b). SubsystemX (ie, 0.99) and SubsystemY (ie, 0.89) scores indicate that subsystem A (2801a) performs more intensive aggregate internal computing/communication work than subsystem B (2801b).

[00335] В другом примере узлы, обозначенные как ОборудX, ОборудY, ОборудZ, Инстр1, Инстр2 и Инстр3, соответствуют буровому оборудованию и другим инструментам, проиллюстрированным выше на фиг. 1, причем каждый отдельно назначенный количественный показатель представляет статистические данные по использованию соответствующего оборудования/инструмента во время операции бурения. Кроме того, узлы, обозначенные как СоединениеA, СоединениеB и СоединениеC, соответствуют элементам сети в системе управления буровой установкой. Узлы, обозначенные как ПриложAA и ПриложBB, соответствуют облачным программным приложениям, доступным для различных подсистем и компонентов аппаратных средств в системе управления буровой установкой. Следует обратить внимание, что связям ПодсистемыX с ОборудX, ПриложBB и Инстр3 присваиваются соответственно количественные показатели 0,09, 0,25 и 0,88. Эти количественные показатели указывают, что ПодсистемаX редко связывается с ОборудX, относительно редко связывается с ПриложBB и часто связывается с Инстр3. [00335] In another example, the nodes labeled EquipmentX, EquipmentY, EquipmentZ, Tool1, Tool2, and Tool3 correspond to the drilling equipment and other tools illustrated above in FIG. 1, with each separately assigned score representing statistics on the use of the respective equipment/tool during a drilling operation. In addition, the nodes labeled ConnectionA, ConnectionB, and ConnectionC correspond to network elements in the rig control system. The nodes labeled AppAA and AppBB correspond to the cloud-based software applications available to the various subsystems and hardware components in the rig control system. It should be noted that the links of SubsystemX with EquipmentX, ApplicationBB and Tool3 are assigned quantitative indicators of 0.09, 0.25 and 0.88, respectively. These scores indicate that SubsystemX rarely contacts HardwareX, relatively rarely contacts AppBB, and frequently communicates with Tool3.

[00336] Без использования общего графа (3200) знаний системы управления буровой установкой каждая подсистема системы управления буровой установкой вводится в эксплуатацию отдельно группой специалистов, которая сотрудничает с другими группами, обладающими различным опытом ввода в эксплуатацию всей системы управления буровой установкой. Проблема заключается в огромном количестве информации, которую осваивают немногие инженеры по вводу в эксплуатацию, прежде чем они смогут эффективно и результативно выполнять все задачи по вводу в эксплуатацию программного обеспечения. Существует состязание между инженерами по вводу в эксплуатацию буровых установок, осваивающими учебный материал для выполнения своих задач, и постоянным развитием подсистем каждой буровой установки. Подсистемы каждой буровой установки продолжают развиваться по мере внедрения новых методов и технологий. По мере внедрения усовершенствований и новых технологий инженеры по вводу в эксплуатацию буровой установки проходят обучение. Ведущим инженерам по вводу в эксплуатацию буровой установки стало сложно усваивать объем информации, необходимой для обучения, в разумные сроки. В результате этого разрыв в знаниях продолжает увеличиваться, поскольку в подсистемы каждой буровой установки внедряются новые технологии. Благодаря описанному выше общему графу (3200) знаний системы управления буровой установкой у одной группы инженеров достаточно опыта для полного ввода в эксплуатацию всей системы управления буровой установкой без участия нескольких групп специалистов, занимающихся подсистемами.[00336] Without using a common rig control system knowledge graph (3200), each subsystem of the rig control system is commissioned separately by a team of specialists who collaborate with other groups with different experience in commissioning the entire rig control system. The problem lies in the vast amount of information that few commissioning engineers master before they can effectively and efficiently perform all software commissioning tasks. There is a competition between rig commissioning engineers mastering the training material to perform their tasks, and the continuous development of the subsystems of each rig. The subsystems of each rig continue to evolve as new methods and technologies are introduced. As improvements and new technologies are introduced, rig commissioning engineers are trained. It has become difficult for lead rig commissioning engineers to absorb the amount of information needed for training in a reasonable amount of time. As a result, the knowledge gap continues to widen as new technologies are introduced into the subsystems of each drilling rig. With the overall rig control system knowledge graph (3200) described above, one team of engineers has enough experience to fully commission the entire rig control system without involving multiple subsystem teams.

[00337] На фиг. 33 проиллюстрирован пример проведения ранжирования при последовательности (3320) операций буровой установки, которая включает операции (3321)-(3326) и дополнительные операции, которые явно не проиллюстрированы. В частности, один и тот же этап ABC операции выполняется в разное время в течение операции (3321) и операции (3324), один и тот же этап X операции выполняется в разное время в течение операции (3322) и операции (3326), техническое обслуживание оборудования выполняется во время операции (3325), а операция (3323) представляет собой время простоя в связи с операцией бурения. В примере, проиллюстрированном на фиг. 33, во время каждой из операций последовательности (3320) операций буровой установки, алгоритмы AI используются для определения ранга элементов в графе знаний, таких как Узел ABC, приложение для Технического обслуживания оборудования и Операция X. Как описано выше, ранг определяется на основании одного или более условий работы буровой установки, эксплуатационных факторов, этапов эксплуатации и общей готовности системы. В частности, поскольку каждая операция выполняется в последовательности (3320) операций буровой установки, проиллюстрированной на фиг. 33, ранг Узла ABC изменяется следующим образом: 0,99999, 0,352, 0,8599, 0,90012, 0,0012, 0,00102 и т. д. Поскольку ранги реализуются на протяжении всей последовательности (3320) операций буровой установки, система ввода в эксплуатацию буровой установки непрерывно переводит буровую установку в рабочее состояние, которое может реализоваться в любое время до или во время операции бурения, и может реализоваться один раз или периодически во время всей операции бурения.[00337] FIG. 33 illustrates an example of performing a ranking on a rig sequence (3320) that includes steps (3321)-(3326) and additional steps that are not explicitly illustrated. In particular, the same operation step ABC is performed at different times during operation (3321) and operation (3324), the same operation step X is performed at different times during operation (3322) and operation (3326), technical equipment maintenance is performed during operation (3325) and operation (3323) represents downtime due to the drilling operation. In the example illustrated in FIG. 33, during each of the operations of the rig operation sequence (3320), AI algorithms are used to determine the rank of items in the knowledge graph such as Node ABC, Equipment Maintenance Application, and Operation X. As described above, the rank is determined based on one or more rig operating conditions, operational factors, operational milestones and overall system availability. In particular, since each operation is performed in the drilling rig sequence (3320) illustrated in FIG. 33, the rank of Node ABC changes as follows: 0.99999, 0.352, 0.8599, 0.90012, 0.0012, 0.00102, and so on. putting the drilling rig into operation continuously brings the drilling rig into operation, which may occur at any time before or during the drilling operation, and may occur once or periodically during the entire drilling operation.

Диспетчер конфигурации и координированный контроллерConfiguration Manager and Coordinated Controller

[00338] В некоторых вариантах реализации изобретения сеть операций содержит диспетчер конфигурации, который может быть аппаратными средствами и/или программным обеспечением, созданным и работающим в одной или более системах обработки, таких как одно или более сетевых приспособлений. Диспетчер конфигурации может быть программой, реализованной программным обеспечением программой, написанной и скомпилированной на языке программирования высокого уровня, таком как C/C++ или т. п. Как более подробно описано ниже, диспетчер конфигурации выполнен с возможностью преобразования связи из различных протоколов связи в общий протокол связи и создания связи, преобразованной в общий протокол связи, доступный через общую шину данных, и наоборот. Общая шина данных может содержать интерфейс прикладных программ (API, application program interface) диспетчера конфигурации и/или виртуальную сеть общих данных (VN-DATA, common data virtual network), реализованную в одной или более системах обработки, таких как сетевые приспособления, например коммутаторы.[00338] In some embodiments, the operations network comprises a configuration manager, which may be hardware and/or software built and running on one or more processing systems, such as one or more network appliances. The configuration manager may be a program implemented by a software program written and compiled in a high-level programming language such as C/C++ or the like. As described in more detail below, the configuration manager is configured to convert communication from various communication protocols to a common protocol. communication and creating a communication converted to a common communication protocol accessible via a common data bus, and vice versa. The common data bus may comprise an application program interface (API) of the configuration manager and/or a common data virtual network (VN-DATA) implemented in one or more processing systems such as network appliances such as switches. .

[00339] Диспетчер конфигурации может иметь заданные классы для объектов, чтобы реализовать преобразование связи. Созданные объекты в диспетчере конфигурации для подсистем могут использоваться для поддержки связи с подсистемами согласно соответствующим (и, возможно, различным) протоколам связи, реализованным подсистемами, и для преобразования связи в общий протокол, который доступен для общей шины данных, и наоборот. Классы могут определять объекты на уровне подсистемы (например, система управления бурением, система циркуляции бурового раствора, система цементирования и т. д.), уровне оборудования (например, верхний силовой привод, буровая лебедка, насос бурового раствора и т. д.) и/или уровне данных (например, тип команд, данные датчика и/или данные о состоянии). Следовательно, объект может быть создан для каждого экземпляра подсистемы, оборудования и/или типа данных в зависимости от того, как был определен класс объекта. Кроме того, классы могут определять объекты на основании протоколов связи, которые должны быть реализованы подсистемами. Гипотетически, если предположить, что две подсистемы являются идентичными, за исключением того, что каждая из них реализует свой протокол связи, диспетчер конфигурации может создавать экземпляры объектов для подсистем из разных классов, которые были определены на основании разных протоколов связи. Объекты могут быть созданы при настройке сети операций и/или путем динамического обнаружения одного или более контроллеров оборудования (EC, equipment controller) и/или подсистем.[00339] The configuration manager may have predefined classes for objects to implement the link transformation. Created objects in the configuration manager for subsystems can be used to support communication with subsystems according to the respective (and possibly different) communication protocols implemented by the subsystems, and to convert the communication to a common protocol that is available on a common data bus, and vice versa. Classes can define objects at the subsystem level (for example, drilling control system, mud circulation system, cementing system, etc.), equipment level (for example, top drive, drawworks, mud pump, etc.), and /or data level (eg command type, sensor data and/or status data). Therefore, an object can be created for each instance of a subsystem, equipment, and/or data type, depending on how the object class has been defined. In addition, classes may define objects based on communication protocols to be implemented by subsystems. Hypothetically, assuming that two subsystems are identical except that each implements a different communication protocol, the configuration manager can instantiate objects for subsystems from different classes that have been defined based on different communication protocols. Objects can be created when setting up a network of operations and/or by dynamically discovering one or more equipment controllers (EC, equipment controller) and/or subsystems.

[00340] Как станет понятно из приведенного ниже описания, использование диспетчера конфигурации может обеспечить, например, более простое развертывание подсистем в системе строительства скважин и связанном оборудовании связи. Использование программного обеспечения, скомпилированного на языке высокого уровня, может обеспечить развертывание обновленной версии диспетчера конфигурации при развертывании дополнительной, ранее неопределенной подсистемы, что может облегчить развертывание физических компонентов, связанных с диспетчером конфигурации (например, при добавлении оборудования/подсистем в систему строительства скважин). Кроме того, приложения, которые получают доступ к данным из диспетчера конфигурации (например, через общую шину данных), могут обновляться посредством обновления программного обеспечения, когда новые данные становятся доступными путем добавления новой подсистемы, так что обновленное приложение может использовать данные, сгенерированные новой подсистемой.[00340] As will become clear from the description below, the use of a configuration manager can provide, for example, easier deployment of subsystems in a well construction system and associated communications equipment. The use of software compiled in a high-level language can ensure that an updated version of the configuration manager is deployed when an additional, previously undefined subsystem is deployed, which can facilitate the deployment of physical components associated with the configuration manager (for example, when adding equipment/subsystems to a well construction system). In addition, applications that access data from the configuration manager (for example, via a shared data bus) can be updated by updating the software when new data becomes available by adding a new subsystem, so that the updated application can use the data generated by the new subsystem. .

[00341] Одна или более систем обработки сети операций, такие как один или более коммутаторов и/или других сетевых приспособлений, выполнены с возможностью реализации одной или более виртуальных сетей подсистем (например, VLAN), таких как первая виртуальная сеть первой подсистемы (VN-S1), вторая виртуальная сеть подсистемы (VN-S2) и N-я виртуальная сеть подсистемы (VN-SN). Может быть реализовано большее или меньшее количество виртуальных сетей подсистем. Виртуальные сети подсистем (например, VN-S1, VN-S2 и VN-SN) логически отделены друг от друга. Виртуальные сети подсистем могут быть реализованы в соответствии со стандартом IEEE 802.1Q, другим стандартом или собственном вариантом реализации. Каждая виртуальная сеть подсистемы может осуществлять связь с EC соответствующей подсистемы на основании различных протоколов, таких как сетевой протокол на основе Ethernet (например, ProfiNET, OPC, OPC/UA, Modbus TCP/IP, EtherCAT, многоадресная передача UDP, связь Siemens S7 и т. п.), собственный протокол связи и/или другой протокол связи. Кроме того, виртуальные сети подсистем могут реализовывать связь издания-подписки. Виртуальные сети подсистем могут реализовывать один и тот же протокол, каждая виртуальная сеть подсистемы может реализовывать другой протокол или его комбинацию.[00341] One or more operations network processing systems, such as one or more switches and/or other network appliances, are configured to implement one or more subsystem virtual networks (e.g., VLANs), such as a first subsystem first virtual network (VN- S1), the second subsystem virtual network (VN-S2), and the Nth subsystem virtual network (VN-SN). More or fewer virtual networks of subsystems can be implemented. Subsystem virtual networks (for example, VN-S1, VN-S2, and VN-SN) are logically separated from each other. Subsystem virtual networks can be implemented in accordance with the IEEE 802.1Q standard, another standard, or your own implementation. Each subsystem virtual network can communicate with the corresponding subsystem EC based on various protocols such as Ethernet based network protocol (e.g. ProfiNET, OPC, OPC/UA, Modbus TCP/IP, EtherCAT, UDP multicast, Siemens S7 communication, etc. .p.), proprietary communication protocol, and/or another communication protocol. In addition, subsystem virtual networks can implement a publish-subscribe relationship. Subsystem virtual networks can implement the same protocol, each subsystem virtual network can implement a different protocol or a combination of protocols.

[00342] Кроме того, системы обработки, которые обрабатывают данные для управления различными подсистемами, могут иметь ресурсы, выделенные для такой обработки. Например, одна или более систем обработки, в которых работает координированный контроллер, одна или более систем обработки, в которых работает диспетчер конфигурации, одна или более систем обработки, которые выполнены с возможностью реализации виртуальных сетей, и/или другие системы обработки могут иметь ресурсы, выделенные для обработки и передачи команд и/или данных датчика и/или состояния, используемых для определения соответствующих команд для выдачи. При таком выделении ресурсов управление процессами в системе строительства скважины может осуществляться в режиме реального времени. Другие сообщения и обработка могут передаваться/осуществляться не в режиме реального времени без использования выделенных ресурсов.[00342] In addition, processing systems that process data to manage various subsystems may have resources dedicated to such processing. For example, one or more processing systems running a coordinated controller, one or more processing systems running a configuration manager, one or more processing systems that are configured to implement virtual networks, and/or other processing systems may have resources dedicated to processing and transmitting commands and/or sensor and/or status data used to determine the appropriate commands to issue. With this allocation of resources, the processes in the well construction system can be controlled in real time. Other messages and processing may be transmitted/performed in non-real time without using dedicated resources.

[00343] Координированный контроллер также может реализовывать логическую часть для управления операциями системы строительства скважины. Координированный контроллер может контролировать различные состояния компонентов и/или датчиков и может выдавать команды различным EC для управления работой управляемых компонентов в одной или более подсистемах. Данные датчиков и/или данные состояния могут контролироваться координированным контроллером посредством общей шины данных, и координированный контроллер может выдавать команды одному или более EC через соответствующую виртуальную сеть подсистемы EC.[00343] The coordinated controller may also implement a logic portion to control the operations of the well construction system. The coordinated controller may monitor various states of the components and/or sensors and may issue commands to the various ECs to control the operation of the controlled components in one or more subsystems. The sensor data and/or status data may be controlled by the co-ordinated controller via a common data bus, and the co-ordinated controller may issue commands to one or more ECs via the respective EC subsystem virtual network.

[00344] Координированный контроллер может реализовать логическую часть для генерирования команд на основании плана работ от одного или более приложений процессов и для выдачи этих команд одному или более EC в одной или более подсистемах. Одно или более приложений процессов могут передавать обобщенную команду координированному контроллеру, например, посредством общей шины данных. Обобщенная команда может включать предполагаемую общую операцию (например, бурение пласта) и определенные ограничения параметров, которые могут повлиять на операцию. Например, определенные ограничения для операции бурения могут включать требуемую функцию механической скорости проходки (ROP, rate of penetration) бурения, связанную с числом оборотов в минуту (RPM, revolutions per minute) верхнего силового привода и нагрузкой на долото (WOB, weight on bit). Координированный контроллер может интерпретировать обобщенную команду и преобразовать ее в специальные команды (которые могут интерпретироваться соответствующими EC), которые затем передаются в EC для управления различными управляемыми компонентами.[00344] The coordinated controller may implement logic to generate commands based on the work plan from one or more process applications and to issue these commands to one or more ECs in one or more subsystems. One or more process applications may communicate a generic command to a coordinated controller, such as through a common data bus. The generic command may include the intended overall operation (eg, drilling a reservoir) and certain parameter constraints that may affect the operation. For example, certain constraints on a drilling operation may include the required rate of penetration (ROP) function associated with top power drive RPM and weight on bit (WOB) . The co-ordinated controller can interpret the generic command and translate it into special commands (which can be interpreted by the respective ECs), which are then passed to the EC to control the various managed components.

[00345] Кроме того, координированный контроллер может отслеживать состояние различного оборудования и/или данные датчиков для оптимизации работы оборудования подсистем на основании данных состояния и/или датчиков, которые передаются по каналу обратной связи. Посредством передачи по каналу обратной связи и контроля данных о среде строительства скважины координированный контроллер может непрерывно обновлять команды с учетом изменяющейся среды. Например, если ROP больше или меньше, чем предполагалось по плану, координированный контроллер может делать вычисления и выдавать команды для увеличения или уменьшения одного или обоих из следующих значений: RPM верхнего силового привода и WOB.[00345] In addition, the coordinated controller may monitor the status of various equipment and/or sensor data to optimize the operation of subsystem equipment based on the status and/or sensor data that is transmitted on the feedback channel. By feedback and monitoring of the well construction environment data, the coordinated controller can continuously update the commands in response to the changing environment. For example, if the ROP is greater or less than planned, the coordinated controller may make calculations and issue commands to increase or decrease one or both of the following: top power drive RPM and WOB.

[00346] Аналогичным образом, одно или более приложений процессов могут отслеживать данные состояния и/или датчика, доступные через общую шину данных, чтобы отслеживать ход выполнения операции и/или обновлять план работ в зависимости от изменяющейся среды. Если операция выполняется так, как запланировано, например, с учетом различных ограничений, то приложения процессов могут не обновлять план работ и могут разрешать продолжение операций на основании реализуемого плана работ. Если операция выполняется не так, как запланировано, что может быть указано в состоянии и/или данных датчика, приложения процесса могут изменить план работ и передать измененный план работ координированному контроллеру для реализации. [00346] Likewise, one or more process applications may monitor status and/or sensor data available via a common data bus to track the progress of an operation and/or update the work plan depending on the changing environment. If the operation is proceeding as planned, eg, subject to various constraints, then the process applications may not update the work plan and may allow operations to continue based on the work plan being implemented. If an operation does not proceed as planned, as may be indicated by the state and/or sensor data, the process applications may modify the work plan and pass the modified work plan to the coordinated controller for implementation.

[00347] Способ может включать в себя разработку плана работ, например, одним или более приложениями процесса. План работ может быть разработан на основании геологических и/или геофизических данных, измеренных или предположительно описывающих целевой(ые) пласт(ы) скважины, и/или одной или более геологических, геофизических и/или инженерных баз данных. Разработанный план работ может включать детали, относящиеся к траектории скважины, буровому раствору, который будет использоваться во время бурения, конструкции обсадной колонны, буровым долотам, компонентам КНБК и т.п.[00347] The method may include developing a work plan, for example, by one or more process applications. The work plan may be developed based on geological and/or geophysical data measured or estimated to describe the target formation(s) of the well, and/or one or more geological, geophysical and/or engineering databases. The developed work plan may include details related to the well trajectory, drilling fluid to be used during drilling, casing design, drill bits, BHA components, etc.

[00348] Способ может включать в себя реализацию плана работ, например, координированным контроллером, как описано выше. Реализация плана работ может включать в себя работу (и/или обеспечение работы) системы строительства скважины для образования скважины в соответствии с разработанным планом работ. Подробности операции (например, WOB, RPM верхнего силового привода, расход бурового раствора и т. д.) могут быть определены во время разработки и/или реализации плана работ.[00348] The method may include implementing the work plan, for example, by a coordinated controller, as described above. Implementation of the work plan may include operating (and/or maintaining) the well construction system to form the well in accordance with the developed work plan. Details of the operation (eg WOB, top drive RPM, mud flow rate, etc.) can be determined during the development and/or implementation of the work plan.

[00349] Способ также включает в себя отслеживание состояния и/или данных датчика, например, посредством одного или более приложений процесса и координированного контроллера, по мере продвижения операций работы. Также способ включает в себя определение того, следует ли обновлять способ реализации плана работ на основании отслеживаемого состояния и/или данных датчика. Координированный контроллер может сделать такое определение. Определение может быть основано на одном или более показателях (или полученных из) отслеживаемых данных состояния и/или датчика, указывающих на то, что операции отклоняются от запланированного хода выполнения плана работ, и/или что в свете новых данных первоначальная реализация плана работ была ошибочной. Если определено, что способ реализации не будет обновлен, операции продолжаются с одновременным отслеживанием состояния и/или данных датчика, например, посредством координированного контроллера. Если определено, что способ реализации будет обновлен, существующая реализация плана работ обновляется на основании отслеживаемого состояния и/или данных датчика, например, посредством координированного контроллера. Затем продолжается отслеживание (406) состояния и/или данных датчика и операции работы.[00349] The method also includes monitoring status and/or sensor data, such as by one or more process applications and a coordinated controller, as operations progress. The method also includes determining whether to update the work plan implementation method based on the monitored status and/or sensor data. The coordinated controller can make such a determination. The determination may be based on one or more indications of (or derived from) monitored status and/or sensor data indicating that operations are deviating from the planned progress of the work plan and/or that, in the light of new data, the original implementation of the work plan was in error. . If it is determined that the implementation method will not be updated, operations continue while monitoring the state and/or sensor data, for example by a coordinated controller. If it is determined that the implementation method will be updated, the existing implementation of the work plan is updated based on the monitored status and/or sensor data, for example, by a coordinated controller. It then continues monitoring (406) the status and/or data of the sensor and operation.

[00350] Способ также включает в себя определение того, должен ли план работ обновляться на основании отслеживаемого состояния и/или данных датчика. Одно или более приложений процесса могут делать указанное определение. Определение может быть основано на одном или более показателях (или полученных из) отслеживаемых данных состоянии и/или датчика, указывающих на то, что операции отклоняются от ожидаемого выполнения плана работ, и/или что в свете новых данных первоначально разработанный план работ был ошибочным. Если определено, что план работ не будет обновлен, операции продолжаются с одновременным отслеживанием состояния и/или данных датчика, например, посредством одного или более приложений процесса. Если определено, что план работ будет обновлен, план работ обновляется (на основании отслеживаемого состояния и/или данных датчика) и реализуется, например, одним или более приложениями процесса. Затем продолжается отслеживание состояния и/или данных датчика и операции работы. Выполнение способа может продолжаться до тех пор, пока не будет завершен первоначально разработанный или обновленный план работ.[00350] The method also includes determining whether the work plan should be updated based on the monitored status and/or sensor data. One or more process applications may make the specified determination. The determination may be based on one or more indications of (or derived from) monitored status and/or sensor data indicating that operations are deviating from the expected performance of the work plan and/or that, in light of new data, the originally developed work plan was erroneous. If it is determined that the work plan will not be updated, operations continue while monitoring status and/or sensor data, for example, through one or more process applications. If it is determined that the work plan will be updated, the work plan is updated (based on the monitored status and/or sensor data) and implemented by, for example, one or more process applications. It then continues to monitor the status and/or data of the sensor and operation. The method may continue until the original or updated work plan is completed.

[00351] Для разработки плана работ может потребоваться много вычислений, и поэтому его могут разрабатывать в течение более длительного периода времени, который может не соответствовать режиму реального времени для операций. Координированный контроллер (например, одна или более систем обработки, в которых работает координированный контроллер) может иметь ресурсы (например, ресурсы обработки), выделенные для управления различными системами, которые позволяют осуществлять такое управление в режиме реального времени (например, в течение известного, определяемого периода времени). Кроме того, способ реализации может быть обновлен с помощью более простых процессов, которые могут разрешать внедрение обновлений в режиме реального времени. Обновления в режиме реального времени могут обеспечить оптимизированное управление операциями, осуществляемыми по плану работ.[00351] A work plan may require a lot of computation to develop and therefore may be developed over a longer period of time, which may not be real-time for operations. The coordinated controller (e.g., one or more processing systems on which the coordinated controller operates) may have resources (e.g., processing resources) dedicated to control various systems that allow such control to be performed in real time (e.g., for a known, determinable period of time). In addition, the implementation method can be updated using simpler processes that can allow real-time updates to be implemented. Real-time updates can provide streamlined management of work plan operations.

[00352] Координированный контроллер может управлять выдачей команд EC, сгенерированных в ответ на воздействующий объект вне виртуальных сетей соответствующих подсистем EC. Таким образом, например, HMI может выдать команду одному или более EC в подсистеме посредством общей шины данных под управлением координированного контроллера и посредством виртуальной сети подсистемы этой подсистемы. Например, пользователь может вводить команды через HMI для управления работой подсистемы. Команды для EC подсистемы, выдаваемые воздействующим объектом вне данной подсистемы, могут быть запрещены в сети операций без координированного контроллера, обрабатывающего команду. Координированный контроллер может реализовать логическую часть, чтобы определить, может ли данный воздействующий объект (например, HMI и/или приложения процесса) вызвать выдачу команды данному EC в подсистеме.[00352] The coordinated controller may control the issuance of EC commands generated in response to an influencing entity outside the virtual networks of the respective EC subsystems. Thus, for example, an HMI may issue a command to one or more ECs in a subsystem via a common data bus under the control of a coordinated controller and via the virtual network of that subsystem's subsystem. For example, the user can enter commands through the HMI to control the operation of the subsystem. Commands for an EC subsystem issued by an influencing entity outside that subsystem may be prohibited in the operations network without a coordinated controller processing the command. The coordinated controller may implement a logic part to determine if a given influencing entity (eg, HMI and/or process applications) can cause a command to be issued to a given EC in the subsystem.

[00353] Координированный контроллер может реализовать логическую часть для принятия решений по командам, которые будут управлять работой конкретного оборудования или подсистемы, например, когда есть несколько воздействующих объектов (например, планы работ и/или HMI), пытающихся вызвать выдачу команд одновременно тому же оборудованию или подсистеме. Координированный контроллер может реализовать средство разрешения конфликтов (например, логическую часть), чтобы определять, какие из конфликтующих команд от HMI и/или планов работ выдать EC. Например, если первый план работ пытается выдать команду, выданную EC-SN-1, чтобы увеличить скорость закачки насоса, а второй план работ одновременно пытается выдать EC-SN-1 команду, чтобы уменьшить скорость закачки того же насоса, средство разрешения конфликтов координированного контроллера может разрешить конфликт и определить, какую команду разрешено выдать. Кроме того, в качестве примера, если два HMI одновременно выдают конфликтующие команды, координированный контроллер может определить, какую команду запретить, а какую команду выдать.[00353] The coordinated controller may implement a logic part to make decisions on commands that will control the operation of a particular equipment or subsystem, for example, when there are several influencing objects (for example, work plans and / or HMI) trying to cause the issuance of commands at the same time to the same equipment or subsystem. The co-ordinated controller may implement a conflict resolver (eg, a logic part) to determine which of the conflicting commands from the HMI and/or work plans to issue to the EC. For example, if the first work plan attempts to issue a command issued by EC-SN-1 to increase the pumping rate of a pump, and the second work plan simultaneously tries to issue a command to EC-SN-1 to decrease the pumping rate of the same pump, the co-ordinated controller's contention resolver can resolve the conflict and determine which command is allowed to be issued. Further, as an example, if two HMIs issue conflicting commands at the same time, the coordinated controller can determine which command to inhibit and which command to issue.

[00354] Средство разрешения конфликтов координированного контроллера может использовать в работе гибридную схему «первым поступил - первым обслужен» и «расстановка приоритетов». Например, первой выданной команде разрешено действовать до завершения процесса или до тех пор, пока воздействующий объект, вызвавший выдачу команды, не прекратит выполнение данной команды. В некоторых примерах единый автономный план работ, который должен выполняться самостоятельно без выполнения другого плана работ, преимущественно может быть реализован без создания конфликтующих команд. Однако план работ может ссылаться на другой план работ, что может привести к созданию конфликтующих команд. Например, план работ для процесса цементирования может ссылаться на план работ для процесса бурения, чтобы привести в действие насос, и путем выполнения плана работ для процесса цементирования, который ссылается на план работ для процесса бурения, несколько конфликтующих команд могут быть созданы для насоса с помощью реализации обоих планов работ. Средство разрешения конфликтов обрабатывает эти команды, разрешая выполнение первой команды, созданной одним из планов работ, или до тех пор, пока создание плана работ не прекратит действие первой команды, даже если вторая последующая и конфликтующая команда создана другим планом работ. Вторая команда помещается в очередь до тех пор, пока первая команда не завершится или пока ее действие не прекратит создавший ее план работ, а затем средство разрешения конфликтов разрешает выдачу и выполнение второй команды.[00354] The contention resolver of the coordinated controller may use a hybrid first-come-first-served and prioritization scheme in operation. For example, the first command issued is allowed to continue until the process terminates, or until the influencing entity that caused the command to be issued terminates the execution of the command. In some examples, a single stand-alone work plan, which must run on its own without executing another work plan, can advantageously be implemented without creating conflicting commands. However, a work plan can refer to another work plan, which can result in conflicting teams. For example, a work plan for a cementing process may refer to a work plan for a drilling process to operate a pump, and by executing a work plan for a cementing process that references a work plan for a drilling process, several conflicting commands may be generated for the pump with implementation of both work plans. The conflict resolver processes these commands by allowing the execution of the first command generated by one of the work plans, or until the creation of the work plan terminates the first command, even if the second subsequent and conflicting command is created by another work plan. The second command is queued until the first command completes or is terminated by the work plan that created it, and then the conflict resolver allows the second command to be issued and executed.

[00355] Некоторым воздействующим объектам в сети операций может быть назначен приоритет, который позволяет этим воздействующим объектам прерывать операции и/или команды независимо от текущего состояния процесса. Например, HMI может быть назначен высокий приоритет, который позволяет команде от HMI прервать выполняемую операцию и/или команду. Команда от HMI может выполняться, несмотря на текущее состояние процесса, до тех пор, пока команда не будет завершена или прекращена отправившим ее HMI. После того как команда от HMI была выполнена, процесс может вернуться в свое предыдущее состояние или перезапуститься на основании новых условий, на которых основан план работ и/или реализация плана работ.[00355] Some influencing entities in the operations network may be assigned a priority that allows these influencing entities to interrupt operations and/or commands regardless of the current state of the process. For example, the HMI may be assigned a high priority that allows a command from the HMI to abort an operation and/or command in progress. A command from an HMI can be executed, regardless of the current state of the process, until the command is completed or terminated by the HMI that sent it. After the command from the HMI has been executed, the process may return to its previous state or restart based on new conditions upon which the work plan and/or work plan implementation is based.

[00356] Другой способ может включать в себя получение одной или более команд, созданных одним или более воздействующими объектами, которые не имеют приоритет. Например, средство разрешения конфликтов может получить одну или более команд, созданных на основании одного или более планов работ, которые могут не иметь приоритет. Способ включает в себя выдачу самой ранней полученной, не выданной команды. Например, средство разрешения конфликтов может эффективно ставить в очередь команды от не имеющих приоритет воздействующих объектов, и первая команда, полученная от не имеющего приоритет воздействующего объекта, является первой командой, выданной средством разрешения конфликтов. Способ включает в себя выполнение выданной команды до тех пор, пока команда не будет выполнена или пока она не будет прекращена выдавшим ее воздействующим объектом. Выполнение выданной команды может быть дискретной быстродействующей функцией оборудования, функцией, выполняемой оборудованием в течение определенного периода времени, функцией, выполняемой оборудованием до тех пор, пока не будут удовлетворены определенные условия (которые могут быть указаны отправившим воздействующим объектом), и/или другим типовым средством исполнения. Затем выполнение способа возвращается к выдаче самой ранней полученной, не выданной команды. Во время выдачи и выполнения команды могут по-прежнему приниматься от одного или более не имеющих приоритет воздействующих объектов, причем данные команды находятся в очереди на выдачу. Следовательно, получение, выдача и выполнение могут реализовывать очередь типа «первым поступил - первым обслужен».[00356] Another method may include receiving one or more commands created by one or more influencing objects that do not have priority. For example, the conflict resolver may receive one or more commands created based on one or more work plans, which may not have priority. The method includes issuing the earliest received, not issued command. For example, the conflict resolver can effectively queue commands from non-priority influencing entities, and the first command received from the non-priority influencing entity is the first command issued by the conflict resolver. The method includes executing the issued command until the command is executed or terminated by the issuing impactor. The execution of an issued command may be a discrete, fast-acting function of the equipment, a function performed by the equipment for a specified period of time, a function performed by the equipment until certain conditions are satisfied (which may be specified by the sending impactor), and/or other generic means. execution. The method then returns to issuing the earliest command received, not issued. During issuance and execution, commands may still be received from one or more non-priority influencing entities, with these commands being queued for issuance. Therefore, receiving, issuing, and executing can implement a first-in-first-out queue.

[00357] Во время получения, выдачи и выполнения способ включает в себя получение команды от имеющего приоритет воздействующего объекта. Получение команды от имеющего приоритет воздействующего объекта прерывает поток получения, выдачи и выполнения команд от не имеющих приоритет воздействующих объектов, и поэтому команда от имеющего приоритет воздействующего объекта имеет приоритет над командами от не имеющих приоритет воздействующих объектов. Примером имеющих приоритет воздействующих объектов могут быть HMI или другие средства. Способ включает в себя выдачу команды, полученной от имеющего приоритет воздействующего объекта, и выполнение выданной команды до тех пор, пока команда не будет завершена или прекращена отправившим воздействующим объектом. Выполнение выданной команды может быть дискретной быстродействующей функцией оборудования, функцией, выполняемой оборудованием в течение определенного периода времени, функцией, выполняемой оборудованием до тех пор, пока не будут удовлетворены определенные условия (которые могут быть указаны отправившим воздействующим объектом), и/или другим типовым средством исполнения.[00357] At the time of receiving, issuing, and executing, the method includes receiving a command from a priority influencing entity. Receiving a command from a priority influencing entity interrupts the flow of receiving, issuing, and executing commands from non-priority influencing entities, and therefore a command from a priority influencing entity takes precedence over commands from non-priority influencing entities. An example of priority influencing objects could be an HMI or other means. The method includes issuing a command received from a priority influencing entity and executing the issued command until the command is completed or terminated by the sending influencing entity. The execution of an issued command may be a discrete, fast-acting function of the equipment, a function performed by the equipment for a specified period of time, a function performed by the equipment until certain conditions are satisfied (which may be specified by the sending impactor), and/or other generic means. execution.

[00358] В различных случаях после выполнения команды, полученной от имеющего приоритет воздействующего объекта, выполнение способа может возобновиться. Например, после реализации выполнение способа может возобновиться в том случае, когда получение команды от имеющего приоритет воздействующего объекта прервало поток получения, выдачи и выполнения одной или более команд, полученных от одного или более не имеющих приоритет воздействующих объектов. Кроме того, выполнение команды, полученной от имеющего приоритет воздействующего объекта, может изменить условия на буровой площадке настолько, что не имеющие приоритет воздействующие объекты отзовут ранее отправленные команды и начнут отправлять команды, обновленные в ответ на условия, которые изменились в результате выполнения команды от имеющего приоритет воздействующего объекта. Таким образом, выполнение способа может возобновиться при получении одной или более команд от одного или более не имеющих приоритет воздействующих объектов, независимо от случая, когда была получена команда от имеющего приоритет воздействующего объекта.[00358] In various cases, after executing a command received from a priority influencing object, the execution of the method may resume. For example, after implementation, execution of the method may resume when receiving a command from a priority influencing entity interrupts the flow of receiving, issuing, and executing one or more commands received from one or more non-priority influencing entities. In addition, the execution of a command received from a priority influencing entity may change wellsite conditions to such an extent that non-priority influencing entities will withdraw previously sent commands and begin sending commands updated in response to conditions that have changed as a result of the execution of a command from the influencing entity. the priority of the influencing object. Thus, the execution of the method may resume upon receipt of one or more commands from one or more non-priority influencing entities, regardless of whether the command was received from the priority influencing entity.

[00359] В некоторых примерах реализации другого приведенного в качестве примера способа средство разрешения конфликтов получает и выдает команды, причем указанные команды могут поступить от другой логической части координированного контроллера, который реализует один или более планов работ, полученных от одного или более приложений процесса. Средство разрешения конфликтов может определить, какие команды должен выдавать координированный контроллер одному или более EC, и EC может выполнять команды, например, управляя различным оборудованием системы строительства скважины на буровой площадке. В других примерах другие компоненты и/или системы обработки могут реализовывать различные операции.[00359] In some embodiments of another exemplary method, the conflict resolver receives and issues commands, which commands may come from another logical part of the coordinated controller that implements one or more work plans received from one or more process applications. The conflict resolver may determine what commands the coordinated controller should issue to one or more ECs, and the EC may execute the commands, for example, by controlling various equipment of the well construction system at the well site. In other examples, other components and/or processing systems may implement different operations.

[00360] Для получения дополнительной информации о диспетчерах конфигурации и координированных контролерах смотрите заявку на патент США № 15/621,180, озаглавленную «Well Construction Communication and Control», которая была подана 13 июня 2017 г., и заявку на патент США № 15/361,759, озаглавленную «Well Construction Communication and Control», которая была подана 28 ноября 2016 г., причем обе из них полностью включены в данную заявку посредством ссылки.[00360] For more information on configuration managers and coordinated controllers, see U.S. Patent Application No. 15/621,180 entitled "Well Construction Communication and Control" filed June 13, 2017 and U.S. Patent Application No. 15/361,759 , entitled "Well Construction Communication and Control", which was filed November 28, 2016, both of which are hereby incorporated by reference in their entirety.

Вычислительная системаComputing system

[00361] Варианты реализации изобретения могут быть реализованы в вычислительной системе. Может использоваться любое сочетание мобильных, настольных, серверных, маршрутизирующих, коммутирующих, встроенных устройств или других типов аппаратных средств. Например, как показано на фиг. 34.1, вычислительная система (3400) может содержать один или более компьютерных процессоров (3402), непостоянное запоминающее устройство (3404) (например, энергозависимое запоминающее устройство, такое как оперативное запоминающее устройство (ОЗУ), кэш-память), постоянное запоминающее устройство (3406) (например, жесткий диск, накопитель на оптических дисках, такой как дисковод для компакт-дисков (CD) или дисковод для универсальных цифровых дисков (DVD), флэш-память и т. д.), интерфейс (3412) связи (например, интерфейс Bluetooth, инфракрасный интерфейс, сетевой интерфейс, оптический интерфейс, и т. д.) и множество других элементов и функциональных средств. [00361] Embodiments of the invention may be implemented in a computing system. Any combination of mobile, desktop, server, routing, switching, embedded devices, or other types of hardware may be used. For example, as shown in FIG. 34.1, the computing system (3400) may include one or more computer processors (3402), non-persistent storage (3404) (e.g., volatile storage such as random access memory (RAM), cache), read-only memory (3406 ) (for example, a hard disk drive, an optical disc drive such as a compact disc (CD) drive or a digital versatile disc (DVD) drive, flash memory, etc.), a communication interface (3412) (for example, Bluetooth interface, infrared interface, network interface, optical interface, etc.) and many other items and functions.

[00362] Компьютерный процессор(ы) (3402) может быть интегральной микросхемой для инструкций по обработке. Например, компьютерный процессор(ы) может быть одним или более ядер или микроядер процессора. Вычислительная система (3400) может также содержать одно или более устройств (3410), таких как сенсорный экран, клавиатура, мышь, микрофон, сенсорная панель, электронное перо или любым другим типом устройств ввода. [00362] The computer processor(s) (3402) may be an integrated circuit for processing instructions. For example, the computer processor(s) may be one or more processor cores or microcores. The computing system (3400) may also include one or more devices (3410), such as a touch screen, keyboard, mouse, microphone, touch pad, electronic pen, or any other type of input device.

[00363] Интерфейс связи (3412) может содержать интегральную микросхему для подключения вычислительной системы (3400) к сети (не показана) (например, локальной вычислительной сети (ЛВС), глобальной вычислительной сети (ГВС), такой как Интернет, сеть мобильной связи или другой тип сети) и/или к другому устройству, такому как другое вычислительное устройство. [00363] The communication interface (3412) may comprise an integrated circuit for connecting a computing system (3400) to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a mobile communications network, or other type of network) and/or to another device such as another computing device.

[00364] Кроме того, вычислительная система (3400) может содержать одно или более устройств (3408) вывода, таких как экран (например, жидкокристаллический (ЖК) дисплей, плазменный дисплей, сенсорный экран, монитор с электронно-лучевой трубкой (ЭЛТ), проектор или другое устройство отображения), принтер, внешнее запоминающее устройство или любое другое устройство вывода. Одно или более устройств вывода может быть таким же или отличаться от устройств(а) вывода. Устройство(а) ввода и вывода может быть локально или удаленно подключено к компьютерному процессору(ам) (3402), непостоянному запоминающему устройству (3404) и постоянному запоминающему устройству (3406). Существует множество типов вычислительных систем, при этом вышеупомянутое устройство(а) ввода и вывода могут принимать другие формы. [00364] In addition, the computing system (3400) may include one or more output devices (3408) such as a screen (e.g., liquid crystal (LCD) display, plasma display, touch screen, cathode ray tube (CRT) monitor, projector or other display device), printer, external storage device, or any other output device. One or more output devices may be the same or different from the output device(s). The input and output device(s) may be locally or remotely connected to the computer processor(s) (3402), non-persistent storage (3404), and persistent storage (3406). There are many types of computing systems, and the aforementioned input and output device(s) may take other forms.

[00365] Программные команды в виде машиночитаемого программного кода для осуществления вариантов реализации изобретения могут быть сохранены, в целом или частично, временно или постоянно, на энергозависимом машиночитаемом носителе, таком как CD, DVD, внешнее запоминающее устройство, дискета, лента, флэш-память, физическая память или любой другой машиночитаемый носитель информации. В частности, программные команды могут соответствовать машиночитаемому программному коду, который при его выполнении процессором(ами), выполнен с возможностью осуществления одного или более вариантов реализации изобретения. [00365] Program instructions in the form of computer-readable program code for carrying out embodiments of the invention may be stored, in whole or in part, temporarily or permanently, on a volatile computer-readable medium such as a CD, DVD, external storage device, floppy disk, tape, flash memory , physical memory, or any other machine-readable storage medium. In particular, the program instructions may correspond to computer-readable program code that, when executed by the processor(s), is configured to implement one or more embodiments of the invention.

[00366] Вычислительная система (3400) на фиг. 34.1 может быть подключена к сети или быть частью сети. Например, как проиллюстрировано на фиг. 34.2, сеть (3420) может содержать множество узлов (например, узел X (3422), узел Y (3424)). Каждый узел может соответствовать вычислительной системе, такой как вычислительная система, проиллюстрированная на фиг. 34.1, или объединенная группа узлов может соответствовать вычислительной системе, проиллюстрированной на фиг. 34.1. В качестве примера, варианты реализации изобретения могут быть реализованы на узле распределенной системы, которая подключается к другим узлам. В качестве другого примера, варианты реализации изобретения могут быть реализованы в распределенной вычислительной системе, содержащей множество узлов, причем каждая часть изобретения может быть расположена на другом узле в распределенной вычислительной системе. Кроме того, один или более элементов вышеупомянутой вычислительной системы (3400) может быть расположен в удаленном месте и подключен к другим элементам посредством сети. [00366] Computing system (3400) in FIG. 34.1 can be connected to a network or be part of a network. For example, as illustrated in FIG. 34.2, the network (3420) may contain multiple nodes (eg, node X (3422), node Y (3424)). Each node may correspond to a computing system, such as the computing system illustrated in FIG. 34.1, or the combined group of nodes may correspond to the computing system illustrated in FIG. 34.1. As an example, embodiments of the invention may be implemented on a distributed system node that connects to other nodes. As another example, embodiments of the invention may be implemented on a distributed computing system comprising a plurality of nodes, where each part of the invention may be located on a different node on the distributed computing system. In addition, one or more elements of the above computing system (3400) may be located at a remote location and connected to other elements via a network.

[00367] Хотя это и не проиллюстрировано на фиг. 34.2, узел может соответствовать плате в серверном шасси, которая соединяется с другими узлами посредством объединительной платы. В качестве еще одного примера, узел может соответствовать серверу в центре обработки и хранения данных. В качестве еще одного примера, узел может соответствовать компьютерному процессору или микроядру компьютерного процессора с совместным использованием памяти и/или ресурсов. [00367] Although not illustrated in FIG. 34.2, a node may correspond to a board in a server chassis that connects to other nodes via a backplane. As another example, a node may correspond to a server in a data center. As another example, a node may correspond to a computer processor or microkernel of a computer processor with memory and/or resource sharing.

[00368] Узлы (например, узел X (3422), узел Y (3424)) в сети (3420) могут быть выполнены с возможностью предоставления служб для клиентского устройства (3426). Например, узлы могут быть частью облачной вычислительной системы. Узлы могут содержать функциональные средства для приема запросов от клиентского устройства (3426) и передачи ответов клиентскому устройству (3426). Клиентское устройство (3426) может быть вычислительной системой, такой как вычислительная система, проиллюстрированная на фиг. 34.1. Кроме того, клиентское устройство (3426) может содержать и/или осуществлять все или часть одного или более вариантов реализации изобретения.[00368] Nodes (eg, node X (3422), node Y (3424)) in the network (3420) may be configured to provide services to the client device (3426). For example, the nodes may be part of a cloud computing system. The nodes may contain functionality for receiving requests from the client device (3426) and transmitting responses to the client device (3426). The client device (3426) may be a computing system such as the computing system illustrated in FIG. 34.1. In addition, the client device (3426) may comprise and/or implement all or part of one or more embodiments of the invention.

[00369] Вычислительная система или группа вычислительных систем, представленных на фиг. 34.1 и 34.2, может содержать функциональные средства для выполнения множества операций, описанных в данной заявке. Например, вычислительная(ые) система(ы) может осуществлять коммуникацию между процессами на той же или на различных системах. Множество механизмов, использующих некоторые виды активной или пассивной коммуникации, могут содействовать обмену данными между процессами на том же устройстве. Примеры, соответствующие этим межпроцессным коммуникациям, включают, но не ограничиваются этим, реализацию файла, сигнала, сокета, очереди сообщений, конвейера, семафора, совместно используемой памяти, передачи сообщений и проецируемого в память файла. Дополнительные подробности, относящиеся к паре этих неограничивающих примеров, приводятся ниже.[00369] The computing system or group of computing systems shown in FIG. 34.1 and 34.2 may contain functionality to perform many of the operations described in this application. For example, the computing system(s) may communicate between processes on the same or different systems. A variety of mechanisms using some form of active or passive communication can facilitate communication between processes on the same device. Examples relevant to these inter-process communications include, but are not limited to, the implementation of a file, signal, socket, message queue, pipeline, semaphore, shared memory, message passing, and memory-mapped file. Additional details relating to a couple of these non-limiting examples are given below.

[00370] На основании клиент-серверной модели сетевого взаимодействия сокеты могут служить в качестве интерфейсов или конечными точками коммуникационных каналов, обеспечивающими двунаправленную передачу данных между процессами на одном и том же устройстве. В первую очередь, на основе клиент-серверной модели сетевого взаимодействия серверный процесс (например, процесс, который предоставляет данные) может создавать первый объект сокета. Далее, серверный процесс компонует первый объект сокета, таким образом сопоставляя первый объект сокета с уникальным именем и/или адресом. После создания и сопоставления первого объекта сокета серверный процесс затем ожидает и слушает запросы входящего соединения от одного или более клиентских процессов (например, процессов, которые запрашивают данные). На данном этапе, когда клиентский процесс стремится получить данные от серверного процесса, клиентский процесс начинает создание второго объекта сокета. Клиентский процесс затем переходит к генерированию запроса на установление соединения, который содержит по меньшей мере второй объект сокета и уникальное имя и/или адрес, сопоставленный с первым объектом сокета. Клиентский процесс затем передает запрос на установление соединения серверному процессу. В зависимости от доступности, серверный процесс может принять запрос на установление соединения, установление коммуникационного канала с клиентским процессом, или серверным процессом, занятым обработкой других операций, может поместить очередь запросов на установление соединения в буфер до тех пор, пока серверный процесс не будет готов. Установленное соединение информирует клиентский процесс о том, что коммуникации могут начинаться. В ответ, клиентский процесс может генерировать запрос данных, определяющий данные, которые клиентский процесс стремится получить. Запрос данных последовательно передается к серверному процессу. После получения запроса данных серверный процесс анализирует запрос и собирает запрашиваемые данные. В заключение, серверный процесс генерирует отклик, содержащий по меньшей мере запрашиваемые данные, и передает отклик клиентскому процессу. Данные могут передаваться, наиболее часто, как дейтаграммы или поток символов (например, байтов).[00370] Based on the client-server model of networking, sockets can serve as interfaces or endpoints of communication channels that provide bidirectional communication between processes on the same device. First of all, based on the client-server networking model, a server process (eg, a process that provides data) can create the first socket object. Next, the server process assembles the first socket object, thereby associating the first socket object with a unique name and/or address. After creating and matching the first socket object, the server process then waits and listens for incoming connection requests from one or more client processes (eg, processes that request data). At this point, when the client process seeks to receive data from the server process, the client process starts creating a second socket object. The client process then proceeds to generate a connection request that contains at least a second socket object and a unique name and/or address associated with the first socket object. The client process then passes the connection request to the server process. Depending on availability, the server process may accept a connection request, establish a communication channel with a client process, or a server process busy processing other operations may buffer the connection request queue until the server process is ready. The established connection informs the client process that communications can begin. In response, the client process may generate a data request specifying the data the client process seeks to obtain. The data request is serially passed to the server process. Upon receiving a request for data, the server process parses the request and collects the requested data. Finally, the server process generates a response containing at least the requested data and sends the response to the client process. Data may be transmitted, most commonly, as datagrams or a stream of characters (eg, bytes).

[00371] Совместно используемая память относится к распределению пространства виртуальной памяти, чтобы реализовать механизм, для которого данные могут передаваться и/или к ним может осуществляться доступ множеством процессов. При реализации совместно используемой памяти процесс инициализации сначала создает совместно используемый сегмент в постоянном или непостоянном запоминающем устройстве. После создания процесс инициализации затем монтирует совместно используемый сегмент, впоследствии отображая совместно используемый сегмент в адресное пространство, связанное с процессом инициализации. После монтирования процесс инициализации переходит к идентификации и предоставлению разрешения доступа одному или более авторизованным процессам, которые могут также записывать и считывать данные на и с совместно используемого сегмента. Изменения, внесенные в данные в совместно используемом сегменте одним процессом, могут немедленно повлиять на другие процессы, которые также связаны с совместно используемым сегментом. Кроме того, когда один из авторизованных процессов осуществляет доступ к совместно используемому сегменту, совместно используемый сегмент отображается в адресное пространство авторизованного процесса. Часто один авторизованный процесс может монтировать совместно используемый сегмент, не связанный с процессом инициализации, в любой момент времени. [00371] Shared memory refers to the allocation of virtual memory space to implement a mechanism for which data can be transferred and/or accessed by multiple processes. When implementing shared memory, the initialization process first creates a shared segment in persistent or non-persistent storage. Once created, the initialization process then mounts the shared segment, subsequently mapping the shared segment to the address space associated with the initialization process. Once mounted, the initialization process proceeds to identify and grant access to one or more authorized processes that can also write and read data to and from the shared segment. Changes made to data in a shared segment by one process can immediately affect other processes that are also associated with the shared segment. In addition, when one of the authorized processes accesses a shared segment, the shared segment is mapped to the address space of the authorized process. Often, a single authorized process can mount a shared segment, unrelated to the initialization process, at any given time.

[00372] Могут использоваться другие алгоритмы для совместного использования данных между процессами, таких как различные данные, описанные в данной заявке, не выходя за пределы объема данного изобретения. Процессы могут быть частью одного и того же или другого приложения и могут выполняться в одной и той же или другой вычислительной системе.[00372] Other algorithms may be used to share data between processes, such as the various data described in this application, without departing from the scope of this invention. The processes may be part of the same or a different application and may run on the same or a different computing system.

[00373] Вместо или дополнительно к совместному использованию данных между процессами вычислительная система, осуществляющая один или более вариантов реализации изобретения, может содержать функциональные средства для приема данных от пользователя. Например, в одном или более вариантах реализации изобретения пользователь может представлять данные посредством графического интерфейса пользователя (GUI) на устройстве пользователя. Данные могут быть представлены посредством графического интерфейса пользователя пользователем, выбирающим один или более интерфейсных элементов окна или вставляющим текст и другие данные в интерфейсный элемент окна графического интерфейса пользователя, используя сенсорный экран, клавиатуру, мышь или любое другое устройство ввода. В ответ на выбор конкретного элемента от постоянного или непостоянного запоминающего устройства компьютерным процессором может быть получена информация, относящаяся к конкретному элементу. После выбора элемента пользователем содержимое полученных данных, относящееся к конкретному элементу может отображаться на устройстве пользователя в ответ на выбор пользователя. [00373] Instead of or in addition to sharing data between processes, a computing system implementing one or more embodiments of the invention may include functionality for receiving data from a user. For example, in one or more embodiments of the invention, a user may present data via a graphical user interface (GUI) on the user's device. Data may be presented via a graphical user interface by a user selecting one or more window interface elements or inserting text and other data into a GUI window interface element using a touch screen, keyboard, mouse, or any other input device. In response to selecting a particular element, information relating to the particular element may be obtained from the ROM or non-persistent storage device by the computer processor. After the user selects an item, the received data content related to the specific item can be displayed on the user's device in response to the user's selection.

[00374] В качестве другого примера, запрос на получение данных, относящихся к конкретному элементу, может быть передан на сервер, функционально связанный с устройством пользователя посредством сети. Например, пользователь может выбрать в веб-клиенте устройства пользователя ссылку на универсальный идентификатор ресурсов (URL, uniform resource locator), таким образом инициируя запрос протокола передачи гипертекста (HTTP, Hypertext Transfer Protocol) или другого протокола, передаваемого узлу сети, связанному с URL. В ответ на запрос сервер может извлечь данные, относящиеся к конкретному выбранному элементу, и отправить данные устройству, инициирующему запрос. После того, как устройство пользователя приняло данные, относящиеся к конкретному элементу, содержимое принятых данных, относящееся к конкретному элементу, может отображаться на устройстве пользователя в ответ на выбор пользователя. Дополнительно к вышеприведенному примеру, данные, принятые от сервера после выбора ссылки URL, могут представить веб-страницу в гипертекстовом языке описания документов (HTML, Hyper Text Markup Language), которая может быть визуализирована веб-клиентом и отображена на устройстве пользователя.[00374] As another example, a request for data relating to a particular item may be sent to a server operably linked to the user's device via a network. For example, a user may select a uniform resource locator (URL) reference in the user's device web client, thereby initiating a Hypertext Transfer Protocol (HTTP) or other protocol request to be sent to the host associated with the URL. In response to the request, the server may extract data related to the particular selected item and send the data to the device initiating the request. After the user's device has received data related to a particular item, the content of the received data related to the particular item may be displayed on the user's device in response to the user's selection. In addition to the above example, the data received from the server after the URL is selected can represent a Hyper Text Markup Language (HTML) web page that can be rendered by a web client and displayed on a user's device.

[00375] После получения данных, например, с использованием вышеописанных алгоритмов или из запоминающего устройства вычислительная система при осуществлении одного или более вариантов реализации изобретения может извлекать из полученных данных один или более элементов данных. Например, извлечение может выполняться, как изложено ниже, вычислительной системой (3400) на фиг. 34.1. Сначала определяют схему упорядочения (например, грамматика, схема, формат) данных, которая может быть основана на одном или более из следующего: позиция (например, позиция бита или столбца, N-й токен в потоке данных и т. д.), атрибут (где атрибут связан с одним или более значений) или иерархическая/древовидная структура (состоящая из слоев узлов на разных уровнях детализации, например, во вложенных заголовках пакетов или во вложенных разделах документа). Затем разбивают необработанный поток символов данных в контексте схемы упорядочения на поток (или многоуровневую структуру) токенов (где каждый токен может иметь связанный с ним «тип» токена). [00375] After receiving data, for example, using the algorithms described above or from a storage device, the computing system, in carrying out one or more embodiments of the invention, may extract one or more data elements from the received data. For example, extraction may be performed as described below by computer system (3400) in FIG. 34.1. First, an ordering scheme (eg, grammar, schema, format) of the data is determined, which may be based on one or more of the following: position (eg, bit or column position, Nth token in the data stream, etc.), attribute (where an attribute is associated with one or more values) or a hierarchical/tree structure (consisting of layers of nodes at different levels of detail, such as in nested package headers or nested document sections). The raw stream of data characters is then broken up in the context of an collation into a stream (or tiered structure) of tokens (where each token may have an associated token "type").

[00376] Далее, для извлечения одного или более элементов данных из потока токенов или структуры используют критерии извлечения, причем критерии извлечения обрабатывают в соответствии со схемой упорядочения для извлечения одного или более токенов (или узлов из многоуровневой структуры). Для данных на основе позиции токен(ы) извлекаются в позиции (позициях), определенной критериями извлечения. Для данных на основе атрибутов/значений извлекаются токен(ы) и/или узел (узлы), связанные с атрибутом(ами), удовлетворяющими критериям извлечения. Для иерархических/многоуровневых данных извлекаются токен(ы), связанные с узлом (узлами), соответствующими критериям извлечения. Критерии извлечения могут быть такими же простыми, как строка идентификатора, или могут быть запросом, представленным в хранилище структурированных данных (где хранилище данных может быть организовано в соответствии со схемой базы данных или форматом данных, таким как XML). [00376] Further, extraction criteria are used to extract one or more data items from the token stream or structure, where the extraction criteria are processed in accordance with an ordering scheme to extract one or more tokens (or nodes from the layered structure). For position-based data, the token(s) are retrieved at the position(s) specified by the extraction criteria. For attribute/value-based data, the token(s) and/or node(s) associated with the attribute(s) that satisfy the extraction criteria are retrieved. For hierarchical/multilevel data, the token(s) associated with the node(s) that match the extraction criteria are retrieved. The retrieval criteria can be as simple as an identifier string or can be a query submitted to a structured data store (where the data store can be organized according to a database schema or data format such as XML).

[00377] Извлеченные данные могут использоваться для дальнейшей обработки вычислительной системой. Например, вычислительная система на фиг. 34.1 при осуществлении одного или более вариантов реализации изобретения может выполнять сравнение данных. Сравнение данных может использоваться для сравнения двух или более значений данных (например, A, B). Например, один или более вариантов реализации изобретения могут определять, являются ли A > B, A=B, A != B, A < B и т. д. Сравнение может быть выполнено путем передачи A, B и кода операции, определяющего операцию, связанную со сравнением, в арифметически-логическое устройство (АЛУ) (т. е. схему, которая выполняет арифметические и/или побитовые логические операции над двумя значениями данных). АЛУ выводит числовой результат операции и/или один или более флагов состояния, связанных с числовым результатом. Например, флаги состояния могут указывать, является ли числовой результат положительным числом, отрицательным числом, нулем и т. д. Выбрав правильный код операции и затем, считав числовые результаты и/или флаги состояния, можно выполнить сравнение. Например, чтобы определить, является ли A > B, из A может быть вычтено B (то есть, A - B), и можно прочитать флаги состояния, чтобы определить, является ли результат положительным (то есть, если A > B, то A - B > 0). В одном или более вариантах реализации изобретения B может считаться пороговым значением, и считается, что A удовлетворяет пороговому значению, если A=B или если A > B, как определено с использованием АЛУ. В одном или более вариантах реализации изобретения A и B могут быть векторами, и сравнение A с B включает сравнение первого элемента вектора A с первым элементом вектора B, второго элемента вектора A со вторым элементом вектора B и т. д. В одном или более вариантах реализации изобретения, если A и B являются строками, могут сравниваться двоичные значения строк.[00377] The extracted data can be used for further processing by the computing system. For example, the computing system in FIG. 34.1, when implementing one or more embodiments of the invention, may perform a data comparison. Data comparison can be used to compare two or more data values (eg A, B). For example, one or more embodiments of the invention may determine whether A > B, A=B, A != B, A < B, etc. The comparison may be performed by passing A, B, and an opcode specifying the operation, associated with the comparison into an arithmetic logic unit (ALU) (i.e., a circuit that performs arithmetic and/or bitwise logical operations on two data values). The ALU outputs the numeric result of the operation and/or one or more status flags associated with the numeric result. For example, the status flags may indicate whether the numeric result is a positive number, a negative number, zero, etc. By selecting the correct opcode and then reading the numeric results and/or the status flags, a comparison can be made. For example, to determine if A > B, B can be subtracted from A (i.e., A - B), and status flags can be read to determine if the result is positive (i.e., if A > B, then A - B > 0). In one or more embodiments of the invention, B may be considered a threshold, and A is considered to satisfy the threshold if A=B or if A > B, as determined using the ALU. In one or more embodiments, A and B may be vectors, and comparing A to B includes comparing the first element of vector A with the first element of vector B, the second element of vector A with the second element of vector B, and so on. In one or more embodiments, implementation of the invention, if A and B are strings, the binary values of the strings can be compared.

[00378] Вычислительная система, проиллюстрированная на фиг. 34.1, может реализовывать репозиторий данных и/или подключаться к репозиторию данных. Например, один типом хранилища данных является база данных. База данных является набором информации, выполненным с возможностью упрощения поиска, модификации, реорганизации и удаления данных. Система управления базами данных (СУБД) является программным приложением, которое предоставляет пользователям интерфейс для определения, создания, запроса, обновления или администрирования баз данных. [00378] The computing system illustrated in FIG. 34.1 may implement a data repository and/or connect to a data repository. For example, one type of data store is a database. The database is a collection of information designed to facilitate the search, modification, reorganization and deletion of data. A database management system (DBMS) is a software application that provides an interface for users to define, create, query, update, or administer databases.

[00379] Пользователь или программное приложение могут подать оператор или запрос в СУБД. Затем СУБД интерпретирует оператор. Оператор может быть оператором выбора для запроса информации, оператором обновления, оператором создания, оператором удаления и т. д. Кроме того, оператор может содержать параметры, которые определяют данные, или контейнер данных (база данных, таблица, запись, столбец, представление и т. д.), идентификатор(ы), условия (операторы сравнения), функции (например, объединение, полное объединение, подсчет, среднее и т. д.), сортировка (например, возрастание, убывание) или другие. СУБД может выполнить оператор. Например, СУБД может обращаться к буферу памяти, ссылаться или индексировать файл для чтения, записи, удаления или любой их комбинации для ответа на оператор. СУБД может загружать данные из постоянного или непостоянного запоминающего устройства и выполнять вычисления для ответа на запрос. СУБД может возвращать результат(ы) пользователю или программному приложению.[00379] The user or software application may submit an operator or query to the DBMS. The DBMS then interprets the statement. The statement can be a select statement for querying information, an update statement, a create statement, a delete statement, etc. In addition, the statement can contain parameters that define data, or a data container (database, table, record, column, view, etc.). etc.), identifier(s), conditions (comparison operators), functions (eg, union, full union, count, average, etc.), sorting (eg, ascending, descending), or others. The DBMS can be executed by the operator. For example, a DBMS may access a memory buffer, refer to, or index a file for reading, writing, deleting, or any combination of these in order to respond to a statement. The DBMS can load data from persistent or non-persistent storage and perform calculations to answer the query. The DBMS may return result(s) to the user or software application.

[00380] Вычислительная система, проиллюстрированная на фиг. 34.1, может содержать функциональные средства для представления необработанных и/или обработанных данных, таких как результаты сравнений и другой обработки. Например, представление данных может быть выполнено с помощью различных способов представления. В частности, данные могут быть представлены с помощью пользовательского интерфейса, предусмотренного на вычислительном устройстве. Пользовательский интерфейс может содержать GUI, который отображает информацию на устройстве отображения, таком как компьютерный монитор или сенсорный экран на устройстве карманного компьютерного устройства. GUI может содержать различные элементы GUI, которые упорядочивают то, какие данные будут отображаться, а также как данные представляются пользователю. Кроме того, GUI может представлять данные непосредственно пользователю, например, данные, представляемые в виде фактических значений данных в виде текста или визуализируемые вычислительным устройством в визуальное представление данных, например, посредством визуализации модели данных. [00380] The computing system illustrated in FIG. 34.1 may contain functionality for representing raw and/or processed data, such as the results of comparisons and other processing. For example, the presentation of data may be performed using various presentation methods. In particular, the data may be presented using a user interface provided on the computing device. The user interface may include a GUI that displays information on a display device such as a computer monitor or touch screen on a handheld computing device. A GUI can contain various GUI elements that organize what data will be displayed as well as how the data is presented to the user. In addition, the GUI may present data directly to the user, such as data presented as actual data values in the form of text, or rendered by a computing device into a visual representation of the data, such as by rendering a data model.

[00381] Например, GUI может сначала получить уведомление от программного приложения, запрашивающего, чтобы конкретный объект данных был представлен в GUI. Затем GUI может определить тип объекта данных, связанный с конкретным объектом данных, например, путем получения данных из атрибута данных в объекте данных, который идентифицирует тип объекта данных. Затем GUI может определить любые правила, предназначенные для отображения этого типа объекта данных, например, правила, определенные программной средой для класса объекта данных, или согласно любым локальным параметрам, определенным GUI для представления этого типа объекта данных. В заключение, GUI может получить значения данных от конкретного объекта данных и визуально представить значения данных на устройстве отображения в соответствии с назначенными правилами для этого типа объекта данных.[00381] For example, the GUI may first receive a notification from a software application requesting that a particular data object be presented to the GUI. The GUI can then determine the data object type associated with a particular data object, for example by getting data from a data attribute in the data object that identifies the data object type. The GUI can then define any rules intended to represent that data object type, such as rules defined by the environment for the data object class, or according to any local options defined by the GUI to represent that data object type. Finally, the GUI can receive data values from a particular data object and visually present the data values on a display device according to the assigned rules for that type of data object.

[00382] Данные также могут быть представлены с помощью различных способов воспроизведения звука. В частности, данные могут быть воспроизведены в аудиоформате и представлены в виде звука посредством одного или более громкоговорителей, функционально связанных с вычислительным устройством. [00382] The data can also be represented using various sound reproduction methods. In particular, the data may be played back in audio format and presented as sound via one or more speakers operatively associated with the computing device.

[00383] Данные также могут быть представлены пользователю посредством способов тактильного представления. Например, способы тактильного представления могут включать: вибрации или другие физические сигналы, генерируемые вычислительной системой. Например, данные могут быть представлены пользователю с использованием вибрации, генерируемой карманным компьютерным устройством, с заданной продолжительностью и интенсивностью вибрации для передачи данных.[00383] Data may also be presented to the user through tactile presentation techniques. For example, tactile presentation methods may include: vibrations or other physical signals generated by a computing system. For example, data may be presented to a user using a vibration generated by a handheld computer device with a predetermined duration and vibration intensity for data transmission.

[00384] Вышеприведенное описание функций представляет только несколько примеров функций, выполняемых вычислительной системой, проиллюстрированной на фиг. 34.1, а также узлов и/или клиентского устройства, проиллюстрированных на фиг. 34.2. Другие функции могут быть выполнены с использованием одного или более вариантов реализации изобретения. [00384] The above description of functions represents only a few examples of functions performed by the computing system illustrated in FIG. 34.1 as well as the nodes and/or client device illustrated in FIG. 34.2. Other functions may be performed using one or more embodiments of the invention.

[00385] Хотя изобретение было описано в отношении ограниченного числа вариантов реализации, для специалистов в данной области техники, использующих преимущество данного изобретения, будет очевидным, что могут быть изобретены другие варианты реализации, которые не выходят за пределы объема изобретения, описанного в данной заявке. Соответственно, объем изобретения должен ограничиваться только прилагаемой формулой изобретения.[00385] Although the invention has been described in relation to a limited number of embodiments, it will be apparent to those skilled in the art taking advantage of this invention that other embodiments may be devised that do not depart from the scope of the invention described in this application. Accordingly, the scope of the invention is to be limited only by the appended claims.

Claims (55)

1. Система взаимодействия сети управления бурением и пользовательской сети, содержащая: 1. The system of interaction between the drilling control network and the user network, containing: первую систему управления, соединенную с множеством элементов сети, что формирует сеть управления бурением, причем первая система управления содержит один или более программируемые логические контроллеры (PLC), которые осуществляют операции бурения; a first control system connected to a plurality of network elements forming a drilling control network, the first control system comprising one or more programmable logic controllers (PLCs) that perform drilling operations; диспетчер служб виртуализации, соединенный с первой системой управления и множеством элементов сети, причем диспетчер служб виртуализации реализует по меньшей мере одну службу виртуализации в сети управления бурением, которая управляет операцией бурения; a virtualization service manager connected to the first control system and a plurality of network elements, the virtualization services manager implementing at least one virtualization service in the drilling control network that controls the drilling operation; контроллер виртуальных соединений, соединенный с множеством элементов сети, причем контроллер виртуальных соединений устанавливает виртуальное соединение между первой системой управления и пользовательской сетью; иa virtual connection controller connected to a plurality of network elements, the virtual connection controller establishing a virtual connection between the first control system and the user network; and диспетчер завершения работы, соединенный с диспетчером служб виртуализации, множеством элементов сети и первой системой управления, a shutdown manager connected to the virtualization service manager, a plurality of network elements and the first management system, причем диспетчер завершения работы завершает операции первой системы управления и диспетчера служб виртуализации в соответствии с последовательностью завершения работы для сети управления бурением.wherein the shutdown manager completes the operations of the first control system and the virtualization services manager in accordance with the shutdown sequence for the drilling control network. 2. Система по п. 1, дополнительно содержащая2. The system according to claim 1, further comprising множество виртуальных машин, работающих в сети управления бурением и которые формируются диспетчером служб виртуализации, a set of virtual machines operating in the drilling control network and which are formed by the virtualization services manager, причем множество виртуальных машин осуществляют множество автоматизированных операций бурения, иwherein a plurality of virtual machines perform a plurality of automated drilling operations, and причем диспетчер завершения работы осуществляет связь с множеством виртуальных машин для завершения операций в соответствии с последовательностью завершения работы.wherein the shutdown manager communicates with the plurality of virtual machines to complete operations in accordance with the shutdown sequence. 3. Система по п. 2, 3. The system according to claim 2, отличающаяся тем, что диспетчер завершения работы передает множество команд завершения работы с временной задержкой на первую систему управления, множество виртуальных машин и диспетчер служб виртуализации, иcharacterized in that the shutdown manager sends a plurality of shutdown commands with a time delay to the first management system, the plurality of virtual machines, and the virtualization service manager, and причем множество команд завершения работы с временной задержкой реализуют последовательность завершения работы.wherein the plurality of time delay shutdown instructions implement the shutdown sequence. 4. Система по п. 1, 4. The system according to claim 1, отличающаяся тем, что виртуальное соединение соответствует временному каналу между первой зоной безопасности и второй зоной безопасности,characterized in that the virtual connection corresponds to a temporary channel between the first security zone and the second security zone, причем первая зона безопасности содержит первую систему управления, иwherein the first security zone contains the first control system, and причем вторая зона безопасности расположена в пользовательской сети.and the second security zone is located in the user network. 5. Система по п. 4, дополнительно содержащая5. The system of claim. 4, further comprising межсетевое устройство защиты, соединенное с первой системой управления и множеством элементов сети, a firewall connected to the first control system and a plurality of network elements, причем сеть управления бурением изменяет конфигурацию, в ответ на проверку сетевого устройства, первой зоны безопасности, чтобы позволить сетевому устройству осуществлять связь с устройством назначения во второй зоне безопасности.wherein the drilling control network reconfigures, in response to checking the network device, the first security zone to allow the network device to communicate with a destination device in the second security zone. 6. Система по п. 1, дополнительно содержащая6. The system according to claim 1, further comprising диспетчер конфигурации, соединенный с множеством элементов сети и первой системой управления, a configuration manager connected to the plurality of network elements and the first control system, причем диспетчер конфигурации обнаруживает и устанавливает обновление программного обеспечения в первой системе управления.wherein the configuration manager detects and installs the software update on the first control system. 7. Система по п. 6, дополнительно содержащая7. The system according to claim 6, further comprising агент безопасности, расположенный в первой системе управления, security agent located in the first control system, причем диспетчер конфигурации осуществляет связь с агентом безопасности, чтобы установить обновление программного обеспечения в первой системе управления.wherein the configuration manager communicates with the security agent to install the software update on the first control system. 8. Система по п. 6, дополнительно содержащая:8. The system according to claim 6, further comprising: координированный контроллер, соединенный с диспетчером служб виртуализации; иa coordinated controller connected to the virtualization services manager; and множество систем управления, соединенных с диспетчером служб виртуализации и координированным контроллером, a plurality of control systems connected to a virtualization service manager and a coordinated controller, причем координированный контроллер определяет назначение приоритетов для множества операций по техническому обслуживанию для множества систем управления.wherein the coordinated controller determines the prioritization of the plurality of maintenance operations for the plurality of control systems. 9. Система по п. 1, дополнительно содержащая:9. The system according to claim 1, further comprising: множество устройств постоянного хранения данных;a plurality of persistent storage devices; контроллер управления данными, соединенный с множеством устройств постоянного хранения данных и первой системой управления,a data management controller connected to a plurality of persistent storage devices and a first management system, причем контроллер управления данными получает данные от удаленного устройства через сетевое соединение с сетью управления бурением, иwherein the data control controller receives data from the remote device through a network connection to the drilling control network, and причем контроллер управления данными хранит данные в устройстве постоянного хранения данных среди множества устройств постоянного хранения данных, связанных с заданным типом данных.wherein the data management controller stores data in the persistent data storage device among the plurality of persistent data storage devices associated with the predetermined data type. 10. Система по п. 1, дополнительно содержащая10. The system according to claim 1, further comprising устройство датчика, соединенное с первой системой управления и множеством элементов сети, a sensor device connected to the first control system and a plurality of network elements, причем устройство датчика устанавливает сетевое соединение с первой системой управления по сети управления бурением, иwherein the sensor device establishes a network connection with the first control system over the drilling control network, and причем устройство датчика передает, с использованием протокола связи, данные датчика от устройства датчика на первую систему управления.wherein the sensor device transmits, using a communication protocol, sensor data from the sensor device to the first control system. 11. Система по п. 1, дополнительно содержащая:11. The system according to claim 1, further comprising: вторую систему управления;a second control system; систему ввода в эксплуатацию буровой установки, соединенную с первой системой управления, второй системой управления и множеством элементов сети, a drilling rig commissioning system connected to the first control system, the second control system and a plurality of network elements, причем система ввода в эксплуатацию буровой установки создает граф знаний сети управления бурением, иwherein the drilling rig commissioning system creates a drilling control network knowledge graph, and причем система ввода в эксплуатацию буровой установки вводит в эксплуатацию вторую систему управления для автоматического выполнения задачи управления с использованием графа знаний.wherein the drilling rig commissioning system commissions the second control system to automatically perform the control task using the knowledge graph. 12. Система взаимодействия сети управления бурением и пользовательской сети, содержащая: 12. The system of interaction between the drilling control network and the user network, containing: систему управления, соединенную с первым множеством элементов сети, что формирует первую зону безопасности в сети управления бурением, причем система управления содержит один или более программируемые логические контроллеры (PLC), которые осуществляют операции бурения; a control system connected to the first plurality of network elements that forms a first security zone in the drilling control network, the control system comprising one or more programmable logic controllers (PLCs) that perform drilling operations; диспетчер служб виртуализации, соединенный с системой управления и первым множеством элементов сети, причем диспетчер служб виртуализации реализует по меньшей мере одну службу виртуализации в сети управления бурением, которая управляет операцией бурения; иa virtualization service manager connected to the control system and the first plurality of network elements, the virtualization services manager implementing at least one virtualization service in the drilling control network that controls the drilling operation; and межсетевое устройство защиты, соединенное с первой зоной безопасности и второй зоной безопасности, содержащей второе множество элементов сети, причем один или более однонаправленные каналы, один или более двунаправленные каналы и/или один или более временные каналы соединяют первую и вторую зоны безопасности,a firewall connected to the first security zone and the second security zone containing the second plurality of network elements, wherein one or more unidirectional channels, one or more bidirectional channels and/or one or more temporary channels connect the first and second security zones, причем сеть управления бурением изменяет конфигурацию, в ответ на проверку сетевого устройства, первой зоны безопасности, чтобы позволить сетевому устройству осуществлять связь с устройством назначения во второй зоне безопасности, в соответствии с одним или более сетевыми протоколами связи, ассоциированными с одним или более каналами. moreover, the drilling control network reconfigures, in response to checking the network device, the first security zone, to allow the network device to communicate with the destination device in the second security zone, in accordance with one or more network communication protocols associated with one or more channels. 13. Система по п. 12, дополнительно содержащая13. The system according to claim 12, further comprising контроллер виртуальных соединений, расположенный во второй зоне безопасности, virtual connection controller located in the second security zone, причем контроллер виртуальных соединений устанавливает виртуальное соединение между первой зоной безопасности и второй зоной безопасности.wherein the virtual connection controller establishes a virtual connection between the first security zone and the second security zone. 14. Система по п. 12, дополнительно содержащая14. The system according to claim 12, further comprising диспетчер завершения работы, соединенный с диспетчером служб виртуализации, первым множеством элементов сети и первой системой управления, a shutdown manager connected to the virtualization service manager, the first plurality of network elements and the first management system, причем диспетчер завершения работы завершает операции первой системы управления и диспетчера служб виртуализации в соответствии с множеством команд завершения работы с временной задержкой.wherein the shutdown manager terminates the operations of the first management system and the virtualization services manager in accordance with the plurality of shutdown commands with a time delay.
RU2020112522A 2017-09-11 2018-09-11 System and method for automated drilling network RU2780964C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762556815P 2017-09-11 2017-09-11
US62/556,815 2017-09-11
PCT/US2018/050322 WO2019051439A1 (en) 2017-09-11 2018-09-11 System and method for automated drilling network

Publications (3)

Publication Number Publication Date
RU2020112522A RU2020112522A (en) 2021-10-13
RU2020112522A3 RU2020112522A3 (en) 2022-04-04
RU2780964C2 true RU2780964C2 (en) 2022-10-04

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU82759U1 (en) * 2008-12-08 2009-05-10 ООО Научно-исследовательский институт технических систем "Пилот" AUTOMATED WELL DRILLING SYSTEM
US20090225630A1 (en) * 2008-03-10 2009-09-10 Schlumberger Technology Corporation Data aggregation for drilling operations
US8121971B2 (en) * 2007-10-30 2012-02-21 Bp Corporation North America Inc. Intelligent drilling advisor
US20120173218A1 (en) * 2010-12-29 2012-07-05 Athens Group Holdings, Llc Method and system for drilling rig testing using virtualized components
US20170114618A1 (en) * 2014-06-13 2017-04-27 Mhwirth As Method and system for controlling well operations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8121971B2 (en) * 2007-10-30 2012-02-21 Bp Corporation North America Inc. Intelligent drilling advisor
US20090225630A1 (en) * 2008-03-10 2009-09-10 Schlumberger Technology Corporation Data aggregation for drilling operations
RU82759U1 (en) * 2008-12-08 2009-05-10 ООО Научно-исследовательский институт технических систем "Пилот" AUTOMATED WELL DRILLING SYSTEM
US20120173218A1 (en) * 2010-12-29 2012-07-05 Athens Group Holdings, Llc Method and system for drilling rig testing using virtualized components
US20170114618A1 (en) * 2014-06-13 2017-04-27 Mhwirth As Method and system for controlling well operations

Similar Documents

Publication Publication Date Title
US20200277847A1 (en) System and method for automated drilling network
US11671331B2 (en) Systems and methods for contextual network assurance based on change audits
US8910129B1 (en) Scalable control system for test execution and monitoring utilizing multiple processors
US11663030B2 (en) Extending expiration of user sessions with authentication refresh
US20200162589A1 (en) Intent based network data path tracing and instant diagnostics
EP3618353B1 (en) Dynamic, endpoint configuration-based deployment of network infrastructure
CN105684391A (en) Automated generation of label-based access control rules
US20220239735A1 (en) State management for device-driven management workflows
CN104981784A (en) Software deployment and control method and system
WO2008103487A1 (en) Drilling collaboration infrastructure
US10944641B1 (en) Systems and methods for application traffic simulation using captured flows
US20180351952A1 (en) System and method for secure management of network devices
EP3544330B1 (en) System and method for validating correctness of changes to network device configurations
US10749759B2 (en) System and method to provide network insights for correct and efficient network configuration
KR101974278B1 (en) Remote Control System for Semiconductor Equipment
CN112042154B (en) System and method for progressive cloud-based architecture
WO2020036844A1 (en) System and method for control system cybersecurity
RU2780964C2 (en) System and method for automated drilling network
US10027544B1 (en) Detecting and managing changes in networking devices
US20190356696A1 (en) System and method for cybersecurity framework among network devices
US20240037053A1 (en) Data Center Asset Client Bridging via a Passthrough Device
US20230403302A1 (en) State management for device-driven management workflows with active attributes
US20240031445A1 (en) Systems and methods for network discovery in a multi-layer operational technology network
US20230354019A1 (en) Mobile Provisioning of a Data Center Asset in a Data Center Connectivity Management Environment
US20240039794A1 (en) Data Center Asset Client Module Authentication via a Connectivity Management Authentication Operation