Back to results
US 12,743,195 B2Granted
Collaborative augmentation, exploration, and maintenance of project hierarchies
AssigneeJeanifier, Inc.
InventorSteven Ganz
Life of this patent
Estimating the term…
Abstract
Apparatuses are provided for aiding collaborative innovation and sharing of related information across servers and across organizations through appropriate graphical representations and augmentations of directed acyclic graphs encoding semantic project structure and related models.
Claims159
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- wherein the processor-implemented engine is directed according to instructions stored in the memory, for each input tree of one or more input trees, that input tree comprising a root node and for each other node a parent node of that other node, the one or more input trees encompassed by a directed acyclic graph (DAG) in which that input tree is inverted such that that other node is related as a parent in the DAG to the parent node of that other node in that input tree, to embed a respective displayed subtree of that input tree comprising the root node of that input tree and consisting of a connected set of descendants of the root node of that input tree within a substrate tree, each displayed node of the respective displayed subtree of that input tree being indicated by a respective substrate node of the substrate tree, the respective displayed subtree of that input tree being inverted within the substrate tree such that a non-root node of the respective displayed subtree of that input tree is related as a parent in the substrate tree to the parent node of the non-root node in that input tree, the non-root node not being the root node of that input tree, the substrate node being represented on the display, by:
- a) receiving the one or more input trees;
- b) for each input tree of the one or more input trees, presenting on a display coupled to the processor-implemented engine via the substrate tree the respective displayed subtree of that input tree;
- and
- c) upon direction by a user, expanding a given displayed node without children in the respective displayed subtree of a given input tree of the one or more input trees and with at least one parent displayed node being related as a parent in the DAG to the given displayed node, embedding an extended displayed subtree of the given input tree subsuming the respective displayed subtree for the given displayed node and comprising the at least one parent displayed node within the substrate tree, the at least one parent displayed node being related as a child in the extended displayed subtree to the given displayed node, by:
- i) dynamically allocating in the substrate tree a respective list of at least one parent substrate node for the given displayed node, each parent substrate node of the respective list of at least one parent substrate node indicating a parent displayed node of the at least one parent displayed node, the respective list of at least one parent substrate node comprising a first parent substrate node and a last parent substrate node;
- and
- ii) moving the respective substrate node indicating the given displayed node to descend in the substrate tree from the last parent substrate node of the respective list of at least one parent substrate node for the given displayed node,
- whereby enabling the user to explore the given input tree as inverted within the substrate tree.
9 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to:
- a) receive a localized directed acyclic graph (DAG) comprising a plurality of local entities and a plurality of local associations, the plurality of local entities subsuming a plurality of local projects, the plurality of local projects comprising at least one locus project, each local association of the plurality of local associations relating a child entity and a parent entity of the plurality of local entities, each local entity of the plurality of local entities being ascended or descended in the localized DAG from a respective at least one source locus project of the at least one locus project for that local entity by a respective at least one source path;
- b) visually present each locus project of the at least one locus project on a display coupled to the processor-implemented engine, that locus project indicated by at least one selected from:
- i) a context root node of a respective context tree rooted at that locus project, a respective context subtree rooted at each node of the respective context tree, the respective context tree being the respective context subtree for the context root node;
- or
- ii) a substructure root node of a respective substructure tree rooted at that locus project, a respective substructure subtree rooted at each node of the respective substructure tree, the respective substructure tree being the respective substructure subtree for the substructure root node,
- the context root node and the substructure root node coinciding where both indicate that locus project;
- and
- c) upon direction by a user, collapse and expand at least one selected from:
- i) the respective context subtree for a given context node indicating a given context project of the plurality of local projects, within the respective context tree for a given context source locus project of the respective at least one source locus project for the given context project, wherein upon expansion of the given context node, prior to presenting a plurality of presented given context project ancestor entities that are ascended in the localized DAG from the given context project, the plurality of presented given context project ancestor entities comprising at least one already-visible proper context entity, each already-visible proper context entity of the at least one already-visible proper context entity indicated by a respective already-visible proper context node of the respective context tree for the given context source locus project, the respective already-visible proper context node already visible on the display as a child of a respective already-visible parent context node, the apparatus selectively collapses the respective already-visible parent context node for each already-visible proper context entity of the at least one already-visible proper context entity;
- or
- ii) the respective substructure subtree for a given substructure node indicating a given substructure project of the plurality of local projects, within the respective substructure tree for a given substructure source locus project of the respective at least one source locus project for the given substructure project, wherein upon expansion of the given substructure node, prior to presenting a plurality of presented given substructure project descendant entities that are descended in the localized DAG from the given substructure project, the plurality of presented given substructure project descendant entities comprising at least one already-visible proper substructure entity, each already-visible proper substructure entity of the at least one already-visible proper substructure entity indicated by a respective already-visible proper substructure node of the respective substructure tree for the given substructure source locus project, the respective already-visible proper substructure node already visible on the display as a child of a respective already-visible parent substructure node, the apparatus selectively collapses the respective already-visible parent substructure node for each already-visible proper substructure entity of the at least one already-visible proper substructure entity,
- whereby enabling the user to explore the plurality of local entities as ascended or descended in the localized DAG from each locus project of the at least one locus project, via the respective context tree for that locus project or the respective substructure tree for that locus project, respectively, with each entity of the plurality of local entities indicated by at most one visible node.
13 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a client, networking hardware supporting the processor-implemented engine in acting as a server communicating with one or more computing devices comprising the client;
- or
- B. the apparatus sharing at least a sub-memory with the client, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to:
- a) maintain a directed acyclic graph (DAG) comprising a plurality of entities and a plurality of associations, the plurality of entities subsuming a plurality of projects, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities;
- and
- b) establish a social refinement association in the plurality of associations, the child entity and the parent entity for the social refinement association being of the plurality of projects, the child entity for the social refinement association being created by a first user and being associated with a first organization and the parent entity for the social refinement association being created by a second user and being associated with a second organization, the social refinement association being a mutually approved, directed connection, by either:
- i) the child entity for the social refinement association being an applying project, the parent entity for the social refinement association being an applied project, the client being a first client:
- A) upon direction from the first client, checking the first user into the applying project, the applying project becoming a current project for the first user;
- B) upon direction from the first client, recording application by the first user that the current project for the first user refine the applied project;
- and
- C) upon direction from a second client, recording acceptance by the second user that the applied project be refined by the applying project;
- or
- ii) the parent entity for the social refinement association being an inviting project, the child entity for the social refinement association being an invited project, the client being a second client:
- A) upon direction from the second client, checking the second user into the inviting project, the inviting project becoming a current project for the second user;
- B) upon direction from the second client, recording invitation by the second user that the current project for the second user be refined by the invited project;
- and
- C) upon direction from a first client, recording acceptance by the first user that the invited project refine the inviting project,
- whereby supporting the client in enabling the first user or the second user, checked into a participating project, the participating project being either the child entity for the social refinement association or the parent entity for the social refinement association, respectively, to implicitly request association of the participating project with either the parent entity for the social refinement association or the child entity for the social refinement association, respectively, the participating project at that point being unrelated to the parent entity for the social refinement association or to the child entity for the social refinement association, respectively.
20 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a server, networking hardware supporting the processor-implemented engine in acting as a client communicating with one or more computing devices comprising the server;
- or
- B. the apparatus sharing at least a sub-memory with the server, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to:
- a) receive a first localized directed acyclic graph (DAG) of a plurality of localized DAGs from the server, each localized DAG of the plurality of localized DAGs extracted by the server from a global DAG, the global DAG comprising a plurality of entities and a plurality of associations, the plurality of entities subsuming a plurality of projects, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities, the plurality of associations subsuming a plurality of refinement associations, each refinement association of the plurality of refinement associations indicating that the child entity for that refinement association refines the parent entity for that refinement association, wherein each localized DAG of the plurality of localized DAGs comprises:
- i) a plurality of local entities comprising a constituent entity corresponding to each reachable entity of a plurality of particular reachable entities within the plurality of entities;
- and
- ii) a plurality of local associations comprising a constituent association corresponding to each association of at least one connected association of the plurality of associations, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity,
- the plurality of local associations of the first localized DAG comprising a first non-social association, the child entity and the parent entity for the first non-social association both being of the plurality of projects and both being created by a first user and being associated with a first organization, the first non-social refinement association not requiring mutual approval;
- b) present the first localized DAG to a user, the user being associated with the organization;
- c) upon direction from the user with respect to a local inviting project or a local applying project of the plurality of local entities of the first localized DAG, indicating an inviting project or an applying project, respectively, of the plurality of projects, check the user into the inviting project or the applying project, respectively, the inviting project or the applying project, respectively, becoming a current project for the user;
- d) receive a second localized DAG of the plurality of localized DAGs from the server, the plurality of local associations of the second localized DAG comprising a second non-social association, the child entity and the parent entity for the second non-social association both being of the plurality of projects and both being created by a second user and being associated with a second organization, the second non-social refinement association not requiring mutual approval;
- e) present the second localized DAG to the user;
- f) upon direction from the user with respect to a local invited project or a local applied project, respectively, of the plurality of local entities of the second localized DAG, indicating an invited project or an applied project, respectively, of the plurality of projects, respectively, direct the server to request of a second user associated with the second organization that the inviting project be refined by the invited project or that the applying project refine the applied project, respectively;
- g) upon notification by the server of acceptance by the second user that the inviting project be refined by the invited project or that the applying project refine the applied project, respectively, maintain a social refinement association in the plurality of refinement associations, the social refinement association relating a server identifier for the server and a server database record identifier for the invited project as the child entity and the inviting project as the parent entity or relating the applying project as the child entity and the server identifier for the server and a server database record identifier for the applied project as the parent entity, respectively;
- and
- h) present the second localized DAG to the user as being connected to the first localized DAG by way of the social refinement association,
- whereby enabling the first user or the second user, participating in a participating project, being either the child entity for the social refinement association or the parent entity for the social refinement association, respectively, to implicitly request association of the participating project with either the parent entity for the social refinement association or the child entity for the social refinement association, respectively.
19 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a client, networking hardware supporting the processor-implemented engine in acting as a server communicating with one or more computing devices comprising the client;
- or
- B. the apparatus sharing at least a sub-memory with the client, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to:
- a) receive identification of at least one locus project of a plurality of projects from a client;
- b) extract a respective localized directed acyclic graph (DAG) localized to the at least one locus project, the respective localized DAG for the at least one locus project being of a plurality of localized DAGs, from a global DAG comprising a plurality of entities and a plurality of associations, the plurality of entities subsuming the plurality of projects, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities;
- c) perform a reconfiguration upon the respective localized DAG for the at least one locus project;
- and
- d) transfer the respective localized DAG for the at least one locus project to the client,
- the respective localized DAG for each at least one locus project of the plurality of projects comprising:
- 1) a respective plurality of local entities comprising a constituent entity corresponding to each reachable entity of a plurality of particular reachable entities within the plurality of entities, each reachable entity of the plurality of particular reachable entities being ascended or descended in the global DAG from a respective at least one source locus project of that at least one locus project by a respective at least one source path, at least one constituent locus project of that plurality of locus projects corresponding to that at least one locus project;
- and
- 2) a respective plurality of local associations, each local association of the respective plurality of local associations relating a child local entity and a parent local entity of the respective plurality of local entities, the respective plurality of local associations comprising a constituent association corresponding to each association of the plurality of associations on the respective at least one source path for each reachable entity of the plurality of particular reachable entities, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity, wherein:
- i) the plurality of associations subsumes a plurality of refinement associations, each refinement association of the plurality of refinement associations indicating that the child entity for that refinement association refines the parent entity for that refinement association,
- the reconfiguration causing, for each inheritable entity of a respective at least one inheritable entity of the plurality of entities for the at least one locus project, that inheritable entity being descended in the global DAG from a respective inheritable child entity by a respective inheritable entity path, a respective proper refinement ancestor project of the plurality of projects being related as a parent in the global DAG to the respective inheritable child entity and being ascended in the global DAG from a respective at least one inheriting locus project of the respective at least one source locus project for the respective proper refinement ancestor project by a respective inheritance path of the respective at least one source path for the respective proper refinement ancestor project by way of a respective sequence of one or more refinement associations of the plurality of refinement associations, a respective at least one constituent inheriting locus project of the at least one constituent locus project corresponding to the respective at least one inheriting locus project for that inheritable entity, a deep inheritable entity of the respective at least one inheritable entity not being the respective inheritable child entity:
- A) where that inheritable entity is a non-locus-descended inheritable entity that is not descended in the global DAG from any locus project of the at least one locus project:
- I) the respective plurality of local entities for the at least one locus project to comprise a respective inherited entity corresponding to the non-locus-descended inheritable entity;
- and
- II) the respective plurality of local associations for the at least one locus project to comprise, for each of the respective at least one inheriting locus project for that inheritable entity, a respective inheriting association with the respective inherited entity corresponding to the non-locus-descended inheritable entity as the child local entity and with the constituent entity corresponding to that inheriting locus project being ascended in the respective localized DAG for the at least one locus project from the parent local entity;
- and
- B) where that inheritable entity is a locus-descended inheritable entity that is descended in the global DAG from a locus project of the at least one locus project:
- I) the respective plurality of local associations for the at least one locus project to comprise a respective merging association with an already-inherited-or-constituent entity corresponding to the locus-descended inheritable entity as the child local entity and with a parent inherited entity corresponding to a parent inheritable entity that is related as a parent to the locus-descended inheritable entity along the respective inheritable entity path as the parent local entity,
- whereby supporting the client in enabling a user to request the respective localized DAG for the at least one locus project and then to visualize the respective inherited entity corresponding to the deep inheritable entity as descended from one or more constituent inheriting locus projects of the respective at least one constituent inheriting locus project for the deep inheritable entity within an integrated hierarchy with parents comprising at least one inherited parent entity corresponding to an inheritable parent entity on the respective inheritable entity path for the deep inheritable entity and to subsequently initiate an operation with respect to the deep inheritable entity, the deep inheritable entity being neither ascended nor descended in the global DAG from the respective at least one inheriting locus project for the deep inheritable entity.
24 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a server, networking hardware supporting the processor-implemented engine in acting as a client communicating with one or more computing devices comprising the server;
- or
- B. the apparatus sharing at least a sub-memory with the server, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to request and receive a localized directed acyclic graph (DAG) from the server, the localized DAG extracted by the server from a global DAG, the global DAG comprising a plurality of entities and a plurality of associations, the plurality of entities subsuming a plurality of projects, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities, wherein the localized DAG comprises:
- 1) a plurality of local entities comprising a constituent entity corresponding to each reachable entity of a plurality of particular reachable entities within the plurality of entities, each reachable entity of the plurality of particular reachable entities being ascended or descended in the global DAG from a respective at least one source locus project of at least one locus project of the plurality of projects by a respective at least one source path, at least one constituent locus project corresponding to the at least one locus project, a respective at least one source constituent locus project of the at least one constituent locus project corresponding to the respective at least one source locus project;
- and
- 2) a plurality of local associations, each local association of the plurality of local associations relating a child local entity and a parent local entity of the plurality of local entities, the plurality of local associations comprising a constituent association corresponding to each association of the plurality of associations on the respective at least one source path for each reachable entity of the plurality of particular reachable entities, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity,
- the localized DAG having been reconfigured by the server, presenting to a user who navigates to the at least one locus project a manner of exploring the localized DAG through related entities, wherein:
- a) the plurality of associations subsumes a plurality of refinement associations, each refinement association of the plurality of refinement associations indicating that the child entity for that refinement association refines the parent entity for that refinement association;
- and
- b) the apparatus presents to the user a respective inherited entity of the plurality of local entities corresponding to each inheritable entity of at least one inheritable entity of the plurality of entities as descended in the localized DAG from one or more constituent inheriting locus projects of a respective at least one constituent inheriting locus project of the at least one constituent locus project, each inheritable entity of the at least one inheritable entity being descended in the global DAG from a respective inheritable child entity by a respective inheritable entity path, a respective proper refinement ancestor project of the plurality of projects being related as a parent in the global DAG to the respective inheritable child entity and being ascended in the global DAG from a respective at least one inheriting locus project of the respective at least one source locus project by a respective inheritance path of the respective at least one source path for the respective proper refinement ancestor project by way of a respective sequence of one or more refinement associations of the plurality of refinement associations, the respective at least one constituent inheriting locus project corresponding to the respective at least one inheriting locus project, a deep inheritable entity of the at least one inheritable entity not being the respective inheritable child entity, the localized DAG having been reconfigured such that for each inheritable entity of the at least one inheritable entity:
- A) where that inheritable entity is a non-locus-descended inheritable entity that is not descended in the global DAG from any locus project of the at least one locus project:
- I) the plurality of local entities comprises the respective inherited entity corresponding to the non-locus-descended inheritable entity;
- and
- II) the plurality of local associations comprises, for each of the respective at least one inheriting locus project for that inheritable entity, a respective inheriting association with the respective inherited entity corresponding to the non-locus-descended inheritable entity as the child local entity and with the constituent entity corresponding to that inheriting locus project being ascended in the localized DAG from the parent local entity;
- and
- B) where that inheritable entity is a locus-descended inheritable entity that is descended in the global DAG from a locus project of the at least one locus project:
- I) the plurality of local associations comprises a respective merging association with an already-inherited-or-constituent entity corresponding to the locus-descended inheritable entity as the child local entity and with a parent inherited entity corresponding to a parent inheritable entity that is related as a parent to the locus-descended inheritable entity along the respective inheritable entity path as the parent local entity,
- whereby enabling the user to visualize as descended in the localized DAG from the one or more constituent inheriting locus projects and to initiate an operation with respect to the respective inherited entity corresponding to the deep inheritable entity within an integrated hierarchy with parents comprising at least one inherited parent entity corresponding to an inheritable parent entity on the respective inheritable entity path for the deep inheritable entity, the deep inheritable entity being neither ascended nor descended in the global DAG from the respective at least one inheriting locus project for the deep inheritable entity.
20 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine;
- networking hardware supporting the processor-implemented engine in communicating with one or more computing devices,
- the processor-implemented engine being directed according to instructions stored in the memory to:
- a) maintain a directed acyclic graph (DAG) of a plurality of DAGs, each DAG of the plurality of DAGs comprising:
- i) a respective plurality of entities subsuming a respective plurality of local entities and a respective plurality of remote entities, no entity of the respective plurality of entities for that DAG being both of the respective plurality of local entities for that DAG and of the respective plurality of remote entities for that DAG, each remote entity of the respective plurality of remote entities for that DAG being indicated by sufficient information to retrieve related entities for that remote entity;
- and
- ii) a respective plurality of associations, each association of the respective plurality of associations relating a child entity and a parent entity of the respective plurality of entities, the respective plurality of associations subsuming a respective plurality of immediate associations and a respective plurality of deferred associations, no association of the respective plurality of associations for that DAG being both of the respective plurality of immediate associations for that DAG and of the respective plurality of deferred associations for that DAG, each association of the respective plurality of immediate associations for that DAG relating a child entity and a parent entity of the respective plurality of local entities for that DAG, each deferred association of the respective plurality of deferred associations for that DAG relating a child entity of the respective plurality of remote entities as the remote entity for that deferred association and a parent entity of the respective plurality of local entities as the local entity for that deferred association or relating a child entity of the respective plurality of local entities as the local entity for that deferred association and a parent entity of the respective plurality of remote entities as the remote entity for that deferred association,
- the respective plurality of deferred associations for the DAG comprising a first deferred association, the remote entity for the first deferred association indicating a first connecting entity residing on a first server, the first server being distinct from the apparatus;
- b) a respective at least one derivable DAG of a plurality of derivable DAGs being derivable from each DAG of the plurality of DAGs, derive a derived DAG of the respective at least one derivable DAG for the DAG from the DAG, each derivable DAG of the respective at least one derivable DAG for that DAG comprising:
- i) a respective plurality of derivable entities comprising a constituent entity corresponding to each entity of a respective plurality of particular entities within the respective plurality of entities for that DAG;
- and
- ii) a respective plurality of derivable associations, each derivable association of the respective plurality of derivable associations relating a child derivable entity and a parent derivable entity of the respective plurality of derivable entities, the respective plurality of derivable associations comprising a constituent association corresponding to each association of a respective plurality of particular associations within the respective plurality of associations for that DAG, that constituent association relating the constituent entity corresponding to the child entity for that association as the child derivable entity and the constituent entity corresponding to the parent entity for that association as the parent derivable entity,
- a first deferred derived association of the respective plurality of derivable associations for the derived DAG corresponding to the first deferred association;
- c) present to a user on a display a manner of exploring the derived DAG through related entities;
- d) upon subsequent exploration of the derived DAG beyond the first deferred derived association by the user, request and receive from the first server sufficient information regarding an adjoining second DAG of the plurality of DAGs to present to the user on the display a manner of exploring the adjoining second DAG through related entities as being connected to the derived DAG, as a first adjoined derivable DAG of the respective at least one derivable DAG for a first adjoined DAG of the plurality of DAGs, the respective plurality of local entities for the adjoining second DAG comprising a first connecting local entity, the respective plurality of deferred associations for the adjoining second DAG comprising a second deferred association, the remote entity for the second deferred association indicating a second connecting entity residing on a second server, substituting a first previously-deferred derivable association of the respective plurality of derivable associations for the first adjoined derivable DAG in place of the first deferred derived association, the first previously-deferred derivable association corresponding to a first previously-deferred association of the respective plurality of immediate associations for the first adjoined DAG, the first connecting local entity being the child entity for the first previously-deferred association or being the parent entity for the first previously-deferred association, respectively;
- e) upon subsequent exploration of the first adjoined derivable DAG beyond the second deferred derivable association by the user, request and receive from the second server sufficient information regarding an adjoining third DAG of the plurality of DAGs to present to the user on the display a manner of exploring the adjoining third DAG through related entities as being connected to the first adjoined DAG, as a second adjoined derivable DAG of the respective at least one derivable DAG for a second adjoined DAG of the plurality of DAGs, the respective plurality of local entities for the adjoining third DAG comprising a second connecting local entity, substituting a second previously-deferred derivable association of the respective plurality of derivable associations for the second adjoined derivable DAG in place of the second deferred derivable association, the second previously-deferred derivable association corresponding to a second previously-deferred association of the respective plurality of immediate associations for the second adjoined DAG, the second connecting local entity being the child entity for the second previously-deferred association or being the parent entity for the second previously-deferred association, respectively,
- whereby presenting to the user a unified view of a distributed DAG, a distributed chain of links across the apparatus, the first server, and the second server being followed by the apparatus only as directed by the user, the adjoining second DAG and not the DAG referencing the adjoining third DAG, the adjoining third DAG being received from the second server without further involvement of the first server.
16 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a client, networking hardware supporting the processor-implemented engine in acting as a server communicating with one or more computing devices comprising the client;
- or
- B. the apparatus sharing at least a sub-memory with the client, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to:
- a) receive identification of at least one locus entity of a plurality of entities from a client;
- b) extract a respective localized directed acyclic graph (DAG) localized to the at least one locus entity, the respective localized DAG being of a plurality of localized DAGs, from a global DAG comprising the plurality of entities and a plurality of associations, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities, and;
- c) transfer the respective localized DAG to the client,
- the respective localized DAG for each at least one locus entity of the plurality of entities comprising:
- 1) a respective plurality of local entities comprising a constituent entity corresponding to each reachable entity of a plurality of particular reachable entities within the plurality of entities, each reachable entity of the plurality of particular reachable entities being ascended or descended in the global DAG from a respective at least one source locus entity of that at least one locus entity by a respective at least one source path, at least one constituent locus entity corresponding to that at least one locus entity;
- and
- 2) a respective plurality of local associations, each local association of the respective plurality of local associations relating a child local entity and a parent local entity of the respective plurality of local entities, the respective plurality of local associations comprising a constituent association corresponding to each association of the plurality of associations on the respective at least one source path for each reachable entity of the plurality of particular reachable entities, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity,
- wherein:
- i) the plurality of entities subsumes a plurality of projects and the plurality of associations subsumes a plurality of refinement associations, each refinement association of the plurality of refinement associations indicating that the child entity for that refinement association refines the parent entity for that refinement association;
- and
- ii) for a selected context project of the respective plurality of local entities for the at least one locus entity and corresponding to a selected project of the plurality of projects, the apparatus generalizes the at least one locus entity, creating in the global DAG, yielding a resulting global DAG:
- a. a generalizing entity, wherein the generalizing entity is created as an entity in the plurality of entities based on input provided by a user through the client;
- b. a first association with the generalizing entity as the child entity and with the selected context project as the parent entity, wherein the first association is created as an association in the plurality of associations;
- and
- c. for each locus entity of the at least one locus entity, a respective second association with that locus entity as the child entity and with the generalizing entity as the parent entity, wherein the respective second association is created as a refinement association in the plurality of refinement associations,
- whereby generalizing each locus entity of the at least one locus entity, supporting the client in enabling the user to generalize the at least one constituent locus entity.
21 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a server, networking hardware supporting the processor-implemented engine in acting as a client communicating with one or more computing devices comprising the server;
- or
- B. the apparatus sharing at least a sub-memory with the server, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to request and receive a localized directed acyclic graph (DAG) from the server, the localized DAG extracted by the server from a global DAG, the global DAG comprising a plurality of entities and a plurality of associations, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities, wherein the localized DAG comprises:
- 1) a plurality of local entities comprising a constituent entity corresponding to each reachable entity of a plurality of particular reachable entities within the plurality of entities, each entity of the plurality of particular reachable entities being ascended or descended in the global DAG from a respective at least one source locus entity of at least one locus entity of the plurality of entities by a respective at least one source path, at least one constituent locus entity corresponding to the at least one locus entity, a respective at least one source constituent locus entity of the at least one constituent locus entity corresponding to the respective at least one source locus entity;
- and
- 2) a plurality of local associations, each local association of the plurality of local associations relating a child local entity and a parent local entity of the plurality of local entities, the plurality of local associations comprising a constituent association corresponding to each association of the plurality of associations on the respective at least one source path for each reachable entity of the plurality of particular reachable entities, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity,
- wherein:
- i) the plurality of entities subsumes a plurality of projects and the plurality of associations subsumes a plurality of refinement associations, each refinement association of the plurality of refinement associations indicating that the child entity for that refinement association refines the parent entity for that refinement association;
- and
- ii) upon direction from a user with respect to a selected context project of the plurality of local entities and corresponding to a selected project of the plurality of projects, the apparatus generalizes the at least one locus entity, directing the server to create in the global DAG, yielding a resulting global DAG:
- a. a generalizing entity, wherein the generalizing entity is created as an entity in the plurality of entities;
- b. a first association with the generalizing entity as the child entity and with the selected context project as the parent entity, wherein the first association is created as an association in the plurality of associations;
- and
- c. for each locus entity of the at least one locus entity, a respective second association with that locus entity as the child entity and with the generalizing entity as the parent entity, wherein the respective second association is created as a refinement association in the plurality of refinement associations,
- whereby generalizing each locus entity of the at least one locus entity, enabling the user to generalize the at least one constituent locus entity.
17 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a first client, a second client, and a third client, networking hardware supporting the processor-implemented engine in acting as a server communicating with one or more computing devices comprising the first client, the second client, and the third client;
- or
- B. the apparatus sharing at least a sub-memory with at least one of the first client, the second client, and the third client, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to, for a first user through the first client under a first user view, a second user through the second client under a second user view, and a third user through the third client under a third user view:
- a) extract a respective localized directed acyclic graph (DAG) localized to that user view, from a global DAG comprising a plurality of entities and a plurality of associations, the plurality of entities subsuming a plurality of projects, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities;
- and
- b) transfer that respective localized DAG to that client,
- the respective localized DAG for each user view comprising:
- 1) a respective plurality of local entities comprising a constituent entity corresponding to each accessible entity of a respective plurality of particular accessible entities within the plurality of entities, each accessible entity of the respective plurality of particular accessible entities being accessible by that user view based on a respective accessibility level of that accessible entity, a respective user being associated with a respective authorizing project of a plurality of projects within the plurality of entities, or an association between the user for that user view and a respective organization, the respective authorizing project for that accessible entity and user view being ascended or descended in the global DAG from that accessible entity, the respective organization for that user view being associated with that accessible entity;
- and
- 2) a respective plurality of local associations, each local association of the respective plurality of local associations relating a child local entity and a parent local entity of the respective plurality of local entities, the respective plurality of local associations comprising a constituent association corresponding to each association of the plurality of associations that relate a child entity and a parent entity of the respective plurality of particular accessible entities, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity,
- wherein:
- a) the plurality of entities comprises a public entity, the public entity having a public accessibility level, and a first nonpublic entity, the first nonpublic entity having a first nonpublic accessibility level that is distinct from the public accessibility level, the public entity being properly ascended in the global DAG from the first nonpublic entity by a first path;
- b) the respective plurality of particular accessible entities for each of the first user view, the second user view, and the third user view comprises the public entity;
- and
- c) the respective plurality of particular accessible entities for the first user view comprises the first nonpublic entity and the respective plurality of particular accessible entities for the second user view excludes the first nonpublic entity, the respective authorizing project for the first user view and the first nonpublic entity being on the first path or the first user being associated with an organization, the first nonpublic entity being associated with the organization,
- wherein:
- i. the respective plurality of local entities for the first user view comprises a local first nonpublic entity corresponding to the first nonpublic entity, the local public entity being properly ascended in the localized DAG from the local first nonpublic entity;
- and
- ii. the respective plurality of local entities for the second user view excludes any local first nonpublic entity corresponding to the first nonpublic entity,
- whereby distinguishing the first nonpublic accessibility level from the public accessibility level, the public accessibility level, unlike the first nonpublic accessibility level, not requiring any organization-level nor any project-level connection to the first nonpublic entity, granting both the first client on behalf of the first user and the second client on behalf of the second user access to the public entity, the public entity having the public accessibility level, and granting the first client on behalf of the first user but not the second client on behalf of the second user access to an ancestor nonpublic entity of the plurality of entities that is ascended from the first nonpublic entity along the first path and to the first nonpublic entity, both the ancestor nonpublic entity and the first nonpublic entity having the first nonpublic accessibility level.
22 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a server, networking hardware supporting the processor-implemented engine in acting as a client communicating with one or more computing devices comprising the server;
- or
- B. the apparatus sharing at least a sub-memory with the server, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to, for a first user under a first user view, a second user under a second user view, and a third user under a third user view, receive a respective localized directed acyclic graph (DAG) localized to that user view, from the server, that respective localized DAG extracted by the server from a global DAG comprising a plurality of entities and a plurality of associations, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities, wherein that respective localized DAG comprises:
- 1) a respective plurality of local entities comprising a constituent entity corresponding to each accessible entity of a respective plurality of particular accessible entities within the plurality of entities, each accessible entity of the respective plurality of particular accessible entities being accessible by that user view based on a respective accessibility level of that accessible entity, a respective user being associated with a respective authorizing project of a plurality of projects within the plurality of entities, or an association between the respective user and a respective organization, the respective authorizing project for that accessible entity and that user view being ascended or descended in the global DAG from that accessible entity, the respective organization for that user view being associated with that accessible entity;
- and
- 2) a respective plurality of local associations, each local association of the respective plurality of local associations relating a child local entity and a parent local entity of the respective plurality of local entities, the respective plurality of local associations comprising a constituent association corresponding to each association of the plurality of associations that relate a child entity and a parent entity of the respective plurality of particular accessible entities, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity,
- presenting to the first user and the second user a manner of exploring the localized DAG through related entities, wherein:
- a) the plurality of entities comprises a public entity, the public entity having a public accessibility level, and a first nonpublic entity, the first nonpublic entity having a first nonpublic accessibility level that is distinct from the public accessibility level, the public entity being properly ascended in the global DAG from the first nonpublic entity by a first path;
- b) the respective plurality of particular accessible entities for each of the first user view, the second user view, and the third user view comprises the public entity;
- and
- the respective plurality of particular accessible entities for the first user view comprises the first nonpublic entity and the respective plurality of particular accessible entities for the second user view excludes the first nonpublic entity, the respective authorizing project for the first user view and the first nonpublic entity being on the first path or the first user being associated with an organization, the first nonpublic entity being associated with the organization,
- wherein:
- i. the respective plurality of local entities for the first user view comprises and the apparatus presents to the first user a local first nonpublic entity corresponding to the first nonpublic entity, the local public entity being properly ascended in the localized DAG from the local first nonpublic entity;
- and
- ii. the respective plurality of local entities for the second user view excludes and the apparatus does not present to the second user any local first nonpublic entity corresponding to the first nonpublic entity,
- whereby distinguishing the first nonpublic accessibility level from the public accessibility level, the public accessibility level, unlike the first nonpublic accessibility level, not requiring any organization-level nor any project-level connection to the first nonpublic entity, enabling both the first user and the second user to visualize the public entity, the public entity having the public accessibility level, and enabling the first user but not the second user to visualize an ancestor nonpublic entity of the plurality of entities that is ascended from the first nonpublic entity along the first path and the first nonpublic entity, both the ancestor nonpublic entity and the first nonpublic entity having the first nonpublic accessibility level.
18 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a client, networking hardware supporting the processor-implemented engine in acting as a server communicating with one or more computing devices comprising the client;
- or
- B. the apparatus sharing at least a sub-memory with the client, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to:
- a) extract a localized directed acyclic graph (DAG) localized to at least one locus entity of a plurality of entities from a global DAG comprising the plurality of entities and a plurality of associations, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities;
- b) perform a reconfiguration upon the localized DAG;
- and
- c) transfer the localized DAG to the client,
- the localized DAG comprising:
- 1) a plurality of local entities comprising a constituent entity corresponding to each entity of a plurality of particular reachable entities within the plurality of entities, each reachable entity of the plurality of particular reachable entities being ascended or descended in the global DAG from a respective at least one source locus entity of the at least one locus entity by a respective at least one source path, at least one constituent locus entity corresponding to the at least one locus entity;
- and
- 2) a plurality of local associations, each local association of the plurality of local associations relating a child local entity and a parent local entity of the plurality of local entities, the plurality of local associations comprising a constituent association corresponding to each association of the plurality of associations on the respective at least one source path for each reachable entity of the plurality of particular reachable entities, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity, wherein:
- i) the plurality of associations subsumes a plurality of refinement associations, each refinement association of the plurality of refinement associations indicating that the child entity for that refinement association refines the parent entity for that refinement association,
- the reconfiguration causing, for each inheritable entity of a respective at least one inheritable entity of the plurality of entities for the at least one locus entity, that inheritable entity ascended in the global DAG from a respective inheritable parent entity by a respective inheritable entity path, a respective proper refinement descendant entity of the plurality of entities being related as a child in the global DAG to the respective inheritable parent entity and being descended in the global DAG from a respective at least one inheriting locus entity of the respective at least one source locus entity for the respective proper refinement descendant entity by a respective inheritance path of the respective at least one source path for the respective proper refinement descendant entity by way of a respective sequence of one or more refinement associations of the plurality of refinement associations, a respective at least one constituent inheriting locus entity of the at least one constituent locus entity corresponding to the respective at least one inheriting locus entity, a given inheritable entity being of the respective at least one inheritable entity:
- where that inheritable entity is a non-locus-ascended inheritable entity that is not ascended in the global DAG from any locus entity of the at least one locus entity:
- I) the plurality of local entities to comprise a respective inherited entity corresponding to the non-locus-ascended inheritable entity;
- and
- II) the plurality of local associations to comprise, for each of the respective at least one inheriting locus entity for that inheritable entity, a respective inheriting association with the respective inherited entity corresponding to the non-locus-ascended inheritable entity as the parent local entity and with the constituent entity corresponding to that inheriting locus entity being descended in the localized DAG from the child local entity,
- whereby supporting the client in enabling a user of the client to request the respective localized DAG for the at least one locus entity and then to visualize the respective inherited entity corresponding to the given inheritable entity as ascended from one or more constituent inheriting locus entities of the respective at least one constituent inheriting locus entity for the given inheritable entity and to subsequently initiate an operation with respect to the given inheritable entity, the given inheritable entity being neither ascended nor descended in the global DAG from the respective at least one inheriting locus entity for the given inheritable entity.
20 more elements
An apparatus comprising:
- a processor-implemented engine;
- and
- memory coupled to the processor-implemented engine,
- either:
- A. the apparatus being distinct from a server, networking hardware supporting the processor-implemented engine in acting as a client communicating with one or more computing devices comprising the server;
- or
- B. the apparatus sharing at least a sub-memory with the server, the memory comprising the sub-memory,
- wherein the processor-implemented engine is directed according to instructions stored in the memory to receive a localized directed acyclic graph (DAG) from the server, the localized DAG extracted by the server from a global DAG, the global DAG comprising a plurality of entities and a plurality of associations, each association of the plurality of associations relating a child entity and a parent entity of the plurality of entities, wherein the localized DAG comprises:
- 1) a plurality of local entities comprising a constituent entity corresponding to each reachable entity of a plurality of particular reachable entities within the plurality of entities, each reachable entity of the plurality of particular reachable entities being ascended or descended in the global DAG from a respective at least one source locus entity of at least one locus entity of the plurality of entities by a respective at least one source path, at least one constituent locus entity corresponding to the at least one locus entity;
- and
- 2) a plurality of local associations, each local association of the plurality of local associations relating a child local entity and a parent local entity of the plurality of local entities, the plurality of local associations comprising a constituent association corresponding to each association of the plurality of associations on the respective at least one source path for each reachable entity of the plurality of particular reachable entities, that constituent association relating the constituent entity corresponding to the child entity for that association as the child local entity and the constituent entity corresponding to the parent entity for that association as the parent local entity, the localized DAG having been reconfigured by the server, presenting to a user who navigates to the at least one locus entity a manner of exploring the localized DAG through related entities, wherein:
- a) the plurality of associations subsumes a plurality of refinement associations, each refinement association of the plurality of refinement associations indicating that the child entity for that refinement association refines the parent entity for that refinement association;
- and
- b) the apparatus presents to the user a respective inherited entity of the plurality of local entities corresponding to each inheritable entity of at least one inheritable entity of the plurality of entities as ascended in the localized DAG from one or more constituent inheriting locus entities of a respective at least one constituent inheriting locus entity of the at least one constituent locus entity, each inheritable entity of the at least one inheritable entity being ascended in the global DAG from a respective inheritable parent entity by a respective inheritable entity path, a respective proper refinement descendant entity of the plurality of entities being related as a child in the global DAG to the respective inheritable parent entity and being descended in the global DAG from a respective at least one inheriting locus entity of the respective at least one source locus entity for the respective proper refinement descendant entity by a respective inheritance path of the respective at least one source path for the respective proper refinement descendant entity by way of a respective sequence of one or more refinement associations of the plurality of refinement associations, the respective at least one constituent inheriting locus entity corresponding to the respective at least one inheriting locus entity, a given inheritable entity being of the at least one inheritable entity, the localized DAG having been reconfigured such that for each inheritable entity of the at least one inheritable entity:
- A) where that inheritable entity is a non-locus-ascended inheritable entity that is not ascended in the global DAG from any locus entity of the at least one locus entity:
- I) the plurality of local entities comprises a respective inherited entity corresponding to the non-locus-ascended inheritable entity;
- and
- II) the plurality of local associations comprises, for each of the respective at least one inheriting locus entity for that inheritable entity, a respective inheriting association with the respective inherited entity corresponding to the non-locus-ascended inheritable entity as the parent local entity and with the constituent entity corresponding to that inheriting locus entity being descended in the localized DAG from the child local entity,
- whereby enabling the user to visualize as ascended from the one or more constituent inheriting locus entities and to initiate an operation with respect to the respective inherited entity corresponding to the given inheritable entity, the given inheritable entity being neither ascended nor descended in the global DAG from the respective at least one inheriting locus entity for the given inheritable entity.
16 more elements
Dependencies are inferred from the claim text.