US11216270B2 - Metadata driven workflow semantics for management operations - Google Patents
Metadata driven workflow semantics for management operations Download PDFInfo
- Publication number
- US11216270B2 US11216270B2 US16/662,559 US201916662559A US11216270B2 US 11216270 B2 US11216270 B2 US 11216270B2 US 201916662559 A US201916662559 A US 201916662559A US 11216270 B2 US11216270 B2 US 11216270B2
- Authority
- US
- United States
- Prior art keywords
- nodes
- solution
- node
- update
- metadata
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Definitions
- Computing devices may include any number of internal components such as processors, memory, and persistent storage. These computing devices may need to be updated once they are deployed. Traditionally, the mechanisms for updating a given computing device do not take into account the relationships between the computing device and the various related computing devices.
- the invention relates to a method for managing nodes in a cluster, the method comprising obtaining metadata from at least one of a plurality of controllers, wherein each node of a plurality of nodes comprises one of the plurality of controllers, processing the metadata to obtain solution groups and a processing sequence of the solution groups, wherein each of the plurality of nodes is associated with one of the solution groups, notifying a solution manager to initiate performance of pre-update tasks associated with at least one of the plurality of nodes, and performing, after the notifying, an update of at least one of the plurality of nodes in the cluster based on the processing sequence of the solution groups.
- the invention relates to a non-transitory computer readable medium (CRM) storing instructions for managing nodes in a cluster, the instructions comprising functionality for obtaining metadata from at least one of a plurality of controllers, wherein each node of a plurality of nodes comprises one of the plurality of controllers, processing the metadata to obtain solution groups and a processing sequence of the solution groups, wherein each of the plurality of nodes is associated with one of the solution groups, notifying a solution manager to initiate performance of pre-update tasks associated with at least one of the plurality of nodes, and performing, after the notifying, an update of at least one of the plurality of nodes in the cluster based on the processing sequence of the solution groups.
- CCM computer readable medium
- the invention relates to a system, comprising: a processor, memory comprising instructions, which when executed by the processor enables the system to perform a method, the method comprising: obtaining metadata from at least one of a plurality of controllers, wherein each node of a plurality of nodes comprises one of the plurality of controllers, processing the metadata to obtain solution groups and a processing sequence of the solution groups, wherein each of the plurality of nodes is associated with one of the solution groups, notifying a solution manager to initiate performance of pre-update tasks associated with at least one of the plurality of nodes, and performing, after the notifying, an update of at least one of the plurality of nodes in a cluster based on the processing sequence of the solution groups.
- FIG. 1 shows a system in accordance with one or more embodiments of the invention.
- FIG. 2 shows a method for updating nodes in a cluster in accordance with one or more embodiments of the invention.
- FIG. 3 shows a method for performing pre-update and post-update tasks in accordance with one or more embodiments of the invention.
- FIGS. 4A-4B show an example in accordance with one or more embodiments of the invention.
- FIG. 5 shows a diagram of a computing device in accordance with one or more embodiments of the invention.
- any component described with regard to a figure in various embodiments of the invention, may be equivalent to one or more like-named components described with regard to any other figure.
- descriptions of these components will not be repeated with regard to each figure.
- each and every embodiment of the components of each figure is incorporated by reference and assumed to be optionally present within every other figure having one or more like-named components.
- any description of the components of a figure is to be interpreted as an optional embodiment, which may be implemented in addition to, in conjunction with, or in place of the embodiments described with regard to a corresponding like-named component in any other figure.
- a data structure may include a first element labeled as A and a second element labeled as N.
- This labeling convention means that the data structure may include any number of the elements.
- a second data structure also labeled as N to Z, may also include any number of elements. The number of elements of the first data structure and the number of elements of the second data structure may be the same or different.
- embodiments of the invention relate to managing a cluster using one or more solution managers and one or more infrastructure managers. More specifically, the solution managers are configured to implement one or more solutions across all or a subset of the cluster. As such, the solution managers understand the operation of the various nodes in the cluster including the workloads that are executing (or able to execute) on the nodes.
- the infrastructure managers are configured to maintain the various nodes in the cluster by, for example, updating firmware (or other software) in the nodes. However, the infrastructure managers typically do not have an understanding of the operation of the various nodes. In order to ensure that the negative impact of updating of the nodes in the cluster is minimized, embodiments of the invention enable the solution managers and the infrastructure managers communicate via the controllers in the nodes.
- the solution managers using application programming interfaces (APIs) provided by the controllers on the nodes, write metadata to the controller.
- APIs application programming interfaces
- the infrastructure managers may then obtain this metadata from the controllers and use it to orchestrate the updating of the nodes in the cluster.
- the infrastructure manager identifies metadata, which is located in the controller that was previously populated by the solution manager.
- the infrastructure manager obtains and processes the metadata to identify one or more solution groups and a processing sequence(s).
- the infrastructure manager may then send a notification to the solution manager, which informs the solution manager that particular nodes in a solution domain (i.e., the nodes that are managed by the particular solution manager) will be updated.
- This notification allows the solution manager to perform any tasks necessary to the servers prior to the update.
- the infrastructure manager performs the update.
- the infrastructure manager may send a notification to the solution manager, e.g., via the controller, to allow the solution manager to perform any post-update tasks.
- FIG. 1 shows an example system in accordance with one or more embodiments of the invention.
- the system includes one or more solution managers ( 100 , 102 ), one or more clusters ( 104 , 106 ) and an infrastructure manger ( 108 ).
- the system may include additional, fewer, and/or different components without departing from the invention.
- Each component may be operably connected via any combination of wired and/or wireless connections.
- Each component illustrated in FIG. 1 is discussed below.
- the solution managers ( 100 , 102 ) are configured to provide metadata to the controllers ( 118 , 120 , 122 , 124 ) that are on the nodes ( 110 , 112 , 114 , 116 ).
- the solution managers using APIs provided by the controllers on the nodes, write metadata to the various controllers in the cluster.
- one or more nodes may have all or a portion of the metadata pre-installed.
- the metadata may be used by the infrastructure managers to manage the nodes.
- the metadata may be used to specify device capabilities and management information.
- the metadata may also be used to specify information that is used by the infrastructure manager(s) when updating the nodes in the cluster(s).
- the metadata may be encoded using any format(s).
- the metadata may be encoded using eXtensible Markup Language (XML) and/or JavaScript Object Notation (JSON).
- XML eXtensible Markup Language
- JSON JavaScript Object Notation
- Node Capabilities To toggle on/off management/monitoring features on the nodes (e.g., the firmware updates may be turned off in a specific solution group in a cluster; the powering on/off of the nodes in a cluster may be staggered based on a process sequence for each node in a cluster, etc.),
- Management Uniform Resource Location enables customization of a link and launch management URL for the management application (e.g., a direct the link to launch URL to a local or remote management console (which may be, e.g., a solution manager or a cluster management application),
- Grouping enables customization of the grouping hierarchy in which the node is placed post discovery (e.g., which nodes are associated with a solution group) (additional detail provided below);
- Clustering enables co-location of nodes in a cluster in a display on a local or remote management console
- Custom tags user defined tags (e.g., to facilitate the tracking of nodes as they move around in a data center (i.e., the physical infrastructure in which the clusters are located), to provide support for “tool tips”, to enable custom queries using the tags, etc.), and
- Custom Graphics enables customization of image file(s) to be used as the solution graphic, which is used in the display on the local or remote management console.
- the grouping metadata may specify one or more solution groups to which a node belongs.
- each solution manager manages one or more sets of nodes.
- Each set of nodes that the solution manager manages is a separate solution group, which may be identified using a unique identifier (i.e., a solution group identifier).
- the solution group identifier may only be unique for all solution groups in a given cluster or data center.
- each node may belong to a single solution group or multiple solution groups.
- the solution groups may be used as part of the updating (or other management) of the nodes by the infrastructure manager.
- the metadata may be used to facilitate the updating of the nodes in the cluster.
- the metadata may include (or additionally include) one or more of the following: (i) an operation name for an operation, (ii) a sequence number associated with the operation for the node; (iii) actions to take in the event an error is encountered during the operation; (iv) pre-update tasks to be performed by the solution manager that is managing the solution group with which the node is associated; and (v) post-update tasks to be performed by the solution manager that is managing the solution group with which the node is associated.
- items (i)-(v) may be specified on a per-operation basis. Further, if the node is associated with multiple solution groups, then items (i)-(v) may be specified on a per-solution group per-operation basis.
- the following is a non-limiting example of metadata that may be stored on a given node by a solution manager.
- the solution manager includes functionality to generate and/or obtain (e.g., from a user or another computing device (see e.g., FIG. 5 )) the metadata for each of the nodes in a given solution group and then store the metadata in the appropriate controllers in the nodes within the solution group (see e.g., FIGS. 4A-4B , below).
- the solution managers ( 100 , 102 ) perform pre-update tasks and post-update tasks.
- the pre-update tasks include any tasks that are to be performed by the solution managers ( 100 , 102 ) prior to an update of the nodes ( 110 , 112 , 114 , 116 ) in the clusters ( 104 , 106 ).
- post-update tasks are any tasks performed by the solution managers ( 100 , 102 ) after an update of the nodes ( 110 , 112 , 114 , 116 ) in the clusters ( 104 , 106 ) has been completed.
- the pre-update tasks and the post-update tasks may, in one embodiment of the invention, take the form of uniform resource identifier (URI) that includes an Internet Protocol (IP) address of the solution manager as well as the task for the solution manager to perform.
- URI uniform resource identifier
- IP Internet Protocol
- the infrastructure manager may process the URI, which results in a request being sent (via a network) from the infrastructure manager to the solution manager. Upon receipt of such request, the solution manager may initiate performance of the task specified in the URI.
- the solution managers ( 100 , 102 ) are implemented as computing devices (see, e.g., FIG. 5 ).
- a computing device may be, for example, a mobile phone, a tablet computer, a laptop computer, a desktop computer, a server, a distributed computing system, or a cloud resource.
- the computing device may include one or more processors, memory (e.g., random access memory), and persistent storage (e.g., disk drives, solid state drives, etc.).
- the computing device may include instructions, stored on the persistent storage, that when executed by the processor(s) of the computing device cause the computing device to perform the functionality of the backup agent described throughout this application and/or all, or a portion thereof.
- the solution managers ( 100 , 102 ) are implemented as a logical device.
- the logical device may utilize the computing resources of any number of computing devices (within or external to the cluster) and thereby provide the functionality of the solution managers ( 100 , 102 ).
- the clusters ( 104 , 106 ) include nodes ( 110 , 112 , 114 , 116 ).
- the nodes ( 110 , 112 , 114 , 116 ) may include operating systems or hypervisors (not shown), virtual machines (not shown), and controllers ( 118 , 120 , 122 , 124 ).
- the nodes are updated by the infrastructure manager as discussed throughout this application.
- the nodes ( 110 , 112 , 114 , 116 ) are each implemented as computing devices (see e.g., FIG. 5 ).
- a computing device may be, for example, a mobile phone, a tablet computer, a laptop computer, a desktop computer, a server, a distributed computing system, or a cloud resource.
- the computing device may include one or more processors, memory (e.g., random access memory), and persistent storage (e.g., disk drives, solid state drives, etc.).
- the computing device may include instructions, stored on the persistent storage, that when executed by the processor(s) of the computing device cause the computing device to perform the functionality of the backup agent described throughout this application and/or all, or a portion thereof.
- the nodes ( 110 , 112 , 114 , 116 ) are each implemented as a logical device.
- the logical device may utilize the computing resources of any number of computing devices and thereby provide the functionality of the nodes ( 110 , 112 , 114 , 116 ).
- the nodes include controllers ( 118 , 120 , 122 , 124 ).
- the controllers include functionality to store the metadata received from the solution managers.
- the metadata may be stored in physical memory that is within the controller.
- the metadata may be stored on the node (i.e., the node in which the controller is located) and be accessible to the controller.
- the controllers ( 118 , 120 , 122 , 124 ) are physical devices.
- the physical device may include circuitry.
- the physical device may include a field programmable gate array, application specific integrated circuit, digital signal processor, microcontroller, and/or an embedded processor.
- the physical device may include persistent storage that stores computing instructions which when executed by the physical device causes the physical device to perform the functions of the controllers ( 118 , 120 , 122 , 124 ) described throughout this application.
- the controllers ( 118 , 120 , 122 , 124 ) are implemented as a logical entity.
- the logical device may utilize the computing resources of any number of computing devices and thereby provide the functionality of the controllers ( 118 , 120 , 122 , 124 ).
- the infrastructure manager ( 108 ) performs updates of the nodes ( 110 , 112 , 114 , 116 ) in the clusters ( 104 , 106 ). The updates are performed after obtaining metadata from the controllers ( 118 , 120 , 122 , 124 ) for customization and/or management of the update(s). Additionally, the infrastructure manager ( 108 ) sends, e.g., via the controllers ( 118 , 120 , 122 , 124 ), notifications to the solution managers ( 100 , 102 ) in regards to pre-update tasks and post-update tasks.
- the infrastructure manager ( 108 ) is implemented as computing devices (see e.g., FIG. 5 ).
- a computing device may be, for example, a mobile phone, a tablet computer, a laptop computer, a desktop computer, a server, a distributed computing system, or a cloud resource.
- the computing device may include one or more processors, memory (e.g., random access memory), and persistent storage (e.g., disk drives, solid state drives, etc.).
- the computing device may include instructions, stored on the persistent storage, that when executed by the processor(s) of the computing device cause the computing device to perform the functionality of the backup agent described throughout this application and/or all, or a portion thereof.
- the infrastructure manager ( 108 ) is implemented as a logical device.
- the logical device may utilize the computing resources of any number of computing devices (within or external to the cluster) and thereby provide the functionality of the infrastructure manager ( 108 ).
- the nodes, the solution managers, and the infrastructure managers include credentials and functionality to authenticate each other (as appropriate) to enable the interaction between the aforementioned elements as described throughout this application.
- FIG. 1 has been illustrated and described as including a limited number of specific components, a system in accordance with one or more embodiments of the invention may include additional, fewer, and/or different components without departing from the invention.
- FIGS. 2-3 show flowcharts in accordance with one or more embodiments of the invention. While the various steps in the flowcharts are presented and described sequentially, one of ordinary skill in the relevant art will appreciate that some or all of the steps may be executed in different orders, may be combined or omitted, and some or all steps may be executed in parallel. In one embodiment of the invention, the steps shown in FIGS. 2-3 may be performed in parallel with any other steps shown in FIGS. 2-3 without departing from the scope of the invention.
- the solution manager has identified nodes that are part of a solution group, determined at least one operation to perform on the solution group, specified a processing sequence for the solution group for the operation, specified zero, one or more pre-operation tasks, zero, one or more post-operation task, and has optionally specified on-error behavior if an error is encountered during the operation.
- the solution manager may obtain the aforementioned information from a user(s) or another computing device instead of generating the aforementioned information itself. Further, the solution manager then provides, on a per-node basis, metadata for the node (see example provided above). Specifically, the metadata is provided to each node may not specify the entire processing sequence for the operation; rather, it may only specify the processing sequence number for the particular node.
- the metadata that is provided for Node A would specify a processing sequence number (also referred to as a sequence number) of 1, the metadata that is provided for Node B would specify a processing sequence number of 2, the metadata that is provided for Node C would specify a processing sequence number of 2, and the metadata that is provided for Node D would specify a processing sequence number of 3.
- the per-node metadata may then be provided (as discussed above) to the individual controllers on the corresponding nodes.
- FIG. 2 shows a flowchart for a method for updating nodes in a cluster in accordance with one or more embodiments of the invention.
- the method may be performed by an infrastructure manager.
- step 200 the presence of metadata located in a controller of each node in a cluster is determined.
- the infrastructure manager may query the controllers on the nodes in the cluster for the presence of metadata.
- the metadata is embedded in each node. Additionally, the metadata is configured to include customizations of management operations (see, e.g., FIG. 1 ).
- step 202 a determination is made as to whether there is a presence of metadata located in at least one controller.
- the presence of metadata alerts the infrastructure manager of the process required for completing the updates. If there is metadata in at least one controller, the process proceeds to step 206 . If there is no metadata in the controller the process proceeds to step 204 .
- the infrastructure manager may perform the updates of nodes in the cluster using a default configuration as there is no metadata in the nodes that specifies any alternative steps to take with respect to updating the nodes. The process then ends.
- the metadata is obtained from each controller located in each node in the cluster.
- the infrastructure manager obtains and reads the metadata obtained from the controllers using one or more APIs that are provided by the controllers.
- the infrastructure manager processes the metadata to obtain a solution group(s) and a processing sequence(s).
- the processing may include identifying zero, one or more solution groups. Further, a processing order may be determined for each of the nodes. The processing order may (or may not) be specified on a per-solution group basis. Further, a processing order may also be determined for the solution groups (as an alternative to or in addition to) the processing order determined for each node.
- the processing step 208 may include aggregating all of the metadata obtained from each of the nodes, parsing the metadata to extract the relevant solution group identifiers and sequence numbers, and then determining which nodes belong to which solution groups and the processing sequence of each node within the solution group(s).
- Example 1 Conssider a scenario in which Node A and Node B may be in Group 1; Node C and Node D may be in Group 2; and Node E and Node F may be in Group 3.
- the solution groups e.g., Groups 1-3
- the sequence number defines the order in which all nodes in the solution group get updated.
- Example 2 The nodes may not be put into solution groups, but the nodes may be sequenced. Therefore, the sequence number may be given to each node instead to each solution group. For example Node A may have a sequence number of 1, Node B may have a sequence number of 2, and Node C may have a sequence number 3.
- Example 3 The nodes within each solution group may be associated with a sequence number, where the sequence number specifies the relative order of processing of the node (relative to other nodes) in solution group.
- the infrastructure manager notifies the solution manger to perform one or more pre-update tasks that are specified in the metadata.
- the pre-update tasks include any tasks perform by the solutions manger prior to the updating of any nodes in a solution group.
- the infrastructure manger may transmit a node identifier(s) in the notification payload to the solution manager (see, e.g., FIG. 3 , Step 302 ).
- the solution manager may use this information to perform a specific action(s) on a specific node(s) in the solution group.
- the infrastructure manager performs the updates based on solution groups and processing sequence. For example, in a scenario where the infrastructure manager is performing a firmware update, referring back to Example 1 in step 208 , Group 1 receives the firmware update first; then Group 2; and Group 3 receives the firmware update last.
- the update requires the infrastructure manager to stagger the powering on of the nodes, referring back to Example 2 in step 208 , Node A is powered on first; Node B is powered on second; and Node C is powered on third.
- Nodes A-G may be grouped into the following solution groups: Region 1, which includes Nodes A and B and Region 2, which includes Nodes C-G. Region 2 may be further sub-divided into Availability Zone 1 and Availability Zone 2. Availability Zone 1 may include Nodes D and E, and Availability Zone 2 may include Nodes F and G.
- Nodes A and B may have a sequence number of 1.1.
- Node C may have a sequence number of 1.2.
- Node D in Availability Zone 1 may have a sequence number of 1.2.1.1.
- Node E in Availability Zone 1 may have a sequence number of 1.2.1.2.
- Node F in Availability Zone 2 may have a sequence number of 1.2.2.1.
- Node G in Availability Zone 2 may have a sequence number of 1.2.2.2.
- Region 1 which includes Node A and Node B, is updated first.
- Node C in Region 2 is updated.
- the nodes in the Availability Zones are then updated in the following Sequence: Node D, Node E, Node F, Node G.
- the infrastructure manager notifies the solution manger to perform one or more post-update tasks that are specified in the metadata.
- the post-update tasks include any tasks to be performed by the solutions manger after the updating of any nodes in a solution group.
- the infrastructure manger may transmit a node identifier(s) in the notification payload to the solution manager (see, e.g., FIG. 3 , Step 302 ).
- the solution manager may use this information to perform a specific action(s) on a specific node(s) in the solution group.
- FIG. 3 shows a flowchart for a method for performing pre-update and post-update tasks in accordance with one or more embodiments of the invention. The method may be performed by solution managers.
- the solution manger receives a notification of pre-update tasks from the infrastructure manager e.g., via the controllers.
- the controllers receive the request payload from the infrastructure manager (see, e.g., FIG. 2 , Step 210 ).
- the controllers transmit the request payload to the solution manager.
- the pre-update tasks may include, but are not limited to, the following: placing the nodes in maintenance mode prior to receiving the update(s); and if a node is hosting applications or workloads, moving the applications or workload from one or more nodes in the solution groups to another node in the solution group or to another node in the cluster that is not part of the solution group.
- the solution manager performs the pre-update tasks.
- the solution manger received a notification that Nodes A and B in a cluster are being updated.
- the solution manager may moves applications executing on Nodes A and B in the cluster to Nodes C and D in the same cluster.
- the pre-update tasks may specify specific tasks to be performed and/or include a notification that an update to specific nodes to going to be performed. In the latter case, the solution manager includes a set of tasks that it performs in response to receiving a notification.
- the solution manger may notify infrastructure manager that the per-update tasks have been performed. The solution manager may then wait until another notification is received to perform post-update tasks.
- the solution manger receives a notification of post-update tasks from the infrastructure manager, e.g., via the controllers.
- the controllers receive the request payload and status from the infrastructure manager (see, e.g., FIG. 2 , Step 214 ).
- the controllers transmit the request payload and status to the solution manager.
- the post-update tasks may include, but are not limited to, the following: taking the nodes out of maintenance mode after receiving the update(s); moving the applications or workloads back from the secondary node to the primary node in the cluster; rebuilding file system metadata associated with one or more nodes; and notifying users (e.g., administrators) that the update is complete.
- the solution manger performs the post-update tasks.
- the post-update tasks may specify specific tasks to be performed and/or include a notification that an update to specific nodes to going to be performed. In the latter case, the solution manager includes a set of tasks that it performs in response to receiving a notification.
- step 302 consider a scenario in which the solution manager receives a notification to perform post-update tasks.
- the solution manager moves the applications executing on Nodes C and D (previously stored on Nodes A and B in the cluster) back to Nodes A and B in the same cluster.
- the solution manger may notify infrastructure manager that the post-update tasks have been performed.
- FIGS. 2-3 relate to using the metadata to facilitate updating of nodes in the cluster
- the solution managers may transmit other metadata (as discussed above) to the nodes via the controllers. This metadata may then be read by the infrastructure manager and used to manage the nodes. Said another way, the solutions manager and the infrastructure managers may communicate a customized set of metadata via the controllers. This allows the infrastructure to obtain additional management information that it can then use to perform its other operations.
- FIGS. 4A-4B show an example in accordance with one or more embodiments. The example is not intended to limit the scope of the invention.
- a system includes a solution manger (i.e., Solution Manager A ( 400 )), a cluster (i.e., Cluster A ( 402 )) including five nodes (i.e., Node A ( 404 ), Node B ( 406 ), Node C ( 408 ), Node D ( 410 ), Node E ( 412 )), and an infrastructure manager ( 424 ).
- Each node includes a controller (i.e., Controller A ( 414 ), Controller B ( 416 ), Controller C ( 418 ), Controller D ( 420 ), Controller E ( 422 )).
- the infrastructure manager ( 424 ) needs to perform a firmware update of the nodes (i.e., Node A ( 404 ), Node B ( 406 ), Node C ( 408 ), Node D ( 410 ), Node E ( 412 )) in Cluster A ( 402 ).
- the infrastructure manager ( 424 ) identifies the presence of metadata located in each controller (i.e. Controller A ( 414 ), Controller B ( 416 ), Controller C ( 418 ), Controller D ( 420 ), Controller E ( 422 )) [1]. Also, the infrastructure manager ( 424 ) obtains and processes the metadata to obtain solution groups and a processing sequence [2].
- Group 1 includes Node A ( 404 ) and Node B ( 406 ), which has a sequence number of 1;
- Group 2 includes Node C ( 408 ), which has a sequence number of 2; and
- Group 3 includes Node D ( 410 ) and Node E ( 412 ), which has a sequence number of 3.
- the infrastructure manager ( 424 ) sends a notification to Solution Manager A ( 400 ) to perform pre-update tasks [3].
- the solution manager receives the notification and performs a pre-update task of placing the nodes in maintenance mode [4].
- the infrastructure manager ( 424 ) Based on the solution group and processing sequence, the infrastructure manager ( 424 ) performs the update of Group 1 first [5]; then, Group 2[6]; and last, Group 3 [7].
- a post-update notification is transmitted to Solution Manager A ( 400 ) [8].
- Solution Manager A performs the post update task of taking the nodes (i.e. Node A ( 404 ), Node B ( 406 ), Node C ( 408 ), Node D ( 410 ), Node E ( 412 )) out of maintenance mode [9].
- Cluster A includes four nodes (i.e., Node A ( 404 ), Node B ( 406 ), Node C ( 408 ), Node D ( 410 )).
- Cluster B includes three nodes (i.e., Node N ( 428 ), Node O ( 430 ), and Node P ( 432 )).
- Each node includes a controller (i.e., Controller A ( 414 ), Controller B ( 416 ), Controller C ( 418 ), Controller D ( 420 ), Controller N ( 434 ), Controller O ( 436 ), and Controller P ( 438 )).
- Controller A 414
- Controller B 416
- Controller C 418
- Controller D 420
- Controller N 434
- Controller O 436
- Controller P 438
- the infrastructure manager ( 424 ) needs to perform a firmware update of the nodes (i.e., Node A ( 404 ), Node B ( 406 ), Node C ( 408 ), Node D ( 410 ) in Cluster A ( 402 ); and Node N ( 428 ), Node O ( 430 ), Node P ( 432 ) in Cluster B ( 440 )).
- the infrastructure manager ( 424 ) identifies the presence of metadata located in each controller (i.e. Controller A ( 414 ), Controller B ( 416 ), Controller C ( 418 ), Controller D ( 420 ), Controller N ( 434 ), Controller O ( 436 ), Controller P ( 438 )) [1].
- the infrastructure manager ( 424 ) obtains and processes the metadata to obtain solution groups and a processing sequence [2].
- the solution groups and sequence numbers for Cluster A are as follows: Group 1 includes Node A ( 404 ) and Node B ( 406 ), which has sequence number of 1; Group 2 includes Node C ( 408 ), which has a sequence number of 2; and Group 3 includes Node D ( 410 ), which has a sequence number of 3.
- the solution groups and sequence process for Cluster B are as follows: Group 1 includes Node N ( 434 ), which has sequence number of 1; Node O ( 436 ), which has a sequence number of 2; and Node P ( 438 ), which has a sequence number of 3.
- the infrastructure manager ( 424 ) sends notifications to Solution Manager A ( 400 ) and Solution Manager B ( 426 ) to perform pre-update tasks [3].
- Solution Manager A and Solution Manager B receive the notifications and perform the pre-update tasks of placing the nodes in maintenance mode [4].
- the infrastructure manager ( 424 ) concurrently performs the update of Group 1 for Cluster A and Node N [5]; then, Group 2 for Cluster A and Node O [6]; and last, Group 3 for Cluster A and Node P [7].
- the updating for the different groups can be performed concurrently because they are related to distinct solution managers.
- the infrastructure manager transmits a post-update notification to Solution Manager A ( 400 ) and Solution Manager B ( 426 ) [8].
- Solution Manager A ( 400 ) and Solution Manager B ( 426 ) perform the post update task of taking the nodes (i.e., Node A ( 404 ), Node B ( 406 ), Node C ( 408 ), Node D ( 410 ) in Cluster A ( 402 ); and Node N ( 428 ), Node O ( 430 ), Node P ( 432 ) in Cluster B) out of maintenance mode [9].
- nodes i.e., Node A ( 404 ), Node B ( 406 ), Node C ( 408 ), Node D ( 410 ) in Cluster A ( 402 ); and Node N ( 428 ), Node O ( 430 ), Node P ( 432 ) in Cluster B) out of maintenance mode [9].
- FIG. 5 shows a diagram of a computing device in accordance with one or more embodiments of the invention.
- the computing device ( 500 ) may include one or more computer processors ( 502 ), non-persistent storage ( 504 ) (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage ( 506 ) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, etc.), a communication interface ( 512 ) (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), input devices ( 510 ), output devices ( 508 ), and numerous other elements (not shown) and functionalities. Each of these components is described below.
- non-persistent storage e.g., volatile memory, such as random access memory (RAM), cache memory
- persistent storage e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (
- the computer processor(s) ( 502 ) may be an integrated circuit for processing instructions.
- the computer processor(s) may be one or more cores or micro-cores of a processor.
- the computing device ( 500 ) may also include one or more input devices ( 510 ), such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device.
- the communication interface ( 512 ) may include an integrated circuit for connecting the computing device ( 500 ) to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) and/or to another device, such as another computing device.
- a network not shown
- LAN local area network
- WAN wide area network
- the computing device ( 500 ) may include one or more output devices ( 508 ), such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device), a printer, external storage, or any other output device.
- a screen e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device
- One or more of the output devices may be the same or different from the input device(s).
- the input and output device(s) may be locally or remotely connected to the computer processor(s) ( 502 ), non-persistent storage ( 504 ), and persistent storage ( 506 ).
- One or more embodiments of the invention may be implemented using instructions executed by one or more processors of the data management device. Further, such instructions may correspond to computer readable instructions that are stored on one or more non-transitory computer readable mediums.
- One or more embodiments of the invention may enable one or more of the of following: (i) enable communication between the infrastructure manager and the solution manager; (ii) implement custom logic for management operations by the infrastructure manager using metadata provided by the solution manager; (iii) customization of metadata stored on each node; (iv) dynamic interpretation of the metadata stored on each node for classification and management purposes without requiring new versions of console software; and (v) customization data may be modified at run-time to specify a modification to the workflow.
- the metadata may be used to implement a richer user interface (UI) by the Infrastructure Manager.
- the richer UI may, based on the information encoded in the metadata, show nodes organized and, optionally, represented using different visual representations (e.g., different colors, different images, etc.).
- This information may then be used by, e.g., a Data Center Admin, to perform tasks (which may be manual tasks) on the cluster, e.g. replace drives, replace power supply units, etc. in a manner that does not (or limits) the negative impact on the operation (or performance of the cluster).
Abstract
Description
<ManagementOperations> |
<Operation> |
<Name>FWUpdate</Name> |
<Sequence>1</Sequence> |
<OnError>Stop,Rollback</OnError> |
<Hooks> |
<Hook> |
<Type>Pre</Type> |
<URI>https://10.25.0.210/api/UpdateSvc/Actions/UpdateSvc.PreUp |
date</URI> |
</Hook> |
<Hook> |
<HookType>Post</HookType> |
<URI>https://10.25.0.210/api/UpdateSvc/Actions/UpdateSvc.PostU |
pdate</URI> |
</Hook> |
<Hook> |
<Type>Post</Type> |
<URI>https://10.25.0.210/api/UpdateSvc/Actions/UpdateSvc.Notify |
</URI> |
</Hook> |
</Hooks> |
</Operation> |
<Operation> |
<Name>PowerOn</Name> |
<Sequence>10</Sequence> |
<OnError>Continue</OnError> |
<Hooks> |
<Hook> |
<Type>Post</Type> |
<URI>https://10.25.0.210/api/PowerSvc/Actions/PowerSvc.PostOp< |
/URI> |
</Hook> |
</Hooks> |
</Operation> |
</ManagementOperations> |
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/662,559 US11216270B2 (en) | 2019-10-24 | 2019-10-24 | Metadata driven workflow semantics for management operations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/662,559 US11216270B2 (en) | 2019-10-24 | 2019-10-24 | Metadata driven workflow semantics for management operations |
Publications (2)
Publication Number | Publication Date |
---|---|
US20210124572A1 US20210124572A1 (en) | 2021-04-29 |
US11216270B2 true US11216270B2 (en) | 2022-01-04 |
Family
ID=75585807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/662,559 Active US11216270B2 (en) | 2019-10-24 | 2019-10-24 | Metadata driven workflow semantics for management operations |
Country Status (1)
Country | Link |
---|---|
US (1) | US11216270B2 (en) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6113652A (en) * | 1995-04-27 | 2000-09-05 | General Data Comm, Inc. | Communications network equipment capable of non-disruptive software upgrade |
US6505255B1 (en) * | 1999-04-29 | 2003-01-07 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Method for formatting and routing data between an external network and an internal network |
US20030221124A1 (en) * | 2002-05-23 | 2003-11-27 | International Business Machines Corporation | File level security for a metadata controller in a storage area network |
US20070276833A1 (en) * | 2006-05-10 | 2007-11-29 | Sybase, Inc. | System and Method for Assignment of Unique Identifiers in a Distributed Environment |
US20090158016A1 (en) * | 2007-12-12 | 2009-06-18 | Michael Paul Clarke | Use of modes for computer cluster management |
US20090313630A1 (en) * | 2007-03-29 | 2009-12-17 | Fujitsu Limited | Computer program, apparatus, and method for software modification management |
US20100153771A1 (en) * | 2005-09-30 | 2010-06-17 | Rockwell Automation Technologies, Inc. | Peer-to-peer exchange of data resources in a control system |
US20120110055A1 (en) * | 2010-06-15 | 2012-05-03 | Van Biljon Willem Robert | Building a Cloud Computing Environment Using a Seed Device in a Virtual Computing Infrastructure |
US20130018868A1 (en) * | 2011-07-11 | 2013-01-17 | International Business Machines Corporation | Searching documentation across interconnected nodes in a distributed network |
US20130205128A1 (en) * | 2012-02-02 | 2013-08-08 | Microsoft Corporation | Self-Updating Functionality in a Distributed System |
US20130212234A1 (en) * | 2012-02-14 | 2013-08-15 | James P. Bartlett | Providing configurable workflow capabilities |
US20130332456A1 (en) * | 2010-11-11 | 2013-12-12 | Ofir Arkin | Method and system for detecting operating systems running on nodes in communication network |
US20140019495A1 (en) * | 2012-07-13 | 2014-01-16 | Facebook Inc. | Processing a file system operation in a distributed file system |
US20160057009A1 (en) * | 2014-08-21 | 2016-02-25 | Netapp, Inc. | Configuration of peered cluster storage environment organized as disaster recovery group |
US20160182497A1 (en) * | 2014-12-18 | 2016-06-23 | Ned M. Smith | Trusted ephemeral identifier to create a group for a serivce and/or to provide the service |
US9762589B2 (en) * | 2010-05-27 | 2017-09-12 | Salesforce.Com, Inc. | Methods and systems for generating a dynamic workflow in a multi-tenant database environment |
US9830143B2 (en) * | 2012-06-18 | 2017-11-28 | Tellabs Operations, Inc. | Methods and apparatus for performing in-service software upgrade for a network device using system virtulization |
US9965203B1 (en) * | 2012-12-19 | 2018-05-08 | Springpath, LLC | Systems and methods for implementing an enterprise-class converged compute-network-storage appliance |
US20180167448A1 (en) * | 2016-12-13 | 2018-06-14 | International Business Machines Corporation | Self-Recoverable Multitenant Distributed Clustered Systems |
US20190138297A1 (en) * | 2016-01-21 | 2019-05-09 | Alibaba Group Holding Limited | Method, apparatus, and system for hot-deploying application |
-
2019
- 2019-10-24 US US16/662,559 patent/US11216270B2/en active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6113652A (en) * | 1995-04-27 | 2000-09-05 | General Data Comm, Inc. | Communications network equipment capable of non-disruptive software upgrade |
US6505255B1 (en) * | 1999-04-29 | 2003-01-07 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Method for formatting and routing data between an external network and an internal network |
US20030221124A1 (en) * | 2002-05-23 | 2003-11-27 | International Business Machines Corporation | File level security for a metadata controller in a storage area network |
US20100153771A1 (en) * | 2005-09-30 | 2010-06-17 | Rockwell Automation Technologies, Inc. | Peer-to-peer exchange of data resources in a control system |
US20070276833A1 (en) * | 2006-05-10 | 2007-11-29 | Sybase, Inc. | System and Method for Assignment of Unique Identifiers in a Distributed Environment |
US20090313630A1 (en) * | 2007-03-29 | 2009-12-17 | Fujitsu Limited | Computer program, apparatus, and method for software modification management |
US20090158016A1 (en) * | 2007-12-12 | 2009-06-18 | Michael Paul Clarke | Use of modes for computer cluster management |
US9762589B2 (en) * | 2010-05-27 | 2017-09-12 | Salesforce.Com, Inc. | Methods and systems for generating a dynamic workflow in a multi-tenant database environment |
US20120110055A1 (en) * | 2010-06-15 | 2012-05-03 | Van Biljon Willem Robert | Building a Cloud Computing Environment Using a Seed Device in a Virtual Computing Infrastructure |
US20130332456A1 (en) * | 2010-11-11 | 2013-12-12 | Ofir Arkin | Method and system for detecting operating systems running on nodes in communication network |
US20130018868A1 (en) * | 2011-07-11 | 2013-01-17 | International Business Machines Corporation | Searching documentation across interconnected nodes in a distributed network |
US20130205128A1 (en) * | 2012-02-02 | 2013-08-08 | Microsoft Corporation | Self-Updating Functionality in a Distributed System |
US20130212234A1 (en) * | 2012-02-14 | 2013-08-15 | James P. Bartlett | Providing configurable workflow capabilities |
US9830143B2 (en) * | 2012-06-18 | 2017-11-28 | Tellabs Operations, Inc. | Methods and apparatus for performing in-service software upgrade for a network device using system virtulization |
US20140019495A1 (en) * | 2012-07-13 | 2014-01-16 | Facebook Inc. | Processing a file system operation in a distributed file system |
US9965203B1 (en) * | 2012-12-19 | 2018-05-08 | Springpath, LLC | Systems and methods for implementing an enterprise-class converged compute-network-storage appliance |
US20160057009A1 (en) * | 2014-08-21 | 2016-02-25 | Netapp, Inc. | Configuration of peered cluster storage environment organized as disaster recovery group |
US20160182497A1 (en) * | 2014-12-18 | 2016-06-23 | Ned M. Smith | Trusted ephemeral identifier to create a group for a serivce and/or to provide the service |
US20190138297A1 (en) * | 2016-01-21 | 2019-05-09 | Alibaba Group Holding Limited | Method, apparatus, and system for hot-deploying application |
US20180167448A1 (en) * | 2016-12-13 | 2018-06-14 | International Business Machines Corporation | Self-Recoverable Multitenant Distributed Clustered Systems |
Non-Patent Citations (5)
Title |
---|
Antoniu et al., "Peer-To-Peer Metadata Management for Knowledge Discovery Applications in Grids", 2008, SpringerLink (Year: 2008). * |
Li et al., "A Novel Collaborative Fault-Tolerance Mechanism for Metadata Server Cluster", 2007, IEEE (Year: 2007). * |
Ou et al., "Symmetric Active/Active Metadata Service for Highly Available Cluster Storage Systems", 2007, Citeseer (Year: 2007). * |
Sarr et al., "DTR: Distributed Transaction Routing in a Large Scale Network", 2008, Springer-Verlag Berlin Heidelberg (Year: 2008). * |
Tang et al., "SoMeta: Scalable Object-centric Metadata Management for High Performance Computing", 2017, IEEE (Year: 2017). * |
Also Published As
Publication number | Publication date |
---|---|
US20210124572A1 (en) | 2021-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11706296B2 (en) | Fault-tolerant and highly available configuration of distributed services | |
Toffetti et al. | Self-managing cloud-native applications: Design, implementation, and experience | |
US10341199B2 (en) | State synchronization in a service environment | |
US9118538B1 (en) | Method and system for configuring resources to enable resource monitoring | |
US20170012815A1 (en) | Software service discovery and service evolution management | |
US20120158966A1 (en) | Shared resource discovery, configuration, and consumption for networked solutions | |
US8819708B2 (en) | System and method to abstract hardware routing via a correlatable identifier | |
US11429935B2 (en) | Retrieving historical tags hierarchy plus related objects | |
CN103036986A (en) | Update notification provided on distributed application object | |
US11516070B1 (en) | Method and system for diagnosing and remediating service failures | |
CN114201263A (en) | Edge application management method based on cloud computing | |
US11657020B2 (en) | Method and apparatus for versioning cloud network configuration | |
US9906604B2 (en) | System and method for dynamic discovery of web services for a management console | |
US11216270B2 (en) | Metadata driven workflow semantics for management operations | |
US9288178B2 (en) | Inventory updating of an internet protocol (IP) alias within a highly available computing cluster | |
US10812618B2 (en) | Flight delivery architecture | |
US10728323B2 (en) | Method and apparatus for operating infrastructure layer in cloud computing architecture | |
US11256574B1 (en) | Method and system for backing up cloud native and non-cloud native applications | |
US11429166B2 (en) | System and method for managing device updates | |
US10972343B2 (en) | System and method for device configuration update | |
US10509638B1 (en) | Method and system for deploying third party device services through an enclosed appliance interface using containers | |
US11340928B2 (en) | System and method for efficient entity transition | |
US10776041B1 (en) | System and method for scalable backup search | |
CN108701035A (en) | The management of application attribute | |
US20150350340A1 (en) | Management of headless hardware in data center |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: DELL PRODUCTS L.P., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:IYER, PUSHKALA;SHETTY, SUDHIR VITTAL;SHARMA, ANURAG;AND OTHERS;SIGNING DATES FROM 20191009 TO 20191023;REEL/FRAME:050823/0837 |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS Free format text: PATENT SECURITY AGREEMENT (NOTES);ASSIGNORS:DELL PRODUCTS L.P.;EMC IP HOLDING COMPANY LLC;WYSE TECHNOLOGY L.L.C.;AND OTHERS;REEL/FRAME:051302/0528 Effective date: 20191212 |
|
AS | Assignment |
Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, NORTH CAROLINA Free format text: SECURITY AGREEMENT;ASSIGNORS:DELL PRODUCTS L.P.;EMC IP HOLDING COMPANY LLC;WYSE TECHNOLOGY L.L.C.;AND OTHERS;REEL/FRAME:051449/0728 Effective date: 20191230 |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:CREDANT TECHNOLOGIES INC.;DELL INTERNATIONAL L.L.C.;DELL MARKETING L.P.;AND OTHERS;REEL/FRAME:053546/0001 Effective date: 20200409 |
|
AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT, TEXAS Free format text: SECURITY INTEREST;ASSIGNORS:DELL PRODUCTS L.P.;EMC CORPORATION;EMC IP HOLDING COMPANY LLC;REEL/FRAME:053311/0169 Effective date: 20200603 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
AS | Assignment |
Owner name: EMC CORPORATION, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058002/0010 Effective date: 20211101 Owner name: SECUREWORKS CORP., DELAWARE Free format text: RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058002/0010 Effective date: 20211101 Owner name: WYSE TECHNOLOGY L.L.C., CALIFORNIA Free format text: RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058002/0010 Effective date: 20211101 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058002/0010 Effective date: 20211101 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058002/0010 Effective date: 20211101 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0742 Effective date: 20220329 Owner name: EMC CORPORATION, MASSACHUSETTS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0742 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0742 Effective date: 20220329 Owner name: SECUREWORKS CORP., DELAWARE Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0593 Effective date: 20220329 Owner name: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.), TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0593 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0593 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060438/0593 Effective date: 20220329 |