CN111095871B - 有助于网络数据流分析的时间图系统 - Google Patents
有助于网络数据流分析的时间图系统 Download PDFInfo
- Publication number
- CN111095871B CN111095871B CN201880041036.0A CN201880041036A CN111095871B CN 111095871 B CN111095871 B CN 111095871B CN 201880041036 A CN201880041036 A CN 201880041036A CN 111095871 B CN111095871 B CN 111095871B
- Authority
- CN
- China
- Prior art keywords
- time
- network
- graphical element
- computer
- graphical
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
- H04L43/045—Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/067—Generation of reports using time frame reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
- H04Q9/02—Automatically-operated arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Library & Information Science (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于执行网络分析的方法,包括:接收计算机网络的遥测信息,该遥测信息包括计算机网络中的网络互连设备的网络设备状态信息和通过计算机网络的数据分组流的网络流量流信息;将遥测信息变换为被数字存储在计算机存储器中的时间图;从客户端计算设备接收对计算机网络的网络分析信息的请求;响应于接收到对网络分析信息的请求,基于时间图生成计算机网络的网络分析信息并且将网络分析信息发送给客户端计算设备。
Description
优先权要求
本申请要求于2017年6月20日递交的印度申请201741021533、于2017年6月20日递交的印度申请201741021532、及于2017年6月20日递交的美国申请15828306在35 U.S.C§119下的权益,这些申请中的每个申请的全部内容通过引用结合于此,用于如同在本文完全给出的所有目的。
技术领域
本发明涉及计算机网络,更具体地涉及使用并存储时间图来分析网络遥测信息。
背景技术
网络遥测信息的时间序列分析是主动研究领域。随着计算机网络的扩张和计算机网络上的数据流量的速度、容量、和类型的增加,需要从计算机网络收集度量信息并存储和分析该度量信息,以识别与网络条件和流量模式有关的趋势。这种分析可以帮助网络管理员提高网络的运行效率并改善用户在网络上的用户体验。
计算机网络是包括在任意给定时间点具有不同流量流的很多互连设备的复杂实体。流量流表示来自来源、横穿沿着网络的路径、并在目的地终止的数据流量。流量流也可以是双向的。
网络拓扑、设备参数、以及链路状态贯穿网络连续变化。利用这种数据,可以执行各种类型的网络分析,例如,确定网络中在给定时间段被过度使用的设备、在高峰时段期间过于频繁地出现故障的链路、在一年的特定时间期间比其他路径被更多地使用的路径、网络中的任意两点之间的优化路由等。给定时间的一组活动流可以被用来识别网络中的活动用户或在给定时段期间通过其发送流量的资源组。
使用三种不同的数据检索能力来执行这些不同类型的分析:检索描述计算机网络在任意给定时间的状态的快照、检索来自特定时间段的数据、以及遍历数据以横跨空间域和时间域识别并关联条件。另外,为了处理大量网络遥测信息,必须高效地存储所有相关数据。
但是,以前的数据存储方案不能同时解决所有三种数据检索能力。例如,使能快照检索的典型数据存储方案不能提供时间遍历功能。典型的快照存储和检索系统存储与不同时间点相关联的快照。为了查看来自特定时间点的数据,检索与该特定时间点相关联的快照。如果在两个时间点之间进行了修改但是没有存储快照,则这些修改不会反映在快照中。另外,快照存储和检索系统不允许横跨时间段检索数据或者对来自不同时间点的数据进行关联。因此,需要提供更大的数据检索和处理能力的有效存储遥测信息的技术。
本节中描述的方法是可以执行的方法,但不一定是以前已经想到或执行的方法。因此,除非有相反的指示,否则不应该认为本节描述的任意方法仅仅因为包括在本节中而成为现有技术。
发明内容
所附的权利要求可以用作本发明的概要。具体地,在独立权利要求中给出了本发明的多个方面,并且在从属权利要求中给出了优选特征。一个方面的特征可以单独应用于每个方面或者与其他方面结合应用。
附图说明
在附图中:
图1是根据各种实施例的可以实现本文描述的技术的网络环境的示意图。
图2是根据各种实施例的示例时间图的示意图。
图3是根据各种实施例的用于创建图形元素的示例过程的流程图。
图4是根据各种实施例的用于修改图形元素的示例过程的流程图。
图5是根据各种实施例的用于删除图形元素的示例过程的流程图。
图6A-图6D是根据各种实施例的用于时间遍历的示例过程的流程图。
图7是根据各种实施例的用于快照检索的示例过程的流程图。
图8是根据各种实施例的用于历史数据遍历的示例过程的流程图。
图9是根据各种实施例的显示网络分析信息的示例图形用户界面。
图10是根据各种实施例的描述网络遥测信息的示例时间图。
图11是根据各种实施例的描述网络遥测信息的示例时间图。
图12是根据各种实施例的描述网络遥测信息的示例时间图。
图13是根据各种实施例的描述网络遥测信息的示例时间图。
图14是示出可以实现本发明的实施例的计算机系统的框图。
具体实施方式
在下面的描述中,出于说明的目的,给出了很多具体细节以提供对本发明的透彻理解。但是,将明白的是,本发明可以在没有这些具体细节的条件下实施。在其他实例中,以框图形式示出了公知结构和设备,以避免不必要地模糊本发明。
本公开的上下文结合附图用于以本公开所涉及领域的技术人员相互交流将被编程的有关功能、输入、变换、输出、以及其他编程方面所使用的相同细节等级,用文字陈述将计算机编程为实现请求保护的发明所必需的算法。即,本公开给出的细节等级与本领域技术人员通常用来相互沟通的细节等级相同,以表示将被编程的算法或实现这里请求保护的发明的程序的功能和结构。
下面在本节中根据以下大纲描述实施例:
1.0总体概述
2.0系统概述
3.0网络遥测信息
4.0时间图概述
4.1图形存储
4.2图形遍历语言
4.3图形元素创建
4.4图形元素修改
4.5图形元素删除
5.0时间图操作
5.1时间遍历
5.2快照检索和遍历
5.3历史数据检索
6.0使用时间图的网络分析
7.0实施方式示例-硬件概述
1.0总体概述
提供了计算机实现的技术,用于使用时间图分析网络遥测信息。可以遍历时间图和/或可以检索图形元素以生成网络分析信息。
在实施例中,接收网络遥测信息。遥测信息包括网络中的网络互连设备的网络设备状态信息和通过网络的数据分组流的网络流量流信息。将遥测信息变换为被数字存储在计算机存储器中的时间图。
在实施例中,时间图包括多个图形元素,图形元素包括多个顶点和多条边。每个顶点可以表示网络互连设备,每条边可以表示通过网络的数据分组流或其部分。另外,可以用结构化格式存储对应于多个图形元素的图形元素元数据。图形元素元数据可以包括每个图形元素的时间数据,该时间数据包括指定与每个图形元素相关联的修改时间的修改时间值。另外或者替代地,时间数据包括指定与每个图形元素的后续版本相关联的修改时间的后续修改时间值。
在实施例中,响应于接收到网络分析信息请求,基于时间图生成网络分析信息。在实施例中,生成网络分析信息包括生成时间图的快照。另外或替代地,生成网络分析信息包括检索时间图中的一个或多个图形元素的历史数据,其中,该历史数据对应于特定时间段。另外或替代地,生成网络分析信息包括在时间上遍历时间图。
2.0系统概述
图1示出了根据一个实施例的可以实施所描述的技术的示例计算机系统。
在实施例中,计算机系统100包括可以至少部分地由一个或多个计算设备处的硬件(例如,执行一个或多个存储器中存储的程序指令以执行本文描述的功能的一个或多个硬件处理器)实现的多个组件。换言之,在实施例中,本文描述的所有功能用于指示使用专用计算机或通用计算机中的编程执行的操作。图1示出了被配置为执行本文描述的编程的很多可能的组件布置中的仅一种组件布置。其他布置可以包括更少或不同的组件,并且组件之间的工作划分可以根据布置改变。
图1示出了经由网络连接102耦合到服务器计算机110的客户端计算设备104,其中,服务器计算机110耦合到数据库120。
在一个实施例中,客户端计算设备104是诸如,膝上型手持计算机、可穿戴计算机、蜂窝或移动电话、便携式数字助理(PDA)、或平板计算机的任何计算设备。尽管图1中描绘了单个计算设备,但是可以存在任意数目的移动计算设备。每个客户端计算设备104通过网络102通信连接到服务器计算机110,其中,网络102包括LAN、WAN、诸如公共互联网的一个或多个互连网络、蜂窝网络、或公司网络的任意组合。
客户端计算设备104还包括没有在图1中描绘的诸如,一个或多个输入设备、存储器、处理器等的其他硬件元件。客户端计算设备104还包括有助于本文描述的实施例的各种方面的应用、软件、和其他可执行指令。这些应用、软件、和其他可执行指令可以由与客户端计算设备104有关的用户、所有者、制造者、或其他实体安装。
在实施例中,客户端计算设备104包括客户端应用106,该客户端应用显示用于与服务器计算机110交互的网络分析应用和/或数据库控制台。在实施例中,客户端应用106可以实现用于接触服务器计算机以获取时间图数据、网络分析信息、以及可以形成用于分析网络遥测信息的基础的其他数据的功能调用、回叫、方法、或其他程序化手段。
服务器计算机110可以是任何计算设备,包括但不限于:服务器、支架、工作台、个人计算机、通用计算机、膝上型计算机、互联网电器、无线设备、有线设备、多处理器系统、迷你计算机等。尽管图1示出了单个元件,但是服务器计算机110宽泛地表示诸如,服务器集群的一个或多个服务器计算机,并且服务器计算机可以位于一个或多个物理位置。服务器计算机110还可以表示使用诸如,虚拟服务器场的数据中心中的一个或多个计算机执行的一个或多个虚拟计算实例。
服务器计算机110使用有线和无线通信的任意组合,通过任意种类的计算机网络通信地连接到数据库120和客户端计算设备104,其中,计算机网络包括但不限于:局域网(LAN)、广域网(WAN)、诸如公共互联网的一个或多个互连网络、或公司网络。服务器计算机110可以容宿或执行网络分析应用。另外或替代地,服务器计算机110可以是管理数据库120的数据库服务器。另外,服务器计算机110可以包括诸如,数据库接口的其他应用、软件、和其他可执行指令,以帮助本文描述的实施例的各种方面。
在一个实施例中,数据库接口是用于与数据库120通信的诸如,JDBC OR ODBC的程序化接口。数据库接口可以与任意数目的数据库、任意类型的数据库、以及任意格式的数据库通信。
在一个实施例中,数据库120是包括程序和存储在诸如,一个或多个硬盘驱动、存储器、或被配置为存储数据的任何其他电子数字数据记录设备的任何适当存储设备上的数据的数据存储子系统。尽管数据库120在图1中被描绘为单个设备,但是数据库120可以涵盖位于一个或多个物理位置的多个设备。例如,数据库可以包括位于一个或多个数据仓库的一个或多个节点。另外,在一个实施例中,数据库120可以与服务器计算机110位于一个或多个相同设备上。替代地,数据库120可以与服务器计算机110位于一个或多个不同设备上。
数据库120可以是诸如,关系数据库、noSQL数据库、或任何其他格式的任意格式。数据库120使用前面描述的类型的有线和无线通信的任意组合,通过任意种类的计算机网络与服务器计算机110通信连接。可选地,数据库120可以与诸如,一个或多个第三方数据供应方的其他组件直接或间接地通信连接。一般,数据库120存储包括但不限于网络遥测信息和时间图数据的网络分析相关数据。
3.0网络遥测信息
计算机网络包括在不同时间点具有不同流量流的很多互连设备。在各种时间点,可以添加、修改、或移除设备和设备之间的连接。计算机网络的网络遥测信息描述了计算机网络在这些不同时间点的状态。
在实施例中,网络遥测信息包括网络设备状态信息。设备状态信息描述计算机网络中的网络互连设备。网络互连设备可以是连接到计算机网络的任意设备,例如,用户计算设备、服务器计算机、网络路由器、网络交换机等。另外或替代地,设备状态信息可以描述与网络互连设备有关的用户、服务、应用、网络接口、网络资源、和其他非硬件实体。
另外或替代地,网络遥测信息可以包括网络流量流信息。网络流量流信息描述通过计算机网络的数据分组流。如本文中提到的,‘流’表示来自诸如,用户计算设备的源、横穿计算机网络中的路径、并且在诸如,服务器计算机的目的地终止的网络流量。流可以是单向或双向的。
在实施例中,设备状态信息是基于网络流量流信息生成的。网络流量流信息可以指示流所遍历的网络互连设备。例如,如果某个流从用户设备到服务器计算机,则该用户设备和服务器计算机是该流的时间处的计算机网络的部分。
网络设备状态信息和/或网络流量流信息中的每一者可以与特定时间相关联。在实施例中,时间指示相关联的信息何时被获取、接收、生成、或存储。另外或替代地,时间指示设备或流量流何时被创建、修改、或移除。
4.0时间图概述
时间图是能够存储与该图表中的每个顶点和/或每条边相关联的时间信息的图表。类似于非时间图,时间图包括多个顶点和多条边。图形边和图形顶点在这里被称为图形元素。时间图可以被用来存储非时间图中包含的信息。另外,每个图形元素与指示创建、修改、或移除该图形元素的时间的时间信息相关联。
在实施例中,时间图存储相同图形元素的一个或多个版本。当图形元素被修改或移除时,该图形元素的在先版本保留。创建图形元素的反映该修改或删除的后续版本。后续版本与指示该后续版本何时被创建的时间信息相关联。换言之,图形元素的每个版本对应于图形元素在特定时间点的状态。
可以类似于非时间图对时间图进行遍历。在实施例中,也可以在时间上遍历时间图。如果存在图形元素的后续版本,则将图形元素的每个版本在时间上链接到该图形元素的后续版本。类似地,如果存在图形元素的在先版本,则将该图形元素在时间上链接到该在先版本。从图形元素的特定版本开始,可以遍历时间链接以检索该图形元素的在先或后续版本。
在实施例中,时间链接作为元数据被存储在时间图中。对应于图形元素的特定版本的元数据可以指示图形元素的后续和/或在先版本。在时间上遍历时间图包括检索对应于图形元素的元数据并使用该元数据来识别图形元素的在先和/或后续版本。另外或替代地,时间链接包括时间边。时间边是时间图的指示图形元素之间的时间而非空间连接的边。在时间上遍历时间图包括遍历时间边。
图2示出了示例时间图200的视觉表示。时间图200包括顶点v1、v2、v3、v4、v5、和v6以及边e1、e2、e3、e4、和e5。时间图200包括每个图形元素的一个或多个版本。图形元素的每个版本与时间T1、时间T2、或时间T3之一相关联。
在所示出的示例中,在时间T1,时间图200包括顶点v1、v2、和v3的第一版本。另外,顶点v1和v2通过边e1连接。
在时间T2,时间图200包括顶点v1的第二版本。如图2所示,顶点v1的第二版本与时间T2相关联。顶点v1的第二版本在时间上与顶点v1的第一版本连接,如虚线所示。顶点v2和边e1在时间T2不变,所以顶点v1的第二版本保持通过边e1的第一版本连接到顶点v2的第一版本。另外,时间图200包括与时间T2相关联的顶点v3的第二版本。在时间T2,时间图200还包括两个附加的顶点v3和v4以及附加的边v2。
在实施例中,任意时间点的数据检索和图形遍历基于与该时间点相关联的图形数据。例如,参考图2,时间T1仅与顶点v1、v2、和v3以及边e1相关联。因此,如果请求针对时间t1的图形数据,则只有这些图形元素可用。类似地,对于时间T1的顶点v1的请求将返回顶点v1与时间T1相关联的版本,而不是与时间T2相关联的版本。
在实施例中,为了处理并分析网络遥测信息,可以将计算机网络的网络遥测信息变换为时间图。诸如服务器计算机105或客户端计算设备145的计算设备可以接收网络遥测信息,分析网络遥测信息以识别网络设备和网络流,并基于网络遥测信息生成时间图。时间图的每个顶点对应于网络设备。时间图的每条边对应于两个网络设备之间的流或流的一个或多个部分。网络设备的变化对应于对应顶点的后续版本。类似地,流的变化对应于对应边的后续版本。
另外或替代地,每个顶点可以对应于以上描述的其他网络设备状态信息。每条边可以表示网络设备状态信息之间的关系。例如,第一组边可以指示哪个用户连接到哪个网络设备,第二组边可以将网络设备与场地位置相关联。
在实施例中,计算设备检索或请求多个所存储的网络遥测信息。在其他实施例中,在网络遥测信息被生成和/或存储时,计算设备实时或间隔地接收网络遥测信息。另外或替代地,用户可以提供或上传网络遥测信息。在其他实施例中,计算设备可以接收基于网络遥测数据创建、修改、或移除图形元素的命令或其他输入。例如,应用可以处理网络遥测数据并生成基于网络遥测数据创建图形元素的时间图命令。所生成的命令在被执行时创建指定图形元素。
在实施例中,基于将使用时间图执行的网络分析的类型或将得出的信息的类型,可以将网络遥测信息的不同部分转变为时间图数据。例如,如果正在分析带宽消耗,则可以将描述带宽使用的网络遥测信息变换为时间图数据,同时与带宽消耗无关的网络遥测信息不被包括在时间图中。
4.1图形存储
可以按照诸如,RDBMS表格、NoSQL表格、JSON、XML、或任何其他结构化数据格式的结构化格式存储时间图数据。在实施例中,时间图数据被永久存储在诸如,数据库120的数据库中。在其他实施例中,时间图数据可以被存储在一个或多个存储设备上的数据文件中。另外或替代地,图形元素元数据可以被临时存储在计算设备的存储器中。例如,服务器计算机105可以接收网络遥测信息并处理该遥测信息以生成时间图。服务器计算机105可以在其计算机存储器中存储所生成的时间图的图形元素元数据。
在实施例中,时间图数据包括对应于时间图的图形元素的元数据。图形元素元数据可以包括对应于时间图中的多个顶点中的每个顶点的顶点元数据和对应于多条边中的每条边的边元数据。
在实施例中,顶点元数据包括顶点标识符、顶点标签、状态标识符、以及一个或多个顶点属性。顶点标识符是用于识别和/或定位特定图形元素的唯一图形元素标识符。顶点标签是顶点的用户指定标签。状态标识符指示顶点已经被创建还是删除。如果顶点被修改而不是被创建或删除,则状态标识符可以为空或者可以不被包括在顶点元数据中。顶点属性是用户指定的关键值对。例如,对应于用户的顶点可以包括诸如,用户名、用户地址、以及其他用户信息的属性。
在实施例中,边元数据包括边标识符、出站顶点标识符、入站顶点标识符、边标签、状态标识符、以及一个或多个边属性。边标识符是用于识别和/或定位特定图形元素的唯一图形元素标识符。边标签是边的用户指定标签。状态标识符指示边已经被创建还是删除。如果边被修改而不是被创建或删除,则状态标识符可以为空或者可以不被包括在边元数据中。出站顶点标识符指示边在其上入射的出顶点。入站顶点标识符指示边在其上入射的入顶点。边属性是用户指定的关键值对。例如,对应于网络分组流的边可以指示网络连接的速度、分组丢失的数量、以及其他连接信息。
在实施例中,图形元素的图形元素元数据包括时间数据。时间数据包括指定与图形元素相关联的修改时间的修改时间值。修改时间可以指示图形元素的特定版本何时被创建、修改、或删除。另外,时间数据可以包括指定与图形元素的后续版本相关联的修改时间的后续修改时间值。例如,参考图2,顶点1在时间T1的修改时间值为“T1”,同时后续修改时间值将为“T2”。修改时间值和后续修改时间值被用在快照检索、时间图遍历、以及图形历史检索中。
JSON格式的示例顶点元数据可以为:
“~elementid”:“1”,
“~label”:“vertex v1”,
“~entrystatus”:“created”,
“~modificationtime”:142755604000,
“~subsequentmodificationtime”:1473755606000,
“name”:“user1”,
“p1”:1,
“p2”:2
JSON格式的示例边元数据可以为:
“~elementid”:“101_knows_102”,
“~label:“knows”,
“~modificationtime”:1485933147536
“~invertexid”:“102”,
“~outvertexid”:“101”,
“~entrystatus”:“created”,
“UserGroupProp1”:“m33HpCouUkDv18TIWZR4”
“UserGroupProp2”:true,
“Weight”:0.5
在以上示例中,边元数据不包括指示边是当前版本的后续修改时间值。在其他实施例中,后续修改时间值可以是指示不存在后续版本的值。例如,后续修改时间值0、NaN、或无穷大可以被用来指示不存在后续版本。
4.2图形遍历语言
在实施例中,图形遍历语言被用来执行诸如,数据检索或图形遍历的图形操作。出于提供清楚说明的目的,这里使用Gremlin语言语法提供示例命令。如同结构化查询语言(SQL)流行用于关系数据库一样,Gremlin是用在图形数据库中的语言。在实施例中,时间序列图被探查的所有特征被以类似于Gremlin语言的语法呈现,并且可以被实现为Gremlin扩展。在其他实施例中,可以使用其他图形遍历命令和语言。可以通过诸如,客户端应用196的客户端应用、数据库命令控制台、或任何其他文本或图形用户界面从用户接收图形遍历命令。另外或替代地,可以将图形遍历命令作为脚本、应用、或程序的一部分提供。
在实施例中,执行命令来获取图形对象和/或图形遍历对象。图形对象被用来检索所存储的图形数据。图形遍历对象被用来执行图形遍历操作、图形元素创建、图形元素删除,并且被用来与图形数据库交互。用于获取图形对象和图形遍历对象的示例命令可以为:
Graph graph=TimeSeriesGraph.open(Config_Input);
GraphTraversalSource g=graph.traversal()
可以使用命令来创建、修改、和/或删除图形元素。另外,可以使用重写命令来重写所有的图形元素属性。这些命令可以与所指定的时间戳值一起使用或者在没有所指定的时间戳值的条件下使用。在实施例中,如果没有指定时间戳,则使用当前时间的时间戳值作为命令的修改时间戳值。
4.3图形元素创建
图3示出了用于创建图形元素的示例步骤。在步骤300,接收创建新图形元素的请求。该请求可以例如,来自在客户端应用、数据库控制台等处接收的用户输入。另外或替代地,可以响应于接收到指示网络设备或网络流被添加到网络的网络遥测信息执行图形元素创建。例如,服务器计算机110可以接收网络遥测信息,并确定网络遥测信息包括不对应于任何现有图形元素的网络设备的信息。服务器计算机110可以创建对应于该网络设备的新图形元素。用于创建新图形元素的示例命令可以为:
g.addVertex(2016-08-13T08:33:24,T.id,103,T.label,“software”,“name”,“lop103”)
在步骤302,创建新图形元素。如果请求中指定了元素标识符,则利用所指定的元素标识符创建新图形元素。替代地,针对新图形元素自动生成元素标识符。在实施例中,创建新图形元素包括生成对应于新图形元素的图形元素元数据。可以将图形元素元数据存储在诸如,数据库120的永久存储设备中。
在步骤304,将修改时间值与新图形元素相关联。如果请求包括时间值,则使用指定时间值作为修改时间值。如果请求不包括时间值,则可以使用当前时间的时间值作为修改时间值。
在步骤306,将后续修改时间值设置为指示不存在图形元素的后续版本的时间值。例如,可以将后续修改时间值设置为无穷大或“最大时间”值。替代地,不将后续修改时间值与新图形元素相关联。可以不将图形元素与后续修改时间相关联,以指示不存在图形元素的后续版本。
在步骤308,将状态标识符设置为指示新图形元素被创建。
在实施例中,在创建新图形元素后,可以将图形元素元数据存储在计算机存储器或永久存储设备中。
4.4图形元素修改
图4示出了用于修改图形元素的示例步骤。在步骤400,接收修改现有图形元素的请求。该请求可以例如,来自在客户端应用、数据库控制台等处接收的用户输入。另外或替代地,可以响应于接收到指示网络设备或网络流被添加到网络的网络遥测信息执行图形元素修改。例如,服务器计算机110可以接收网络遥测信息,并确定网络遥测信息包括对应于现有图形元素的网络设备的修改或更新后的信息。服务器计算机110可以基于修改或更新后的信息修改现有图形元素。用于修改现有图形元素的示例命令可以为:
vRef.property(2016-08-13T08:33:46,“location”,“san diego”,“startTime”,1997)
在实施例中,请求包括将被修改的图形元素的元素标识符。如果具有指定元素标识符的图形元素不存在,则如上所述地使用新图形元素的指定元素标识符创建该新图形元素。在其他实施例中,系统可以生成指示没有找到具有指定元素标识符的图形元素的通知或错误消息。
如果找到了具有指定元素标识符的图形元素,则在步骤402,更新图形元素的后续修改时间值。替代地,如果图形元素不与后续修改时间值相关联,则将图形元素与后续修改时间值相关联。如果请求包括时间值,则使用指定时间值作为后续修改时间值。如果请求不包括时间值,则可以使用当前时间的时间值作为后续修改时间值。
在步骤404,利用相同的图形元素标识符创建新图形元素。在实施例中,创建新图形元素包括生成新图形元素的图形元素元数据。新图形元素的图形元素元数据基于图形元素的在先版本的图形元素元数据。可以从图形元素的在先版本复制图形元数元数据,并且可以更新图形元素元数据以反映图形元素修改请求中指示的修改。
在步骤406,将修改时间值与新图形元素相关联。如果请求包括时间值,则使用指定时间值作为新图形元素的修改时间值。如果请求不包括时间值,则可以使用当前时间的时间值作为修改时间值。
在步骤408,将后续修改时间值设置为指示不存在图形元素的后续版本的时间值。例如,可以将后续修改时间值设置为无穷大或“最大时间”值。替代地,后续修改时间值不与新图形元素相关联。可以不将图形元素与后续修改时间相关联,以指示不存在图形元素的后续版本。
在实施例中,状态标识符指示元素创建或元素删除,并且针对元素修改不设置状态标识符。在其他实施例中,设置状态标识符来指示图形元素被修改。
在实施例中,不是修改图形元素的一个或多个属性,而是使用重写命令来重写图形元素的所有属性。类似于以上所述的修改执行重写,但是针对每个图形元素属性指定重写属性值。
4.5图形元素删除
图5示出了用于删除图形元素的示例步骤。在所示出的实施例中,当删除图形元素时,针对所删除的图形元素创建“墓碑条目”。如本文提到的,墓碑条目指代与所删除的图形元素相关联的时间图数据。
在步骤500,接收删除现有图形元素的请求。该请求可以例如,来自在客户端应用、数据库控制台等处接收的用户输入。另外或替代地,可以响应于接收到指示网络设备或网络流被添加到网络的网络遥测信息执行图形元素删除。例如,服务器计算机110可以接收网络遥测信息,并确定网络遥测信息指示两个网络设备之间的数据分组流不再存在。服务器计算机110可以删除对应于该数据分组流的图形元素。用于删除图形元素的示例命令可以为:
g.removeVertex(T.id,103)
在实施例中,请求包括将被移除或删除的图形元素的元素标识符。如果具有指定元素标识符的图形元素不存在,则不执行删除。另外,系统可以生成指示没有找到具有指定元素标识符的图形元素的通知或错误消息。
如果找到了具有指定元素标识符的图形元素,则在步骤502,更新该图形元素的后续修改时间值。替代地,如果图形元素不与后续修改时间值相关联,则将图形元素与后续修改时间值相关联。如果请求包括时间值,则使用指定时间值作为后续修改时间值。如果请求不包括时间值,则可以使用当前时间的时间值作为后续修改时间值。
在步骤504,利用相同的图形元素标识符创建新图形元素。在实施例中,新图形元素不包括诸如,边属性或顶点属性的附加图形元素属性值。另外,新图形元素可以不包括后续修改时间值。将新图形元素的状态标识符设置为指示该图形元素被删除。
在步骤506,将修改时间值与新图形元素相关联。如果请求包括时间值,则使用指定时间值作为新图形元素的修改时间值。如果请求不包括时间值,则可以使用当前时间的时间值作为修改时间值。
在步骤508,将后续修改时间值设置为指示不存在图形元素的后续版本的时间值。例如,可以将后续修改时间值设置为无穷大或“最大时间”值。替代地,后续修改时间值不与新图形元素相关联。可以不将图形元素与后续修改时间相关联,以指示不存在图形元素的后续版本。
在步骤510,将状态标识符设置为指示新图形元素是被删除元素。
5.0时间图操作
一旦创建了时间图,就使用图形操作来遍历时间图并检索时间图数据。可以类似于非时间图,在空间上遍历时间图。根据边,可以识别出该条边所连接的顶点。类似地,根据顶点,可以识别出连接到该顶点的边。
另外,可以识别并检索满足特定标准或条件的图形元素。例如,使用元素标识符,可以检索包括元素标识符的图形元素。
也可以使用时间图操作来遍历和/或检索时间图数据。如下面进一步详细说明的,时间图操作包括时间遍历、快照检索和快照遍历、以及历史数据检索。在实施例中,时间图操作检索诸如,时间图元数据的时间图数据。另外或替代地,时间图操作可以返回图形元素数据对象,根据图形元素数据对象可以执行附加的时间图操作。
5.1时间遍历
时间遍历包括遍历时间图中的时间链路或边。使用时间遍历来检索图形元素的一个或多个版本。对于图形元素的时间遍历操作包括例如,检索在先版本、后续版本、第一版本、最后版本、倒回特定时间量、或提前特定时间量。
在实施例中,请求包括图形遍历命令。在其他实施例中,请求可以是其他类型的用户输入,自动生成的请求,或用于接收命令的任何其他形式。
在一些实施例中,检索满足请求的图形元素的时间图数据包括将请求转换为一个或多个数据检索命令或操作。
图6A-图6D示出了用于时间图的时间遍历的示例步骤。在所示出的示例中,诸如,客户端计算设备104的客户端向诸如,服务器计算机110的服务器发送请求。服务器计算机处理请求,检索满足请求的图形元素的时间图数据,并向客户端发送时间图数据。在所示出的实施例中,服务器计算机将请求转换为数据库命令,以从数据库检索满足请求的时间图数据。
图6A示出了用于检索顶点的在先版本的示例步骤。在图6A中,客户端向服务器发送“在先”命令。该命令指定具有顶点标识符“vid.”的源顶点。服务器处理该命令,并检索具有顶点标识符“vid.”并且后续修改时间值与源顶点的修改时间值相同的所有顶点。
图6B示出了用于检索图形元素的第一版本的示例步骤。在图6B中,客户端向服务器发送“第一”命令。该命令指定具有顶点标识符“vid.”的源顶点。服务器处理该命令,检索具有顶点标识符“vid.”的所有顶点,按照修改时间值的升序对这些顶点进行排序,并选择经过排序的列表中的第一顶点。
图6C示出了用于对图形元素进行倒回的示例步骤。在图6C中,客户端向服务器发送“倒回”命令。该命令指定具有顶点标识符“vid,”的源顶点和倒回持续时间值。倒回持续时间值是应该将图形元素倒回的时间单位的数量。服务器处理该命令,并检索具有顶点标识符“vid,”、修改时间值小于或等于源顶点的修改时间值减去倒回持续时间值、并且后续修改时间值大于或等于源顶点的修改时间值减去倒回持续时间值的所有顶点。
图6D示出了用于对图形元素进行提前的示例步骤。在图6D中,客户端向服务器发送“提前”命令。该命令指定具有顶点标识符“vid,”的源顶点和提前持续时间值。提前持续时间值是应该将图形元素提前的时间单位的数量。服务器处理该命令,并检索具有顶点标识符“vid,”、修改时间值小于等于源顶点的修改时间值加上提前持续时间值、并且后续修改时间值大于或等于源顶点的修改时间值加上提前持续时间值的所有顶点。
尽管以上参考顶点描述了示例,但是时间遍历操作可以用于顶点或边。
5.2快照检索和遍历
图形快照描述了时间图在给定时间点的功能或状态。在实施例中,图形快照包括快照顶点。快照顶点具有去往时间图被图形快照捕捉到的所有顶点的出边。可以遍历快照顶点,以检索图形快照捕捉到的边和顶点。在实施例中,快照顶点是虚拟顶点,将快照顶点连接到图形顶点的边是虚拟边。如本文提到的,虚拟图形元素是没有被存储在时间图数据中的图形元素。虚拟图形元素可以被临时存储在存储器中。另外或替代地,虚拟图形元素可以是可以根据其执行其他时间图操作的数据对象。
用于检索给定时间点的快照顶点的示例命令可以为:
g.S(timestamp)
以上命令可以不执行从存储设备的任何检索。在实施例中,当执行该命令时,返回表示指定时间的快照的虚拟顶点对象参考。
如上面讨论的,快照可以包括具有去往快照中的每个顶点的出边的快照顶点。类似地,快照中的所有顶点具有去往作为虚拟顶点的快照顶点的虚拟出边。因此,给定某个顶点,可以检索该顶点的快照顶点。快照顶点可以针对对应于该顶点的修改时间的快照。
本技术的优点在于,其不需要诸如,“保证”或“推动”的用于创建快照的任何特殊命令,并且不需要存储任何附加数据。可以从任意时间点(甚至以毫秒粒度)检索快照,而不需要从存储设备检索数据。另外,可以利用相同的时间复杂度O(1)执行对于任意时间点的快照的检索。因此,本文描述的技术允许时间图快照的高效检索。
在实施例中,一旦检索到快照顶点,即可以获取属于该快照的边和顶点。用于检索给定时间戳的特定快照的所有顶点的示例命令可以为:
g.S(timestamp).outV()
在以上示例中,在给定时间戳检索快照顶点。根据该快照顶点,检索所有出顶点。如上面讨论的,快照顶点具有去往快照中的所有顶点的出边。
另外或替代地,可以检索给定时间的所有顶点,而不需要首先检索快照顶点。可以使用命令来检索时间图中对应于特定时间戳的所有顶点。用于检索给定时间戳处的所有顶点的示例命令可以为:
g.V(timestamp)
类似地,可以从快照顶点检索给定时间的所有边。如上所述地检索来自快照顶点的所有出顶点,然后可以检索来自这些顶点的所有出(或入)边。另外或替代地,可以检索给定时间的所有边,而不需首先检索快照顶点。可以使用命令来检索时间图中对应于特定时间戳的所有边。用于检索给定时间的所有边的示例命令可以为:
g.S(timestamp).outV().outE()
g.E(timestamp)
在一些实施例中,给定特定时间的任意顶点,可以获取对应的快照顶点。用于从图形顶点检索快照顶点的示例命令可以为:
g.S(v.value(‘~timestamp’));
在实施例中,“~timestamp”是检索图形元素所属的快照的时间戳的命令。另外,可以使用类似的命令来检索第一次创建图形元素的时间或图形元素被删除的时间(如果图形元素已经被删除)。在其他实施例中,指定特定时间戳值。
另外或替代地,可以遍历从快照顶点到顶点的边来检索快照顶点。用于从顶点遍历到快照顶点的示例命令可以为:
v.out(‘snapshot’)
在上述命令中,“snapshot”是用于检索顶点的具有指定边标签的一条或多条边(即,检索快照边)的参数值。
在实施例中,一旦检索到了快照顶点,即可以对快照进行倒回或提前,类似于以上针对其他顶点的倒回和提前过程。倒回或提前特定持续时间可以检索对应于倒回或提前的时间的快照顶点。在倒回时,从输入时间戳减去持续时间单元,并且获取针对该时间的快照顶点。类似地,对于提前,持续时间单元被添加到输入时间戳。用于倒回或提前快照并且检索倒回或提前的快照处的所有顶点的示例命令可以为:
g.S(timestamp).rewind(Duration).outV()
g.S(timestamp).forward(Duration).outV()
图7示出了用于时间图的快照检索的示例步骤。在所示出的示例中,诸如,客户端计算设备104的客户端向诸如,服务器计算机110的服务器发送请求。服务器计算机处理请求,检索满足请求的图形元素的时间图数据,并且将时间图数据发送给客户端。在所示出的实施例中,服务器计算机将请求转换为数据库命令,以从数据库检索满足请求的时间图数据。
在图7中,客户端发送倒回快照并检索所有顶点的命令。该命令指定时间戳值和倒回持续时间值。时间戳值是快照应该被检索的时间。倒回持续时间值是快照应该被倒回的时间单元的数量。服务器处理该命令,创建与指定时间戳相关联的快照顶点,并从时间戳值减去倒回持续时间值以生成更新后的时间戳,并且生成与更新后的时间戳相关联的更新后的快照顶点。服务器检索修改时间小于或等于更新后的时间戳(指定时间戳减去倒回持续时间值)且后续修改时间大于或等于更新后的时间戳的所有顶点。
5.3历史数据检索
时间图结构和图形元素属性随着时间改变。历史数据检索包括检索两个时间点之间的图形元素历史。检索图形元素的历史数据包括从某个时间段检索满足特定标准或条件的图形元素。例如,可以检索在特定时段期间创建、修改、删除、和/或存在的图形元素。作为另一示例,可以检索在特定时间范围期间具有特定属性值的图形元素。另外,对于给定顶点,可以检索在指定时段中创建、删除、修改、和/或存在的所有进站和/或出站边。
图8示出了用于图形元素的元素历史检索的示例步骤。在所示出的示例中,诸如,客户端计算设备104的客户端向诸如,服务器计算机110的服务器发送请求。服务器计算机处理该请求,检索满足请求的图形元素的时间图数据,并将时间图数据发送给客户端。在所示出的实施例中,服务器计算机将请求转换为数据库命令,以检索满足请求的时间图数据。
在图8中,请求在特定时间间隔期间创建的顶点。客户端向服务器发送“具有”命令。该命令包括标准“created(被创建)”和“between(t1,t2)(在(t1,t2)之间)”。类似地,可以指定诸如,“被修改”、“被删除”、或“存在”的条件,以检索被修改、删除、或存在的图形元素。
图8附加地示出了用于检索在时间t1和时间t2之间创建的图形元素的替代命令“creationHistory(创建历史)”。类似的命令可以被用来检索被修改、删除、或存在的图形元素。
服务器处理该命令,检索修改时间值大于或等于t1且小于或等于t2、并且状态标识符指示顶点被创建的所有顶点。
6.0使用时间图的网络分析
使用时间图,可以执行可以被建模为图形的任何域模型的时间序列可视化。例如,时间图可以用于:基于图形的遍历、搜索、和分析;授权和访问控制;社交网络信息存储和检索;网络影响分析;基于时间的路由计算;实时推荐引擎;逻辑;欺诈检测;以及财务管理。
更具体地,在计算机网络领域,时间图可以用于诸如,网络保障、网络监控、链路代价分析、以及网络数据流分析的网络分析。网络遥测信息可以被聚集并被转换为时间图数据。基于时间图,可以基于任意时间间隔检索具体使用信息。
作为示例,用户、应用、位置、和网络数据可以被存储在时间图中。时间图可以被用来识别诸如以下各项的网络分析信息:用户在最后15分钟内使用的所有应用;用户在最后一个星期浏览的所有链接;这周特定建筑物中的顶级用户;用户正在使用什么设备或端点;特定用户正在使用的应用;或按降序排序的特定用户使用的顶级应用。
作为另一示例,网络链路上的流量信息可以被聚集并存储在时间图中。时间图可以被用来沿着空间和时间间隔识别流量模式。
如下面参考图10至13描述的,不同的时间图操作被用来检索用于网络分析的时间图数据。在实施例中,命令被如上所述地使用,以请求或检索时间图数据。网络分析信息可以包括所检索的时间图数据。另外或替代地,时间图数据可以被进一步处理、过滤、或格式化,以生成网络分析信息。例如,如果顶点元数据包括对应于网络设备的多个属性,则该多个属性中的一个或多个期望属性可以响应于网络分析信息请求被检索。另外或替代地,生成网络分析信息包括处理并显示图形和/或文本格式的时间图数据。图9示出了显示网络分析信息的示例图形用户界面。
图10示出了表示其中源正在向目的地发送数据的示例计算机网络的图形。其描绘了相同流在不同时间采用不同路径。在时间t2,存在导致路径变化的两个设备之间的链路故障。在时间t13,存在导致源和目的地之间的相同流的另一路径变化的接口故障/移除。在所示出的示例中,可以通过获取图形快照S(t1)、S(t2)、和S(t3)确定在不同时间点源与目的地之间的路径。
图11示出了网络设备在网络接口和CPU使用上消耗的带宽的示例图形跟踪变化。可以使用时间图遍历沿着时间线移动,来得到网络的在先和/或接下来的修改,从而确定随着时间的变化。
例如,可以使用时间图遍历来识别其带宽连续三次超过特定阈值的网络接口。对于每个网络接口,获取特定时间戳处的对应顶点。遍历到达下一个对应顶点的时间边,并将带宽使用属性值与阈值进行比较。在时间上遍历到下条边三次以后达到退出条件。
作为另一示例,可以使用时间图遍历来识别在最后一个小时其CPU使用大于给定阈值的网络设备。对于每个网络设备,获取特定时间戳处的对应顶点。遍历到达对应的在先顶点的时间边,并将CPU使用属性值与阈值进行比较。退出条件是如果在先版本的时间戳比从开始顶点的时间戳开始大一个小时则停止遍历。
图12示出了描绘连接到计算机网络的用户的移动的图表。用户1在时间t1位于场地1,在时间t2位于场地2。类似地,用户2在时间t1位于场地1,在时间t2位于场地2,并且在时间t3位于场地3。可以使用时间图遍历来跟踪每个用户的移动。例如,可以使用在先和接下来的操作来识别用户的在先和后续位置。类似地,可以使用第一和最后操作来识别用户的第一和最后位置。
图13示出了描绘跟踪对应持续时间期间消耗的带宽的周期性流记录(FlowRecord)更新的图表。为了分析计算机网络的历史带宽消耗,可以使用历史数据检索来检索在特定时间间隔期间所有经过修改的FlowRecord参考。所消耗的字节值可以被聚集以指示特定时间间隔的总带宽消耗。
7.0实施方式示例-硬件概述
根据一个实施例,本文描述的技术由至少一个计算设备实现。这些技术可以完全或部分使用至少一个服务器计算机和/或使用诸如,分组数据网的网络耦合的其他计算设备的组合实现。计算设备可以被硬连线来执行这些技术,或者可以包括诸如,被永久编程为执行这些技术的至少一个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的数字电子设备,或者可以包括被编程为根据固件、存储器、其他存储设备、或组合中的程序指令执行这些技术的至少一个通用硬件处理器。这种计算设备还可以包括具有实现所描述的技术的定制程序的定制硬连线逻辑、ASIC、或FPGA。计算设备可以是服务器计算机、工作台、个人计算机、便携式计算机系统、手持设备、移动计算设备、可穿戴设备、身体安装或可植入设备、智能电话、智能电器、网络互连设备、诸如机器人或无人机的自动或半自动设备、结合硬连线和/或程序逻辑以实现所描述的技术的任何其他电子设备、数据中心中的一个或多个虚拟计算机器或实例、和/或服务器计算机和/或个人计算机的网络。
图14是示出可以实现实施例的示例计算机系统的框图。在图14的示例中,按照与本公开所属领域的普通技术人员用于交流计算机架构和计算机系统实施方式的相同的细节等级,计算机系统1400和硬件、软件、或硬件和软件的组合中用于实现所公开的技术的指令被示意性地表示为例如,框和圈。
计算机系统1400包括输入/输出(I/O)子系统1402,该I/O子系统可以包括用于在电子信号路径上在计算机系统1400的组件之间传送信息和/或指令的总线和/或其他通信机构。I/O子系统1402可以包括I/O控制器、存储器控制器、以及至少一个I/O端口。电子信号路径在附图中被示意性地表示为线、单向箭头、或双向箭头。
至少一个硬件处理器1404耦合到I/O子系统1402,用于处理信息和指令。硬件处理器1404可以包括例如,通用微处理器或微控制器和/或专用微处理器(例如,嵌入系统或图形处理单元(GPU)或数字信号处理器或ARM处理器)。处理器1404可以包括集成算术逻辑单元(ALU)或者可以耦合到单独ALU。
计算机系统1400包括诸如,主存储器的存储器1406的一个或多个单元,该存储器耦合到I/O子系统1402用于电子并数字地存储将由处理器1404执行的数据和指令。存储器1406可以包括诸如各种形式的随机存取存储器(RAM)的易失性存储器或其他动态存储设备。存储器1406还可以用于在指令由处理器1404执行期间存储临时变量或其他中间信息。这些指令在被存储在处理器1404可访问的非易失性计算机可读存储介质中时,可以使得计算机系统1400变为被定制为执行这些指令中指定的操作的专用机器。
计算机系统1400进一步包括耦合到I/O子系统1402的诸如,只读存储器(ROM)1408或其他静态存储设备的非易失性存储器,用于存储用于处理器1404的信息和指令。ROM1408可以包括诸如,可擦除PROM(EPROM)或电可擦除PROM(EEPROM)的各种形式的可编程ROM(PROM)。永久存储设备1410的单元可包括诸如,FLASH存储器的各种形式的非易失性RAM(NVRAM),或固态存储设备、诸如CD-ROM或DVD-ROM的磁盘或光盘,并且可以耦合到I/O子系统1402,用于存储信息和指令。存储设备1410是可以用来存储指令和数据的非暂态计算机可读介质的示例,这些指令和数据在被处理器1404执行时使得执行计算机实现的方法来执行本文的技术。
存储器1406、ROM 1408、或存储设备1410中的指令可以包括被组织为模块、方法、对象、函数、例程、调用的一组或多组指令。这些指令可以被组织为一个或多个计算机程序、操作系统服务、或包括移动应用程序在内的应用程序。这些指令可以包括操作系统和/或系统软件;支持多媒体、编程、或其他功能的一个或多个库;实现TCP/IP、HTTP、或其他通信协议的数据协议指令或栈;使用HTML、XML、JPEG、MPEG、或PNG分析或呈现文件的文件格式处理指令;呈现或解析用于图形用户界面(GUI)、命令行界面、或文本用户界面的命令的用户界面指令;诸如,办公套件、互联网访问应用、设计与制造应用、图形应用、音频应用、软件工程应用、教育应用、游戏或其他应用的应用软件。这些指令可以实现网络服务器、网络应用服务器、或网络客户端。这些指令可以被组织为表现层、应用层、和数据存储层(例如,使用结构化查询语言(SQL)或不使用SQL的关系数据库系统、对象存储区、图形数据库、平面文件系统、或其他数据存储设备)。
计算机系统1400可以经由I/O子系统1402耦合到至少一个输出设备1412。在一个实施例中,输出设备1412是数字计算机显示器。可以用在各种实施例中的显示器的示例包括触摸屏显示器、发光二极管(LED)显示器、液晶显示器(LCD)、或电子纸显示器。替代地,或者除了显示设备以外,计算机系统1400可以包括其他类型的输出设备1412。其他输出设备1412的示例包括打印机、票证打印机、绘图仪、投影仪、声卡或视频卡、扬声器、蜂鸣器或压电器件或其他音响设备、灯或LED或LCD指示器、触觉设备、致动器或伺服系统。
至少一个输出设备1414耦合到I/O子系统1402,用于将信号、数据、命令选择、或姿态传送到处理器1404。输入设备1414的示例包括触摸屏、麦克风、静止和视频数字相机、字母数字和其他按键、键区、键盘、图形输入板、图像扫描仪、游戏杆、时钟、开关、按钮、表盘、滑动、和/或各种类型的传感器(例如,力传感器、运动传感器、热传感器、加速度传感器、陀螺仪、和惯性测量单元(IMU)传感器)、和/或各种类型的收发机(例如,蜂窝或Wi-Fi、射频(RF)或红外(IR)的无线收发机和全球定位系统(GPS)收发机)。
另一类型的输入设备是控制设备1416,其可以在显示屏幕上的图形界面上执行光标控制或诸如导航的其他自动控制功能(替代地或者除了输入功能以外)。控制设备1416可以是用于向处理器1404传送方向信息和命令选择并且用于控制显示器1412上的光标移动的触摸板、鼠标、跟踪求、或光标方向键。输入设备可以具有第一轴(例如,x)和第二轴(例如,y)两个轴中的至少两个自由度,这允许设备指定平面中的位置。另一类型的输入设备是有线、无线、或光控制设备,例如,游戏杆、魔杖、控制台、方向盘、踏板、换挡机构、或其他类型的控制设备。输入设备1414可以包括诸如,视频相机和深度传感器的多个不同输入设备的组合。
在另一实施例中,计算机系统1400可以包括物联网(IoT)设备,其中,省去了输出设备1412、输入设备1414、以及控制设备1416中的一者或多者。或者,在这种实施例中,输入设备1414可以包括一个或多个相机、运动检测器、温度计、麦克风、地震监测器、其他传感器或检测器、测量设备或编码器,并且输出设备1412可以包括诸如,单行LED或LCD显示器的专用显示器、一个或多个指示器、显示面板、计量仪、阀门、螺线管、致动器、或伺服系统。
当计算机系统1400是移动计算设备时,输入设备1414可以包括耦合到GPS模块的全球定位系统(GPS)接收机,该GPS模块能够三角剖分到多个GPS卫星、确定并生成诸如计算机系统1400的地理位置的经纬值的地理位置或位置数据。输出设备1412可以包括用于单独或者结合去往主机1424或服务器1430的其他应用专用数据生成位置报告分组、通知、脉搏或心跳信号、或指定计算机系统1400的位置的其他重复数据传输的硬件、软件、固件、和接口。
计算机系统1400可以使用订制的硬连线逻辑、至少一个ASIC或FPGA、固件、和/或在被加载并使用或者结合计算机系统执行时使得或将计算机系统编程为作为专用机器操作的程序指令或逻辑实现本文描述的技术。根据一个实施例,本文的技术可以由计算机系统1400响应于处理器1404执行主存储器1406中包含的至少一个序列的至少一个指令而执行。这些指令可以被从诸如,存储设备1410的另一存储介质读入主存储器1406。主存储器1406中包含的指令序列的执行促使处理器1404执行本文描述的处理步骤。在替代实施例中,硬连线电路可以代替或结合软件指令被使用。
本文使用的术语“存储介质”是指存储促使机器以特定方式操作的数据和/或指令的任意非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括诸如,存储设备1410的光或磁盘。易失性介质包括诸如,存储器1406的动态存储器。常见形式的存储介质包括例如,硬盘、固态驱动、闪盘驱动、磁数据存储介质、任何光或物理数据存储介质、存储器芯片等。
存储介质不同于传输介质,但是可以结合传输介质使用。传输介质参与在存储介质之间传输信息。例如,传输介质包括同轴电缆、铜线、以及光纤(包括包含I/O子系统1402的总线的电线)。传输介质还可以采用例如,在无线电波或红外数据通信期间生成的声波或广播的形式。
各种形式的介质可以被用来将至少一个序列的至少一个指令携带到处理器1404用于执行。例如,指令最初可以被携带在远程计算机的磁盘或固态驱动上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器在诸如光纤、同轴电缆、或电话线的通信链路上发送这些指令。计算机系统1400本地的调制解调器或路由器可以在通信链路上接收数据,并将数据转变为可以由计算机系统1400读取的格式。例如,诸如,射频天线或红外探测器的接收机可以接收无线或光信号中携带的数据,并且适当电路可以将数据提供给I/O子系统1402(例如,将数据放在总线上)。I/O子系统1402将数据携带到存储器1406,处理器1404从存储器1406检索数据并执行指令。存储器1406接收到的指令可以在被处理器1404执行之前或之后,被可选地存储在存储设备1410上。
计算机系统1400还包括耦合到总线1402的通信接口1418。通信接口1418提供到一个或多个网络链路1420的双向数据通信耦合,其中,该一个或多个网络链路直接或间接连接到诸如,网络1422的至少一个通信网络或互联网上的公共或私有云。例如,通信接口1418可以是以太网网络接口、综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器、或提供到对应类型的通信线路(例如,以太网电缆或任意种类的金属线缆或光纤线路或电话线路)的数据通信连接的调制解调器。网络1422宽泛地表示局域网(LAN)、广域网(WAN)、校园网、互联网、或它们的任意组合。通信接口1418可以包括提供到兼容LAN的数据通信连接的LAN卡、或被连线以根据蜂窝无线电话无线网络标准发送或接收蜂窝数据的蜂窝无线电话接口、或被连线以根据卫星无线网络标准发送或接收数字数据的卫星无线电接口。在任意这种实施方式中,通信接口1418在信号路径上发送并接收携带表示各种类型的信息的数字数据流的电、电磁、或光信号。
网络链路1420一般使用例如,卫星、蜂窝、Wi-Fi、或BLUETOOTH技术,提供直接或通过至少一个网络到其他数据设备的电、电磁、或光数据通信。例如,网络链路1420可以通过网络1422提供到主机计算机1424的连接。
另外,网络链路1420可以经由互联网服务提供商(ISP)1426操作的网络互连设备和/或计算机提供通过网络1422到其他计算设备的连接。ISP1426通过表示为互联网1428的全球分组数据通信网提供数据通信服务。服务器计算机1430可以耦合到互联网1428。服务器1430宽泛地表示任何计算机、数据中心、具有或不具有管理程序的虚拟机或虚拟计算实例、或执行诸如DOCKER或KUBERNETES的容器化程序系统的计算机。服务器1430可以表示使用一个以上计算机或实例实现并且通过发送网络服务请求、具有HTTP有效载荷的参数的统一资源定位符(URL)字符串、API调用、应用程序服务调用、或其他服务调用使用和访问的电子数字服务。计算机系统1400和服务器1430可以形成包括其他计算机、处理集群、服务器场或其他协作以执行任务或执行应用或服务的计算机组织的分布式计算系统的元件。服务器1430可以包括被组织为模块、方法、对象、函数、例程、或调用的一组或多组指令。这些指令可以被组织为一个或多个计算机程序、操作系统服务、或包括移动应用程序在内的应用程序。这些指令可以包括操作系统和/或系统软件;支持多媒体、编程、或其他功能的一个或多个库;实现TCP/IP、HTTP、或其他通信协议的数据协议指令或栈;分析或呈现使用HTML、XML、JPEG、MPEG、或PNG编码的文件的文件格式处理指令;呈现或解释图形用户界面(GUI)、命令行界面、或文本用户界面的命令的用户界面指令;诸如,办公套件、互联网访问应用、设计与制造应用、图形应用、音频应用、软件工程应用、教育应用、游戏或其他应用的应用软件。服务器1430可以包括容宿表现层、应用层、以及数据存储层(例如,使用结构化查询语言(SQL)或没有SQL的关系数据库、对象存储区、图形数据库、平面文件系统、或其他数据存储设备)的网络应用服务器。
计算机系统1400可以通过一个或多个网络、网络链路1420、以及通信接口1418发送消息并接收包括程序代码的指令和数据。在互联网示例中,服务器1430可以通过互联网1428、ISP 1426、本地网络1422、以及通信接口1418发送对于应用程序的请求代码。接收代码可以在其被接收到时由处理器1404执行,和/或被存储在存储设备1410或其他非易失性存储设备中供以后执行。
本节中描述的指令的执行可以实现被执行并包括程序代码及其当前活动的计算机程序的实例形式的进程。取决于操作系统(OS),进程可以由同时执行指令的多个执行线程组成。在本上下文中,计算机程序是被动指令集,同时进程可以是这些指令的实际执行。多个进程可以与相同的程序相关联;例如,打开相同程序的多个实例通常意味着一个以上进程正在被执行。可以实现多任务,以允许多个进程共享处理器1404。当每个处理器1404或处理器的内核每次执行单个任务时,计算机系统1400可以被编程为实现多任务以允许每个处理器在正被执行的任务之间切换而不必等待每个任务结束。在实施例中,切换可以在任务执行输入/输出操作时,在任务指示其可以被切换时,或者在硬件中断时执行。可以实现时间共享,以允许通过快速执行上下文切换对交互式用户应用进行快速响应,从而同时提供多个进程的同时执行的出现。在实施例中,为了安全性和可靠性,操作系统可以避免独立进程之间的直接通信,从而提供严格调节和受控的进程间通信功能。
总之,描述了一种用于执行网络分析的方法,该方法的实施例包括:接收计算机网络的遥测信息,该遥测信息包括计算机网络中的网络互连设备的网络设备状态信息以及通过计算机网络的数据分组流的网络流量流信息;将遥测信息变换为被以数字方式存储在计算机存储器中的时间图;从客户端计算设备接收对于计算机网络的网络分析信息请求;响应于接收到网络分析信息请求,基于时间图生成计算机网络的网络分析信息,并且将网络分析信息发送给客户端计算设备。
Claims (23)
1.一种方法,包括:
接收计算机网络的遥测信息,所述遥测信息包括所述计算机网络中的网络互连设备的网络设备状态信息和通过所述计算机网络的数据分组流的网络流量流信息;
将所述遥测信息变换为被以数字方式存储在计算机存储器中的时间图,所述时间图包括多个图形元素的多个版本,所述图形元素包括表示所述网络互连设备的多个顶点以及表示所述数据分组流的多个边,其中,每个图形元素的每个版本对应于该图形元素在特定时间处的状态,并且其中,所述时间图包括从每个图形元素的第一版本到该图形元素的先前版本或后续版本的时间链接;
从客户端计算设备接收对所述计算机网络的网络分析信息的请求;
响应于接收到对网络分析信息的所述请求,基于所述时间图生成所述计算机网络的网络分析信息,其中,生成所述网络分析信息包括遍历所述时间链接以获取所述图形元素的先前版本或后续版本;以及
将所述网络分析信息发送到所述客户端计算设备。
2.根据权利要求1所述的方法,其中,生成所述网络分析信息包括:生成所述时间图的快照,其中,所述快照与特定时间相关联。
3.根据权利要求2所述的方法,其中,生成所述快照包括:
生成所述快照与第一时间相关联的第一版本;
在时间上遍历所述快照的所述第一版本,以生成所述快照与第二时间相关联的第二版本,其中,所述第二时间不同于所述第一时间。
4.根据权利要求1至3中任一项所述的方法,其中,生成所述网络分析信息包括:检索所述时间图中的一个或多个图形元素的历史数据,其中,所述历史数据对应于特定时间段。
5.根据权利要求4所述的方法,其中,所述历史数据包括以下各项中的一项或多项:存在历史、创建历史、修改历史、以及删除历史。
6.根据权利要求5所述的方法,其中,所述请求指定特定图形元素,并且所述历史数据是针对在空间上连接到所述特定图形元素的一个或多个图形元素的。
7.根据权利要求4所述的方法,其中,所述历史数据包括识别特定图形元素的多个版本的数据,其中,所述多个版本中的每个版本与不同时间相关联。
8.根据权利要求1至3中任一项所述的方法,其中,所述请求指定特定条件,并且生成所述网络分析信息包括:
识别满足所述特定条件的第一组一个或多个图形元素;
基于所述第一组一个或多个图形元素生成网络分析信息。
9.根据权利要求8所述的方法,其中,识别所述第一组一个或多个图形元素包括:
识别第二组一个或多个图形元素;
在时间上遍历所述第二组,以识别所述第一组。
10.根据权利要求1至3中任一项所述的方法,其中,所述请求包括图形遍历语言的命令,并且其中,生成所述网络分析信息包括处理所述命令。
11.一种计算机系统,包括:
一个或多个处理器;
存储指令的一个或多个非暂态计算机可读介质,所述指令在被所述一个或多个处理器执行时使得:
接收计算机网络的遥测信息,所述遥测信息包括所述计算机网络中的网络互连设备的网络设备状态信息和通过所述计算机网络的数据分组流的网络流量流信息;
将所述遥测信息变换为被以数字方式存储在计算机存储器中的时间图,所述时间图包括多个图形元素的多个版本,所述图形元素包括表示所述网络互连设备的多个顶点以及表示所述数据分组流的多个边,其中,每个图形元素的每个版本对应于该图形元素在特定时间处的状态,并且其中,所述时间图包括从每个图形元素的第一版本到该图形元素的先前版本或后续版本的时间链接;
从客户端计算设备接收对所述计算机网络的网络分析信息的请求;
响应于接收到对网络分析信息的所述请求,基于所述时间图生成所述计算机网络的网络分析信息,其中,生成所述网络分析信息包括遍历所述时间链接以获取所述图形元素的先前版本或后续版本;以及
将所述网络分析信息发送给所述客户端计算设备。
12.根据权利要求11所述的系统,其中,生成所述网络分析信息包括:生成所述时间图的快照,其中,所述快照与特定时间相关联。
13.根据权利要求12所述的系统,其中,生成所述快照包括:
生成所述快照与第一时间相关联的第一版本;
在时间上遍历所述快照的所述第一版本,以生成所述快照与第二时间相关联的第二版本,其中,所述第二时间不同于所述第一时间。
14.根据权利要求11至13中任一项所述的系统,其中,生成所述网络分析信息包括:检索所述时间图中的一个或多个图形元素的历史数据,其中,所述历史数据对应于特定时间段。
15.根据权利要求14所述的系统,其中,所述历史数据包括以下各项中的一项或多项:存在历史、创建历史、修改历史、以及删除历史。
16.根据权利要求15所述的系统,其中,所述请求指定特定图形元素,并且所述历史数据是针对在空间上连接到所述特定图形元素的一个或多个图形元素的。
17.根据权利要求14所述的系统,其中,所述历史数据包括识别特定图形元素的多个版本的数据,其中,所述多个版本中的每个版本与不同时间相关联。
18.根据权利要求11至13中任一项所述的系统,其中,所述请求指定特定条件,并且生成所述网络分析信息包括:
识别满足所述特定条件的第一组一个或多个图形元素;
基于所述第一组一个或多个图形元素生成网络分析信息。
19.根据权利要求18所述的系统,其中,识别所述第一组一个或多个图形元素包括:
识别第二组一个或多个图形元素;
在时间上遍历所述第二组,以识别所述第一组。
20.根据权利要求11至13中任一项所述的系统,其中,所述请求包括图形遍历语言的命令,并且其中,生成所述网络分析信息包括处理所述命令。
21.一种设备,包括:
用于接收计算机网络的遥测信息的装置,所述遥测信息包括所述计算机网络中的网络互连设备的网络设备状态信息和通过所述计算机网络的数据分组流的网络流量流信息;
用于将所述遥测信息变换为被以数字方式存储在计算机存储器中的时间图的装置,所述时间图包括多个图形元素的多个版本,所述图形元素包括表示所述网络互连设备的多个顶点以及表示所述数据分组流的多个边,其中,每个图形元素的每个版本对应于该图形元素在特定时间处的状态,并且其中,所述时间图包括从每个图形元素的第一版本到该图形元素的先前版本或后续版本的时间链接;
用于从客户端计算设备接收对所述计算机网络的网络分析信息的请求的装置;
用于响应于接收到所述请求而基于所述时间图生成所述计算机网络的网络分析信息的装置,其中,生成所述网络分析信息包括遍历所述时间链接以获取所述图形元素的先前版本或后续版本;以及
用于将所述网络分析信息发送到所述客户端计算设备的装置。
22.根据权利要求21所述的设备,还包括:用于实现根据权利要求2至10中任一项所述的方法的装置。
23.一种计算机可读介质,包括指令,所述指令在被计算机执行时使得所述计算机执行权利要求1至10中任一项所述的方法的步骤。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201741021532 | 2017-06-20 | ||
IN201741021533 | 2017-06-20 | ||
IN201741021533 | 2017-06-20 | ||
IN201741021532 | 2017-06-20 | ||
US15/828,306 | 2017-11-30 | ||
US15/828,306 US10546022B2 (en) | 2017-06-20 | 2017-11-30 | Temporal graph system to facilitate network data flow analytics |
PCT/US2018/038109 WO2018236764A1 (en) | 2017-06-20 | 2018-06-18 | TEMPORAL GRAPH SYSTEM FOR FACILITATING NETWORK DATA FLOW ANALYSIS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111095871A CN111095871A (zh) | 2020-05-01 |
CN111095871B true CN111095871B (zh) | 2023-06-20 |
Family
ID=64657169
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880041228.1A Active CN110771098B (zh) | 2017-06-20 | 2018-06-18 | 用于时间图存储和检索的结构化架构 |
CN201880041036.0A Active CN111095871B (zh) | 2017-06-20 | 2018-06-18 | 有助于网络数据流分析的时间图系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880041228.1A Active CN110771098B (zh) | 2017-06-20 | 2018-06-18 | 用于时间图存储和检索的结构化架构 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10546022B2 (zh) |
EP (2) | EP3643017B1 (zh) |
CN (2) | CN110771098B (zh) |
WO (2) | WO2018236764A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180137667A1 (en) * | 2016-11-14 | 2018-05-17 | Oracle International Corporation | Graph Visualization Tools With Summary Visualization For Very Large Labeled Graphs |
US10656987B1 (en) * | 2017-04-26 | 2020-05-19 | EMC IP Holding Company LLC | Analysis system and method |
US10585575B2 (en) | 2017-05-31 | 2020-03-10 | Oracle International Corporation | Visualizing UI tool for graph construction and exploration with alternative action timelines |
US10546022B2 (en) | 2017-06-20 | 2020-01-28 | Cisco Technology, Inc. | Temporal graph system to facilitate network data flow analytics |
EP3514705A1 (en) * | 2018-01-23 | 2019-07-24 | Becker, Stefan | Method for retrieving data stored in a database |
US11120082B2 (en) | 2018-04-18 | 2021-09-14 | Oracle International Corporation | Efficient, in-memory, relational representation for heterogeneous graphs |
US10728104B2 (en) * | 2018-11-15 | 2020-07-28 | Adobe Inc. | Time-dependent network embedding |
US11068458B2 (en) * | 2018-11-27 | 2021-07-20 | Advanced Micro Devices, Inc. | Mechanism for distributed-system-aware difference encoding/decoding in graph analytics |
US10955831B2 (en) * | 2018-12-26 | 2021-03-23 | Nozomi Networks Sagl | Method and apparatus for detecting the anomalies of an infrastructure |
US11368410B2 (en) * | 2019-03-15 | 2022-06-21 | Mojatatu Networks | System and method for scaling analytics collection |
US11483408B2 (en) | 2019-07-10 | 2022-10-25 | Adobe Inc. | Feature-based network embedding |
US11675777B2 (en) * | 2019-08-28 | 2023-06-13 | Sparta Systems, Inc. | Method, apparatus, and computer readable medium for generating an audit trail of an electronic data record |
US11526898B2 (en) | 2019-09-05 | 2022-12-13 | Microsoft Technology Licensing, Llc | Dynamic visualization of product usage tree based on raw telemetry data |
JP7388073B2 (ja) * | 2019-09-12 | 2023-11-29 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
US11704363B2 (en) * | 2019-12-17 | 2023-07-18 | Paypal, Inc. | System and method for generating highly scalable temporal graph database |
US11281695B2 (en) * | 2020-01-24 | 2022-03-22 | Cisco Technology, Inc. | Partitioning a temporal graph for distributed storage |
US11449551B2 (en) | 2020-08-27 | 2022-09-20 | Cisco Technology, Inc. | Handling out-of-order data during stream processing and persisting it in a temporal graph database |
US20220207043A1 (en) * | 2020-12-28 | 2022-06-30 | Vmware, Inc. | Entity data services for virtualized computing and data systems |
CN113157048B (zh) * | 2021-04-23 | 2022-08-26 | 杭州安恒信息技术股份有限公司 | 一种基于多终端时间轴的行为数据分析方法及相关组件 |
US11968075B2 (en) | 2022-01-14 | 2024-04-23 | Juniper Networks, Inc. | Application session-specific network topology generation for troubleshooting the application session |
US11991046B2 (en) * | 2022-01-17 | 2024-05-21 | Juniper Networks, Inc. | Determining an organizational level network topology |
US11729075B1 (en) * | 2022-03-31 | 2023-08-15 | Juniper Networks, Inc. | Time series data collection for a network management system |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7499994B2 (en) | 2004-03-30 | 2009-03-03 | Emc Corporation | System and method of providing performance information for a communications network |
EP1783569B1 (en) * | 2005-10-21 | 2018-08-29 | Omron Corporation | Data collection system |
US8111618B2 (en) * | 2006-01-27 | 2012-02-07 | Alcatel Lucent | End-to-end service quality using source-routed probes |
US9003292B2 (en) * | 2006-07-06 | 2015-04-07 | LiveAction, Inc. | System and method for network topology and flow visualization |
EP2104036B1 (en) * | 2008-03-18 | 2016-06-01 | Canon Kabushiki Kaisha | Method and device for building of a network coding scheme for data transmission, corresponding computer program product and storage means |
EP2107715B1 (en) * | 2008-03-31 | 2019-12-25 | Synopsys, Inc. | Method, device arrangement and computer program product for creating identity graphs analyzing communication network |
US8204904B2 (en) * | 2009-09-30 | 2012-06-19 | Yahoo! Inc. | Network graph evolution rule generation |
US8676818B2 (en) * | 2010-05-03 | 2014-03-18 | International Business Machines Corporation | Dynamic storage and retrieval of process graphs representative of business processes and extraction of formal process models therefrom |
WO2012067964A1 (en) * | 2010-11-16 | 2012-05-24 | Actifio, Inc. | Systems and methods for data management virtualization |
US8788769B2 (en) * | 2010-11-16 | 2014-07-22 | Actifio, Inc. | System and method for performing backup or restore operations utilizing difference information and timeline state information |
US8364182B1 (en) * | 2011-07-18 | 2013-01-29 | Google Inc. | Sending messages from a computing device |
WO2013192198A2 (en) * | 2012-06-18 | 2013-12-27 | Actifio, Inc. | Enhanced data management virtualization system |
US9071637B2 (en) * | 2012-11-14 | 2015-06-30 | Click Security, Inc. | Automated security analytics platform |
US9083757B2 (en) * | 2012-11-21 | 2015-07-14 | Telefonaktiebolaget L M Ericsson LLP | Multi-objective server placement determination |
CN104956624A (zh) * | 2012-12-05 | 2015-09-30 | 瑞典爱立信有限公司 | 网络管理模型扩展 |
US20130232433A1 (en) | 2013-02-01 | 2013-09-05 | Concurix Corporation | Controlling Application Tracing using Dynamic Visualization |
US10366101B2 (en) | 2014-04-15 | 2019-07-30 | Splunk Inc. | Bidirectional linking of ephemeral event streams to creators of the ephemeral event streams |
US10127273B2 (en) * | 2014-04-15 | 2018-11-13 | Splunk Inc. | Distributed processing of network data using remote capture agents |
US9705815B2 (en) * | 2014-06-27 | 2017-07-11 | Juniper Networks, Inc. | Graph database for services planning and configuration in network services domain |
US10019536B2 (en) * | 2014-07-15 | 2018-07-10 | Oracle International Corporation | Snapshot-consistent, in-memory graph instances in a multi-user database |
US10120956B2 (en) * | 2014-08-29 | 2018-11-06 | GraphSQL, Inc. | Methods and systems for distributed computation of graph data |
US10511498B1 (en) * | 2015-02-25 | 2019-12-17 | Infoblox Inc. | Monitoring and analysis of interactions between network endpoints |
US9893948B2 (en) * | 2015-03-26 | 2018-02-13 | Utopus Insights, Inc. | Network management using hierarchical and multi-scenario graphs |
US20160299958A1 (en) * | 2015-04-13 | 2016-10-13 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for visual logging in networking systems |
US10084642B2 (en) * | 2015-06-02 | 2018-09-25 | ALTR Solutions, Inc. | Automated sensing of network conditions for dynamically provisioning efficient VPN tunnels |
US10142353B2 (en) * | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US9959607B2 (en) * | 2015-07-07 | 2018-05-01 | Adp, Llc | Automatic verification of graphic rendition of JSON data |
US9620839B2 (en) * | 2015-07-20 | 2017-04-11 | Uchicago Argonne, Llc | Magnetic nanofiber composite materials and devices using same |
US9699064B2 (en) * | 2015-07-20 | 2017-07-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and an apparatus for network state re-construction in software defined networking |
EP3332507A4 (en) * | 2015-08-03 | 2019-03-13 | Ingalls Information Security IP, L.L.C. | NETWORK SECURITY MONITORING AND CORRELATION SYSTEM AND METHOD OF USE THEREOF |
EP3190528A3 (en) * | 2016-01-05 | 2017-07-26 | Schneider Electric USA, Inc. | System and methods for creating and managing geospatial network model in a client environment |
US10142198B2 (en) * | 2016-03-07 | 2018-11-27 | Autodesk, Inc. | Node-centric analysis of dynamic networks |
US10127115B2 (en) * | 2016-03-18 | 2018-11-13 | Microsoft Technology Licensing, Llc | Generation and management of social graph |
US20170279660A1 (en) * | 2016-03-28 | 2017-09-28 | Ca, Inc. | Context graph augmentation |
US10263835B2 (en) * | 2016-08-12 | 2019-04-16 | Microsoft Technology Licensing, Llc | Localizing network faults through differential analysis of TCP telemetry |
US11567994B2 (en) * | 2017-01-24 | 2023-01-31 | Apstra, Inc. | Configuration, telemetry, and analytics of a computer infrastructure using a graph model |
US10594576B2 (en) * | 2017-01-31 | 2020-03-17 | Splunk Inc. | Visualizing network activity involving networked computing devices distributed across network address spaces |
US10810210B2 (en) * | 2017-05-12 | 2020-10-20 | Battelle Memorial Institute | Performance and usability enhancements for continuous subgraph matching queries on graph-structured data |
US10546022B2 (en) | 2017-06-20 | 2020-01-28 | Cisco Technology, Inc. | Temporal graph system to facilitate network data flow analytics |
US10666494B2 (en) * | 2017-11-10 | 2020-05-26 | Nyansa, Inc. | System and method for network incident remediation recommendations |
-
2017
- 2017-11-30 US US15/828,306 patent/US10546022B2/en active Active
- 2017-11-30 US US15/828,316 patent/US10846339B2/en active Active
-
2018
- 2018-06-18 EP EP18750539.1A patent/EP3643017B1/en active Active
- 2018-06-18 WO PCT/US2018/038109 patent/WO2018236764A1/en unknown
- 2018-06-18 WO PCT/US2018/038116 patent/WO2018236768A1/en unknown
- 2018-06-18 EP EP18740694.7A patent/EP3643015A1/en active Pending
- 2018-06-18 CN CN201880041228.1A patent/CN110771098B/zh active Active
- 2018-06-18 CN CN201880041036.0A patent/CN111095871B/zh active Active
Non-Patent Citations (1)
Title |
---|
N.G.Petersen."Node prefetch predicition in dataflow graphs".《IEEE》.2004,全文. * |
Also Published As
Publication number | Publication date |
---|---|
US20180367414A1 (en) | 2018-12-20 |
WO2018236764A1 (en) | 2018-12-27 |
US10846339B2 (en) | 2020-11-24 |
EP3643015A1 (en) | 2020-04-29 |
EP3643017B1 (en) | 2023-10-11 |
CN110771098B (zh) | 2022-12-23 |
US10546022B2 (en) | 2020-01-28 |
CN110771098A (zh) | 2020-02-07 |
US20180365336A1 (en) | 2018-12-20 |
CN111095871A (zh) | 2020-05-01 |
WO2018236768A1 (en) | 2018-12-27 |
EP3643017A1 (en) | 2020-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111095871B (zh) | 有助于网络数据流分析的时间图系统 | |
US11263241B2 (en) | Systems and methods for predicting actionable tasks using contextual models | |
US10719508B2 (en) | Data storage system for providing low latency search query responses | |
JP2019535056A (ja) | マイクロバッチストリーミングのための複合イベント処理 | |
US20220092119A1 (en) | Integrated views of multiple different computer program applications with action options | |
US11836157B2 (en) | Partitioning a temporal graph for distributed storage | |
US11487720B2 (en) | Unified data model and interface for databases storing disparate types of data | |
US10761965B2 (en) | Detecting method calls based on stack trace data | |
US11526464B2 (en) | Scaling HDFS for hive | |
US11580073B2 (en) | Multidirectional synchronization of cloud application data | |
US20240104694A1 (en) | Fluid and resolution-friendly view of large volumes of time series data | |
US20200076717A1 (en) | Monitoring packet loss in communications using stochastic streaming | |
US12001889B2 (en) | Forecasting and reporting available access times of physical resources | |
US11704174B1 (en) | Prediction and automatic performance of computer-related activities | |
US20220283870A1 (en) | Forecasting and reporting available access times of physical resources |
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 |