CN109564539A - 远程调试与管理 - Google Patents

远程调试与管理 Download PDF

Info

Publication number
CN109564539A
CN109564539A CN201780041688.XA CN201780041688A CN109564539A CN 109564539 A CN109564539 A CN 109564539A CN 201780041688 A CN201780041688 A CN 201780041688A CN 109564539 A CN109564539 A CN 109564539A
Authority
CN
China
Prior art keywords
debugging
equipment
memory
iot
debugger
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.)
Granted
Application number
CN201780041688.XA
Other languages
English (en)
Other versions
CN109564539B (zh
Inventor
T·D·穆纳福
Y·巴科恩
D·利维
N·巴科恩
E·E·库珀曼
F·博莱
E·达博尔
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN109564539A publication Critical patent/CN109564539A/zh
Application granted granted Critical
Publication of CN109564539B publication Critical patent/CN109564539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

远程控制或调试电子设备时面临的技术问题是远程控制或调试通常需要直接连接。然而,调试端口在许多设备上是不可访问的。本文描述的技术方案提供了用于经由现有通信基础设施(例如,公共即时信使(IM))进行安全通信的系统和方法,提供了包括调试和文件共享在内的各种调试能力。本文描述的技术方案还提供了用于基于用于嵌入式或IoT设备的远程设备存储器状态收集和发送来进行调试的系统和方法。该解决方案通过使用驻留在设备上的调试方法以安全和自动化的方式读取和转储相关存储器、寄存器以及其他设备状态信息来避免硬件调试连接。

Description

远程调试与管理
优先权声明
本专利申请要求于2016年8月3日提交的第62/370,476号美国临时专利申请的优先权,该临时申请通过引用整体合并于此。
技术领域
本文中所描述的实施例总体上涉及电子设备的远程调试和管理。
背景技术
对电子设备(包括远程或自主电子设备)的远程调试和管理的需求不断增加。用户可以通过直接连接到电子设备(例如,被测设备)来与电子设备交互。然而,这种直接连接通常需要将设备发送给制造商,或者制造商派遣工程师或技术人员到电子设备所在位置。
用于直接连接的一些现有解决方案包括通过虚拟专用网络(VPN)共享操作系统桌面。然而,VPN配置通常要求被测电子设备的卖方和买方两者都有VPN许可。VPN配置还需要在客户站点处的可能不被客户批准的网络拓扑更改。另外,许多客户需要安全连接,而VPN和许多其他现有调试解决方案不提供安全连接。
一些调试需要访问低级设备信息,例如设备软件存储器状态、硬件存储器状态、固件存储器状态、错误状态或其他设备信息。为了调试这种低级设备信息,调试工程师可以直接连接到设备并使用低级调试方法,例如源代码级调试或代码级跟踪(例如,“printf”跟踪)。直接设备连接还可能需要特定的调试器设备连接(例如,联合测试工作组(JTAG)调试器设备),并且可能需要开发特定的脚本来读取或转储设备存储器。对于复杂的环境,例如嵌入式控制器和联网物理设备,多个设备之间的交互可以为不同类型的设备引入多种类型的低级设备信息。这种环境的复杂性只会随着嵌入式或联网物理设备的数量以及设备特性的数量增加而增加。为了调试这样的复杂环境,可能需要多个硬件专家或软件专家在场来连接到设备并执行一个或多个低级调试方法。
期望的是,提供一种用于远程调试和管理电子设备的改进的解决方案。
附图说明
图1是根据至少一个实施例的直接设备调试拓扑的框图。
图2是根据至少一个实施例的多调试设备拓扑的框图。
图3是根据至少一个实施例的联网设备拓扑的框图。
图4是根据至少一个实施例的存储器调试拓扑的框图。
图5是根据至少一个实施例的核心转储概览的框图。
图6是根据至少一个实施例的调试环境的框图。
图7是示出根据至少一个实施例的用于远程的基于存储器的方法700的框图。
图8是示出根据至少一个实施例的用于远程的调试通信800的框图。
图9示出了根据至少一个实施例的通过链路耦合到相应的网关的相应的物联网(IoT)网络的域拓扑。
图10示出了根据至少一个实施例的云计算网络,该云计算网络与作为云计算网络边缘处的雾设备操作的IoT设备的网状网络通信。
图11示出了根据至少一个实施例的图示了多个IoT设备之间的通信的网络的框图。
图12示出了根据至少一个实施例的示例IoT处理系统架构的框图,在架构上可以执行本文讨论的任何一项或多项技术(例如,操作、过程、方法和方法论)。
具体实施方式
远程控制或调试电子设备时面临的技术问题是远程控制或调试通常需要直接连接。在各种实施例中,本文描述的技术方案提供了用于经由现有的公共或私有通信基础设施(例如,即时信使(IM))进行端到端加密通信的系统和方法。这些解决方案提供各种调试能力,包括调试和文件共享,并且在远程连接到系统之前不需要VPN、防火墙、安全门或其他特定的网络重新配置。这些解决方案支持嵌入式或联网设备与主机设备(例如,膝上型计算机、台式机或服务器)之间的通信,并支持两个嵌入式或联网设备之间的通信。这些解决方案在各种调试用例中是有用的,包括个人计算机(PC)、服务器、制造设备、嵌入式设备和“物联网”(IoT)设备。与通用PC处理器相比,嵌入式设备可以包括具有专用功能(诸如恒温器、微控制器、智能手表、车辆计算机或其他专用计算设备)的计算设备。IoT设备可以包括各种类型的网络连接的电子设备,诸如处理器、传感器、输出设备或其他电子设备。联网设备可以被称为联网设备、智能设备或所连接的设备。
与复杂、昂贵且通常不切实际的VPN连接解决方案相比,加密的调试通信实现提供了不需要网络配置的安全远程连接。与派遣工程师调试被测设备相比,本实现使工程师能够远程调试被测设备,并向客户提供实时(或接近实时)的解决方案。此外,由于使用通信基础设施,将不需要客户修改其网络配置,从而避免需要打开特殊端口或安装特定的VPN设备。
在实施例中,本文描述的技术方案提供了基于用于嵌入式或IoT设备的远程设备存储器状态收集和发送(例如,核心存储器“读和转储”)进行调试的系统和方法。具体而言,许多IoT和嵌入式设备不提供调试端口(例如,JTAG连接)或不提供对调试端口的轻松访问。例如,设备的调试触点可以包括设备的印刷电路板上的两个通孔,需要用户将触点焊接到这些通孔以连接调试器。在各种实施例中,IoT和嵌入式设备可能不提供调试端口、通信端口(例如,以太网连接)、接口端口(例如,USB、火线(FireWire))、用户接口(例如,按钮、触摸屏)或显示器。本文描述的技术实现通过使用驻留在设备上的调试方法以安全和自主方式读取和转储相关存储器、寄存器以及其他设备状态信息来避免硬件连接。这避免了将设备运送到调试位置或将调试工程师派遣到设备位置的需要,并且避免了让调试工程师将设备物理地连接到物理调试设备(例如,通过JTAG调试器)以读取和转储存储器。该解决方案提供了一种方便的方法来一起接收各种类型的调试信息,同时维持系统的安全性。这种实现或其变体可与任何高级或低级调试方法一起使用,调试方法诸如调试服务、跟踪应用程序编程接口(API)、异常处理程序、源代码级调试、跟踪、失效后调试和其他调试方法。
本文描述的技术方案解决了设备开发的至少三个不同阶段,包括开发阶段、大规模生产阶段以及验证和现场试验阶段。在开发阶段,设备位于客户实验室,其中提供从服务提供商实验室到客户实验室的安全连接是不切实际或不可能的。在开发阶段内,调试服务器是连接到客户实验室处的设备的单独计算机,如图1所示。在验证和现场试验阶段,调试服务器可以包括连接到客户现场产品的简单计算设备,客户现场产品包括微处理器和网络设备,诸如具有广域网(WAN)接口设备的移动服务器。例如,客户现场产品可以包括无人驾驶飞行器(UAV),无人驾驶飞行器(UAV)可以配备有移动服务器(例如,爱迪生模块)和无线网络设备。客户现场产品可以在现场部署,但该部署是在客户工程师的监督下。客户基础结构可能不足以配置全特征VPN和远程调试程序或调试标准所需的其他安全机制。为了在开发的早期阶段(例如,在引导期间)启用调试,服务器需要与被测设备分离。与验证和现场试验阶段期间的调试相关的成本在大规模生产阶段增加。在大规模生产期间,调试服务器软件或硬件可以集成到客户设备中。在大规模生产阶段,客户设备可以驻留在终端用户场所处,其中终端用户场所可能不提供安全的调试基础设施。
下描述和附图充分地说明了具体实施例,以使本领域技术人员能够实践它们。其他实施例可以结合结构、逻辑、电气、过程和其他变化。各种实施例的部分和特征可以包括在其他实施例的部分和特征中,或者替代其他实施例的部分和特征。权利要求中所阐述的实施例包括这些权利要求的所有可用等效物。
图1是根据至少一个实施例的直接设备调试拓扑100的框图。拓扑100包括调试控制台120,调试控制台120可以位于远程服务提供商的实验室110中。拓扑100包括调试服务器125,调试服务器125经由通信基础设施105(诸如即时信使(IM)平台)连接到调试控制台120。调试服务器125可以连接到被测设备130,其中调试服务器125和被测设备130可以位于客户站点115(例如,客户公司或家)。
调试服务器125包括调试软件、通信客户端(例如,IM客户端)以及通信加密密钥,其中加密密钥可以由服务提供商预先提供。通信客户端可以与调试软件交互,包括向调试软件发送调试命令,以及接收来自调试软件的调试输出。在实施例中,通信客户端被实现为聊天机器人(例如,IM机器人(IM bot)、聊天机器人(chatterbot)),以响应于从调试控制台120接收命令而自动执行编程功能。聊天机器人可以使用预定协议进行通信,或者可以使用经由通信客户端提供给聊天机器人的协议。因此,希望询问被测设备130的工程师可以仅仅经由调试服务器125打开与设备130的IM聊天,并与被测设备130“聊天”以发起调试并检取调试结果。此外,通过使用IM基础设施,其他工程师可以加入类似于与被测设备130的“群聊”的对话。
调试控制台120可以运行与调试服务器125相同的工具,从而向调试控制台用户提供好像用户与调试服务器125实体交互那样的相同调试体验。调试控制台用户界面(UI)和通信客户端可以集成到单个程序中,或者UI可以诸如使用API或其他编程接口向通信客户端发送命令。
即使当调试控制台120远离客户公司或家115时,调试控制台120的用户体验基本上与被测设备130物理连接到调试控制台120相同。调试控制台用户可以使用群聊模式,该群聊模式允许几个工程师连接到同一被测设备130,从而允许每个工程师提供单独的调试。通信客户端可以提供具有访问安全性、加密和其他安全措施的即时消息传递能力。例如,通信客户端可以基于预先批准的通信客户端联系人的列表来限制对特定调试控制台120或被测设备130的访问。通信客户端还可以对发送的每个消息进行加密并对接收的每个消息进行解密,诸如使用先前提供的加密密钥来执行对称密钥加密。通信客户端可以使用未加密和加密的消息传递的组合,诸如使用加密消息传递发起调试会话,但是对于发送的每个调试命令以及接收的调试输出需要加密的消息。
调试控制台用户可以通过将明文命令(例如,ASCII或Unicode)输入到调试控制台120上的通信客户端窗口中来执行调试程序,并且这些命令被加密为明文网络分组并通过调试服务器125传送到被测设备130。示例命令在以下表1中示出。
表1:命令示例
使用调试,调试控制台用户可以在调试控制台120处键入明文命令,其中调试控制台120将明文命令加密到表1中所示的相应明文网络分组中。明文网络分组经由通信基础设施105发送到调试服务器125,调试服务器125对明文网络分组进行解密,并向被测设备130发送相应的命令。
客户端通信信道135还可用于发起调试过程。通信信道135可以包括客户端IM客户端、独立调试程序或在客户站点115处操作的其他程序。为了提供附加的安全性或提供特定的调试功能,通信信道135可以通过调试控制台120连接到调试服务器125。在实施例中,客户通过通信基础设施105从通信信道135向调试控制台120发送发起调试过程的消息。例如,通信信道可以包括IM客户端,并且IM客户端可以向驻留在调试控制台上的聊天机器人发送调试发起命令。调试控制台可以发起调试过程或执行调试过程,诸如通过将存储器读取和转储请求通过调试服务器125发送到被测设备130。调试过程或步骤的输出可以通过调试服务器125被传送回调试控制台120。基于输出,调试控制台120可以发送附加消息以执行附加调试程序,诸如响应于特定的失效状态。调试控制台120还可以分析输出并将调试反馈消息提供回给通信信道135,诸如提供对被测设备130的成功诊断和修复的指示。
IM客户端的使用提供了各种优点。明文IM客户端提供使用与客户的当前IM客户端兼容的IM客户端的能力,从而避免进一步网络重新配置(例如,VPN)的需要。例如,客户可以使用Skype或客户雇主要求的其他明文IM客户端。这与需要传输二进制和其他非明文数据的各种非明文协议形成对比,非明文协议诸如简单网络管理协议(SNMP)。根据客户的IM客户端配置,使用IM客户端可以提供直接连接或通过公共或私有IM服务器连接的能力。例如,调试控制台120上的IM客户端可以直接(例如,对等连接)连接到调试服务器125上的IM客户端,而不需要单独的IM客户端服务器。IM客户端的使用提供了实时通信的能力,诸如提供工程师之间的实时通信或传输实时调试命令和实时调试输出。IM客户端为多于一个调试工程师提供了执行各种调试步骤的能力。例如,第一工程师可以执行调试过程的第一部分,将具有不同调试专业知识的第二调试工程师加到群聊以执行调试过程的第二部分,并且根据需要向群聊添加附加的调试工程师或从群聊删除附加的调试工程师。明文IM客户端的使用提供了执行各种调试步骤的能力,同时与其他调试工程师进行明文通信。
图2是根据至少一个实施例的多调试设备拓扑200的框图。拓扑200包括调试控制台220,该调试控制台120可以位于服务提供商的实验室210中。拓扑200包括经由通信基础设施205(例如,IM平台)连接到调试控制台220的调试服务器235。调试服务器235可以被连接到被调试系统230(例如,被测设备),其中调试服务器235和被调试设备230可以位于客户站点215(例如,客户实验室、公司或家)。调试服务器235包括调试软件、通信客户端和通信加密密钥,其中加密密钥可以由服务提供商预先提供。调试控制台220至少运行与调试服务器235相同的工具,从而向调试控制台用户提供好像用户在物理上与调试服务器235交互那样的基本上相同的调试体验。调试控制台用户界面(UI)和通信客户端可以集成到单个程序中,或者UI可以诸如使用API或其他编程接口向通信客户端发送命令。
客户站点215可以包括在调试服务器235和被调试系统230之间传送视频或其他用户界面的仅视频传播或键盘-视频-鼠标(KVM)传播225。客户实验室215也可以包括总线设备240,该总线设备240可以包括具有封闭式机箱适配器的平台支持的总线。例如,总线设备240可以包括封闭式机箱内的后端总线(BSSB),后端总线(BSSB)使用外部封闭式机箱适配器将特定连接连接到各个硬件端口。调试服务器235可以连接到总线设备240,以避免对硬件专用连接适配器的需要。客户实验室215可以包括自动电源245(APS),自动电源245(APS)使用特定连接适配器来测试睡眠模式、测试电池电量或测试AC电源。客户实验室215还可以包括用于物理被测设备(DUT)检查的可选相机250(例如,网际协议(IP)相机)。
拓扑200可以包括供应机制。供应机制可以在部署调试服务器235之前由服务提供商提供,以提供基础设施205上的数据保护。在一个示例中,供应机制可以减少或消除各种网络攻击,诸如中间人(MITM)攻击。在供应状态期间,创建用于对称加密的密钥(例如,AES加密、用于加密或解密消息的pycrypto Python等)并将密钥存储在调试控制台220和调试服务器235两者中。一旦供应,基础设施205上的通信(或者任何其他方法)将被加密并且安全,例如每条消息使用一个加密密钥来减少或消除离开调试控制台220或调试服务器235的未加密消息。因为加密密钥是基于每条消息使用的,所以可以基于预期的消息数量以及基于调试控制台220和调试服务器235设备的预期数量来选择创建的加密密钥的数量,加密密钥包括创建和部署数十亿个密钥。该加密密钥配置减少或消除了密钥交换阶段,并且从而防止了MITM攻击。可以将相同的加密密钥提供到多于一个控制台中,从而允许物理上位于不同站点的多个调试工程师调试同一设备。这是通过将调试工程师和调试服务器235添加到同一个聊天组来实现的。现有的远程调试协议或标准不提供这种由多个工程师访问的供应机制。
图3是根据至少一个实施例的联网设备拓扑300的框图。联网设备拓扑300可以与客户站点315处的被调试系统325通信。被调试系统325可以包括调试服务器330。被调试系统325可以包括一个或多个远程数据捕获设备335,诸如惯性测量单元(FMU)、远程照相机或其他远程数据捕获设备。
在各种实施例中,支持各种计算平台。平台可以包括联网设备(IoT)平台,其中可以在这样的平台上进行远程调试管理和控制。在实施例中,平台包括运行调试服务器330的IoT设备325,调试服务器330允许调试工程师通过通信基础设施305与IoT设备325交互。平台可以包括可以被预先提供有对称密钥的IoT调试服务器330,这些密钥允许在调试控制台320和调试服务器330之间进行安全数据交换。
拓扑300进一步包括各种解决方案。在软件更新示例中,可以更改或升级IoT系统定义。为了更改或升级IoT系统,可以使用软件部署(例如,软件推送)来加载新功能或处理先前的版本程序错误。在软件更新示例中,拓扑300通过在通信基础设施305上推送二进制消息来启用远程软件更新。类似地,拓扑300可以寻址未按预期执行或未按预期响应输入的平台。在示例中,当前客户经常被要求在实施复杂步骤的同时运行特定软件,这通常导致客户将IoT设备发送或带到服务站以执行深度性能分析。为了减少或最小化与亲自访问相关的成本,可以要求客户将支持工程师添加为IoT通信客户端机制的联系人。作为响应,拓扑300使支持工程师能够远程执行所有所需的分析,然后在分析问题并且找到问题的根本原因后向客户报告。这为客户和供应商(例如,支持工程师)节省了时间。拓扑300还提供系统监视。例如,为了监视客户系统,例如为了在长时间段期间测量其性能,拓扑300可以用作通信隧道,以向远程用户发送性能统计和功耗日志以用于跟踪和各种其他度量。
图4是根据至少一个实施例的存储器调试拓扑400的框图。拓扑400包括设备405,诸如智能电话、嵌入式设备、IoT设备或其他电子设备。响应于调试触发,设备405执行数据聚集410。调试触发可以包括设备故障(例如,未处理的存储器异常),用户发起的存储器转储、未计划的重启或其他触发。数据聚集410可以包括收集设备状态数据,收集设备状态数据既提供设备的当前状态(例如,设备存储器状态、连接的设备状态)又提供表示设备的调试触发之前的或引起调试触发的状态的数据。数据聚集410可以包括收集来自部分或全部存储器转储的设备状态数据(例如,保存到内部易失性或非易失性存储器中的页面)、来自可用寄存器和缓冲器的设备状态数据(例如,最后分支记录硬件寄存器、固件状态)、记录日志的跟踪数据、和其他设备状态数据。因为许多设备类型(例如,嵌入式设备、IoT设备)不提供调试端口或者不提供对调试端口的轻松访问,所以数据聚集410用于读取和转储相关存储器(例如,存储器核心转储、寄存器转储),记录日志的跟踪数据(例如,堆栈跟踪转储)和其他设备状态信息。设备405可以包括用于提供数据聚集功能的仪器软件,其中仪器软件提供记录和聚集调试数据的能力。堆栈跟踪转储可以包括关于一个或多个执行程序的执行的记录日志的跟踪数据信息,例如固件、硬件或软件跟踪数据。在各种示例中,堆栈跟踪转储数据可以包括失效时堆栈上的指令、各种高级事件日志记录数据(例如,程序失效代码)、各种低级软件跟踪(例如,可变值)或其他类型的日志记录。使用存储器核心转储、堆栈跟踪转储和其他设备状态信息通过编写并执行脚本(例如,小的可执行程序)来聚集数据以再现设备系统状态,减少或消除了调试的需要。
一旦聚集了相关设备状态数据,设备405就可以分析数据以确定是在本地还是远程执行调试(操作415)。确定(操作415)可以基于调试触发的类型、基于对聚集数据内容的分析以确定可能需要哪些数据部分来再现设备故障、基于设备405执行本地调试的能力、或者基于其他因素。当确定(操作415)选择本地调试时,数据可以被存储到本地存储器中(操作420),诸如被保存到动态随机存取存储器(DRAM)中、被保存到设备的硬盘驱动器(HDD)上、或以其他方式被存储在设备405上。在实施例中,数据被存储在DRAM中,并且驱动器基于中断自动收集来自DRAM的数据,并将数据存储在HDD上。数据可用于直接在设备405上执行调试,或者可以由直接连接到设备405的端口(例如,调试端口)的外围调试器访问。设备405可以在设备上执行一些正在进行的调试(例如,错误处理、事件日志记录),然而,当调试触发导致程序崩溃或系统崩溃时,可以中断或阻止调试。与在设备405上正在进行的调试相比,存储在本地存储器中(操作420)的数据表示在调试触发时系统状态的存储器,并且本地调试可以重新创建导致调试触发事件的系统状态历史或操作指令。例如,本地调试可以在调试触发时从堆栈跟踪转储中提取堆栈上的指令集,以重新创建导致调试触发的操作指令。在实施例中,本地调试包括重新创建系统存储器状态,以便调试器如同直接连接到要调试的设备那样操作。本地调试可以使用调试集成开发环境(IDE)、仿真器或其他调试方法执行。例如,调试器可以包括系统仿真器,并且本地调试可以包括重新创建系统映像。
当确定(操作415)选择远程调试时,数据可以通过通信基础设施430被发送到调试控制台440。响应于调试触发,设备405可以将所有所聚集的数据发送到调试控制台440,或者可以发送足以重现设备故障数据的子集。确定(操作415)可以响应于从调试控制台440接收的调试触发,其中调试触发可以使用经由现有通信基础设施205(例如,IM平台)的安全通信通过通信基础设施430发送。在实施例中,调试控制台440可以接收触发技术人员输入的调试的指令,然后基于该指令创建、加密并发送调试触发。响应于设备405接收到经加密的调试触发,设备405可以对调试触发进行解密,执行数据聚集410,加密聚集的数据,并将经加密的聚集的数据发送到调试控制台440。与上述基于设备的调试一样,调试控制台440可用于重新创建导致调试触发事件的系统状态历史。在实施例中,调试控制台440可以重新创建系统存储器状态,使得调试器如同直接连接到设备405那样操作,诸如使用系统仿真器或调试IDE。
拓扑400提供了一种能够改进本地或远程调试的解决方案。响应于设备故障,拓扑400提供聚集和分析所有可用系统信息的能力,其中系统信息用于减少设备故障的根本原因分析所需的再现周期。通过提供表示在调试触发之前或引起调试触发的设备的状态的调试数据,这减少或消除了开发特定于设备405硬件和软件配置的脚本或仪器的需要。这也消除了在设备405的位置处存在调试工程师或者将设备405运送到供应商位置的需要。在实施例中,拓扑400可以用于使一个或多个调试步骤自动化。例如,响应于调试触发,设备405可以聚集数据410,分析数据以确定调试位置(操作415),并且可以在本地保存数据(操作420)或者将数据发送到调试控制台440以进行自动调试。
图5是根据至少一个实施例的核心转储概览500的框图。在实施例中,核心转储概览500提供可响应于调试触发在存储器调试拓扑500内使用的过程的描述。响应于调试触发520,设备内核525可以收集设备存储器505的一个或多个组成部分。设备存储器505可以包括第一过程510到第N过程515,并且可以包括安全嵌入式控制器(未示出)。设备内核525可以将存储器505合并到存储器映像中,并且可以将存储器映像复制到存储器模块535(操作530)。可以使用单向通信来执行存储器复制(操作530),以减少或消除到设备内核525的新通信路径。可以使用单向通信来保持存储器映像的完整性,这可以提高调试器重新创建设备故障或其他存储器状态的能力。
设备内核525可以将存储器映像复制到存储器模块535(操作530)。存储器模块535可以包括存储器存储单元或存储器输入/输出设备,诸如动态随机存取存储器(DRAM)、USB存储器位置、直接存储器存取(DMA)、通用异步接收机/发射机(UART)、存储器映射输入/输出(MMIO)或其他存储器模块。MMIO可以提供使用一致的地址空间来寻址存储器设备和输入/输出设备的能力。可以基于存储器映像的内容来选择存储器模块位置,诸如基于跟踪实现来选择存储器模块位置。存储器映像到存储器模块535的复制(操作530)可以包括安全复制模式。安全复制模式可以包括从存储器映像中识别和移除秘密数据(例如,加密密钥)。安全复制模式还可以限制仅对被认证的用户的访问。例如,安全复制模式可以仅识别存储器映像的子集并将其复制到存储器模块535,或者安全复制模式可以向存储器映像添加安全性(例如,加密),使得仅授权用户能够访问存储器映像。
存储器映像随后可以被提取,例如提取到另外的存储位置或提取到本地或远程调试器。因为存储器映像可能很大,所以可以将存储器映像划分为多个存储器映像子组成部分以便于存储器映像的存储或传输。可以基于设备架构限制(诸如设备缓冲区大小)来生成存储器映像子组成部分。存储器映像子组成部分可以被生成为经由多个消息被发送,其中存储器映像子组成部分嵌入在多个消息中。可以基于调试架构生成存储器映像子组成部分,诸如将存储器映像划分为数据页以提高调试器重新创建设备存储器状态的能力。
内核525可以向存储器映像提供附加调试数据以提供各种调试特征。在实施例中,内核525可以提供固件状态数据。固件状态数据可以使调试器能够检查在调试触发520之前存在的一系列先前固件状态(例如,回溯固件状态),或者可以使调试器能够在调试触发520时使用调试符号重新创建具有完整固件存储器状态。例如,调试符号可以提供确定存储器地址的能力,并在软件代码执行期间在适当的时间和编程位置(例如,存储器地址)将存储器传递到适当的软件代码存储器地址中。由内核525提供的附加信息可以由设备的架构和调试器确定。例如,内核525可以基于设备处理器架构和调试器环境(例如,调试器处理器架构、调试器IDE)提供附加数据。内核525还可以实施安全复制模式以向存储器映像添加安全性,诸如对存储器进行加密,使得只有被授权的用户能够访问存储器映像。
图6是根据至少一个实施例的调试环境600的框图。调试环境600包括存储器转储605和跟踪捕获610,存储器转储605和跟踪捕获610响应于调试触发从嵌入式设备或IoT设备收集。存储器转储605和跟踪捕获610被传送到调试器,其中它们可以在调试器IDE 615中使用。通过使用存储器转储605和跟踪捕获610,调试器IDE 615能够重新创建设备状态并执行各种调试操作。这种重新创建设备状态的能力对于IoT和嵌入式设备特别有用,其中许多设备不提供调试端口或者不提供对调试端口的轻松访问。
图7是示出根据至少一个实施例的用于远程调试的基于存储器的方法700的框图。方法700可以在电子设备的处理器上执行,电子设备诸如智能电话、嵌入式设备、IoT设备或其他电子设备。方法700包括接收调试触发(操作710),其中调试触发可以包括设备故障、用户发起的存储器转储、未计划的重启或其他触发。响应于接收到调试触发(操作710),设备执行数据聚集(操作720)。数据聚集(操作720)可以包括收集来自部分或完整存储器转储的设备状态数据、来自可用寄存器和缓冲器的设备状态数据、堆栈跟踪转储和其他设备状态数据。
在执行数据聚集(操作720)之后,设备可以分析数据(操作730)。分析(操作730)可以确定调试是将在本地还是远程执行,并且可以基于调试触发的类型、基于对聚集数据内容的分析以确定可能需要哪些数据部分来再现设备故障、基于设备执行本地调试的能力,或者基于其他因素来确定。
当分析730选择本地调试时,数据可以被存储在本地(操作740),诸如保存到DRAM中、保存到设备HDD上、或以其他方式存储在设备上。存储的数据可用于直接在设备上执行本地调试(操作745),或者可以由直接连接到设备端口的外围调试器访问。在实施例中,本地调试(操作745)包括重新创建系统存储器状态,以便调试器如同直接连接到要调试的设备那样操作。
当分析730选择远程调试时,可以将数据发送到远程位置750,诸如发送到远程调试控制台。远程调试的选择可以响应于从远程调试控制台接收的调试触发,其中可以使用安全通信经由现有通信基础设施发送调试触发,诸如使用以下描述的调试通信方法800。一旦在远程位置接收到被发送的数据,该数据就可以被用于执行远程调试755。在实施例中,远程调试控制台可以重新创建系统存储器状态,使得远程调试控制台可以如同直接连接到设备那样操作,诸如使用系统仿真器或调试IDE。
图8是示出根据至少一个实施例的用于远程的调试通信方法800的框图。调试通信方法800可以独立于方法700使用,或者可以与如上所述的方法700组合。方法800包括在调试服务器处从远程调试控制台设备中接收经加密的远程命令(操作810)。方法800包括将经加密的远程命令解密为经解密的远程命令(操作820)。方法800包括将经解密的远程命令发送到被测设备(操作830)。方法800包括接收来自被测设备的调试输出(操作840)。方法800包括将调试输出加密为经加密的调试输出,并将经加密的调试输出发送到远程调试控制台设备(操作850)。
图9示出了通过链路耦合到相应的网关的相应的物联网(IoT)网络的示例域拓扑。物联网(IoT)是这样一种概念,其中大量的计算设备彼此互连,并且连接到互联网,以提供非常低级别的功能和数据采集。因此,如本文所使用的,IoT设备可以包括半自主设备,该设备执行与其他IoT设备以及更广泛的网络(诸如因特网)通信的功能(诸如感测或控制等等)。
通常,IoT设备在内存、大小或功能上受到限制,允许以与较小数量的较大设备类似的成本部署较大数量的IoT设备。然而,IoT设备可以是智能手机、笔记本电脑、平板电脑或PC,或其他更大的设备。此外,IoT设备可以是虚拟设备,诸如智能电话或其他计算设备上的应用。IoT设备可以包括IoT网关,用于将IoT设备耦合到其他IoT设备和云应用,用于数据存储、过程控制等。
物联网设备可以包括商业和家庭自动化设备,例如供水系统、配电系统、管道控制系统、工厂控制系统、灯开关、恒温器、锁、照相机、警报器、运动传感器等。IoT设备可以通过远程计算机、服务器和其他系统访问(例如,以控制系统或访问数据)。
互联网和类似网络的未来发展可能涉及大量的物联网(IoT)设备。因此,在本文讨论的技术的上下文中,对于这种未来网络化的许多创新将解决对所有这些层不受阻碍地增长、发现连接的资源并使其可访问、以及支持隐藏和划分连接的资源的能力的需求。可以使用任意数量的网络协议和通信标准,其中每个协议和标准被设计为解决特定目标。此外,协议是支持人类可访问服务的结构的一部分,这些服务无论位置、时间或空间如何都进行操作。这些创新包括服务交付和相关基础设施,如硬件和软件;安全性增强;以及基于服务级别和服务交付协议中指定的服务质量(QoS)条款提供服务。如将被理解的,IoT设备和网络(诸如图9和10中所介绍的那些)的使用在包括有线和无线技术的组合的异构连接网络中提出了许多新的挑战。
图9具体提供了域拓扑的简化图,该域拓扑可用于包括IoT设备904的多个物联网(IoT)网络,其中,IoT网络956、IoT网络958、IoT网络960、IoT网络962通过主干链路902耦合到相应的网关954。例如,多个IoT设备904可以与网关954通信,并且通过网关954彼此通信。为了简化绘图,并非每个IoT设备904或通信链路(例如,链路916、链路922、链路928或链路932)都被标记。主干链路902可以包括任何数量的有线或无线技术,包括光网络,并且可以是局域网(LAN)、广域网(WAN)或因特网的一部分。另外,这种通信链路促进IoT设备904和网关954两者之间的光信号路径,包括使用多路复用/多路分解(MUXing/deMUXing)组件,以促进各种设备的互连。
网络拓扑可以包括任意数量类型的IoT网络,例如使用蓝牙低能耗(BLE)链路922与网络956一起提供的网状网络。可能存在的其他类型的IoT网络包括无线局域网(WLAN)网络958,用于通过IEEE 802.11链路928与IoT设备904通信;蜂窝网络960,用于通过LTE/LTE-A(4G)或5G蜂窝网络与IoT设备904通信;以及低功率广域(LPWA)网络962,例如,与LoRa联盟颁布的LoRaWan规范兼容的LPWA网络,或者与因特网工程任务组(IETF)颁布的规范兼容的低功率广域网(LPWAN)网络上的IPv6。此外,相应的IoT网络可以使用任何数量的通信链路与外部网络提供商(例如,第2层或第3层提供商)通信,通信链路诸如LTE蜂窝链路、LPWA链路,或者基于IEEE 802.15.4标准(诸如)的链路。相应的IoT网络还可以使用各种网络和互联网应用协议(诸如约束应用协议(CoAP))来操作。相应的IoT网络还可以与协调器设备集成,协调器设备提供形成链接的设备和网络的集群树的链接链。
这些IoT网络中的每一个都可以为新技术特征(诸如本文所描述的那些)提供机会。改进的技术和网络可以使设备和网络指数性增长,包括将IoT网络用作雾设备或系统。随着这些改进技术的使用的增长,可以开发IoT网络用于自我管理、功能演进和协作,而无需直接的人为干预。改进的技术甚至可以使IoT网络在没有集中控制系统的情况下运行。因此,本文描述的改进技术可用于自动化和增强远远超出当前实现的网络管理和操作功能。
在示例中,IoT设备904之间的通信,诸如通过主干链路902的通信,可以由用于认证、授权和计费(AAA)的分散式系统保护。在分散式AAA系统中,可以跨互连的异构网络基础设施实现分布式支付、贷款、审计、授权和认证系统。这允许系统和网络走向自主操作。在这些类型的自主操作中,机器甚至可以签订人力资源合同并与其他机器网络协商合作伙伴关系。这可以允许实现共同的目标,并实现相对于概述的、计划的服务水平协议的平衡的服务交付,以及实现提供计量、测量、可跟踪性和可追踪性的解决方案。创建新的供应链结构和方法可以在没有人员参与的情况下创建大量服务、挖掘大量服务的价值并使大量服务崩溃。
通过将诸如声音、光、电子交通、面部和模式识别、气味、振动等传感技术集成到IoT设备之间的自治组织中,可以进一步增强这种IoT网络。传感系统的集成可以允许服务交付的相对于合同服务目标、基于服务编排和服务质量(QoS)的资源聚集和融合的系统且自主的通信和协调。基于网络的资源处理的一些单独示例包括以下内容。
例如,网状网络956可以由执行内联数据到信息转换的系统来增强。例如,包括多链路网络的处理资源的自形成链可以以有效的方式分配原始数据到信息的转换,以及具有在资产和资源以及每个资产和资源的相关管理之间进行区分的能力。此外,可以插入基础设施的适当组件和基于资源的信任和服务索引,以提高数据完整性、质量、保证并且提供数据置信度度量。
例如,WLAN网络958可以使用执行标准转换的系统来提供多标准连接,从而使得IoT设备904能够使用不同的协议进行通信。其他系统可以提供跨多标准基础设施的无缝互连,多标准基础设施包括可见的因特网资源和隐藏的因特网资源。
例如,蜂窝网络960中的通信可以通过卸载数据、将通信扩展到更多远程设备或卸载数据并将通信扩展到更多远程设备的系统来增强。LPWA网络962可以包括执行非网际协议(IP)到IP互连、寻址和路由的的系统。此外,每个IoT设备904可以包括合适的收发机,该收发机用于与该设备进行广域通信。此外,每个IoT设备904可以包括用于使用附加协议和频率进行通信的其他收发机。关于图12和图13中描绘的IoT处理设备的通信环境和硬件进一步讨论。
最后,IoT设备集群可以被配备成与其他IoT设备以及云网络进行通信。这可以允许IoT设备在设备之间形成自组织(ad-hoc)网络,允许它们用作单个设备,单个设备可以被称为雾设备。以下关于图10而进一步讨论该配置。
图10示出了与作为云计算网络边缘处的雾设备操作的IoT设备(设备1002)的网状网络通信的云计算网络。IoT设备的网状网络可以被称为雾1020,在云1000的边缘处操作。为了简化该图,不是每个IoT设备1002都被标记。
雾1020可以被认为是一个大规模互连网络,其中许多IoT设备1002彼此通信,例如,通过无线电链路1022彼此通信。作为示例,可以使用开放连接基金会(OpenConnectivity FoundationTM,OCF)发布的互连规范来促进该互连网络。该标准允许设备发现彼此并建立通信以用于互连。还可以使用其他互连协议,包括例如,优化链路状态路由(OLSR)协议、移动自组织网络较佳方案(B.A.T.M.A.N.)路由协议、或OMA轻量级M2M(LWM2M)协议等。
尽管在该示例中示出了三种类型的IoT设备1002:网关1004、数据聚合器1026、以及传感器1028,但可以使用IoT设备1002和功能的任何组合。网关1004可以是在云1000和雾1020之间提供通信的边缘设备,并且还可以为从传感器1028获得的数据(例如运动数据、流量数据、温度数据等)提供后端处理功能。数据聚合器1026可以从任何数量的传感器1028中收集数据,并执行用于分析的后端处理功能。结果数据、原始数据或两者可以通过网关1004被传递到云1000。传感器1028可以是完整的IoT设备1002,例如,既能够收集数据又能够处理数据。在一些情况下,传感器1028在功能上可能更加受限,例如,收集数据并允许数据聚合器1026或网关1004处理数据。
来自任何IoT设备1002的通信可以沿着任何IoT设备1002之间的方便路径(例如,最方便的路径)被传递以到达网关1004。在这些网络中,互连的数目提供了大量冗余,这允许即使在损失数个IoT设备1002的情况下也维持通信。此外,网状网络的使用可以允许使用功率非常低或位于距基础设施一定距离处的IoT设备1002,因为连接到另一IoT设备1002的范围可能远小于连接到网关1004的范围。
由这些IoT设备1002提供的雾1020可以被呈现给云1000中的设备(诸如服务器1006)作为位于云1000边缘处的单个设备,例如雾设备。在该示例中,来自雾设备的警报可以在不被识别为来自雾1020内的特定IoT设备1002的情况下被发送。以这种方式,雾1020可以被认为是提供计算和存储资源以执行(诸如数据分析、数据聚合和机器学习等)处理或数据密集型任务的分布式平台。
在一些示例中,可以使用命令式编程风格来配置IoT设备1002,例如,每个IoT设备1002具有特定功能和通信伙伴。然而,可以以声明式编程风格来配置形成雾设备的IoT设备1002,这允许IoT设备1002重新配置它们的操作和通信,诸如响应于条件、查询和设备失效来确定所需的资源。作为示例,来自位于服务器1006的用户关于由IoT设备1002监视的设备子集的操作的查询可能导致雾1020设备选择回答查询所需的IoT设备1002(诸如特定传感器1028)。然后,来自这些传感器1028的数据在由雾1020设备发送到服务器1006以回答查询之前,可以由传感器1028、数据聚合器1026或网关1004的任何组合进行聚合和分析。在该示例中,雾1020中的IoT设备1002可以基于查询(诸如添加来自流量传感器或温度传感器的数据)来选择所使用的传感器1028。此外,如果IoT设备1002中的一些IoT设备不可操作,则雾1020设备中的其他IoT设备1002可以提供类似的数据(如果可用的话)。
在其他示例中,以上参考图1至图8描述的操作和功能可以由示例形式为电子处理系统的IoT设备机器来体现,根据示例实施例,在该电子处理系统中可以执行指令集或指令序列以使得该电子处理系统执行本文讨论的方法中的任何一种。所述机器可以是IoT设备或IoT网关,包括由个人计算机(PC)、平板PC、个人数字助理(PDA)、移动电话或智能手机、或能够(相继或以其他方式)执行指定要由该机器要采取的动作的指令的任何机器的各方面所体现的机器。此外,虽然在以上的示例中只描述和引用单个机器,但是此类机器也应该被视为包括单独地或联合地执行一组(或多组)指令以执行此处所讨论的方法中的任何一个或多个的机器的任何集合。此外,这些示例和与基于处理器的系统类似的示例应被视为包括由处理器(例如,计算机)控制或操作、以单独地或联合地执行指令来执行在此所讨论的方法论中的任何一种或多种的的一个或多个机器的任何集合。
图11示出了与多个物联网(IoT)设备通信的云计算网络即云1100的图示。云1100可以表示因特网,或者可以是局域网(LAN),或者广域网(WAN)(诸如公司的专有网络)。IoT设备可以包括以各种组合分组的任何数量的不同类型的设备。例如,交通控制组1106可以包括沿城市街道的IoT设备。这些IoT设备可以包括红绿灯、交通流量监视器、相机、天气传感器等。交通控制组1106或其他子组可以通过有线或无线链路1108(诸如LPWA链路、光链路等)与云1100通信。此外,有线或无线子网1112可以允许IoT设备(诸如通过局域网、无线局域网等)彼此通信。IoT设备可以使用另一设备(诸如网关1110或网关1128)来与远程位置(诸如云1100)通信;IoT设备还可以使用一个或多个服务器1130来促进与云1100或与网关1110的通信。例如,一个或多个服务器1130可以作为中间网络节点来操作以支持本地局域网之间的本地边缘云或雾实现。此外,所描绘的网关1128可以以云到网关到多个边缘设备(cloud-to-gateway-to-many edge devices)配置来操作(诸如各种IoT设备1114、IoT设备1120、IoT设备1124对于云1100中资源的分配和使用是受限的或动态的)。
物联网(IoT)设备的其他示例组可以包括远程气象站1114、本地信息终端1116、警报系统1118、自动柜员机1120、警报面板1122、或移动车辆(诸如应急车辆1124或其他车辆1126,等等)。这些IoT设备中的每一个可以与其他IoT设备、与服务器1104、与另一IoT雾设备或系统(未示出,但在图10中描绘)或其组合通信。IoT设备组可以被部署在各种住宅、商业和工业环境中(包括在私有或公共环境中)。
如图11所示,大量的物联网(IoT)设备可以通过云1100进行通信。这可以允许不同的IoT设备自主地向其他设备请求或提供信息。例如,一组IoT设备(例如,交通控制组1106)可请求来自一组远程气象站1114的当前天气预报,该组远程气象站1114可在没有人为干预的情况下提供预报。此外,应急车辆1124可被自动柜员机1120警告:盗窃正在进行。当应急车辆1124朝自动柜员机1120前进时,它可以访问交通控制组1106以请求到该位置的通行许可,例如,通过将信号灯转变为红灯以在交叉路口阻挡交叉交通达足够的时间以使应急车辆1124无阻碍地进入交叉路口。
IoT设备集群(诸如远程气象站1114或交通控制组1106)可以被配备成与其他IoT设备以及云1100通信。这可以允许IoT设备在设备之间形成自组织(ad-hoc)网络,允许它们用作单个设备,单个设备可以被称为雾设备或系统(例如,如上参考图10所述)。
图12是可以存在于IoT设备1250中用于实现本文描述的技术的组件的示例的框图。IoT设备1250可以包括示例中示出的或在以上公开中引用的组件的任何组合。这些组件可被实现为适用于IoT设备1250中的IC、IC的部分、分立电子设备或其他模块、逻辑、硬件、软件、固件或其组合,或被实现为另外并入较大系统的机箱内的组件。另外,图12的框图旨在描述IoT设备1250的组件的高级视图。然而,可以省略所示的一些组件,可以存在附加组件,并且在其他实现中可能出现所示组件的不同布置。
物联网设备1250可以包括处理器1252,处理器1252可以是微处理器、多核处理器、多线程处理器、超低压处理器、嵌入式处理器或其他已知的处理元件。处理器1252可以是片上系统(SoC)的一部分,其中处理器1252和其他组件形成为单个集成电路,或者单个封装(诸如来自英特尔(Intel)的爱迪生(EdisonTM)或伽利略(GalileoTM)SoC板)。作为示例,处理器1252可以包括基于英特尔架构核(Architecture CoreTM)的处理器(诸如QuarkTM、AtomTM、i3、i5、i7或MCU级处理器,或者可以从加利福尼亚州的圣克拉拉市(SantaClara,California)的英特尔公司(Corporation)获得的另一个这样的处理器。然而,可以使用任何数量的其他处理器,诸如来自加利福尼亚州森尼维尔市(Sunnyvale)的超微半导体有限公司(Advanced Micro Devices,Inc.,AMD)的处理器,来自加利福尼亚州森尼维尔市(Sunnyvale)的MIPS技术有限公司(MIPS Technologies,Inc.)的基于MlPS的设计的处理器,来自ARM控股有限公司(ARM Holdings,Ltd.)或其客户许可的或其被许可证人或采用者许可的基于ARM的设计的处理器。处理器可以包括诸如来自苹果有限公司(Inc)的A5-A10处理器,来自高通科技有限公司(Technologies,Inc)的SnapdragonTM处理器或来自德州仪器有限公司(Texas Instruments,Inc)的OMAPTM处理器的单元。
处理器1252可以通过互连1256(例如,总线)与系统存储器1254通信。可以使用任何数量的存储器设备来提供给定数量的系统存储器。作为示例,存储器可以是根据联合电子设备工程委员会(Joint Electron Devices Engineering Council,JEDEC)设计(诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4))的随机存取存储器(RAM)。在各种实现中,各个存储器设备可以是任何数量的不同封装类型(诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P))。在一些示例中,这些设备可以被直接焊接到母板上以提供较低调的解决方案,而在其他示例中,这些设备被配置成一个或多个存储器模块,这些存储器模块又通过给定的连接器耦合到主板。可以使用任何数量的其他存储器实现(诸如其他类型的存储器模块,例如,不同种类的双列直插式存储器模块(DIMM),包括但不限于microDIMMs或MiniDIMMs)。
为了提供(诸如数据、应用程序、操作系统等)信息的持久存储,存储1258还可以经由互连1256耦合到处理器1252。在示例中,存储1258可以通过固态磁盘驱动器(SSDD)来实现。可用于存储1258的其他设备包括闪存卡(诸如SD卡、microSD卡、xD显卡等),以及USB闪存驱动器。在低功率实现中,存储1258可以是管芯上存储器或与处理器1252相关联的寄存器。然而,在一些示例中,存储1258可以使用微硬盘驱动器(HDD)来实现。此外,除了所描述的技术之外或代替所描述的技术,任何数量的新技术(诸如阻变存储器、相变存储器、全息存储器或化学存储器等)可用于存储1258。
组件可以通过互连1256进行通信。互连1256可以包括任何数量的技术,包括工业标准体系结构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、扩展的外围组件互连(PCIx)、快速PCI(PCIe)或任何数量的其他技术。互连1256可以是专用总线,例如,在基于SoC的系统中使用的专用总线。可以包括其他总线系统(诸如I2C接口、SPI接口、点对点接口和电源总线等)。
互连1256可以将处理器1252耦合到网状收发机1262,用于与其他网状设备1264通信。网状收发机1262可以使用任何数量的频率和协议(诸如IEEE 802.15.4标准下的2.4千兆赫(GHz)传输,使用由蓝牙特别兴趣小组(Special Interest Group)定义的蓝牙低功耗(BLE)标准,或者标准等)。被配置用于特定无线通信协议的任何数量的无线电可以用于连接到网状设备1264。例如,WLAN单元可以用于根据电气和电子工程师协会(IEEE)802.11标准实现Wi-FiTM通信。另外,无线广域通信(例如,根据蜂窝或其它无线广域协议)可以通过WW AN单元发生。
网状收发机1262可以使用多个标准或无线电进行通信以用于不同范围的通信。例如,IoT设备1250可以使用基于BLE的本地收发机或另一低功率无线电与近距离设备(例如,在大约10米内)通信以省电。可以通过ZigBee或其他中间功率无线电到达更远的网状设备1264(例如在约50米内)。这两种通信技术可以在不同功率水平的单个无线电上发生,或者可以在单独的收发机上发生,例如,使用BLE的本地收发机和使用ZigBee的单独网状收发机。
可以包括无线网络收发器1266以经由局域或广域网络协议与云1200中的设备或服务通信。无线网络收发机1266可以是遵循IEEE 802.15.4或IEEE 802.15.4g等标准的LPWA收发机。IoT设备1250可以使用由Semtech和LoRa联盟开发的LoRaWANTM(长距离广域网,Long Range Wide Area Network)在广泛区域上进行通信。本文描述的技术不限于这些技术,而是可以与任何数量的实现长距离、低带宽通信的其他云收发机(诸如Sigfox)和其他技术一起使用。此外,可以使用IEEE 802.15.4e规范中描述的其他通信技术(诸如时隙信道跳变)。
除了针对网状收发机1262和无线网络收发机1266所提及的系统之外,可以使用任何数量的其他无线电通信和协议,如本文所述。例如,无线电收发机1262和1266可以包括LTE或其他使用扩频(SPA/SAS)通信来实现高速通信的蜂窝收发机。此外,可以使用任何数量的其他协议(诸如用于中速通信和提供网络通信的网络)。
无线电收发机1262和1266可以包括与任何数量的3GPP(Third GenerationPartnership Project,第三代合作伙伴计划)规范兼容的无线电,特别是长期演进(LongTerm Evolution,LTE)、高级长期演进(Long Term Evolution-Advanced,LTE-A)和高级长期演进专业版(Long Term Evolution-Advanced Pro,LTE-A Pro)。可以注意到,可以选择与任何数量的其他固定、移动或卫星通信技术和标准兼容的无线电。这些可以包括,例如,任何蜂窝广域无线电通信技术,蜂窝广域无线电通信技术可以包括,例如第五代(5G)通信系统、全球移动通信系统(GSM)无线通信技术、通用分组无线业务(GPRS)无线通信技术,或者GSM演进增强型数据速率(EDGE)无线通信技术、通用移动电信系统(UMTS)通信技术,除了上述标准之外,任何数量的卫星上行链路技术可用于无线网络收发机1266,包括例如符合国际电信联盟(ITU)或欧洲电信标准协会(ETSI)等发布的标准的无线电。因此,本文提供的示例被理解为适用于各种其他通信技术(现有和还未制定的通信技术)。
可以包括网络接口控制器(NIC)1268以向云1200或其他设备(诸如网状设备1264)提供有线通信。有线通信可以提供以太网连接,或者可以基于其他类型的网络(诸如控制器局域网(CAN)、本地互连网(LIN)、设备网、控制网、数据高速公路+、PROFIBUS或PROFINET等。可以包括附加的NIC 1268以允许连接到第二网络,例如,通过以太网向云提供通信的NIC1268,以及通过另一类型的网络向其他设备提供通信的第二NIC 1268。
互连1256可以将处理器1252耦合到用于连接外部设备或子系统的外部接口1270。外部设备可以包括传感器1272(诸如加速计、水平传感器、流量传感器、光传感器、相机传感器、温度传感器、全球定位系统(GPS)传感器、压力传感器、气压传感器等)。外部接口1270还可用于将IoT设备1250连接到致动器1274(诸如电源开关、阀门致动器、可听声音发生器、视觉警告设备等)。
在一些可选示例中,各种输入/输出(I/O)设备可以存在于IoT设备1250内或连接到IoT设备1250。例如,可以包括显示器或其他输出设备1284以显示信息(诸如传感器读数或致动器位置)。输入设备1286(诸如触摸屏或键盘)可以被包括以接受输入。输出设备1284可以包括任何数量的多种形式的音频或视觉显示,包括简单的视觉输出(诸如二进制状态指示器(例如,LED)和多字符视觉输出),或者更复杂的输出(诸如显示屏(例如,LCD屏幕)),其中字符、图形、多媒体对象等的输出由IoT设备1250的操作生成或产生。
电池1276可以给IoT设备1250供电,尽管在IoT设备1250被安装在固定位置的示例中,它可以具有耦合到电网的电源。电池1276可以是锂离子电池或金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池等)。
在IoT设备1250中可以包括电池监视器/充电器1278,以跟踪电池1276的充电状态(SoCh)。电池监视器/充电器1278可以用于监视电池1276的其他参数(诸如电池1276的健康状态(SoH)和功能状态(SoF))以提供失效预测。电池监视器/充电器1278可以包括电池监视集成电路(诸如例如来自线性科技(Linear Technologies)的LTC4020或LTC2990,来自亚利桑那州凤凰城的ON半导体的ADT7488A,或来自德克萨斯州达拉斯的德州仪器的UCD90xxx系列的IC。电池监视器/充电器1278可以通过互连1256将关于电池1276的信息传送至处理器1252。电池监视器/充电器1278还可以包括模数(ADC)转换器,该模数(ADC)转换器允许处理器1252直接监视电池1276的电压或来自电池1276的电流。电池参数可用于确定IoT设备1250可以执行的动作(诸如传输频率、网状网络操作、感测频率等)。
电源块1280或耦合到电网的其他电源可以与电池监视器/充电器1278耦合以对电池1276充电。在一些示例中,电源块1280可以用无线电力接收机来替换以(例如,通过IoT设备1250中的环形天线)无线地获得功率。电池监视器/充电器1278可以包括无线电池充电电路(诸如来自加利福尼亚州米尔皮塔斯的线性技术(Linear Technologies)的LTC4020芯片)。所选择的特定充电电路取决于电池1276的尺寸,因此取决于所需的电流。充电可以使用空中燃料联盟(Airfuel Alliance)颁布的空气燃料标准、无线充电联盟(WirelessPower Consortium)颁布的Qi无线充电标准或无线电力联盟(Alliance for WirelessPower)颁布的Rezence充电标准等来执行。
存储1258可以包括以软件、固件或硬件命令的形式的指令1282,以实现本文描述的技术。虽然这些指令1282被示为包括在存储器1254和存储1258中的代码块,但是可以理解的是,任何代码块都可以被硬连线电路代替,例如,内置到专用集成电路(ASIC)中。
在示例中,经由存储器1254、存储1258或处理器1252提供的指令1282可以被具体化为非瞬态的、机器可读的介质1260,介质1260包括用于指引处理器1252在物联网设备1250中执行电子操作的代码。处理器1252可以通过互连1256访问非瞬态的、机器可读的介质1260。例如,非瞬态的、机器可读的介质1260可以由图13的存储1258描述的设备体现,或者可以包括特定的存储单元(诸如光盘、闪存驱动器或任何数量的其他硬件设备)。非瞬态的、机器可读的介质1260可以包括指引处理器1252执行特定动作序列或流程的指令,例如,如关于上述操作和功能的(多个)流程图和(多个)框图所描述的。
在其他的示例中,机器可读介质还包括能够储存、编码或携带供该机器执行的指令并促使该机器执行本公开的方法中的任何一者或多者,或能够储存、编码或携带被这样的指令利用或与这样的指令集相关联的数据结构的任何有形的介质。因此,“机器可读介质”可以包括但不限于固态存储器以及光学和磁性介质。机器可读介质的具体示例包括非易失性存储器,包括但不限于,作为示例,半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘(诸如内部硬盘和可移除磁盘);磁光盘;以及CD-ROM和DVD-ROM盘。可以进一步利用多个传输协议(例如,HTTP)中的任一种协议、经由网络接口设备、使用传输介质、通过通信网络来发射或接收由机器可读介质实现的指令。
应当理解,本说明书中描述的功能单元或能力可以被称为或标记为“组件”或“模块”,以便更加具体地强调其实现独立性。这些组件可以由任意数量的软件或硬件形式体现。例如,组件或模块可以实现为包括定制的超大规模集成(VLSI)电路或门阵列、或现成半导体(例如逻辑芯片、晶体管或其他分立组件)的硬件电路。组件或模块还可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等可编程硬件设备中实现。组件或模块还可以在由各种类型的处理器执行的软件中实现。例如,可执行代码的所标识的组件或模块可以包括可例如被组织为对象、过程或功能的计算机指令的一个或多个物理或逻辑块。然而,所标识的组件或模块的可执行文件不需要物理上定位在一起,而是可以包括存储在不同位置的不同指令,当这些可执行文件被逻辑地连接在一起时包括所述组件或模块并且实现所述组件或模块的规定的目的。
实际上,可执行代码的组件或模块可以是单个指令或许多指令、并且甚至可以在若干个不同的代码段上、在不同的程序之间、以及跨越几个存储器设备或处理系统分布。特别地,所描述的过程的一些方面(诸如代码重写和代码分析)可以在与部署代码的处理系统(例如,在嵌入传感器或机器人中的计算机)所不同的处理系统(例如,在数据中心的计算机中)上发生。类似地,本文中操作数据可以在组件或模块内进行标识和说明,并且可以以任何合适的形式具体化并且被组织在任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或者可以分布在不同位置上(包括分布在不同的存储设备上),并且可以至少部分地仅作为电子信号存在于系统或网络上。组件或模块可以是无源的或有源的,包括可操作以执行期望功能的代理。
当前描述的方法、系统和设备实施例的附加示例包括以下非限制性配置。以下非限制性示例中的每一个可以独立存在,或者可以以任何排列组合或与以下提供的或在整个本公开内容中提供的任何一个或多个其他示例组合。
示例1是一种设备调试系统,包括:处理器,用于:实现IM客户端并接收聊天消息;基于聊天消息配置调试触发;以及响应于调试触发发起调试过程,包括响应于调试触发聚集来自设备的设备状态数据,设备状态数据包括堆栈跟踪转储和存储器核心转储;存储器,用于将设备状态数据存储在存储器映像中,存储器映像作为调试器的输入以执行调试过程。
在示例2中,示例1的主题可选地包括:其中,设备进一步包括调试器以基于存储器映像执行调试过程。
在示例3中,示例1-2中的任何一个或多个的主题可选地包括:其中,处理器用于经由IM客户端将存储器映像发送到远程调试器,以基于存储器映像执行调试过程。
在示例4中,示例1-3中的任何一个或多个的主题可选地包括:其中,经由IM客户端传输的数据以ASCII或Unicode中的至少一个编码。
在示例5中,示例1-4中的任何一个或多个的主题可选地包括:其中,设备包括嵌入式设备和物联网(IoT)设备中的至少一个。
在示例6中,示例1-5中的任何一个或多个的主题可选地包括:其中,存储器核心转储包括设备存储器状态和设备寄存器状态中的至少一个。
在示例7中,示例1-6中的任何一个或多个的主题可选地包括:其中,执行调试过程的调试器基于存储器映像重新创建设备状态。
在示例8中,示例1-7中的任何一个或多个的主题可选地包括:其中,堆栈跟踪转储包括设备堆栈上的多个指令。
在示例9中,示例8的主题可选地包括:其中,执行调试过程的调试器包括重新创建导致调试触发的多个操作指令。
在示例10中,示例1-9中的任何一个或多个的主题可选地包括:其中,调试触发包括设备故障、用户发起的触发和未计划的重启中的至少一个。
在示例11中,示例1-10中的任何一个或多个的主题可选地包括:处理器,该处理器进一步用于分析设备状态数据,以确定是在本地还是远程执行调试过程。
在示例12中,示例1-11中的任何一个或多个的主题可选地包括:网络接口设备。
在示例13中,示例12的主题可选地包括:其中,网络接口设备将存储器映像发送到远程设备;并且远程设备包括远程调试器以执行调试过程。
在示例14中,示例12-13中的任何一个或多个的主题可选地包括:其中,网络接口设备接收调试触发。
在示例15中,示例14的主题可选地包括:其中,网络接口设备进一步接收经加密的远程命令;并且处理器进一步解密经加密的远程命令以生成调试触发。
在示例16中,示例15的主题可选地包括:其中,存储器进一步用于存储多个加密密钥;并且处理器基于多个加密密钥对经加密的远程命令进行解密。
在示例17中,示例16的主题可选地包括:其中,处理器进一步基于多个加密密钥对存储器映像内的所聚集的数据进行加密。
在示例18中,示例1-17中的任何一个或多个的主题可选地包括:其中,存储器和调试器驻留在调试设备上。
在示例19中,示例18的主题可选地包括:其中,存储器用于将所聚集的数据存储在存储器映像中包括:存储器用于将存储器映像存储在动态随机存取存储器(DRAM)和设备硬盘驱动器(HDD)中的至少一个中。
示例20是一种设备调试方法,包括:实现IM客户端并接收聊天消息;基于聊天消息配置调试触发;响应于调试触发发起调试过程,包括响应于调试触发聚集来自设备的设备状态数据,设备状态数据包括堆栈跟踪转储和存储器核心转储;将设备状态数据存储在存储器映像中,存储器映像作为调试器的输入以执行调试过程。
在示例21中,示例20的主题可选地包括:其中,设备进一步包括调试器,以基于存储器映像执行调试过程。
在示例22中,示例20-21中的任何一个或多个的主题可选地包括:其中,处理器用于经由IM客户端将存储器映像发送到远程调试器,以基于存储器映像执行调试过程。
在示例23中,示例20-22中的任何一个或多个的主题可选地包括:其中,经由IM客户端传输的数据以ASCII或Unicode中的至少一个编码。
在示例24中,示例20-23中的任何一个或多个的主题可选地包括:其中,设备包括嵌入式设备和物联网(IoT)设备中的至少一个。
在示例25中,示例20-24中的任何一个或多个的主题可选地包括:其中,存储器核心转储进一步包括设备存储器状态和设备寄存器状态中的至少一个。
在示例26中,示例20-25中的任何一个或多个的主题可选地包括:其中,执行调试过程基于存储器映像重新创建设备状态。
在示例27中,示例20-26中的任何一个或多个的主题可选地包括:其中,堆栈跟踪转储包括设备堆栈上的多个指令。
在示例28中,示例27的主题可选地包括:其中,执行调试过程的调试器包括重新创建导致调试触发的多个操作指令。
在示例29中,示例20-28中的任何一个或多个的主题可选地包括:其中,调试触发包括设备故障、用户发起的触发和未计划的重启中的至少一个。
在示例30中,示例20-29中的任何一个或多个的主题可选地包括:分析设备状态数据以确定是在本地还是远程执行调试过程。
在示例31中,示例20-30中的任何一个或多个的主题可选地包括:将存储器映像发送到远程设备以执行调试过程。
在示例32中,示例31的主题可选地包括:在设备处接收来自远程设备的调试触发。
在示例33中,示例32的主题可选地包括:在设备处接收来自远程设备的调试触发包括:接收来自远程设备的经加密的远程命令;并对经加密的远程命令进行解密以生成调试触发。
在示例34中,示例33的主题可选地包括:其中,对经加密的远程命令进行解密包括基于存储在设备上的多个加密密钥来对经加密的远程命令进行解密。
在示例35中,示例34的主题可选地包括:其中,将所聚集的数据存储在存储器映像内包括:基于存储在设备上的多个加密密钥来加密存储器映像内的所聚集的数据。
在示例36中,示例20-35中的任何一个或多个的主题可选地包括:其中,将所聚集的数据存储在存储器映像内包括:将存储器映像存储在设备上;而执行调试过程包括:在设备上执行本地调试过程。
在示例37中,示例36的主题可选地包括:其中在设备上存储存储器映像包括将存储器映像存储在动态随机存取存储器(DRAM)和设备硬盘驱动器(HDD)中的至少一个内。
示例38是至少一种包括指令的机器可读介质,这些指令在由计算系统执行时使计算系统执行示例20-37的任一方法。
示例39是一种装置,该装置包括用于执行示例20-37的方法中的任一种方法的装置。
示例40是至少一种机器可读存储介质,包括多个指令,这些指令响应于利用计算机控制的设备的处理器电路执行,使得计算机控制的设备用于:实现IM客户端并接收聊天消息;基于聊天消息配置调试触发;响应于调试触发发起调试过程,包括响应于调试触发聚集来自设备的设备状态数据,设备状态数据包括堆栈跟踪转储和存储器核心转储;将设备状态数据存储在存储器映像中,存储器映像作为调试器的输入以执行调试过程。
在示例41中,示例40的主题可选地包括:其中,计算机控制的设备进一步包括调试器,用于基于存储器映像执行调试过程。
在示例42中,示例40-41中的任何一个或多个的主题可选地包括:进一步使得计算机控制的设备经由IM客户端向远程调试器发送存储器映像以基于存储器映像执行调试过程的指令。
在示例43中,示例40-42中的任何一个或多个的主题可选地包括:其中,经由IM客户端传输的数据以ASCII或Unicode中的至少一个编码。
在示例44中,示例40-43中的任何一个或多个的主题可选地包括:其中,设备包括嵌入式设备和物联网(IoT)设备中的至少一个。
在示例45中,示例40-44中的任何一个或多个的主题可选地包括:其中,存储器核心转储进一步包括设备存储器状态和设备寄存器状态中的至少一个。
在示例46中,示例40-45中的任何一个或多个的主题可选地包括其中,进一步使计算机控制设备执行调试过程的指令包括:进一步使计算机控制设备基于存储器映像重新创建设备状态的指令。
在示例47中,示例40-46中的任何一个或多个的主题可选地包括:其中,堆栈跟踪转储包括设备堆栈上的多个指令。
在示例48中,示例47的主题可选地包括,其中,进一步使计算机控制的设备执行调试过程的指令包括:进一步使计算机控制的设备重新创建导致调试触发的多个操作指令的指令。
在示例49中,示例40-48中的任何一个或多个的主题可选地包括:其中,调试触发包括设备故障、用户发起的触发和未计划的重启中的至少一个。
在示例50中,示例40-49中的任何一个或多个的主题可选地包括使计算机控制的设备分析设备状态数据以确定是在本地还是远程执行调试过程的指令。
在示例51中,示例40-50中的任何一个或多个的主题可选地包括进一步使计算机控制的设备将存储器映像发送到远程设备以执行调试过程的指令。
在示例52中,示例51的主题可选地包括进一步使计算机控制的设备在设备处接收来自远程设备的调试触发的指令。
在示例53中,示例52的主题可选地包括使计算机控制的设备在设备处接收来自远程设备的调试触发的指令进一步包括:使计算机控制的设备用于:接收来自远程设备的经加密的远程命令;以及对经加密的远程命令进行解密以生成调试触发。
在示例54中,示例53的主题可选地包括,其中使计算机控制的设备对经加密的远程命令进行解密的指令包括:进一步使计算机控制的设备基于存储在设备上的多个加密密钥来对经加密的远程命令进行解密的指令。
在示例55中,示例54的主题可选地包括,其中,使计算机控制的设备将所聚集的数据存储在存储器映像中的指令包括:进一步使计算机控制的设备基于存储在设备上的多个加密密钥来对存储器映像内所聚集的数据进行加密的指令。
在示例56中,示例40-55中的任何一个或多个的主题可选地包括:其中,使计算机控制的设备将聚集的数据存储在存储器映像内的指令包括:进一步使计算机控制的设备将存储器映像存储在设备上的指令;且使计算机控制的设备执行调试过程的指令包括:进一步使计算机控制的设备在设备上执行本地调试过程的指令。
在示例57中,示例56的主题可选地包括:其中,使计算机控制的设备将存储器映像存储在设备上的指令包括:进一步使计算机控制的设备将存储器映像存储在动态随机存取存储器(DRAM)和设备硬盘驱动器(HDD)中的至少一个内的指令。
示例58是一种设备调试设备,包括:用于实现IM客户端并接收聊天消息的装置;用于基于聊天消息配置调试触发的装置;用于响应于调试触发发起调试过程的装置,包括用于响应于调试触发聚集来自设备的设备状态数据的装置,该设备状态数据包括堆栈跟踪转储和存储器核心转储;用于将设备状态数据存储在存储器映像内的装置,该存储器映像作为调试器的输入以执行调试过程。
在示例59中,示例58的主题可选地包括:其中,设备进一步包括调试器,用于基于存储器映像执行调试过程。
在示例60中,示例58-59中的任何一个或多个的主题可选地包括:用于经由IM客户端向远程调试器发送存储器映像以基于存储器映像执行调试过程的装置。
在示例61中,示例58-60中的任何一个或多个的主题可选地包括:其中,经由IM客户端传输的数据以ASCII或Unicode中的至少一个编码。
在示例62中,示例58-61中的任何一个或多个的主题可选地包括:其中,设备包括嵌入式设备和物联网(IoT)设备中的至少一个。
在示例63中,示例58-62中的任何一个或多个的主题可选地包括:其中,存储器核心转储进一步包括设备存储器状态和设备寄存器状态中的至少一个。
在示例64中,示例58-63中的任何一个或多个的主题可选地包括:其中,用于执行调试过程的装置基于存储器映像重新创建设备状态。
在示例65中,示例58-64中的任何一个或多个的主题可选地包括:其中,用于执行调试过程的装置包括用于重新创建导致调试触发的多个操作指令的装置。
在示例66中,示例58-65中的任何一个或多个的主题可选地包括:其中,调试触发包括设备故障、用户发起的触发和未计划的重启中的至少一个。
在示例67中,示例58-66中的任何一个或多个的主题可选地包括:用于分析设备状态数据以确定是在本地还是远程执行调试过程的装置。
在示例68中,示例58-67中的任何一个或多个的主题可选地包括:用于将存储器映像发送到远程设备以执行调试过程的装置。
在示例69中,示例68的主题可选地包括:用于在设备处接收来自远程设备的调试触发的装置。
在示例70中,示例69的主题可选地包括,其中用于在设备处接收远程设备的调试触发的装置包括:用于接收来自远程设备的经加密的远程命令的装置;以及用于对经加密的远程命令进行解密以生成调试触发的装置。
在示例71中,示例70的主题可选地包括:其中,用于对经加密的远程命令进行解密的装置包括:基于存储在设备上的多个加密密钥来对经加密的远程命令进行解密的装置。
在示例72中,示例71的主题可选地包括:其中,用于将所聚集的数据存储在存储器映像内的装置包括:用于基于存储在设备上的多个加密密钥来对存储器映像内的所聚集的数据进行加密的装置。
在示例73中,示例58-72中的任何一个或多个的主题可选地包括:其中,用于将所聚集的数据存储在存储器映像内的装置包括用于将存储器映像存储在设备上的装置;且用于执行调试过程的装置包括用于在设备上执行本地调试过程的装置。
在示例74中,示例73的主题可选地包括:其中用于在设备上存储存储器映像的装置包括:用于将存储器映像存储在动态随机存取存储器(DRAM)和设备硬盘驱动器(HDD)中的至少一个内的装置。
示例75是一种远程调试装置,包括调试服务器,调试服务器用于接收来自远程调试控制台设备的经加密的远程命令,将经加密的远程命令解密为经解密的远程命令,以及将经解密的远程命令发送到被测设备。
在示例76中,示例75的主题可选地包括,其中调试服务器进一步被配置为:接收来自被测设备的调试输出;将调试输出加密成经加密的调试输出;以及将经加密的调试输出发送到远程调试控制台设备。
在示例77中,示例76的主题可选地包括,其中,调试服务器进一步被配置为经由通信基础设施连接到调试控制台设备。
在示例78中,示例76-77中的任何一个或多个的主题可选地包括,其中,通信基础设施包括即时消息传送平台。
在示例79中,示例76-78中的任何一个或多个的主题可选地包括,其中,调试服务器进一步包括调试软件。
在示例80中,示例76-79中的任何一个或多个的主题可选地包括,其中,调试服务器进一步包括通信客户端。
在示例81中,示例76-80中的任何一个或多个的主题可选地包括,其中,调试服务器进一步包括通信加密密钥。
在示例82中,示例76-81中的任何一个或多个的主题可选地包括,其中,调试服务器进一步被配置为连接到被测试系统和调试服务器之间的用户界面。
在示例83中,示例76-82中的任何一个或多个的主题可选地包括,其中,调试服务器进一步被配置为连接到后端总线(BSSB)设备,BSSB用于提供连接适配器以连接到多个硬件端口。
在示例84中,示例76-83中的任何一个或多个的主题可选地包括,其中,调试服务器进一步被配置为连接到自动电源(APS)。
在示例85中,示例76-84中的任何一个或多个的主题可选地包括,其中,调试服务器进一步被配置为连接到网络相机以用于物理被测设备的检查。
示例86是一种远程调试方法,包括:在调试服务器处接收来自远程调试控制台设备的经加密的远程命令;将经加密的远程命令解密为经解密的远程命令;将经解密的远程命令发送给被测设备;接收来自被测设备的调试输出;将调试输出加密成经加密的调试输出;以及将经加密的调试输出发送到远程调试控制台设备。
在示例87中,示例86的主题可选地包括:在调试服务器处接收来自被测设备的调试输出;将调试输出加密成经加密的调试输出;以及将经加密的调试输出从调试服务器发送到远程调试控制台设备。
在示例88中,示例87的主题可选地包括经由通信基础设施连接到调试控制台设备。
在示例89中,示例87-88中的任何一个或多个的主题可选地包括,其中,调试服务器进一步包括调试软件。
在示例90中,示例87-89中的任何一个或多个的主题可选地包括,其中,调试服务器进一步包括通信客户端。
在示例91中,示例87-90中的任何一个或多个的主题可选地包括,其中,调试服务器进一步包括通信加密密钥。
在示例92中,示例87-91中的任何一个或多个的主题可选地包括,连接到被测系统和调试服务器之间的用户界面。
在示例93中,示例87-92中的任何一个或多个的主题可选地包括,连接到后端总线(BSSB)设备,BSSB用于提供连接适配器以连接到多个硬件端口。
在示例94中,示例87-93中的任何一个或多个的主题可选地包括连接到自动电源(APS)。
在示例95中,示例87-94中的任何一个或多个的主题可选地包括连接到可选的网络相机以用于物理被测设备的检查。
示例96是至少一种包括指令的机器可读介质,当该指令由计算系统执行时,使得计算系统执行示例86-95的任一种方法。
示例97是一种装置,包括用于执行示例86-95的任一种方法的装置。
示例98是至少一种机器可读存储介质,包括多个指令,这些指令响应于用计算机控制的设备的处理器电路执行,使得计算机控制的设备接收来自远程调试控制台设备的经加密的远程命令,将经加密的远程命令解密为经解密的远程命令,以及将经解密的远程命令发送给被测设备。
示例99是一种远程调试装置,包括:用于在调试服务器处接收来自远程调试控制台设备的经加密的远程命令的装置;用于将经加密的远程命令解密为经解密的远程命令的装置;用于将经解密的远程命令发送给被测设备的装置;用于接收来自被测设备的调试输出的装置;用于将调试输出加密成经加密的调试输出的装置;以及用于将经加密的调试输出发送到远程调试控制台设备的装置。
示例100包括至少一种包括指令的机器可读介质,所述指令当由机器执行时使所述机器执行如示例1至96的操作中的任一种操作。
示例101是一种包括用于执行示例1-96的任一种操作的装置的设备。
示例102是一种用于执行示例1-96中的任何一个示例的操作的系统。
示例103是一种用于执行示例1-96中的任何一个示例的操作的方法。
以上的详细描述包括对附图的参照,这些附图形成了详细描述的一部分。所述附图以图示的方式示出了可以在其中实践本发明的具体实施例。这些实施例在此也被称为“示例”。这类示例可以包括除了所示出或所描述的那些要素之外的要素。然而,诸位发明人还考虑到仅提供了所示出或所描绘的那些要素的示例。而且,针对本文示出或描述的具体示例(或者其一个或多个方面)、或者针对本文示出或描述的其他示例(或者其一个或多个方面),诸位发明人还考虑到使用了所示出或所描述的那些要素的任何组合或排列(或者其一个或多个方面)的示例。
在本文档中,如在专利文档中是普遍的,术语“一个(a)”或“一个(an)”被用于包括一个或多个,独立于“至少一个”或者“一个或多个”的任何其他实例或用法。在本文中,术语“或”被用来指非排他性的“或”,使得“A或B”包括“A但非B”、“B但非A”以及“A和B”,除非另外指明。在本文中,术语“包括(including)”和“其中(in which)”被用作相应的术语“包括(comprising)”和“其中(wherein)”的简明英语同等词。而且,在以下权利要求书中,术语“包括(including)”和“包括(comprising)”是开放式的,也就是说,包括除了在某个权利要求项中的这种术语之后列出的要素之外的要素的系统、设备、物品、成分、配方或过程仍被视为落入所述权利要求项的范围内。此外,在所附权利要求中,术语“第一”、“第二”和“第三”等仅用作标记,并且不旨在对其对象强加数字要求。
以上说明旨在是说明性而非限制性的。例如,以上所描述的示例(或其一个或多个方面)可相互组合使用。如本领域的普通技术人员在审阅上述描述后可以使用其他实施例。提供摘要以允许读者快速地确定本技术公开的性质。提交该摘要,并且理解该摘要将不用于解释或限制权利要求书的范围或含义。而且,在以上具体实施方式中,可以将各个特征分组在一起以便精简本公开。这不应解释为规定未要求保护的公开特征对于任何权利要求项是必需的。相反,发明性主题可在于比特定的公开实施例的所有特征要少的特征。因此,以下权利要求书由此被结合到具体实施方式中,每项权利要求作为单独的实施例而独立存在,并且设想了这种实施例可以以各种组合或排列彼此组合。本发明的范围应当参考所附权利要求书、连同这样的权利要求书有权获得的等效物的全部范围来确定。

Claims (25)

1.一种设备调试系统,包括:
处理器,用于:
实现IM客户端并接收聊天消息;
基于所述聊天消息配置调试触发;以及
响应于所述调试触发,发起调试过程,包括响应于所述调试触发聚集来自设备的设备状态数据,所述设备状态数据包括堆栈跟踪转储和内存核心转储;
存储器,用于将所述设备状态数据存储在存储器映像中,所述存储器映像作为调试器的输入以执行调试过程。
2.如权利要求1所述的设备调试系统,其特征在于,所述设备进一步包括调试器,所述调试器用于基于所述存储器映像执行所述调试过程。
3.如权利要求1所述的设备调试系统,其特征在于,所述处理器用于经由所述IM客户端将所述存储器映像发送到远程调试器,以基于所述存储器映像执行所述调试过程。
4.如权利要求1所述的设备调试系统,其特征在于,经由所述IM客户端传输的数据以ASCII或Unicode中的至少一种编码。
5.如权利要求1所述的设备调试系统,其特征在于,所述设备包括嵌入式设备和物联网(IoT)设备中的至少一个。
6.如权利要求1所述的设备调试系统,其特征在于,所述存储器核心转储包括设备存储器状态和设备寄存器状态中的至少一个。
7.如权利要求1所述的设备调试系统,其特征在于,执行所述调试过程的所述调试器基于所述存储器映像重新创建设备状态。
8.如权利要求1所述的设备调试系统,其特征在于,所述堆栈跟踪转储包括设备堆栈上的多个指令。
9.如权利要求8所述的设备调试系统,其特征在于,执行所述调试过程的所述调试器包括重新创建导致所述调试触发的多个操作指令。
10.如权利要求1所述的设备调试系统,所述处理器进一步用于分析所述设备状态数据,以确定是在本地还是远程执行所述调试过程。
11.如权利要求1所述的设备调试系统,进一步包括网络接口设备。
12.如权利要求11所述的设备调试系统,其中:
所述网络接口设备将所述存储器映像发送给远程设备;
以及
所述远程设备包括所述远程调试器以执行调试过程。
13.一种设备调试方法,包括:
实现IM客户端并接收聊天消息;
基于所述聊天消息配置调试触发;
响应于所述调试触发,发起调试过程,包括响应于所述调试触发聚集来自设备的设备状态数据,所述设备状态数据包括堆栈跟踪转储和存储器核心转储;
将所述设备状态数据存储在存储器映像内,所述存储器映像作为调试器的输入以执行调试过程。
14.如权利要求13所述的设备调试方法,其中,所述设备进一步包括所述调试器,所述调试器用于基于所述存储器映像执行所述调试过程。
15.如权利要求13所述的设备调试方法,其中,所述处理器经由所述IM客户端将所述存储器映像发送到远程调试器,以基于所述存储器映像执行所述调试过程。
16.如权利要求13所述的设备调试方法,其中,经由所述IM客户端传输的数据以ASCII或Unicode中的至少一种编码。
17.如权利要求13所述的设备调试方法,其中,所述设备包括嵌入式设备和物联网(IoT)设备中的至少一个。
18.如权利要求13所述的设备调试方法,其中,所述存储器核心转储进一步包括设备存储器状态和设备寄存器状态中的至少一个。
19.如权利要求13所述的设备调试方法,其中,执行所述调试过程基于所述存储器映像重新创建设备状态。
20.如权利要求13所述的设备调试方法,其中,所述堆栈跟踪转储包括设备堆栈上的多个指令。
21.如权利要求20所述的设备调试方法,其中,执行所述调试过程的所述调试器包括重新创建导致所述调试触发的多个操作指令。
22.如权利要求13所述的设备调试方法,进一步包括分析所述设备状态数据,以确定是在本地还是远程执行所述调试过程。
23.如权利要求13所述的设备调试方法,进一步包括:将所述存储器映像发送到远程设备以执行所述调试过程。
24.至少一种包括指令的机器可读介质,其中
当所述指令由计算系统执行时,使所述计算系统执行权利要求13-23所述方法中的任一种。
25.一种设备,包括用于执行权利要求13-23所述方法中的任一种的装置。
CN201780041688.XA 2016-08-03 2017-08-03 远程调试与管理 Active CN109564539B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662370476P 2016-08-03 2016-08-03
US62/370,476 2016-08-03
PCT/US2017/045270 WO2018027018A1 (en) 2016-08-03 2017-08-03 Remote debugging and management

Publications (2)

Publication Number Publication Date
CN109564539A true CN109564539A (zh) 2019-04-02
CN109564539B CN109564539B (zh) 2024-03-15

Family

ID=59582067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780041688.XA Active CN109564539B (zh) 2016-08-03 2017-08-03 远程调试与管理

Country Status (3)

Country Link
US (2) US11119839B2 (zh)
CN (1) CN109564539B (zh)
WO (1) WO2018027018A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531307A (zh) * 2019-09-12 2019-12-03 宁波三星医疗电气股份有限公司 电力采集终端的调试方法、装置和电力采集终端
CN110557318A (zh) * 2019-08-21 2019-12-10 上海数烨数据科技有限公司 一种实现iot设备安全远程操作的方法
CN112073356A (zh) * 2019-06-10 2020-12-11 海信视像科技股份有限公司 一种数据传输方法及显示设备
CN112667412A (zh) * 2020-11-27 2021-04-16 北京科银京成技术有限公司 一种嵌入式系统核心转储的调试装置和方法
CN113259996A (zh) * 2021-05-17 2021-08-13 上海龙旗科技股份有限公司 一种iot无线调试的方法及设备
US11119839B2 (en) 2016-08-03 2021-09-14 Intel Corporation Remote debugging and management
CN113760235A (zh) * 2021-09-10 2021-12-07 深圳市太美亚电子科技有限公司 一种ble开发调试系统及方法
CN113767609A (zh) * 2019-05-03 2021-12-07 微软技术许可有限责任公司 控制对边缘设备的资源的访问
CN115310636A (zh) * 2022-09-05 2022-11-08 郑州华隆机械制造有限公司 一种压力机设备云数据智能化监测分析处理平台及方法
WO2023082602A1 (zh) * 2021-11-10 2023-05-19 西安广和通无线软件有限公司 一种远程管理方法、远程管理设备、模块及可读存储介质

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11190391B1 (en) * 2018-04-16 2021-11-30 Amazon Technologies, Inc. Network loop detection in hybrid mesh networks
CN109284226A (zh) * 2018-08-24 2019-01-29 广州视源电子科技股份有限公司 软件故障远程定位方法、装置和系统
CN112015434A (zh) * 2019-05-29 2020-12-01 惠州拓邦电气技术有限公司 远程升级调试控制方法、系统、装置及存储介质
EP4007337A4 (en) * 2019-07-31 2023-03-22 Ntt Docomo, Inc. COMMUNICATION TERMINAL AND METHOD
WO2021023372A1 (en) * 2019-08-06 2021-02-11 Advantest Corporation An automated test equipment for testing a device under test which comprises a processing unit and a program and/or data memory, an automated test equipment which comprises a test controller, one or more interfaces to the device under test, a shared memory and a method for testing a device under test
US10691581B1 (en) 2019-08-16 2020-06-23 Sas Institute Inc. Distributed software debugging system
CN111064769A (zh) * 2019-11-06 2020-04-24 江苏三希科技股份有限公司 一种电量集中器的远程调试方法、系统及设备
CN111064807A (zh) * 2019-12-31 2020-04-24 河南省中原智能电气科技有限公司 一种电气箱远程控制系统
US20210365591A1 (en) * 2020-05-22 2021-11-25 Intel Corporation Secure debug of fpga design
US11541305B2 (en) * 2020-09-28 2023-01-03 Snap Inc. Context-sensitive remote eyewear controller
CN112235417B (zh) 2020-11-09 2022-06-10 北京百度网讯科技有限公司 调试指令的发送方法、装置
US11184463B1 (en) 2020-11-11 2021-11-23 International Business Machines Corporation Interacting with a client system to gather client data to use to diagnose a problem at the client system
JP2022123293A (ja) * 2021-02-12 2022-08-24 東芝テック株式会社 画像処理装置及び画像処理方法
CN114936062B (zh) * 2021-12-09 2024-01-30 腾讯科技(深圳)有限公司 一种设备自动调试的方法、装置、设备、系统及存储介质
WO2023138790A1 (en) * 2022-01-24 2023-07-27 Telefonaktiebolaget Lm Ericsson (Publ) Remote execution of computer instructions in a kernel space of a communication device
US20240028498A1 (en) * 2022-07-22 2024-01-25 Vmware, Inc. Dynamically capturing debug logs during runtime

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090133041A1 (en) * 2007-11-15 2009-05-21 Shahriar Rahman Method and apparatus for automatic debugging technique
US7539724B1 (en) * 2002-06-04 2009-05-26 Rockwell Automation Technologies, Inc. Instant messaging for event notification and exchanging data in an industrial controller environment
US20120151265A1 (en) * 2010-12-09 2012-06-14 Ibm Corporation Supporting cluster level system dumps in a cluster environment
US8528039B2 (en) * 2009-11-04 2013-09-03 Verizon Patent And Licensing Inc. System for and method of set-top box memory monitoring
US8584098B2 (en) * 2009-12-04 2013-11-12 Sap Ag Component statistics for application profiling
CN103747022A (zh) * 2011-12-31 2014-04-23 华茂云天科技(北京)有限公司 客户关系管理系统
CN103748562A (zh) * 2010-12-23 2014-04-23 英特尔公司 测试、验证和调试架构
US8789020B2 (en) * 2011-09-01 2014-07-22 International Business Machines Corporation Interactive debugging environments and methods of providing the same
CN105389251A (zh) * 2014-08-28 2016-03-09 Sap欧洲公司 结构化查询语言调试器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144507A1 (en) * 2000-09-19 2005-06-30 Kuo-Chun Lee Method and apparatus for remotely debugging an application program over the internet
US7801946B2 (en) * 2003-04-11 2010-09-21 Novell, Inc. Systems and methods for accessing web services via an instant messaging client
US20050102362A1 (en) * 2003-11-07 2005-05-12 International Business Machines Corporation Instant messaging messages and commands for status and control
US7783932B1 (en) * 2007-04-13 2010-08-24 Network Appliance, Inc. Method and apparatus for generating dynamic microcores
CN101360067B (zh) * 2007-07-30 2012-11-07 国际商业机器公司 基于消息收发系统的组联合调试系统、方法
US20090082008A1 (en) * 2007-09-21 2009-03-26 Per Thorell Mobile Phone Code Debugging Method and Apparatus
CN101340314A (zh) * 2008-08-11 2009-01-07 中兴通讯股份有限公司 一种嵌入式系统的实时调试定位方法及其装置
JP2012079130A (ja) * 2010-10-01 2012-04-19 Fujitsu Ltd デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法
US8990775B2 (en) * 2010-11-10 2015-03-24 International Business Machines Corporation Collaborative software debugging in a distributed system with dynamically displayed chat sessions
US8473251B1 (en) 2012-05-18 2013-06-25 Google Inc. Collecting application crashes on resource-constrained devices
US10075439B1 (en) * 2015-11-06 2018-09-11 Cisco Technology, Inc. Programmable format for securely configuring remote devices
CN106708489B (zh) * 2015-11-17 2020-01-17 杭州海康威视数字技术股份有限公司 设备的调试方法及系统
CN105338110A (zh) * 2015-11-23 2016-02-17 小米科技有限责任公司 远程调试方法和平台、服务器
WO2018027018A1 (en) 2016-08-03 2018-02-08 Intel Corporation Remote debugging and management
US11085964B2 (en) * 2019-05-03 2021-08-10 Intel Corporation Systems and methods for intellectual property-secured, remote debugging

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539724B1 (en) * 2002-06-04 2009-05-26 Rockwell Automation Technologies, Inc. Instant messaging for event notification and exchanging data in an industrial controller environment
US20090133041A1 (en) * 2007-11-15 2009-05-21 Shahriar Rahman Method and apparatus for automatic debugging technique
US8528039B2 (en) * 2009-11-04 2013-09-03 Verizon Patent And Licensing Inc. System for and method of set-top box memory monitoring
US8584098B2 (en) * 2009-12-04 2013-11-12 Sap Ag Component statistics for application profiling
US20120151265A1 (en) * 2010-12-09 2012-06-14 Ibm Corporation Supporting cluster level system dumps in a cluster environment
CN103748562A (zh) * 2010-12-23 2014-04-23 英特尔公司 测试、验证和调试架构
US8789020B2 (en) * 2011-09-01 2014-07-22 International Business Machines Corporation Interactive debugging environments and methods of providing the same
CN103747022A (zh) * 2011-12-31 2014-04-23 华茂云天科技(北京)有限公司 客户关系管理系统
CN105389251A (zh) * 2014-08-28 2016-03-09 Sap欧洲公司 结构化查询语言调试器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YIN WEI-FENG ET AL.: "Realization of distributed remote laboratory and remote debug software for embedded system", WSEAS TRANSACTIONS ON SYSTEMS, vol. 7, no. 12, pages 1433 *
孙长春 等: "远程监控系统在橡塑行业的应用方案", 橡塑技术与装备, pages 89 - 91 *
李健;陈革;叶晓芸;符凯;何巍;: "基于MILS多级安全架构的远程调试机制", 计算机工程, no. 01 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11119839B2 (en) 2016-08-03 2021-09-14 Intel Corporation Remote debugging and management
US11921569B2 (en) 2016-08-03 2024-03-05 Intel Corporation Remote debugging and management
CN113767609B (zh) * 2019-05-03 2023-04-04 微软技术许可有限责任公司 控制对边缘设备的资源的访问
CN113767609A (zh) * 2019-05-03 2021-12-07 微软技术许可有限责任公司 控制对边缘设备的资源的访问
CN112073356A (zh) * 2019-06-10 2020-12-11 海信视像科技股份有限公司 一种数据传输方法及显示设备
CN112073356B (zh) * 2019-06-10 2022-07-19 海信视像科技股份有限公司 一种数据传输方法及显示设备
CN110557318A (zh) * 2019-08-21 2019-12-10 上海数烨数据科技有限公司 一种实现iot设备安全远程操作的方法
CN110557318B (zh) * 2019-08-21 2022-06-24 上海数烨数据科技有限公司 一种实现iot设备安全远程操作的方法
CN110531307B (zh) * 2019-09-12 2021-09-21 宁波三星医疗电气股份有限公司 电力采集终端的调试方法、装置和电力采集终端
CN110531307A (zh) * 2019-09-12 2019-12-03 宁波三星医疗电气股份有限公司 电力采集终端的调试方法、装置和电力采集终端
CN112667412A (zh) * 2020-11-27 2021-04-16 北京科银京成技术有限公司 一种嵌入式系统核心转储的调试装置和方法
CN113259996A (zh) * 2021-05-17 2021-08-13 上海龙旗科技股份有限公司 一种iot无线调试的方法及设备
CN113760235A (zh) * 2021-09-10 2021-12-07 深圳市太美亚电子科技有限公司 一种ble开发调试系统及方法
CN113760235B (zh) * 2021-09-10 2023-12-19 深圳市太美亚电子科技有限公司 一种ble开发调试系统及方法
WO2023082602A1 (zh) * 2021-11-10 2023-05-19 西安广和通无线软件有限公司 一种远程管理方法、远程管理设备、模块及可读存储介质
CN115310636A (zh) * 2022-09-05 2022-11-08 郑州华隆机械制造有限公司 一种压力机设备云数据智能化监测分析处理平台及方法

Also Published As

Publication number Publication date
CN109564539B (zh) 2024-03-15
US20220066858A1 (en) 2022-03-03
US11119839B2 (en) 2021-09-14
WO2018027018A1 (en) 2018-02-08
US11921569B2 (en) 2024-03-05
US20190227908A1 (en) 2019-07-25

Similar Documents

Publication Publication Date Title
CN109564539A (zh) 远程调试与管理
EP4020880A1 (en) Method, apparatus and machine-readable storage to verify trained models in an edge environment
US11663047B2 (en) Microservice provision and management
Sinha et al. Building an E Ective IoT Ecosystem for Your Business
EP3985511A1 (en) Orchestration of meshes
TWI764971B (zh) 物聯網
US20220334823A1 (en) Attestation manifest derivation and distribution using software update image
US20210081271A1 (en) Dynamic tracing control
US20190041824A1 (en) Scalable edge compute in a distributed control environment
Milenkovic Internet of Things: Concepts and System Design
US11373406B2 (en) Transmission, caching, and searching of video streams based on frame dependencies and content
DE112020004561T5 (de) Systeme, Verfahren und Einrichtungen für softwaredefinierte Siliziumsicherheit
NL2032817B1 (en) Cross-layer automated fault tracking and anomaly detection
KR20220091367A (ko) 하드웨어 및 소프트웨어를 보호하기 위한 장치, 시스템 및 방법
US20230169397A1 (en) Methods and apparatus for attestation of an artificial intelligence model
US20210117134A1 (en) Technologies for storage and processing for distributed file systems
EP4155752A1 (en) Connected device region identification
US20220417117A1 (en) Telemetry redundant measurement avoidance protocol
CN115865950A (zh) 信息中心网络中的存储节点募集
Senk et al. Open-source testbeds for integrating time-sensitive networking with 5g and beyond
US20210089685A1 (en) Monitoring memory status using configurable hardware secured by a dice root of trust
WO2022011009A1 (en) Attestation verifier role delegation
US20230186156A1 (en) Methods and apparatus to train a model using attestation data
US12026074B2 (en) Continuous testing, integration, and deployment management for edge computing
US20210011823A1 (en) Continuous testing, integration, and deployment management for edge computing

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
GR01 Patent grant
GR01 Patent grant