CN113168357A - 从参与文档协作会话的各用户收集重复诊断数据 - Google Patents

从参与文档协作会话的各用户收集重复诊断数据 Download PDF

Info

Publication number
CN113168357A
CN113168357A CN201980082274.0A CN201980082274A CN113168357A CN 113168357 A CN113168357 A CN 113168357A CN 201980082274 A CN201980082274 A CN 201980082274A CN 113168357 A CN113168357 A CN 113168357A
Authority
CN
China
Prior art keywords
session
client application
diagnostic log
collaboration
error
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
CN201980082274.0A
Other languages
English (en)
Inventor
R·班加洛尔
C·戈吉内尼
V·莫汉
S·A·拉奥
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113168357A publication Critical patent/CN113168357A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Landscapes

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

Abstract

用于在多会话协作环境内进行错误检测的系统和方法。一种方法包括从与第一用户相关联的第一客户端应用会话接收包括错误消息的第一诊断日志。该方法包括:在与第一客户端会话的协作会话中确定与第二用户相关联的第二客户端应用会话,以及在第二客户端应用会话中基于错误消息触发人为错误条件。该方法包括从第二客户端应用会话接收第二诊断日志。该方法包括:用指示协作会话的会话标识符来标记第一诊断日志和第二诊断日志,以及将第一诊断日志和第二诊断日志发送给协作环境管理员。该方法包括将基于错误的通知发送给第一客户端应用会话和第二客户端应用会话中的至少一个。

Description

从参与文档协作会话的各用户收集重复诊断数据
技术领域
本文所描述的实施例涉及在多用户协作环境中检测错误。
发明内容
协作计算系统允许多个计算设备上的多个用户同时访问共享内容。例如,协作服务器可以在协作会话中向多个远程用户呈现文字处理文档。每个用户都用客户端文字处理器应用会话访问文档。协作会话中的所有用户都可以查看文档并编辑其内容。协作服务器从客户端应用会话接收文档更改,协调更改,并将协调的更改推送到客户端应用会话。
在一些情况下,客户端应用会话经历错误。例如,协作服务器可能不接受由客户端应用提交的更改。为了诊断错误并帮助防止将来的错误,将错误记录在客户端设备处。诊断日志从客户端设备发送给协作环境的提供者,在协作环境的提供者处可以对其进行检查以确定错误原因。但是,在一些情况下,协作会话中的另一个用户导致该错误,但不会经历此错误。例如,会话中的一个用户可能具有较旧版本的客户端应用,可能已将损坏的数据引入协作会话中,等等。在这些情况下,对单个诊断日志的分析无法确定错误原因。当分析失败时,可以请求来自其他客户端会话的诊断日志。但是,该情况之后协作者可能无法访问,日志可能不可用,或者日志可能不包括相关的时间段。此外,可能难以在没有参考点的情况下跨多个客户端应用会话同步日志数据。
因此,要提供围绕错误的环境的更完整信息,本文所述的实施例在发生错误时接近实时地从协作会话中的所有用户收集诊断日志。在从一个客户端应用会话接收到错误消息时,本文描述的一些示例在参与协作会话的其他客户端应用会话中生成综合错误。因此,不是接收单个诊断日志,而是本文中描述的示例系统和方法针对会话中的每个用户接收诊断日志。另外,因为每个客户端应用几乎同时记录了相同的错误,因此可以同步诊断日志以进行更准确的分析。一些实施例会自动将错误通知受影响的用户并提供补救步骤。使用本文呈现的实施例,错误被更快地检测,并且因此更少地重复,从而带来更好的用户体验。因此,本文所描述的实施例引起更高效地使用协作系统资源以及对于用户的改善的协作系统操作。
特别地,一个实施例提供了一种用于在多会话协作环境内进行错误检测的系统。该系统包括通信接口和耦合到该通信接口的电子处理器。电子处理器被配置为:从与第一用户相关联的第一客户端应用会话接收第一诊断日志,该第一诊断日志包括错误消息。电子处理器被配置为:在与第一客户端会话的协作会话中确定与第二用户相关联的第二客户端应用会话。电子处理器被配置为:在第二客户端应用会话中基于错误消息触发人为错误条件。电子处理器被配置为:响应于触发人为错误条件,从第二客户端应用会话接收第二诊断日志。电子处理器被配置为:用指示协作会话的会话标识符来标记第一诊断日志和第二诊断日志。电子处理器被配置为:经由通信接口将第一诊断日志和第二诊断日志发送给协作环境管理员。电子处理器被配置为:经由通信接口将基于错误的通知发送给从由第一客户端应用会话和第二客户端应用会话组成的组中选择的至少一项。
另一个实施例提供了一种用于在多会话协作环境内进行错误检测的方法。该方法包括:从与第一用户相关联的第一客户端应用会话接收第一诊断日志,该第一诊断日志包括错误消息。该方法包括:在与第一客户端会话的协作会话中,用电子处理器确定与第二用户相关联的第二客户端应用会话。该方法包括:在第二客户端应用会话中基于错误消息触发人为错误条件。该方法包括:响应于触发人为错误条件,从第二客户端应用会话接收第二诊断日志。该方法包括:用指示协作会话的会话标识符来标记第一诊断日志和第二诊断日志。该方法包括:经由通信接口将第一诊断日志和第二诊断日志发送给协作环境管理员。该方法包括:将基于错误的通知发送给从由第一客户端应用会话和第二客户端应用会话组成的组中选择的至少一项。
又一个实施例提供了一种非暂时性计算机可读介质,其包括可由电子处理器执行以执行一组功能的指令。该组功能包括:从与第一用户相关联的第一客户端应用会话接收第一诊断日志,该第一诊断日志包括错误消息。该组功能包括:在与第一客户端会话的协作会话中,用电子处理器确定与第二用户相关联的第二客户端应用会话。该组功能包括:在第二客户端应用会话中基于错误消息触发人为错误条件。该组功能包括:响应于触发人为错误条件,从第二客户端应用会话接收第二诊断日志。该组功能包括:用指示协作会话的会话标识符来标记第一诊断日志和第二诊断日志。该组功能包括:经由通信接口将第一诊断日志和第二诊断日志发送给协作环境管理员。该组功能包括:确定补救步骤。该组功能包括:将基于该错误并且包括补救步骤的通知发送给从由第一客户端应用会话和第二客户端应用会话组成的组中选择的至少一项。
附图说明
图1示意性地示出了根据一些实施例的协作计算系统。
图2是示出根据一些实施例的由图1的系统执行的用于在多会话协作环境内进行错误检测的方法的流程图。
具体实施方式
在以下描述和附图中描述和示出了一个或多个实施例。这些实施例不限于本文提供的特定细节,并且可以以各种方式进行修改。此外,可以存在本文未描述的其他实施例。同样,在本文中被描述为由一个组件执行的功能可以由多个组件以分布式方式执行。同样,由多个组件执行的功能可以合并并由单个组件执行。类似地,被描述为执行特定功能的组件也可以执行未在本文中描述的附加功能。例如,以某种方式“配置”的设备或结构至少以这种方式配置,但是也可以以未列出的方式配置。此外,本文所描述的一些处理器可以包括一个或多个电子处理器,其被配置为通过执行存储在非暂时性计算机可读介质中的指令来执行所描述的功能。类似地,本文所描述的可以被实现为存储可由一个或多个电子处理器执行以执行所描述的功能的指令的非暂时性计算机可读介质。如本申请中所使用的,“非暂时性计算机可读介质”包括所有计算机可读介质,但是不包括暂时性的传播信号。因此,非暂时性计算机可读介质可以包括例如硬盘、CD-ROM、光存储设备、磁存储设备、ROM(只读存储器)、RAM(随机存取存储器)、寄存器存储器、处理器高速缓存、或其任何组合。
另外,本文所使用的措词和术语是出于描述的目的,并且不应被视为限制。例如,本文中“包括”、“含有”、“包含”、“具有”及其变体的使用意味着涵盖其后列出的项目及其等同物以及附加项目。术语“连接”和“耦合”被广泛地使用,并且包括直接和间接的连接和耦合。此外,“连接”和“耦合”不限于物理或机械连接或耦合,并且可以包括直接或间接的电连接或耦合。另外,可以使用有线连接、无线连接或其组合来执行电子通信和通知,并且可以直接地或在各种类型的网络、通信信道和连接上通过一个或多个中间设备来发送电子通信和通知。而且,诸如第一和第二、顶部和底部等的关系术语在本文中可以仅用于将一个实体或动作与另一实体或动作区分开,而不必要求或暗示在这些实体或动作之间的任何实际的这种关系或顺序。
例如,图1示出了用于执行协作计算环境的示例系统100。如图1所示,系统100包括第一用户设备102、第二用户设备104和协作服务器106。应当理解,系统100作为一个示例而被提供,并且在一些实施例中,系统100可以包括附加组件。特别地,系统100可以包括两个以上的用户设备,并且本文描述为由协作服务器106执行的功能可以以各种配置被组合和分布。例如,在一些实施例中,协作服务器106的功能可以由云计算平台(例如,
Figure BDA0003111869430000041
平台)的一个或多个服务器或其他硬件组件来执行。
第一用户设备102、第二用户设备104和协作服务器106通过至少一个通信网络108通信地耦合。通信网络108可以使用广域网(例如,因特网)、局域网(例如,以太网或Wi-FiTM网络)、蜂窝数据网络(例如,长期演进(LTETM)网络)及其组合或派生物来实现。在一些实施例中,除了或附加于通过通信网络108进行通信,第一用户设备102、第二用户设备104和协作服务器106或其组合可以通过一个或多个专用(有线或无线)连接进行通信。
第一用户设备102是计算设备,例如,膝上型计算机、台式计算机、平板计算机、计算机终端、智能电话、智能手表、智能电视等。在图1所示的示例中,第一用户设备102包括电子处理器110(例如,微处理器、专用集成电路(ASIC)或配置为执行指令的其他合适的电子设备)、存储器112、人机接口114和通信接口116。电子处理器110、存储器112、人机接口114和通信接口116通信地耦合(通过一个或多个通信线路或总线、无线地或其组合)。应当理解,在其他构造中,第一用户设备102包括比图1所示的组件更多、更少或不同的组件。
通信接口116可以包括用于通过通信网络108进行无线通信的无线发送器或收发器。替代或附加于无线发送器或收发器,通信接口116可以包括用于接收电缆(例如,以太网电缆)的端口,以用于通过通信网络108或专用有线连接进行通信。应当理解,在一些实施例中,第一用户设备102通过一个或多个中间设备(例如,路由器、网关、中继器等)与协作服务器106通信。
存储器112包括存储程序指令和数据的非暂时性计算机可读存储介质。电子处理器110被配置为从存储器112取回并执行软件(可执行指令)等以执行一组功能,包括本文所述的方法。如图1所示,在一些实施例中,存储器112存储操作系统(OS)118、软件应用120和诊断日志122。如本文中所使用的,术语诊断日志是指通过操作系统118、软件应用120或两者创建或更新的一个或多个电子日志。诊断日志包括日志条目,这些日志条目详述OS和应用事件、错误、警告、输入、输出以及有关操作系统118、软件应用120或两者的性能的内容。
存储器112还存储文档124(例如,如由软件应用120创建或修改的文档)。应当理解,存储器112可以存储附加的应用、数据或其组合。而且,在一些实施例中,操作系统118、软件应用120、诊断日志122和文档124可以存储在分开的存储器中。
操作系统118可以是例如由
Figure BDA0003111869430000051
公司提供的
Figure BDA0003111869430000052
操作系统系列之一。操作系统118在由电子处理器110执行时可以控制用户设备102中包括的组件的使用,包括电子处理器110、存储器112、人机接口114、通信接口116或其组合。
当由电子处理器110执行时,软件应用120允许用户(例如,第一用户126)例如访问、创建、编辑、存储、发送和接收数据,例如,文档124。例如,软件应用120可以包括文字处理应用、电子表格应用、通信应用(例如,电子邮件客户端应用、视频聊天应用等)、绘图应用、浏览器应用、组合了前述各项的功能的应用等。在一些实施例中,软件应用120是Microsoft
Figure BDA0003111869430000061
应用套件之一(例如,
Figure BDA0003111869430000062
Internet
Figure BDA0003111869430000063
等)。如下面详细阐述的,软件应用120参与与第二用户设备104和协作服务器106的协作计算会话,例如,以提供对文档124的组编辑或创建。在一些实施例中,文档124是例如存储在协作服务器106上的文档的本地存储副本。
人机接口(HMI)114从第一用户设备102的用户(例如,第一用户126)接收输入并向其提供输出。HMI 114可以包括键盘、小键盘、麦克风、相机、光标控制设备(例如,鼠标、操纵杆、轨迹球、触摸板等)、显示器(例如,液晶显示器(LCD)、发光二极管(LED)显示器、触摸屏)、扬声器等。HMI 114与操作系统118通信,以向操作系统118和软件应用120发送数据以及从操作系统118和软件应用120接收数据。特别地,来自软件应用120的用户的输入从HMI114传送到操作系统118,操作系统118将输入(或其一部分或一个版本)传递到软件应用120。应当理解,HMI 114的一些组件(例如,触摸屏)既充当输入设备又充当输出设备。
第二用户设备104是类似于第一用户设备102的计算设备。第二用户设备104可以是例如膝上型计算机、台式计算机、平板计算机、计算机终端、智能电话、智能手表、智能电视等等。在图1所示的示例中,第二用户设备104包括电子处理器130(例如,微处理器、专用集成电路(ASIC)或配置为执行指令的其他合适的电子设备)、存储器132、人机接口134和通信接口136。电子处理器130、存储器132、人机接口134(用于从第二用户146接收输入并向第二用户146提供输出)、通信接口136通信地耦合(通过一个或多个通信线路或总线、无线地或其组合)。应当理解,在其他构造中,第二用户设备104包括比图1所示的组件更多、更少或不同的组件。类似于第一用户设备102配置和操作第二用户设备104。第二用户设备104中类似命名的组件执行与以上关于第一用户设备102所描述的功能相类似的功能。在一些实施例中,第二用户设备104与第一用户设备102几乎相同(例如,两者是相同型号的膝上型计算机)。
在图1中提供的示例中,协作服务器106也是计算设备,其包括电子处理器150、存储器152、HMI 154和通信接口156,它们可以类似于上文针对第一用户设备102描述的电子处理器110、存储器112、HMI 114和通信接口116。协作服务器106的组件通信地耦合(通过一个或多个通信线路或总线、无线地或其组合)。应当理解,在其他构造中,协作服务器106包括比图1所示的组件更多、更少或不同的组件。
如本文中详细描述的,协作服务器106提供多会话协作环境以允许用户组(例如,第一用户126和第二用户146)彼此交互并与共享内容。如图1所示,存储器152除其他应用、数据或两者外,还包括协作会话158和诊断日志160。协作会话158将共享内容(例如,文档124)呈现给多个远程用户(例如,第一用户126和第二用户146),所述多个远程用户经由一个或多个用户设备(例如,第一用户设备102和第二用户设备104)访问协作环境。协作会话158中的所有用户都可以查看文档124,并且用户可以被选择性地允许控制或编辑文档124的内容。如下面更详细地描述的,协作服务器106经由通信网络108向用户设备发送协作会话数据和命令并接收来自用户设备的协作会话数据和命令。会话数据和命令包括例如用户对文档124所做的更改。如下面更详细描述的,用户可以在协作会话期间经历错误,这些错误被本地记录在其用户设备的诊断日志中。在一些实施例中,记录错误触发用户设备的应用或操作系统将诊断日志发送给协作服务器106,例如,以帮助调试。协作服务器106例如经由通信网络108从第一用户设备102和第二用户设备104接收诊断日志160。
如上所述,当仅从经历错误的用户收集诊断日志时,或者当经过一段时间后尝试收集诊断日志时,难以诊断错误。因此,为了提供更准确和及时的错误报告和分析,期望在单个用户经历错误时从协作会话内的所有用户收集诊断日志。图2示出了用于在多会话协作环境内进行错误检测的示例方法200。方法200被描述为由协作服务器106尤其是电子处理器150执行。然而,应当理解,在一些实施例中,方法200的部分可以由其他设备(包括例如,第一用户设备102和第二用户设备104)执行。尽管图1示出了两个用户设备(第一用户设备102和第二用户设备104),但是应当理解,与所示出的相比,方法200的实施例可以在更多用户设备的情况下使用。实施例还可以包括一个以上的协作服务器106。
作为示例,根据参与协作会话158第一用户设备102和第二用户设备104以编辑文档124来描述方法200。第一用户设备102和第二用户设备104从第一用户126和第二用户146接收输入,该输入对文档124进行更改。对文档124的更改作为协作会话数据的一部分例如经由通信网络108被发送给协作服务器106。
协作服务器106从第一用户设备102和第二用户设备104接收对文档124的更改,并协调对文档124的更改。例如,第一用户设备102发送要添加到文档124中的句子,而第二用户设备104发送现有句子内的单词的替换。协作服务器106接收对文档的两个更改,将其放置在文档内,并用它们相应的用户标识它们。协作服务器106将经协调的更改发送给第一用户设备102和第二用户设备104。例如,添加的句子被发送给第二用户设备104,该第二用户设备104没有发起该更改,从而文档124的其本地副本包括新句子。同样,单词替换被发送给第一用户设备102。结果,当文档正被设备的相应的两个用户编辑时,第一用户设备102和第二用户设备104中的每一个都具有文档124的更新副本。
如所指出的,用户可能在协作会话期间经历错误。在一个示例中,在第一用户设备102上运行的应用120正在与协作会话158一起参与客户端应用会话。当试图提交对文档124的更改时,应用120可以从协作服务器106接收错误消息。应用120将错误消息本地记录在诊断日志122中。记录错误消息使第一用户设备102的应用120(或操作系统118)将诊断日志122发送给协作服务器106。
在框202处,电子处理器150从与第一用户126相关联的第一客户端应用会话接收第一诊断日志(诊断日志)。如所述,第一诊断日志包括在更改提交失败时接收到的错误消息。
在框204处,电子处理器150确定与第一客户端会话的协作会话158中与第二用户相关联的第二客户端应用会话。例如,在一些实施例中,电子处理器150直接查询协作会话158(例如,通过进行子例程调用),以请求参与协作会话的其他客户端应用会话。在一些实施例中,应用120电子处理器150检查诊断日志122或错误消息以确定指示协作会话158的会话标识符。电子处理器150使用会话标识符确定哪些其他客户端应用会话正在参与由会话标识符标识的协作会话。在一些实施例中,电子处理器150通过查询例如存储在存储器152中的数据库来确定第二客户端应用会话。在该示例中,协作会话158内的第二客户端应用会话是与第二用户设备104上的第二用户146相关联的应用140。
在框206处,已经确定了第二客户端应用会话,电子处理器150在第二客户端应用会话中基于错误消息触发人为错误条件。在一个示例中,协作服务器106将错误消息的副本发送给第二用户设备104。应用140接收到人为生成的错误,并将其记录在诊断日志142中。如同第一用户设备102,在该错误由第二用户设备104记录时,它使第二用户设备104的应用140(或操作系统138)将包括人为生成的错误的诊断日志142发送给协作服务器106。在一些实施例中,错误的记录引起第二用户设备104的应用140(或操作系统138)发送多个日志。在一些实施例中,应用140或操作系统138用协作会话标识符来标记诊断日志142,并将日志发送给外部存储服务。
因此,在框208处,响应于触发人为错误条件,电子处理器150从(应用140的)第二客户端应用会话接收第二诊断日志(诊断日志142)。在一些实施例中,协作服务器106发送不同于由客户端应用会话的操作引起的错误的特殊错误消息。例如,错误消息可以包括标识从第一客户端应用会话接收到的错误消息的错误类型的数据、关于该错误是人为的指示,等等。特殊错误消息仍将使得接收到它的客户端应用会话发送其诊断日志,并可以用于将人工触发的诊断日志与原始发送的日志区分开。
在框210处,电子处理器150用指示协作会话158的会话标识符标记第一诊断日志和第二诊断日志。例如,电子处理器150可以将包括会话标识符的元数据附加于日志文件。在另一个示例中,电子处理器150可以使用预定格式将会话标识符直接插入到诊断日志中。在一些实施例中,第一和第二诊断日志被合并为单个文件,该单个文件用会话标识符进行标记。
在一些实施例中,在将诊断日志发送给协作服务器之前,在用户设备处用会话标识符来标记诊断日志。
如所指出的,分析协作会话的所有成员的诊断日志可以允许系统管理员确定原始错误的原因。因此,在框212处,电子处理器150将第一诊断日志和第二诊断日志(例如,经由通信接口156)发送给协作环境管理员。在一些实施例中,使用协作服务器106的人机接口154将日志呈现给协作环境管理员。在一些实施例中,日志被发送给另一系统或设备,以供协作环境管理员进一步分析。
在框214处,电子处理器150经由通信接口156将基于错误的通知发送给第一用户126、第二用户146或两者。例如,协作服务器106可以向第二用户146发送关于已经发生错误的通知,否则该第二用户将不知道由第一用户126接收到的错误消息。在另一个示例中,可以向第一用户126、第二用户146或两者通知已接收到错误报告。该通知可以包括:关于错误的性质的信息,首先接收到该错误消息的用户的身份,关于他们的文档副本124可能不是最新的警告,用于在协作会话158之外保存文档124的备份副本的指令,用于手动将更改合并到文档124的指令,等等。
在一些实施例中,电子处理器150从协作环境管理员接收基于该错误的补救步骤。例如,协作环境管理员确定错误不是由第一应用会话引起的,而是由从第二个应用会话接收到的损坏数据引起的。在该示例中,电子处理器150接收补救步骤,以使第二用户146执行以纠正损坏数据。例如,补救步骤可以包括运行磁盘实用程序以修复本地存储的数据,丢弃文档124的本地副本以从协作服务器106获得新副本,检查网络连接性,更新应用140,等等。
在一些实施例中,电子处理器150自动确定该错误的潜在来源和补救步骤。在一些实施例中,电子处理器150确定一个或多个用户的应用需要更新。例如,应用140可以是应用120的较早版本。因为版本不匹配可能导致协作会话中的错误,因此发送给第二用户146的通知包括用于升级用于访问协作环境的应用的指令。在另一个示例中,错误消息可以与已知已经由软件补丁解决的错误类型相关联。在这样的情况下,通知可以包括用于安装软件补丁的指令。
上面根据两个用户设备在单个文档上协作描述了方法200。然而,应当理解,方法200可应用于其他协作计算场景,包括具有两个以上用户设备和一个以上协作会话的场景。
在所附权利要求中阐述了一些实施例的各种特征和优点。

Claims (15)

1.一种用于在多会话协作环境内进行错误检测的计算机系统,所述计算机系统包括:
通信接口,以及
电子处理器,其耦合到所述通信接口并被配置为:
从与第一用户相关联的第一客户端应用会话接收第一诊断日志,所述第一诊断日志包括错误消息;
在与第一客户端会话的协作会话中,确定与第二用户相关联的第二客户端应用会话;
在所述第二客户端应用会话中,基于所述错误消息来触发人为错误条件;
响应于触发所述人为错误条件,从所述第二客户端应用会话接收第二诊断日志;
用指示所述协作会话的会话标识符,标记所述第一诊断日志和所述第二诊断日志;
经由所述通信接口,将所述第一诊断日志和所述第二诊断日志发送给协作环境管理员;以及
经由所述通信接口,将基于所述错误的通知发送给从由以下各项组成的组中选择的至少一项:所述第一客户端应用会话,以及所述第二客户端应用会话。
2.根据权利要求1所述的系统,其中:
所述电子处理器还被配置为确定补救步骤;并且
所述通知包括所述补救步骤。
3.根据权利要求2所述的系统,其中,所述补救步骤是从由以下各项组成的组中选择的一项:运行磁盘实用程序以修复本地存储的数据,丢弃文档的本地副本,检查网络连接,以及更新软件应用。
4.根据权利要求2所述的系统,其中,所述电子处理器还被配置为:通过从所述协作环境管理员接收所述补救步骤,来确定所述补救步骤。
5.根据权利要求1所述的系统,其中,所述电子处理器还被配置为:通过查询从由所述协作会话和数据库组成的组中选择的至少一项,来确定第二客户端应用会话。
6.根据权利要求1所述的系统,其中,所述电子处理器还被配置为:通过向所述第二客户端应用会话发送所述错误消息的副本,来触发人为错误条件。
7.根据权利要求1所述的系统,其中,所述电子处理器还被配置为:通过向所述第二客户端应用会话发送基于所述错误消息的特殊错误消息,来触发人为错误条件。
8.根据权利要求1所述的系统,其中,所述电子处理器还被配置为:通过执行从由以下各项组成的组中选择的一项,来用指示所述协作会话的会话标识符标记所述第一诊断日志和所述第二诊断日志:向所述第一诊断日志和所述第二诊断日志附加包括所述会话标识符的元数据,以及将所述会话标识符直接插入到所述第一诊断日志和所述第二诊断日志中。
9.根据权利要求1所述的系统,其中,所述电子处理器还被配置为:将所述第一诊断日志和所述第二诊断日志合并为单个文件。
10.根据权利要求1所述的系统,其中,所述通知包括从由以下各项组成的组中选择的至少一项:关于所述错误的性质的信息,首先接收到所述错误消息的用户的身份,关于正被编辑的文档的副本可能不是最新的警告,用于在所述协作会话之外保存所述文档的备份副本的指令,以及用于手动合并对所述文档的更改的指令。
11.一种用于在多会话协作环境内进行错误检测的方法,所述方法包括:
从与第一用户相关联的第一客户端应用会话接收第一诊断日志,所述第一诊断日志包括错误消息;
用电子处理器,在与第一客户端会话的协作会话中,确定与第二用户相关联的第二客户端应用会话;
在所述第二客户端应用会话中,基于所述错误消息来触发人为错误条件;
响应于触发所述人为错误条件,从所述第二客户端应用会话接收第二诊断日志;
用指示所述协作会话的会话标识符,标记所述第一诊断日志和所述第二诊断日志;
经由通信接口,将所述第一诊断日志和所述第二诊断日志发送给协作环境管理员;以及
将基于所述错误的通知发送给从由以下各项组成的组中选择的至少一项:所述第一客户端应用会话,以及所述第二客户端应用会话。
12.根据权利要求11所述的方法,还包括:
确定补救步骤,其中,发送通知包括:发送所述补救步骤。
13.根据权利要求11所述的方法,其中,触发人为错误条件包括:向所述第二客户端应用会话发送所述错误消息的副本。
14.根据权利要求11所述的方法,其中,触发人为错误条件包括:向所述第二客户端应用会话发送基于所述错误消息的特殊错误消息。
15.根据权利要求11所述的方法,其中,发送通知包括发送从由以下各项组成的组中选择的至少一项:关于所述错误的性质的信息,首先接收到所述错误消息的用户的身份,关于正被编辑的文档的副本可能不是最新的警告,用于在所述协作会话之外保存所述文档的备份副本的指令,以及用于手动合并对所述文档的更改的指令。
CN201980082274.0A 2018-12-13 2019-12-06 从参与文档协作会话的各用户收集重复诊断数据 Pending CN113168357A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/218,940 US10963331B2 (en) 2018-12-13 2018-12-13 Collecting repeated diagnostics data from across users participating in a document collaboration session
US16/218,940 2018-12-13
PCT/US2019/064802 WO2020123261A1 (en) 2018-12-13 2019-12-06 Collecting repeated diagnostics data from across users participating in a document collaboration session

Publications (1)

Publication Number Publication Date
CN113168357A true CN113168357A (zh) 2021-07-23

Family

ID=69024695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980082274.0A Pending CN113168357A (zh) 2018-12-13 2019-12-06 从参与文档协作会话的各用户收集重复诊断数据

Country Status (4)

Country Link
US (1) US10963331B2 (zh)
EP (1) EP3895015B1 (zh)
CN (1) CN113168357A (zh)
WO (1) WO2020123261A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868200B1 (en) * 2022-07-11 2024-01-09 Lenovo (Singapore) Pte, Ltd. Method and device for reproducing an error condition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420335A (zh) * 2007-10-26 2009-04-29 华为技术有限公司 对等网络节点故障检测/处理方法及装置
CN101848114A (zh) * 2010-04-15 2010-09-29 华为技术有限公司 故障检测方法和装置
US20130198827A1 (en) * 2012-02-01 2013-08-01 International Business Machines Corporation Service compliance enforcement using user activity monitoring and work request verification
US20160070777A1 (en) * 2014-09-04 2016-03-10 Visual Mobile Technologies, Inc. System and method for content collection, cataloging, and collaboration

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024661B2 (en) * 2001-10-18 2011-09-20 Autodesk, Inc. Collaboration framework
US8929528B2 (en) * 2005-02-11 2015-01-06 Rockstar Consortium Us Lp Method and system for enhancing collaboration
US20070038896A1 (en) 2005-08-12 2007-02-15 International Business Machines Corporation Call-stack pattern matching for problem resolution within software
US7500916B2 (en) 2005-11-07 2009-03-10 Microsoft Corporation Game strategy analysis tool generating a two dimensional image overlaid with telemetry data
US7937442B2 (en) * 2006-09-22 2011-05-03 Microsoft Corporation Multipoint control unit (MCU) failure detection and rollover
KR20130010910A (ko) * 2008-12-05 2013-01-29 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
US8553867B2 (en) * 2010-11-24 2013-10-08 International Business Machines Corporation User-defined system-enforced session termination in a unified telephony environment
US8713365B2 (en) 2011-01-28 2014-04-29 Microsoft Corporation Re-establishing push notification channels via user identifiers
US9590880B2 (en) 2013-08-07 2017-03-07 Microsoft Technology Licensing, Llc Dynamic collection analysis and reporting of telemetry data
US20150058681A1 (en) 2013-08-26 2015-02-26 Microsoft Corporation Monitoring, detection and analysis of data from different services
US9529657B2 (en) 2014-02-07 2016-12-27 Oracle International Corporation Techniques for generating diagnostic identifiers to trace events and identifying related diagnostic information
US9354963B2 (en) * 2014-02-26 2016-05-31 Microsoft Technology Licensing, Llc Service metric analysis from structured logging schema of usage data
US9442832B2 (en) * 2014-07-07 2016-09-13 Sap Se User workflow replication for execution error analysis
US9332045B2 (en) * 2014-08-05 2016-05-03 Rajesh Panicker Automatic initiation of a collaborative session
US9893952B2 (en) 2015-01-09 2018-02-13 Microsoft Technology Licensing, Llc Dynamic telemetry message profiling and adjustment
US20180007115A1 (en) 2016-07-01 2018-01-04 Cisco Technology, Inc. Fog enabled telemetry embedded in real time multimedia applications
US10268567B2 (en) * 2017-04-12 2019-04-23 Microsoft Technology Licensing, Llc Systems, methods, and computer-readable media for using immutable and copy-on-write data semantics to optimize record and replay frameworks
US10579503B2 (en) * 2017-05-15 2020-03-03 Microsoft Technology Licensing, Llc Conditionally crashing software applications to track software use

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420335A (zh) * 2007-10-26 2009-04-29 华为技术有限公司 对等网络节点故障检测/处理方法及装置
CN101848114A (zh) * 2010-04-15 2010-09-29 华为技术有限公司 故障检测方法和装置
US20130198827A1 (en) * 2012-02-01 2013-08-01 International Business Machines Corporation Service compliance enforcement using user activity monitoring and work request verification
US20160070777A1 (en) * 2014-09-04 2016-03-10 Visual Mobile Technologies, Inc. System and method for content collection, cataloging, and collaboration

Also Published As

Publication number Publication date
WO2020123261A1 (en) 2020-06-18
US20200192736A1 (en) 2020-06-18
EP3895015B1 (en) 2022-11-02
US10963331B2 (en) 2021-03-30
EP3895015A1 (en) 2021-10-20

Similar Documents

Publication Publication Date Title
US10733079B2 (en) Systems and methods for end-to-end testing of applications using dynamically simulated data
US10992559B2 (en) Diagnostic and recovery signals for disconnected applications in hosted service environment
US10133622B2 (en) Enhanced error detection in data synchronization operations
US9176798B2 (en) Computer-readable recording medium, failure prediction device and applicability determination method
CA2896865C (en) Method and system for using a recursive event listener on a node in hierarchical data structure
CN107992537B (zh) 业务属性传递方法、装置、计算机设备及存储介质
JP7289334B2 (ja) コードをテストするための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
US11853737B1 (en) Metadata driven product configuration management
JP2023536832A (ja) ビジュアライゼーションのためのメトリックの提供及び表面化
US20200213262A1 (en) System and method for automating actions in distributed computing
US10102239B2 (en) Application event bridge
US20160063078A1 (en) Automatic identification and tracking of log entry schemas changes
US10719375B2 (en) Systems and method for event parsing
US10860414B1 (en) Change notification in distributed file systems
CN111538754A (zh) 一种数据归集管理系统、方法、装置、设备和存储介质
CN109299124B (zh) 用于更新模型的方法和装置
US10963331B2 (en) Collecting repeated diagnostics data from across users participating in a document collaboration session
CN110445667B (zh) 一种链路延迟检测方法、装置、存储介质以及终端
US9374437B2 (en) Schema validation proxy
US11003690B1 (en) Aggregator systems for storage of data segments
US10749766B1 (en) Archival datastore for aggregated metrics
US9215150B2 (en) Feature set negotiation framework
CN110362464B (zh) 软件分析方法及设备
CN110704246A (zh) 3dc拓扑结构展示方法、装置及电子设备和存储介质
US11886277B2 (en) Systems, apparatuses, and methods for assessing recovery viability of backup databases

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