# US 11,121,932 B2 · Method and apparatus for model mapping and dynamically enabling external model on the network device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,121,932 B2
- Document ID: US11121932B2
- Status: Granted
- Kind: B2
- Application number: 16/380,009
- Filed: 2019-04-10
- Published: 2020-10-15
- Granted: 2021-09-14
- Earliest claimed: 2019-04-10
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Munish Nayyar; Shyam Naren Kandala; Harjinder Singh; Rajan Narayanan; Einar Nilsen-Nygaard
- Web page: https://patentgrep.com/patent/US11121932B2

## CPC

- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- G06F 8/60: Software deployment
- G06F 16/212: {with details for data modelling support}
- H04L 41/0803: Configuration setting
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A data model can be customized by a user and executed in real-time at a network device. The user provides definitions for the customized data model based on a data model locally stored on the network device. The user provided definitions are used to generate a mapping contract which is processed by a mapping package generator to generate a mapping package. The mapping package can then be processed by a translation engine to dynamically execute a customized data model in real-time.

## Claims

### Claim 1

A method for dynamically executing a customized data model, the method comprising:
receiving definitions for a data model, the definitions related to one or more changes in functionality of the data model;
generating a mapping package comprising one or more mappings for the data model based on the received definitions;
deploying, with a mapping translation engine, the mapping package to a network device; and
controlling the network device according to the deployed mapping package.

### Claim 2 (depends on 1)

The method of claim 1, further comprising configuring a device controller according to the deployed mapping package, wherein the device controller controls the network device.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
providing network information to a runtime mapping translation engine, the runtime translation engine comprising one or more of a processor management process, a translation process, or language package libraries; and
configuring the device controller by the runtime mapping translation engine in response to the provided network information.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
deploying a mapping package container to a guest operating system based on the mapping package, the mapping package container comprising a mapping extension engine; and
executing a portion of the mapping package by the mapping package container.

### Claim 5 (depends on 1)

The method of claim 1, further comprising routing network traffic by the network device.

### Claim 6 (depends on 1)

The method of claim 1, further comprising verifying feature coverage by the network device of the received definitions.

### Claim 7 (depends on 1)

The method of claim 1, wherein the definitions reference one or more locally stored data models, the one or more locally stored data models accessible by the network device and each comprising a respective version, and the method further comprising verifying the referenced one or more locally stored data models based on the respective version.

### Claim 8

A system for dynamically executing a customized data model, the system comprising:
one or more processors; and
a memory comprising instructions for the one or more processors to:
receive definitions for a data model, the definitions related to one or more changes in functionality of the data model;
generate a mapping package comprising one or more mappings for the data model based on the received definitions;
deploy, with a mapping translation engine, the mapping package to a network device; and
control the network device according to the deployed mapping package.

### Claim 9 (depends on 8)

The system of claim 8, wherein the memory further comprises instructions to configure a device controller according to the deployed mapping package, wherein the device controller controls the network device.

### Claim 10 (depends on 9)

The system of claim 9, wherein the memory further comprises instructions to:
provide network information to a runtime mapping translation engine, the runtime translation engine comprising one or more of a processor management process, a translation process, or language package libraries; and
configure the device controller by the runtime mapping translation engine in response to the provided network information.

### Claim 11 (depends on 8)

The system of claim 8, wherein the memory further comprises instructions to:
deploy a mapping package container to a guest operating system based on the mapping package, the mapping package container comprising a mapping extension engine; and
execute a portion of the mapping package by the mapping package container.

### Claim 12 (depends on 8)

The system of claim 8, wherein the memory further comprises instructions to route network traffic by the network device.

### Claim 13 (depends on 8)

The system of claim 8, wherein the memory further comprises instructions to verify feature coverage by the network device of the received definitions.

### Claim 14 (depends on 8)

The system of claim 8, wherein the definitions reference one or more locally stored data models, the one or more locally stored data models accessible by the network device and each comprising a respective version, and wherein the memory further comprises instructions to verify the referenced one or more locally stored data models based on the respective version.

### Claim 15

A non-transitory computer readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to:
receive definitions for a data model, the definitions related to one or more changes in functionality of the data model;
generate a mapping package comprising one or more mappings for the data model based on the received definitions;
deploy, with a mapping translation engine, the mapping package to a network device; and
control the network device according to the deployed mapping package.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising instructions to:
configure a device controller according to the deployed mapping package, wherein the device controller controls the network device;
provide network information to a runtime mapping translation engine, the runtime translation engine comprising one or more of a processor management process, a translation process, or language package libraries; and
configure the device controller by the runtime mapping translation engine in response to the provided network information.

### Claim 17 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising instructions to:
deploy a mapping package container to a guest operating system based on the mapping package, the mapping package container comprising a mapping extension engine; and
execute a portion of the mapping package by the mapping package container.

### Claim 18 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising instructions to route network traffic by the network device.

### Claim 19 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising instructions to verify feature coverage by the network device of the received definitions.

### Claim 20 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the definitions reference one or more locally stored data models, the one or more locally stored data models accessible by the network device and each comprising a respective version, and further comprising instructions to verify the referenced one or more locally stored data models based on the respective version.
