CN111406145A - 用于自动化钻井网络的系统和方法 - Google Patents

用于自动化钻井网络的系统和方法 Download PDF

Info

Publication number
CN111406145A
CN111406145A CN201880072437.2A CN201880072437A CN111406145A CN 111406145 A CN111406145 A CN 111406145A CN 201880072437 A CN201880072437 A CN 201880072437A CN 111406145 A CN111406145 A CN 111406145A
Authority
CN
China
Prior art keywords
network
control system
data
drilling
software
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201880072437.2A
Other languages
English (en)
Inventor
J.罗贾斯
S.郑
刘志杰
E.蒂森
M.S.卡吉塔
G.塔姆博伊斯
W.小席尔瓦多斯桑托斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Schlumberger Technology Corp
Original Assignee
Schlumberger Technology Corp
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 Schlumberger Technology Corp filed Critical Schlumberger Technology Corp
Publication of CN111406145A publication Critical patent/CN111406145A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E21EARTH DRILLING; MINING
    • E21BEARTH DRILLING, e.g. DEEP DRILLING; OBTAINING OIL, GAS, WATER, SOLUBLE OR MELTABLE MATERIALS OR A SLURRY OF MINERALS FROM WELLS
    • E21B44/00Automatic control systems specially adapted for drilling operations, i.e. self-operating systems which function to carry out or modify a drilling operation without intervention of a human operator, e.g. computer-controlled drilling systems; Systems specially adapted for monitoring a plurality of drilling variables or conditions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13125Use of virtual, logical connections

Abstract

一种系统可以包括耦接到各种网络元件的控制系统,网络元件限定钻井管理网络。控制系统可以包括执行钻井操作的可编程逻辑控制器(PLC)。系统还可以包括耦接到控制系统和网络元件的虚拟化服务管理器。虚拟化服务管理器可以在钻井管理网络上实现控制钻井操作的虚拟化服务。系统还可以包括耦接到网络元件的虚拟连接控制器。虚拟连接控制器可以在控制系统与用户网络之间建立虚拟连接。

Description

用于自动化钻井网络的系统和方法
相关申请的交叉引用
本申请要求2017年9月11日提交的题为“Rig Security”的美国临时专利申请No.62/556,815的优先权,其通过引用整体并入本文。
背景技术
各种网络装置可以遍布钻机设置,以便控制钻机上的各种操作。这些网络装置可以控制钻井设备,监视钻机性能,和/或执行关于钻机的各种维护操作。相应地,关于这些网络装置的安全协议的有效实施存在各种问题。
发明内容
总体上,在一个方面中,本公开技术设计一种系统。该系统包含控制系统,其耦接到限定钻井管理网络的各种网络元件。控制系统包含可编程逻辑控制器(PLC),其执行钻井操作。该系统还包含虚拟化服务管理器,其耦接到控制系统和网络元件。虚拟化服务管理器在钻井管理网络上实现控制钻井操作的虚拟化服务。该系统还包含虚拟连接控制器,其耦接到网络元件。虚拟连接控制器在控制系统与用户网络之间建立虚拟连接。
总体上,在一个方面中,本公开技术设计一种系统,包含控制系统,其耦接到在钻井管理网络中限定第一安全区的第一组网络元件。控制系统包含执行钻井操作的可编程逻辑控制器(PLC)。系统还包含虚拟化服务管理器,其耦接到控制系统和第一组网络元件。虚拟化服务管理器在钻井管理网络上实现控制钻井操作的虚拟化服务。该系统还包含防火墙装置,其耦接到第一安全区和包含第二组网络元件的第二安全区。钻井管理网络响应于验证网络装置而重新配置第一安全区,以使网络装置能够与第二安全区中的目的地装置通信。
总体上,在一个方面中,本公开技术设计一种系统。该系统包含控制系统,其耦接到限定钻井管理网络的各种网络元件。控制系统包含执行钻井操作的可编程逻辑控制器(PLC)。该系统还包含虚拟化服务管理器,其耦接到控制系统和网络元件。虚拟化服务管理器在钻井管理网络上实现控制钻井操作的虚拟化服务。该系统还包含配置管理器,其耦接到网络元件和控制系统。配置管理器使用控制系统上的安全代理在控制系统上安装更新。
本公开的其他方面将从以下描述和所附权利要求变得显而易见。
附图说明
图1,2,4,9.1,9.2,9.3,13,16,17,20.1,20.2,24和28示出了根据一个或多个实施例的系统。
图3,5,7,10,11,15,18,19,21,22,25,27,29和30示出了根据一个或多个实施例的流程图。
图6,8.1,8.2,12,14,23,26.1,26.2,31,32和33示出了根据一个或多个实施例的示例。
图34.1和34.2示出了根据一个或多个实施例的计算系统。
具体实施方式
现将参考附图描述本公开的具体实施例。各附图中的相同元件出于一致将由相同附图标记表示。
在本公开的实施例的以下详细描述中,阐述了许多具体细节,以便提供本公开的更彻底的理解。然而,本领域普通技术人员将明白,本公开可以在没有这些具体细节的情况下实践。在其他实例中,熟知特征未详细描述,以免不必要地使描述复杂化。
本申请通篇,序数(例如,第一、第二、第三等)可以用作元件(即,本申请中的任何名词)的形容。使用序数不暗示或创建元件的任何特定顺序,也不限制任何元件仅为单个元件,除非明确公开如此,诸如通过使用术语"之前"、"之后"、"单个"或其他这样的术语。反之,使用序数是在元件之间执行区分。例如,第一元件与第二元件不同,并且第一元件可以涵盖多于一个元件,并且在元件顺序中在第二元件之后(或之前)。
总体上,本公开的实施例包含用于操作钻井管理网络的各种系统和各种方法。特别地,一个或多个实施例涉及钻井管理网络,其包含具有可编程逻辑控制器(PLC)的各种控制系统。特别地,网络上操作的虚拟化服务管理器可以生成虚拟化服务层中的虚拟机和/或软件容器。这些虚拟机和/或软件容器可以执行一个或多个钻井操作和/或维护操作。
另外,钻井管理网络可以包括配置管理器、协调控制器,和/或其他网络装置,以对在钻井管理网络上执行的各种过程自动化和/或排优先顺序。因此,本公开技术描述各种实现方式,其可以提供对特定于与钻井管理网络相关联的操作条件的问题的解决方案。相应地,本公开技术的一个或多个方法可以填补各种行业中发现的控制过程自动化与特定于钻井管理网络的特定情况之间的空白。
图1示出了根据一个或多个实施例的系统的框图。图1示出了根据一个或多个实施例的钻井系统(10)。钻柱(58)示出为在井眼(46)内。井眼(46)可以位于具有地面(42)的陆地(40)中。井眼(46)示出为正被钻头(54)的动作切割。钻头(54)可以设置在附接到并形成钻柱(58)的下部部分的井底钻具组件(56)的远端。井底钻具组件(56)可以包括若干装置,其包含各种子部件。随钻测井(MWD)子部件可以被包括在子部件(62)中。MWD测量的示例可以包括方向、倾角、勘测数据、井下压力(钻杆内,和/或外部和/或环空压力)、电阻率、密度,以及孔隙率。子部件(62)还可以包括用于测量钻头(54)上的扭矩和重量的子部件。来自子部件(62)的信号可以在处理器(66)中被处理。在处理之后,来自处理器(66)的信息可以被传送到脉冲器部件(64)。脉冲器部件(64)可以将来自处理器(66)的信息转换为钻井液中的压力脉冲。压力脉冲可以生成为特定模式,其表示来自子部件(62)的数据。压力脉冲可以在钻柱的中央开口中向上通过钻井液并且朝向地面系统行进。井底钻具组件(56)中的子部件还可以包括涡轮或马达,以提供动力来旋转和导向钻头(54)。
钻机(12)可以包括井架(68)和提升系统、旋转系统,和/或泥浆循环系统,例如。提升系统可以悬挂钻柱(58),并且可以包括绞车(70)、快绳(71)、天车(75)、钻井绳(79)、游车和钩(72)、转环(74),和/或死绳(77)。旋转系统可以包括方钻杆(76)、旋转台(88),和/或发动机(未示出)。旋转系统可以在钻柱(58)上施加旋转力。同样,图1中所示的实施例也可以应用于顶驱钻井布置。虽然钻井系统(10)示出为在陆地上,本领域技术人员将认识到,所描述的实施例也等同地可用于海洋环境。
泥浆循环系统可以将钻井液向下泵送到钻柱中的开口中。钻井液可以称为泥浆,其可以是水和/或柴油燃料、特殊粘土,和/或其他化学物质的混合物。泥浆可以储存在泥浆池(78)中。泥浆可以被抽吸到泥浆泵(未示出)中,泥浆泵可以将泥浆泵送通过立管(86)并且通过转环(74)到方钻杆(76)中,转环可以包括旋转密封。同样,所描述的技术还可以应用于欠平衡钻井。如果使用欠平衡钻井,则在进入钻柱之前的某时,气体可以使用注入系统(未示出)被引入到泥浆中。
泥浆可以通过钻柱(58)并通过钻头(54)。随着钻头(54)的齿将陆地地层研磨并凿击为切屑,泥浆可以被射出钻头(54)中的开口或喷嘴。这些泥浆的喷射可以将切屑升举离开井孔的底部并且远离钻头(54),并且在钻柱(58)与井眼(46)的壁之间的环空空间中朝上到地面。
在地面,泥浆和切屑可以通过防喷器(99)的侧出口并通过泥浆返回管线(未示出)离开井。防喷器(99)包括压力控制装置和旋转密封。泥浆返回管线可以将泥浆给送到一个或多个分离器(未示出),分离器可以将泥浆与切屑分离。从分离器,泥浆可以返回到泥浆池(78)以储存和重复使用。
各种传感器可以设置在钻机(12)上,以执行钻井设备的测量。特别地,钩负载可以由安装在死绳(77)上的钩负载传感器(94)测量,车位置和相关块速度可以由车传感器(95)测量,车传感器可以是绞车(70)的一部分。地面扭矩可以由旋转台(88)上的传感器测量。立管压力可以由位于立管(86)上的压力传感器(92)测量。来自这些测量的信号可以被通信到设置在钻机(12)周围的地面处理器(96)或其他网络元件(未示出)。另外,钻柱中向上行进的泥浆脉冲可以由压力传感器(92)检测。例如,压力传感器(92)可以包括换能器,其将泥浆压力转换为电子信号。压力传感器(92)可以连接到地面处理器(96),其将信号从压力信号转换为数字形式,储存并解调数字信号为可用MWD数据。根据上述各种实施例,地面处理器(96)可以编程为基于所描述的各种输入信道自动地检测一个或多个钻机状态。处理器(96)可以例如编程为执行上述自动化事件检测。处理器(96)可以将特定钻机状态和/或事件检测信息传输到用户界面系统(97),其可以设计为警告各种钻井人员钻机上发生的事件和/或向钻井人员建议活动以避免特定事件。如上所述,这些设备中的一个或多个可以由耦接到钻机(12)的钻井管理网络操作。例如,以下图2中描述的钻井管理网络(210)可以自动化与这些设备相关联的一个或多个钻井过程,而无需人工干预。
转向图2,图2示出了根据一个或多个实施例的系统的框图。如图2所示,钻井管理网络(210)可以包括人机界面(HMI)(例如,HMI(218))、历史记录器(historian)(例如,历史记录器(225))、各种网络元件(例如,网络元件(224))。人机界面可以是耦接到钻井管理网络(210)的硬件和/或软件,并且其配置为用于呈现数据和/或接收来自用户的关于钻井管理网络(210)内执行的各种钻井操作和/或维护操作的输入。例如,人机界面可以包括软件,以提供图形用户界面(GUI),以呈现数据和/或接收操作钻机的控制命令。历史记录器可以是硬件和/或软件,其配置为用于记录钻井管理网络中发生的事件。例如,历史记录器可以储存与设备和/或控制系统相关联的事件的时间和描述、传感器测量,和/或操作参数作为历史记录,诸如用于故障排除(troubleshooting)。网络元件可以指网络内的各种硬件部件,诸如交换机、路由器、总线、用户设备,或任意其他逻辑实体,以将一个或多个物理装置在网络上联合。
在一个或多个实施例中,钻井管理网络(210)包含钻井设备(例如,钻井设备(219)、防喷器(99)、钻机(12),和以上在图1和随附描述中描述的其他部件)以及附属于钻井设备的各种物理部件,例如,用于测量和/或控制钻井设备。钻井管理网络(210)还可以包括控制系统(例如,控制系统(221))诸如作为确定性网络部分的各种钻井操作控制系统和/或各种维护控制系统。钻井操作控制系统和/或维护控制系统可以包括例如可编程逻辑控制器(PLC)(例如,PLC(217)),其包含配置为控制由钻机执行的一个或多个过程的硬件和/或软件,包含但不限于图1中所描述的部件。具体地,可编程逻辑控制器可以控制阀状态、液位、管压力、警告警报,和/或整个钻机的压力释放。关于钻井管理网络中的控制系统的更多信息,参见提交于2015年6月30日的题为“Rig Control System”的美国专利申请No.14/788,124(公布为US 2016/0290119),和提交于2015年6月30日的题为“Unified ControlSystem for Drilling Rigs”的美国专利申请No.14/788,038(公布为US 2016/0222775),以及提交于2015年6月30日的题为“Drilling Control System”的美国专利申请No.14/754,901(公布为US 2016/0290120)。每篇公布的专利申请通过引用整体并入本文。
此外,可编程逻辑控制器可以是加固的计算机系统,其配置为经受震动、极端温度、潮湿条件,和/或灰尘条件,例如,在钻机周围。钻井操作控制系统和/或维护控制系统还可以指控制系统,其包含钻井管理网络内的多个PLC。另外,控制系统可以是钻井管理网络的闭环部分,其配置为控制以上图1和随附描述中描述的系统、部件,和/或子部件内的操作。PLC可以将PLC数据传输到耦接到钻井管理网络和/或用户网络的一个或多个装置。PLC数据可以包括传感器测量、状态更新,和/或关于钻井操作和/或维护操作的信息。同样,控制系统(例如,控制系统(221))中的一个或多个可以配置为监视和/或执行关于关于图1和随附描述所描述的泥浆循环系统、旋转系统、管处理系统,和/或各种其他钻井活动的各种钻井过程。
另外,钻井管理网络可以耦接到用户网络(例如,用户网络(230))。特别地,用户网络可以包括各种网络元件、用户装置(例如,用户装置X(251)),和/或现场用户设备(例如,现场用户设备(242))。例如,现场用户设备可以包括电话系统、个人计算机、打印机、应用服务器,和/或文件服务器,其位于钻机周围。用户装置还可以耦接到钻井管理网络,其中用户装置可以包括个人计算机、智能电话、人机界面,和耦接到从一个或多个用户获取输入的网络的任意其他装置。网络元件、HMI、历史记录器、现场用户设备、用户装置,和/或其他网络装置可以包括相似于图34.1和34.2和随附描述中所描述的描述的计算系统(3400)的计算系统。
在一些实施例中,虚拟连接控制器(例如,虚拟连接控制器(243))控制对钻井管理网络的访问。虚拟连接控制器可以是硬件和/或软件,其配置为在用户网络(例如,用户网络(230))与钻井管理网络(例如,钻井管理网络(210))之间建立虚拟连接(例如,网络连接(235))。虚拟连接可以是例如在两个相邻网络元件(诸如两个网络交换机)之间的数据链接层连接。在其他实施例中,虚拟连接可以是多个网络节点上的特定连接。同样,虚拟连接控制器可以是虚拟机(VM)、软件容器,或位于用户网络中的物理网络元件。例如,虚拟连接控制器(243)可以是跳主机或与跳主机在用户网络(230)上通信的网络元件。在一些实施例中,钻井管理网络包含用于不同安全区(诸如控制区)的多个跳主机,例如,其中虚拟连接控制器基于何处建立一个或多个虚拟连接而与每个跳主机通信。在一个或多个实施例中,例如,虚拟连接控制器配置为将提供与钻井管理网络上的装置通信的跳主机开机和/或关机。
在一个或多个实施例中,虚拟连接控制器位于用户网络(例如,用户网络(230))上。同样,在一些实施例中,虚拟连接控制器包含硬件和/或软件,其分布在用户网络和钻井管理网络中的多个网络元件上。在一个或多个实施例中,例如,虚拟连接控制器是跳主机,其配置为用于管理钻井管理网络内的安全。特别地,钻井管理网络可以是与用户网络分开的安全区。关于虚拟连接控制器的更多信息,参见以下名为虚拟连接控制器的部分和随附描述。
在一些实施例中,钻井管理网络包含虚拟化服务管理器(例如,虚拟化服务管理器(213))。虚拟化服务管理器可以包括硬件和/或软件,其配置为用于生成、终止、监视,和/或管理一个或多个虚拟机(例如,虚拟机(227))和/或软件容器(例如,软件容器(229)),其操作在钻井管理网络的虚拟化服务层上。在一些实施例中,虚拟化服务管理器包含超级监督者,以管理钻井管理网络上的一个或多个虚拟化环境。例如,虚拟化服务可以包括控制在钻井管理网络上的一个或多个网络层中实现的钻井操作和/或维护操作的网络进程,例如,其中虚拟机和/或软件容器在网络层上操作。与在单个主机装置上实现虚拟机或软件容器不同,例如,虚拟化服务可以使用在多个主机装置上操作的虚拟机或软件容器实现。关于虚拟服务管理器的的更多信息,参见以下题为“停机和启动管理”和“安全数据复制”的部分和随附描述。
在一些实施例中,钻井管理网络包含协调控制器(例如,协调控制器(229))。例如,协调控制器可以与虚拟化服务管理器通信以将钻井管理网络上的各种自动化操作(诸如钻井操作和/或维护操作)优先级。关于协调控制器的的更多信息,参见以下题为“配置管理器和协调控制器”的部分和随附描述。
在一些实施例中,钻井管理网络包含停机管理器(例如,停机管理器(211))。停机管理器可以是硬件和/或软件,其配置为用于在一个或多个主机装置、一个或多个虚拟机、一个或多个软件容器、一个或多个虚拟化控制器和/或虚拟化服务管理器处发起终止操作。在一个或多个实施例中,虚拟化服务管理器和停机管理器是相同的软件应用程序或网络装置。例如,停机管理器可以配置为用于监视环境变量和钻井管理网络上的不同系统的其他网络变量。因此,响应于与环境变量和网络变量相关联的各种触发器,停机管理器可以基于建立的规则发起协调过程,以执行钻井管理网络中的控制系统或子系统的完全停机。关于停机管理器的的更多信息,参见以下题为“停机和启动管理”的部分和随附描述。
在一些实施例中,钻井管理网络的不同部件被分层为各种安全区,例如,控制区和管理区。具体地,不同安全区可以使用防火墙装置(例如,防火墙装置(226))耦接。例如,防火墙装置可以包括硬件和/或软件,其配置为过滤在控制区与管理区之间传输的数据包。具体地,防火墙装置可以执行一个或多个网络层处的包检查,诸如钻井管理网络的传输层和/或应用层。特别地,防火墙装置可以分析包和/或发送包的应用程序,以确定通信是否在不同安全区中的源装置与目的地装置之间授权。在一些实施例中,使用基于证书的授权确定包授权。例如,控制区和管理区中的网络装置可以被分配安全证书,安全证书可以储存在网络装置中。防火墙装置可以配置为充当授权服务器,以确定安全证书是否已经届期和/或源装置(例如,配置管理器(216))是否被授权以与目的地装置(诸如历史记录器、控制系统、用户装置、虚拟机等)通信。关于管理控制区内的网络通信的更多信息,参见以下题为“控制系统网络安全”的部分和随附描述。同样,关于防火墙装置和钻井管理网络通信的更多信息,参见2016年11月28日提交的题为“Well Construction Site Communications Network”的美国专利申请No.15/361,781(公布为US2018/0152319),其通过引用整体并入本文。
在一些实施例中,控制区中的一个或多个网络装置包含一个或多个安全代理(例如,安全代理(261))。安全代理可以包括硬件和/或软件,其配置为操作为控制区内的主机网络装置上的本地实体。例如,安全代理可以位于人机界面、历史记录器、一个或多个控制系统等上。相应地,安全代理可以配置为执行安全规则并访问相应的网络装置上的控制策略。从而,安全代理可以跨过防火墙装置与配置管理器(例如,配置管理器(216))和/或应用程序管理器通信,以便其主机网络装置上的管理员软件安装和/或软件进程。此外,配置管理器可以是硬件和/或软件,其配置为用于管理钻井管理网络中的一个或多个装置的软件安装。例如,配置管理器可以检测控制系统的软件更新,并且将软件更新的安装与控制系统中的安全代理协调。关于安全代理和配置管理器的更多信息,参见以下题为“控制系统网络安全”和“配置管理器和协调控制器”的部分和随附描述。
在一些实施例中,钻井管理网络包含数据管理控制器(例如,数据管理控制器(212)),其耦接到各种持久储存体装置(例如,持久储存体装置(215))。持久储存体装置可以包括硬件和/或软件,其配置为实现非易失性数据储存。例如,持久储存体装置可以包括持久盘,诸如中央数据资源库中的硬盘驱动器和/或固态驱动器。在一个或多个实施例中,数据管理控制器包含硬件和/或软件,其配置为用于管理关于各种持久储存体装置的数据的储存和/或检索。例如,数据管理控制器可以是中央数据资源库的一部分,其包含钻井管理网络中的各种持久储存体装置。同样,数据管理控制器可以建立对一个或多个远程装置(例如,用户装置Y(252))的一个或多个网络连接。因此,数据管理控制器可以管理数据在远程装置与钻井管理网络之间在互联网(例如,互联网(250))上的传输。关于数据管理控制器和持久储存体装置的的更多信息,参见以下题为“安全数据复制”的部分和随附描述。
在一些实施例中,钻井管理网络包含钻机调试系统(例如,钻机调试系统(222))。例如,钻机调试系统可以生成知识图,其描述控制系统和控制系统中的子系统。相应地,使用知识图,钻机调试系统可以自动地调试钻井管理网络内的钻井操作和/或维护操作的控制系统。关于知识图和钻机调试系统的更多的信息,参见以下题为“智能钻井控制系统调试”的部分和随附描述。
尽管图1和图2示出了部件的各种配置,但可以使用其他配置,而不背离本公开的范围。例如,图1和图2中的各种部件可以被组合,以创建单个部件。在另一示例中,用户网络(230)中所示的部件还可以位于钻井管理网络(210)中,并且钻井管理网络(210)中所示的部件还可以位于用户网络(230)中。作为另一示例,由单个部件执行的功能可以由两个或更多个部件执行。
此外,图1和图2中的各种部件被描述为“配置”有特定类型的功能。因此,本文中“配置”可以指特定计算机可读指令,其位于软件中,例如,物理装置内的固件中,其执行本文中所公开的一个或多个方法。同样,“配置”还可以指特定配置、设置、参数和其他储存的变量,其限定由硬件和/或软件执行的特定功能。例如,硬件寄存器可以配置有特定值,其确定由硬件装置执行的操作的类型和/或模式。从而,各种网络装置可以配置为以钻井管理和/或用户网络实现特定确定操作。另外,“配置”还可以指硬件和/或软件协议,其限定网络内和/或外的部件之间的物理相互作用。
转向图3,图3示出了根据一个或多个实施例的流程图。具体地,图3描述了操作钻井管理网络的方法。图3中的一个或多个框可以由如图1和/或2中描述的一个或多个部件(例如,虚拟连接控制器(243))执行。尽管图3中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动地或被动地执行。
在框300中,根据一个或多个实施例为控制区中的各种虚拟化服务发起启动。例如,钻井管理网络中的部件可以包括执行用于发起自动化启动进程的各种方法的功能。特别地,在各种主机装置中操作的各种虚拟化控制器可以从它们的组选择虚拟化服务管理器。相应地,虚拟化服务管理器可以通过钻井管理网络使用延时发起命令调控各种虚拟化服务、虚拟机和/或软件容器的自动化启动进程。关于自动化启动进程的的更多信息,参见以下图11和题为“停机和启动管理”的部分和随附描述。
在框310中,根据一个或多个实施例基于一个或多个新的网络装置重新配置控制区。在一些实施例中,控制区内的各种装置的网络通信被限制为预定关联。换而言之,在控制区中可以允许网络装置仅与某些授权的装置通信。例如,当新的网络装置被添加到控制区时,新的网络装置可以被验证,以便确定控制区内和/或外的哪个装置被授权为与新的网络装置通信。相应地,可以例如使用网络元件和/或防火墙装置重新配置控制区,以实现授权的通信。关于在控制区中重新配置和控制通信的更多信息,参见以下图18和题为“控制系统网络安全”的部分和随附描述。
在框320中,根据一个或多个实施例,一个或多个软件应用程序被使用一个或多个安全代理安装在控制区中的一个或多个网络装置上。例如,钻井管理网络可以包括与安全代理通信的配置管理器。安全代理可以位于控制区内的网络装置中,而配置管理器可以位于控制区外的管理区中。从而,配置管理器可以检测在控制区内操作的软件应用程序(例如,用于通过虚拟机、软件容器、控制系统等提供虚拟化服务的软件应用程序)的软件更新。相应地,配置管理器可以与安全代理协调,以安装软件安装文件,例如,网络装置哪天何时不被用于执行钻井和/或维护操作。关于在控制区中的网络装置上安装软件的更多信息,参见以下图19和题为“控制系统网络安全”的部分和随附描述。
在框330中,根据一个或多个实施例,一个或多个控制系统被自动地调试以用于控制区。例如,钻井管理网络中的钻机调试系统可以生成知识图。使用知识图,钻机调试系统可以在控制区内自动地调试钻井操作和/或维护操作的控制系统。关于自动地调试控制系统的更多信息,参见以下题为“智能钻井控制系统调试”的部分和随附描述。
在框340中,根据一个或多个实施例,从一个或多个传感器装置获取传感器数据。在一些实施例中,例如,钻井管理网络可以包括传感器装置(例如,传感器装置(214)),其与钻井管理网络建立网络连接。例如,传感器装置可以包括智能传感器装置,其具有通信接口,以在钻井管理网络上接收和传输数据,诸如传感器数据。从而,钻井管理网络上的控制系统可以订阅智能传感器装置,以便获取传感器数据。同样,控制系统可以获取传感器数据,分析传感器数据是否是由任何应用程序使用的类型的传感器数据,并且然后相应地使用或忽略传感器数据。因此,通过实现通信协议,传感器数据可以在钻井管理网络之上传输,通信协议将传感器数据从智能传感器装置导向到控制系统。关于智能传感器装置和在钻井管理网络之上传输传感器数据的更多信息,参见以下题为“智能传感器装置集成”的部分和随附描述。
在框350中,根据一个或多个实施例对控制区建立虚拟连接。在一些实施例中,例如,在网络装置被认证之后,由虚拟连接控制器在控制区与(诸如用户网络中找到的)另一安全区之间建立虚拟连接一临时时段。例如,虚拟连接控制器可以控制建立虚拟连接的临时通道。在虚拟连接在线时,网络流量可以流入流出控制区。一旦终止虚拟连接,控制区可以返回到封闭网络,其被保护免受各种可能的安全漏洞。同样,这样的临时虚拟连接可以对本地用户和/或在互联网上登录到用户网络的远程用户执行安全措施。此外,钻井管理网络可以提供对不同用户何时访问以及访问控制区的哪些部分的自动化控制。关于虚拟连接和虚拟连接控制器的更多信息,参见以下题为“虚拟连接控制器”和“网络安全框架”的部分和随附描述。
在框360,根据一个或多个实施例,使用控制区中的一个或多个控制系统执行一个或多个钻井操作。此外,钻井管理网络中的控制区可以包括一个或多个部件,诸如协调控制器或虚拟服务管理器,用于管理员钻井操作和/或维护操作。例如,控制区可以包括控制系统,其自动化钻井和/或维护操作,而无需人工干预。关于控制钻井操作的更多信息,例如,参见提交于2015年12月29日题为“Well Construction Display”的美国专利申请No.14/982,917(公布为US 2017/0167200),其通过引用整体并入本文。
在框370中,根据一个或多个实施例,虚拟连接被终止。例如,当虚拟连接控制器去除控制区与(诸如用户网络中的)不同安全区之间的数据链接层连接时,虚拟连接可以终止。该终止可以使控制区返回到封闭状态。同样,防火墙设置可以由虚拟连接控制器设置,以阻挡来去控制区的网络流量。在交换虚拟连接的情况下,虚拟连接控制器可以将交换虚拟连接设置为开路。在一个或多个实施例中,例如,虚拟连接控制器在执行确定之后停机并断开以终止虚拟连接。
在框380中,根据一个或多个实施例,发起控制区停机。在一些实施例中,例如,钻井管理网络包含停机管理器,其管理停机序列以终止控制区中的装置的操作。在一些实施例中,对整个钻井管理网络发起停机。停机序列可以以延时终止命令执行,其使得控制区中的装置能够有序地停止操作。关于停机序列和停机管理器的的更多信息,参见以下题为“停机和启动管理”的部分和随附描述。
虚拟连接控制器
总体上,本公开的实施例包含用于访问钻井管理网络上的控制系统的系统和各种方法。
转向图4,图4示出了根据一个或多个实施例的系统的框图。如图4所示,钻井管理网络(410)可以包括人机界面(HMI)(例如,HMI(421))、历史记录器(例如,历史记录器(425)),以及各种网络元件(例如,网络元件(424))。人机界面可以是硬件和/或软件,其耦接到钻井管理网络(410),并且包含用于呈现数据和/或接收来自用户的关于在钻井管理网络(410)内执行的各种钻井操作和/或维护操作的输入的功能。例如,人机界面可以包括软件,以提供图形用户界面(GUI),从而呈现数据和/或接收用于操作钻机的控制命令。网络元件可以指网络内的各种硬件部件,诸如交换机、路由器、总线或任意其他逻辑实体,以联合网络上的一个或多个物理装置。特别地,网络元件、人机界面,和/或历史记录器可以是相似于图34.1和图34.2和随附描述中所描述的计算系统(3400)的计算系统。
在一个或多个实施例中,钻井管理网络(410)可以包括钻井设备(例如,钻井设备(426)),诸如防喷器(99)、钻机(12),和以上在图1和随附描述中描述的其他部件。钻井管理网络(410)还可以包括各种钻井操作控制系统(例如,钻井操作控制系统(422))和各种维护控制系统(例如,维护控制系统(423))。钻井操作控制系统和/或维护控制系统可以包括例如可编程逻辑控制器(PLC),其包含硬件和/或软件,具有控制由钻机执行的一个或多个过程的功能,包含但不限于图1中所描述的部件。具体地,可编程逻辑控制器可以控制阀状态、液位、管压力、警告警报,和/或整个钻机的压力释放。特别地,可编程逻辑控制器可以是加固的计算机系统,其具有经受例如,钻机周围的震动、极端温度、潮湿条件,和/或灰尘条件的功能。
此外,钻井操作控制系统和/或维护控制系统可以指包含钻井管理网络(410)内的多个PLC的控制系统。例如,控制系统可以包括功能以控制以上图1和随附描述中所描述的系统、部件和/或子部件内的操作。因此,钻井操作控制系统(422)中的一个或多个可以包括监视和/或执行关于泥浆循环系统、旋转系统、管处理系统的各种钻井过程和/或关于图1和随附描述描述的各种其他钻井活动的功能。同样,维护控制系统(423)中的一个或多个可以包括监视和/或执行关于位于钻机周围的钻井设备的各种维护活动的功能。尽管钻井操作控制系统和维护控制系统示出为图4中的分开的装置,但在一个或多个实施例中,钻机上的可编程逻辑控制器和其他钻井设备(426)可以同时用于钻井操作控制系统和维护控制系统中。
在一个或多个实施例中,钻井管理网络(410)耦接到用户网络(例如,用户网络(430))。特别地,用户网络(430)可以包括各种网络元件(例如,网络元件(441))和/或现场用户设备(例如,现场用户设备(442))。例如,现场用户设备可以包括位于钻机周围的电话系统、各种用户的个人计算机、打印机、应用服务器,和/或文件服务器。同样,钻井管理网络(410)和用户网络(430)可以由一个或多个物理链接连接。在一个或多个实施例中,例如,用户网络(410)与钻井管理网络(410)共用一个或多个网络元件。
在一个或多个实施例中,钻井管理网络(410)通过虚拟连接传输数据,而没有对数据类型和数据源的限制。因此,虚拟连接可以控制钻井管理网络(410)与用户网络(430)之间的数据传输。
在空闲状态,虚拟连接控制器(443)可以物理地连接到钻井管理网络(410)并与与钻井管理网络(410)中的任何网络元件(424)的网络通信隔离。在一个或多个实施例中,当虚拟连接控制器(443)检测来自授权的用户或用户装置的访问钻井管理网络(410)的请求时,虚拟连接控制器(443)可以在本地防火墙(未示出)上实现各种规则以对钻井管理网络(410)建立虚拟连接。实现的规则可以允许用户访问一个或多个批准的软件应用程序,指定哪些网络端口可以通过虚拟连接接收数据,和/或指定网络协议以在虚拟连接中使用批准的互联网协议(IP)地址。
在一个或多个实施例中,虚拟连接控制器(443)与钻井管理网络(410)断开,同时钻机正在执行钻井操作。此外,虚拟连接控制器(443)可以包括启动跳主机并在获取钻机未在执行钻井操作的确认时建立虚拟连接的功能。
在一个或多个实施例中,例如,虚拟连接控制器(443)包含用于操作设置在钻井管理网络(410)与用户网络(430)之间的交换虚拟连接(例如,交换虚拟连接(415))的功能。例如,交换虚拟连接(415)可以包括钻井管理网络(410)和用户网络(430)上的硬件和/或软件,以实现虚拟连接。从而,当交换虚拟连接(415)是“开放”时,虚拟连接不可以存在于用户网络(430)与钻井管理网络(410)之间。当交换虚拟连接(415)是“关闭”时,交换虚拟连接(415)可以形成临时虚拟电路,其提供网络流量(诸如PLC数据(例如,PLC数据(417))在钻井管理网络(410)与用户网络(430)之间的传输。PLC数据可以包括传感器测量、状态更新,和/或关于在钻井管理网络(410)上执行的钻井操作和/或维护操作的源自钻井管理网络(410)上的信息。特别地,交换虚拟连接(415)的缺省状态可以是钻井管理网络(410)与用户网络(430)断开,直到虚拟连接控制器(443)检测授权的用户和/或用户装置请求访问为止。
同样,尽管图4中示出单个交换虚拟连接,但多个交换虚拟连接可以耦接钻井管理网络(410)和用户网络(430)。例如,在交换虚拟连接内的物理链接中发生错误的情况下,可以为冗余目的实现多个交换虚拟连接。同样,钻井管理网络(410)可以包括两个或更多个物理地分开的网络,并且可以建立不同虚拟连接,以便访问不同钻井操作控制系统(422)和/或维护控制系统(423)。此外,其他网络链接可以存在于钻井管理网络(410)与用户网络(430)之间,其在图4中未示出,并且提供钻井管理网络(410)之外的PLC数据的传输。
在一个或多个实施例中,钻井管理网络(410)是封闭网络。例如,钻井管理网络(410)可以是物理网络或虚拟网络,其中在钻井管理网络(410)上的网络节点(例如,网络元件(424)、钻井操作控制系统(422)、维护控制系统(423))与钻井管理网络(410)之外的网络节点(例如,用户网络(430)上的网络节点,诸如网络元件(441)和/或现场用户设备(442))之间控制网络通信。在一个或多个实施例中,例如,在钻井管理网络(410)和用户网络(430)共用一个或多个网络元件时,钻井管理网络(410)上的网络节点无法与各种用户装置(例如,用户装置X(451))通信,直到在交换虚拟连接(415)上建立虚拟连接为止。
另外,用户网络(430)可以是开放网络。特别地,用户网络(430)上的网络节点可以获取和/或传输用户网络(430)之外的数据,例如,在互联网(450)之上。其中钻井管理网络(410)可以限制为钻井管理网络(410)中的网络节点之间的网络通信,用户网络(430)上的用户可以建立用户网络(430)之外的各种不同授权的网络连接,例如,用户可以在互联网(450)上建立VoIP通话,传输电邮和/或从用户网络上的用户装置(例如,用户装置X(451))访问互联网。同样,各种用户装置(例如,用户装置A(452)和用户装置N(458))可以耦接到用户网络(430)。用户装置可以包括各种计算机系统,其包含连接到用户网络(430)(诸如智能电话、膝上式计算机、个人计算机等)的功能。
在一个或多个实施例中,钻井管理网络(410)包含分布式架构。例如,钻井管理网络(410)可以包括功能以控制钻机周围的钻井和/或维护操作,而无需中央控制器。在另一示例中,钻井管理网络(410)可以是环形网络,其中PLC数据、控制命令和其他网络流量在单个方向或多个方向上绕环形网络流动。在一个或多个实施例中,在对用户网络(430)建立虚拟连接的情况下,PLC数据被在单个方向上跨钻井管理网络(410)被传输到虚拟连接控制器(443)和/或一个或多个用户装置。
尽管图1和图2示出部件的各种配置,但可以使用其他配置,而不背离本公开的范围。例如,图1和图2中的各种部件可以被组合,以创建单个部件。作为另一示例,由单个部件执行的功能可以由两个或更多个部件执行。
转向图5,图5示出了根据一个或多个实施例的流程图。具体地,图5描述用于访问一个或多个钻井管理网络上的控制系统的方法。图5中的一个或多个框可以由图1、2和/或4中所描述的一个或多个部件(例如,虚拟连接控制器(443))执行。尽管图5中的各框被按顺序呈现和描述,本领域普通技术人员将理解一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框500,根据一个或多个实施例,获取请求以访问位于钻井管理网络中的一个或多个可编程逻辑控制器。例如,用户装置可以传输请求到指定用于控制对钻井管理网络的交换虚拟连接的虚拟连接控制器。用户装置可以本地地连接在耦接到钻井管理网络的用户网络上,或远程地连接到虚拟连接控制器,例如,通过互联网。
此外,请求可以是消息,其识别试图访问钻井管理网络中的一个或多个PLC的用户装置和/或用户。例如,请求可以包括密码信息和/或其他识别信息,其可以由虚拟连接控制器使用以确定用户装置是否被授权。请求还可以包括关于用户装置或用户寻求访问哪个PLC的信息。尽管框500描述请求以访问一个或多个PLC,在一个或多个实施例中,请求是访问以上图4和随附描述中所描述的一个或多个钻井操作控制系统和/或一个或多个维护控制系统。
在一个或多个实施例中,虚拟连接控制器实现用于访问钻井管理网络的多因素认证。例如,用户装置可以用用户名和密码登录到用户网络中。相应地,在对用户网络建立网络连接之后,虚拟连接控制器可以请求附加密码和/或识别以建立虚拟连接。例如,附加密码和/或识别信息可以是个人识别号、生物计量标识符(诸如指纹),关于用户请求访问的个人信息,和/或独立传输到用户装置的用户装置代码。关于用户装置代码的更多信息,参见图7中的框740和随附描述。
在框510中,根据一个或多个实施例,执行确定用户装置是否被授权访问一个或多个可编程逻辑控制器。响应于在框500获取请求,例如,网络元件和/或软件应用程序可以确定用户装置是否被允许访问特定PLC。例如,虚拟连接控制器可以访问与用户装置和/或操作用户装置的用户相关联的用户账户。用户账户可以包括用户凭据(credential),其指定用户和/或用户装置可以访问哪个PLC。另外,用户凭据还可以指定用户和/或用户装置可以控制特定PLC和/或任意PLC的一个或多个时间窗口。关于时间窗口的更多信息,参见以下图7中的框720、725和730和随附描述。用户凭据可以由管理员手动输入到用户账户和/或基于与储存在用户账户或其他位置的用户和/或用户装置相关联的各种信息自动地生成。
在框520中,根据一个或多个实施例,响应于确定用户装置被授权,在钻井管理网络与用户网络之间建立虚拟连接。如果执行确定用户装置被授权以访问特定PLC,例如,虚拟连接控制器可以对钻井管理网络建立虚拟连接。如果交换虚拟连接存在于钻井管理网络与用户网络之间,则虚拟连接控制器可以使交换虚拟连接上的网络通信能够建立虚拟连接。交换虚拟连接可以相似于以上图4中和随附描述描述的交换虚拟连接(415)。另一方面,如果执行确定用户装置未被授权访问一个或多个PLC和/或用户装置当前未被授权,可以不在框520建立虚拟连接。
在一个或多个实施例中,虚拟连接控制器被停机和/或与钻井管理网络断开。在确定用户被授权以访问钻井管理网络在框510时,虚拟连接控制器可以开机并对钻井管理网络建立虚拟连接。
在框530中,根据一个或多个实施例终止虚拟连接。特别地,虚拟连接控制器或其他软件应用程序可以终止在框520处建立的虚拟连接。例如,虚拟连接控制器可以去除钻井管理网络与用户网络之间的数据链接层连接,其使钻井管理网络返回到封闭状态。同样,可以由虚拟连接控制器设置防火墙以阻挡来去钻井管理网络的网络流量。在交换虚拟连接的情况下,虚拟连接控制器可以将交换虚拟连接设置为开路。在一个或多个实施例中,例如,虚拟连接控制器停机并在执行确定之后断开以终止虚拟连接。
在一个或多个实施例中,例如,用户和/或用户装置被指定虚拟连接在框520保持活跃的特定时段。一旦在框520建立虚拟连接,虚拟连接可以在一小时后或其他特定时段之后自动地终止。在一个或多个实施例中,例如,虚拟连接在批准维护时段之后自动地终止,除非通过一个或多个恰当信道批准延长。同样,在另一实施例中,在用户网络和/或用户装置上操作的软件应用程序监视特定时间量从执行关于虚拟连接的任何用户活动后是否已经经过。例如,如果用户装置从框520已经在虚拟连接上没有传输控制命令和/或获取任何PLC数据特定时间量,则虚拟连接控制器可以确定用户装置已经发生超时,并且相应地终止虚拟连接。
在另一实施例中,用户装置可以传输请求(例如,到虚拟连接控制器)以终止虚拟连接。用户可以决定他或她结束了访问一个或多个PLC或控制系统,并且发送命令到虚拟连接控制器以终止虚拟连接。相应地,用户装置可以响应于用户从被提供用于访问一个或多个PLC的图形用户界面注销而自动发送终止虚拟连接的请求。
另外,如以上图5和以下图7中所述,访问可以描述读取和/或控制关于位于钻井管理网络上的一个或多个网络装置(诸如PLC)的访问。然而,在一个或多个实施例中,访问被导向朝向正被发送到钻井管理网络中的控制命令。例如,一个或多个网络链接可以存在于钻井管理网络与被提供用于传输PLC数据的用户网络之间。在此情况下,建立的虚拟连接可以被限制为传输控制命令和/或其他控制数据,其被发送以改变设置、参数和在钻井管理网络执行的进程。在一些实施例中,例如,用户装置可以能够监视钻井管理网络,而在框520中无需建立虚拟连接。此处,可以仅当用户装置寻求调整一个或多个PLC和/或钻井管理网络中的其他网络装置上的各种设置时建立虚拟连接。
转向图6,图6提供从钻井管理网络上的网络节点到跳主机的端到端连接的示例。以下示例仅出于解释目的且不意图限制本公开的范围。转向图6,图6示出了从可编程逻辑控制器(即,PLC A(661))到跳主机Q(674)的建立的逻辑路径(680)。如图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(610)上的交换机A(671)与用户网络B(630)上的交换机C(673)之间。使用虚拟连接X(615),逻辑路径(680)形成在PLC A(661)与跳主机Q(674)之间,其使跳主机Q(674)能够从PLC A(661)获取数据和/或传输数据到PLC A(661)。例如,通过使用控制命令调整PLC A(661)上的设置,逻辑路径(680)可以使跳主机Q(674)能够与PLC A(661)通信。同样,跳主机Q(674)可以获取来自PLC A(661)的PLC数据,其提供关于正在钻井管理网络A(610)上执行的各种钻井操作和/或维护任务的信息。当虚拟连接X(615)终止时,逻辑路径(680)也在PLC A(661)与跳主机Q(674)之间终止。
在一个或多个实施例中,例如,钻井管理网络与用户网络之间的虚拟连接不向用户装置(例如,用户装置X(451))提供对钻井操作控制系统和/或维护控制系统的直接访问。与图6不同,在一些实施例中,例如,用户装置Z(651)可以不直接与PLC A(661)通信,而是经由虚拟连接控制器和/或其他网络媒介。逻辑路径可以通过到虚拟连接控制器的虚拟连接X(615)存在。基于在虚拟连接控制器从用户装置接收的控制命令,虚拟连接控制器可以将新的控制命令直接重新传输到钻井管理网络上的可编程逻辑控制器或控制系统。同样,在重新传输PLC数据到用户装置之前,虚拟连接控制器可以从可编程逻辑控制器或控制系统接收PLC数据。
转向图7,图7示出了根据一个或多个实施例的生成漏洞图的流程图。具体地,图7描述用于访问一个或多个钻井管理网络上的控制系统的方法。图7中的一个或多个框可以图1、2和/或4中所描述的由一个或多个部件(例如,虚拟连接控制器(443))执行。尽管图7中的各框按顺序呈现和描述,但本领域普通技术人员将理解一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框700,根据一个或多个实施例在用户装置与用户网络之间建立网络连接。特别地,用户装置可以在互联网之上远程地连接到用户网络。同样,网络连接可以本地建立在用户网络上,例如,将用户装置连接到位于钻机上的交换机。关于远程网络连接,可以使用远程显示协议建立网络连接,诸如远程桌面协议,以访问用户网络上的虚拟连接控制器。在一个或多个实施例中,用户装置连接到用户网络上的可以通信到虚拟连接控制器和/或跳主机的网络元件。例如,用户装置可以提供登录信息,诸如识别和/或密码信息,以登录到用户网络中。在一个或多个实施例中,用户网络可以相似于图4和随附描述中描述的用户网络(430)。
在框705中,根据一个或多个实施例获取请求以访问位于钻井管理网络中的一个或多个可编程逻辑控制器。框705可以相似于图5和随附描述中描述的框500。
在框710中,根据一个或多个实施例从与用户装置相关联的用户账户获取用户凭据。例如,各种用户账户可以在数据储存装置中储存在用户网络中或储存在可以由在用户网络上操作的一个或多个软件应用程序访问的远程储存位置中。在一个或多个实施例中,虚拟连接控制器识别来自框700的用户装置,并且将用户装置匹配到特定用户账户。例如,来自框700的识别和/或密码信息还可以与特定用户账户相关联。另一方面,用户装置可以被指定并附加将用户装置匹配到特定用户账户的唯一识别。
在一个或多个实施例中,用户凭据包含允许属性。例如,允许属性可以指定钻井管理网络上的用户和/或用户装置可以访问的一个或多个控制系统和/或一个或多个可编程逻辑控制器。特别地,钻井管理网络处的不同雇员可以基于他们的工作和责任被分配访问。例如,工作是操作和维护泥浆泵的用户可以具有指定对泥浆泵PLC和泥浆处理PLC的访问的允许属性。然而,用户可以不具有提供对顶驱PLC的访问的允许属性,顶驱PLC控制钻柱旋转。相应地,用户的允许属性可以被描述在用户的相应的用户账户中。
在框715,根据一个或多个实施例执行关于哪些可编程逻辑控制器与用户账户相关联的确定。例如,来自框705的请求可以是请求访问钻井管理网络中的特定PLC或控制系统。虚拟连接控制器可以分析来自框710的用户凭据,确定是否任何允许属性匹配指定的PLC。另一方面,如果请求是访问钻井管理网络的一般请求,则虚拟控制器可以检查与用户和/或用户装置相关联的任何PLC和/或控制系统的允许属性。如果用户装置当前未被授权访问钻井管理网络上的任何可编程逻辑控制器,来自框705的请求可以被忽略。同样,框715可以相似于图5和随附描述中描述的框510。
在框720,根据一个或多个实施例执行确定一个或多个时间窗口是否与一个或多个可编程逻辑控制器和/或用户账户相关联。在一个或多个实施例中,例如,对钻井管理网络的访问时间受限。特别地,PLC和/或控制系统访问可以在批准的时间被许可到用户装置。因此,在一个或多个实施例中,对一个或多个PLC和/或控制系统的访问与一个或多个时间窗口相关联。例如,时间窗口可以指定用户装置可以访问特定PLC的开始时间和结束时间。在开始时间与结束时间之间,用户装置可以从特定PLC获取PLC数据和/或将一个或多个控制命令传输到特定PLC。同样,时间窗口可以被指定用于特定用户和/或用户装置,例如,以防止在定期维护操作期间对控制系统的访问。
在另一实施例中,时间窗口可以指用户装置允许访问特定PLC的特定时间量。例如,虚拟连接控制器可以记录在虚拟连接被终止之前用户装置访问特定PLC的时间量。相应地,当用户装置超出对时间窗口指定的时间量时,虚拟连接可以被终止。从而,在特定时间窗口届期之后,虚拟连接控制器可以防止建立未来虚拟连接,直到时间窗口被重置。例如,时间窗口可以每周、每月或在其他周期性时间间隔为用户和/或用户装置重置。
在另一实施例中,例如,用户可以被指定访问钻井管理网络上的PLC或控制系统的一个或多个一般时间窗口。在一般时间窗口中,可以建立虚拟连接,其中用户装置可以访问用户装置否则被授权访问的任意PLC或控制系统。另一方面,在一个或多个实施例中,用户被为特定PLC或控制系统指定特定时间窗口。在特定时间窗口中,建立虚拟连接,其中用户装置可以访问与特定时间窗口相关联的特定PLC或控制系统。此外,用户装置的特定时间窗口可以与另一特定时间窗口的时间部分重叠或在时间上没有任何重叠。
在一个或多个实施例中,来自框710的用户凭据包含时间窗口属性。具体地,时间窗口属性可以是数据字段,其提供关于开始时间、结束时间、周中的特定日、月或年的信息和分配给用户和/或用户装置的各种时间窗口的分配的时间量。此外,时间窗口属性可以描述一般时间窗口和特定时间窗口。
在框725,根据一个或多个实施例,对虚拟连接获取时间窗口的开始时间。虚拟连接控制器可以从用户账户提取各种时间窗口属性,以确定例如对钻井管理的虚拟连接的时间窗口的开始时间。特别地,时间窗口的开始时间可以在框705处接收请求的时间之前或之后。如果时间窗口的开始时间是在请求之后,则虚拟连接控制器可以通知用户装置,直到开始时间为止无法建立虚拟连接。如果开始时间在请求之前,则虚拟连接控制器可以立即建立虚拟连接。
在框730中,根据一个或多个实施例获取虚拟连接的时间窗口的结束时间。相似于框725,可以检查各种时间窗口属性,以确定时间窗口的结束时间。在一个或多个实施例中,虚拟连接控制器通知用户装置关于虚拟连接将建立的时间量,例如,直到当前时间窗口的结束时间为止。
在框735中,根据一个或多个实施例生成虚拟连接的用户装置代码。在一个或多个实施例中,例如,一经确定用户装置被授权访问钻井管理网络,虚拟连接控制器触发进程以生成虚拟连接凭据的时间受限设定。例如,虚拟连接凭据可以包括网络和/或防火墙配置,以跨虚拟连接通信。此外,响应于虚拟连接控制器确定授权用户装置,虚拟连接凭据可以包括为用户装置特定地生成的用户装置代码。用户装置代码可以是伪随机或以其他方式预定的字母数字序列,其使用户装置能够与钻井管理网络上的PLC和/或控制系统通信。
在一个或多个实施例中,例如,用户装置代码配置为使用户装置能够登录到由虚拟连接控制器提供的控制系统应用程序中。特别地,由于用户装置代码可以不同于用于在框700建立网络连接的识别和/或密码信息,用户装置代码可以出于安全目的产生多因素认证。例如,用户装置代码可以是临时软件令牌,其中在用户网络或用户装置上储存用户装置代码。一旦虚拟连接被终止(诸如当时间窗口届期时),用户装置代码不再可以允许在对钻井管理网络的任何当前或未来虚拟连接上通信。从而,可以根据授权的请求生成用户装置代码并限制到一个或多个虚拟连接。
在框740中,根据一个或多个实施例将用户装置代码传输到用户装置。响应于在框735生成用户装置代码,虚拟连接控制器可以将用户装置代码从框700传输到用户装置。然而,在一个或多个实施例中,虚拟连接控制器充当用户装置与钻井管理网络上的控制系统之间的网络媒介。从而,虚拟连接控制器可以在用户网络上本地储存用户装置代码,而无需将用户装置代码传输到用户装置。
在框743中,根据一个或多个实施例开机跳主机。例如,跳主机可以是虚拟连接控制器或与虚拟连接控制器分开的装置。当跳主机关机时,可以在钻井管理网络与包含跳主机的用户网络之间防止网络通信。跳主机可以由用户网络上操作的软件应用程序关机,例如。
在框745,根据一个或多个实施例开始时间建立虚拟连接。在一个或多个实施例中,例如,以图5中的框520和随附描述所讨论相似地建立虚拟连接。开始时间可以与在框725和随附描述所讨论的开始时间相同。同样,虚拟连接可以由虚拟连接控制器建立。此外,在一个或多个实施例中,虚拟连接控制器或其他网络应用程序监视虚拟连接上的网络流量。例如,虚拟连接控制器可以记录对来自钻井管理网络的特定类型的PLC数据的请求以及传输到任何PLC或钻井管理网络上的控制系统的任何控制命令。
在一个或多个实施例中,例如,虚拟连接控制器确定用户装置关于虚拟连接的一个或多个访问权限。例如,用户装置可以被许可对于钻井管理网络中的PLC或控制系统上的一个或多个设置读取访问和/或控制访问。例如,用户装置的访问权限可以与时间窗口属性和允许属性一起储存在框710的用户账户中。
在框750中,根据一个或多个实施例获取一个或多个可编程逻辑控制器的一个或多个控制命令。控制命令可以是消息或指令,其使PLC或控制系统执行预定类型的操作。例如,控制命令可以改变要由钻井操作控制系统和/或维护控制系统执行的一个或多个进程。此外,控制命令可以调整关于一个或多个进程的设备设置和参数。在一个或多个实施例中,例如,钻井管理网络仅从用户网络和/或用户装置通过在框745建立的虚拟连接获取控制命令。当虚拟连接终止时,用户网络和/或用户装置仍可以从钻井管理网络获取PLC数据,但可能无法修改钻井管理网络上执行的设置和/或进程。
在一些实施例中,例如,用户装置可以传输控制命令到虚拟连接控制器。相应地,虚拟连接控制器可以在相应的PLC或控制系统上将控制命令解译为特定软件和/或硬件指令。在另一实施例中,用户装置将控制命令直接通信到相应的PLC或控制系统,而不经过媒介应用程序。例如,可以在用户装置与PLC或钻井管理网络上的控制系统之间建立端到端连接。
在框755中,根据一个或多个实施例,关于一个或多个可编程逻辑控制器的可编程逻辑控制器数据被传输到用户装置。在一个或多个实施例中,例如,图形用户界面被提供在用户装置上,其呈现关于可编程逻辑控制器或控制系统的PLC数据。特别地,历史记录器可以位于储存关于各种PLC和钻井管理网络上的控制系统收集的过去的钻井管理数据(例如,传感器测量、质量控制数据、系统故障等)的钻井管理网络上。在图形用户界面上,PLC数据可以呈现为原始数据和/或使用原始数据的各种历史分析转换的数据。例如,如果用户请求访问使用特定钻头在过去一周的钻井操作的进展,钻头的对应的PLC数据可以显示在图形用户界面上。
在一个或多个实施例中,用户网络上的虚拟连接控制器直接从PLC和钻井管理网络上的控制系统获取PLC数据。相应地,虚拟连接控制器可以将PLC数据的一部分中继到用户装置。同样,虚拟连接控制器可以在将PLC数据中继到用户装置之前将PLC数据转换为不同格式。
尽管框755示出为在建立虚拟连接在框745的同时且在虚拟连接在框770处终止之前发生,但在一个或多个实施例中,在不使用虚拟连接的情况下传输PLC数据。例如,一个或多个网络链接可以存在于钻井管理网络与用户网络之间,其提供PLC数据从钻井管理网络的PLC到用户网络的传输。然而,这些网络链接可以包括防止控制命令被跨网络链接发送的功能。
在框760中,根据一个或多个实施例执行确定是否达到虚拟连接的结束时间。在一个或多个实施例中,例如,虚拟连接控制器监视时钟,在框745建立的虚拟连接是否在特定时间窗口之外。一旦时间窗口已经届期,虚拟连接控制器可以以与以上关于图5中的框530和随附描述所讨论相似的方式终止虚拟连接。同样,如果用户装置传输请求以终止虚拟连接,则可以确定到达了结束时间。当执行确定到达了结束时间时,过程可以前进到框770。当执行确定未到达结束时间时,过程可以返回到框750。
在框770中,根据一个或多个实施例终止虚拟连接。在一个或多个实施例中,一旦检测到虚拟连接的结束时间,来自框735的用户装置代码被禁用。相应地,虚拟连接控制器可以终止虚拟连接是与在图5的框530和随附描述所描述的相似的方式。
在框775中,根据一个或多个实施例关机跳主机。例如,跳主机或用户网络上的虚拟连接控制器可以检测到没有对钻井管理网络的剩余虚拟连接存在,并且跳主机可以相应地自动地停机。在停机时,跳主机可以不受用户网络上的安全漏洞危害。
相应地,如以上图5和图7描述的过程所示,建立和终止虚拟连接的自动化可以是透明的并且使用最小人类干预。特别地,特定维护可以在最小钻机人员涉及的情况下执行(例如批准各种用户账户中的各种时间窗口)。此外,钻井操作和维护流程可以连续,无论用户装置现场连接还是在远程位置连接。同样,图5和图7中所讨论的技术可以去除对钻井管理网络的依赖钻机操作和人类人员可用性的各种人工连接。同样,人工连接可以被忘记和管理不当,导致钻井管理网络的各种安全风险。
在一个或多个实施例中,图5和图6和随附描述中描述的技术去除将用户装置连接到钻井管理网络上的PLC的用户的人工干预。在良好构建的系统,例如,各种控制系统可以本地管理。因为控制系统的安全漏洞可以对操作安全、设备、人员安全,和/或环境安全带来各种风险,保卫钻井操作控制系统和/或维护控制系统可能呈现挑战。相应地,如检查对钻井管理网络的网络流量的附加任务可能不是可选项。此外,各种安全措施可以依赖于被动监视。从而,由于提供远程访问中涉及的风险,维护工作通常本地执行。因此,上述技术可以使用物理地连接并断开钻井管理网络与不同网络之间的连接而自动化用户装置的本地和远程连接。
转向图8.1和图8.2,图8.1和图8.2提供了建立用于访问钻井管理网络上的控制系统的虚拟连接的示例。以下示例仅出于解释目的,且不意图限制本公开的范围。
转向图8.1,在该示例中,钻机控制器(810)示出为充当虚拟连接控制器。特别地,钻机控制器(810)基于储存在当前时间属性(801)中的数据识别当前日期和时间。此外,钻机控制器(810)接收各种待决请求(例如,用户Joe请求访问燃料控制PLC(821),用户Bill请求访问电力PLC(822),用户Kathy请求访问泥浆处理PLC(823)),以访问位于钻机周围的网络上的各种可编程逻辑控制器。
继续参考图8.1,钻机控制器(810)使用PLC授权功能(841)分析用户Joe的请求(821),以确定否决还是许可用户Joe的访问燃料控制PLC(815)的请求(821)。PLC授权功能(841)可以对应于图3和图5和随附描述中描述的一个或多个框。首先,钻机控制器(810)从位于钻机周围的用户网络(未示出)上的用户Joe的账户(824)获取信息。特别地,基于储存在用户Joe的账户(824)中的数据,用户Joe具有允许属性(803)指定他授权访问泥浆泵PLC(811)、钻井控制PLC(812)以及泥浆处理PLC(813)。同样,基于储存在用户Joe的账户(824)中的数据,用户Joe具有时间窗口属性(804),指定在每个周二从9:00AM到12:00PM访问PLC的一般时间窗口(831),和在每个周四从2:00PM到5:00PM访问PLC的另一一般时间窗口(832)。在分析来自用户Joe的账户(824)的信息之后,钻机控制器(810)确定用户Joe缺少访问钻机上的燃料控制PLC(815)的授权。相应地,用户Joe的请求(821)被否决且不建立虚拟连接。
另外,如图8.1所示,钻机控制器(810)使用PLC授权功能(841)分析用户Bill的请求(822),以确定否决还是许可用户Bill访问电力PLC(814)的请求(822)。第一,钻机控制器(810)从位于钻机周围的用户网络上的用户Bill的账户(825)获取信息。特别地,基于储存在用户Bill的账户(825)中的数据,用户Bill具有允许属性(803),指定他授权访问电力PLC(814)和燃料控制PLC(815)。同样,基于用户Bill的账户(825),用户Bill具有时间窗口属性(804),指定在每个周二从11:00AM到1:00PM访问电力PLC(814)的特定时间窗口(833)和在每个周四从8:00AM到5:00PM访问燃料控制PLC(815)的另一特定时间窗口(834)。在分析来自用户Bill的账户(825)的信息之后,钻机控制器(810)确定用户Bill被授权以在当前日期和时间在钻机上访问电力PLC(814)。相应地,用户Bill的请求(822)被许可并通过钻机控制器(810)建立虚拟连接,其允许用户Bill的用户装置(851)访问电力PLC(815)。
继续参考图8.1,钻机控制器(810)分析用户Kathy的请求(823)使用PLC授权功能(841),以确定否决还是许可用户Kathy访问泥浆处理PLC(813)的请求(823)。第一,钻机控制器(810)从位于用户网络上的用户Kathy的账户(826)获取信息。特别地,基于储存在用户Kathy的账户(826)中的数据,用户Kathy具有允许属性(803),指定她授权访问泥浆泵PLC(811)和泥浆处理PLC(813)。同样,基于储存在用户Kathy的账户(826)中的数据,用户Kathy具有时间窗口属性(804),指定在每个周一从10:00AM到1:00PM访问PLC的一般时间窗口(835),和在每个周三从2:00PM到5:00PM访问PLC的另一一般时间窗口(836)。在分析来自用户Kathy的账户(826)的信息之后,钻机控制器(810)确定用户Kathy被授权访问钻机上的泥浆处理PLC(813),但用户Kathy的请求(823)在她的用户账户(826)的两个一般时间窗口(835,636)之外。相应地,用户Kathy的请求(823)被否决且不建立虚拟连接。
转向图8.2,图8.2示出了在用户Bill的用户装置(851)上操作的图形用户界面(860)。在对钻机上的钻井管理网络建立虚拟连接时,用户网络上的跳主机可以将PLC数据从电力PLC(814)转发到用户Bill的用户装置(851),其呈现在电力PLC状态显示(880)中。特别地,示出了各种状态属性,诸如电力PLC(814)的当前状态(881),当前钻机的电力消耗(882),过去七天的电力消耗(883),以及过去三十天的电力消耗(884)。此外,图形用户界面(860)提供电力PLC命令面板(890)。使用电力PLC命令面板(890),用户Bill可以将一个或多个控制命令传输到跳主机以控制电力PLC(814)。例如,控制命令可以包括断开到泥浆泵的电力(891),断开到钻井的电力(892),以及调整各种钻机设备的最大电力设置(893)。另外,图形用户界面(860)还包含PLC时钟显示(870),其向用户Bill示出当前日期(871)和当前时间(872)。同样,钻机控制器(810)已经计算了用户Bill的一般时间窗口(831)内的剩余时间(873),并且呈现PLC时钟显示(870)内的剩余时间(873)。
停机和启动管理
总体上,本公开的实施例包含在钻井管理网络上的发起停机和启动操作的系统和各种方法。特别地,一个或多个实施例涉及包含编排钻井管理网络的停机序列的停机管理器的系统。在一些实施例中,例如,在虚拟化服务管理器的操作终止之前终止虚拟机和软件容器。虚拟化服务管理器可以通过钻井管理网络管理并提供虚拟化服务,诸如虚拟化服务层上操作的各种虚拟机和软件容器的生成和/或终止。一旦虚拟化服务管理器被终止,各种虚拟化控制器可以随后在整个钻井管理网络上操作的主机装置上终止。最终,主机装置可以停机。
相应地,在一些实施例中,停机序列是由停机管理器编排的自动化进程。特别地,停机管理器可以使用各种延时终止命令协调停机序列,其通信网络装置终止操作的时间。从而,通过使用延时终止命令,在停机管理器在网络上在线以及在停机管理器下线时(即,在停机管理器已经终止其自身操作之后),停机管理器都可以调控网络的正常停机。
转向图9.1,图9.1示出了根据一个或多个实施例的系统的框图。如图9.1所示,钻井管理网络(900)可以包括各种用户装置(例如,用户装置(990))、各种网络元件(例如,网络元件(905)),以及各种主机装置(例如,主机装置A(911),主机装置N(912),主机装置(913))。用户装置可以包括硬件和/或软件,其耦接到钻井管理网络(900),并且包含呈现数据和/或接收来自用户的关于在钻井管理网络(900)内执行的各种钻井操作和/或维护操作的输入的功能。例如,用户装置可以包括个人计算机、智能电话、人机界面和耦接到网络的任意其他装置,其例如通过提供图形用户界面(GUI)获取来自一个或多个用户的输入。同样,用户装置可以呈现数据和/或接收来自用户的控制命令以操作钻机。网络元件可以指网络内的各种软件和/或硬件部件,诸如交换机、路由器、总线、用户设备或用于在网络上联合一个或多个物理装置的任意其他逻辑实体。
在一个或多个实施例中,钻井管理网络(900)还可以包括各种主机装置。特别地,主机装置可以包括硬件和/或软件,其耦接到钻井设备(例如,钻井设备A(986)、钻井设备N(987))以及一个或多个可编程逻辑控制器(PLC)(例如,PLC A(981),PLC N(982))。钻井设备可以包括防喷器(99)、钻机(12),和以上在图1和随附描述中描述的其他部件。耦接到主机装置的PLC可以形成各种控制系统,诸如各种钻井操作控制系统和各种维护控制系统。特别地,PLC可以包括硬件和/或软件,其具有控制由钻机执行的一个或多个进程的功能,包含但不限于图1中所描述的部件。具体地,PLC可以控制阀状态、液位、管压力、警告警报和/或整个钻机的压力释放。此外,可编程逻辑控制器可以是加固的计算机系统,其具有经受例如钻机周围的震动、极端温度、潮湿条件、和/或灰尘条件的功能,。
在一个或多个实施例中,主机装置包含虚拟化控制器(例如,虚拟化控制器A(931)、虚拟化控制器N(932)),其操作在主机操作系统(例如,主机操作系统A(921)、主机操作系统N(922))上。虚拟化控制器可以包括硬件和/或软件,其包含与钻井管理网络上的其他虚拟化控制器通信的功能和/或实现钻井管理网络上的各种虚拟化服务的功能。例如,虚拟化控制器可以是在主机装置(911,912)上操作的虚拟机或软件容器。虚拟化服务可以包括在多个网络装置(例如,主机装置(911,912),网络元件(905),主机装置(913))上操作的网络进程。虚拟化服务的示例可以包括PLC和/或钻井设备之间的油田数据管理、虚拟机管理、软件容器管理、钻井管理网络上的主机装置之间的存储器资源位置、管理钻井管理网络的各种网络进程等。
软件容器可以是用户空间实例,其由主机操作系统(例如,主机操作系统A(921)、主机操作系统N(922))的单个内核实现。特别地,软件容器可以在应用层的抽象概念,其允许隔离的进程在软件容器内执行。同样,多个软件容器可以在操作系统的单个内核上操作。软件容器可以包括docker容器、JavaTM容器、Windows服务器容器等。相比之下,虚拟机可以包括硬件和/或软件,其可以提供物理硬件的抽象概念。例如,虚拟机可以具有独立操作系统,其与主机操作系统分开,其中虚拟机可以以专用存储器和其他计算机资源操作在一个或多个主机装置。
转向图9.2,在一个或多个实施例中,虚拟化服务管理器(960)是选择的虚拟化控制器,其由另一虚拟化控制器指定以发起在虚拟化服务层上操作的虚拟化服务、虚拟机和/或软件容器。关于选择的虚拟化服务管理器的更多信息,参见图9.3和随附描述。
此外,虚拟化服务管理器(例如,虚拟化服务管理器(960))可以为虚拟化服务层上操作的虚拟机和/或软件容器管理和/或监视各种主机装置资源。同样,钻井管理网络的虚拟化总体架构(900)可以与主机操作系统在裸机(例如,硬件计算系统)上操作或作为虚拟机的情况相同。例如,虚拟机和软件容器可以在虚拟化服务层中彼此通信并且以编排的方式操作虚拟化服务。
继续参考图9.2,在一些实施例中,停机管理器可以从用户装置(例如,用户装置(990))接收请求以终止钻井管理网络的全部或部分的操作。相应地,停机管理器可以发起主机装置、虚拟机、软件容器、虚拟化服务管理器和/或虚拟化控制器的操作的终止。在一些实施例中,停机管理器响应于检测到对应于钻井管理网络中的预定状态(例如,钻机设备故障导致钻井管理网络上的停止操作)的一个或多个停机条件自动地发起终止操作。同样,停机管理器可以在预定时间自动地发起终止操作,例如,用户可以指定预定日期和/或时间以停机钻井管理网络。
在一些实施例中,例如,停机管理器包含传输延时终止命令(例如,延时终止命令A(971)、延时终止命令N(972)、延时终止命令B(973))到一个或多个主机装置、一个或多个虚拟化控制器等的功能。延时终止命令可以包括指令,其指定相应的硬件和/或软件(例如,主机装置A(911)、虚拟机A(941)、软件容器A(946)、虚拟化控制器A(931)、虚拟化服务管理器(960)等)终止操作的预定终止时间。终止时间可以是一天中的特定时间,例如,在8:00PM中央标准时间,或在相对,例如,在从停机管理器接收到相应的延时终止命令之后10分钟。
在预定终止时间,例如,软件应用程序或网络装置可以终止在网络装置内操作的各种软件和/或硬件进程。同样,终止时间可以对应于与终止操作相关联的各种进程,诸如计算机资源(例如,系统存储器和处理能力)的重新分配,和/或将来自软件进程和/或硬件进程的数据储存到数据储存单元以在之后检索。终止操作还可以对应于终止对相应的网络装置(诸如虚拟机、软件容器和/或主机装置)的电力供应。
转向图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(913)中的主机操作系统X(923)上的虚拟化环境。作为选择的虚拟化服务管理器(965),虚拟化控制器X(933)可以在协调钻井管理网络(900)上的其他虚拟化控制器(931,932)之间的各种进程中充当领导。特别地,选择的虚拟化服务管理器(965)可以包括相似于图9.1中的虚拟化服务管理器(960)的功能。
在一些实施例中,选择的虚拟化服务管理器包含传输一个或多个延时发起命令(例如,延时发起命令A(976)、延时发起命令N(977))的功能。例如,选择的虚拟化服务管理器(965)可以包括用于确定在钻井管理网络(900)中操作的虚拟机、软件容器和/或其他虚拟化服务的启动序列中的一个或多个预定时间的功能。因此,延时发起命令可以使由虚拟化服务管理器提供的各种虚拟化服务能够在钻井管理网络(900)上实现各种虚拟机和/或软件容器之前被实现。
尽管图9.1、图9.2和图9.3示出了部件的各种配置,可以使用其他配置,而不背离本公开的范围。例如,图9.1、图9.2和图9.3中的各种部件可以被组合,以创建单个部件。作为另一示例,由单个部件执行的功能可以由两个或更多个部件执行。
转向图10,图10示出了根据一个或多个实施例的流程图。具体地,图10描述了停机网络的方法。图10中的一个或多个框可以由图1、2、9.1、9.2、和/或9.3中描述的一个或多个部件(例如,停机管理器(950))执行。尽管图10中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框1000,根据一个或多个实施例获取在钻井管理网络发起停机的请求。例如,用户可以在钻井管理网络上的用户装置提供用户输入以执行正常停机。响应于用户输入,用户装置可以传输请求到停机管理器以发起在整个钻井管理网络终止操作的进程。请求可以是消息,其识别日期和/或时间以及哪些控制系统和其他网络装置被指定用于结束操作。在一些实施例中,停机管理器相似于以上在图9.1和随附描述中描述的停机管理器(950)。
在一些实施例中,如果各种停机条件(诸如环境条件(例如,温度、湿度、凝结等)、网络条件和/或钻井操作条件)超出一个或多个虚拟化系统(例如,虚拟化服务管理器、各种虚拟化控制器等)的预定操作限制,则停机管理器自动地发起停机。例如,停机管理器和/或虚拟化服务管理器可以为停机条件而监视钻井管理网络。如果检测到特定停机条件,则停机管理器可以自动地发起钻井管理网络的停机序列,从而,停机管理器可以触发网络的正常停机,而无需人工干预。在一些实施例中,停机管理器可以在电力故障的情况下触发停机。从而,停机管理器可以在任何系统耗尽备用电力之前执行网络的停机。在一些实施例中,例如,一旦停机管理器检测到钻井操作完成,停机管理器发起停机。
在框1010,根据一个或多个实施例为虚拟化服务管理器、一个或多个虚拟化控制器和/或一个或多个主机装置确定一个或多个终止时间。停机管理器可以确定何时钻井管理网络内的不同软件程序和网络装置终止操作。此外,终止时间可以对应于停机序列,其描述停机管理器、虚拟化服务管理器、一个或多个虚拟化控制器和一个或多个主机装置在钻井管理网络内终止操作的顺序。在一些实施例中,例如,停机序列将停机管理器指定为终止操作的第一软件程序或网络装置。在停机管理器结束后,停机序列可以接下来指定虚拟化服务管理器。在虚拟化服务管理器结束之后,停机序列可以指定单独虚拟化控制器接下来终止操作。在虚拟化控制器结束之后,主机装置可以被调度以终止操作。在其他实施例中,可以使用其他停机序列,例如,其中一个主机装置在停机序列中在虚拟化服务管理器或停机管理器之前终止操作。
在一些实施例中,终止时间是基于网络中的各种硬件装置多少电力剩余。例如,响应于网络处的电力故障,一个或多个主机装置电力供给可以向停机管理器通信主机装置剩余多少分钟的操作时间。然后,停机管理器可以计算分配的时间量,以执行每个虚拟机、软件容器、虚拟化服务管理器、虚拟化控制器等的停机进程。在任何装置失去电力之前。
在框1015,根据一个或多个实施例终止与一个或多个虚拟机和/或一个或多个软件容器相关联的各种虚拟化服务。例如,虚拟化服务管理器和/或停机管理器可以与虚拟机和软件容器通信,以停止由虚拟机和软件容器执行的虚拟化服务。虚拟化服务可以包括关键进程,其中硬或强力停机关键进程可能导致数据丢失。
在框1020,根据一个或多个实施例终止一个或多个虚拟机和/或一个或多个软件容器。在虚拟机和/或软件容器终止虚拟化服务之后,例如,虚拟化服务管理器和/或停机管理器可以开始与虚拟机和/或软件容器通信,以作为停机序列的一部分使虚拟机和/或软件容器终止。
如果虚拟机和/或软件容器无法正常终止操作(例如,用于执行正常停机的底层进程崩溃),则停机管理器或虚拟化服务管理器可以对虚拟机或软件容器应用强力停机。特别地,强力停机与正常停机之间的差异可以包括在终止进程期间数据成功保存还是丢失/损坏。
在框1030,根据一个或多个实施例,对应于一个或多个终止时间的各种延时终止命令被传输到虚拟化服务管理器、一个或多个虚拟化控制器,以及一个或多个主机装置。在一些实施例中,例如,主机装置的延时终止命令具有T+X+Y的延时时间,其中T是停机管理器终止操作的时间,X是虚拟化服务管理器终止操作的时间,而Y是虚拟化控制器已经终止操作的指定时间。虚拟化控制器的延时终止命令可以具有T+X的延时时间。同样,虚拟化服务管理器的延时终止命令可以为T。从而,延时终止命令可以相似于图9.1和随附描述中描述的延时终止命令。
特别地,停机管理器可以使用延时终止命令管理停机序列,如以下图12中的示例所示。通过管理停机进程,钻井管理网络可以完全正常停机,这可以允许网络之后以数据和系统损坏的最低风险继续操作。
转向图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、各种虚拟化控制器,和主机装置。At事件C(1220),在钻机网络上操作的各种虚拟机和软件容器被终止。At事件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)中的操作的终止可以包括正常停机和/或强力停机。
尽管图12的停机序列Q(1200)图示了编排的停机一个事件序列,设想到其他事件序列,其包含从停机序列添加和/或去除事件。同样,各种部件的操作可以以与停机序列Q(1200)不同的顺序终止。
重新转向图10,在框1040,根据一个或多个实施例在停机管理器终止操作。一旦延时终止命令被传输到各种网络装置,停机管理器可以终止与其相关联的任何进程。例如,停机管理器可以是虚拟机或软件容器,其可以被虚拟化服务管理器终止。如果停机管理器是硬件装置,则停机管理器可以经历硬停机,其排除给停机管理器的电力。停机管理器可以相似于图9.1和随附描述中描述的停机管理器。
在框1050,根据一个或多个实施例基于延时终止命令在虚拟化服务管理器终止操作。在与延时终止命令相关联的终止时间,虚拟化服务管理器可以终止在钻井管理网络上操作的任何虚拟化服务及其自身。虚拟化服务管理器可以相似于以上图2A、2B和/或2C和随附描述中描述的虚拟化服务管理器。
在框1060,根据一个或多个实施例基于一个或多个延时终止命令在一个或多个虚拟化控制器终止操作。虚拟化控制器可以相似于以上图9.1、9.2和/或9.3和随附描述中描述的虚拟化控制器。
在框1070,根据一个或多个实施例基于一个或多个延时终止命令在一个或多个主机装置终止操作。主机装置可以相似于以上图9.1、9.2和/或9.3和随附描述中描述的主机装置。
尽管框1020、1040、1050、1060和1070中的终止操作可以对应于正常停机,但一个或多个强力停机可以应用于终止操作。例如,通过主机操作系统终止与虚拟化控制器相关联的资源,延时终止命令可以触发虚拟化控制器的强力停机。同样,延时终止命令还可以产生电力供给的指令,其终止对与主机装置、虚拟机和/或软件容器相关联的任何硬件供电。
转向图11,图11示出了根据一个或多个实施例的流程图。具体地,图11描述启动网络的方法。图11中的一个或多个框可以由图1、2、9.1、9.2和/或9.3中描述的一个或多个部件(例如,虚拟化控制器X(933))执行。尽管图11中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框1100,根据一个或多个实施例在各种主机装置发起操作。例如,主机装置可以接收电力,并且其主机装置上的主机操作系统可以启动。
在框1110,根据一个或多个实施例在各种主机装置上操作的各种虚拟化控制器发起操作。例如,作为主机操作系统的一部分或作为分开的软件脚本,虚拟化控制器可以开始在主机装置上操作。相应地,虚拟化控制器可以在钻井管理网络之上与其他虚拟化控制器传输和接收信息。
在框1120,根据一个或多个实施例从各种虚拟化控制器之中确定虚拟化服务管理器。基于虚拟化控制器之间的通信,可以选择一个虚拟化控制器作为虚拟化服务管理器。选择过程可以基于通过钻井管理网络在主机装置上操作的控制系统的类型。例如,主机装置上的具有最低开销的虚拟化控制器可以被选择为虚拟化服务管理器。选择的虚拟化服务管理器可以相似于以上图9.3和随附描述中描述的选择的虚拟化服务管理器。
在框1130,根据一个或多个实施例为各种虚拟化控制器确定一个或多个服务发起时间。例如,虚拟化服务管理器可以确定在钻井管理网络上操作的各种虚拟化服务的启动序列,诸如生成用于操作各种控制系统的虚拟机和/或软件容器的顺序。相应地,发起时间可以相似于图10中描述的终止时间,使得各种启动操作交错。相应地,可以为虚拟化服务管理器提供服务发起时间,以校验在生成下一批虚拟机和/或软件容器之前特定虚拟机和/或软件容器令人满意地操作。
在框1140,根据一个或多个实施例基于各种服务发起时间将各种延时发起命令传输到各种虚拟化控制器。延时发起命令可以相似于以上图9.3和随附描述中描述的延时发起命令。
在框1150,根据一个或多个实施例基于各种服务发起时间生成各种虚拟机和/或软件容器。
网络安全框架
总体上,本公开的实施例包含用于访问一个或多个安全区中的资产的系统和各种方法。特别地,一个或多个实施例涉及系统,其包含耦接两个或更多个安全区的一个或多个通道。例如,通道可以提供位于不同安全区中的网络装置之间的通信路径。在一些实施例中,通道是临时通道,其由跳主机或虚拟连接控制器控制。在临时通道的情况下,可以建立和终止临时虚拟连接,以便调控对安全区中的各种控制系统的授权的访问。例如,临时通道可以限制网络装置访问特定时间和/或特别地授权的网络装置。
同样,钻井管理网络中的控制系统可以在一个或多个单向通道上公布数据。例如,网络装置可以从相应的控制系统订阅由特定单向通道提供的数据。当相应的控制系统广播数据时,数据的任何订阅者可以相应地在单向通道上接收数据。然而,单向通道可以防止订阅者在通信路径上反向传输命令。从而,订阅者关于从单向通道获取数据被限制为被动角色。
图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)、现场用户设备、用户装置和/或历史记录器可以是相似于图34.1和图34.2和随附描述中所描述的计算系统(3400)的计算系统。
在一个或多个实施例中,钻井管理网络(1310)包含钻井设备(例如,防喷器(99)、钻机(12)和以上在图1和随附描述中描述的其他部件)。钻井管理网络(1310)还可以包括控制系统(例如,控制系统(1322)),诸如作为确定性网络部分的各种钻井操作控制系统和各种维护控制系统。钻井操作控制系统和/或维护控制系统可以包括例如可编程逻辑控制器(PLC),其包含具有控制由钻机执行的一个或多个进程的功能的硬件和/或软件,包含但不限于图1中所描述的部件。具体地,可编程逻辑控制器可以控制阀状态、液位、管压力、警告警报和/或整个钻机的压力释放。
此外,可编程逻辑控制器可以是加固的计算机系统,其具有经受例如钻机周围的震动、极端温度、潮湿条件、和/或灰尘条件的功能。钻井操作控制系统和/或维护控制系统还可以指控制系统,其包含钻井管理网络(1310)内的多个PLC。另外,控制系统可以是钻井管理网络的闭环部分,其包含控制以上图1和随附描述中描述的系统、部件和/或子部件内的操作的功能。PLC可以将PLC数据(例如,PLC数据(1317))传输到耦接到钻井管理网络(1310)和/或用户网络(1330)的一个或多个装置。PLC数据可以包括传感器测量、状态更新和/或关于在钻井管理网络(1310)上执行源自钻井管理网络(1310)的钻井操作和/或维护操作的信息。同样,控制系统(1322)中的一个或多个可以包括关于泥浆循环系统、旋转系统、管处理系统和/或关于图1和随附描述描述的各种其他钻井活动执行监视和/或执行各种钻井过程的功能。
在一个或多个实施例中,钻井管理网络(1310)和/或用户网络(1330)划分为各种安全区(例如,安全区A(1361)、安全区B(1362)、安全区C(1363)、安全区D(1364)和安全区E(1365))。特别地,安全区可以包括硬件和/或软件,其包含对网络的一部分内的非通信资产执行一个或多个访问控制策略的功能。例如,访问控制策略可以指定哪些用户和/或哪些类型的用户可以具有对非通信资产的访问,和/或具有能力执行与非通信资产相关联的一个或多个功能。在一些实施例中,访问控制策略针对预定用户具有对相应的非通信资产的访问的一个或多个时间窗口。在一些实施例中,访问控制策略包含允许网络装置对一个或多个批准的软件应用程序访问的各种规则,指定哪个网络端口可以在通道上接收数据,和/或指定使用通道上的批准的互联网协议(IP)地址的网络协议。
非通信资产可以对应于人机界面、钻井设备、用户设备、服务器、个人计算机、各种网络元件和/或各种网络装置。同样,安全区可以使用各种通信资产实现访问控制策略。例如,通信资产可以包括硬件和/或软件,其包含用于在通信路径(诸如路由器、交换机、个人计算机和/或其他网络元件)上传输数据的功能。各种访问控制策略的执行可以包括使用各种网络通信协议的网络执行和非网络执行,诸如物理地锁住主机PLC、服务器、交换机、防火墙和其他设备的机柜。
在一些实施例中,安全区进一步限定为子区。例如,安全区中的每个子区可以具有特定于子区的相应的访问控制策略和应用于安全区内的每个子区的一般访问控制策略。子区可以在特定安全区内分开的广播域上。
在一个或多个实施例中,一个或多个通道(例如,单向通道A(1371)、双向通道B(1372)、临时通道(1373)、双向通道D(1375))耦接各种安全区。具体地,通道可以包括通信资产,其实现在不同安全区之间操作的一个或多个网络通信协议。例如,双向通道(例如,双向通道B(1372))可以实现访问控制策略,其为由位于由双向通道耦接的安全区的任一侧的网络装置传输和接收数据提供相似规则。例如,用户装置M(1381)可以在双向通道B(1372)上传输并请求与设置在不同安全区中的用户装置O(1383)相同的数据。
在一些实施例中,钻井管理网络(1310)和/或用户网络(1330)包含单向通道(例如,单向通道A(1371))。单向通道可以实现访问控制协议,其在网络内将某些类型的数据传输限制为单个方向。例如,可以提供单向通道以传输特定类型的传感器数据到预定安全区,同时防止某些类型的数据(例如,设置调整、控制命令等)被从相同的安全区接收。如图13中所示,用户装置N(1382)可以从控制系统(1322)读取PLC数据(1317),但不可以传输影响由控制系统(1322)发送的类型的PLC数据的控制命令。
在一些实施例中,钻井管理网络(1310)和/或用户网络(1330)包含耦接两个或更多个安全区的一个或多个临时通道(例如,临时通道C(1375))。在一个或多个实施例中,临时通道是交换虚拟连接。例如,交换虚拟连接可以包括钻井管理网络(1310)中的安全区上的硬件和/或软件和用户网络(1330)中的另一安全区,以实现虚拟连接。从而,当交换虚拟连接“开放”时,虚拟连接不可以存在于临时通道上。当交换虚拟连接“关闭”时,形成对应于临时虚拟电路的虚拟连接。然后临时虚拟电路可以在两个安全区之间提供网络流量(诸如PLC数据)的传输。特别地,交换虚拟连接的缺省状态可以是两个安全区被断开的情况,直到授权的用户和/或用户装置请求访问。在一些实施例中,在由一个或多个控制系统执行钻井操作期间,临时通道上的虚拟连接被终止,而当钻井管理网络中不存在钻井操作时可以建立虚拟连接。
在一些实施例中,例如,临时通道由虚拟连接控制器(例如,虚拟连接控制器(1343))操作。虚拟连接控制器可以包括硬件和/或软件,其包含在临时通道上建立虚拟连接的功能。虚拟连接可以是例如两个相邻通信资产之间的数据链接层连接,例如,诸如包含位于不同安全区中的交换机的物理链接。在其他实施例中,虚拟连接可以是多个网络节点之上的特定连接。此外,虚拟连接控制器(1343)可以是位于钻井管理网络(1310)和/或用户网络(1330)中的虚拟机(VM)或物理网络元件。例如,虚拟连接控制器(1343)可以是跳主机或与跳主机通信的网络元件。在一个或多个实施例中,例如,虚拟连接控制器(1343)包含开机和/或关机提供与特定安全区中的网络装置通信的跳主机的功能。
在一些实施例中,安全区包含一个或多个内部通道(例如,内部通道E(1374))。例如,内部通道可以执行单个安全区内的两个或更多个非通信资产之间的一个或多个访问控制策略,例如,在单个安全区或单个子区内操作的两个软件应用程序之间由特定访问控制策略管理的通信。例如,内部通道可以在由钻井管理网络操作的控制系统与钻井管理网络的控制之外的第三方供应商提供的网络装置之间执行访问控制策略。
在另一实施例中,位于相同安全区或子区中的两个控制系统在内部通道之上通信。例如,安全区内的控制系统可以位于相同广播域上。从而,实现防火墙或在两个控制系统之间执行访问控制策略的其他通信基础设施可能是不可行的。因此,内部通道可以实现IP地址过滤、端口过滤和/或另一类型的网络过滤,以执行两个控制系统之间的安全通信。同样,当功能网络限制防止将网络装置分开到不同区或子区上时(诸如当网络装置由不同组或第三方管理时),通信仍可以是安全的。
在一些实施例中,通道耦接安全区到位于钻井管理网络(1310)和用户网络(1330)之外的不同安全区。例如,如图13中所示,安全区F(1366)对应于互联网(1350)。特别地,远程用户装置(1385)可以在双向通道D(1375)与设置在位于用户网络(1330)中的安全区C(1363)中的用户装置N(1382)通信。
尽管图13示出了部件的各种配置,但可以使用其他配置,而不背离本公开的范围。例如,图13中的各种部件可以被组合,以创建单个部件。作为另一示例,由单个部件执行的功能可以由两个或更多个部件执行。
转向图14,图14提供一个或多个网络的安全区框架(1400)的示例。以下示例仅出于解释目的,而不意图限制本公开的范围。转向图14,安全区框架(1400)包含控制网络安全区(1461),其包含控制系统子区(1411)和中间件协议控制子区(1412)。控制网络安全区(1461)和对应的子区中的系统可以遵守各种访问控制策略,其包含储存和计算力专用而无法与任何其他安全区共用。在控制系统子区(1411)中,此处的控制系统可以具有块控制回路(例如,高达1kHz),其可以维持在确定性计算环境中。控制系统子区(1411)可以具有安全区框架(1400)内的。例如,控制系统子区(1411)中的控制回路期限可以影响数据可用性,由此数据可用性可能被增大网络延迟或抖动破坏。控制系统子区(1411)与中间件协议控制子区(1412)之间的通道可以由软PLC(IPC)或裸机网关实现,软PLC(IPC)或裸机网关将现场总线协议(诸如以太网/IP、Profinet、Profibus、Modbus TCP/IP或EtherCat)解译为中间件协议。软PLC逻辑可以将现场总线存储器地址映射为中间件协议主题和相应地返回,诸如通过遵循白名单方案。在中间件协议控制子区(1412)中,一个或多个中间件协议可以用于协调各种控制系统。例如,中间件协议控制子区(1412)中的各种资产可以在设备控制与井构建过程控制之间相接。此处,控制回路可以是闭环,其以高数据频率(例如,高达1kHz)操作,并且可以以软实时异步操作。
此外,安全区框架(1400)还包含控制网络监督员和操作员(CNSO)安全区(1462),其包含控制系统人机界面(CSHMI)子区(1421)和中间件协议监督员子区(1422)。CNSO安全区(1462)可以包括监督员控制的接口,例如,通过人类操作员或通过许可为与人类操作员相似访问的算法。因此,CSHMI子区(1421)包含人类操作员的控制系统接口,例如,操纵杆、触摸板和/或触摸屏。具体地,钻井椅可以放置在CSHMI子区(1421)中。将CSHMI子区(1421)和中间件协议控制子区(1412)耦接的通道可以允许人类操作员与设备的基于中间件协议的表示(例如,描述、能力、校准等)交互。通道可以相应地许可对各种网络装置的各种控制能力。同样,可以使用各种安全证书认证中间件协议用户。此处,订阅能力和/或数据访问可以通过中间件协议域分段。例如,双向通道可以耦接中间件协议监督员子区(1422)和中间件控制协议子区(1412)。该双向通道可以为协调的控制算法许可对传感器数据的区分的访问和对一个或多个控制系统的控制能力。
与CNSOS安全区(1462)一致,中间件协议监督员子区(1422)可以托管以软实时执行的各种基于中间件协议的先进协调控制算法。关于中间件监督员子区(1422)中的访问控制策略,各种计算环境可以经由虚拟化超级监督者和/或物理分离隔离。控制能力和/或数据访问还可以通过中间件协议域分段。
继续参考图14,安全区框架(1400)还包含安全性安全区(1463),其包含配置管理子区(1431)、控制维护应用程序子区(1432)、语音闭路电视(CCTV)子区(1433),以及人员注册系统子区(1434)。特别地,安全性安全区(1463)可以托管支持基础设施,其补充控制网络安全区(1461)和CNSOS安全区(1462)中的资产。例如,安全性安全区(1463)中的访问控制策略可以包括MAC地址装置的激进操作系统补丁,其在物理网络连接点设白名单。安全性安全区(1463)内的通道和离开该区的通道可以使用安全证书(例如,中间件协议,HTTPS)与管理的防火墙深度包检查一起认证。
与安全性安全区(1463)一致,人员注册系统子区(1434)可以是限定和维护各种安全区和子区的本地角色之处。控制维护应用程序子区(1432)可以包括系统,其被分配管理控制网络安全区(1461)中的控制系统上的更新和升级的任务。例如,临时通道可以耦接控制维护应用程序子区(1432)和控制系统子区(1411)。一旦批准(例如,指定的时间窗口),临时通道可以被允许将软件、固件和/或配置升级从控制维护应用程序子区(1432)传输到控制系统子区(1411)中的控制系统。同样,临时通道可以包括用于访问的多因素认证。
另外,安全区框架(1400)还包含进程应用程序安全区(1464),其包含进程信息子区(1441)和进程控制子区(1442)。进程应用程序安全区(1464)可以包括负责在用户和钻机外部件参与的情况下进程控制决定的网络装置。在一些实施例中,单向通道可以允许进程信息子区(1441)中的应用程序和流程消耗来自中间件协议子区(1412)的数据。在进程信息子区(1441)中,网络装置可以仅订阅由中间件协议子区(1412)推送的信息。例如,传感器装置或控制系统可以公布在单向通道上传输的和由进程信息子区(1441)中的一个或多个订阅者接收的数据。特别地,与单向通道相关联的一个或多个网络通信协议可以实现软件架构,软件架构允许中间件协议子区(1412)上的和/或连接到中间件协议子区(1412)的各种网络装置之间的发布-订阅模型。如果相应的网络装置的相应的网络装置或部件是特定传感器装置或控制系统的订阅者,则来自传感器装置或控制系统的数据可以通过单向通道中继。如果传感器装置具有五个订阅者,则每次通过单向通道广播传感器数据时,来自传感器装置的传感器数据可以例如被传输到五个订阅者中的每一个。从而,传感器装置可以充当发布-订阅模型中的发布者。在一些实施例中,钻井管理网络在允许单向通道上公布或订阅之前使用安全证书认证装置。
在进程控制子区(1442)中,网络装置可以实现被许可各种控制能力的编排服务。该区可以经由以中间件协议域许可的控制能力被划界。
安全区框架(1400)还包含外围网络安全区(1465),其包含配置管理非军事(DMZ)子区(1451)、基础设施管理子区(1452)、语音通信和CCTV代理子区(1453),以及本地访问子区(1454)。外围网络安全区(1465)可以对应于位于外围网络中的非通信资产。例如,外围网络可以是钻井管理网络和/或用户网络的逻辑或物理子网络,其将组织的面向外部的服务暴露于不受信的网络,例如,互联网和/或企业网络。外围网络安全区(1465)可以是在安全区框架(1400)中相对低的安全级别,并且可以耦接到与钻井管理网络中的控制系统相接并与钻机外系统相接的通道。
继续参考图14,安全区框架(1400)还包含企业网络安全区(1466),其包含公司公共云子区(1455)、访客访问子区(1456)、网络用户子区(1457),以及基于角色的固定站子区(1458)。企业网络安全区(1466)可以对应于企业网络,其可以在各种部分和工作组网络上连接用户装置和网络装置。例如,企业网络可以是组织的主干,其向许多不同部分中的雇员和访客提供通信和网络资源。超出企业网络安全区(1466)的是互联网安全区(1467),其包含未认证的互联网子区(1471)和公共云子区(1472)。
尽管关于图14的安全区框架(1400)的安全区和子区讨论了各种通道,本领域普通技术人员将了解,鉴于本公开技术,一个或多个单向通道、一个或多个双向通道和/或一个或多个临时通可以耦接安全区框架(1400)的任意两个安全区或子区。同样,一个或多个内部通道可以设置在安全区框架(1400)的任意安全区和/或安全子区内。
转向图15,图15示出了根据一个或多个实施例的流程图。具体地,图15描述了用于访问位于钻井管理网络和/或用户网络中的一个或多个安全区中的资产的方法。图15中的一个或多个框可以由图1、2、13和/或14所描述的一个或多个部件(例如,虚拟连接控制器(1343))执行。尽管图15各框按顺序呈现和描述,但本领域普通技术人员将理解一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框1500中,根据一个或多个实施例从安全区X中的网络装置获取访问安全区Y中的数据的请求。例如,网络装置可以是用户装置,其将请求传输到管理区之间的通道的虚拟连接控制器。用户装置可以本地连接在用户网络和/或钻井管理网络上和/或远程地连接到虚拟连接控制器,例如,在互联网上。同样,用户装置可以是位于用户网络或钻井管理网络中的控制系统或一个或多个网络元件。例如,控制系统可以从一个或多个其他控制系统请求数据,以执行与特定钻井操作相关联的算法。安全区X和/或安全区Y可以相似于以上图13和图14和随附描述中描述的安全区。
在框1510,根据一个或多个实施例认证网络装置以在临时通道上通信。例如,临时通道可以耦接安全区X和安全区Y。响应于在框1500获取请求,例如,网络装置和/或软件应用程序可以确定网络装置是否允许从位于特定安全区中的一个或多个非通信资产访问数据。例如,虚拟连接控制器可以访问与用户装置和/或操作用户装置的用户相关联的用户账户。用户账户可以包括用户凭据,其指定用户和/或用户装置可以访问哪个PLC。为了完成授权,网络装置可以要求附加用户凭据,其可以由管理员人工地输入到用户账户中和/或基于与储存在用户账户或他处的用户和/或用户装置相关联的各种信息自动地生成。
另外,用户凭据还可以指定用户和/或用户装置可以在临时通道上通信的一个或多个时间窗口。同样,用户凭据可以是时间窗口属性,诸如提供信息的数据字段,信息是关于开始时间、结束时间、一周中的特定天、月或年,以及分配给用户和/或网络装置的各种时间窗口的分配的时间量。此外,时间窗口属性可以描述一般时间窗口和特定时间窗口。
在一个或多个实施例中,虚拟连接控制器实现两个安全区之间的临时通道的多因素认证。例如,用户装置可以用用户名和密码登录到用户网络中。相应地,在对用户网络建立网络连接之后,虚拟连接控制器可以请求附加密码和/或识别,以在临时通道上建立虚拟连接。例如,附加密码和/或识别信息可以是个人识别号、诸如指纹的生物计量标识符、关于用户请求访问的个人信息,和/或独立于用户装置传输的网络装置代码。
在一些实施例中,例如,为临时通道生成时间受限组的虚拟连接凭据。例如,虚拟连接凭据可以包括网络和/或防火墙配置,以在虚拟连接上通信。此外,响应于虚拟连接控制器确定用户装置被授权,虚拟连接凭据可以包括由虚拟连接控制器或网络装置的其他网络元件特别地生成的网络装置代码。网络装置代码可以是伪随机或以其他方式的预定字母数字序列,其使网络装置能够与PLC和/或钻井管理网络上的控制系统通信。
在框1520,根据一个或多个实施例使用安全区X与安全区Y之间的临时通道建立虚拟连接。如果执行确定用户装置被授权访问安全区中的非通信资产,则虚拟连接控制器可以例如在临时通道上建立虚拟连接。如果交换虚拟连接存在于两个安全区之间,则虚拟连接控制器可以使交换虚拟连接上的网络通信能够建立虚拟连接。另一方面,如果虚拟连接控制器执行确定网络装置未被授权访问安全区中的一个或多个特定非通信资产和/或用户装置在当前时间未被授权,则在框1520不可以建立虚拟连接。
在一个或多个实施例中,虚拟连接控制器被停机和/或与钻井管理网络和/或用户网络物理地断开。在框1510认证网络装置之后,虚拟连接控制器可以开机并在临时通道上建立虚拟连接。在一些实施例中,虚拟连接控制器或其他软件应用程序可以终止在框1520建立的虚拟连接。例如,虚拟连接控制器可以去除数据链接层连接,其使临时通道返回到封闭状态。同样,防火墙设置可以由虚拟连接控制器设置为阻挡临时通道上的网络流量。在交换虚拟连接的情况下,虚拟连接控制器可以将交换虚拟连接设定为开路。在一个或多个实施例中,例如,虚拟连接控制器在执行确定之后停机并断开以终止虚拟连接。
在框1530,根据一个或多个实施例在虚拟连接上在安全区X与安全区Y中的网络装置之间传输数据。例如,网络装置可以从位于安全区X中的控制系统获取PLC数据。同样,网络装置可以传输一个或多个控制命令以调整安全区X中的一个或多个控制系统中的参数和/或设置。换而言之,一旦建立虚拟连接,网络装置可以具有关于特定安全区中的一个或多个非通信资产的读取和/或控制访问。例如,在一个或多个实施例中,访问被导向朝向正被在临时通道上发送的控制命令以监视和控制安全区中的资产。
在框1540,根据一个或多个实施例在正在安全区X与安全区Y之间被传输的数据上执行一个或多个包检查。在包检查中,可以分析通道上传输的数据中的一个或多个部分以确定一个或多个访问控制策略是否被违反。例如,包检查可以由防火墙和/或钻井管理网络和/或用户网络中的一个或多个网络元件执行。在一些实施例中,例如,对在框1520临时通道上或在钻井管理网络或用户网络内操作的其他通道传输的数据执行深度包检查。
尽管在图15和随附描述中参考临时通道,在其他实施例中,相似框可以应用于单向通道和/或双向通道。同样,参考图15描述的实施例还可以应用于在单个安全区内操作的内部通道。此外,在以上图15中的描述的技术中可以替代安全区使用子区。
控制系统网络安全
总体上,本公开的实施例包含用于与钻井管理网络的控制区中的网络装置通信的系统和方法。特别地,一个或多个实施例涉及包含防火墙装置的系统,防火墙装置将控制区与管理区耦接。例如,用于执行钻井操作和维护操作的控制系统可以设置在控制区内,尽管管理区包含网络装置,其专用于使用控制系统管理和监管进程。同样,零信任网络拓扑可以实现在控制区内,其仅允许装置与事先授权之间的网络通信。
在一些实施例中,一个或多个安全代理设置在控制区内的各种网络装置上。安全代理可以是主机网络装置的部件,其中安全代理负责管理与主机网络装置和位于控制区之外的装置的通信。例如,安全代理可以监视其主机网络装置和网络流量,以确定传输数据的不同时间窗口。因为潜在高网络容量,安全代理可能需要确定数据传输不干扰控制进程的特定时间,以便执行软件安装,例如,安全代理可能需要编排对主机网络装置的软件安装文件传输。在获取文件之后,然后软件代理可以确定用文件执行软件安装的恰当时间。
转向图16,图16示出了根据一个或多个实施例的系统的框图。如图16所示,钻井管理网络(1600)可以包括耦接到防火墙装置(例如,防火墙装置X(1660))的各种网络区(例如,控制区X(1620)、管理区Y(1670))。在一个或多个实施例中,钻井管理网络包含控制区(例如,控制区X(1620)),其具有各种控制系统(例如,控制区A(1621)、控制系统B(1622)、控制系统C(1623))和网络元件(例如,网络元件A(1631)、网络元件B(1632)、网络元件C(1633))。特别地,控制区可以包括各种确定性系统(诸如控制系统)其在钻井管理网络的闭环网络部分中操作。在闭环部分内,控制系统可以使用高速数据传输和精确定时要求操作。例如,状态请求可以以很高的频率(例如,在微秒与毫秒之间)发生在控制区中的网络装置之间。
另外,控制系统可以包括硬件和/或软件,其具有执行各种钻井操作和/或各种维护操作的功能。例如,钻井操作控制系统和/或维护控制系统可以包括例如可编程逻辑控制器(PLC)(例如,PLC A(1627),PLC B(1628)),其包含硬件和/或软件,硬件和/或软件具有控制由钻机执行的一个或多个进程的功能,包含但不限于图1中所描述的部件。关于PLC,可编程逻辑控制器可以控制阀状态、液位、管压力、警告警报和/或整个钻机的压力释放。此外,可编程逻辑控制器可以是加固的计算机系统,其具有经受例如钻机周围的震动、极端温度、潮湿条件、和/或灰尘条件的功能。钻井操作控制系统和/或维护控制系统还可以指控制系统,其包含钻井管理网络(1600)内的多个PLC。此外,控制系统可以耦接到钻井设备(例如,钻井设备A(1629)、防喷器(99)、钻机(12)和以上在图1和随附描述中描述的其他部件)。
在不失普遍性的情况下,术语“控制系统”可以指用于操作和控制设备的钻井操作控制系统,用于获取钻井过程和设备数据以及监视钻井过程的操作的钻井数据获取和监视系统,或用于分析和理解钻井事件和进展的钻井解译软件系统。
在一些实施例中,一个或多个控制区耦接到管理区(例如,管理区Y(1670))。例如,管理区Y(1670)可以是钻井管理网络(1600)的一部分,其包含各种网络元件(未示出)、网络装置(例如,网络装置(1672))、一个或多个配置管理器(例如,配置管理器(1671)),和/或一个或多个应用程序管理器(例如,应用程序管理器(1673))。例如,管理区可以是控制区之外的安全性安全区。特别地,控制区内的网络装置的管理可以外包到位于一个或多个管理区中的其他网络装置。
同样,通过使用控制区之外的防火墙装置,包过滤可以对控制区内的网络响应时间具有有限冲击。从而,以大量数据操作的控制区可以通过不受处理包的防火墙装置影响保护其计算能力。例如,进入控制区的包被搜索,而控制区内的包可以畅通无阻同行。关于控制区与管理区之间的包过滤的更多信息,参见图18和随附描述。
转向图17,图17提供了获取软件更新文件的安全代理的示例。以下示例仅出于解释目的,而不意图限制所公开技术的范围。在图17中,安全代理R(1741)与配置管理器X(1771)通信,配置管理器X(1771)充当钻井管理网络(1700)上的源装置。特别地,安全代理R(1741)在位于控制区A(1720)中的目的地装置M(1726)上操作。安全代理R(1741)在逻辑路径S(1780)上获取软件更新文件X(1775)。逻辑路径S(1780)包含各种网络链接(即,网络链接A(1781)、网络链接B(1782)、网络链接C(1783)),其跨距防火墙装置Q(1760)和交换机O(1731)。从而,防火墙装置Q(1760)检测到配置管理器X(1771)被授权传输数据到目的地装置M(1726)并将与软件更新文件X(1775)相关联的包中继到控制区A(1720)中。在控制区A(1720)内,交换机O(1731)确定与软件更新文件X(1775)相关联的包可以被中继到目的地装置M(1726)。
继续参考图17,一旦安全代理R(1741)获取软件更新文件X(1775),安全代理R(1741)分析控制区A(1720)和目的地装置M(1726),以确定是否存在用于安装软件更新文件X(1775)的网络条件。一旦安全代理R(1741)检测到存在可用安装网络状态的网络条件,然后安全代理R(1741)执行软件更新文件(1775),以更新目的地装置M(1726)上操作的一个或多个软件程序。
重新转向图16,在一些实施例中,管理区包含一个或多个配置管理器(例如,配置管理器(1671))。特别地,配置管理器可以包括硬件和/或软件,其包含用于在整个一个或多个控制区管理软件安装和其他软件进程的功能。例如,配置管理器可以确定是否存在在控制区内的相应的装置上操作的软件应用程序的新的软件版本。相应地,配置管理器可以确定新的软件版本是否造成与控制区内的控制系统和/或其他网络装置的任何冲突,以及新的软件版本凭证(warrant)是否被安装在相应的装置上。因此,配置管理器可以包括用于管理软件更新和其他软件配置调整的功能。同样,调整软件配置可以包括改变不同软件设置,诸如与软件应用程序相关联的计算机资源,软件进程操作的时间设置等。在一些实施例中,例如通过验证和/或去验证特定网络装置,配置管理器包含用于添加和/或从控制区去除网络装置的功能。
此外,管理区可以包括一个或多个应用程序管理器(例如,应用程序管理器(1673))。具体地,应用程序管理器可以包括硬件和/或软件,其具有管理在控制区内执行的各种闭环进程的功能。特别地,应用程序管理器可以远程于正由控制系统操作的控制应用程序,并且从而关于计算力和网络资源比控制应用程序更灵活。例如,应用程序管理器可以包括用于协调不同控制系统和其他网络装置的功能,以在控制区中共同操作而没有干扰。
继续参考图16,控制区还可以包括各种网络装置(例如,人机界面(HMI)Y(1625)、历史记录器X(1624)、网络装置Z(1626))和各种网络元件(例如,网络元件A(1631)、网络元件B(1632)、网络元件C(1633))。网络装置可以包括个人计算机、控制系统、智能电话、人机界面、用户装置、钻井设备、现场用户设备和耦接到钻井管理网络的任意其他装置。人机界面可以是硬件和/或软件,其耦接到钻井管理网络(1600),并且包含用于呈现数据和/或从用户接收关于在钻井管理网络(1600)内执行的各种钻井操作和/或维护操作的输入的功能。例如,人机界面可以包括软件,以提供图形用户界面(GUI),用于呈现数据和/或接收用于操作钻机的控制命令。历史记录器可以包括硬件和/或软件,以收集和/或分析在控制区内获取的传感器数据。网络元件可以指网络内的各种硬件部件,诸如交换机、路由器、总线、用户设备或用于联合网络上的一个或多个物理装置的任意其他逻辑实体。网络元件、人机界面、历史记录器、网络装置和/或控制系统可以是相似于图34.1和图34.2和随附描述中所描述的计算系统(3400)的计算系统。
尽管图16和图17示出了部件的各种配置,但可以使用其他配置,而不背离本公开的范围。例如,图16和图17中的各种部件可以被组合,以创建单个部件。作为另一示例,由单个部件执行的功能可以由两个或更多个部件执行。
转向图18,图18示出了根据一个或多个实施例的流程图。具体地,图18描述了与一个或多个钻井管理网络的控制区中的网络装置通信的方法。图18中的一个或多个框可以由图1、2、16和/或17中描述的一个或多个部件(例如,防火墙装置X(1660))执行。尽管图18中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框1800,根据一个或多个实施例将网络装置连接到控制区。特别地,网络装置可以与包含控制区的钻井管理网络建立网络连接。网络连接可以由技术人员人工地建立,其允许连接到网络装置的一个或多个钻井管理网络端口。网络装置可以相似于图16和随附描述中描述的网络装置之一,例如,控制系统B(1622)、历史记录器X(1624)等。
在框1805,根据一个或多个实施例验证网络装置和其他控制区中的网络装置之间的通信。具体地,验证可以确定哪个装置可以是控制区中的验证的网络装置的授权目的地装置。例如,网络装置可以具有一个或多个网络凭据,其许可对控制区中的各种装置通信访问。网络凭据可以由现场人类操作员提供,其在控制区中设置网络装置。同样,网络凭据可以储存在网络装置中,并且验证可以由在网络装置和/或钻井管理网络上操作的一个或多个软件协议自动地执行。例如,配置管理器可以分析网络装置的网络凭据,以便执行验证。
在一些实施例中,网络装置在整个控制区广播网络凭据,以便执行验证。因此,控制区中的网络装置可以各自分析网络凭据,以确定网络装置是否可以是授权的源装置。从而,可以在控制区中执行去中央化的网络协议以验证。
在框1810,根据一个或多个实施例基于网络装置的验证重新配置控制区。取决于验证的网络装置的目的地装置,控制区内和/或外的各种网络元件、防火墙装置等可以重新配置为允许验证的网络装置与目的地装置之间的通信。
在一些实施例中,例如,管理区中的配置管理器获取验证与验证的网络装置相关联的信息。因此,配置管理器可以更新储存在钻井管理网络中的各种交换机、路由器等上的一个或多个网络表以允许验证的通信。
在框1815中,根据一个或多个实施例从网络装置获取包。例如,一个或多个包可以在包含钻井管理网络中的防火墙装置的逻辑路径上传输。逻辑路径可以包括各种网络节点,其提供通过钻井管理网络到控制区的提供路径,例如。因此,当逻辑路径中的防火墙装置、交换机或其他网络元件获取包时,可以由相应的媒介装置对包执行进一步分析。
在框1820中,根据一个或多个实施例对包执行关于控制区中的目的地装置的确定。特别地,包或该包的源装置可以被分析以确定期望目的地装置。例如,包可以包括目的地网络地址,其指定包在钻井管理网络内的最终位置。同样,控制区和目的地装置可以相似于以上图2和图3和随附描述中描述的控制区和/或目的地装置。
在一些实施例中,管理区中的网络装置与控制区中的相应的装置相关联。从而,防火墙装置可以基于哪个装置或应用程序正在发送包而识别恰当目的地装置。
在框1825中,根据一个或多个实施例执行网络装置是否被授权与目的地装置通信的确定。特别地,钻井管理网络可以实现各种安全协议,以确保通过控制区的网络流量被限制为预定类型和/或量的数据。例如,限制网络流量,甚至在防火墙装置的边缘,可能不是常见的。从而,耦接到控制区的防火墙装置和/或其他网络元件可以对进入控制区的包以及已经行进到控制区内的包采取零信任方案。因此,控制区可以提供网络拓扑,其动态追踪并监视网络的闭环部分中的授权的和未授权的装置之间的网络流量。如果进程在闭环部分内停止,例如,网络元件和/或防火墙装置可以将进程中断映射到控制区内的特定位置。
在一些实施例中,钻井管理网络可以储存耦接到钻井管理网络的每个网络装置的网络信息,诸如网络地址、网络协议、网络依赖,以及端口号。基于该网络信息,控制区可以限制对钻井管理网络中的授权的位置的网络通信。例如,防火墙装置可以用查找表分析包的源装置和目的地装置,以确定是否通信被授权。
在一些实施例中,钻井管理网络通过检测未授权的通信内的包确定潜在安全破坏。例如,在防火墙装置获取包以传输到未授权的目的地装置的情况下,防火墙装置可以提供未授权的通信的警告通知。从而,除控制区内的破坏之外可以识别管理区中的各种安全破坏。
在框1830,根据一个或多个实施例,响应于确定授权的通信不存在于目的地装置和网络装置之间而终止包。基于确定包未被授权以传输到目的地装置,防火墙装置和/或其他网络元件可以终止包。例如,控制区可以在控制区的边缘以防火墙装置或在控制区内使用交换机或其他网络元件执行包过滤。
在一个实施例中,例如,如果泵的PLC仅需要与HMI通信,则该通信可以仅被允许通信控制区内的泵的PLC。如果包试图行进到控制区内的任意其他处,则包终止。该终止进程可以使用交换机实现(例如,如图16所示的在PLC A(1627)与历史记录器X(1624)或网络装置Z(1626)之间的网络元件(1631,1632,1633))。相应地,在一些实施例中,装置分析包头,以确定包是否已经被授权以与目的地装置通信。例如,控制区内的网络元件可以忽略包的内容(即,载荷中的数据)且仅基于包的目的地网络地址和/或源网络地址而过滤。在另一实施例中,内容可以被网络装置(例如,在主机网络装置上操作的安全代理)审阅。如果源装置被授权与目的地装置通信,则防火墙装置可以相应地扫描包的源网络地址和目的地网络地址以执行确定。
在框1840,根据一个或多个实施例,响应于确定通信在目的地装置与网络装置之间被授权而将包传输到目的地装置。在网络装置被授权与控制区内的目的地装置通信的情况下,防火墙装置和/或其他网络元件可以将包通过控制区转发。
在一些实施例中,图16、17和/或18中实现的网络架构允许钻井管理网络稀释PLC控制的网络资源,即,通过最小化需要什么资源来操作泵等。另一方面,控制控制区内的不同控制系统的管理进程可以超出防火墙装置操作和设置。比方说,人类手臂可以类似于控制区中的控制系统的PLC。实际手臂运动是功能性的,但手臂如何运动和手臂运动的目的地可以由大脑确定,其对应于控制区之外和超出防火墙装置的位置。换而言之,控制系统的计划和编排努力可以设置在控制区外且执行设置在控制区内。
另外,访问控制区中的系统中可以存在安全风险。例如,可以提供远程访问以故障排除装置,更新控制系统,和提取文件到和/或从钻井管理网络之外。图18和随附描述提供安全管理协议,其可以确保各种自动化方法可以自动地传输数据到控制区中或从控制区获取数据而不需对数据传输过程人类干预。
转向图19,图19示出了根据一个或多个实施例的流程图。具体地,图19描述了在控制区中的网络装置上安装软件的方法。例如,图19中的流程图可以附加于或单独于图18中描述的流程图执行。图19中的一个或多个框可以由图1、2、16和/或17中描述的一个或多个部件(例如,安全代理C(1643))执行。尽管图19中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框1900中,根据一个或多个实施例执行确定是否存在钻井管理网络的控制区中的网络装置的软件安装。网络装置可以是控制系统、历史记录器、HMI或如图16和随附描述中所描述的描述的其他网络装置。例如,配置管理器可以储存关于钻井管理网络的控制区内的控制系统和/或其他网络装置的软件版本信息。相应地,当新的软件版本发布时,配置管理器可以获取新的软件版本的通知。因此,配置管理器可以自动地确定是否存在网络装置的软件更新。
此外,配置管理器可以例如从人类用户或自动化进程获取请求,以在控制区中的一个或多个网络装置上安装软件应用程序。与替换现有软件版本不同,配置管理器可以编排完全新的软件安装。例如,如果控制系统正被添加到控制区,则可以为添加的控制系统指定一个或多个软件安装。
在框1910,根据一个或多个实施例使用安全代理获取一个或多个软件安装文件。例如,配置管理器可以与位于主机网络装置上的安全代理通信。配置管理器可以推送软件安装文件到装置以更新装置上的软件。例如,软件安装文件可以以与以上图18和随附描述相似的方式被从管理区中的配置管理器中继到主机控制区中的网络装置。在一些实施例中,例如防火墙装置可以在进入控制区之前搜索软件安装文件。在一些实施例中,安全代理监视控制区内的网络流量,直到发生用于将软件安装文件传输到主机网络装置的可用时间窗口。
一旦安全代理获取软件安装文件,文件可以被置于储存体中,直到与预定网络状态相关联的预定执行时间发生为止。关于预定网络状态的更多信息,参见以下框530和540和随附描述。
在框1920,根据一个或多个实施例确定关于网络装置的一个或多个网络装置条件。在一些实施例中,例如,安全代理监视主机网络装置上的活动,诸如钻井操作和/或维护操作。因此,网络装置条件可以对应于主机网络装置上的活动,例如,主机网络装置当前是否被控制操作占据且不适于软件安装。同样,网络装置条件还可以描述控制区或钻井管理网络内的活动。例如,如果其他控制系统要求主机网络装置在线以执行各种进程,则安全代理可以识别网络装置条件之中的从属控制系统。
在框1930,根据一个或多个实施例,执行确定一个或多个网络装置条件是否对应于执行软件安装的预定网络状态。例如,安全代理可以防止软件安装文件被执行,直到某些网络装置条件被主机网络装置满足。特别地,一旦安全代理在框1920确认一个或多个网络装置条件匹配预定网络状态,则安全代理可以继续软件安装。预定网络状态的示例是当钻井和维护在钻井管理网络终止操作时。另一预定网络状态是在夜间的低网络流量时段。预定网络状态的另一示例是一个或多个控制系统下线以维护时,并且从而提供其他控制系统执行本地操作的时间窗口。
此外,一旦发生预定状态,安全代理可以与配置管理器和/或其他控制区或管理区中的网络装置通信以执行软件安装。在一些实施例中,安全代理确定预定网络状态以在框1910获取软件安装文件。
在框1940,根据一个或多个实施例,基于预定网络状态在网络装置上执行一个或多个软件安装文件。例如,软件安装文件执行可以包括修改主机网络装置上的一个或多个设置,从文件提取内容,操作具有文件的软件应用程序,扫描文件病毒等。
一旦确定预定网络状态,软件安装文件可以在主机网络装置上继续,而主机网络装置保持在预定网络状态。在一些实施例中,安全代理可以检测预定状态上的改变,从而自动地终止软件安装。
继续参考图19和随附描述,钻井管理网络上的控制系统典型地已经为随时间为静态,即,控制系统可能很少被新的软件更新。从而,控制系统内的装置的功能可能很少改变。因为钻机中的控制系统是生产系统,改变网络装置上的软件可能导致生产的巨大成本。从而,工业控制侧的改变是很慢的。
然而,由于越来越多地为控制系统、历史记录器和钻井管理网络内的其他网络装置提供远程访问,由于该级别的访问存在增加的网络安全风险。从而,以上在图18和19中描述的过程提供了在钻井管理网络的控制区内执行安全性的实施例,同时仍添加和/或更新控制区的安全性。因此,控制系统进程可以与控制区内的周期性软件更新一同管理,并且由此防止许多网络安全威胁。
安全数据复制
总体上,本公开的实施例包含系统和各种方法,其用于提供钻井管理网络内的数据管理架构。特别地,一个或多个实施例涉及系统,其包含管理钻井管理网络与远程装置之间的数据传输的数据管理控制器。在一些实施例中,例如,网络连接是低通量连接。因此,数据管理控制器可以在预定时间量上使用低通量连接管理各种数据文件的传输。在完成数据传输之后,数据文件基于预定数据类型(诸如软件图像、数据模型等)而储存在各种持久储存体装置中。在一些实施例中,基于与各种网络操作条件(诸如生产条件和登台(staging)条件)相关联的隔离持久储存体装置。例如,登台条件可以是钻井管理网络中的软件和/或硬件在实际生产条件中使用之前经受测试的情况。
一旦数据储存在持久储存体装置中,可以在钻井管理网络上实现各种安全协议以允许整个钻井管理网络上的网络装置安全使用数据。例如,通过在对应的持久储存体装置中保持数据,钻井管理网络可以在网络装置(诸如虚拟机或软件容器)终止对应的数据的操作的情况下保持数据冗余。相应地,数据管理控制器和持久储存体装置可以提供数据如何进入钻井管理网络和传输到钻井管理网络中的特定系统的明确数据传输链。例如,当特定版本的软件应用程序与控制系统中的一个或多个进程干扰时,数据管理控制器可以将与版本相关联的数据从软件应用程序的安装映射回对应的持久储存体装置并回到数据源和到达网络中的时间。
转向图20.1,图20.1示出了根据一个或多个实施例的系统的框图。在一个或多个实施例中,持久储存体装置(例如,持久储存体装置A(271)、持久储存体装置N(272))是虚拟机或软件容器,其包含访问和/或提供预定数据类型的数据的功能。例如,在一些实施例中,持久储存体装置包含提供数据而无需使用数据管理控制器作为媒介的功能,例如,持久储存体装置可以直接从钻井管理网络(例如,钻井管理网络X(200))内接收对数据的请求。从而,持久储存体装置可以被去中央化并与数据管理控制器分开。
在一些实施例中,数据管理控制器(例如,数据管理控制器A(210))管理对钻井管理网络的大容量时间控制的数据传输。例如,数据管理控制器可以监视出入网络的网络流量以确定数据传输不干扰生产操作的预定时段。相应地,由于远程网络连接可以是低通量连接,数据管理控制器可以在一个或多个时段上执行数据传输以完全数据传输。一旦在钻井管理网络获取数据,数据管理控制器可以包括识别与数据相关联的一个或多个预定数据类型并将数据储存在与预定数据类型相关联的持久储存体装置中的功能。
在一个或多个实施例中,持久储存体装置与软件图像(例如,软件图像(2081))相关联。例如,持久储存体装置可以包括由整个钻井管理网络上的网络装置使用的不同软件版本的各种软件图像。例如,钻井管理网络X(2000)可以包括包含硬件和/或软件的配置管理器(2055),硬件和/或软件具有确定是否存在由于一个或多个网络装置的软件更新的功能。一旦检测到软件更新,配置管理器(2055)可以访问持久储存体装置A(2071)以获取对应的软件更新的软件图像。在另一实施例中,持久储存体装置与各种控制系统和其他网络装置用于不同网络操作条件的网络配置。因此,配置管理器可以使用一个或多个持久储存体装置调整网络保存和/或调整各种虚拟机、软件容器和整个钻井管理网络上的其他网络装置的网络配置。
继续参考图20.1,钻井管理网络X(2000)还可以包括各种网络装置(例如,控制系统(2015)、虚拟机(2040)、主机装置(2050)、虚拟化服务管理器A(2060))。例如,网络装置可以包括含有硬件和/或软件的一个或多个主机装置,硬件和/或软件耦接到钻井设备(例如,一个或多个可编程逻辑控制器(PLC))。钻井设备可以包括防喷器(99)、钻机(12)和以上在图1和随附描述中描述的其他部件。
耦接到主机装置的PLC可以形成各种控制系统(例如,控制系统(2015)),诸如各种钻井操作控制系统和各种维护控制系统。特别地,PLC可以包括硬件和/或软件,其具有控制由钻机执行的一个或多个进程的功能,包含但不限于图1中所描述的部件。具体地,PLC可以控制阀状态、液位、管压力、警告警报和/或整个钻机的压力释放。此外,可编程逻辑控制器可以是加固的计算机系统,其具有经受例如钻机周围的震动、极端温度、潮湿条件、和/或灰尘条件的功能。
重新转向持久储存体装置,在一些实施例中,持久储存体装置与数据模型(例如,数据模型(2082))相关联。数据模型可以包括各种数据库,以用于地质学和生产数据、钻井数据、3D模型、非井相关数据、从钻井操作获取的数据等。同样,数据模型还可以包括不同版本的相同数据,例如,在不同时间获取的数据和/或基于后面的钻井操作更新的数据版本。例如,由各种控制系统执行的一个或多个控制进程可以使用数据模型以执行一个或多个钻井操作。在另一实施例中,用户使用从持久储存体装置获取的一个或多个数据模型分析过去钻井操作。
转向图20.2,虚拟化服务管理器(例如,虚拟化服务管理器A(2060))可以包括硬件和/或软件,其包含用于生成、终止、监视和/或管理在钻井管理网络的虚拟化服务层上操作的一个或多个虚拟机(例如,虚拟机A(2041)、虚拟机N(2042))和/或软件容器(例如,软件容器A(2046)、软件容器N(2047))的功能。在一些实施例中,虚拟化服务管理器包含超级监督者,以管理钻井管理网络上的一个或多个虚拟化环境。例如,可以在钻井管理网络上的一个或多个网络层中实现虚拟化服务,例如,其中虚拟机和/或软件容器操作在网络层上。与在单个主机装置上实现虚拟机或软件容器不同,例如,虚拟化服务可以使用在多个主机装置上操作的虚拟机或软件容器实现。虚拟化服务的示例可以包括PLC之中的油田数据管理和/或钻井设备、虚拟机管理、软件容器管理、钻井管理网络上的主机装置之中的存储器资源位置、管理钻井管理网络的各种网络进程等。例如,虚拟化服务管理器可以与虚拟机和软件容器通信,以停止和/或发起正由虚拟机和软件容器执行的虚拟化服务。
在一个或多个实施例中,主机装置包含在主机操作系统(例如,主机操作系统A(2021)、主机操作系统N(2022))上操作的虚拟化控制器(例如,虚拟化控制器A(2031)、虚拟化控制器N(2032))。虚拟化控制器可以包括硬件和/或软件,其包含与钻井管理网络上的其他虚拟化控制器通信和/或在钻井管理网络上实现各种虚拟化服务的功能。例如,虚拟化控制器可以是在主机装置(2011,2012)上操作的虚拟机或软件容器。虚拟化服务可以包括在多个网络装置(例如,主机装置(2011,2012)、网络元件(2005)、主机装置(2013))上操作的网络进程。
另外,软件容器可以是由主机操作系统(例如,主机操作系统A(2021)、主机操作系统N(2022))的单个内核实现的用户空间实例。特别地,软件容器可以是在应用层的抽象概念,其允许隔离的进程在软件容器内操作。同样,多个软件容器可以在操作系统的单个内核上操作。软件容器可以包括docker容器、JavaTM容器、Windows服务器
Figure BDA0002482236250000561
容器等。相比之下,虚拟机可以包括硬件和/或可以提供物理硬件的抽象概念的软件。例如,虚拟机可以具有与主机操作系统分开的独立操作系统,其中虚拟机可以在具有专用存储器和其他计算机资源的一个或多个主机装置上操作。
此外,虚拟化服务管理器(例如,虚拟化服务管理器A(2060))可以管理和/或监视在虚拟化服务层上操作的虚拟机和/或软件容器的各种主机装置资源。同样,钻井管理网络X(2000)的虚拟化总体架构可以与主机操作系统在裸机(例如,硬件计算系统)上操作的情况相同,或作为虚拟机。例如,虚拟机和软件容器可以在虚拟化服务层中彼此通信并且以编排的方式操作虚拟化服务。
另外,钻井管理网络可以包括用户装置,其可以包括耦接到钻井管理网络的硬件和/或软件。用户装置可以是网络装置,其包含用于呈现数据和/或从用户接收关于在钻井管理网络内执行的各种钻井操作和/或维护操作的输入的功能。例如,用户装置可以包括个人计算机、智能电话、人机界面和耦接到网络的任意其他装置,其例如通过提供图形用户界面(GUI)从一个或多个用户获取输入。同样,用户装置可以呈现数据和/或从用户接收控制命令以操作钻机。网络元件可以指网络内的各种软件和/或硬件部件,诸如交换机、路由器、总线、用户设备或用于联合网络上的一个或多个物理装置的任意其他逻辑实体。
尽管图20.1和图20.2示出了部件的各种配置,但可以使用其他配置,而不背离本公开的范围。例如,图20.1和图20.2中的各种部件可以被组合,以创建单个部件。作为另一示例,由单个部件执行的功能可以由两个或更多个部件执行。
转向图21,图21示出了根据一个或多个实施例的流程图。具体地,图21描述了用于储存和/或提供数据到钻井管理网络中的网络装置的方法。图21中的一个或多个框可以由在图1、2、20.1和20.2中描述的一个或多个部件(例如,数据管理控制器A(2010))执行。尽管图21中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框2100中,根据一个或多个实施例在钻井管理网络与远程装置之间建立网络连接。例如,网络连接可以是低通量网络连接,其将钻机特定数据和/或通用钻机数据传输到钻井管理网络。可以由在钻井管理网络上操作的数据管理控制器建立网络连接。特别地,可以在预定时间建立网络连接特定间隔以允许传输数据,而不干扰钻井或生产操作。例如,预定时间可以对应于控制系统下线和/或远程用户不太可能在远程网络连接上访问钻井管理网络的时间。
在框2110中,根据一个或多个实施例从网络连接并在钻井管理网络处获取数据。对于去往钻井管理网络的数据传输,可以存在各种限制。例如,低通量网络连接可以具有高延迟和受限的可用性或下行链路时间。因此,可以传输少量的数据而没有问题,而大量数据传输可能涉及多天来完成数据传输。数据管理控制器可以保持一个或多个时间间隔上的持续数据传输以在框2110获取数据。
在框2120中,根据一个或多个实施例确定与预定数据类型相关联的一个或多个持久储存体装置。例如,可以基于预定组的数据类型来识别从网络连接获取的数据。例如,数据可以包括嵌入元数据,其指定数据的一个或多个数据类型。另一方面,数据管理控制器或其他网络装置可以基于数据发送者分析数据,以确定与数据相关联的数据类型。
在框2130中,根据一个或多个实施例,数据储存在与预定数据类型相关联的一个或多个持久储存体装置中。响应于确定与数据相关联的数据类型,可以在钻井管理网络上将数据中继到对应的持久储存体装置。储存进程可以包括记录数据何时被源传输和/或在钻井管理网络获取的时间戳。同样,数据可以进入到一个或多个数据库以用于后面访问。例如,如果数据对应于软件图像,则数据管理控制器可以基于软件版本以及使用基于软件图像的软件应用程序的任意控制系统储存软件图像。
在框2140中,根据一个或多个实施例使用一个或多个持久储存体装置将数据提供到一个或多个网络装置。例如,数据管理控制器可以充当获取对数据的请求与向寻找数据的网络装置提供访问之间的媒介。此外,一旦数据储存在持久储存体装置中,持久储存体装置可以直接获取对数据的请求,并相应地提供对数据的访问。
在一个或多个实施例中,使用跳主机将数据从持久储存体装置提供到网络装置。例如,跳主机可以实现被建立和终止的临时通道,以便调控对持久储存体装置的授权的访问。例如,临时通道可以将网络装置访问限制为特定时间和/或特别地授权的网络装置。从而,临时通道可以在授权的时段期间提供位于不同安全区中的网络装置之间的通信路径。在一个或多个实施例中,临时通道是交换虚拟连接。例如,交换虚拟连接可以包括钻井管理网络中的两个安全区上的硬件和/或软件以实现虚拟连接。从而,当交换虚拟连接“开放”时,虚拟连接不可以存在在临时通道上。当交换虚拟连接“关闭”时,形成对应于临时虚拟电路的虚拟连接。然后临时虚拟电路可以在两个安全区之间提供网络流量的传输(诸如持久储存数据)。
在框2150中,根据一个或多个实施例,为提供到一个或多个网络装置的数据确定数据传输的一个或多个链。特别地,数据传输链可以包括关于数据如何进入和被钻井管理网络内的网络装置使用的信息。例如,数据传输链可以由持久储存体装置、数据管理控制器或钻井管理网络中的其他网络装置确定和/或储存。在一些实施例中,数据传输链描述源(例如,将特定数据传输到钻井管理网络的远程装置的识别信息),诸如一个或多个时间戳的日期信息,和关于数据何时进入钻井管理网络并到一个或多个持久储存体装置的其他信息。数据传输链还可以描述由从相应的持久储存体装置访问数据的各种网络装置使用数据。在一些实施例中,数据传输链包含关于在登台操作、验证操作和/或生产操作中使用特定数据的信息。
在一些实施例中,为了确定数据传输链,数据管理控制器记录时间戳、版本信息、数据请求、编辑历史,和关于与一个或多个持久储存体装置相关联的数据的其他元数据。例如,数据管理控制器可以记录由网络装置传输到持久储存体装置的任意数据请求。同样,数据管理控制器可以记录对软件和在登台操作、验证操作和/或生产操作期间产生的其他数据的修改。从而,基于一旦离开和/或重新转向持久储存体装置对数据执行的改变,持久储存体装置可以包括多个版本的相同数据。
在一些实施例中,网络装置或操作员分析数据传输链以识别钻井管理网络内的一个或多个问题。例如,如果修改的软件代码产生故障的控制系统,数据传输链可以识别软件代码何时被一个或多个网络装置修改。同样,使用数据传输链,可以识别执行了相似修改的其他软件图像。相比之下,在没有数据传输链的情况下,修改的日期、类型和/或源可能在分析故障的控制系统期间未知。
转向图22,图22示出了根据一个或多个实施例的流程图。具体地,图22描述了用于从钻井管理网络上的一个或多个持久储存体装置访问数据的方法。图22中的一个或多个框可以由图1、2、20.1和20.2中所描述的一个或多个部件(例如,数据管理控制器A(2010))。尽管图22中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框2200中,根据一个或多个实施例从钻井管理网络中的网络装置获取数据的请求。例如,用户可以在钻井管理网络上的用户装置提供用户输入,以访问持久储存体装置中的数据。请求可以是识别数据、具有数据的持久储存体装置,和/或与数据相关联的数据类型的消息。从而,请求可以直接传输到对应的持久储存体装置。在另一实施例中,数据管理控制器可以例如基于预定数据类型而识别具有数据的持久储存体装置,并相应地中继请求。
在框2210,根据一个或多个实施例,执行确定钻井管理网络的一个或多个网络操作条件是否对应于一个或多个生产条件。例如,数据管理控制器、持久储存体装置,和/或另一网络装置可以监视钻井管理网络,以确定识别钻井操作或产生操作的网络操作条件是否正发生在网络。例如,虚拟化服务管理器可以确定钻井操作和/或生产操作是否存在于网络中,并且传输网络操作条件处于生产条件的通知。
在框2220,根据一个或多个实施例执行确定哪些持久储存体装置与一个或多个网络操作条件相关联。在一个或多个实施例中,例如,可以基于数据用于登台条件还是生产条件隔离持久储存体装置。具体地,生产条件的持久储存体装置可以包括软件图像、数据模型和正在钻井操作或生产操作中使用的其他类型的数据。从而,可以由一个或多个控制系统将数据校验为稳定以由一个或多个控制系统使用。同样,登台持久储存体装置可以包括未测试数据和/或正在经受钻井管理网络的校验的数据。
在一些实施例中,例如,多个持久储存体装置位于数据资源库中。在数据资源库内,登台持久储存体装置与生产持久储存体解耦。例如,在正常钻机操作期间,钻机上的控制系统将连接到生产持久储存体。在登台测试期间,控制系统切换到登台持久储存体装置,以便防止测试阶段期间生产数据的损坏和破坏软件构建。此外,在登台期间,生产持久储存体可以变为钻井管理网络中的各种控制系统和网络装置的数据备份。
在框2230,根据一个或多个实施例,使用与一个或多个网络操作条件相关联的一个或多个持久储存体装置将数据传输到网络装置。
转向图23,图23提供使用钻井管理网络的数据储存架构更新软件的示例。以下示例仅出于解释目的,而不意图限制所公开技术的范围。
图23示出了耦接到在虚拟化服务管理器O(2360)上操作的生产虚拟机R(2342)的数据管理控制器Z(2310)、各种控制系统Q(2315)、软件图像的登台储存体(2371),以及软件图像生产储存体(2372)。数据管理控制器Z(2310)监视控制系统Q(2315),以检测与钻井管理网络(未示出)相关联的各种网络操作条件(2305)。初始地,数据管理控制器Z(2310)获取在生产虚拟机R(2342)中更新软件的请求。登台虚拟机R(2341)或虚拟化服务管理器O(2360)可以将请求传输到数据管理控制器Z(2310)。在另一实施例中,数据管理控制器Z(2310)例如通过访问互联网自动地检测在生产虚拟机R(2342)中操作的软件应用程序的初始软件更新(2325)。
响应于获取更新软件的请求,数据管理控制器Z(2310)和/或虚拟化服务管理器O(2360)确定生产操作是否正发生在钻井管理网络上。一旦生产操作停止,虚拟化服务管理器O(2360)终止生产虚拟机R(2342)并生成登台虚拟机R(2341)。登台虚拟机R(2341)可以是具有与生产虚拟机R(2342)相似功能的虚拟机实例。例如,登台虚拟机R(2341)可以包括附加功能,以除错(debug)和/或监视结合登台虚拟机R(2341)执行的软件进程或硬件进程。
因此,虚拟化服务管理器O(2360)可以在生产虚拟机R(2342)中实现之前在登台虚拟机R(2341)上测试初始软件更新(2325)。从而,虚拟化服务管理器O(2360)可以在实际生产条件下实现之前校验登台虚拟机R(2341)上的软件构建是否稳定并能够在测试条件下执行各种控制进程。同样,可以例如通过改变配置设置、调整与对对应于由一个或多个控制系统执行的软件更新相关联的进程等在登台虚拟机R(2341)上修改初始软件更新(2325)中的软件代码。
一旦生成登台虚拟机R(2341),数据管理控制器Z(2310)访问储存初始软件更新(2325)的登台储存体(2371)。然后数据管理控制器Z(2310)将初始软件更新(2325)传输到登台虚拟机R(2341)以安装。登台虚拟机R(2341)可以操作更新的软件,对初始软件更新(2325)执行修改,并且执行各种测试以替换虚拟机,直到执行确定更新的软件可以在生产虚拟机中使用为止。
此外,初始软件更新(2325)或修改的软件更新可以被操作员、其他网络装置、其他登台虚拟机等进一步验证。在验证之后,如果更新准备好在钻井操作中实现,则验证的软件更新(2326)可以放置在登台储存体(2371)和/或生产储存体(2372)中。因此,然后数据管理控制器Z(2310)可以将验证的软件更新(2326)的拷贝分发到钻井管理网络中的网络装置。
智能传感器装置集成
总体上,本公开的实施例包含用于在钻井管理网络上通信传感器数据的系统、传感器装置和各种方法。转向图24,图24示出了根据一个或多个实施例的系统的框图。如图24,钻井管理网络(2430)可以包括人机界面(HMI)(例如,HMI(2433))、历史记录器(例如,历史记录器(2437)),和各种网络元件(例如,网络元件(2431))。人机界面可以是耦接到钻井管理网络(2430)的硬件和/或软件。例如,HMI(2433)可以允许操作员与钻井系统交互,例如,以发送命令来操作设备,或观察来自钻井设备的传感器信息。人机界面可以包括用于呈现数据和/或接收来自用户的关于各种钻井操作和/或维护操作的输入的功能。例如,人机界面可以包括软件以提供图形用户界面(GUI),以用于呈现数据和/或接收操作钻机的控制命令。网络元件可以指网络内的各种硬件部件,诸如交换机、路由器、总线或用于联合网络上的一个或多个物理装置的任意其他逻辑实体。特别地,网络元件、人机界面和/或历史记录器可以是相似于计算系统(3400)图34.1和图34.2和随附描述中所描述的计算系统。
在一个或多个实施例中,智能传感器装置(例如,智能传感器装置X(2420))耦接到钻井管理网络(2430)。特别地,智能传感器装置可以包括硬件和/或软件,其包含获取一个或多个传感器测量的功能,例如,靠近智能传感器装置的环境条件的传感器测量。智能传感器装置可以将传感器测量处理为各种类型的传感器数据(例如,传感器数据(2417))。例如,智能传感器装置X(2420)可以包括将从传感器电路(例如,传感器电路(2424))获取的传感器测量转换为可以在钻井管理网络(2430)上通过通信接口(例如,通信接口(2421))传输的通信协议格式的功能。智能传感器装置可以包括压力传感器、扭矩传感器、转动开关、重量传感器、位置传感器、微动开关等。
此外,智能传感器装置可以包括处理器(例如,处理器(2421))、通信接口(例如,通信接口(2422))、存储器(例如,存储器(2423)),以及传感器电路(例如,传感器电路(2424))。处理器可以相似于以下图34.1和随附描述中描述的计算机处理器(3402)。通信接口(2422)可以相似于以下图34.1和随附描述中描述的通信接口(3412)。存储器(2423)可以相似于以下图34.1和随附描述中描述的非持久储存体(3404)和/或持久储存体(3406)。传感器电路(2424)可以相似于图1和随附描述中描述的各种传感器(例如,钩负载传感器(94)、车传感器(95)、压力传感器(92)等)。
在一个或多个实施例中,钻井管理网络(2430)可以包括钻井设备(例如,钻井设备(2432)),诸如绞车(60)、顶部驱动器、泥浆泵和以上图1和随附描述中描述的其他部件。钻井管理网络(2430)还可以包括各种钻井操作控制系统(例如,钻井操作控制系统(2435))和各种维护控制系统(例如,维护控制系统(2436))。钻井操作控制系统和/或维护控制系统可以包括例如可编程逻辑控制器(PLC),其包含具有控制由钻机执行的一个或多个进程的功能的硬件和/或软件,包含但不限于图1中所描述的部件。具体地,可编程逻辑控制器可以控制阀状态、液位、管压力、警告警报和/或整个钻机的压力释放。特别地,可编程逻辑控制器可以是加固的计算机系统,其具有例如钻机周围的经受震动、极端温度、潮湿条件和/或灰尘条件的功能。在不失普遍性的情况下,术语“控制系统”可以指用于操作和控制设备的钻井操作控制系统,用于获取钻井过程和设备数据和监视钻井过程的操作的钻井数据获取和监视系统,或用于分析和理解钻井事件和进展的钻井解译软件系统。
此外,钻井操作控制系统和/或维护控制系统可以指控制系统,其包含钻井管理网络(2430)内的多个PLC。例如,控制系统可以包括控制以上图1和随附描述中描述的系统、部件和/或子部件的操作的功能。因此,钻井操作控制系统(2435)的一个或多个可以包括监视和/或执行关于图1和随附描述描述的泥浆循环系统、旋转系统、提升系统、管处理系统和/或各种其他钻井活动的各种钻井过程的功能。同样,维护控制系统(2436)中的一个或多个可以包括监视和/或执行关于位于钻机周围的钻井设备的各种维护活动的功能。尽管钻井操作控制系统和维护控制系统在图24中示出为分开的装置,在一个或多个实施例中,钻机上的可编程逻辑控制器和其他钻井设备(2432)可以同时用于钻井操作控制系统和维护控制系统。
在一个或多个实施例中,智能传感器装置包含与钻井管理网络上的一个或多个装置和/或系统(例如,网络控制器(2438)、钻井操作控制系统(2435)、维护控制系统(2436))建立网络连接(例如,网络连接(2440))的功能。在一个或多个实施例中,例如,网络连接(2440)可以是以太网连接,其建立智能传感器装置X(2420)的互联网协议(IP)地址。相应地,钻井管理网络(2430)上的一个或多个装置和/或系统可以使用以太网网络协议将数据包传输到智能传感器装置X(2420)和/或从智能传感器装置X(2420)接收数据包。例如,可以使用通信协议在钻井管理网络(2430)上以数据包发送传感器数据(例如,传感器数据(2415))。传感器数据可以包括传感器测量、基于一个或多个底层传感器测量或参数的处理的传感器数据,关于传感器装置的元数据(诸如时间戳和传感器装置识别信息、内容属性),传感器配置信息(诸如偏移、转换因子等)。因此,智能传感器装置X(2420)可以充当钻井管理网络(2430)上的主机装置,例如作为钻井管理网络(2430)上的网络节点和/或端点。在一个实施例中,一个或多个智能传感器可以通过以太网供电网络连接到钻井管理网络。
在一个或多个实施例中,钻井管理网络(2430)可以包括通信总线(例如,通信总线(2439))。例如,通信总线(2439)可以包括硬件,诸如可以连接钻井管理网络(2430)上的一个或多个网络元件的网络部件、连线、光纤等。同样,通信总线(2439)可以包括软件,诸如一个或多个通信协议,其包含用于在装置(例如,智能传感器装置X(2420)和各种钻井管理网络上的控制系统(2430))之间传输传感器数据的功能。此外,钻井管理网络(2430)可以包括各种网络元件(例如,网络元件(2431))和/或现场用户设备(例如,现场用户设备(2434))。例如,现场用户设备可以包括位于钻机周围的电话系统、各种用户的个人计算机、打印机、应用服务器和/或文件服务器。
钻井管理网络(2430)还可以包括网络控制器(2438)。在一个或多个实施例中,例如,网络控制器(2438)包含软件和/或硬件,其包含用于从控制系统接收请求以订阅相关的传感器装置的功能。同样,网络控制器(2438)可以实现在整个钻井管理网络(2430)上传输传感器数据的一个或多个通信协议。例如,网络控制器(2438)可以是实现在钻井管理网络(2430)中的多个网络元件上的软件限定的网络(SDN)控制器。
尽管图24示出了部件的各种配置,但可以使用其他配置,而不背离本公开的范围。例如,图24中的各种部件可以被组合,以创建单个部件。作为另一示例,由单个部件执行的功能可以由两个或更多个部件执行。
转向图25,图25示出了根据一个或多个实施例的流程图。具体地,图25描述了用于通信传感器数据的方法。图25中的一个或多个框可以由图1、2和/或24所描述的一个或多个部件(例如,智能传感器装置X(2420))执行。尽管图25中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框2500中,根据一个或多个实施例在钻井管理网络上的传感器装置之间建立网络连接。例如,传感器装置可以对钻井管理网络形成网络连接(诸如以太网连接)。可以使用密码和/或来自传感器装置的其他识别信息认证网络连接。在一个或多个实施例中,例如,传感器装置具有即插即用功能,其中传感器装置可以直接与各种网络元件和/或钻井管理网络上的控制系统通信。此外,传感器装置可以相似于图24和随附描述中描述的智能传感器装置X(2420)。在一个或多个实施例中,传感器装置连接到钻井管理网络,而无需中间层,例如,在传感器装置和钻井管理网络之间相接的中间层计算机。在一个实施例中,钻井管理网络可以使用通信中间件(诸如发布者和接收者)以在不同网络节点之间交换数据。通信中间件的示例是分布式数据服务(DDS)。智能传感器可以支持该通信中间件,使得当连接到钻井管理网络时它的信息可以容易地与其他网络节点共享。
在框2510中,根据一个或多个实施例使用传感器电路生成一个或多个传感器测量。特别地,传感器装置可以使用传感器电路来检测一个或多个环境条件(诸如温度、压力、扭矩等),接近传感器装置。传感器测量可以是由传感器装置获取的数字和/或模拟读数。
在框2520中,根据一个或多个实施例使用一个或多个预储存算法处理一个或多个传感器测量以产生传感器数据。在一个或多个实施例中,例如,传感器装置将传感器测量(例如,mA或伏特)转换为传感器数据(例如,磅力或psi)。特别地,传感器测量和/或传感器数据可以被转换为预定通信协议格式以在钻井管理网络上传输。例如,预储存算法可以对应于特定类型的网络包内的各种数据框架。在一个或多个实施例中,一个或多个PLC能力(例如,数据计算和/或数据通信)被集成在传感器装置内。从而,传感器数据处理可以在传感器级处实现以允许与钻井管理网络集成。
此外,传感器装置可以与传感器测量结果一起将其他信息插入到传感器数据中。例如,传感器数据可以包括发布者信息,诸如关于传感器装置、源地址等的硬件识别信息。在一个或多个实施例中,例如,传感器装置可以插入信息,通信协议使用该信息识别订阅者,诸如标签、元数据、内容属性和其他数据。
在一个或多个实施例中,预储存算法是多变量等式。例如,预储存算法可以获取一个或多个变量的多个输入以生成传感器数据。框2510中的传感器测量可以是对预储存算法的一个输入,而其他输入可以对应于其他参数。例如,预储存算法可以是压力等式,其具有力和表面积作为对压力等式的输入。传感器电路可以获取力测量,而表面积可以被静态和/或动态输入到压力等式。这些静态和/或动态输入可以在开始计算和传输传感器数据到钻井管理网络之前预配置在传感器装置上。例如,用户可以在钻井管理网络上远程地登录到传感器装置中,并且更新等式中的表面积的值。传感器数据可以是使用由传感器电路检测的更新值的表面积和当前力值的压力等式的输出。
对于流体容量计算,传感器装置可以测量储罐中液位的高度,而储罐的尺寸可以是在操作之前配置的静态值。要传输到钻井管理网络的传感器数据可以包括流体容量和液位两者以及其他。同样,传感器装置可以从传感器装置上的传感器电路或从连接到钻井管理网络的外部传感器装置获取温度的传感器测量。同样,容量计算的相应的值(诸如储罐的尺寸)可以是储存在传感器装置上的数据值,其可以在储罐的尺寸改变的情况下更新,例如当在钻井系统中使用不同泥浆储罐时。
在框2530,根据一个或多个实施例使用一个或多个通信协议在钻井管理网络上传输传感器数据。例如,使用通信接口,传感器装置可以将传感器数据传输到钻井管理网络中的一个或多个控制系统、一个或多个传感器装置和/或一个或多个网络元件。在一些实施例中,传感器数据包含传感器装置识别信息、传感器质量信息和/或传感器装置配置信息。例如,通信协议可以允许传感器装置将传感器数据在IP多播发送到钻井管理网络上的各种控制系统和网络元件。因此,通信协议可以允许各种装置(诸如在网络元件上操作的传感器装置和软件应用程序)以即插即用方式工作。在一个或多个实施例中,例如,通信协议包含数据分布服务(DDS)通信协议。
转向图26.1和图26.2,图26.1和26.2提供了在钻井管理网络上传输传感器数据的示例。以下示例仅出于解释目的,而不意图限制所公开技术的范围。
转向图26.1,图26.1图示了传感器装置Y(2621),其具有对钻井管理网络A(2630)的网络连接。如图26.1,通信路径X(2681)在传感器装置Y(2621)与可编程逻辑控制器A(2661)之间存在于钻井管理网络A(24630)上。特别地,传感器装置Y(2621)将传感器数据Y(2616)传输到可编程逻辑控制A(2661),其中传感器数据Y(2616)可用于由可编程逻辑控制A(2661)和/或由耦接到可编程逻辑控制器A(2661)的中间层计算机(2640)执行的一个或多个应用程序。从而,传感器装置Y(2621)可以与连接到钻井管理网络A(2630)的可编程逻辑控制器A(2661)或任意其他网络元件直接通信,诸如中间层计算机(2640)。
继续参考图26.1,PLC A(2661)可以处理从传感器装置X(2614)获取的传感器测量结果并以与传感器数据Y(2616)的通信协议格式不同的可消化格式将其输出到中间层计算机(2640)。在没有中间层计算机(2640)的情况下,来自传感器装置X(2614)的传感器测量结果可以不通过钻井管理网络(2630)以可识别通信协议格式传输,以由其他网络装置(例如,传感器装置Y(2621))使用。相比之下,传感器装置Y(2621)可以将传感器测量结果处理为通信协议格式,其可以由具有对钻井管理网络A(2630)的网络连接的任意装置解译。
转向图26.2,图26.2图示了控制系统X(2635),其从传感器装置M(2622)和传感器装置N(2623)接收传感器数据。特别地,传感器数据M(2617)可以通过通信路径I(2682)被从传感器装置M(2622)传输到控制系统X(2635)。同样,传感器数据N(2618)可以通过通信路径J(2683)被从传感器装置N(2623)传输到控制系统X(2635)。如图26.1和图26.2,通信路径(2681,2682,2683)可以是跨越钻井管理网络A(2630)上的各种网络节点的逻辑路径。例如,通信路径(2681,2682,2683)可以包括相同和/或不同的网络元件、共同通信总线和/或在传感器装置(2622,2623)与控制系统X(2635)之间改变网络拓扑。
转向图27,图27示出了根据一个或多个实施例的流程图。具体地,图27描述了用于通信传感器数据的方法。图27中的一个或多个框可以由图1、2、24、26.1和/或26.2中描述的一个或多个部件(例如,钻井管理网络(2430))。尽管图27中的各框按顺序呈现和描述,但本领域普通技术人员将理解,一些或全部框可以以不同顺序执行,可以组合或省略,并且一些或全部框可以并行执行。另外,框可以主动或被动执行。
在框2700中,根据一个或多个实施例在一个或多个传感器装置与钻井管理网络之间建立网络连接。框2700可以相似于以上在图25和随附描述中描述的框2500。
在框2710中,根据一个或多个实施例获取来自一个或多个控制系统的一个或多个请求以订阅传感器数据。例如,使用通信协议,控制系统可以请求控制系统在钻井管理网络上的特定虚拟网络或域中被识别为对特定传感器装置和/或类型的传感器数据的订阅者。从而,在该特定虚拟网络或域中公布数据的智能传感器装置可以被该控制系统订阅。然而,在另一虚拟网络或域中公布的智能传感器装置可以对该控制系统可见而无法被该控制系统订阅。
在框2720中,根据一个或多个实施例,一个或多个控制系统被指定为对传感器数据的订阅者。例如,一个或多个通信协议可以实现软件架构,其允许钻井管理网络上的和/或连接到钻井管理网络的各种网络元件之间的发布-订阅模型。如果相应的控制系统或相应的控制系统的部件是特定虚拟网络或域中的特定传感器装置的订阅者,则来自传感器装置的传感器数据可以相应地被中继到相应的控制系统或相应的控制系统的部件。例如,如果传感器装置具有五个订阅者,则每次通过钻井管理网络广播传感器数据时,来自传感器装置的传感器数据可以被传输到五个订阅者中的每一个。从而,传感器装置可以充当发布-订阅模型中的发布者。在一些实施例中,钻井管理网络在允许在网络上公布或订阅时使用安全证书来认证装置。
此外,在指定控制系统作为订阅者时,通信协议可以实现基于主题的系统和/或基于内容的系统。在基于主题的系统中,根据一个或多个逻辑信道通过钻井管理网络传输传感器数据。例如,响应于成为订阅者的请求,控制系统可以被指定以接收分配到与订阅相关联的特定信道的传感器数据。从而,通信协议可以根据IP地址、硬件地址和其他识别信息识别特定信道的订阅者,并将传感器数据中继到信道的订阅者。
在基于内容的系统中,订阅者限定一个或多个内容属性以分析传感器数据。在一个或多个实施例中,例如,内容属性对应于传感器数据的种类。例如,传感器数据种类可以包括不同类型的传感器数据,诸如温度数据、压力数据、警报通知等。此外,可以根据诸如泥浆泵的特定设备限定种类。从而,传感器数据的种类可以包括获取的关于泥浆泵的任意传感器数据。同样,通信协议、订阅者和/或另一网络元件可以分析传感器数据,以确定传感器数据是否匹配一个或多个内容属性。例如,内容属性可以储存在传感器数据的元数据中。同样,内容属性可以包括基于时间的属性,诸如关于在特定时段获取的传感器测量的数据。在另一示例中,内容属性可以对应于不同类型的传感器数据,诸如压力数据、温度数据、扭矩数据等。内容属性还可以指定钻机上的特定类型的设备,例如,关于泥浆泵的传感器数据。在一个或多个实施例中,例如,维护控制系统订阅钻机周围的温度数据。因此,维护控制系统可以接收关于温度数据的任意传感器数据。
在框2725,根据一个或多个实施例,将一个或多个传感器装置和/或一个或多个控制系统认证为发布者和/或订阅者。在一些实施例中,例如,可以通过钻井管理网络提供各种安全过程和/或安全协议,其确保仅受信任的和认证的参与者(例如,发布者和/或订阅者)被允许公布和/或订阅特定虚拟网络或域中的传感器数据。此外,传感器装置和/或控制系统可以获取安全证书,其将相应的装置识别为钻井管理网络上的发布者和/或订阅者。例如,安全证书可以是数字钥,其授权传感器装置和/或控制系统在虚拟网络上传输数据到其他授权的传感器装置和/或控制系统。在一些实施例中,钻井管理网络上的网络控制器可以在从不同类型的传感器数据添加和/或去除订阅者和/或对各种装置颁布安全证书之间充当网络代理。在一些实施例中,控制系统可以发送请求以取消对特定类型的传感器数据和/或传感器装置的订阅。
在框2730中,根据一个或多个实施例从一个或多个传感器装置获取传感器数据。例如,钻井管理网络可以在与传感器装置的网络连接上获取传感器数据。
在框2740中,根据一个或多个实施例在钻井管理网络上选择控制系统。例如,控制系统可以由在网络上操作的通信协议选择或由管理通信协议的网络控制器选择。
在框2750中,据根据一个或多个实施例,执行确定控制系统是否是传感器数的订阅者。例如,通信协议可以迭代地选择与特定类型的传感器数据和/或传感器装置相关联的控制系统。在一些实施例中,对传感器数据的订阅对应于钻井管理网络上的虚拟网络。因此,在钻井管理网络上操作的通信协议可以分析控制系统持有的各种安全证书,以确定控制系统或传感器装置是否具有用于访问虚拟网络的对应的安全证书。如果控制系统具有订阅者安全证书,则控制系统可以在虚拟网络上获取传感器数据。同样,如果传感器装置具有发布者安全证书,则传感器装置可以传输数据到虚拟网络上的其他装置。
使用来自框2730的传感器数据,例如,钻井管理网络可以选择作为传感器数据的订阅者的控制系统。同样,在框2740和框2750中,可以选择不同控制系统,以确定相应的控制系统是否是传感器数据的订阅者。当执行确定控制系统是订阅者时,过程可以前进到框2760。当执行确定控制系统不是订阅者时,过程可以返回到框2780。
在框2760,根据一个或多个实施例将传感器数据传输到控制系统。例如,可以以与以上在框2530和随附描述的相似方式传输传感器数据。此外,传感器数据可以被导向到控制系统上的一个或多个部件。例如,控制系统可以包括多个PLC。从而,例如,控制系统中的两个PLC可以使用传感器数据,而控制系统中的第三PLC可以忽略传感器数据。同样,尽管控制系统可以是发布者或订阅者或两者,但诸如单独PLC的一个或多个部件也可以是钻井管理网络上的发布者和/或订阅者。
在框2770中,根据一个或多个实施例使用传感器数据在控制系统执行一个或多个钻井操作。例如,传感器数据可以用于关于钻机的一个或多个钻井操作和/或维护操作。通过与传感器装置直接通信,可以在传感器装置上和/或结合传感器装置执行各种远程校准操作。例如,钻井管理网络中的可以使用来自传感器装置的传感器数据校准其他钻井设备。
另外,通过直接从传感器装置获取传感器数据,可以减少钻机的正常操作时间和停机时间。例如,在硬件或软件故障存在于包含传感器装置、中间层计算机和可编程逻辑控制器的系统中时,故障可能需要在系统的部件之间被独立校验。另一方面,当传感器数据识别硬件或软件故障时,故障可以在产生传感器数据的传感器装置处被诊断。例如,网络控制器或远程用户可以分析传感器,以确定传感器电路是否不满足一个或多个预定标准。响应于分析传感器数据,例如,可以调整传感器装置中的各种设置,以便解决故障并满足预定标准。从而,直接从传感器装置获取传感器数据可以减少由传感器装置的故障导致的非生产时间。还可能存在其他机会,诸如传感器装置上的预防性维护。
在一些实施例中,例如,订阅者控制系统响应于分析来自发布者传感器装置的传感器数据自动地重新配置发布者传感器装置。预定标准可以是由发布者传感器装置中的传感器电路获取的传感器测量的误差带。通过分析公布的传感器数据,订阅者控制系统可以检测传感器电路的偏移误差。从而,控制系统可以在钻井管理网络上直接连接到发布者传感器装置,以自动地调整发布者传感器装置上的一个或多个设置,以使来自传感器装置的传感器测量满足误差带。
在框2780,根据一个或多个实施例执行确定钻井管理网络中是否存在另一订阅者。当执行确定传感器数据尚未被发送到一个或多个订阅者时,过程可以前进到框2740。当执行确定传感器数据不存在更多订阅者时,过程可以结束。
此外,在一个或多个实施例中,以上在图25和图27中描述的过程可以允许传感器数据共享和通信,而不需使用可编程逻辑控制器。例如,在中央系统中,例如从传感器装置到软件应用程序的数据传输的各种逻辑信道可能必须在整个钻井过程中被建立、配置并维护。因此,维护这样的中央系统可能增加成本。特别地,无论成本是否包含添加网络元件、去除或替换网络元件,相关可能指数增长。从而,图25和图27中所描述的过程可以允许传感器装置和/或钻井管理网络去中央化传感器数据通信。
尽管以上图24、25、26.2和/或27结合所公开技术描述各种控制系统,在一些实施例中,以上描述的各种过程还可以应用于获取系统、工作监视系统,和/或数据解译软件系统。例如,来自智能传感器装置的相同的传感器数据可以传输到控制系统、工作监视系统、数据获取系统,以及数据解译软件系统。
智能钻井控制系统调试
总体上,本公开的实施例包含用于生成和/或使用钻机控制系统的知识图的系统和各种方法。在一个或多个实施例中,知识图包含对应于钻机控制系统的部件的节点和连接节点以表示对应对的部件之间的相互作用的链接。在一个或多个实施例中,每个链接至少表示数据通信的目标测量和对应对的部件的资源利用。
在一个或多个实施例中,钻机控制系统是层级式的,并且包含第一层级和第二层级。第一层级包含子系统和硬件部件(例如,钻井设备和支持工具),而第二层级包含安装在每个子系统上的软件部件。在一个或多个实施例中,安装有软件部件的每个子系统与钻井操作的一方面相关联,并且用于控制硬件部件的专用于钻井操作的特定方面的一部分。
在一个或多个实施例中,知识图包含总体钻机控制系统知识图和若干子系统知识图。总体钻机控制系统知识图对应于第一层级,并且子系统知识图对应于第二层级。在一个或多个实施例中,通过在正常钻井操作期间将机器学习算法应用于钻机控制系统生成知识图。在一个或多个实施例中,知识图被用作执行钻机控制系统的管理任务的标准。在一个或多个实施例中,知识图被用于辅助钻机调试,特别是在钻机控制系统的调试中。如本文中所使用的,术语“调试”是指使钻机达到工作顺序,其可以在钻机操作之前或期间任意时间执行,并且可以执行一次或在整个钻机操作中周期性执行。
图28示出了系统的框图根据一个或多个实施例。在本公开的一个或多个实施例中,图28中所示的元件的一个或多个可以省略、重复和/或替代。相应地,本公开的实施例不应认为限制于图28中所示的模块的特定布置。
如图28所示,钻机控制系统(2800)耦接到人机界面(HMI)(2820),人机界面允许用户控制以上参考图1描述的钻井系统的操作。人机界面可以是硬件和/或软件,其耦接到钻机控制系统(2800),并且包含用于呈现数据和/或接收来自用户的关于在钻机控制系统(2800)内执行的各种钻井操作和/或维护操作的输入的功能。例如,人机界面可以包括软件,以提供用于呈现数据和/或接收用于操作钻机的控制命令的图形用户界面(GUI)。
在一个或多个实施例中,钻机控制系统(2800)包含若干子系统(例如,子系统A(2801a)、子系统B(2801b))和硬件部件(例如,硬件部件A(2802a)、硬件部件B(2802b)、硬件部件C(2802c))。硬件部件可以包括与钻机(12)相关联的钻井设备和其他工具,如以上参考图1所描述的。例如,硬件部件A(2802a)可以对应于泥浆子系统,硬件部件B(2802b)可以对应于旋转子系统,并且硬件部件C(2802c)可以对应于网络元件。网络元件可以包括网络内的物理装置,诸如交换机、路由器、总线或用于在子系统和其他硬件部件之间建立通信连接的任意其他逻辑实体。
子系统(例如,子系统A(2801a)、子系统B(2801b))可以包括例如具有硬件和/或软件的可编程逻辑控制器(PLC),硬件和/或软件具有控制由钻机(12)执行的一个或多个进程的功能,包含但不限于图1中所描述的部件。特别地,PLC可以是加固的计算机系统,其具有例如钻机(12)周围的经受震动、极端温度、潮湿条件和/或灰尘条件的功能。具体地,PLC可以控制阀状态、液位、管压力、警告警报和/或整个钻机(12)以及相关联的硬件部件A(2802a),硬件部件B(2802b)等上的压力释放。因此,钻机控制系统(2800)的一个或多个部件可以包括监视和/或执行关于以上参考图1描述的泥浆循环系统、旋转系统、管处理系统和/或各种其他钻井活动的各种钻井过程的功能。在一个或多个实施例中,子系统(例如,子系统A(2801a)、子系统B(2801b))和硬件部件(例如,硬件部件A(2802a)、硬件部件B(2802ba)、硬件部件C(2802c))共同地称为形成钻机控制系统(2800)中的第一层级的第一层级部件。相应地,每个第一层级部件的底层硬件和/或软件元件共同地称为形成钻机控制系统(2800)中的第二层级的第二层级部件。在此背景下,钻机控制系统(2800)包含层级式部件结构。
在一个或多个实施例中,钻机控制系统(2800)的部件通信地耦接到钻机调试系统(2810)并由钻机调试系统(2810)管理,钻机调试系统(2810)是计算系统,其配置为执行钻机控制系统(2800)的一个或多个管理任务。在一个或多个实施例中,钻机调试系统(2810)允许全部部件在钻机控制系统(2800)中经由单个HMI(2820)的联合的调试(或执行其他管理任务)。换而言之,使用钻机调试系统(2810)降低钻机控制系统(2800)中的每个部件经由多个非集成HMI的多个单独调试的复杂度。
在一个或多个实施例中,管理任务包含软件调试任务、网络调试任务、诊断任务等。在一个或多个实施例中,钻机调试系统(2810)生成知识图,其描述钻机控制系统(2800)的正常操作。知识图具有层级式结构,其对应于钻机控制系统(2800)的层级式部件结构。在一个或多个实施例中,钻机调试系统(2810)在钻机控制系统(2800)的正常操作期间使用机器学习算法来生成知识图。机器学习算法可以基于随机的、数值的和统计学的分析技术中的一个或多个。在一个或多个实施例中,使用知识图来在钻机控制系统(2800)的异常操作期间执行诊断任务。在一个或多个实施例中,钻机控制系统(2800)的知识图用来执行软件和网络调试任务,以配置与在之上训练钻机调试系统(2810)的钻机控制系统(2800)分开的新的钻机控制系统。例如,由钻机调试系统(2810)调试的新的钻机控制系统可以用于控制与由钻机控制系统(2800)控制的钻机(12)分开的不同钻机。
在一个或多个实施例中,钻机调试系统(2810)使用以下参考图29描述的方法执行上述各种功能。以下参考图31-32描述知识图。在一个或多个实施例中,钻机调试系统(2810)、人机界面(2820)和钻机控制系统(2800)的各种部件可以是相似于参考图34.1和图34.2描述的计算系统(3400)的计算系统。在一个或多个实施例中,钻机调试系统(2810)与钻机控制系统(2800)分开并与之通信。在一个或多个实施例中,钻机调试系统(2810)和钻机控制系统(2800)组合为集成的系统。
图29示出了根据一个或多个实施例的流程图。在一个或多个实施例中,该方法可以基于以上图1、2和28绘示的系统。图29中所示的一个或多个步骤可以省略、重复和/或以与本发明的不同实施例之中不同的顺序执行。相应地,本公开的实施例不应认为限制于图29中所示的特定数目和布置的步骤。
在一个或多个实施例中,图29中绘示的流程图由钻机调试系统用于调试或以其他方式管理钻机控制系统。初始地,在框2900,检测井场处的钻机控制系统的部件。在一个或多个实施例中,部件被检测为单独子系统,并且硬件部件被通电并上线,即,开始经由网络通信。在用于在新开发的井场控制钻井操作之前,上线部件要被调试并彼此通信地耦接到。
在一个或多个实施例中,响应于建立的井场的钻井操作期间的警报而检测部件。警报可以指示异常操作或由钻机控制系统或由监视钻井操作的用户检测的其他事件/事故。警报可以自动地或经由使警报具有资格的用户在建立的井场处请求钻机调试系统执行钻机控制系统的诊断。
在框2910,获取知识图。在一个或多个实施例中,在由钻机控制系统在建立的井场处执行正常钻井操作时,由钻机调试系统生在机器学习训练周期期间成知识图。可以在机器学习训练周期期间使用随机的、数值的和统计学的分析技术中的一个或多个。在一个或多个实施例中,使用以下参考图29描述的方法生成知识图。
在一个或多个实施例中,储存在节点和知识图的链接中的统计学信息表示对应的子系统和/或钻机控制系统的每对部件之间的数据通信活动的计算活动的预定目标/参考度量。例如,例如,预定量度可以包括平均值、中位数、模式、相关性、等级、得分、类别和/或其他统计量。换句话说,存储在知识图的节点和链接中的统计信息可以对应于相应对的部件的计算资源利用和/或通信活动的平均值、中位数、模式、等级、得分等。此外,统计信息还可以包括计算资源利用与相应对的部件的通信活动之间的相关性。
在一个或多个实施例中,链接还包含等级信息,其是取决于钻机条件、操作因子、操作阶段和总体系统就绪度基于各种人工智能(AI)计算的。例如,由特定链接表示的预定度量可以是低的,由于特定链接需要的操作,特定链接可以具有比知识图中的其他链接更高的等级。在一个或多个实施例中,基于钻机条件、操作因子、操作阶段和总体系统就绪度中的一个或多个确定每个节点/链接需要的操作。以下参考图33描述了在钻机操作期间计算节点/链接的等级的示例。
在一个或多个实施例中,由钻机调试系统获取知识图作为目标操作条件,以调试新开发的井场或钻机。在一个或多个实施例中,由钻机调试系统获取知识图作为参考标准以诊断在建立的井场或钻机处的潜在问题。
在框2920中,基于知识图由钻机调试系统执行钻机控制系统的管理任务。在一个或多个实施例中,基于知识图执行软件调试任务。例如,软件调试任务可以包括软件安装、软件到服务连接、软件到软件连接、证书校验、用户验证,和网络端口配置中的一个或多个。在一个或多个实施例中,软件调试任务涉及在新开发的井场或钻机安装在钻机控制系统的子系统上的软件。例如,可以关于钻机控制系统的第二层级中的软件部件执行软件调试任务。
在一个或多个实施例中,软件安装包含软件版本检查、硬件类型或模型校验、硬盘能力校验、计算机存储器能力检查、操作系统版本检查、固件版本检查、防火墙安装和配置检查、网络带宽和通量检查和其他系统参数检查中的一个或多个验证任务。在一个或多个实施例中,这些验证任务中的一个或多个对应于知识图上的例如经由对软件应用程序的链接而连接的节点。这些链接表示软件应用程序正确执行的要求。如果任何这些节点不存在,则软件应用程序将不能正确执行。此时,调试系统可以确定系统不满足要求,并且软件应用程序无法执行。
在一个或多个实施例中,基于知识图建立钻机控制系统的一对部件之间的数据通信连接。例如,可以在新开发的井场或钻机处在钻机控制系统的第一层级和/或第二层级中的一对部件之间建立数据通信连接。
在一个或多个实施例中,基于知识图执行钻机控制系统的诊断任务。特别地,在建立的井场处的当前钻井操作期间,生成钻机控制系统的一对部件之间的计算活动和/或数据通信的预定度量。例如,预定度量可以对应于钻机控制系统的第一层级和/或第二层级中的一对部件之间的数据通信。将预定度量与储存在知识图中的一对部件的对应的目标预定度量比较以生成结果。例如,结果可以指示在当前钻井操作期间获取的预定度量与在之前的正常钻井操作期间(诸如在机器学习训练阶段期间)获取的对应的目标预定度量之间的差异。换而言之,差异是当前钻井操作与之前的正常钻井操作的偏差。例如,偏差可以是由于过时的软件部件、软件证书届期、软件配置错误等。相应地,通过分析差异执行诊断任务,以识别偏差的根本原因并识别可用校正动作。
图30示出了根据一个或多个实施例的流程图。在一个或多个实施例中,该方法可以基于以上图1、2和28中所示的系统。图30中所示的一个或多个步骤可以省略、重复和/或以与本发明的不同实施例之中不同的顺序执行。相应地,本公开的实施例不应认为限制于图30中所示的特定数目和布置的布置。
在一个或多个实施例中,在机器学习训练阶段期间使用图30中所示的流程图,以在钻井操作期间生成钻机控制系统的知识图。随着单独子系统和硬件部件通电并上线(即,开始经由网络通信),执行通过流程图的每次迭代。通过流程图的多个迭代检测上线部件以生成并扩展钻机控制系统的知识图。
初始地,在框3001中,扫描钻机控制系统以检测上线(即,经由网络通信)的任意子系统或硬件部件。在一个或多个实施例中,扫描由钻机调试系统使用网络通信协议执行。在一个或多个实施例中,钻机调试系统包含人工智能(AI)模块,其监视计算机上操作的作为钻井控制系统的一部分的全部进程。当新的进程(例如,应用程序、服务、脚本等)开始在任意(多个)计算机上操作时,由AI模块检测新的进程。一旦检测到新的进程,生成依赖树作为知识图。例如,如以下框3002至3012所描述,AI模块可以识别全部要求的软件部件,诸如进程所需的DLL、配置文件、数据库、网络端口、网络连接等。随着多个进程,或服务,或脚本在(多个)计算机上操作时,AI模块通过关联到操作信息而计算每个软件部件的重要性。在学习阶段,当系统被教学如何检测不同操作信息时,提供操作信息。对于钻井操作,大部分操作步骤是预定的。给定这些操作步骤在钻井操作的过程期间重复,AI模块可以使用某一操作步骤正在进展的知识并且使用数值算法来确定或重新计算某些软件部件(或节点)的重要性。因为下一操作步骤开始的时间是不确定的,可以应用计算等级的随机方法。取决于即将到来的操作步骤,节点和边的等级改变取决于每个节点和边的重要性。换而言之,等级取决于钻井操作的某些步骤的节点和边的重要性而改变。例如,在钻井期间,某些应用程序被要求操作且可用,以便钻井。在该操作步骤之前和期间,这些应用程序的等级是高的。也存在较不重要的系统部件。为了计算这些部件的等级,可以使用统计学或概率性方案。
在框3002中,执行确定是否检测子系统或硬件部件。如果确定是否定的,则方法返回到框3001以继续扫描。如果确定是肯定的,则方法继续到框3003,其中将检测的部件分类,例如,作为钻机控制系统的许多第一层级部件和第二层级部件之一。在框404中,执行确定检测的部件分类是否是有效的。如果确定是否定的,则检测的部件被丢弃,并且方法返回到框3001以继续扫描。如果确定是肯定的,则方法继续到框3005,其中执行另一确定关于检测的部件是否已被包含在知识图中。如果确定是肯定的,则方法返回到框3001以继续扫描。如果确定是否定的,则方法继续到框3006,其中计算检测的部件的得分和等级。
在一个或多个实施例中,得分表示检测的部件的计算活动的预定度量。在一个或多个实施例中,得分表示检测的部件与知识图中的另一部件之间的通信活动的预定度量。一旦计算得分,将得分与知识图中的其他部件得分比较以生成新检测的部件的等级。然后,该方法继续到框3007,其中执行又另一确定关于检测的部件是否可连接到知识图中。如果确定是否定的,则方法继续到框3008,其中检测的部件被设为知识中的孤行节点,然后方法返回到框3001以继续扫描。如果确定是肯定的,则方法继续到框3009,其中检测的部件连接到知识图中的(多个)其他节点以扩展知识图。
然后方法继续到框3010,其中执行确定关于是否需要图形调整,例如,新检测的部件是否能够连接到之前检测的孤行节点。如果确定是肯定的,该方法继续到框3013以跨过知识图和孤行节点。后续框3007识别由于新检测的部件而变为可连接的一个或多个孤行节点。如果确定在框3010是否定的,则方法继续到框3012,其中执行确定关于机器学习训练是否完成。例如,可以使用机器学习算法执行确定。如果确定是否定的,则方法返回到框3001以进入下一迭代。如果确定是肯定的,则方法终止并储存知识图。在一个或多个实施例中,储存的知识随后被钻机调试系统用于执行钻机控制系统的管理任务。
图31-33示出了根据一个或多个实施例的示例。在一个或多个实施例中,示例可以基于以上图1、2和28所示的系统和/或以上图29-30中所示的方法流程图。在一个或多个实施例中,图31-33中所示的一个或多个元件可以省略、重复和/或替代。相应地,本发明的实施例不应认为限制于图31-33中所示的模块的特定布置。
在图31-33所示的示例中,存在多个子系统以组成钻机控制系统。存在钻井控制子系统,其操作机器以钻井。存在泥浆子系统,其混合钻井泥浆,钻井泥浆被泵子系统泵送到井下。存在固井子系统,其混合和泵送水泥。除以上关键钻井子系统之外,存在诸如钻机发电机系统的许多其他子系统,其共存并组成总体钻机控制系统。这些子系统中的每一个通过使用重机械和复杂控制系统执行专门的功能,以安全地钻出油气井。通常,这些子系统之间存在最小集成,主要因为这些子系统为独立使用设计。不同供应商可以制造这些子系统,并且传统地存在很少的合作来确保这些子系统的顺利集成。不同子系统之间的集成度取决于不同子系统供应商之间存在多少合作。当这些子系统用在钻机现场时,一个或多个钻机调试工程师将这些子系统物理地互连在一起以配置整个钻机控制系统。由于大量的钻机子系统类型和配置,要求钻机调试工程师对许多类型的钻机子系统具有大量知识和经验以完成钻机调试任务。集成不同钻机子系统的努力通常是具有挑战性、耗时且易于出错的。
如上所述,智能钻机调试系统用于自动地调试钻机控制系统。当全部机械连接、硬件安装、接线和任意其他物理连接完成时,钻机子系统上线。随着子系统上线,计算装置通电。在此阶段,智能钻机调试系统接管并执行子系统执行其全部功能所需的全部软件调试任务。作为软件调试任务的一部分,智能调试系统执行软件安装、证书校验、用户验证、网络端口配置和子系统控制系统正确执行功能要求的任意其他活动。智能调试系统基于钻机子系统知识图执行这些动作。子系统知识图含有智能系统在子系统级校验验证软件安装和配置所需的全部信息。
图31示出了示例性子系统知识图(3100),其对应于以上图28中所示的子系统A(2801a)。在子系统知识图(3100)中,节点表示为方块且链接表示为双箭头。每个节点和每个链接被分配一得分,该得分表示与节点/链接相关联的计算活动和/或通信活动的预定度量。例如,AppA(3100a)对应于安装在子系统A(2801a)内的应用程序软件且被分配得分0.97,其中标记为AppB和AppC的节点对应于分别被分配得分0.90和0.89的附加应用程序软件部件。这些得分指示AppA(3100a)具有比AppB更高的计算活动,AppB具有比AppC更高的计算活动。在另一示例中,SrvcG(3100b)对应于子系统A(2801a)内的操作系统的软件服务G,其中标记为SrvcH、Srvc J、Srvc K、Srvc L和Srvc P的附加节点分别对应于软件服务H、J、K、L和P。另外,防火墙(3100c)对应于子系统A(2801a)内的防火墙软件。相似地,标记为PortX和PortY的节点对应于子系统A(2801a)内的通信网络端口。另外,标记为IPadd2和IPadd 3的节点对应于具有特定IP地址2和IP地址3的网络节点。注意,从AppA(3100a)到SrvcH、SrvcL和PortX的链接分别被分配得分0.69、0.69和0.89。这些得分指示AppA(3100a)以相似活动/频率与SrvcH和Srvc L通信,其具有比AppA(3100a)与PortX之间通信活动的更低的度量(即,较不活跃或较不频繁)。分配到子系统知识图(3100)内的全部节点和链接的得分被累加为总体得分(3100d),其表示子系统A(2801a)内在钻井操作期间的累加内部计算/通信活动的预定度量(即,0.99)。例如,总体得分(3100d)可以是分配到全部节点和链接的得分的加权平均。在另一示例中,可以使用其他统计学公式从分配到全部节点和链接的得分计算总体得分(3100d)。
在示例性情景中,子系统A(2801a)是独立计算机,诸如笔记本计算机或计算机服务器,其含有前述软件应用程序、软件服务、防火墙、通信网络端口、网络节点等。子系统知识图(3100)还包含调试规则(3101),其指定关于应用程序软件AppA(3100a)的安装、连接、通信和端口配置规则。
在每个子系统的调试完成时,智能调试系统自动地检测和执行进一步软件配置以确保钻机控制系统内的全部子系统通信彼此。智能调试系统还对作为钻机设备的一部分的任意设备扫描和执行兼容性测试,并且确保控制设备的软件可用且正确配置。当检测到不一致时,智能调试系统连接到云并下载给定钻机控制系统安装的完全安装和正确配置软件所需的任何缺失的软件或软件配置制品。智能调试系统基于总体钻机控制系统知识图执行这些动作。在一个或多个实施例中,智能调试系统还储存钻机的类型作为知识图的一部分,诸如类型与知识图映射数据库,其可以之后用于调试相同种类的新的钻机。
图32示出了示例性总体钻机控制系统知识图(3200),其对应于以上图28所示的钻机控制系统(2800)。在总体钻机控制系统知识图(3200)中,节点表示为方块且链接表示为双箭头。每个节点和每个链接被分配得分,其表示与节点/链接相关联的计算活动和/或通信活动的预定度量。例如,标记为子系统X的节点对应于以上图31中所示的子系统知识图(3100),其中标记为子系统Y和子系统Z的节点分别对应于分配总体得分0.89和0.99的附加子系统知识图。尽管子系统知识图(3100)对应于以上图28所示的子系统A(2801a),但子系统Y和子系统Z可以对应于以上图28所示的其他子系统。例如,子系统Y可以对应于子系统B(2801b)。子系统X(即,0.99)的得分和子系统Y(即,0.89)的得分指示子系统A(2801a)具有比子系统B(2801b)更高的累加内部计算/通信活动。
在另一示例中,标记为设备X、设备Y、设备Z、工具1、工具2和工具3的节点对应于以上图1中所示的钻井设备和其他工具,其中每个单独分配的得分表示在钻井操作期间使用对应的设备/工具的统计数据。另外,标记为连接A、连接B和连接C的节点对应于钻机控制系统内的网络元件。标记为AppAA和AppBB的节点对应于对钻机控制系统内的各种子系统和硬件部件可访问的基于云的软件应用程序。注意,从子系统X到设备X、AppBB和工具3的链接分别被分配得分0.09、0.25和0.88。这些得分指示子系统X很少与设备X通信,相对少量地与AppBB通信,并且频繁地与工具3通信。
在不使用总体钻机控制系统知识图(3200)的情况下,由一队专家单独调试钻机控制系统的每个子系统,专家与具有不同专长的其他小队合作以调试整个钻机控制系统。大量的信息中存在挑战,很少有钻机调试工程师在他们可以有效并高效地执行全部软件调试任务之前掌握这些大量的信息。掌握训练材料以执行他们的任务的钻机调试工程师与持续演化的每个钻机子系统之间存在竞赛。随着引入新的技巧和技术,每个钻机子系统继续演化。随着引入强化和新的技术,钻机调试工程师经受训练。钻机调试工程师掌握的信息量已经变得对在合理时间量内教学构成挑战。因此,随着新的技术被每个钻机子系统引入,知识空白继续增长。凭借使用上述总体钻机控制系统知识图(3200)的优点,在不存在多个子系统专家团队的情况下,单个的工程师团队具有足够的专长来完全调试整个钻机控制系统。
图33示出了在钻机操作序列(3320)期间的计算等级的示例,钻机操作序列包含操作(3321)-(3326)和未明确示出的附加操作。特别地,在操作(3321)和操作(3324)期间在不同时间执行相同操作步骤ABC,在操作(3322)和操作(3326)期间在不同时间执行相同操作步骤X,在操作(3325)期间执行设备维护,并且操作(3323)表示钻井操作的停机时间。在图33所示的示例中,在钻机操作序列(3320)的每个操作期间,AI算法用于计算知识图中的元件的等级,诸如节点ABC、设备维护应用程序和操作X。如上所述,基于钻机条件、操作因子、操作阶段和总体系统就绪度中的一个或多个计算等级。具体地,随着在图33中所示的钻机操作序列(3320)中执行每个操作,节点ABC的等级如下变化:0.99999、0.352、0,8599、0.90012、0.0012、0.00102等。随着在整个钻机操作序列(3320)上执行等级,钻机调试系统持续地将钻机带入工作顺序,其可以在钻井操作之前或期间任意时间执行,并且可以执行一次或在整个钻井操作周期性执行。
配置管理器和协调控制器
在一些实施例中,操作网络包含配置管理器,其可以是实现和可操作在一个或多个处理系统上的硬件和/或软件程序,诸如一个或多个网络设备。配置管理器可以是以诸如C/C++等高级编程语言写和编译的软件程序。如以下更详细描述的,配置管理器可操作以将来自各种通信协议的通信解译为共同通信协议,并且使解译为共同通信协议的通信通过公共数据总线可用,反之亦然。公共数据总线可以包括实现在一个或多个处理系统上(诸如像交换机般的网络设备)的配置管理器和/或公共数据虚拟网络(VN-数据)的应用编程接口(API)。
配置管理器可以具有对象的预定分类以实现通信的解译。子系统的配置管理器中的实现的对象可以用于根据子系统实现的相应的(并且可能不同)通信协议从子系统接收通信,并且将通信解译为公共协议,其在公共数据总线上可用,反之亦然。分类可以限定子系统级(例如,钻井控制系统、钻井液循环系统、固井系统等)、设备级(例如,顶部驱动器、绞车、钻井液泵等),和/或数据级(例如,类型的命令、传感器数据和/或状态数据)处的对象。因此,对象可以对子系统、设备和/或数据类型的每个实例执行实例化,取决于如何限定对象的分类。另外,分类可以基于要由子系统实现的通信协议限定对象。假想地,假设两个子系统除各自实现不同通信协议之外是相同的,配置管理器可以实例化子系统的来自基于不同通信协议限定的不同分类的对象。可以在设置操作网络时实例化对象和/或通过动态检测一个或多个设备控制器(EC)和/或子系统实例化对象。
如从以下描述将明显的,使用配置管理器可以允许子系统在井构建系统和相关联的通信设备中的更简单的部署,例如。当部署附加的、之前未限定的子系统时,使用由高级语言编译的软件程序可以允许部署更新版本的配置管理器,这可以减轻与配置管理器相关联的物理部件的部署(例如,当向井构建系统添加设备/子系统时)。另外,当新的数据由添加新的子系统变为可用时,从配置管理器(例如,通过公共数据总线)访问数据的应用程序可以通过软件更新被更新,使得更新的应用程序可以使用由新的子系统生成的数据。
操作网络的一个或多个处理系统(诸如一个或多个交换机和/或其他网络设备)被配置为实现一个或多个子系统虚拟网络(例如,VLAN),诸如第一子系统虚拟网络(VN-S1)、第二子系统虚拟网络(VN-S2),以及第N子系统虚拟网络(VN-SN)。可以实现更多或更少的子系统虚拟网络。子系统虚拟网络(例如,VN-S1、VN-S2和VN-SN)彼此逻辑上分开。可以根据IEEE 802.1Q标准、另一标准或专有实现方式实现子系统虚拟网络。每个子系统虚拟网络可以基于各种协议(诸如基于以太网的网络协议(诸如ProfiNET、OPC、OPC/UA、Modbus TCP/IP、EtherCAT、UDP多播、Siemens S7通信等)、专有通信协议和/或另一通信协议)实现与相应的子系统的(多个)EC通信。另外,子系统虚拟网络可以实现发布-订阅通信。子系统虚拟网络可以实现相同协议,每个子系统虚拟网络可以实现不同协议,或其间的组合。
另外,处理数据以控制各种子系统的处理系统可以具有专用于这样的处理的资源。例如,操作协调控制器的一个或多个处理系统、操作配置管理器的一个或多个处理系统、配置为实现虚拟网络的一个或多个处理系统和/或其他处理系统可以具有专用于处理和通信命令和/或传感器和/或用于确定要发布的恰当命令的状态数据的资源。通过以此方式专用资源,井构建系统中的过程的控制可以是实时的。其他通信和处理可能可以以非实时方式处理,而不使用专用资源。
协调控制器还可以实现逻辑以控制井构建系统的操作。协调控制器可以监视部件和/或传感器的各种状态并且可以将命令发布到各种EC以控制可控制部件在一个或多个子系统内的操作。传感器数据和/或状态数据可以由协调控制器经由公共数据总线监视,并且协调控制器可以经由EC的相应的子系统虚拟网络发布命令到一个或多个EC。
协调控制器可以实现逻辑以基于来自一个或多个进程应用程序的工作计划生成命令,并且将那些命令发布到一个或多个子系统中的一个或多个EC。一个或多个进程应用程序可以诸如通过公共数据总线将一般性命令通信到协调控制器。一般性命令可以包括预期的总体操作(例如,钻井到地层中)和可以影响操作的限定的参数的约束。例如,针对钻探操作的限定的约束可以包括与顶部驱动器每分钟转数(RPM)和钻压(WOB)有关的钻井的穿透率(ROP)的期望函数。协调控制器可以解释一般性命令并将其解译为指定命令(可由恰当EC解释),其然后被发布到EC以控制各种可控制部件。
协调控制器还可以监视各种设备和/或传感器数据的状态,以基于反馈的状态和/或传感器数据最优化子系统的设备的操作。通过反馈和监测井构建环境的数据,协调控制器可以不断更新指令,以适应不断变化的环境。例如,如果ROP大于或小于计划预期,则协调控制器可以计算并发布命令,以增大或减小顶部驱动器RPM和WOB的一个或两个。
相似地,进程应用程序中的一个或多个可以通过公共数据总线监视状态和/或可用传感器数据,以监视操作的进展,和/或基于改变的环境更新工作计划。如果操作在各种约束内如计划进展,例如,进程应用程序可以不更新工作计划,并且可以允许操作基于正在实现的工作计划继续。如果操作进展与计划的不同(其可以由状态和/或传感器数据指示),则进程应用程序可以改变工作计划,并将改变的工作计划通信到协调控制器以实现。
方法可以包括诸如通过一个或多个进程应用程序开发工作计划。工作计划可基于测量的或其他被认为是对所构建的井的目标地层描述的地质和/或地球物理数据,和/或一个或多个地质、地球物理和/或工程数据库执行开发的。开发的作业计划可包括与井的轨迹、钻井期间使用的泥浆、套管设计、钻头、BHA部件等有关的详细信息。
该方法可以包括诸如通过上述协调控制器实现工作计划。实现工作计划可以包括操作井构建系统(和/或使其操作),以根据开发的工作计划形成井。操作细节(例如,WOB、顶部驱动器RPM、泥浆流率等)可以在开发和/或实现工作计划期间确定。
该方法还包含随着工作操作继续诸如通过一个或多个进程应用程序和协调控制器监视状态和/或传感器数据。该方法还包含确定工作计划的实现是否应基于监视的状态和/或传感器数据而更新。协调控制器可以继续该确定。该确定可以基于操作偏离工作计划实现方式的预期的进展和/或初始工作计划实现方式鉴于新的数据有误的监视状态和/或传感器数据中的(或从之导出的)的一个或多个指示。如果该确定是实现方式将不更新,则操作继续,同时诸如通过协调控制器监视状态和/或传感器数据。如果该确定是实现方式将被更新,则现有工作计划实现方式基于诸如通过协调控制器监视的状态和/或传感器数据执行更新。状态和/或传感器数据监视(406)和工作操作然后继续。
该方法还包含基于监视的状态和/或传感器数据确定是否应更新工作计划。进程应用程序中的一个或多个可以执行该确定。该确定可以基于操作偏离工作计划实现方式的预期的进展和/或初始工作计划实现方式鉴于新的数据有误的监视状态和/或传感器数据中的(或从之导出的)的一个或多个指示。如果该确定是工作计划将不更新,则操作继续,同时诸如通过进程应用程序中的一个或多个来监视状态和/或传感器数据。如果该确定是工作计划将被更新,则诸如通过进程应用程序中的一个或多个(基于监视的状态和/或传感器数据)来更新和实现工作计划。状态和/或传感器数据监视和工作操作然后继续。该方法可以继续,直到初始地开发的或更新的工作计划完成为止。
开发工作计划可以是计算繁重的,并且可以因此开发较长时间段,这对操作可能不是实时的。协调控制器(例如,操作协调控制器的一个或多个处理系统)可以具有专用于控制各种系统的资源(例如,处理资源),其允许这样的控制是实时的(例如,在已知、可确定的时段内)。另外,可以通过更简单的过程更新实现方式,这可以允许实时更新实现方式。实时更新可以允许正由工作计划实现的操作的最优化的控制。
协调控制器可以控制将响应于EC的相应的子系统虚拟网络之外的参与者生成的命令发布到EC。从而,例如,HMI可以通过公共数据总线在协调控制器的控制下并且通过该子系统的子系统虚拟网络将命令发布到子系统中的一个或多个EC。例如,用户可以通过HMI输入命令以控制子系统的操作。来自该子系统之外的参与者的对子系统的EC的命令在没有协调控制器处理命令的情况下可以在操作网络中被禁止。协调控制器可以实现逻辑,以确定给定参与者(例如,HMI和/或进程应用程序)是否可以使命令被发布到子系统中的给定EC。
协调控制器可以实现逻辑以裁决将控制特定设备或子系统的操作的命令,诸如当存在多个参与者(例如,工作计划和/或HMI)同时试图使命令发布到相同设备或子系统时。协调控制器可以实现裁决器(例如,逻辑)以确定将来自HMI和/或工作计划的哪个冲突命令发布到EC。例如,如果第一工作计划试图使命令发布到EC-SN-1以提高泵的泵速率,并且第二工作计划同时试图使命令发布到EC-SN-1以降低相同泵的泵速率,协调控制器的裁决器可以解决冲突并确定允许发布哪个命令。此外,例如,如果两个HMI同时发布冲突的命令,则协调控制器可以确定禁止哪个命令和发布哪个命令。
协调控制器的裁决器可以使用混合先进、先服务和优先级方案操作。例如,允许发布的第一命令操作到完成或直到使命令发布的参与者终止该命令的执行。在一些示例中,在不生成冲突的命令的情况下,可以总体上实现单个、独立工作计划,其单独执行而不执行另一工作计划。然而,工作计划可以参照另一工作计划,其可能导致生成冲突的命令。例如,固井过程的工作计划可以参考钻井过程的工作计划,以便操作泵,并且通过执行参考钻井过程的工作计划的固井过程的工作计划,可以由操作两个工作计划对泵生成多个冲突的命令。裁决器通过允许由工作计划之一生成的第一命令完成或直到生成的工作计划终止第一命令来处理这些命令,即使另一工作计划生成第二后续和冲突的命令。第二命令被置于队列中,直到第一命令完成或被生成其的工作计划终止,并且然后裁决器允许第二命令被发布和执行。
操作网络内的一些参与者可以被分配优先级,其允许这些参与者中断操作和/或命令,无论过程的当前状态如何。例如,HMI可以被分配高优先级,其允许来自HMI的命令中断正在执行的操作和/或命令。可以执行来自HMI的命令,不论过程的当前状态如何,直到命令完成或被发送的HMI终止。在来自HMI的命令已经执行之后,过程可以返回到其之前状态或基于新的条件重启,工作计划和/或工作计划的实现基于该新的条件。
另一方法可以包括接收从一个或多个非优先级的参与者生成的一个或多个命令。例如,裁决器可以接收从一个或多个工作计划已经生成的一个或多个命令,其可以是非优先级的。方法包含发布最早接收的、未发布的命令。例如,裁决器可以有效地将来自非优先级的参与者的命令排队,并且从非优先级的参与者接收的第一命令是由裁决器首先发布的第一命令。该方法包括执行发布的命令直到命令完成或被发送的参与者终止。所发出命令的执行可以是设备的离散、瞬时功能、设备在规定的持续时间内执行的功能、设备在满足限定条件之前执行的功能(可由发送参与者指示)和/或其他示例执行手段。然后,该方法循环回发出最早接收到的、未发出的命令。在发布和执行期间,可以继续从一个或多个非优先级参与者接收命令,这些命令排队以待发布。因此,接收、发出和执行可实现先进、先服务的队列类型。
在接收、发布和执行期间,该方法包含从优先级的参与者接收命令。从优先级的参与者接收命令中断从非优先级的参与者接收、发布和执行命令的流程,并且因此,来自优先级的参与者的命令优先于非优先级的参与者的命令。示例性优先级的参与者可以包括HMI或其他。该方法包含发布从优先级的参与者接收的命令,以及执行发布的命令直到命令完成或被发送的参与者终止。执行发布的命令可以是设备的离散的、瞬时的功能、由设备在限定的持续时间内执行的功能、设备在满足限定条件之前执行的功能(可由发送参与者指示)和/或其他示例执行手段。
在执行从优先级的参与者接收的命令之后,该方法可以在各种情况下继续。例如,在执行之后,该方法可以在其中从优先级的参与者接收命令将中断接收、发布和执行从一个或多个非优先级的参与者接收的一个或多个命令的流程的情况下继续。此外,执行从优先级的参与者接收的命令可能将井场处的条件改变至一定程度,使得非优先级的参与者撤回之前发送的命令并开始发送响应于由于执行来自优先级的参与者的命令而改变的条件的更新的命令。从而,该方法可以在从一个或多个非优先级的参与者接收一个或多个命令处继续,而不管何时发生从优先级参与者接收命令的情况。
在另一示例性方法的实现方式的一些示例中,裁决器接收并发布命令,可以从实现从一个或多个进程应用程序接收的一个或多个工作计划的协调控制器的其他逻辑接收该命令。裁决器可以确定协调控制器要将哪个命令发布到一个或多个EC,并且EC可以通过控制井场处的井构建系统的各种设备而执行命令,例如。在其他示例中,其他部件和/或处理系统可以实现各种操作。
关于配置管理器和协调控制器的更多信息,参见2017年6月13日提交的题为“WellConstruction Communication and Control”的美国专利申请No.15/621,180,以及2016年11月28日提交的题为“Well Construction Communication and Control”的美国专利申请No.15/361,759,两者通过引用整体并入本文。
计算系统
可以在计算系统上实现实施例。可以使用移动、桌面、服务器、路由器、交换机、嵌入式装置或其他类型的硬件的任意组合。例如,如图34.1所示,计算系统(3400)可以包括一个或多个计算机处理器(3402)、非持久储存体(3404)(例如,易失性存储器,诸如随机访问存储器(RAM)、缓存存储器)、持久储存体(3406)(例如,硬盘、光学驱动器,诸如光盘(CD)驱动器或数字多功能盘(DVD)驱动器、闪速存储器等)、通信接口(3412)(例如,蓝牙接口、红外接口、网络接口、光学接口等),以及许多其他元件和功能。
(多个)计算机处理器(3402)可以是处理指令的集成电路。例如,(多个)计算机处理器可以是处理器的一个或多个核或微核。计算系统(3400)还可以包括一个或多个输入装置(3410),诸如触摸屏、键盘、鼠标、麦克风、触摸板、电子笔或任意其他类型的输入装置。
通信接口(3412)可以包括用于连接计算系统(3400)到网络(未示出)(例如,局域网络(LAN)、广域网络(WAN),诸如互联网、移动网络或任意其他类型的网络)和/或到另一装置(诸如另一计算装置)的集成电路。
另外,计算系统(3400)可以包括一个或多个输出装置(3408),诸如屏幕(例如,液晶显示器(LCD)、等离子体显示、触摸屏、阴极射线管(CRT)监视器、投影机或其他显示装置)、打印机、外部储存体或任意其他输出装置。输出装置中的一个或多个可以与(多个)输入装置相同或不同。(多个)输入和输出装置可以局域地或远程地连接到(多个)计算机处理器(3402)、非持久储存体(3404)和持久储存体(3406)。存在许多不同类型的计算系统,并且前述(多个)输入和输出装置可以采取其他形式。
执行本公开的实施例的计算机可读程序代码形式的软件指令可以被完整或部分地、临时或永久地储存在非瞬态计算机可读介质上,诸如CD、DVD、储存装置、软盘、磁带、闪速存储器、物理存储器或任意其他计算机可读储存介质。具体地,软件指令可以对应于计算机可读程序代码,当由(多个)处理器执行时,其被配置为执行本公开的一个或多个实施例。
图34.1中的计算系统(3400)可以连接到网络或作为网络的一部分。例如,如图34.2所示,网络(3420)可以包括多个节点(例如,节点X(3422)、节点Y(3424))。每个节点可以对应于计算系统,诸如图34.1中所示的计算系统,或组合的一组节点可以对应于图34.1中所示的计算系统。作为示例,本公开的实施例可以实现在分布式系统的连接到其他节点的节点上。作为另一示例,本公开的实施例可以实现在具有多个节点的分布式计算系统上,其中本公开的每个部分可以位于分布式计算系统内的不同节点上。另外,前述计算系统(3400)的一个或多个元件可以位于远程位置处并通过网络连接到其他元件。
虽然在图34.2中未示出,但该节点可对应于服务器机箱中经由背板连接到其他节点的刀片。通过另一示例,该节点可对应于数据中心中的服务器。作为另一示例,该节点可对应于具有共享存储器和/或资源的计算机处理器或计算机处理器的微内核。
网络(3420)中的节点(例如,节点X(3422)、节点Y(3424))可以配置为对客户端装置(3426)提供服务。例如,节点可以是云计算系统的一部分。节点可以包括从客户端装置(3426)接收请求并传输响应到客户端装置(3426)的功能。客户端装置(3426)可以是计算系统,诸如图34.1中所示的计算系统。另外,客户端装置(3426)可以包括和/或执行本公开的一个或多个实施例中的全部或部分。
图34.1和图34.2中描述的计算系统或一组计算系统可以包括执行本文中所公开的各种操作的功能。例如,(多个)计算系统可以在相同或不同系统上的进程之间执行通信。采用一些形式的主动或被动通信的各种机制可以促进数据在相同装置上的进程之间的交换。表示这些进程间通信的示例包含但不限于以下实现方式:文件、信号、套接字、消息队列、管线、信标、共用存储器、消息传递以及存储器映射文件。关于这几个非限制示例的其他细节在以下提供。
基于客户端服务器网络模型,套接字可以充当接口或通信信道端点,以允许相同装置上的进程之间的双向数据传输。最重要地,遵循客户端-服务器网络模型,服务器进程(例如,提供数据的进程)可以创建第一套接字对象。接下来,服务器进程绑定第一套接字对象,由此将第一套接字对象与唯一名称和/或地址关联。在创建和绑定第一套接字对象之后,服务器进程然后等待并听取来自一个或多个客户端进程(例如,寻求数据的进程)的进入的连接请求。此时,当客户端进程希望从服务器进程获取数据时,客户端进程由创建第二套接字对象开始。客户端进程然后继续到生成连接请求,其包含至少第二套接字对象和与第一套接字对象相关联的唯一名称和/或地址。客户端进程然后将连接请求传输到服务器进程。取决于可用性,服务器进程可以接受连接请求,与客户端进程建立通信信道,或繁忙于处理其他操作的服务器进程,可以将连接请求在缓冲中排队,直到服务器进程就绪。建立的连接通知客户端进程可以开始通信。作为响应,客户端进程可以生成数据请求,其指定客户端进程希望获取的数据。数据请求随后被传输到服务器进程。一旦接收到数据请求,服务器进程分析请求并收集请求的数据。最终,服务器进程然后生成至少包含请求的数据的应答,并且将应答传输到客户端进程。数据更常见地可以作为数据电文或字符串(例如,字节)而传输。
共用存储器参考虚拟存储器空间的分配,以便实体化数据可以由多个进程通信和/或访问的机制。在实现共用存储器时,初始化进程首先在持久或非持久储存体中创建可共用分段。在创建之后,初始化进程然后嵌入可共用分段,随后将可共用分段映射到与初始化进程相关联的地址空间。在嵌入之后,初始化进程继续到对一个或多个授权的进程识别和许可访问允许,其还可以与可共用分段来回写入和读取数据。由一个进程对可共用分段中的数据执行的改变可以立即影响也链接到可共用分段的其他进程。另外,当授权的进程之一访问可共用分段时,可共用分段映射到该授权的进程的地址空间。通常,在任意给定时间,一个授权的进程可以嵌入可共用分段,而非初始化进程。
其他技术可以用于在进程之间共用数据(诸如本申请中描述的各种数据),而不背离本公开的范围。进程可以是相同或不同应用程序的一部分,并且可以在相同或不同计算系统上执行。
与在进程之间共用数据不同或除此之外,执行本公开的一个或多个实施例的计算系统可以包括从用户接收数据的功能。例如,在一个或多个实施例中,用户可以经由用户装置上的图形用户界面(GUI)提交数据。可以经由图形用户界面通过用户选择一个或多个图形用户界面小工具或使用触摸板、键盘、鼠标或任意其他输入装置插入文本和其他数据到图形用户界面小工具中提交数据。响应于选择特定项目,可以由计算机处理器从持久或非持久储存体获取关于特定项目的信息。一旦用户选择项目,关于特定项目的获取的数据的内容可以响应于用户的选择被显示在用户装置上。
作为另一示例,获取关于特定项目的数据的请求可以被发送到通过网络可操作地连接到用户装置的服务器。例如,用户可以选择用户装置的网络客户端内的统一资源定位符(URL)链接,由此发起超文本传输协议(HTTP)或与URL相关联的被发送到网络主机的其他协议请求。响应于该请求,服务器可以提取关于特定选择的项目的数据,并发送数据到发起请求的装置。一旦用户装置接收到关于特定项目的数据,接收的关于特定项目的数据的内容可以响应于用户的选择被显示在用户装置上。除以上示例之外,在选择URL链接之后从服务器接收的数据可以以超文本标记语言(HTML)提供网页,其可以被网络客户端呈现并显示在用户装置上。
一旦诸如通过使用上述技术或从储存体获取数据,计算系统执行本公开的一个或多个实施例时,可以从获取的数据提取一个或多个数据项目。例如,提取可以由图34.1中的计算系统(3400)如下执行。首先,确定数据的组织模式(例如,语法、图式、布局),其可以基于以下中的一个或多个:位置(例如,比特或列位置、数据流中的第N令牌等)、属性(其中属性与一个或多个值相关联),或层级式/树结构(由细节的不同级的节点的层构成—诸如在嵌套包头或嵌套式文档部分中)。然后,原始、未处理的数据符号流在组织模式的背景下被解析为令牌流(或层式结构)(其中每个令牌可以具有相关联令牌“类型”)。
接下来,使用提取标准来从令牌流或结构提取一个或多个数据项目,其中根据组织模式处理提取标准以提取一个或多个令牌(或来自层式结构的节点)。对于基于位置的数据,提取由提取标准识别的(多个)位置处的(多个)令牌。对于基于属性/值的数据,提取满足提取标准的与(多个)属性相关联的(多个)令牌和/或(多个)节点。对于层级式/层式数据,与匹配提取标准的(多个)节点相关联的(多个)令牌被提取。提取标准可以如标识符串般一样简单,或可以是呈现于结构化数据资源库(其中数据资源库可以根据数据库图式或诸如XML的数据格式组织)的查询。
提取的数据可以用于由计算系统进一步处理。例如,图34.1的计算系统,在执行本公开的一个或多个实施例同时,可以执行数据比较。数据比较可以用于比较两个或更多个数据值(例如,A,B)。例如,一个或多个实施例可以确定是否A>B,A=B,A!=B,A<B等。可以通过将A、B和指定关于比较的操作的操作码提交到算术逻辑单元(ALU)(即,在两个数据值上执行算术和/或按比特逻辑操作的电路)中而执行比较。ALU输出操作的数值结果和/或关于数值结果的一个或多个状态标志。例如,状态标志可以指示数值结果是否正数、复数还是零等。通过选择恰当操作码并且然后读取数值结果和/或状态标志,可以执行比较。例如,为了确定是否A>B,可以从A减去B(即,A-B),并且可以读取状态标志以确定结果是否为正(即,如果A>B,则A-B>0)。在一个或多个实施例中,B可以被视为阈值,并且如使用ALU所确定的,如果A=B或如果A>B,则A被认为满足该阈值。在本公开的一个或多个实施例中,A和B可以为矢量,并且比较A与B包含比较矢量A第一元素与矢量B的第一元素,矢量A的第二元素与矢量B的第二元素等。在一个或多个实施例中,如果A和B是字符串,则可以比较字符串的二进制值。
图34.1中的计算系统可以实现和/或连接到数据资源库。例如,一个类型的数据资源库是数据库。数据库是信息的收集,其被配置以便于数据检索、修改、重新组织和删除。数据库管理系统(DBMS)是软件应用程序,其为用户提供接口以限定、创建、查询、更新或管理员数据库。
用户或软件应用程序可以提交声明或查询到DBMS中。然后DBMS解译声明。声明可以是对请求信息的选择声明、更新声明、创建声明、删除声明等。此外,声明可以包括参数,其指定数据,或数据容器(数据库、表、记录、列、视图等)、(多个)标识符、条件(比较运算符)、函数(例如合并、完全合并、计数、平均等)、排序(例如升序、降序),或其他。DBMS可以执行声明。例如,DBMS可以访问存储器缓冲,参考或索引文件以读取、写入、删除或其任意组合,以响应于声明。DBMS可以从持久或非持久储存体载入数据并执行计算以响应于查询。DBMS可以返回(多个)结果到用户或软件应用程序。
图34.1的计算系统可以包括呈现原始和/或经处理的数据(诸如比较的结果和其他处理)的功能。例如,呈现数据可以通过各种呈现方法完成。具体地,数据可以通过由计算装置提供的用户界面呈现。用户界面可以包括GUI,其在显示装置(诸如计算机监视器或手持计算机装置上的触摸屏)上显示信息。GUI可以包括各种GUI小工具,其组织显示什么数据以及数据如何被向用户呈现。另外,GUI可以直接向用户呈现数据,例如,数据通过文本呈现为实际数据值,或由计算装置呈现为数据的视觉表示,诸如通过将数据模型可视化。
例如,GUI可以首先从软件应用程序获取通知,软件应用程序请求在GUI内呈现该特定数据对象。接下来,GUI可以例如通过从数据对象内的识别数据对象类型的数据属性获取数据来确定与特定数据对象相关联的数据对象类型。然后,GUI可以确定指定为用于显示该数据对象类型的任何规则,例如,由用于数据对象类的软件框架指定的规则,或者根据GUI定义的用于表示该数据对象类型的任何本地参数指定的规则。最终,GUI可以从特定数据对象获取数据值,并且在显示装置内根据用于该数据对象类型的指定的规则呈现数据值的视觉表示。
数据还可以通过各种声音方法呈现。特别地,数据可以被呈现为声音格式,并且通过可操作连接到计算装置的一个或多个扬声器作为声音呈现。
数据还可以通过触觉方法呈现给用户。例如,触觉方法可以包括由计算系统生成的震动或其他物理信号。例如,数据可以使用由手持式计算机装置生成的具有预定持续时间和震动强度震动呈现给用户,以通信数据。
功能的以上描述仅呈现由图34.1的计算系统和图34.2中的节点和/或客户端装置执行的功能的若干示例。可以使用本公开的一个或多个实施例执行其他功能。
尽管已经关于有限数目的实施例描述了本公开,本领域技术人员受益于本公开将理解,可以构想其他实施例,其不背离本文所公开的本公开的范围。相应地,本公开的范围仅应由所附权利要求限制。

Claims (23)

1.一种系统,包括:
第一控制系统,耦接到限定钻井管理网络的多个网络元件,其中第一控制系统包括执行钻井操作的一个或多个可编程逻辑控制器(PLC);
虚拟化服务管理器,耦接到第一控制系统和多个网络元件,其中虚拟化服务管理器在所述钻井管理网络上实现控制所述钻井操作的至少一个虚拟化服务;以及
虚拟连接控制器,耦接到多个网络元件,其中所述虚拟连接控制器在第一控制系统与用户网络之间建立虚拟连接。
2.如权利要求1所述的系统,还包括:
停机管理器,耦接到所述虚拟化服务管理器、多个网络元件,以及第一控制系统,
其中所述停机管理器根据用于钻井管理网络的停机序列终止所述第一控制系统和所述虚拟化服务管理器的操作。
3.如权利要求2所述的系统,还包括:
多个虚拟机,在所述钻井管理网络上操作,并且由所述虚拟化服务管理器生成,
其中所述多个虚拟机执行多个自动化钻井操作,和
其中所述停机管理器与多个虚拟机通信,以根据停机序列终止操作。
4.如权利要求3所述的系统,
其中所述停机管理器将多个延时终止命令传输到第一控制系统、多个虚拟机,以及所述虚拟化服务管理器,和
其中所述多个延时终止命令实现所述停机序列。
5.如权利要求1所述的系统,
其中虚拟连接对应于第一安全区和第二安全区之间的临时通道,
其中第一安全区包括所述第一控制系统,和
其中第二安全区位于用户网络中。
6.如权利要求5所述的系统,还包括:
防火墙装置,耦接到第一控制系统和多个网络元件,
其中所述钻井管理网络响应于验证网络装置而重新配置第一安全区,以使所述网络装置能够与第二安全区中的目的地装置通信。
7.如权利要求1所述的系统,还包括:
配置管理器,耦接到多个网络元件和第一控制系统,
其中所述配置管理器在第一控制系统上检测并安装软件更新。
8.如权利要求7所述的系统,还包括:
安全代理,位于第一控制系统中,
其中所述配置管理器与所述安全代理通信,以在第一控制系统上安装所述软件更新。
9.如权利要求7所述的系统,还包括:
协调控制器,耦接到所述虚拟化服务管理器;和
多个控制系统,耦接到所述虚拟化服务管理器和所述协调控制器,
其中所述协调控制器确定所述多个控制系统的多个维护操作的优先级。
10.如权利要求1所述的系统,还包括:
多个持久储存体装置;
数据管理控制器,耦接到所述多个持久储存体装置和第一控制系统,
其中所述数据管理控制器通过与所述钻井管理网络的网络连接从远程装置获取数据,和
其中所述数据管理控制器将所述数据储存在与预定数据类型相关联的多个持久储存体装置中的持久储存体装置中。
11.如权利要求1所述的系统,还包括:
传感器装置,耦接到第一控制系统和多个网络元件,
其中所述传感器装置通过所述钻井管理网络建立到第一控制系统的网络连接,和
其中所述传感器装置使用通信协议将所述传感器数据从所述传感器装置传输到第一控制系统。
12.如权利要求1所述的系统,还包括:
第二控制系统;
钻机调试系统,耦接到第一控制系统、第二控制系统和多个网络元件,
其中所述钻机调试系统生成所述钻井管理网络的知识图,和
其中所述钻机调试系统调试第二控制系统以使用所述知识图自动地执行管理任务。
13.一种系统,包括:
控制系统,耦接到在钻井管理网络中限定第一安全区的第一多个网络元件,其中所述控制系统包括执行钻井操作的一个或多个可编程逻辑控制器(PLC);
虚拟化服务管理器,耦接到所述控制系统和第一多个网络元件,其中所述虚拟化服务管理器在所述钻井管理网络上实现控制所述钻井操作的至少一个虚拟化服务;和
防火墙装置,耦接到第一安全区和包括第二多个网络元件的第二安全区,
其中所述钻井管理网络响应于验证网络装置重新配置第一安全区,以使所述网络装置能够与第二安全区中的目的地装置通信。
14.如权利要求13所述的系统,还包括:
虚拟连接控制器,位于第二安全区中,
其中所述虚拟连接控制器在第一安全区与第二安全区之间建立虚拟连接。
15.如权利要求13所述的系统,还包括:
停机管理器,耦接到所述虚拟化服务管理器、第一多个网络元件和第一控制系统,
其中所述停机管理器根据多个延时终止命令终止第一控制系统和所述虚拟化服务管理器的操作。
16.如权利要求13所述的系统,还包括:
多个持久储存体装置;
数据管理控制器,耦接到所述多个持久储存体装置和第一控制系统,
其中所述数据管理控制器通过与所述钻井管理网络的网络连接从远程装置获取数据,和
其中所述数据管理控制器将数据存储在与预定数据类型相关联的多个持久储存体装置中的持久储存体装置中。
17.如权利要求13所述的系统,还包括:
传感器装置,耦接到第一控制系统和第一多个网络元件,
其中所述传感器装置通过所述钻井管理网络建立到第一控制系统的网络连接,和
其中所述传感器装置使用通信协议将传感器数据从所述传感器装置传输到第一控制系统。
18.如权利要求13所述的系统,还包括:
第二控制系统;
钻机调试系统,耦接到第一控制系统、第二控制系统和第一多个网络元件,
其中所述钻机调试系统生成所述钻井管理网络的知识图,和
其中所述钻机调试系统调试第二控制系统以使用所述知识图自动地执行管理任务。
19.一种系统,包括:
控制系统,耦接到限定钻井管理网络的多个网络元件,其中所述控制系统包括执行钻井操作的一个或多个可编程逻辑控制器(PLC);
虚拟化服务管理器,耦接到所述控制系统和多个网络元件,其中所述虚拟化服务管理器在所述钻井管理网络上实现控制所述钻井操作的至少一个虚拟化服务;和
配置管理器,耦接到多个网络元件和所述控制系统,其中所述配置管理器使用所述控制系统上的安全代理在所述控制系统上安装更新。
20.如权利要求19所述的系统,还包括:
虚拟连接控制器,耦接到第一安全区和第二安全区,
其中第一控制系统位于第一安全区中,
其中所述配置管理器位于第二安全区中,和
其中所述虚拟连接控制器在第一安全区与第二安全区之间建立虚拟连接。
21.如权利要求19所述的系统,还包括:
停机管理器,耦接到所述虚拟化服务管理器、多个网络元件和第一控制系统,
其中所述停机管理器根据多个延时终止命令终止第一控制系统和所述虚拟化服务管理器的操作。
22.如权利要求19所述的系统,还包括:
多个持久储存体装置;
数据管理控制器,耦接到所述多个持久储存体装置和第一控制系统,
其中所述数据管理控制器通过与所述钻井管理网络的网络连接从远程装置获取数据,和
其中所述数据管理控制器将数据存储在与预定数据类型相关联的多个持久储存体装置中的持久储存体装置中。
23.如权利要求19所述的系统,还包括:
传感器装置,耦接到第一控制系统和多个网络元件,
其中所述传感器装置通过所述钻井管理网络建立到第一控制系统的网络连接,和
其中所述传感器装置使用通信协议将传感器数据从所述传感器装置传输到第一控制系统。
CN201880072437.2A 2017-09-11 2018-09-11 用于自动化钻井网络的系统和方法 Pending CN111406145A (zh)

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 (1)

Publication Number Publication Date
CN111406145A true CN111406145A (zh) 2020-07-10

Family

ID=65634520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880072437.2A Pending CN111406145A (zh) 2017-09-11 2018-09-11 用于自动化钻井网络的系统和方法

Country Status (4)

Country Link
US (1) US20200277847A1 (zh)
CN (1) CN111406145A (zh)
NO (1) NO20200295A1 (zh)
WO (1) WO2019051439A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112012695A (zh) * 2020-09-27 2020-12-01 中油国家油气钻井装备工程技术研究中心有限公司 一种基于边缘计算的石油钻机辅助指导设备及其指导方法
CN114526052A (zh) * 2021-12-31 2022-05-24 中国石油天然气集团有限公司 一种钻完井工程风险预测方法及装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245589B2 (en) * 2018-06-13 2022-02-08 Citrix Systems, Inc. IoT topology analyzer defining an IoT topology and associated methods
US10977210B2 (en) * 2018-11-20 2021-04-13 Jpmorgan Chase Bank, N.A. Methods for implementing an administration and testing tool
CN109738022A (zh) * 2019-02-18 2019-05-10 中国科学院武汉岩土力学研究所 Tbm掘进过程围岩与tbm相互作用监测方法及装置
US11475316B2 (en) * 2019-04-12 2022-10-18 Schlumberger Technology Corporation Intelligent drilling rig control system commissioning, diagnostics and maintenance
EP3757689B1 (en) 2019-06-24 2023-04-12 ABB Schweiz AG Updating features in an automation device
US20210040820A1 (en) * 2019-08-05 2021-02-11 Schlumberger Technology Corporation Drilling rig emeregency stop and lockout system
CN110500081B (zh) * 2019-08-31 2022-09-16 中国石油集团川庆钻探工程有限公司 一种基于深度学习的自动钻井方法
US20220358202A1 (en) * 2019-09-25 2022-11-10 Hilti Aktiengesellschaft Systems and methods for data security within power tools
US11765131B2 (en) * 2019-10-07 2023-09-19 Schlumberger Technology Corporation Security system and method for pressure control equipment
US11920438B2 (en) * 2019-10-17 2024-03-05 Schlumberger Technology Corporation Intelligent power management system
WO2021091594A1 (en) * 2019-11-08 2021-05-14 Halliburton Energy Services, Inc. Generating customized wellbore software application installer for deployment in a wellbore computing network
US11436514B2 (en) * 2020-04-01 2022-09-06 Chevron U.S.A. Inc. Designing plans using requirements knowledge graph
US20220086151A1 (en) * 2020-09-14 2022-03-17 Citrix Systems, Inc. Peer reviewed access to computing system
US11544643B1 (en) * 2021-06-16 2023-01-03 Bnsf Railway Company System and method for intermodal facility management
CN114157407B (zh) * 2021-11-16 2023-09-19 北京华能新锐控制技术有限公司 单向隔离条件下的跨安全区时钟同步系统与方法
CN114363386B (zh) * 2021-12-31 2024-04-12 中控创新(北京)能源技术有限公司 工控安全管理装置和油气管道控制系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4794534A (en) * 1985-08-08 1988-12-27 Amoco Corporation Method of drilling a well utilizing predictive simulation with real time data
US20090225630A1 (en) * 2008-03-10 2009-09-10 Schlumberger Technology Corporation Data aggregation for drilling operations
CN101702274A (zh) * 2009-11-10 2010-05-05 西南石油大学 便携式钻井模拟系统及其操作方法
US20120173218A1 (en) * 2010-12-29 2012-07-05 Athens Group Holdings, Llc Method and system for drilling rig testing using virtualized components
US20150053483A1 (en) * 2012-04-03 2015-02-26 National Oilwell Varco, L.P. Drilling control and information system
CN106409053A (zh) * 2016-11-24 2017-02-15 四川艾瑞智信科技有限公司 一种基于虚拟现实的便携式模拟教学设备
US20170114618A1 (en) * 2014-06-13 2017-04-27 Mhwirth As Method and system for controlling well operations

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9359882B2 (en) * 2006-09-27 2016-06-07 Halliburton Energy Services, Inc. Monitor and control of directional drilling operations and simulations
US8121971B2 (en) * 2007-10-30 2012-02-21 Bp Corporation North America Inc. Intelligent drilling advisor
BRPI0914510B1 (pt) * 2008-10-14 2019-07-16 Prad Research And Development Limited Métodos para automatizar ou parcialmente automatizar a otimização de uma operação de perfuração automatizada ou parcialmente automatizada, sistema para automatizar ouparcialmente automatizar um processo, método para operar um equipamento de perfuração automatizado, método para controlar um processo automatizado para perfurar um furo de poço, e sistema de controle de perfuração
US8381838B2 (en) * 2009-12-31 2013-02-26 Pason Systems Corp. System and apparatus for directing the drilling of a well
US20120204142A1 (en) * 2011-02-09 2012-08-09 Schlumberger Technology Corporation Oilfield application system
US9022140B2 (en) * 2012-10-31 2015-05-05 Resource Energy Solutions Inc. Methods and systems for improved drilling operations using real-time and historical drilling data
US9341056B2 (en) * 2012-12-19 2016-05-17 Halliburton Energy Services, Inc. Discharge pressure monitoring system
EP3366016A1 (en) * 2015-10-22 2018-08-29 Nokia Solutions and Networks Oy Security mechanism for communication network including virtual network functions
AU2018313280B8 (en) * 2017-08-10 2023-09-21 Motive Drilling Technologies, Inc. Apparatus and methods for automated slide drilling

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4794534A (en) * 1985-08-08 1988-12-27 Amoco Corporation Method of drilling a well utilizing predictive simulation with real time data
US20090225630A1 (en) * 2008-03-10 2009-09-10 Schlumberger Technology Corporation Data aggregation for drilling operations
CN101702274A (zh) * 2009-11-10 2010-05-05 西南石油大学 便携式钻井模拟系统及其操作方法
US20120173218A1 (en) * 2010-12-29 2012-07-05 Athens Group Holdings, Llc Method and system for drilling rig testing using virtualized components
US20150053483A1 (en) * 2012-04-03 2015-02-26 National Oilwell Varco, L.P. Drilling control and information system
US20170114618A1 (en) * 2014-06-13 2017-04-27 Mhwirth As Method and system for controlling well operations
CN106409053A (zh) * 2016-11-24 2017-02-15 四川艾瑞智信科技有限公司 一种基于虚拟现实的便携式模拟教学设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112012695A (zh) * 2020-09-27 2020-12-01 中油国家油气钻井装备工程技术研究中心有限公司 一种基于边缘计算的石油钻机辅助指导设备及其指导方法
CN112012695B (zh) * 2020-09-27 2023-07-18 中油国家油气钻井装备工程技术研究中心有限公司 一种基于边缘计算的石油钻机辅助指导设备及其指导方法
CN114526052A (zh) * 2021-12-31 2022-05-24 中国石油天然气集团有限公司 一种钻完井工程风险预测方法及装置
CN114526052B (zh) * 2021-12-31 2023-09-19 中国石油天然气集团有限公司 一种钻完井工程风险预测方法及装置

Also Published As

Publication number Publication date
US20200277847A1 (en) 2020-09-03
RU2020112522A3 (zh) 2022-04-04
RU2020112522A (ru) 2021-10-13
NO20200295A1 (en) 2020-03-11
WO2019051439A1 (en) 2019-03-14

Similar Documents

Publication Publication Date Title
CN111406145A (zh) 用于自动化钻井网络的系统和方法
US10353358B2 (en) Rig control system
US9130980B2 (en) Integrated unified threat management for a process control system
US11470149B2 (en) State management for device-driven management workflows
CN112136292B (zh) 用于网络的自动关闭和启动的系统和方法
EP3618353B1 (en) Dynamic, endpoint configuration-based deployment of network infrastructure
JP2006099777A (ja) レガシー・オートメーション・システムのための集中管理プロキシ・ベースのセキュリティ
US20180351952A1 (en) System and method for secure management of network devices
US11475316B2 (en) Intelligent drilling rig control system commissioning, diagnostics and maintenance
CN113625665A (zh) 集中式安全事件生成策略
CN115480533A (zh) 软件定义的控制系统中的发现服务
CN115480526A (zh) 用于工业过程工厂的软件定义控制系统中的动态维护冗余和负载平衡的系统和方法
CN115480538A (zh) 用于工业过程工厂的软件定义过程控制系统的可视化
CN115480539A (zh) 工业过程工厂的软件定义的过程控制系统的可视化
CN115480525A (zh) 过程控制环境中用于选择和使用容器化控制器服务的活动控制器输出的i/o服务器服务
CN115480537A (zh) 用于工业过程工厂的软件定义过程控制系统
WO2020036844A1 (en) System and method for control system cybersecurity
CN115480540A (zh) 用于工业过程工厂的软件定义过程控制系统和方法
CN115480536A (zh) 用于工业过程工厂的软件定义过程控制系统的可视化
CN115480530A (zh) 用于将工业过程工厂的软件定义的控制系统中的模块进行关联的系统和方法
CN115480535A (zh) 包括与容器化的服务通信的i/o服务器服务的软件定义控制系统
RU2780964C2 (ru) Система и способ для сети автоматизированного бурения
US20230350985A1 (en) Device Disabled Until Claimed
CN113625664B (zh) 通过零接触注册的自动端点安全策略分配
US20190356696A1 (en) System and method for cybersecurity framework among network devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination