×

Techniques for managing state changes of a data storage system utilizing the object oriented paradigm

  • US 7,634,496 B1
  • Filed: 01/03/2006
  • Issued: 12/15/2009
  • Est. Priority Date: 01/03/2006
  • Status: Active Grant
First Claim
Patent Images

1. In a computerized device configured to obtain object trees representing state information of a data storage system, a method of managing state changes of the data storage system, the method comprising:

  • receiving a first object tree which represents the data storage system at a first time;

    receiving a second object tree which represents the data storage system at a second time, the second time being after the first time; and

    generating a set of tree comparison results from a comparison between the first object tree representing the data storage system at the first time and the second object tree representing the data storage system at the second time, the set of tree comparison results indicating whether state changes have occurred in the data storage system;

    wherein;

    receiving the first object tree which represents the data storage system at the first time includes receiving the first object tree, the first object tree including a first plurality of nodes logically connected in a first hierarchical manner, the first plurality of nodes representing an array of storage devices connected to the data storage system at the first time, the logical connections between the nodes of the first plurality of nodes representing a logical arrangement of the array of storage devices at the first time;

    receiving the second object tree which represents the data storage system at the second time includes receiving the second object tree, the second object tree including a second plurality of nodes logically connected in a second hierarchical manner, the second plurality of nodes representing an array of storage devices connected to the data storage system at the second time, the logical connections between the nodes of the second plurality of nodes representing a logical arrangement of the array of storage devices at the second time;

    the first object tree is a binary tree;

    the second object tree is a binary tree;

    a first node of the first plurality of nodes represents a first component of the array of storage devices;

    a second node of the first plurality of nodes represents a second component of the array of storage devices, the first component being distinct from the second component;

    a first node of the second plurality of nodes represents a third component of the array of storage devices;

    a second node of the second plurality of nodes represents a fourth component of the array of storage devices, the third component being distinct from the fourth component;

    the computerized device includes a kernel level machine state server and a user level object oriented application;

    the kernel level machine state server is configured to provide object trees in response to polling operations by the user level object oriented application;

    receiving the first object tree, receiving the second object tree, and generating the set of tree comparison results are carried out by the user level object oriented application;

    the user level object oriented application is an agent running on the computerized device on behalf of external client hosts;

    the data storage system is configured to store and retrieve data on behalf of the external client hosts;

    the first object tree has nodes in a first tree form;

    the second object tree has nodes in a second tree form; and

    generating the set of tree comparison results includes;

    identifying additional portions in the second tree form based on a comparison of the first tree form with the second tree form,identifying removed portions from the second tree form based on a comparison of the first tree form with the second tree form, andidentifying data modifications based on a comparison of node data of the nodes of the first and second object trees.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×