首页> 中国专利> 利用机器学习在项目周期不同阶段防止内容知识产权问题

利用机器学习在项目周期不同阶段防止内容知识产权问题

摘要

本公开的实施例涉及利用机器学习在项目周期不同阶段防止内容知识产权问题。一种设备,该设备可以接收内容数据和元数据,该内容数据标识由用户创建的内容,该元数据与内容相关联。该设备可以接收规则数据,该规则数据标识与内容的利用相关联的规则。该设备可以利用元数据来近实时地生成针对内容的数字DNA签名。该设备可以在存储库中存储规则数据、内容、数字DNA签名、和数字DNA签名之间的关系。该设备可以从客户端设备接收新内容和新元数据,新内容基于内容数据的特定内容而被生成,新元数据与新内容相关联。该设备可以利用新元数据来生成针对新内容的新数字DNA签名。该设备可以处理新数字DNA签名、规则数据、和数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则。

著录项

说明书

本专利申请要求于2020年1月24日提交的标题为“UTILIZING POLICYENFORCEMENT AND MODELS TO PREVENT INTELLECTUAL PROPERTY ISSUES FOR CONTENTDURING DIFFERENT STAGES OF A PROJECT LIFECYCLE FOR THE CONTENT”的美国临时专利申请号62/965,449的优先权。该在先申请的公开被视为本专利申请的一部分并且通过引用并入本专利申请。

技术领域

本公开的实施例涉及机器学习,并且更具体地涉及利用机器学习在项目生命周期的不同阶段期间防止针对内容的知识产权问题。

背景技术

知识产权是一类产权,其包括人类智力的无形创造。知识产权的常见类型包括著作权、专利权、商标以及商业秘密。知识产权权利允许知识产权的创造者或所有者从为获取知识产权所花费的工作以及投入获益。

发明内容

在一些实现中,一种方法包括:由设备接收内容数据和元数据,该内容数据标识由用户创建的内容,该元数据与内容相关联;由设备接收规则数据,该规则数据标识与内容的利用相关联的规则;由设备利用元数据来近实时地生成针对内容的数字DNA签名;由设备在存储库中存储规则数据、内容数据的内容中的所有内容、数字DNA签名、和数字DNA签名之间的关系;由设备从客户端设备接收基于内容数据的特定内容而被生成的新内容和与新内容相关联的新元数据;由设备利用新元数据来生成针对新内容的新数字DNA签名;由设备用机器学习模型来处理新数字DNA签名、规则数据、和数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则;以及由设备基于新内容是否违反规则数据的一个或多个规则来执行一个或多个动作。

在一些实现中,一种设备包括一个或多个存储器;以及被通信地耦合到一个或多个存储器的一个或多个处理器,该一个或多个处理器被配置为:接收内容数据和元数据,该内容数据标识由用户创建的内容,该元数据与内容相关联;接收规则数据,该规则数据标识与内容的利用相关联的规则;利用元数据来近实时地生成针对内容的数字DNA签名;利用元数据和内容数据来生成针对内容的数字标识符;将数字标识符与对应的数字DNA签名相关联;在存储库中存储规则数据、内容数据的内容中的所有内容、数字DNA签名、和数字标识符;从客户端设备接收基于内容数据的特定内容而被生成的新内容和与新内容相关联的新元数据;利用新元数据来生成针对新内容的新数字DNA签名;用机器学习模型来处理新数字DNA签名、规则数据、数字DNA签名、和数字标识符,以确定新内容是否违反规则数据的一个或多个规则;以及基于新内容是否违反规则数据的一个或多个规则来执行一个或多个动作。

在一些实现中,存储指令的非瞬态计算机可读介质包括一个或多个指令,该一个或多个指令在由一个或多个处理器执行时使一个或多个处理器:在存储库中存储:标识内容的内容数据和与内容相关联的元数据,标识与内容的利用相关联的规则的规则数据,以及基于元数据而近实时地被生成的针对内容的数字DNA签名;从客户端设备接收基于内容数据的特定内容而被生成的新内容和与新内容相关联的新元数据;利用新元数据来生成针对新内容的新数字DNA签名;用机器学习模型来处理新数字DNA签名、规则数据、和数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则;以及基于新内容是否违反规则数据的一个或多个规则来执行一个或多个动作。

附图说明

图1A-图1G是本文中所描述的一个或多个示例实现的示意图。

图2A-图2C是本文中所描述的一个或多个示例实现的示意图。

图3A和图3B是本文中所描述的一个或多个示例实现的示意图。

图4是图示以下示例的示意图:该示例结合在项目生命周期的不同阶段期间防止针对内容的知识产权问题,训练和使用机器学习模型。

图5是示例环境的示意图,在该示例环境中可以实现本文中所描述的系统和/或方法。

图6是图5的一个或多个设备的示例组件的示意图。

图7是示例过程的流程图,该示例过程与利用机器学习在项目生命周期的不同阶段期间防止针对内容的知识产权问题相关。

具体实施方式

以下示例实现的详细描述参考附图。不同图中的相同附图标记可以标识相同或相似的元素。

知识产权问题可以包括知识产权盗窃、知识产权泄露、知识产权污染、端点知识产权侵权等。知识产权盗窃可以包括实体故意地通过以下方式尝试偷窃知识产权:通过将受限制的知识产权嵌入文件中并且然后下载和/或消耗该文件,通过重命名该文件,通过隐藏文件并且然后下载文件,等等。

知识产权泄露可以包括实体故意或无意地消耗和/或分配(distributing)知识产权。例如,实体可以相信知识产权包括组件A和组件B(例如,基于材料的账单),但是可以故意或无意地分配组件A、B、X和Y,其中该实体未被授权利用与组件X和组件Y相关联的知识产权。

知识产权污染可以包括实体故意或无意地将不想要的知识产权引入产品中,使得该产品对攻击、病毒等易感且易受攻击。端点知识产权侵权可以包括实体故意或无意地引入未被注册为初始解决方案的一部分的知识产权组件(例如,原始的可执行文件被冒名顶替的文件所替换,附加的可执行文件被包括在执行在端点设备上的解决方案中,等等)。

知识产权问题,不管是故意的还是无意的,可以发生在开发生命周期的各个阶段。此外,由于数字内容能够相对容易地被复制、被存储、被传输等,数字内容(例如,软件、源代码、半导体设计中的寄存器传送语言(RTL)文件、计算机辅助设计(CAD)文件、作为产品设计和/或解决方案的一部分而产生的其他文件)尤其易受知识产权问题的发生的影响。这样的盗窃可以导致因为知识产权侵权而被起诉、为侵权支付版税等。当前的工具可以支持在内容的开发生命周期的各个阶段确定知识产权问题,但是易于错过由于模糊内容的使用造成的潜在知识产权问题。由于这样的模糊,当前的工具也易于错过针对与软件代码不相关的内容(诸如硬件开发、CAD文件和绘图等)的知识产权问题。因此,当前的工具是无效的并且浪费与管理内容、监管通过内容的知识产权侵权、处置与侵权内容相关联的法律问题等相关联的资源(例如,处理资源、存储器资源、通信资源)、联网资源、人力资源等。

本文中所描述的一些实现提供监控系统,该监控系统利用策略实施和机器学习模型,以在内容的项目生命周期的不同阶段期间、以及当内容被打包并被捆绑到其他解决方案中、被部署到端点设备和/或产品等时,防止针对内容的知识产权问题。例如,监控系统可以接收标识由用户创建的内容的内容数据以及与内容相关联的元数据。监控系统可以获取规则数据,该规则数据标识与内容的利用相关联的规则。监控系统可以基于元数据来生成针对内容的数字DNA签名。

当基于内容而被生成的新内容由监控系统接收时,监控系统可以基于与新内容相关联的元数据来生成针对新内容的新数字DNA签名。监控系统可以利用机器学习模型来处理新数字DNA签名、规则数据以及数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则。

以这种方式,监控系统防止所创建的内容在内容的项目生命周期期间经历知识产权问题。因此,监控系统可以节省计算资源(例如,处理资源、存储器资源、通信资源)、联网资源、人力资源等,否则这些资源将会以其他方式被浪费在管理内容、监管与内容相关联的知识产权问题、处置与知识产权问题相关联的法律问题等中。

图1A-图1G是本文中所描述的一个或多个示例实现100的示意图。如图1A-图1G所示,客户端设备与监控系统和服务器设备相关联。客户端设备可以包括与用户相关联的移动设备、计算机等,该用户利用客户端设备来创建内容。

服务器可以包括一个或多个计算设备,该一个或多个计算设备提供外部工具,该外部工具用于监控由监控系统接收的内容。服务器设备可以存储规则数据,该规则数据标识与内容的利用相关联的规则。监控系统可以包括一个或多个设备,该一个或多个设备以本文中所描述的方式,利用策略实施和机器学习模型来在针对内容的项目生命周期的不同阶段期间防止针对内容的知识产权问题。

如图1A所示,客户端设备可以包括集成开发环境(IDE)、IDE插件、和代理。IDE可以包括使客户端设备能够捕获与内容(例如,软件)开发相关联的事件的组件、CAD绘图工具、电路布局设计工具等。

IDE插件可以包括IDE的软件组件,该软件组件监控内容开发活动以及由用户对内容的编辑。IDE插件可以基于IDE的集成能力来捕获不同的事件,可以收集必要的元数据和上下文内容,可以向代理提供事件,等等。

代理可以包括针对客户端设备而被开发和部署的软件。代理可以从IDE插件接收事件,并且可以在客户端设备被连接到监控系统时管理事件向监控系统的传输。代理可以在客户端设备未被连接到监控系统时存档事件(例如,在本地高速缓存中),并且可以在客户端设备和监控系统之间的连接性被建立之后,向监控系统提供标识事件的信息。

在一些实现中,IDE、IDE插件、和/或代理的功能性可以被集成并且被封装在与产品开发过程和环境、检查和平衡脚本和/或过程、工作流等相关联的第三方监控工具内。

如图1A进一步所示,并且通过附图标记105,监控系统从客户端设备接收内容数据和元数据,该内容数据标识由用户创建的内容,该元数据与内容相关联。例如,监控和系统可以从客户端设备的代理接收内容数据和元数据,该内容数据标识由用户创建的内容,该元数据与内容相关联。

在一些实现中,相对于由用户创建的内容,监控系统系统实时地或者近实时地接收内容数据和元数据。客户端设备的用户可以利用客户端设备来创建内容。当内容由用户创建时,客户端设备可以向监控系统提供内容数据和元数据。备选地和/或附加地,监控系统系统可以周期性地(例如,每小时、每日、每周等)、基于事件的发生(例如,应用执行保存功能以将内容保存到与客户端设备相关联的存储器,应用执行复制功能以复制内容,应用执行粘贴功能以将所复制的内容插入到文档或文件中,等等)、基于向客户端提供请求等接收内容数据和元数据。

在一些实现中,内容数据包括标识与由客户端设备的用户对内容的创建相关联的事件的信息。在一些实现中,事件可以包括用户利用客户端设备以创建新内容、修改内容、将先前所创建的内容与新内容包括在一起等。在一些实现中,内容数据包括由用户创建的内容,诸如用户经由与客户端设备相关联的用户界面录入的代码行、由用户设计的对象(例如,电路布局设计、CAD绘图等)等。

元数据可以包括指示与内容相关联的参数的数据、指示与内容相关联的属性的数据、指示与内容相关联的特性的数据、指示被用于创建内容的应用和/或工具的数据、指示与内容相关联的用户的数据等。如图1A所示,元数据可以包括标识与内容相关联的文件名的信息、标识与内容相关联的路径的信息、标识与内容相关联的目录的信息、标识内容的类型的信息(例如,文本文档、图像、可执行文件等)、标识内容的大小的信息、标识与内容相关联的用户名(例如,与创建了内容的用户相关联的用户名、与修改了内容的用户相关联的用户名、与向监控系统提供了内容的用户相关联的用户名等)的信息、标识标识符(例如,与客户端设备相关联的标识符、与用户相关联的标识符等)的信息、指示内容被创建和/或修改的数据和/或时间的信息、标识操作系统(例如,被用于创建和/或修改内容的操作系统)的信息、标识被用于创建和/或修改内容的工具名和/或应用名的信息、标识与内容相关联的版本的信息、标识与内容相关联的数字权利管理(DRM)权利的信息、标识与内容相关联的分类的信息(例如,与内容相关联的业务单元、与内容相关联的类别(例如,保健、娱乐、数据安全性等)等)、标识与内容相关联的校验和的信息等。上文所列出的元数据的类型旨在仅作为可以被使用的元数据的类型的示例。在实践中,与内容相关联的元数据可以包括上文所列出的类型的元数据中的任何一个或多个类型的元数据、和/或上文未列出的一个或多个其他类型的元数据。

如通过附图标记110所示,监控系统接收标识与内容的利用相关联的规则和/或策略的规则数据。规则可以包括许可规则和/或策略(例如,指示与许可内容相关联的需求、限制等的规则和/或策略)、内容限制规则和/或策略(例如,指示内容是否可以包含由另一用户创建的内容、被标识为敏感内容的内容等的规则和/或策略)、实体规则和/或策略(例如,由与用户和/或内容相关联的实体建立的规则和/或策略)、内容重用规则和/或策略(例如,指示内容是否可以被包括在其他内容中的规则和/或策略)等。

如图1B所示,并且通过附图标记115,监控系统利用元数据来生成针对内容的数字DNA签名,并且将规则数据、内容数据、数字DNA签名以及数字DNA签名之间的关系存储在存储库中。针对特定内容而被生成的数字DNA签名可以包括唯一地标识特定内容的信息、使监控系统能够确定特定内容(和/或特定内容的一部分)是否被包括在其他内容中的信息等。

在一些实现中,数字DNA签名基于元数据的一个或多个部分和/或内容数据一个或多个部分而被生成。例如,特定内容可以包括多个代码行,并且监控系统可以基于计算元数据的一个或多个部分和/或被包括在内容数据中的多个代码行中的一个或多个行的哈希来生成数字DNA签名。

在一些实现中,数字DNA签名被实时地(或近实时地)生成。客户端设备可以基于用户利用客户端设备来创建内容,向监控系统系统提供包括由用户生成的内容的内容数据和元数据。监控系统可以基于从客户端设备接收内容数据和元数据,来生成数字DNA签名。

在一些实现中,监控系统生成针对特定内容的多个数字DNA签名。监控系统可以标识与特定内容的第一部分(例如,特定内容的由第一用户创建的部分)相关联的内容数据的第一部分和/或元数据的第一部分。监控系统可以标识与特定内容的第二部分(例如,特定内容的由第二用户创建的部分)相关联的内容数据的第二部分和/或元数据的第二部分。监控系统可以基于数据内容的第一部分和/或元数据的第一部分,来生成与特定内容的第一部分相关联的第一数字DNA签名。监控系统可以基于数据内容的第二部分和/或元数据的第二部分,来生成与特定内容的第二部分相关联的第二数字DNA签名。

监控系统可以基于生成数字DNA签名来确定数字DNA签名之间的关系。关系可以指示与数字DNA签名相关联的内容之间的关系。例如,关系可以指示:由第一用户创建的内容包括由第二用户创建的内容、内容包括由多个用户创建的内容,第一内容和第二内容由相同的用户创建,等等。

作为示例,第一用户可以创建针对应用的代码的第一部分,并且第二用户可以创建针对应用的代码的第二部分。监控系统可以生成与代码的第一部分相关联的第一数字DNA签名、与代码的第二部分相关联的第二数字DNA签名、与针对应用的所有代码(例如,代码的第一部分和代码的第二部分)相关联的第三数字DNA签名。

监控系统可以基于第一数字DNA签名和第二数字DNA签名被包括在针对应用的代码中来确定第一数字DNA签名和第二数字DNA签名之间的关系。监控系统可以基于代码的第一部分被包括在针对应用的代码中来确定第一数字DNA签名和第三数字DNA签名之间的关系。监控系统可以基于代码的第二部分被包括在针对应用的代码中来确定第二数字DNA签名和第三数字DNA签名之间的关系。

在一些实现中,监控系统确定数字DNA签名不与任何其他数字DNA签名相关。作为示例,监控系统可以确定数字DNA签名与由单个用户创建的内容相关联、数字DNA签名与未与其他内容相关联的内容等相关联等等。监控系统可以基于数字DNA签名与由单个用户创建的内容相关联、基于数字DNA签名与未与其他内容相关联的内容相关联等等,来确定数字DNA签名不与任何其他数字DNA签名相关。

监控系统可以基于生成数字DNA签名在存储库中存储规则数据、内容数据、元数据、数字DNA签名、以及标识数字DNA签名之间的关系的信息。存储库可以包括被存储在与监控系统相关联的一个或多个设备上的数据结构(例如,数据库、表、列表等)。

在一些实现中,存储库包括谱系(lineage)存储库。谱系存储库可以包括存储内容谱系信息、内容起源信息、内容引用信息等的数据结构。例如,谱系存储库可以存储标识数字DNA签名之间的关系的信息、标识内容的版本的信息、标识与创建内容相关联的用户的信息、标识内容被创建的日期和/或时间的信息、标识与修改内容相关联的用户的信息、标识内容被修改的数据和/或时间的信息、标识包括该内容的其他内容的信息等。

在一些实现中,存储库包括元数据存储库。元数据存储库可以包括存储元数据的数据结构;标识与内容相关联的特性、与内容相关联的存储器位置的信息;标识在其上存储内容的设备的信息;从外部源(例如,服务器设备)获取的代码的片段(例如,不被准许被包括在内容中的代码的行)等。

如图1C所示,并且通过附图标记120,监控系统利用元数据和内容数据来生成针对内容的数字标识符,并且将数字标识符与存储库中对应的数字DNA签名相关联。数字标识符可以包括基于与内容数据和/或元数据相关联的内容而被生成的信息。例如,针对特定内容的内容数据可以包括特定内容的一个或多个部分。监控系统可以从内容数据提取该特定内容的一个或多个部分,并且可以基于该特定内容的一个或多个部分生成与特定内容相关联的数字标识符。

在一些实现中,监控系统通过对特定内容的一个或多个部分应用算法(例如,哈希算法、加密算法等)来生成数字标识符。在一些实现中,当特定内容的一个或多个部分和其他内容相同时,算法使基于特定内容的一个或多个部分而被生成的数字标识符和基于其他内容而被生成的数字标识符相同。类似地,当特定内容的一个或多个部分与其他内容类似时,算法可以使基于特定内容的一个或多个部分而被生成的数字标识符与基于其他内容而被生成的数字标识符类似。

如图1D所示,并且通过附图标记125,监控系统向客户端设备提供来自被存储在存储库中的内容数据的特定内容。监控系统可以基于从客户端设备接收请求而向客户端设备提供特定内容。例如,用户(例如,软件开发者)可以利用客户端设备基于存储在与监控系统相关联的存储器(例如,监控系统的存储器、存储库、服务器设备等)中的模板(例如,特定内容)来创建新的文件。用户可以通过在新的名称下保存模板、通过将模板的部分复制到另一文件中等等来创建新的文件。客户端设备可以向监控系统提供针对模板的请求。监控系统可以基于请求向客户端设备提供模板。

如图1D所示,用户利用特定内容,并且然后保存内容,特定内容在该内容中被作为新内容而使用。例如,用户可以利用从监控系统接收的模板来创建新的文件。客户端设备(例如,IDE插件)可以捕获针对新文件的新元数据,并且可以生成记录,该记录指示特定内容被利用来基于用户保存特定内容在其中被作为新内容使用的内容创建新的文件。客户端设备可以在新的元数据中包括该记录,并且可以向监控系统提供新内容以及包括该记录的新的元数据。如通过附图标记130所示,监控系统从客户端设备接收新内容以及与新内容相关联的新元数据。

如图1E所示,并且通过附图标记135,监控系统利用新内容以及新元数据来生成针对新内容的新数字DNA签名以及新数字标识符。在一些实现中,监控系统以与上文关于图1B和图1C所描述的方式类似的方式来生成针对新内容的新数字DNA签名和/或新数字标识符。

在一些实现中,新的数字DNA签名包括与特定内容相关联的数字DNA签名。监控系统可以基于被包括在新元数据中的记录而确定特定内容在新内容中被利用。监控系统可以包括基于特定内容在新内容中被利用,将与特定内容相关联的数字DNA签名包括在新数字DNA签名中。

备选地,和/或附加地,新数字DNA签名可以包括标识新内容和特定内容之间的关系的信息。监控系统可以基于特定内容在新内容中被利用而确定新内容与特定内容相关。监控系统可以在新数字DNA签名中包括标识关系的信息。

如图1F所示,并且通过附图标记140,监控系统利用机器学习模型处理新数字DNA签名、新数字标识符、规则数据、数字DNA签名以及数字标识符,以确定新内容是否违反规则数据中的一个或多个规则。在一些实现中,监控系统训练机器学习模型以确定内容是否违反规则数据中的一个或多个规则。可以基于历史数据(例如,违反规则的历史内容、不违反规则的历史内容、历史规则等)来训练机器学习模型。机器学习模型可以被训练为:基于关于历史内容的信息来确定指示历史内容是否违反规则的信息和置信度得分,该置信度得分反映指示历史内容是否违反规则的信息针对历史内容准确的置信度测量。在一些实现中,可以以与下文关于图4所描述的方式类似的方式来训练机器学习模型。

在一些实现中,监控系统可以从另一设备接收已训练的机器学习模型,而不是训练机器学习模型。例如,该另一设备可以基于已经以与下文关于图4所描述的方式类似的方式训练机器学习模型,来生成机器学习模型,并且可以向监控系统提供已训练的机器学习模型(例如,可以用已训练的机器学习模型来预加载监控系统,可以从监控系统接收针对已训练的机器学习模型的请求,等等)。

监控系统可以向机器学习模型提供新数字DNA签名、规则数据以及数字DNA签名作为输入。机器学习模型可以处理新数字DNA签名、规则数据以及数字DNA签名,以确定新内容是否违反规则数据中的一个或多个规则。在一些实现中,机器学习模型可以以与下文关于图4所描述的方式类似的方式来处理新数字DNA签名、规则数据以及数字DNA签名。

在一些实现中,监控系统基于新数字DNA签名,来确定新数字DNA签名与附加的数字DNA签名相关联。监控系统可以分析新数字DNA签名,并且可以确定新数字DNA签名包括与特定内容相关联的数字DNA签名和/或标识特定内容和新内容之间的关系的信息。监控系统可以基于新数字DNA签名包括与特定内容相关联的数字DNA签名和/或基于新数字DNA签名包括标识特定内容和新内容之间的关系的信息,而确定新数字DNA签名和与特定内容相关联的数字DNA签名相关联。

在一些实现中,监控系统基于比较新数字标识符和数字标识符来确定新数字DNA签名与附加的数字DNA签名相关联。新数字标识符可以包括基于新内容而被生成的数据(例如,被包括在新内容中的代码的行的哈希)。监控系统可以确定被包括在新数字标识符中的数据与被包括在如下数字标识符中的数据类似:该数字标识符是被存储在存储库中的数字标识符的数字标识符。监控系统可以基于与数字标识符相关联并且被存储在存储库中的信息,来标识与数字标识符相关联的数字DNA签名。作为示例,存储库可以存储数据结构,该数据结构包括信息,该信息将数字标识符标识为与数字DNA签名相关联。监控系统可以基于数字标识符与数字DNA签名相关联,而确定新数字DNA签名与数字DNA签名相关联。

监控系统可以基于规则数据来确定与新数字DNA签名相关联的规则组。该规则组可以包括与新数字DNA签名相关联的一个或多个规则、以及与附加的数字DNA签名(例如,与特定内容相关联的数字DNA签名和/或数字DNA签名中的一个或多个数字DNA签名)相关联的一个或多个规则。监控系统可以基于新数字DNA签名和附加的数字DNA签名来确定新内容是否违反规则组的一个或多个规则。

作为示例,规则组可以包括以下规则:该规则指示在新内容中被利用的特定内容是受限制的内容,该受限制的内容不被准许在特定类型的内容中被利用。监控系统可以基于新数字DNA签名而确定新内容包括特定类型的内容。监控系统可以基于新内容包括特定类型的内容而确定新内容违反规则。

如图1G所示,并且通过附图标记145,监控系统基于新内容是否违反一个或多个规则来执行一个或多个动作。在一些实现中,一个或多个动作包括当新内容违反一个或多个规则时使新内容被修改。监控系统可以向客户端设备提供标识对一个或多个规则(例如,对受限制的软件模块的利用)的违反的信息,以及指令用户修改新内容以改正违反的信息(例如,指令用户移除或者替换受限制的软件模块的信息)。用户可以利用客户端设备来修改新内容,以根据来自监控系统的指令改正违反。

在一些实现中,当新内容违反一个或多个规则时,监控系统可以自动地修改新内容。例如,监控系统可以标识违反一个或多个规则的新内容的部分(例如,受限制的软件模块)。基于新内容的部分违反一个或多个规则,监控系统可以从新内容自动地移除新内容的该部分和/或用其他内容替换新内容的该部分。

在一些实现中,一个或多个动作包括当新内容未能违反一个或多个规则时,允许新内容被利用。例如,基于新内容未能违反一个或多个规则,监控系统可以允许新内容移动到内容开发生命周期的下个阶段以被分发给客户端等。

在一些实现中,一个或多个动作包括向客户端设备提供警告,该警告指示新内容违反一个或多个规则。基于由机器学习模型生成的输出,监控系统可以确定新内容违反一个或多个规则,由机器学习模型生成的输出指示新内容违反一个或多个规则。基于由机器学习模型生成的指示新内容违反一个或多个规则的输出,监控系统可以向客户端设备提供指示新内容违反一个或多个规则的警告。

在一些实现中,警告可以包括违反信息。违反信息可以包括标识一个或多个规则的信息、标识一个或多个改正的动作的信息、标识由监控系统基于新内容违反一个或多个规则而采取的一个或多个动作的信息等。

在一些实现中,一个或多个动作包括向与客户端设备相关联的实体提供通知,该通知指示新内容违反一个或多个规则。例如,监控系统可以向与客户端设备相关联的用户、向与客户端设备相关联的用户的监督者等提供违反信息。

在一些实现中,一个或多个动作包括当新内容违反一个或多个规则时限制新内容的利用。例如,监控系统可以实现安全性特征,当新内容违反一个或多个规则时,该安全性特征限制新内容的利用。安全性特征可以包括使新内容受密码保护、修改与新内容相关联的准许、在受限制的列表上包括标识新内容的信息,等等。以这种方式,监控系统可以防止与新内容的利用相关联的知识产权问题的发生。

在一些实现中,一个或多个动作包括当新内容未能违反一个或多个规则时存储新内容。例如,监控系统可以将新内容存储在与被确定不违反一个或多个规则的内容相关联的数据结构中、在与被准许被分发(例如,给客户)或被准许被包括在其他内容中的内容相关联的数据结构中等等。

在一些实现中,一个或多个动作包括基于新内容是否违反一个或多个规则来重新训练机器学习模型。例如,监控系统可以将新数字DNA签名以及指示新数字DNA签名是否违反一个或多个规则的信息包括在被用于训练机器学习模型的训练数据中。以这种方式,监控系统可以增加被用于训练机器学习模型的数据的量。通过增加被用于训练机器学习模型的数据的量,监控系统可以提高与确定内容是否违反一个或多个规则的机器学习模型相关联的准确性。

在一些实现中,一个或多个动作包括将数字DNA签名应用到材料清单(BOM)。BOM可以是工程BOM、制造BOM、装配BOM、销售BOM、如所配置的(as configured)BOM、如所维护的(as maintained)BOM等。BOM可以包括标识被包括在BOM中的组件的信息。监控系统可以确定针对组件的数字DNA签名。将数字DNA签名应用到BOM可以使监控系统能够快速且高效地确定在BOM上被列出的组件是否违反一个或多个规则。以这种方式,监控系统可以防止与分配违反一个或多个规则的组件相关的知识产权问题的发生。

如上文所示,图1A-图1G作为示例而被提供。其他示例可以与关于图1A-图1G所描述的不同。在图1A-图1G中所示出的设备的数目和布置被提供为示例。在实践中,与图1A-图1G中所示出的那些设备相比,可以存在附加的设备、更少的设备、不同的设备、或者被不同地布置的设备。此外,在图1A-图1G中所示出的两个或更多个设备可以被实现在单个设备内,或者在图1A-图1G中所示出的单个设备可以被实现为多个分布式的设备。附加地或备选地,在图1A-图1G中所示出的一组设备(例如,一个或多个设备)可以执行被描述为由图1A-图1G中所示出另一组设备执行的一个或多个功能。

图2A-图2C是本文中所描述的一个或多个示例实现200的示意图。如图2A-图2C所示,客户端设备与监控系统相关联。客户端设备可以包括与利用客户端设备来创建内容的用户相关联的移动设备、计算机等。在一些实现中,客户端设备可以与上文关于图1A所描述的客户端设备类似。监控系统可以包括一个或多个设备,该一个或多个设备利用策略实施和机器学习模型以本文中所描述的方式在针对内容的项目生命周期的不同阶段期间防止针对内容的知识产权问题。在一些实现中,监控系统可以与上文关于图1A所描述的监控系统类似。

如图2A所示,客户端设备可以包括IDE、IDE插件和代理。该IDE、IDE插件和代理可以与上文关于图1A所描述的IDE、IDE插件和代理类似。在一些实现中,IDE、IDE插件、和/或代理的功能性可以被集成并且被封装在与产品开发过程和环境、检查和平衡脚本和/或过程、工作流等相关联的第三方监控工具内。

如图2A进一步所示,并且通过附图标记205,监控系统从客户端设备接收针对由用户基于非受限制的项目而创建的新文件的元数据、数字戳和记录。用户(例如,开发者)可以利用客户端设备来基于非受限制的项目创建新文件。客户端设备(例如,IDE插件)可以捕获针对新文件的元数据,并且可以存储元数据、针对元数据的数字戳、以及指示新文件基于非受限制的项目而被创建的记录。

元数据可以包括指示与内容相关联的参数的数据、指示与内容相关联的属性的数据、指示与内容相关联的特性的数据、指示被用于创建内容的应用和/或工具的数据、指示与内容相关联的用户的数据等。在一些实现中,元数据可以与上文关于图1A所描述的元数据类似。

数字戳或者数字签名可以包括针对元数据的唯一标识符(例如,针对元数据的安全哈希值)。在一些实现中,元数据的一个或多个变量可以被利用来生成数字戳,并且该数字戳可以被利用于系谱学以及跟踪目的。数字戳也可以被利用以标识新文件在何处被创建(例如,客户端设备的物理位置)、新文件在何时被创建、与新文件相关联的分类、与新文件相关联的配置管理标签等。

记录可以包括指示新文件基于非受限制的项目而被创建的信息。例如,记录可以包括标识非受限制的项目的信息、标识被包括在新文件中的非受限制的项目的部分的信息、标识非受限制的项目的部分在新文件内的位置的信息等。

在一些实现中,监控系统基于接收针对新文件的元数据、数字戳和记录而生成针对新文件的数字DNA签名。在一些实现中,监控系统以与上文关于图1B所描述的类似的方式来生成数字DNA签名。

在一些实现中,监控系统基于接收针对新文件的元数据、数字戳和记录而生成针对新文件的数字标识符。在一些实现中,监控系统以与上文关于图1C所描述的类似的方式来生成数字标识符。

如通过附图标记210所示,监控系统从客户端设备接收针对由用户从受限制的项目复制的代码的更新的元数据。作为示例,用户可以利用客户端设备来修改新文件以创建被修改的文件。用户可以通过将一部分代码从受限制的项目复制到新文件中来修改新文件。客户端设备(例如,IDE插件)可以记录该部分代码,并且可以记录与该部分代码相关联的更新的元数据。基于记录该部分代码和/或基于记录更新的元数据,客户端设备可以向监控系统提供所复制的部分代码和/或更新的元数据。

在一些实现中,基于从客户端设备接收更新的元数据,监控系统生成针对已修改的文件的新数字DNA签名。在一些实现中,基于从客户端设备接收从受限制的项目复制的部分代码,监控系统生成针对已修改的文件的新数字标识符。在一些实现中,监控系统与上文关于图1E所描述的类似的方式来生成新数字DNA签名。

如图2B所示,并且通过附图标记215,监控系统利用机器学习模型来处理元数据、数字戳、记录、更新的元数据以及规则数据,以确定更新的元数据违反一个或多个规则。在一些实现中,基于新数字DNA签名、与新文件相关联的数字DNA签名、新数字标识符、和/或与新文件相关联的数字标识符,机器学习模型以与上文关于图1F所描述的类似的方式来确定更新的元数据违反一个或多个规则。

如图2C所示,并且通过附图标记220,监控系统使客户端设备从新文件(例如,从已修改的文件)移除从受限制的项目复制的代码。监控系统可以基于确定更新的元数据违反一个或多个规则而使客户端设备从已修改的文件移除代码。例如,监控系统可以向客户端设备提供命令。客户端设备可以接收命令,并且可以基于命令将从受限制的项目复制的代码从已修改的文件移除。以这种方式,监控系统可以自动地防止与在新文件中所包括的来自受限制的项目的代码相关联的知识产权问题的发生。

如上文所指示,图2A-图2C作为示例而被提供。其他示例可以与关于图2A-图2C所描述的不同。在图2A-图2C中所示出的设备的数目和布置被提供为示例。在实践中,与图2A-图2C中所示出的那些设备相比,可以存在附加的设备、更少的设备、不同的设备、或者被不同地布置的设备。此外,在图2A-图2C中所示出的两个或更多个设备可以被实现在单个设备内,或者在图2A-图2C中所示出的单个设备可以被实现为多个分布式的设备。附加地或备选地,在图2A-图2C中所示出的一组设备(例如,一个或多个设备)可以执行被描述为由图2A-图2C中所示出的另一组设备执行的一个或多个功能。

图3A和图3B是本文中所描述的一个或多个示例实现300的示意图。如图3A-图3B所示,监控系统可以包括用户界面。监控系统可以基于处理被存储在存储库中的数字DNA签名和/或数字标识符来生成报告。监控系统可以提供所生成的报告用于经由用户界面的显示,该用户界面可以经由客户端设备被向用户显示。

如图3A所示,报告可以包括与项目相关联的信息、与单独文件相关联的信息、与关于检测和/或防止知识产权问题的发生的财务节约相关联的信息、以及与项目和/或文件相关联的许可信息。与项目相关联的信息可以包括指示由监控系统分析的项目的总量的信息、标识被确定未违反任何规则的项目的量的信息、标识被确定违反一个或多个规则的项目的量的信息等。在一些实现中,可以基于与项目相关联的分类(例如,互联网安全性、营销等)、与项目相关联的业务分组等来排序和/或分组与项目相关联的信息。

与单独文件相关联的信息可以包括指示由监控系统分析的文件的总量的信息、标识被确定未违反任何规则的文件的量的信息、标识被确定违反一个或多个规则的文件的量的信息等。在一些实现中,可以基于与单独文件相关联的项目来排序和/或分组与单独文件相关联的信息。以这种方式,用户可以容易且高效地标识以下项目:该项目具有满足阈值量(例如,10%、20%等)的、违反一个或多个规则的文件的量。通过标识具有满足阈值量的、违反一个或多个规则的文件的量的项目,用户可以能够使一个或多个动作被采取,诸如标识与项目相关联的用户组、限制用户组访问受限制的项目等。

如图3B所示,报告可以包括有关用户访问模式和风险因素的信息,该用户访问模式和风险因素与关联于项目和/或文件的知识产权问题相关联。监控系统可以基于由客户端设备(例如,IDE代理)记录的元数据来确定由未授权用户做出的访问项目和/或文件的尝试的量、由授权用户做出的访问项目和/或文件的尝试的量等。

如图3B进一步所示,报告可以包括标识与项目相关联的风险的信息。基于与项目相关联的文件违反一个或多个规则的次数的量、由未授权用户做出的访问项目的尝试的量等,监控系统可以确定与项目相关联的风险。

在一些实现中,报告可以包括以下信息:该信息标识已经被包括在另一文件中的文件的百分比、和/或文件的部分,和/或,文件或者文件的部分已经被包括在另一文件中的次数的量。在一些实现中,监控系统可以基于比较数字DNA签名和/或数字标识符与另一数字DNA签名和/或另一数字标识符来确定百分比和/或次数的量。监控系统可以确定数字DNA签名与另一数字DNA签名之间的相似性、和/或数字标识符与另一数字标识符之间的相似性。当相似性满足阈值相似性时,监控系统可以确定:文件或者文件的部分被包括在与另一数字DNA签名和/或另一数字标识符相关联的文件中。

如上文所指示,图3A-图3B作为示例而被提供。其他示例可以与关于图3A-图3B所描述的不同。在图3A-图3B中所示出的设备的数目和布置被提供为示例。在实践中,与图3A-图3B中所示出的那些设备相比,可以存在附加的设备、更少的设备、不同的设备、或者被不同地布置的设备。此外,在图3A-图3B中所示出的两个或更多个设备可以被实现在单个设备内,或者在图3A-图3B中所示出的单个设备可以被实现为多个分布式的设备。附加地或备选地,在图3A-图3B中所示出的一组设备(例如,一个或多个设备)可以执行被描述为由图3A-图3B中所示出的另一组设备执行的一个或多个功能。

图4是图示示例400的示意图,示例400结合在项目生命周期的不同阶段期间防止针对内容的知识产权问题,训练和使用机器学习模型。可以使用机器学习系统来执行本文中所描述的机器学习模型的训练和使用。机器学习系统可以包括以下各项、或者被包括在以下各项中:计算设备、服务器、云计算环境等,诸如本文中在别处更详细地描述的监控系统。

如通过参考数字405所示,可以使用一组观测来训练机器学习模型。可以从历史数据(诸如在本文中所描述的一个或多个过程期间被收集的数据)获取该一组观测。在一些实现中,如在本文别处所描述的,机器学习系统可以从监控系统接收该组观测(例如,作为输入)。

如通过附图标记410所示,该一组观测包括特征集。特征集可以包括一组变量,并且变量可以被称为特征。特定的观测可以包括与该组变量对应的一组变量值(或特征值)。在一些实现中,机器学习系统可以基于从监控系统接收的输入来确定针对一组观测的变量和/或针对特定观测的变量值。例如,机器学习系统可以通过从结构化数据提取特征集、通过执行自然语言处理以从非结构化数据提取特征集、通过从操作者接收输入等等,来标识特征集(例如,一个或多个特征和/或特征值)。

作为示例,针对一组观测的特征集可以包括内容数据的第一特征、规则数据的第二特征、数字DNA签名的第三特征等。如所示出的,针对第一观测,第一特征可以具有CAD文件的值,第二特征可以具有许可规则的值,第三特征可以具有指纹1的值,等等。这些特征和特征值被提供为示例,并且可以在其他示例中不同。

如通过附图标记415所示出的,该一组观测可以与目标变量相关联。目标变量可以表示具有数值的变量,可以表示具有落入值区间内、或者具有一些离散的可能值的数值的变量,可以表示从多个选项中的一个选项可选择的变量(例如,多个类、分类、标签等中的一项),可以表示具有布尔值的变量,等等。目标变量可以与目标变量值相关联,并且目标变量值可以特定于观测。在示例400中,目标变量是违反规则,其具有针对第一观测的无违反的值。

目标变量可以表示机器学习模型被训练以预测的值,并且特征集可以表示以下变量:该变量被输入到已训练的机器学习模型以预测目标变量的值。该一组观测可以包括目标变量值,使得机器学习模型可以被训练以识别特征集中导致目标变量值的模式。被训练来预测目标变量值的机器学习模型可以被称为监督学习模型。

在一些实现中,机器学习模型可以在不包括目标变量的一组观测上被训练。这可以被称为无监督学习模型。在这种情况下,机器学习模型可以从该一组观测学习模式而无需标记或者监督,并且可以提供输出,该输出诸如通过使用聚类和/或关联以在该一组观测内标识相关的项的组来指示这样的模式。

如附图标记420所示,机器学习系统可以使用该一组观测以及使用一个或多个机器学习算法(诸如回归算法、决策树算法、神经网络算法、k最近邻算法、支持向量机算法等)来训练机器学习模型。在训练之后,机器学习系统可以将机器学习模型存储为已训练的机器学习模型425,已训练的机器学习模型425将被用于分析新观测。

如附图标记430所示,机器学习系统可以对新观测应用已训练的机器学习模型425,诸如通过接收新观测并且向已训练的机器学习模型425输入新观测。如所示出的,作为示例,新观测可以包括硬件开发文件的第一特征、内容限制的第二特征、指纹Z的第三特征等等。机器学习系统可以对新观测应用已训练的机器学习模型425以生成输出(例如,结果)。输出的类型可以取决于机器学习模型的类型和/或被执行的机器学习任务的类型。例如,输出可以包括目标变量的预测值,诸如当监督学习被采用时。附加地或备选地,输出可以包括:标识新观测所属的集群的信息、指示新观测和一个或多个其他观测之间的相似性程度的信息等,诸如当非监督学习被采用时。

作为示例,如通过附图标记435所示,已训练的机器学习模型425可以针对新观测,预测针对违反规则的目标变量的无违反的值。基于该预测,机器学习系统可以提供第一推荐,可以提供针对第一推荐的确定的输出,可以执行第一自动动作,可以使第一自动动作被执行(例如,通过指令另一设备执行自动动作),等等。第一推荐可以包括,例如,允许文件被存储在被包括在内容管理环境中的设备上的推荐、准许文件被编译的推荐、调度用于执行的作业的推荐等。第一自动动作可以包括,例如,自动地在被包括在内容管理环境中的设备上存储文件、自动地编译文件、自动地调度用于执行的作业等。

作为另一示例,如果机器学习系统预测针对违反的目标变量的违反的值,则机器学习系统可以提供第二(例如,不同的)推荐(例如,不允许文件被存储在被包括在内容管理环境中的设备上的推荐、不准许文件被编译的推荐、不调度用于执行的作业的推荐等),和/或可以执行第二(例如,不同的)自动动作(例如,自动地防止文件在被包括在内容管理环境中的设备上被存储、自动地防止文件被编译、自动地防止用于执行的作业被调度,等等)或者引起第二(例如,不同的)自动动作的执行。

在一些实现中,已训练的机器学习模型425可以将新观测分类(例如,聚类)在集群中,如通过附图标记440所示。集群内的观测可以具有相似性的阈值程度。作为示例,如果机器学习系统将新观测分类在第一集群(例如,无违反集群)中,则机器学习系统可以提供第一推荐(诸如上文所描述的第一推荐)。附加地或备选地,基于将新观测分类在第一集群中,机器学习系统可以执行第一自动动作(诸如上文所描述的第一自动动作)或者使第一自动动作被执行(例如,通过指令另一设备执行自动动作)。

作为另一示例,如果机器学习系统将新观测分类在第二集群(例如,违反集群)中,则机器学习系统可以提供第二(例如,不同的)推荐(例如,上文所描述的第二推荐),和/或可以执行第二(例如,不同的)自动动作(诸如上文所描述的第二自动动作)或者使第二自动动作被执行。

作为另一示例,如果机器学习系统将新观测分类在第三集群(例如,可能的违反集群)中,则机器学习系统可以提供第三(例如,不同的)推荐(例如,要求进一步分析以确定文件是否违反规则的推荐,获取与确定文件是否违反规则相关联的附加的数据的推荐,等等),和/或可以执行第三(例如,不同的)自动动作(诸如自动地调度用于附加的分析的文件,自动地执行附加的分析以确定文件是否违反规则,等等)或者使第三自动动作被执行。

在一些实现中,与新观测相关联的推荐和/或自动动作可以基于目标变量值具有特定标签(例如,分类、类别等),可以基于目标变量值是否满足一个或多个阈值(例如,目标变量值是否大于阈值、小于阈值、等于阈值、落入阈值的值范围内等),可以基于新观测被分类在其中的集群,等等。

以这种方式,机器学习系统可以应用严格的以及自动的过程,以在项目生命周期的不同阶段期间防止针对内容的知识产权问题。机器学习系统支持对数十、数百、数千或数百万个特征和/或针对数十、数百、数千或数百万个观测的特征值的识别和标识,由此,相对于要求计算资源被分配给数十、数百或数千操作者以在项目生命周期的不同阶段期间使用特征和特征值来手动地标识针对内容的知识产权问题,提高与在项目生命周期的不同阶段期间防止针对内容的知识产权问题相关联的准确性和一致性,并且降低其延迟。

如上文所指示,图4作为示例而被提供。其他示例可以与结合图4所描述的不同。

图5是示例环境500的示意图,在示例环境500中可以实现本文中所描述的系统和方法。如图5所示,环境500可以包括监控系统501,监控系统501可以包括云计算系统502的一个或多个元件和/或可以在云计算系统502内执行。如下文更详细地所描述的,云计算系统502可以包括一个或多个元件503-513。如图5进一步所示,环境500可以包括网络520、客户端设备530和/或服务器设备540。环境500的设备和/或元件可以经由有线连接和/或无线连接而互连。

云计算系统502包括计算硬件503、资源管理组件504、主机操作系统(OS)505和/或一个或多个虚拟计算系统506。资源管理组件504可以执行计算硬件503的虚拟化(例如,抽象化)以创建一个或多个虚拟计算系统506。使用虚拟化,资源管理组件504使单个计算设备(例如,计算机、服务器等)能够像多个计算设备一样操作,诸如通过从单个计算设备的计算硬件503创建多个隔离的虚拟计算系统。以这种方式,计算硬件503可以更高效地操作,具有比使用分离的计算设备更低的功率消耗、更高的可靠性、更高的可用性、更高的利用率、更多的灵活性以及更低的成本。

计算硬件503包括来自一个或多个计算设备硬件的硬件和对应的资源。例如,计算硬件503可以包括来自单个计算设备(例如,单个服务器)或者来自多个计算设备(例如,多个服务器)(诸如一个或多个数据中心中的多个计算设备)的硬件。如所示出的,计算硬件503可以包括一个或多个处理器507、一个或多个存储器508、一个或多个存储组件509、和/或一个或多个联网组件510。本文中在别处描述了处理器、存储器、存储组件以及联网组件(例如,通信组件)的示例。

资源管理组件504包括虚拟化应用(例如,在诸如计算硬件503的硬件上执行),该虚拟化应用能够虚拟化计算硬件503,以开始、停止、和/或管理一个或多个虚拟计算系统506。例如,资源管理组件504可以包括管理程序(例如,裸机(bare-metal)或类型1管理程序,被托管的(hosted)或类型2管理程序等)或者虚拟机监控器,诸如当虚拟计算系统506是虚拟机511时。附加地或备选地,资源管理组件504可以包括容器管理器、诸如当虚拟计算系统506是容器512时。在一些实现中,资源管理组件504在主机操作系统505内执行和/或与主机操作系统505协调。

虚拟计算系统506包括虚拟环境,该虚拟环境支持本文中使用计算硬件503所描述的操作和/或过程的基于云的执行。如所示出的,虚拟计算系统506可以包括虚拟机511、容器512、包括虚拟机和容器的混合环境513等。虚拟计算系统506可以使用文件系统来执行一个或多个应用,该文件系统包括二进制文件、软件库、和/或在访客操作系统(例如,在虚拟计算系统506内)或者主机操作系统505上执行应用所需的其他资源。

尽管监控系统501可以包括云计算系统502的一个或多个元件503-513,可以在云计算系统502内执行,和/或被托管在云计算系统502内,但是在一些实现中,监控系统501可以不是基于云的(例如,可以在云计算系统之外被实现)或者可以是部分地基于云的。例如,监控系统501可以包括不是云计算系统502的一部分的一个或多个设备,诸如图6的设备600,其可以包括独立的服务器或者另一类型的计算设备。监控系统501可以执行在本文别处更详细地描述的一个或多个操作和/或过程。

网络520包括一个或多个有线和/或无线网络。例如,网络520可以包括蜂窝网络、公用陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、私有网络、互联网等,和/或这些或其他类型的网络的组合。网络520支持环境500的设备间的通信。

客户端设备530包括一个或多个设备,该一个或多个设备能够接收、生成、存储、处理和/或提供与在项目生命周期的不同阶段期间防止针对内容的知识产权问题相关联的信息,如本文中在别处所描述的。客户端设备530可以包括通信设备和/或计算设备。例如,客户端设备530可以包括无线设备、用户设备(UE)、移动电话(例如,智能电话或蜂窝电话等)、膝上型计算机、平板计算机、手持式计算机、台式计算机、游戏设备、可穿戴通信设备(例如,智能腕表或一副智能眼镜等)、物联网(IoT)设备、或者类似类型的设备。客户端设备530可以与环境500的一个或多个其他设备通信,如本文中在别处所描述的。

服务器设备540包括一个或多个设备,该一个或多个设备能够接收、生成、存储、处理、提供和/或路由与在项目生命周期的不同阶段期间防止针对内容的知识产权问题相关联的信息,如本文中在别处所描述的。服务器设备540可以包括通信设备和/或计算设备。例如,服务器设备540可以包括服务器、应用服务器、客户端服务器、web服务器、数据库服务器、主机服务器、代理服务器、虚拟服务器(例如,在计算硬件上执行)、云计算系统中的服务器、包括在云计算环境中被使用的计算硬件的设备、或者类似类型的设备。服务器设备540可以与环境500的一个或多个其他设备通信,如本文中在别处所描述的。

在图5中所示出的设备和网络的数目和布置被提供为示例。在实践中,与图5中所示出的那些设备和/或网络相比,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者被不同地布置的设备和/或网络。此外,在图5中所示出的两个或更多个设备可以被实现在单个设备内,或者在图5中所示出的单个设备可以被实现为多个分布式的设备。附加地或备选地,环境500的一组设备(例如,一个或多个设备)可以执行被描述为由环境500的另一组设备执行的一个或多个功能。

图6是设备600的示例组件的示意图,设备600可以对应于监控系统501、客户端设备530、和/或服务器设备540。在一些实现中,监控系统501、客户端设备530、和/或服务器设备540可以包括一个或多个设备600和/或设备600的一个或多个组件。如图6所示,设备600可以包括总线610、处理器620、存储器630、存储组件640、输入组件650、输出组件660以及通信组件670。

总线610包括支持设备600的组件间的有线和/或无线通信的组件。处理器620包括中央处理单元、图形处理单元、微处理器、控制器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和/或另一种类型的处理组件。处理器620用硬件、固件、或者硬件和软件的组合而被实现。在一些实现中,处理器620包括一个或多个能够被编程以执行功能的处理器。存储器630包括随机存取存储器、只读存储器、和/或另一类型的存储器(例如,闪速存储器、磁性存储器、和/或光学存储器)。

存储组件640存储与设备600的操作相关的信息和/或软件。例如,存储组件640可以包括硬盘驱动器、磁盘驱动器、光盘驱动器、固态磁盘驱动器、压缩盘、数字多功能盘和/或另一类型的非瞬态计算机可读介质。输入组件650使设备600能够接收输入,诸如用户输入和/或感测的输入。例如,输入组件650可以包括触摸屏、键盘、小键盘、鼠标、按钮、麦克风、开关、传感器、全球定位系统组件、加速计、陀螺仪、致动器等。输出组件660使设备600能够提供输出,诸如经由显示器、扬声器和/或一个或多个发光二极管。通信组件670使设备600能够与其他设备通信,诸如经由有线连接和/或无线连接。例如,通信组件670可以包括接收器、传输器、收发器、调制解调器、网络接口卡、天线等。

设备600可以执行本文中所描述的一个或多个过程。例如,非瞬态计算机可读介质(例如,存储器630和/或存储组件640)可以存储一组指令(例如,一个或多个指令、代码、软件代码、程序代码等)以供处理器620执行。处理器620可以执行该一组指令以执行本文中所描述的一个或多个过程。在一些实现中,由一个或多个处理器620对该一组指令的执行,使一个或多个处理器620和/或设备600执行本文中所描述的一个或多个过程。在一些实现中,可以代替指令或者与指令结合使用硬连线电路装置来执行本文中所描述的一个或多个过程。因此,本文中所描述的实现不限于硬件电路装置和软件的任何特定组合。

在图6中所示出的设备和网络的数目和布置被提供为示例。与图6中所示出的那些组件相比,设备600可以包括附加的组件、更少的组件、不同的组件、或者被不同地布置的组件。附加地或备选地,设备600的一组组件(例如,一个或多个组件)可以执行被描述为由设备600的另一组组件执行的一个或多个功能。

图7是示例过程700的流程图,示例过程700与利用机器学习在项目生命周期的不同阶段期间防止针对内容的知识产权问题相关联。在一些实现中,图7的一个或多个过程框可以由设备(例如,监控系统501)执行。在一些实现中,图7的一个或多个过程框可以由与该设备分离或者包括该设备的另一设备或者设备的组执行,诸如客户端设备(例如,客户端设备530)、服务器设备(例如,服务器设备540)等。附加地或备选地,图7的一个或多个过程框可以由设备600的一个或多个组件执行,诸如处理器620、存储器630、存储组件640、输入组件650、输出组件660、通信组件670等。

如图7所示,过程700可以包括接收标识由用户创建的内容数据以及与内容相关联的元数据(框710)。例如,设备可以如上文所描述的接收标识由用户创建的内容数据以及与内容相关联的元数据。

如图7进一步所示,过程700可以包括接收规则数据,该规则数据标识与内容的利用相关联的规则(框720)。例如,设备可以如上文所描述的接收规则数据,该规则数据标识与内容的利用相关联的规则。

如图7进一步所示,过程700可以包括利用元数据来近实时地生成针对内容的数字DNA签名(框730)。例如,设备可以如上文所描述的利用元数据来近实时地生成针对内容的数字DNA签名内容。

如图7进一步所示,过程700可以包括在存储库中存储规则数据、内容数据的内容中的所有内容、数字DNA签名、以及数字DNA签名之间的关系(框740)。例如,设备可以如上文所描述的在存储库中存储规则数据、内容数据的内容中的所有内容、数字DNA签名、以及数字DNA签名之间的关系。在一些实现中,设备可以利用元数据和内容数据来生成针对内容的数字标识符;以及可以将数字标识符与被存储在存储库中的对应的数字DNA签名相关联,以在对新内容是否违反一个或多个规则的确定时准许另外的因素。

如图7进一步所示,过程700可以包括从客户端设备接收基于内容数据的特定内容而被生成的新内容以及与新内容相关联的新元数据(框750)。例如,设备可以如上文所描述的从客户端设备接收基于内容数据的特定内容而被生成的新内容以及与新内容相关联的新元数据。新内容可以包括从内容数据的现有文件创建的新文件、通过从内容数据的现有文件复制以及添加数据而被创建的文件等。

如图7进一步所示,过程700可以包括利用新元数据来生成针对新内容的新数字DNA签名(框760)。例如,设备可以如上文所描述的利用新元数据来生成针对新内容的新数字DNA签名。新数字DNA签名可以包括与内容数据的特定内容对应的数字DNA签名。

如图7进一步所示,过程700可以包括利用机器学习模型来处理新数字DNA签名、规则数据以及数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则(框770)。例如,设备可以如上文所描述的利用机器学习模型来处理新数字DNA签名、规则数据以及数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则。在一些实现中,利用机器学习模型来处理新数字DNA签名、规则数据以及数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则包括:利用文件级数字DNA签名机制来确定新内容是否违反规则数据的一个或多个规则。

如图7进一步所示,过程700可以包括基于新内容是否违反规则数据的一个或多个规则来执行一个或多个动作。例如,设备可以如上文所描述的基于新内容是否违反规则数据的一个或多个规则来执行一个或多个动作。

在一些实现中,一个或多个动作将在针对新内容的项目生命周期的不同阶段期间防止针对新内容的知识产权问题。例如,执行一个或多个动作可以包括以下一项或多项:当新内容违反一个或多个规则时,使新内容被改正;当新内容未能违反一个或多个规则时,允许新内容被利用;或者向客户端设备提供警告,该警告指示新内容违反一个或多个规则。备选地和/或附加地,执行一个或多个动作包括以下一项或多项:向与客户端设备相关联的实体提供通知,该通知指示新内容违反一个或多个规则;当新内容违反一个或多个规则时限制新内容的利用;当新内容未能违反一个或多个规则时将新内容存储在存储库中;或者基于新内容是否违反一个或多个规则来重新训练机器学习模型。

在一些实现中,执行一个或多个动作包括基于新内容是否违反一个或多个规则来确定一个或多个分析;基于一个或多个分析来生成用户界面;以及提供用户界面以用于显示。

在一些实现中,新内容与软件项目的发起相关联,规则数据包括标识与软件项目相关联的分类、许可信息和导入-导出限制的数据,并且执行一个或多个动作包括:基于新内容是否违反标识与软件项目相关联的分类、许可信息、和导入-导出限制的数据,来选择性地使新内容被改正或者允许新内容被利用。

在一些实现中,新内容与软件项目的规划相关联,规则数据包括标识被导入的以及被声明的与软件项目相关联的知识产权依赖的数据,并且执行一个或多个动作包括:基于新内容是否违反标识被导入的以及被声明的与软件项目相关联的知识产权依赖的数据,来选择性地使新内容被改正或者允许新内容被利用。

在一些实现中,新内容与软件项目的开发相关联,规则数据包括标识与软件项目相关联的分类、外部依赖以及许可信息的数据,并且执行一个或多个动作包括以下一项或多项:当新内容违反标识与软件项目相关联的分类的数据时,更新分类;当新内容未能违反标识与软件项目相关联的外部依赖的数据时,声明外部依赖;或者当新内容违反标识与软件项目相关联的许可信息的数据时,取得许可。

在一些实现中,新内容与发布软件项目相关联,规则数据包括标识与软件项目相关联的知识产权策略合规的数据,并且执行一个或多个动作包括基于新内容是否违反标识与软件项目相关联的知识产权策略合规的数据,来选择性地允许或者拒绝软件项目。

在一些实现中,新内容与关闭软件项目相关联,并且执行一个或多个动作包括当新内容未能违反一个或多个规则时,将软件项目标识为实体的内部资产、公共资产或者受限制的资产。

尽管图7示出了过程700的示例框,但是在一些实现中,与图7中所描绘的那些框相比,过程700可以包括附加的框、更少的框、不同的框、或者不同地被布置的框。附加地或备选地,过程700的块中的两个或更多个框可以被并行执行。

根据一些实施例,公开了以下示例。

示例1.一种方法,包括:由设备接收内容数据和元数据,内容数据标识由用户创建的内容,元数据与内容相关联;由设备接收规则数据,规则数据标识与内容的利用相关联的规则;由设备利用元数据来近实时地生成针对内容的数字DNA签名;由设备在存储库中存储规则数据、内容数据的内容中的所有内容、数字DNA签名、和数字DNA签名之间的关系;由设备从客户端设备接收新内容和新元数据,新内容基于内容数据的特定内容而被生成,新元数据与新内容相关联;由设备利用新元数据来生成针对新内容的新数字DNA签名;由设备利用机器学习模型来处理新数字DNA签名、规则数据、和数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则;以及由设备基于新内容是否违反规则数据的一个或多个规则来执行一个或多个动作。

示例2.根据示例1的方法,其中一个或多个动作将在针对新内容的项目生命周期的不同阶段期间防止针对新内容的知识产权问题。

示例3.根据示例1的方法,其中执行一个或多个动作包括以下一项或多项:当新内容违反一个或多个规则时,使新内容被改正;当新内容未能违反一个或多个规则时,允许新内容被利用;或者向客户端设备提供警告,警告指示新内容违反一个或多个规则。

示例4.根据示例1的方法,其中执行一个或多个动作包括以下一项或多项:向与客户端设备相关联的实体提供通知,通知指示新内容违反一个或多个规则;当新内容违反一个或多个规则时,限制对新内容的利用;当新内容未能违反一个或多个规则时,将新内容存储在存储库中;或者基于新内容是否违反一个或多个规则来重新训练机器学习模型。

示例5.根据示例1的方法,还包括:利用元数据和内容数据来生成针对内容的数字标识符;以及将数字标识符与被存储在存储库中的对应的数字DNA签名相关联,以在对新内容是否违反一个或多个规则的确定时准许另外的因素。

示例6.根据示例1的方法,其中新内容与软件项目的发起相关联,规则数据包括标识与软件项目相关联的分类、许可信息和导入-导出限制的数据,并且执行一个或多个动作包括:基于新内容是否违反标识与软件项目相关联的分类、许可信息、和导入-导出限制的数据,来选择性地使新内容被改正或者允许新内容被利用。

示例7.根据示例1的方法,其中新内容与软件项目的规划相关联,规则数据包括标识被导入的以及被声明的、与软件项目相关联的知识产权依赖的数据,并且执行一个或多个动作包括:基于新内容是否违反标识被导入的以及被声明的、与软件项目相关联的知识产权依赖的数据,来选择性地使新内容被改正或者允许新内容被利用。

示例8.一种设备,包括:一个或多个存储器;以及一个或多个处理器,一个或多个处理器被通信地耦合到一个或多个存储器,一个或多个处理器被配置为:接收内容数据和元数据,内容数据标识由用户创建的内容,元数据与内容相关联;接收规则数据,规则数据标识与内容的利用相关联的规则;利用元数据来近实时地生成针对内容的数字DNA签名;利用元数据和内容数据来生成针对内容的数字标识符;将数字标识符与对应的数字DNA签名相关联;在存储库中存储规则数据、内容数据的内容中的所有内容、数字DNA签名、和数字标识符;从客户端设备接收新内容和新元数据,新内容基于内容数据的特定内容而被生成,新元数据与新内容相关联;利用新元数据来生成针对新内容的新数字DNA签名;利用机器学习模型来处理新数字DNA签名、规则数据、数字DNA签名、和数字标识符,以确定新内容是否违反规则数据的一个或多个规则;以及基于新内容是否违反规则数据的一个或多个规则来执行一个或多个动作。

示例9.根据示例8的设备,其中新内容与软件项目的开发相关联,规则数据包括标识与软件项目相关联的分类、外部依赖和许可信息的数据,并且一个或多个处理器在执行一个或多个动作时,被配置为进行以下一项或多项:当新内容违反标识与软件项目相关联的分类的数据时,更新分类;当新内容未能违反标识与软件项目相关联的外部依赖的数据时,声明外部依赖;或者当新内容违反标识与软件项目相关联的许可信息的数据时,取得许可。

示例10.根据示例8的设备,其中新内容与发布软件项目相关联,规则数据包括标识与软件项目相关联的知识产权策略合规的数据,并且一个或多个处理器在执行一个或多个动作时,被配置为:基于新内容是否违反标识与软件项目相关联的知识产权策略合规的数据,来选择性地允许或者拒绝软件项目。

示例11.根据示例8的设备,其中新内容与关闭软件项目相关联,并且一个或多个处理器在执行一个或多个动作时,被配置为:当新内容未能违反一个或多个规则时,将软件项目标识为针对实体的内部资产、公共资产或者受限制的资产。

示例12.根据示例8的设备,其中新内容包括以下一项:从内容数据的现有文件创建的新文件,或者通过从内容数据的现有文件复制和添加数据而被创建的文件。

示例13.根据示例8的设备,其中新数字DNA签名包括与内容数据的特定内容对应的数字DNA签名。

示例14.根据示例8的设备,其中一个或多个处理器在执行一个或多个动作时,被配置为:基于新内容是否违反一个或多个规则来确定一个或多个分析;基于一个或多个分析来生成用户界面;以及提供用户界面以用于显示。

示例15.一种存储指令的非瞬态计算机可读介质,指令包括:一个或多个指令,一个或多个指令在由一个或多个处理器执行时,使一个或多个处理器:在存储库中存储:标识内容的内容数据、和与内容相关联的元数据,规则数据,规则数据标识与内容的利用相关联的规则,以及基于元数据而近实时地被生成的、针对内容的数字DNA签名;从客户端设备接收基于内容数据的特定内容而被生成的新内容、和与新内容相关联的新元数据;利用新元数据来生成针对新内容的新数字DNA签名;利用机器学习模型来处理新数字DNA签名、规则数据、和数字DNA签名,以确定新内容是否违反规则数据的一个或多个规则;以及基于新内容是否违反规则数据的一个或多个规则来执行一个或多个动作。

示例16.根据示例15的非瞬态计算机可读介质,其中使一个或多个处理器执行一个或多个动作的一个或多个指令,使一个或多个处理器进行以下一项或多项:当新内容违反一个或多个规则时,使新内容被改正;当新内容未能违反一个或多个规则时,允许新内容被利用;向客户端设备提供警告,警告指示新内容违反一个或多个规则;向与客户端设备相关联的实体提供通知,通知指示新内容违反一个或多个规则;当新内容违反一个或多个规则时,限制对新内容的利用;当新内容未能违反一个或多个规则时,将新内容存储在存储库中;或者基于新内容是否违反一个或多个规则来重新训练机器学习模型。

示例17.根据示例15的非瞬态计算机可读介质,其中使一个或多个处理器利用机器学习模型来处理新数字DNA签名、规则数据、和数字DNA签名的一个或多个指令,使一个或多个处理器:利用文件级数字DNA签名机制来确定新内容是否违反规则数据的一个或多个规则。

示例18.根据示例15的非瞬态计算机可读介质,其中指令还包括:一个或多个指令,一个或多个指令在由一个或多个处理器执行时,使一个或多个处理器:利用元数据和内容数据来生成针对内容的数字标识符;将数字标识符与被存储在存储库中的对应的数字DNA签名相关联;以及利用数字标识符来确定新内容是否违反一个或多个规则。

示例19.根据示例15的非瞬态计算机可读介质,其中使一个或多个处理器执行一个或多个动作的一个或多个指令,使一个或多个处理器:基于新内容是否违反规则数据的一个或多个规则来确定一个或多个分析;基于一个或多个分析来生成用户界面;以及提供用户界面以用于显示。

示例20.根据示例15的非瞬态计算机可读介质,其中新内容与关闭软件项目相关联,并且使一个或多个处理器执行一个或多个动作的一个或多个指令,使一个或多个处理器:当新内容违反规则数据的一个或多个规则时,将软件项目标识为针对实体的内部资产、公共资产或者受限制的资产。

前文的公开提供了说明和描述,但并不旨在是详尽的或将实现限制为所公开的精确形式。可以根据以上公开做出修改,或者可以从实现的实践中获得修改。

如本文所使用的,术语“组件”旨在被广义地解释为硬件、固件、或者硬件和软件的组合。将明显的是,本文中所描述的系统和/或方法可以以硬件、固件、和/或硬件与软件的组合的不同形式来实现。被用于实现这些系统和/或方法的实际的专用控制硬件或软件代码对实现不是限制性的。因此,本文中在不引用特定软件代码的情况下描述系统和/或方法的操作和行为-应当理解,基于本文中的描述,可以使用软件和硬件来实现系统和/或方法。

如本文中所使用的,取决于上下文,满足阈值可以指的是值大于阈值、大于或等于阈值、小于阈值,小于或等于阈值、等于阈值等,这取决于上下文。

尽管在权利要求中叙述了特征的特定组合和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制各种实现的公开。实际上,这些特征中的许多特征可以以权利要求书中未特定地叙述的和/或说明书中未公开的方式被组合。尽管下面列出的每个从属权利要求可能仅直接依赖于一个权利要求,但是各种实现的公开包括与权利要求集中的每个其他权利要求相结合的每个从属权利要求。

除非明确地描述,否则本文中使用的元件、动作或指令不应被解释为关键或必要的。同样,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项,并且可以与“一个或多个”互换使用。此外,如本文所使用的,冠词“该”旨在包括结合冠词“该”所引用的一个或多个项,并且可以与“该一个或多个”互换使用。此外,如本文所使用的,术语“一组(set)”旨在包括一个或多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或多个”互换使用。在仅一个项被预期的情况下,使用短语“仅一个”或类似语言。同样,如本文所使用的,术语“具有(has)”、“具有(have)”、“具有(haing)”等旨在是开放式术语。此外,短语“基于”旨在表示“至少部分地基于”,除非另有明确说明。同样,如本文中所使用的,术语“或”在序列中被使用时旨在是包含性的,并且可以与“和/或”互换使用,除非另有明确说明(例如,如果与“任一(either)”或“……中的仅一个(only one of)”结合使用)。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号