Source: https://patents.google.com/patent/US9875241B2/en
Timestamp: 2018-05-28 08:33:26
Document Index: 1211428

Matched Legal Cases: ['Application No. 200980148414', 'Application No. 2011', 'Application No. 2011', 'Application No. 2011', 'Application No. 2011', 'Application No. 2014', 'Application No. 10', 'Application No. 10']

US9875241B2 - Visualizing relationships between data elements and graphical representations of data element attributes - Google Patents
US9875241B2
US9875241B2 US12629466 US62946609A US9875241B2 US 9875241 B2 US9875241 B2 US 9875241B2 US 12629466 US12629466 US 12629466 US 62946609 A US62946609 A US 62946609A US 9875241 B2 US9875241 B2 US 9875241B2
US12629466
US20100138431A1 (en )
In general, metadata is stored in a data storage system. Summary data identifying one or more characteristics of each of multiple metadata objects stored in the data storage system is computed, and the summary data characterizing a given metadata object in association with the given metadata object is stored. A visual representation is generated of a diagram including nodes representing respective metadata objects and relationships among the nodes. Generating the visual representation includes superimposing a representation of a characteristic identified by the summary data characterizing a given metadata object in proximity to the node representing the given metadata object.
This application claims priority to U.S. Application Ser. No. 61/119,201, filed on Dec. 2, 2008, incorporated herein by reference.
This description relates to visualizing relationships between data elements and graphical representations of data element attributes.
Enterprises use complex data processing systems, such as data warehousing, customer relationship management, and data mining, to manage data. In many data processing systems, data are pulled from many different data sources, such as database files, operational systems, flat files, the Internet, etc, into a central repository. Often, data are transformed before being loaded in the data system. Transformation may include cleansing, integration, and extraction. To keep track of data, its sources, and the transformations that have happened to the data stored in a data system, metadata can be used. Metadata (sometimes called “data about data”) are data that describe other data's attributes, format, origins, histories, inter-relationships, etc. Metadata management can play a central role in complex data processing systems.
Sometimes a database user may want to investigate how certain data are derived from different data sources. For example, a database user may want to know how a dataset or data object was generated or from which source a dataset or data object was imported. Tracing a dataset back to sources from which it is derived is called data lineage tracing (or “upstream data lineage tracing”). Sometimes a database user may want to investigate how certain datasets have been used (called “downstream data lineage tracing” or “impact analysis”), for example, which application has read a given dataset. A database user may also be interested in knowing how a dataset is related to other datasets. For example, a user may want to know if a dataset is modified, what tables will be affected.
In a general aspect, a method includes storing metadata in a data storage system. Summary data identifying one or more characteristics of each of multiple metadata objects stored in the data storage system is computed, and the summary data characterizing a given metadata object in association with the given metadata object is stored. A visual representation is generated of a diagram including nodes representing respective metadata objects and relationships among the nodes. Generating the visual representation includes superimposing a representation of a characteristic identified by the summary data characterizing a given metadata object in proximity to the node representing the given metadata object.
Aspects can include one or more of the following features. The representation represents quality of the metadata object. The representation represents whether the metadata object has been recently updated. The representation represents a source from which the metadata object was last updated. The representation is associated with a legend that classifies the representation. Hovering a cursor over the visual representation generates a window containing information related to the representation. The representation represents a characteristic that is selectable by a user.
In a general aspect, a system includes means for storing metadata in a data storage system, and means for computing summary data identifying one or more characteristics of each of multiple metadata objects stored in the data storage system. A system also includes means for storing the summary data characterizing a given metadata object in association with the given metadata object, and means for generating a visual representation of a diagram including nodes representing respective metadata objects and relationships among the nodes. Generating the visual representation includes superimposing a representation of a characteristic identified by the summary data characterizing a given metadata object in proximity to the node representing the given metadata object.
In a general aspect, a computer system is configured to store metadata in a data storage system, and compute summary data identifying one or more characteristics of each of multiple metadata objects stored in the data storage system. The summary data characterizing a given metadata object in association with the given metadata object is stored, and a visual representation is generated of a diagram including nodes representing respective metadata objects and relationships among the nodes. Generating the visual representation includes superimposing a representation of a characteristic identified by the summary data characterizing a given metadata object in proximity to the node representing the given metadata object.
In a general aspect, a computer-readable medium stores a computer program, and the computer program includes instructions for causing a computer to store metadata in a data storage system. Summary data identifying one or more characteristics of each of multiple metadata objects stored in the data storage system is computed, and the summary data characterizing a given metadata object in association with the given metadata object is stored. A visual representation is generated of a diagram including nodes representing respective metadata objects and relationships among the nodes. Generating the visual representation includes superimposing a representation of a characteristic identified by the summary data characterizing a given metadata object in proximity to the node representing the given metadata object.
FIGS. 2A-2E are diagrams showing relationships between nodes of data.
FIGS. 3-5 are diagrams showing graphical overlays superimposed on nodes of data.
FIG. 1A is a block diagram showing the interrelationship of parts of a computing system 100 for developing, executing and managing graph-based computations. A graph-based computation is implemented using a “data flow graph” that is represented by a directed graph, with vertices in the graph representing components (either data files or processes), and the directed links or “edges” in the graph representing flows of data between components. A graphic development environment (GDE) 102 provides a user interface for specifying executable graphs and defining parameters for the graph components. The GDE may be, for example, the CO>OPERATING SYSTEM® GDE available from Ab Initio. The GDE 102 communicates with a repository 104 and a parallel operating environment 106. Also coupled to the repository 104 and the parallel operating environment 106 are a User Interface module 108 and an executive 110.
In some examples, repository 104 includes both a base data store 105A and an interface data store 105B. A base data store stores technical metadata, and may include applications along with their associated metadata, such as graphs and transforms. In addition to storing technical metadata, the base data store may also perform various kinds of analysis including dependency analysis (e.g., computing data lineage, as described in more detail below), or may receive and store the results of such analysis. In some examples, base data store 105A and interface data store 105B may be combined and implemented as a single data store.
While technical metadata is useful to developers in a variety of functions, there are many instances in which a higher level of metadata needs to be analyzed and manipulated. This higher level metadata, sometimes referred to as “enterprise” or “business” metadata is often useful in data analysis. Some examples of business metadata include data stewardship, which indicates which employee is responsible for the data, and data dictionaries, which are business definitions for files and fields within files. Business metadata goes beyond technical descriptions of data, and can be stored on a platform that is separate from the base data store 105A, such as an interface data store 105B.
The interface data store 105B may be a relational database that primarily serves to store business metadata. The interface data store may communicate with the base data store and extract its metadata, and it can also pull its information from a variety of other sources such as graphs, spreadsheets, logical models, database tables, or additional third party sources of data.
In some examples, the base data store 105A is a scalable object-oriented database system designed to support the development and execution of graph-based applications and the interchange of metadata between the graph-based applications and other systems (e.g., other operating systems). The repository 104 is a storage system for all kinds of metadata, including documentation, record formats (e.g., fields and data types of records in a table), transform functions, graphs, jobs, and monitoring information. The repository 104 also stores metadata objects that represent actual data to be processed by the computing system 100 including data stored in an external data store 112. An example of a repository that includes features for importing and managing metadata from various sources is described in co-pending U.S. Provisional Patent Application Ser. No. 61/119,148, entitled “DATA MAINTENANCE SYSTEM,” filed on Dec. 2, 2008, incorporated herein by reference. Similar features can be incorporated into the repository 104.
The parallel operating environment 106 accepts a specification of a data flow graph generated in the GDE 102 and generates computer instructions that correspond to the processing logic and resources defined by the graph. The parallel operating environment 106 then typically executes those instructions on a plurality of processors (which need not be homogeneous). An example of a suitable parallel operating environment is the CO>OPERATING SYSTEM®.
The repository 104 stores metadata including metadata objects for graph-based applications including graph components and other functional objects for building computation graphs. As stated previously, metadata stored in base data store 105A of repository 104 includes, for example, “technical” metadata (e.g., application-related business rules, record formats, and execution statistics), while the interface data store 105B may include business metadata such as user-defined documentation of job functions, roles, and responsibilities.
A user can view (and optionally, edit) information contained in and/or associated with the stored metadata through the User Interface module 108. A metadata viewing environment can represent various kinds of metadata objects using various graphical representations including icons and groupings of icons presented by the User Interface module 108 on a display. A metadata object can represent different types of data elements (e.g., data used as input or output of an executable program) and/or transformations (e.g., any type of data manipulation associated with a data processing entity, such as data flow graph, that processes or generates data). The viewing environment can show relationships as lines connecting graphical nodes that represent metadata objects or groupings of metadata objects, as described in more detail below. In some cases, the interface data store 105B can extract the relationships (such as lineage information) from the base data store 105A, or from other sources of data. The interface data store 105B may hold a high-level summary of data lineage. The lineage information (or other data dependency analysis) can be computed automatically within the system 100, or can be received from an external system, or from manual input. For example, the system 100 can receive lineage information that has been gathered and prepared by humans analyzing the code. The lineage information can be imported into the repository 104 from files in any of a variety of predetermined formats (e.g., in spreadsheets).
FIG. 2A shows an example of a metadata viewing environment. In some examples, the metadata viewing environment is an interface that runs on top of a browser. In the example of FIG. 2A, the metadata viewing environment displays information related to a data lineage diagram 200A. One example of metadata viewing environment is a web-based application that allows a user to visualize and edit metadata. Using the metadata viewing environment, a user can explore, analyze, and manage metadata using a standard Web browser from anywhere within an enterprise. Each type of metadata object has one or more views or visual representations. The metadata viewing environment of FIG. 2A illustrates a lineage diagram for target element 206A.
For example, the lineage diagram displays the end-to-end lineage for the data and/or processing nodes that represent the metadata objects stored in the repository 104; that is, the objects a given starting object depends on (its sources) and the objects that a given starting object affects (its targets). In this example, connections are shown between data elements 202A and transformations 204A, two examples of metadata objects. The metadata objects are represented by nodes in the diagram. Data elements 202A can represent datasets, tables within datasets, columns in tables, and fields in files, messages, and reports, for example. An example of a transformation 204A is an element of an executable that describes how a single output of a data element is produced. The connections between the nodes are based on relationships among the metadata objects.
FIG. 2B is illustrates a corresponding lineage diagram 200B for the same target element 206A shown in FIG. 2A except each element 202B is grouped and shown in a group based on a context. For example, data elements 202B are grouped in datasets 208B (e.g., tables, files, messages, and reports), applications 210B (that contain executables such as graphs and plans and programs, plus the datasets that they operate on), and systems 212B. Systems 212B are functional groupings of data and the applications that process the data; systems consist of applications and data groups (e.g., databases, file groups, messaging systems, and groups of datasets). Transformations 204B are grouped in executables 214B, applications 210B, and systems 212B. Executables such as graphs, plans or programs, read and write datasets. Parameters can set what groups are expanded and what groups are collapsed by default. This allows users to see the details for only the groups that are important to them by removing unnecessary levels of details.
Viewing relationships between data nodes can also be helpful in managing and maintaining metadata. For instance, a user may wish to know who changed a piece of metadata, what the source (or “source of record”) is for a piece of metadata, or what changes were made when loading or reloading metadata from an external source. In maintaining metadata, it may be desirable to allow designated users to be able to create metadata objects (such as business terms), edit properties of metadata objects (such as descriptions and relationships of objects to other objects), or delete obsolete metadata objects.
With the proper permissions, a user can edit the metadata in the metadata viewing environment. For example, a user can update descriptions of objects, create business terms, define relationships between objects (such as linking a business term to a field in a report or column in a table), move objects (for instance, moving a dataset from one application to another) or delete objects.
In FIG. 2C a corresponding lineage diagram 200C for target element 206A is shown, but the level of resolution is set to applications that are participating in the calculation for the target data element 206A. Specifically, applications 202C, 204C, 206C, 208C, and 210C are shown, as only those applications directly participate in the calculation for the target data element 206A. If a user wishes to view any part of the lineage diagram in a different level of resolution (e.g., to display more or less detail in the diagram), the user may activate the corresponding expand/collapse button 212C.
Viewing elements and relationships in the metadata viewing environment can be made more useful by adding information relevant to each of the nodes that represent them. One exemplary way to add relevant information to the nodes is to graphically overlay information on top of certain nodes. These graphics may show some value or characteristic of the data represented by the node, and can be any property in the metadata database. This approach has the advantage of combining two or more normally disparate pieces of information (relationships between nodes of data and characteristics of the data represented by the nodes) and endeavors to put useful information “in context.” For example, characteristics such as metadata quality, metadata freshness, or source of record information can be displayed in conjunction with a visual representation of relationships between data nodes. While some of this information may be accessible in tabular form, it may be more helpful for a user to view characteristics of the data along with the relationships between different nodes of data. A user can select which characteristic of the data will be shown on top of the data element and/or transformation nodes within the metadata viewing environment. Which characteristic is shown can also be set according to default system settings.
In the example of FIG. 3, node 300 also displays a graphical overlay 302 that contains information pertaining to the freshness of the metadata represented by the node. The “metadata freshness” refers to how recently the metadata has been updated or modified from an external source. By “hovering” a cursor over graphical overlay 302, a window 304 can be called up that contains more detail about the characteristic currently displayed by the graphical overlay 302. The graphical overlays may be color-coded, with the different colors of the graphics mapping to different meanings via legend 306.
In the example of FIG. 4, graphical overlays representing levels of metadata quality are superimposed on top of data element nodes including overlay 402 on node 400. Measures of metadata quality can be used by a business, for example, to profile a periodic (e.g., monthly) data feed sent from a business partner before importing or processing the data. This would enable the business to detect “bad” data (e.g., data with a percentage of invalid values higher than a threshold) so it doesn't pollute an existing data store by actions that may be difficult to undo. Like the previous example, by hovering a cursor over graphical overlay 402, a window 404 can be called up that contains more detail about the characteristic currently displayed by the graphical overlay 402.
In the example of FIG. 5, graphical overlays representing the type of the source of record are superimposed on top of data element and transformation nodes. Node 500 has an overlay 502 that indicates the source of record is an “Active Import Source.” This means that the metadata was imported automatically from a source such as a spreadsheet file. By hovering a cursor over graphical overlay 502, a window 504 can be called up that contains details such as the type of file used for the import (an Excel spreadsheet in this example), the name of the file, the owner of the file, and the date of the import. Node 506 has an overlay 508 that indicates the source of record is “Manually Maintained.” This means that the metadata was modified manually by a user (e.g., using the User Interface Module 108). By hovering a cursor over the graphical overlay 508, a window 510 can be called up that contains details such as the name of the user that modified the metadata and the date of the modification.
The record storage and retrieval approach described above, including the modules of the system 100 and the procedures performed by the system 100, can be implemented using software for execution on a computer. For instance, the software forms procedures in one or more computer programs that execute on one or more programmed or programmable computer systems (which may be of various architectures such as distributed, client/server, or grid) each including at least one processor, at least one data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device or port, and at least one output device or port. The software may form one or more modules of a larger program, for example, that provides other services related to the design and configuration of computation graphs. The nodes and elements of the graph can be implemented as data structures stored in a computer readable medium or other organized data conforming to a data model stored in a data repository.
The approaches described above can be implemented using software for execution on a computer. For instance, the software forms procedures in one or more computer programs that execute on one or more programmed or programmable computer systems (which may be of various architectures such as distributed, client/server, or grid) each including at least one processor, at least one data storage system (including volatile and non-volatile memory and/or storage elements), at least one input device or port, and at least one output device or port. The software may form one or more modules of a larger program, for example, that provides other services related to the design and configuration of computation graphs. The nodes and elements of the graph can be implemented as data structures stored in a computer readable medium or other organized data conforming to a data model stored in a data repository.
storing, in a data storage system, at least three objects, the objects including an object representing transformation of data, and at least two dataset objects representing stored data in datasets;
storing, in a data storage system, data lineage information linking the at least two dataset objects to the object representing the transformation of data;
computing summary data for data corresponding to the at least two dataset objects stored in the data storage system, including computing a percentage of data having valid or invalid values;
generating a data lineage diagram that includes a visual representation of the data lineage information, in which the data lineage diagram includes at least two nodes that represent the at least two dataset objects, a third node that represents the object representing the transformation of data, and directed links between each of the at least two nodes that represent a dataset object and the third node that represents the object representing transformation of data, wherein the directed links represent flows of data between the dataset objects and the object representing transformation of data; and
including in the data lineage diagram, a representation of the summary data in proximity to each of the nodes that represent the dataset objects, in which the nodes that represent the dataset objects are connected to directed links representing flows of data between the dataset objects and the object representing transformation of data, wherein the representation of the summary data is based on the percentage of the data in the respective dataset objects having valid or invalid values.
2. The method of claim 1, wherein the representation of the summary data is associated with a legend that classifies the representation of the summary data.
3. The method of claim 1, wherein hovering a cursor over the visual representation generates a window containing information related to the representation of the summary data.
4. The method of claim 1, wherein the representation of the summary data represents a characteristic that is selectable by a user.
means for storing, in a data storage system, at least three objects, the objects including an object representing transformation of data, and at least two dataset objects representing stored data in datasets;
means for storing, in a data storage system, data lineage information linking the at least two dataset objects to the object representing the transformation of data;
means for computing summary data for data corresponding to the at least two dataset objects stored in the data storage system, including computing a percentage of data having valid or invalid values;
means for generating a data lineage diagram that includes a visual representation of the data lineage information, in which the data lineage diagram includes at least two nodes that represent the at least two dataset objects, a third node that represents the object representing the transformation of data, and directed links between each of the at least two nodes that represent a dataset object and the third node that represents the object representing transformation of data, wherein the directed links represent flows of data between the dataset objects represented by the nodes and the object representing transformation of data;
means for including in the data lineage diagram, a representation of the summary data in proximity to each of the nodes that represent the dataset objects, in which the nodes that represent the dataset objects are connected to directed links representing flows of data between the dataset objects and the object representing transformation of data, wherein the representation of the summary data is based on the percentage of the data in the respective dataset objects having valid or invalid values.
store, in a data storage system, at least three objects, the objects including an object representing a transformation of data, and at least two dataset objects representing stored data in datasets;
store, in a data storage system, data lineage information linking at least two dataset objects to the object representing the transformation of data;
compute summary data for data corresponding to the at least two dataset objects stored in the data storage system, including computing a percentage of data having valid or invalid values;
generate a data lineage diagram that includes a visual representation of the data lineage information, in which the data lineage diagram includes at least two nodes that represent the at least two dataset objects, a third node that represents the object representing the transformation of data, and directed links between each of the at least two nodes that represent a dataset object and the third node that represents the object representing transformation of data, wherein the directed links represent flows of data between the dataset objects and the object representing transformation of data;
7. A computer-readable device storing a computer program, the computer program including executable instructions for causing a computer to:
store, in a data storage system, at least three objects, the objects including an object representing transformation of data, and at least two dataset objects representing stored data in datasets;
store, in a data storage system, data lineage information linking the at least two dataset objects to the object representing the transformation of data;
8. The method of claim 1, further including receiving a selection from a user to determine which of the computed characteristics is the characteristic whose representation is supplemented with the visual representation.
9. The system of claim 5, wherein the representation of the summary data is associated with a legend that classifies the representation of the summary data.
10. The system of claim 5, further including means for hovering a cursor over the visual representation to generate a window containing information related to the representation of the summary data.
11. The system of claim 5, wherein the representation of the summary data represents a characteristic that is selectable by a user.
12. The system of claim 5, further including means for receiving a selection from a user to determine which of the computed characteristics is the characteristic whose representation is supplemented with the visual representation.
13. The computer system of claim 6, wherein the representation of the summary data is associated with a legend that classifies the representation of the summary data.
14. The computer system of claim 6, wherein the processor is further configured to enable a cursor to be hovered over the visual representation to generate a window containing information related to the representation of the summary data.
15. The computer system of claim 6, wherein the representation of the summary data represents a characteristic that is selectable by a user.
16. The computer system of claim 6, wherein the processor is further configured to receive a selection from a user to determine which of the computed characteristics is the characteristic whose representation is supplemented with the visual representation.
17. The computer-readable device of claim 7, wherein the representation of the summary data is associated with a legend that classifies the representation of the summary data.
18. The computer-readable device of claim 7, wherein the computer program further includes executable instructions for causing the computer to enable a cursor to be hovered over the visual representation to generate a window containing information related to the representation of the summary data.
19. The computer-readable device of claim 7, wherein the representation of the summary data represents a characteristic that is selectable by a user.
20. The computer-readable device of claim 7, wherein the computer program further includes executable instructions for causing the computer to receive a selection from a user to determine which of the computed characteristics is the characteristic whose representation is supplemented with the visual representation.
US12629466 2008-12-02 2009-12-02 Visualizing relationships between data elements and graphical representations of data element attributes Active US9875241B2 (en)
US11920108 true 2008-12-02 2008-12-02
US12629466 US9875241B2 (en) 2008-12-02 2009-12-02 Visualizing relationships between data elements and graphical representations of data element attributes
US20100138431A1 true US20100138431A1 (en) 2010-06-03
US9875241B2 true US9875241B2 (en) 2018-01-23
US12629466 Active US9875241B2 (en) 2008-12-02 2009-12-02 Visualizing relationships between data elements and graphical representations of data element attributes
US12629483 Active US9767100B2 (en) 2008-12-02 2009-12-02 Visualizing relationships between data elements
US15694192 Pending US20170364514A1 (en) 2008-12-02 2017-09-01 Visualizing relationships between data elements
US (3) US9875241B2 (en)
KR (4) KR20150042867A (en)
CA (4) CA2940960A1 (en)
WO (2) WO2010065623A1 (en)
JP6116168B2 (en) * 2012-09-14 2017-04-19 キヤノン株式会社 The information processing apparatus and method
CN103902653B (en) * 2014-02-28 2017-08-01 珠海多玩信息技术有限公司 A method and apparatus for data warehouse tables constructed kinship FIG.
JPH0833895A (en) 1994-07-25 1996-02-06 Ataka Kogyo Kk Axial-flow impeller in agitated aerator
US20070061353A1 (en) 2005-09-12 2007-03-15 Bobbin Nathan V User interface options of a data lineage tool
US20080183658A1 (en) 2007-01-29 2008-07-31 Business Objects, S.A. Apparatus and method for analyzing impact and lineage of multiple source data objects
US20090216728A1 (en) 2008-02-26 2009-08-27 Jeffrey Brainerd Graphic representations of data relationships
US20110320460A1 (en) 2010-06-28 2011-12-29 International Business Machines Corporation Efficient representation of data lineage information
US20120059857A1 (en) 2010-09-03 2012-03-08 Jackson Jr Robert Lewis Presentation of data object hierarchies
US20120209656A1 (en) 2006-05-05 2012-08-16 International Business Machines Corporation Navigational cube for matching vendor offerings to service provider requirements
US20120254805A1 (en) 2011-03-30 2012-10-04 Mickael Pic System for Displaying Hierarchical Information
US8577852B2 (en) 2006-03-23 2013-11-05 Infaxiom Group, Llc Automated records inventory and retention schedule generation system
US20130332423A1 (en) 2012-06-12 2013-12-12 Accenture Global Services Limited Data lineage tracking
US20140114907A1 (en) 2012-10-18 2014-04-24 Oracle International Corporation Data lineage system
Australian Office Action in 2009-322441, dated Dec. 16, 2015, 4 pages.
Chinese Office Action, Application No. 200980148414.6, dated May 10, 2013, 7 pages.
International Preliminary Report on Patentability, PCT/US2013/062369, dated Apr. 9, 2015 (8 pages).
International Search Report & Written Opinion issued in PCT application No. PCT/US09/66390, dated Jan. 20, 2010, 7 pages.
International Search Report & Written Opinion issued in PCT application No. PCT/US09/66394, dated Jan. 20, 2010, 6 pages.
International Search Report & Written Opinion, PCT/US2013/062369, dated Feb. 28, 2014, 10 pages.
International Search Report & Written Opinion, PCT/US2013/076407, dated Jun. 18, 2014, 8 pages.
International Search Report and Written Opinion in PCT/US14/26133, dated Aug. 21, 2014 (9 pages).
Japanese Office Action (with English translation), Application No. 2011-514796, dated Jun. 20, 2013, 9 pages.
Japanese Office Action (with English translation), Application No. 2011-539651, dated Oct. 11, 2013, 4 pages.
Japanese Office Action (with English translation), Application No. 2011-539652, dated Dec. 16, 2013, 8 pages.
Japanese Office Action (with English translation), Application No. 2011-539652, dated Nov. 14, 2014.
Japanese Office Action (with English translation), Application No. 2014-232962, dated Nov. 13, 2015.
Korean Office Action (with English translation), Application No. 10-2011-7013820, dated Oct. 21, 2015, 14 pages.
Korean Office Action (with English translation), Application No. 10-2011-7014656, dated Oct. 21, 2015, 14 pages.
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration, for Application No. PCT/US09/47735, dated Jul. 23, 2009, 6 pages.
Parker et al., Visualization of Large Nested Graphs in 3D: Navigation and Interaction, University of New Brunswick, Jul. 18, 2000; "http://com.unh.edu/vislab/PDFs/visualnav.pdf".
Robertson et al., "Polyarchy Visualization: Visualizing Multiple Intersecting Hierarchies," Computer Human Interaction-CHI , pp. 423-430, 2002.
Robertson et al., "Polyarchy Visualization: Visualizing Multiple Intersecting Hierarchies," Computer Human Interaction—CHI , pp. 423-430, 2002.
Supplementary European Search Report in EP14768183 dated Oct. 4, 2016 (5 pages).
Supplementary European Search Report, EP 09767701, dated Sep. 25, 2012, 7 pages.
Supplementary European Search Report, EP 09831039, dated May 15, 2012, 9 pages.
Supplementary European Search Report, EP 09831042, dated May 4, 2012, 8 pages.
Takahashi, Kenji, "An Analysis of Requirements Elicitation Process," IEICE Technical Report, Institute of Electronics, Information and Communication Engineers, vol. 92, No. 128, 47:54 (1992).
Transaction History, PAIR, U.S. Appl. No. 12/143,362, dated Jul. 11, 2013, 2 pages.
Transaction History, PAIR, U.S. Appl. No. 12/629,483, dated Jul. 11, 2013, 2 pages.
Transaction History, PAIR, U.S. Appl. No. 13/835,199, dated Jul. 11, 2013, 1 page.
EP2370873A1 (en) 2011-10-05 application
CN102239468B (en) 2017-06-06 grant
KR20110091544A (en) 2011-08-11 application
KR101639292B1 (en) 2016-07-13 grant
CA2940960A1 (en) 2010-06-10 application
WO2010065627A1 (en) 2010-06-10 application
CN102239468A (en) 2011-11-09 application
JP5944973B2 (en) 2016-07-05 grant
JP6085379B2 (en) 2017-02-22 grant
US20100138420A1 (en) 2010-06-03 application
US20170364514A1 (en) 2017-12-21 application
US20100138431A1 (en) 2010-06-03 application
EP2370887A1 (en) 2011-10-05 application
CN102239458A (en) 2011-11-09 application
KR20150042292A (en) 2015-04-20 application
CA2744463A1 (en) 2010-06-10 application
JP2012510689A (en) 2012-05-10 application
US9767100B2 (en) 2017-09-19 grant
WO2010065623A1 (en) 2010-06-10 application
EP2370873A4 (en) 2012-06-13 application
JP2012510688A (en) 2012-05-10 application
WO2010065627A9 (en) 2010-08-05 application
JP5883648B2 (en) 2016-03-15 grant
CA2744240A1 (en) 2010-06-10 application
JP2016085761A (en) 2016-05-19 application
KR101644418B1 (en) 2016-08-01 grant
CN102239458B (en) 2015-07-15 grant
KR20150042867A (en) 2015-04-21 application
KR20110091558A (en) 2011-08-11 application
JP2015062134A (en) 2015-04-02 application
EP2370887A4 (en) 2012-06-13 application
CA2938752A1 (en) 2010-06-10 application
JP5847585B2 (en) 2016-01-27 grant
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BATOR, ERIK;GOULD, JOEL;RADIVOJEVIC, DUSAN;SIGNING DATES FROM 20091208 TO 20091210;REEL/FRAME:023721/0156
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AB INITIO ORIGINAL WORKS LLC;REEL/FRAME:023966/0710
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AB INITIO SOFTWARE LLC;REEL/FRAME:023966/0712