Family tree data storage structure

A hierarchical data storage structure using unique parent couple identifiers addresses the challenges of data organization and transferability in family history software, enabling efficient storage and retrieval across systems.

WO2026008178A1PCT designated stage Publication Date: 2026-01-08ALGEKA LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/058771
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-03
Filing Date
2025-03-31
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

Existing software applications for managing family history data face challenges in data organization and transferability due to proprietary storage techniques, making it difficult to move data between different applications, and they become unwieldy as the number of family members doubles with each generation.

Method used

A computer-implemented data storage structure for family trees, using unique parent couple identifiers comprising inherited trait codes, organizes data hierarchically by generational order, allowing for easy transfer and management without specialized software, using conventional file management applications.

Benefits of technology

The solution enables efficient storage and retrieval of family tree data across different systems, overcoming path length restrictions and facilitating seamless transfer between operating systems, while maintaining intuitive access to generational relationships.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025058771_08012026_PF_FP_ABST
    Figure EP2025058771_08012026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed herein is a computer implemented data storage structure for a family tree The data storage structure comprises: a plurality of parent couple folders each of which relating to a parent couple of the family tree; a plurality of individual family member folders, each of which relating to individual an individual family member of the family tree, each individual family member associated with a parent couple or a direct descendant thereof, each individual family member folder nested within the corresponding parent couple folder. Each folder of the plurality of parent couple folders is named according to a unique parent couple identifier, the unique parent couple identifier comprising a first part and a second part. The first part corresponds to a first inherited trait code associated with a first inherited trait inherited by the father parent from the parent couple from which the father parent is directly descended and which is passed on by the parent couple to their offspring, and the second part corresponds to a second inherited trait code associated with a second inherited trait inherited by the mother parent from the parent couple from which the mother parent is directly descended, such that the unique parent couple identifiers ascend in a hierarchical value in dependence on the generational order of the parent couples with which they are associated.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] FAMILY TREE DATA STORAGE STRUCTURE

[0002] Technical Field

[0003] The invention relates to computer implemented data storage structures for encoding a family tree and methods for creating the same.

[0004] Exploring and recording family history information has always been popular. In modern times this is conventionally undertaken using computers and digital storage (for example using personal computers).

[0005] The hierarchical nature of data relating to family history (family trees) and the fact that at each ascending generation, the number of family members at least doubles, pose particular data organisation challenges. It is possible to attempt to organise such data using, for example, spreadsheets or even simple text documents. However, such crude techniques rapidly become unwieldy and difficult to manage. For this reason, specific software applications have been developed to assist in the storage and management of family history data.

[0006] However, such software applications typically use proprietary data storage techniques and it is difficult or impossible to transfer all family data between different family history software applications.

[0007] Summary of Invention

[0008] In accordance with a first aspect of the invention, there is provided a computer implemented data storage structure for a family tree. The data storage structure comprises: a plurality of parent couple folders each of which relating to a parent couple of the family tree; a plurality of individual family member folders, each of which relating to individual an individual family member of the family tree, each individual family member associated with a parent couple or a direct descendant thereof, each individual family member folder nested within the corresponding parent couple folder. Each folder of the plurality of parent couple folders is named according to a unique parent couple identifier, the unique parent couple identifier comprising a first part and a second part. The first part corresponds to a first inherited trait code associated with a first inherited trait inherited by the father parent from the parent couple from which the father parent is directly descended and which is passed on by the parent couple to their offspring, and the second part corresponds to a second inherited trait code associated with a second inherited trait inherited by the mother parent from the parent couple from which the mother parent is directly descended, such that the unique parent couple identifiers ascend in a hierarchical value in dependence on the generational order of the parent couples with which they are associated.

[0009] Optionally, the computer implemented data storage structure further comprises a plurality of descendant folders, each of which relate to a descendant, or relation thereto, of one of the individual family members, each descendant folder nested hierarchically in generational order within the corresponding individual family member folder to which they relate.

[0010] Optionally, the inherited trait codes are integers numbered sequentially in accordance with a hierarchical position of the inherited traits of the parent couples to which they relate.

[0011] Optionally, the family tree is associated with a human or animal family.

[0012] Optionally, the family tree is associated with a human and the first inherited trait and second inherited trait are surnames.

[0013] Optionally, each of the individual family member folders is named in accordance with a family member type code, the family member type code indicative of the relation of the corresponding individual family member to the parent couple with which the folder is associated.

[0014] Optionally, the data storage structure further comprises a further file for each individual family member folder such that each individual family member folder has a corresponding further file, each further file named in accordance with a first part and a second part. The first part corresponds to the family member type code with which the individual family member is associated and a second part which descriptively identifies the individual family member.

[0015] Optionally, each of the descendant folders is named in accordance with a family member type code, the family member type code indicative of the relation of the corresponding descendant to the individual family member with which the folder is associated.

[0016] Optionally, the data storage structure further comprises a further file for each descendant folder such that each individual descendant folder has a corresponding further file, each further file named in accordance with a first part and a second part. The first part corresponds to the family member type code with which the descendant is associated and a second part which descriptively identifies the descendant.

[0017] Optionally, the data storage structure further comprises a further file for each parent couple folder such that each parent couple folder has a corresponding further file, each further file named in accordance with a first part and a second part. The first part corresponds to the unique parent couple identifier with which the parent couple of the parent folder with which the further file is associated and a second part which descriptively identifies the inherited trait which is passed on by that parent couple.

[0018] Optionally, the second part is a text string.

[0019] In accordance with a second aspect of the invention, there is provided a method of creating a data storage structure for encoding a family tree comprising: a plurality of parent couple folders, wherein each folder of the plurality of parent couple folders is named according to a unique parent couple identifier, the unique parent couple identifiers ascending in a hierarchical value in dependence on the generational order of the parent couples with which they are associated; a plurality of individual family member folders; and a plurality of descendant folders. The method comprises the steps of, on a computing device: allocating each parent couple a unique parent couple identifier comprising a first part and a second part, wherein the first part corresponds to a first inherited trait code associated with a first inherited trait inherited by the father parent from the parent couple from which the father parent is directly descended and which is passed on by the parent couple to their offspring, and the second part corresponds to a second inherited trait code associated with a second inherited trait inherited by the mother parent from the parent couple from which the mother parent is directly descended, such that the unique parent couple identifiers ascend in a hierarchical value in dependence on the generational order of the parent couples with which they are associated; creating a parent couple folder for each parent couple and naming each parent couple folder in accordance with the corresponding parent couple identifiers; creating a plurality of individual family member folders, each of which relate to an individual family member associated with a parent couple or a direct descendant thereof, and nesting each of the individual family member folders within the corresponding parent couple folders.

[0020] Optionally, the method further comprises: creating a plurality of descendant folders, each of which relating to a descendant, or relation thereto, of one of the individual family members; and nesting the descendant folders hierarchically in generational order within the corresponding individual family member folders to which they relate.

[0021] Optionally, the inherited trait codes are integers numbered sequentially in accordance with a hierarchical position of the inherited traits of the parent couples to which they relate.

[0022] Optionally, the first inherited trait and second inherited trait are surnames.

[0023] Optionally, the method further comprises: naming each of the individual family member folders in accordance with a family member code, the family member code indicative of the relation of the corresponding individual family member to the parent couple with which the folder is associated.

[0024] Optionally, the method further comprises: creating a further file for each individual family member folder such that each individual family member folder has a corresponding further file, each further file named in accordance with a first part and a second part. The first part corresponds to the family member type code with which the individual family member is associated and a second part which descriptively identifies the individual family member; and locating the further file in the corresponding parent couple folder.

[0025] Optionally, the method further comprises: naming each of the descendant folders in accordance with a family member code, the family member code indicative of the relation of the corresponding descendant to the individual family member with which the folder is associated.

[0026] Optionally, the method further comprises: creating a further file for each descendant folder such that each individual descendant folder has a corresponding further file, each further file named in accordance with a first part and a second part, the first part corresponds to the family member type code with which the descendant is associated and a second part which descriptively identifies the descendant; and locating the further file in the folder in which the corresponding descendant folder is nested.

[0027] Optionally, the method further comprises: creating a further file for each parent couple folder such that each parent couple folder has a corresponding further file, and naming each further file in accordance with a first part and a second part, wherein the first part corresponds to the parent couple identifier associated with the parent couple of the parent folder with which the further file is associated and a second part which descriptively identifies the inherited trait associated which is passed on by that parent couple; and locating the further file alongside the corresponding parent couple folder.

[0028] Optionally, the second part is a text string.

[0029] Optionally, the method further comprises: displaying the data storage structure on a graphical user interface.

[0030] Optionally, the family tree is associated with a human or animal family.

[0031] In accordance with a third aspect of the invention, there is provided a data storage medium on which is stored a data storage structure according to the first aspect.

[0032] In accordance with embodiments of the invention, there is provided a computer implemented data storage structure for storing family tree data. The data storage structure comprises a plurality of parent couple folders each of which relate to a parent couple of the family tree. Each folder of parent couple folders is named according to a unique parent couple identifier comprising a first part and a second part. The first part corresponds with a first inherited trait code associated with a trait inherited by the father parent and passed from the parent couple to their offspring and the second part corresponds with a second inherited trait code associated with a trait inherited by the mother parent from the parent couple. The trait codes are chosen such that the unique parent couple identifier ascends in a hierarchical value (e.g., numerically) in dependence on the generational order of the parent couples with which they are associated. Stored within each parent couple folder are individual family member folders which are associated with members of the parent couple or their children. Descendant folders, associated with descendants of family members of the family tree can be nested within the corresponding individual family member folders. Further descendant folders, associated with further descendants, can be stored within the descendant folders such that folders relating to descendants of individual family members can be nested hierarchically in generational order within the corresponding individual family member folders.

[0033] Advantageously, by virtue of being named according to the unique parent couple identifiers, the parent couple folders, when stored in a hierarchical order with respect to their name, are arranged hierarchically in a generational order. Further, the generational order and position of mothers and fathers of specific parent couples in the family tree, relative to other members of the tree, can be determined from the unique couple identifier alone.

[0034] Further, by dividing a family tree into parent-couples and allocating each parent-couple a unique parent couple identifier as described above, then nesting individual family member folders therein, a data storage structure can be implemented comprising two hierarchical layers which reflect the configuration of the family tree. Advantageously, this means a family tree, along with the associated data (e.g., digital files within either individual’s or family folders containing (including in the file names) records relating to family history events (e.g. birth, death, marriage, census, etc.)), irrespective of its size and complexity can be translated into a two-layered hierarchal schema which can readily be encoded using a conventional GUI-based file management application as exemplified in Figure 2.

[0035] Advantageously, this means specialist software is not required to store and retrieve data associated with the family tree data. Moreover, the data storage structure can be readily transferred between different file management applications. For example, from Windows File Explorer to Linux by simply copying and pasting the folder structure (a file “renamer” application can be used to make any necessary changes to accommodate for differences in acceptable characters between operating systems).

[0036] The particular format of the parent couple identifiers (i.e. consisting of first part which is a trait code associated with the trait that the parent couple pass to their offspring, and a second part which is a trait code associated with the trait that the mother inherited from her parents) provides two particular advantages.

[0037] Firstly, the first part of the parent couple identifier (the trait code identifying the trait that the parent couple pass to their offspring) makes possible the folder naming convention that allows data associated with all the members of a given patrilineal family line to be indexed in one hierarchical level (i.e. in the trait folders named after the trait code associated with each trait).

[0038] Secondly, the second part of the parent couple identifier (trait code associated with the trait that the mother inherited from her parents) means that the patrilineal family line of the mother of a parent couple can be immediately identified (and readily accessed by simply finding the correspondingly named trait folder).

[0039] Furthermore, because the trait code associated with the trait that the mother inherited from her parents uniquely locates the generational position of the parent couple within the family tree, the generational position of the parent couple can be readily identified.

[0040] By naming folders of the data storage structure in keeping with the trait-codes, parent-couple identifiers and individual type codes, folder names allocated to the folders of the data storage structure can be kept very short meaning the technique can be used for file management applications where file length restrictions apply. For example, this overcomes the severe path length restriction associated with, for example, the Windows Shell and Apple’s “Finder”.

[0041] In accordance with embodiments of the invention, the data storage structure can further comprise a further 'companion' file for each parent couple folder. The companion files named in accordance with a first part and a second part, wherein the first part corresponds to either a unique parent couple identifier with which the parent couple of the parent folder with which the further file is associated and a second part which descriptively identifies the inherited trait which is passed on by that parent couple. Advantageously, the use of the companion text files, and in particular the naming conventions used for naming them, mean that more descriptive and more intuitively understood descriptors can be viewed at the same hierarchical level as the related folders.

[0042] Various further features and aspects of the invention are defined in the claims.

[0043] Brief Description of the Drawings

[0044] Embodiments of the present invention will now be described by way of example only with reference to the accompanying drawings where like parts are provided with corresponding reference numerals and in which:

[0045] Figure 1 provides a diagram depicting a genealogical family tree, comprising genealogical data which can be stored and retrieved by systems arranged in accordance with embodiments of the invention;

[0046] Figures 2, 3 and 4 provide simplified schematic diagrams depicting arrangements of folders and files of a data retrieval interface which provide examples of data storage structure in accordance with example embodiments of the invention;

[0047] Figure 5 provides a simplified schematic diagram depicting a plurality of ‘descendant’ folders relating to descendants of the primary individual;

[0048] Figure 6 provides a simplified schematic diagram depicting a plurality of ‘descendant’ folders relating to descendants of, and relations thereto, the primary individual’s uncle;

[0049] Figure 7 provides a simplified schematic diagram depicting, both ascent and descent, from non-blood relatives of the primary individual;

[0050] Figure 8 provides a simplified schematic diagram depicting an example computing system on which a data storage structure in accordance with embodiments of the invention can be created;

[0051] Figures 9 and 10 provide flow diagrams depicting a process for creating a data storage structure in accordance with embodiments of the invention;

[0052] Figure 11 provides a table showing parent-couple identifiers which can be used in accordance with embodiments of the invention, and

[0053] Figure 12 provides a table showing relation codes for use in naming folders and files of a data storage structure relating to family members associated with a family tree in accordance with certain embodiments of the invention. Detailed Description

[0054] Examples of the invention provide a computer implemented data storage structure for encoding family trees which comprise a plurality of members connected by parent-child relationships.

[0055] The data storage structure is based on the premise of dividing generations of a family tree into parent couples, specifically parent-couples comprising a mother and a father, and then allocating to each parent couple a specially formulated unique identifier.

[0056] The unique identifier comprises two parts: a first part uniquely identifies an inherited trait that the parent couple pass to their offspring (in typical implementations, this is a patrilineal surname), and a second part uniquely identifies an inherited trait inherited by the mother of the parent couple from her parents.

[0057] As will be described in more detail below, by allocating such a unique identifier to each parent couple, it is possible to implement an efficient and intuitive file storage schema for storing data relating to members of the family tree.

[0058] Figure 1 provides a diagram depicting an otherwise conventional family tree which can be encoded by a data storage structure in accordance with embodiments of the invention.

[0059] In Figure 1 , circles denote parent-members of the family tree: a circle containing an “F” indicates a father, and a circle containing an “M” indicate a mother.

[0060] Parent couples are denoted by broken-line boxes. The descendant relationship between the child of each parent-couple is indicated by a line connecting the parents of the child and the child.

[0061] The parent-couples of each generation are shown at the same horizontal level. As will be understood, each parent of each parent-couple is directly descended from an ascendent parent-couple from a previous generation.

[0062] In the example shown in Figure 1 , the family tree culminates in a single parent-couple, the child of whom is a “primary individual” (PI) of the family tree. The text below each circle containing an “F” for father or “M” for mother denotes the relationship between the individual relative and the primary individual. Thus, “F” stands for father; “GF” stands for grandfather; “GGF” stands for great grandfather; “2GGF” stands for great great grandfather; “M” stands for mother; “GM” stands for grandmother; “GGM” stands for great grandmother, and “2GGM” stands for great great grandmother.

[0063] As shown in the example depicted in Figure 1 , in accordance with embodiments of the invention, each parent-couple of the family tree is associated with a unique identifier (a parentcouple identifier). The parent-couple identifier comprises a first part provided by a first integer and a second part provided by a second integer. The first integer and second integer are separated by a hyphen The parent-couple identifier is denoted in Figure 1 by text above each family couple box.

[0064] As can be seen from the example shown in Figure 1 , the parent-couple from whom the primary individual is descended (the primary individual’s parents) has the parent-couple identifier “1- 2”; the parent-couple from which the primary individual’s father is descended has the unique identifier “1-3”; the parent-couple from which the primary individual’s mother is descended has the unique identifier “2-4”, and so on.

[0065] The first part of the parent-couple identifier is a numeric inherited trait code associated with an inherited trait of the father of the parent couple and is indicative of an inherited trait that the parent-couple pass on to their offspring.

[0066] The second part of the parent-couple identifier is a numeric inherited trait code associated with an inherited trait that the mother of the parent couple inherited from parent couple from whom the mother is descended.

[0067] The most common example of inherited traits to which the trait codes relate are inherited surnames. In patrilineal systems, a father’s surname (or some version of it) is taken by a mother when they form a union. This surname (or some version of it) is then passed on to the offspring of the mother and father. As will be understood, surnames are indicative of the more general trait of the genetic inheritance (or lineage) of an individual passed down on the paternal line.

[0068] In patrilineal systems, for any given patrilineal family line, the inheritance of a trait such as a surname terminates at the generation at which it is inherited by a mother. Returning to Figure 1 , in an example in which the trait-codes relate to surnames, the trait-code “1” is indicative of a particular surname inherited by the primary individual from their father. As is denoted by the first part of the parent couple identifiers of the relevant parent couples shown in Figure 1 , this trait is passed from the father of a fourth-generation parent-couple 101 (one of the primary individual’s great great grandfathers), to the father of a third-generation parentcouple 102 (one of the primary individual’s great grandfathers), to the father of a second generation parent-couple 103 (one of the primary individual’s grandfathers), to the primary individual’s father 104 and thus to the primary individual.

[0069] Similarly, in such an example where the trait-codes relate to surnames, the trait-code “2” is indicative of a particular surname inherited by the primary individual’s mother from their father. As is denoted by the first part of the parent couple identifiers of the relevant parent couples shown in Figure 1 , this trait is passed from the father of a fourth-generation parent-couple 105 (one of the primary individual’s great great grandfathers), to the father of a third-generation parent-couple 106 (one of the primary individual’s great grandfathers), to the father of a second generation parent-couple 107 (one of the primary individual’s grandfathers), to the primary individual’s mother 108.

[0070] In the example shown in Figure 1 , the trait codes are numbered sequentially in accordance with how far the trait to which the trait code relates propagates through the family tree. In other words, the integers are numbered sequentially in accordance with a hierarchical position of the latest generation parent couple of the family tree to be associated with the inherited trait to which the inherited trait code relates. Thus, trait-code “1” is inherited all the way to the first generation; trait code “2” is inherited up to the second generation; trait codes “3” and “4” inherited up to the third generation and trait-codes “5”, “6”, “7” and “8” are inherited up to the fourth generation, trait codes “9”, “10”, “11”, “12”, “13”, “14”, “15” and “16” are inherited up to the fifth generation.

[0071] As mentioned above, the second integer of the parent couple unique identifier (the second part) is an inherited trait code associated with a trait inherited by the mother of the parent couple. In typical examples the second integer of the parent couple unique identifier corresponds to the trait code associated with the mother’s “maiden” surname.

[0072] For example, as can be seen from Figure 1 , the second integer of the parent couple unique identifier (“1-2”) for the parent-couple 109 of the primary individual is “2”. “2” is the trait code associated with the trait that the second-generation parent-couple 107 pass onto their offspring (including the mother 108 of the parent-couple 109 of the primary individual). Going back a further generation, the second integer of the parent couple identifier for the parent-couples 103, 107 of the primary individual’s grandparents (“1-3” and “2-4”) are “3” and “4” respectively. “3” is the trait code associated with the trait that one of the third-generation parent-couples 112, pass onto their offspring, including the mother 113 of the parent-couple 103 who are the primary individual’s paternal grandparents. Similarly, “4” is the trait code associated with the trait that another of the third-generation parent-couples 115, pass onto their offspring, including the mother 116 of the parent-couple 107 who are the primary individual’s maternal grandparents.

[0073] As can be seen from Figure 1 , for sequential numbering of the second parts of the unique identifiers across each generation, the parent couples are structured consistently with the father on one side (on the left) and other mother on other (on the right).

[0074] For a given patrilineal line whenever a mother inherits a trait, further propagation of that trait to subsequent generations is terminated. Consequently, for a given patrilineal line (and assuming a purely heterogenous family tree with no in-breeding (this is described broadly below) there will only be one instance of the trait-code associated with a mother’s maiden name, appearing as a second part of a parent couple code. This can be appreciated with reference to Figure 1 , where it can be seen that the second parts of the parent couple identifiers increment upwards: “2”, “3”, “4”, “5” and so on. This means that the second parts of the parent couple identifiers uniquely identify the generational position of a given parent couple with respect to the family tree. For example, the second parts of the parent couple identifiers “3” and “4” are uniquely allocated to the second-generation parent couples of the family tree (the primary individual’s grandparents); the second parts of the parent couple identifiers “5”, “6”, “7” and “8” are uniquely allocated to the third-generation parent couples of the family tree (the primary individual’s great grandparents); and, the second parts of the parent couple identifiers “9”, “10”, “11”, “12”, “13”, “14”, “15”, and “16” are uniquely allocated to the fourthgeneration parent couples of the family tree (the primary individual’s great great grandparents).

[0075] Further still, the trait code associated with a mother’s maiden name uniquely locates the generational position of the parent couple (of which the mother is a parent) with respect to all other parent couples that pass on that same trait.

[0076] For example, as can be understood from Figure 1 , the second part of the parent couple identifier “1-2” (i.e. “2”) is uniquely allocated to the highest / most recent generation parent couple of the family tree (the primary individual’s parents) that pass on the inherited trait associated with the trait-code “1”.

[0077] Similarly, the second part of the parent couple identifier “1-3” (i.e. “3”) is uniquely allocated to the second highest / second most recent generation parent couple of the family tree that pass on the inherited trait associated with the trait-code “1”. Similarly, the second part of the parent couple identifier “1-5” (i.e. “5”) is uniquely allocated to the third highest / third most recent generation parent couple of the family tree that pass on the inherited trait associated with the trait-code “1”, and so on.

[0078] With reference to a different inherited trait, the second part of the parent couple identifier “2- 4” (i.e. “4”) is uniquely allocated to the highest / most recent generation parent couple of the family tree (the primary individual’s parents) that pass on the inherited trait associated with the trait-code “2”. Similarly, the second part of the parent couple identifier “2-7” (i.e. “7”) is uniquely allocated to the second highest / second most recent generation parent couple of the family tree that pass on the inherited trait associated with the trait-code “2”.

[0079] Figure 11 provides a table which shows the relationships between the parent-couple identifiers and the generational position of the parent couples to which they relate with respect to all other parent couples that pass on that same trait. Such a table can be used to determine the generational position of any parent couple for whom the parent couple identifier is known.

[0080] The column on the left of the table (labelled “Surname”) corresponds to the trait code associated with each surname, and the row across the top of the table provides generation numbers. Each generation number corresponds to the generational position of the parent couple relative to the latest generation that the trait was inherited. Thus, if a parent couple were the latest (i.e. last) parent couple to pass on their surname to their offspring in the family tree, this corresponds to a generation number “1”; if a parent couple where the second to last parent couple to pass on their surname to their offspring in the family tree, this corresponds to a generation number “2”; if a parent couple where the third to last parent couple to pass on their surname to their offspring in the family tree, this corresponds to a generation number “3”, and so on.

[0081] T o use the table shown in Figure 11 to derive the parent-couple identifier for a particular parent couple, the trait code associated with the surname that the parents pass on to their offspring is located in the column on the left of the table, and the relevant generation number is located on the row across the top of the table. The first part of the parent couple identifier is the trait code located on the column on the left of the table. The second part of the parent couple identifier is read from the table using the trait code and the relevant generation number.

[0082] Thus, for example, with reference to Figure 1 , for the parent couple 107, who are the primary individual’s maternal grandparents, the trait code associated with the trait this parent couple pass on to their children is “2”, and they are the last instance of this trait being passed on to younger generations in the family tree which corresponds to a generation number “1”. As can be seen from the table, this produce the parent couple identifier “2-4".

[0083] Similarly, for the parent couple 102, who are one set of the primary individual’s great grandparents, the trait code associated with the trait this parent couple pass on to their children is “1”, and they are the third from last instance of this trait being passed on to younger generations in the family tree which corresponds to a generation number “3”. As can be seen from the table, this produces the parent couple identifier “1-5".

[0084] As will be understood, if the parent-couple identifier is known, the table shown in Figure 11 can be used to locate the generational position of that couple. For example, for the parent couple identifier “11-85”, it can be seen that this relates to the third most recent generation of the family line which pass on the surname associated with trait-code “11”.

[0085] The first part numeric trait codes and second part numeric trait codes, shown in Figure 11 , reach 512 and 2,095,105, respectively. However, it will be understood that the first part and second part numeric trait codes are not limited to 512 and 2,095,105. That is, higher firs part and second part numeric trait codes, than are shown in Figure 11 , can be used for larger family trees.

[0086] In accordance with embodiments of the invention, this scheme of deriving and allocating unique identifiers to parent-couples is used to implement a data storage structure for encoding a family tree which can be readily implemented using an otherwise conventional file management application.

[0087] Such file management applications include for example Microsoft’s “File Explorer”, Apple’s “Finder” used in Macintosh operating systems, and “Caja” and “Nemo” used in Linux operating systems. Figure 2 provides a diagram depicting an arrangement of folders and files in accordance with a data storage structure in accordance with an example embodiment of the invention.

[0088] As can be seen from Figure 2, the data storage structure comprises a root folder (“FT” - which stands for “Family Tree”) which contains a plurality of sub-folders. These folders include two trait-folders, each of which are named in accordance with a trait code, and three folders of trait-folders.

[0089] The root folder contains a first trait-folder 201 which is named in keeping with the first traitcode (i.e. named “1”), and a second trait-folder 202 named in keeping with the second traitcode (i.e. named “2”) of the family tree.

[0090] The root folder contains a third folder 203 which is a folder of trait-folders and is named in keeping with the third trait-code and fourth trait-code (“3 - 4”), and a fourth folder 204 which is a folder of trait-folders and is named in keeping with the fifth, sixth, seventh and eighth traitcodes (“5 - 8”).

[0091] The root folder contains (has nested within) a first companion text file 205 associated with the first trait-folder 201 and a second companion text file 206 associated with the second traitfolder 202.

[0092] The companion text files 205, 206 are named in accordance with a three-part convention. In accordance with this convention, the first part of the name corresponds to the trait code of the folder with which they are associated. Thus, the first part of the name of the first companion text file 205 is “1” and the first part of the name of the second companion text file 206 is “2”.

[0093] The second part of the name is a text string that descriptively identifies the inherited trait. Thus, if the trait associated with the trait-code “1” was the surname “Smith”, then the second part of the name of the first companion text file 205 would be “Smith”. Similarly, if the trait associated with the trait-code “2” was the surname “Jones”, then the second part of the name of the second companion text file 206 would be “Jones”. Note, in Figure 2 this text string is indicated as [trait x descriptor string] (where x is the trait-code in question).

[0094] The third part of the name corresponds to a code indicative of the highest generation in which the trait in question appears, where “(P)” is first generation (i.e. parents); “(GP)” is second generation (i.e. grandparents); “(GGP)” is third generation (i.e. great grandparents) and “(2GGP)” is fourth generation (i.e. great great grand parents). As can be seen from Figure 1 , the highest generation in which trait 1 appears is the first generation (the parents) of the primary individual. Thus, the third part of the name is “(P)” for parents.

[0095] The third folder 203 contains a third trait folder 207 (named in keeping with the third trait-code, i.e. “3”) and a fourth trait folder 208 (named in keeping with the fourth trait-code, i.e. “4”).

[0096] The third folder 203 contains a fourth companion text file 209 associated with the third trait folder 207 and a fifth companion text file 210 associated with the fourth trait folder 208. The fourth companion text file 209 and fifth companion text file 210 are named in accordance with the three-part convention described above. Accordingly, the fourth companion text file 209 is named “3 [trait 3 descriptor string] (GP).txt and the fifth companion text file 210 is named 3 [trait 3 descriptor string] (GP).txt.

[0097] The fourth folder 204 contains a fifth trait folder 211 , sixth trait folder 212, seventh trait folder 213 and eighth trait folder 214, named in accordance with the corresponding trait-code (i.e. “5”, “6”, “7” and “8” respectively). Each of these trait folders 211 , 212, 213, 214 has a companion text file, named in accordance with the three-part convention described above, associated therewith and contained in the fourth folder 204.

[0098] As can be seen from Figure 2, each trait-folder contains (has nested within) a plurality of parent-couple folders. Each parent-couple folder is associated with one of the parent-couples that pass on to their offspring the trait to which that trait folder relates. For example, as can be seen from Figure 1 , the fourth-generation parent-couple 101 , third generation parent-couple 102, second generation parent-couple 103 and the parent-couple 109 of the primary individual, all pass on the trait associated with the trait-code “1”. Thus, the first trait-folder 201 contains four parent-couple folders, each one of which is associated with, and named using the parent-couple identifier of, one of these parent-couples.

[0099] Each parent-couple folder is named using the parent-couple identifier associated with the parent-couple to which the parent-couple folder relates.

[0100] Thus, the first trait-folder 201 comprises:

[0101] • a first parent-couple folder 215 associated with the parent-couple 109 of the primary individual, and therefore named “1-2”; • a second parent-couple folder 216 associated with the second generation parentcouple 103 and therefore named “1-3”;

[0102] • a third parent-couple folder 217 associated with the third generation parent-couple 102 and therefore named “1-5”, and

[0103] • a fourth parent-couple folder 218 associated with the fourth generation parent-couple 101 and therefore named “1-9”.

[0104] Each parent-couple folder contains further folders and files which relate to the individual family members (persons) associated with the parent-couple or descendants thereof. An example of this is described further with reference to Figure 3.

[0105] As can be seen from Figure 3, the first parent-couple folder 215 contains a first family member folder 216, a second family member folder 217, a third family member folder 218, a fourth family member folder 219 and a fifth family member folder 220.

[0106] Each of these family member folders is named in accordance with a family member type code which uniquely identifies what type of family member they are in relation to the parent-couple with which the parent couple folder is associated.

[0107] The family member type code “0-1” identifies a father of the parent couple and the family member type code “0-2” identifies a mother of the parent couple.

[0108] Children of the father and mother are identified by a family member type code which is an integer corresponding to their order of birth. Thus, family member type code “1” identifies a first-born child, family member type code “2” identifies a second-born child, family member type code “3” identifies a third-born child and so on. As will be understood, where the birth order is not known for certain, numbers can still be entered on a temporary basis to uniquely identify the individual, and then corrected later as and when more information becomes available.

[0109] As will be understood, in the example shown in Figure 3, the parents of the parent-couple associated with the parent-couple identifier “1-2” have three children.

[0110] Each family member folder is associated with a corresponding companion text file. In keeping with the example described with reference to Figure 1 , these companion text files are named in accordance with a three-part convention. The first part of the code corresponds to the family member type code of the family member folder with which they are associated. The second part of is a text string that provides the name of the family member. This is normally a first name followed by the inherited surname (identified in Figure 3 as “[name] [surname 1]”). Note, “surname 1 shown in Figure 3 corresponds to “trait X descriptor string” in Figure 2.

[0111] Accordingly, the name of the companion text file 221 associated with the brother of the primary individual, who is the first-born child of the parent-couple “1-2”, is: “1 [name] [surnamel] (B).txt”.

[0112] In the case of the companion text file associated with the mother of the parent-couple, this text string may also include her maiden name (identified in Figure 3 as “[name] [surname 1 , nee surname 2]”).

[0113] The third part of the name corresponds to an alpha numeric relation code indicative of what type of family member they are in relation to the primary individual (or primary couple).

[0114] In this relation code, amongst others “(F)” relates to father, “(M)” relates to mother, “(B)” relates to brother, “(S)” relates to sister, “(PI)” relates to the primary individual themselves. A fuller table of an example of these relation codes is shown in Figure 12.

[0115] Advantageously, the family member type code can be combined with the parent-couple identifier to generate a unique family member identifier that uniquely identifies any family member associated with the family tree.

[0116] For example, the combination of the parent-couple identifier 1-2 with the family member type code 0-1 forms the family member identifier 1 -2.0-1 (i.e. the parent-couple identifiers separated by a dot), which uniquely identifies the primary individual’s father.

[0117] Similarly, the combination of the parent-couple identifier 1-2 with the family member type code 2 forms the family member identifier 1-2.2, which uniquely identifies the primary individual’s second born sibling.

[0118] As will be discussed below, the above family member type code naming convention using the ‘string’ of nested folder identifiers can be used to uniquely identify and denote any person within the folder structure (e.g., family members of other parent couples of the family tree nested within the family tree).

[0119] Although not shown in Figure 2, typically further data relating to the family members associated with the parent-couple is stored, at the hierarchical level of the individual folders. This further data may be stored, for example, in a folder titled “info” and include files such as family photos, wedding photos etc.

[0120] As will be understood, by virtue of the arrangement of this data storage structure, irrespective of the size of the family tree, the data storage structure can comprise three hierarchical levels: the first hierarchical level contains trait folders and folders of trait folders (in other words, folders named after, and relating to, each trait which is passed down through generation of the family tree shown in Figure 1); the second hierarchical level of contains folders named after, and relating to, each parent-couple appearing in the family tree shown in Figure 1 , and the third hierarchical level contains folders named after, and relating to, each individual associated with each respective parent-couple.

[0121] Thus, by dividing a family tree into parent-couples and allocating each parent-couple a unique parent couple identifier as described above, a data storage structure can be implemented comprising two hierarchical layers which reflect the configuration of the family tree and a third hierarchical layer which can be used to store information about all of the individuals associated with the family tree.

[0122] Advantageously, this means a family tree of the type shown in Figure 1 , along with the associated data, irrespective of its size and complexity can be translated into a three-layered hierarchal schema which can readily be encoded using a conventional GUI-based file management application as exemplified in Figure 2.

[0123] Advantageously, this means specialist software is not required to store and retrieve data associated with the family tree data. Moreover, the data storage structure can be readily transferred between different file management applications. For example, the data storage structure depicted in Figure 2 could be readily translated from Windows File Explorer to Linux by simply copying and pasting the folder structure (a file “renamer” application can be used to make any necessary changes to accommodate for differences in acceptable characters between operating systems). The particular format of the parent couple identifiers (i.e. consisting of first part which is a numeric trait code associated with the trait that the parent couple pass to their offspring, and a second part which is a numeric trait code associated with the trait that the mother inherited from her parents) provides two particular advantages.

[0124] Firstly, the first part of the parent couple identifier (the numeric trait code identifying the trait that the parent couple pass to their offspring) makes possible the folder naming convention that allows data associated with all the members of a given patrilineal family line to be indexed in one hierarchical level (i.e. in the trait folders named after the trait code associated with each trait).

[0125] Secondly, the second part of the parent couple identifier (numeric trait code associated with the trait that the mother inherited from her parents) means that the patrilineal family line of the mother of a parent couple can be immediately identified (and readily accessed by simply finding the correspondingly named trait folder).

[0126] Furthermore, because the numeric trait code associated with the trait that the mother inherited from her parents uniquely locates the generational position of the parent couple within the family tree, the generational position of the parent couple can be readily identified, for example, by making reference to a table of the type shown in Figure 11 .

[0127] Further, advantageously, the parent couple identifiers ascend in a hierarchical value in dependence on the generational order of the parent couples with which they are associated (e.g., the trait codes increase in value as the generational order increases). Therefore, the parent couple folders, when stored in a hierarchical order with respect to their name, are arranged hierarchically in a generational order. Therefore, it will be understood that the first layer described above is not strictly required (i.e., the trait folders could be omitted such that the first layer comprises only parent couple folders) because the parent couple folders will be automatically arranged in generational order. However, including the first layer of trait folders provides a more visually compact data storage structure.

[0128] By naming folders of the data storage structure in keeping with the trait-codes, parent-couple identifiers and individual type codes, folder names allocated to the folders of the data storage structure can be kept very short meaning the technique can be used for file management applications where file length restrictions apply. For example, this overcomes the severe path length restriction associated with, for example, the Windows Shell and Apple’s “Finder”. However, advantageously, the use of the companion text files, and in particular the naming conventions used for naming them, mean that more descriptive and more intuitively understood descriptors can be viewed at the same hierarchical level as the related folders.

[0129] This is explained further with reference to Figure 4. Figure 4 provides a diagram depicting part of a data storage structure, the arrangement of which corresponds to that shown in Figure 2, relating to a specific example of a parent-couple and associated individuals.

[0130] The numbering of the trait-folders 401 , 402 indicate that they correspond respectively to the surname of the primary individual’s father and mother. However, this is shown more intuitively and at the same hierarchical level by the names of the companion text files 403, 404. Specifically, the naming of the first companion text file 403 (“1 SMITH (P).txt”) indicates that the primary individual’s inherited surname is “Smith” and the naming of the second companion text file 404 (2 JONES (GP).txt) indicates that the primary individual’s mother’s maidan name (the inheritance of which terminated at the second-generation GP (grandparent) level) is Jones.

[0131] Similarly, the naming of the companion text file 405 associated with the individual folder 406 (0-1 John SMITH (F).txt) indicates that the primary individual’s father is named “John Smith”. Corresponding naming is shown in the naming of the companion files associated with the Pl’s mother and siblings.

[0132] Figure 5 provides a simplified schematic diagram depicting a plurality of ‘descendant’ folders relating to descendants of the PI. The descendant folders are provided by groups of folders 502, 503, and 504, each of which directly relate to a different individual family member. Each group of folders (from 502, 503, and 504) are nested within the individual family member folder corresponding to the family member to whom they are directly related.

[0133] In the example shown in Figure 5, the parent couple folder 215 contains folder group 501 which corresponds to the folders 216, 217, 219, 219, and 220 shown in Figure 3.

[0134] As can be seen in Figure 5, nested within the folder labelled “3” (which is folder 220, associated with the PI), is the folder group 502 containing folders and files relating to the PI, the Pl’s spouse, and their descendants.

[0135] In accordance with that described with reference to Figure 3, each of these folders is named in accordance with a family member type code which uniquely identifies what type of family member they are in relation to the parent-couple with which the parent couple folder is associated. Therefore, in the folder group 502, the family member type code “0-1” identifies the PI as the father of the parent couple, the family member type code “0-2” identifies Pl’s spouse as the mother of the parent couple. In this case, the PI and his spouse have two children, a son and a daughter, denoted by family member type codes “1” and “2”, respectively to show that the son was the first born and the daughter was the second born.

[0136] As can be seen in Figure 5, the folder groups 503 and 504, are nested within folder associated with the Pl’s son (which can be identified by the family member identifier 1 -2.3.1) and the folder associated with the Pl’s daughter (which can be identified by the family member identifier 1-2.3.2), respectively. The folder group 503 contains folders and files relating to the Pl’s son’s family (i.e., his spouse and their descendants). The folder group 504 contains folders and files relating to the Pl’s daughter’s family (i.e., her spouse and their descendants). In this case, both the Pl’s son and the Pl’s daughter, each have a son and a daughter of their own. The individual folders in folder groups 503 and 504 are named in accordance with the family member type codes as described with reference to folder group 502.

[0137] In accordance with that described with reference to Figure 3, each family member folder in folder groups 502, 503, and 504 has associated therewith a corresponding companion text file nested alongside the respective family member folders, as shown in Figure 5. The companion text files are named in accordance with a three-part convention described with reference to Figure 1 and Figure 3.

[0138] Accordingly, associated with folder group 502 are four corresponding companion text files. The name of the companion text file associated with the PI is: “0-1 [name] [surname 1] (PI). txt”. The name of the companion text file associated with the Pl’s wife is: “0-2 [name] [surname 1 , nee surname]”). The name of the companion text files associated with the Pl’s son and daughter are: “1 [name] [surname 1] (s).txt” and “2 [name] [surnamel] (d).txt”, respectively. The relation codes “(s)” and “(d)” indicate that these individuals are the son and daughter of the PI.

[0139] Further, associated with folder group 503 are four corresponding companion text files. The name of the companion text file associated with the Pl’s son is: “0-1 [name] [surname 1] (s).txt”. The name of the companion text file associated with the Pl’s son’s wife is: “0-2 [name] [surname 1 , nee surname]”). The name of the companion text files associated with the Pl’s son’s children are: “1 [name] [surname 1] (Gs).txt” and “2 [name] [surname 1] (Gd).txt”. The relation codes “(Gs)” and “(Gd)” indicate that these individuals are the grandson and granddaughter of the PI.

[0140] Further, associated with folder group 504 are four corresponding companion text files. The name of the companion text file associated with the Pl’s daughter’s husband is: “0-1 [name] [surname], txt”. The name of the companion text file associated with the Pl’s daughter is: “0-2 [name] [surname, nee surname 1]”). The name of the companion text files associated with the Pl’s daughter’s children are: “1 [name] [surname] (Gs).txt” and “2 [name] [surname] (Gd).txt”.

[0141] A further example of descendant folders is described with reference to Figure 6.

[0142] Figure 6 provides a simplified schematic diagram depicting a plurality of ‘descendant’ folders relating to descendants of, and relations thereto, the Pl’s uncle. The descendant folders are provided by groups of folders 603, and 604.

[0143] The folder group 603 comprises four folders corresponding to the uncle of the PI, the wife of the uncle, and their children (a daughter and a son). Each of these folders is named according to the same convention described with reference to Figure 5 and has associated therewith a corresponding companion text file.

[0144] The name of the companion text file associated with the Pl’s uncle is: “0-1 [name] [surname 2] (ll).txt”. The name of the companion text file associated with the Pl’s uncle’s wife is: “0-2 [name] [surname 2, nee surname]”). The name of the companion text files associated with the Pl’s uncle’s children are: “1 [name] [surname 2] (1 Of). txt” and “2 [name] [surname 2] (1Cm).txt”. The relation codes “(II)”, “(1Cf)”, and “(10m)” indicate that these individuals are the uncle, the female first cousin, and the male first cousin, respectively, of the PI.

[0145] The folder group 604 comprises four folders corresponding to the female first cousin of the PI, her husband, and their children (a daughter and a son). Each of these folders is named according to the same convention described with reference to Figure 5 and has associated therewith a corresponding companion text file.

[0146] The name of the companion text file associated with the Pl’s female first cousin’s husband is: “0-1 [name] [surname], txt”. The name of the companion text file associated with the Pl’s female first cousin is: “0-2 [name] [surname, nee surname 2]”). The name of the companion text files associated with the Pl’s female first cousin’s children are: “1 [name] [surname] (1 Cf+1).txt” and “2 [name] [surname] (1Cm+1).txt”. The relation codes “(1Cf+1)”, and “(1Cm+1)” indicate that these individuals are the female first cousin once removed, and the male first cousin once removed, respectively, of the PI.

[0147] As can be understood with reference to Figures 5 and 6, within data storage structures in accordance with the invention, there can be provided a plurality of parent couple folders each of which relate to a parent couple of a family tree. Then, a plurality of individual family member folders, each of which relate to an individual family member of the family tree, each individual family member associated with a parent couple or a direct descendant thereof, can be nested within the corresponding parent couple folder.

[0148] Then, descendant folders can be nested hierarchically in generational order within the individual family member folder associated with the individual family member to which the descendants are descended from. Further, it can be seen that the descendant folders and files can be named according to the same family member type codes as individual members of the family tree and have companion text files associated therewith in the same way.

[0149] Figure 7 provides a simplified schematic diagram depicting, both ascent and descent, from non-blood relatives of the PI.

[0150] In particular, Figure 7 shows folder groups 602 and 603 from Figure 6, but with additional ‘birth family’ folders 701 and 704. Birth family folder 701 contains folder groups 702 and 703. Birth family folder 704 contains folder group 705.

[0151] As can be seen in Figure 7, the birth family folder 701 (identified by unique identifier 2-4.3.0- 2.00) is nested within the folder, denoted “0-2”, associated with the Pl’s non-blood aunt. This birth family folder 701 provides a location for storing further folders and files relating to descendants and ascendants of the non-blood aunt’s birth family. The type code “00” denotes an ascending link along a non-blood line, as described below.

[0152] The folder group 702, nested within the birth family folder 701 contains folders associated with the Pl’s non-blood aunt’s birth family. The family member type code “0-1” identifies the father of the non-blood aunt, the family member type code “0-2” identifies the mother of the non- blood aunt. The family member type codes “1” and “2” identify the non-blood aunt (as the first born) and the non-blood aunt’s brother (as the second born), respectively.

[0153] Accordingly, associated with folder group 702, and nested within the birth family folder 701 , are four corresponding companion text files. The name of the companion text file associated with the non-blood aunt’s father is: “0-1 [name] [surname], txt”. The name of the companion text file associated with the non-blood aunt’s mother is: “0-2 [name] [surname, nee surname]”). The name of the companion text file associated with the non-blood aunt is: “1 [name] [surname 2, nee surname] (f).txt”. The name of the companion text file associated with the non-blood aunt’s brother is “2 [name] [surname] (m).txt”. The relation codes “(m)” and “(f)” indicate that these individuals are male and female.

[0154] The folder group 703, nested within the folder associated with the non-blood aunt’s brother (i.e., 2-4.3.0-2.00.2, according to the unique identifier) contains folders associated with the brother’s spouse and their children. The family member type code “0-1” identifies the brother of the non-blood aunt. The family member type code “0-2” identifies the brother’s spouse. The family member type codes “01” and “02” identify the brother’s son and daughter, respectively.

[0155] Accordingly, associated with folder group 703, and nested within the folder associated with the non-blood aunt’s brother, are four corresponding companion text files. Named in accordance with above examples.

[0156] As can be seen in Figure 7, the birth family folder 704 (2-4.3.0-2.00.0-1.00, according to the unique identifier) is nested within the folder, denoted “0-1”, associated with the non-blood aunt’s father. This birth family folder 704 provides a location for storing further folders and files relating to descendants and ascendants of the non-blood aunt’s father’s birth family.

[0157] The folder group 705, nested within the birth family folder 704 contains folders associated with the Pl’s non-blood aunt’s father’s birth family. In accordance with above examples, each of these folders is named in accordance with a family member type code which uniquely identifies what type of family member they are. The family member type code “0-1” identifies the father of the non-blood aunt’s father (i.e., the non-blood aunt’s grandfather), the family member type code “0-2” identifies the mother of the non-blood aunt’s father (i.e., the non-blood aunt’s grandmother). The family member type code “1” identifies the non-blood aunt’s father.

[0158] Accordingly, associated with folder group 705, and nested within the birth family folder 704, are three corresponding companion text files. Named in accordance with above examples.

[0159] As can be seen from Figure 7, birth folders can be used to provide locations in which descendants and ascendants of non-blood relatives (e.g., relatives by marriage) can be stored. In the example, shown in Figure 7, these birth folders are named according to the type code “00” to numerically differentiate the folder contained therein from other family member folders which are named according to the family member type codes described with reference to Figure 3. However, it will be understood that the birth folders can be named according to different type codes providing those codes are differentiable from the family member type codes and parent couple identifiers.

[0160] Figure 8 provides a simplified schematic diagram depicting an example computing system on which a data storage structure in accordance with embodiments of the invention can be implemented.

[0161] The system includes a computing device 801 , provided for example by a personal computer, a data storage unit 802 (provided for example by a suitable data storage device such as a hard drive) connected to the computing device 801 and a display unit 803 connected to the computing device 801. User input devices (not shown), for example a keyboard and mouse, are also typically connected to the computing device 801 .

[0162] The computing device 801 has running thereon software providing a file management application 804 which is configured to enable a user to access (store and retrieve) data stored on the data storage unit 802 via graphical user interface 805 displayed on the display unit 803.

[0163] In use, data associated with a family tree of the type described above is stored on the data storage unit 802 and organised, via the graphical user interface 805, in accordance with a schema of the type described with reference to Figures 2 and 3 by virtue of the file management application 804 running on the computing device 801.

[0164] An example of this is described in more detail with reference to Figure 9.

[0165] Figure 9 provides a flow diagram depicting the steps of a method for implementing a data storage structure in accordance with certain embodiments of the invention.

[0166] At a first step S901 , parent couples of a family tree are each allocated a unique parent couple identifier. As described above, the parent couple identifier comprises a first part and a second part. The first part corresponds to a first inherited trait code associated with an inherited trait inherited by the father of the parent couple. This inherited trait is inherited from the parent couple from which the father parent is directly descended and is passed on by that parent couple to their offspring. The second part corresponds to a second inherited trait code associated with an inherited trait inherited by the mother of the parent couple. This inherited trait is inherited from the parent couple from which the mother parent is directly descended. 1

[0167] At a second step S902, using the graphical user interface 805 of the file management application 804, a parent couple folder for each parent couple is created. Each parent couple folder is named in accordance with the corresponding parent couple identifier.

[0168] At a third step S903, using the graphical user interface 805 of the file management application 804, an individual family member folder is created for each individual family member of the family tree. Typically, these family member folders would be named in accordance with the corresponding family member codes, as described with reference to Figures 3 to 7.

[0169] At a fourth step S904, using the graphical user interface 805 of the file management application 804, each individual family member folder is nested within the parent couple folder with which they are directly associated (by either being part of, or a descendant thereof, the parent couple).

[0170] At a fifth step S905, using the graphical user interface 805 of the file management application 804, a descendant folder is created for descendants and relations thereto of individual family members of the family tree. Typically, these descendant folders would be named in accordance with the corresponding family member code, as described with reference to Figures 5 to 7.

[0171] At a sixth step S906, using the graphical user interface 805 of the file management application 804, the descendant folders are nested hierarchically in generational order within the corresponding individual family member folders to which they relate.

[0172] The data storage structure, thus implemented, can be displayed on the display unit 803.

[0173] Figure 10 provides a diagram depicting additional steps associated with the steps S902, S903, and S905.

[0174] Using the graphical user interface 805 of the file management application 804, at a first further step S1001 , a further ‘parent couple’ file is added to each trait folder corresponding to each parent couple folder and at a second further step S1002, each further file is named in accordance with a first part and a second part. The first part corresponds to the parent couple identifier with which the file is associated, and the second part descriptively identifies the inherited trait which the parent couple will pass down. Using the graphical user interface 805 of the file management application 804, at a third further step S1003, a further ‘family member’ file for each individual family member is added to the corresponding parent couple folders. At a fourth further step S1004, each of these further files is named in accordance with a first part and a second part. The first part corresponds to the family member type code with which the individual family member is associated and the second part descriptively identifies the individual family member.

[0175] Using the graphical user interface 805 of the file management application 804, at a fifth further step S1005, a further ‘descendant’ file for each descendant folder is added alongside the corresponding descendant folders. At a sixth further step S1006, each of these further files is named in accordance with a first part and a second part. The first part corresponds to the family member type code with which the descendant is associated and the second part descriptively identifies the descendant.

[0176] The examples described above, have been described in mainly terms of a family tree of human relations where the trait passed between generations is a patrilineal surname. However, alternative traits can be represented, for example inherited (hereditary) titles and so on.

[0177] In the examples described above, the family tree is a genealogical family tree associated with a human family. However, techniques in keeping with examples of the invention can be used in settings other than human families, for example to store data associated with other types of family trees where there are parent-child relationships (for example animals) and in settings where the inherited trait may be, for example, a genetic trait rather than a surname.

[0178] As will be understood, data storage structures in accordance with embodiments of the invention can be stored on any suitable data storage medium including, for example, a floppy disk, optical disk, hard disk, RAM, flash memory or any suitable combination of these or other storage media, or transmitted via data signals on a network such as an Ethernet, a wireless network, the Internet or any suitable combinations of these networks.

[0179] In the example described above, the family tree culminates in a single parent-couple, the child of whom is a “primary individual” (PI) of the family tree. In other examples, the family tree may culminate in a “primary couple” (PC). As will be understood, when considering a primary couple, the structure of data storage structure would be the same as for a primary individual. However, the numbering system would shift up by one generation (to start at 1-2) and individual family members would require labels associated therewith (via naming of the corresponding companion files, in the same way as described with reference to the above examples) referencing either the husband or the wife of the primary couple. This can be achieved, for example, by using the first letter of the husband’s name and the first letter of the wife’s name as an indicator. For example, a primary couple comprising a husband with first name “Andrew” and wife with first name “Barbara”, their respective female cousins can be denoted “ACf” “BCf”.

[0180] In the above examples, a purely heterogenous family tree with no in-breeding is assumed. However, inbreeding can be accommodated. For example, by allowing the first and second parts of the parent couple identifiers to become equal to each other with the lowest number (most recently occurring) taking precedence (being used) to avoid duplication of records.

[0181] In the embodiments described above, the data storage structure has mainly been discussed in terms of folders and files in an operating system. However, the skilled person will understand that alternative embodiments may implement the same hierarchical framework in alternative ways. For example, instead of creating actual folders in a Windows or MacOS environment, the folder and file structure may be stored and maintained in one or more relational database tables.

[0182] In such a database-oriented embodiment, each parent-couple folder and individual family member folder can be represented as a record in a table, with links or pointers that indicate which folders (or records) are nested within others. The “unique parent couple identifier” and “family member type codes” may still be used to label and distinguish each record. The user interface could present a graphical “browser” view that resembles a tree of folders and files, even though this structure is not stored as actual folders on the operating system. This eliminates any path-length limitations, because the system no longer depends on the file path constraints of Windows® or other operating systems.

[0183] When data needs to be transferred or shared, the system can export the database records and recreate an actual folder structure on demand. That folder structure can then be placed in an ISO file, or compressed into a ZIP file, or copied to a storage medium. In some embodiments, where path-length restrictions or naming constraints do apply, “companion text files” may still be used to store descriptive information or extended file names. However, in embodiments that rely on a relational database, it may not be necessary to generate such companion files, because all descriptive data can be kept in database fields, which do not suffer from path-length limits. By operating in this way, the same inventive concept is maintained: namely, a systematic method of representing family tree data through a hierarchical structure of parent-couple identifiers, inherited trait codes, and individual folders or records. Whether this structure is realised as actual file-system folders or as logical database tables, the principle remains the same. The invention can therefore be embodied in many different technical forms, without departing from the core concepts described herein.

[0184] All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and / or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and / or steps are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features. The invention is not restricted to the details of the foregoing embodiment(s). The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.

[0185] With respect to the use of substantially any plural and / or singular terms herein, those having skill in the art can translate from the plural to the singular and / or from the singular to the plural as is appropriate to the context and / or application. The various singular / plural permutations may be expressly set forth herein for sake of clarity.

[0186] It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" (e.g., “a” and / or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of "two recitations," without other modifiers, means at least two recitations, or two or more recitations).

[0187] It will be appreciated that various embodiments of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope of the present disclosure. Accordingly, the various embodiments disclosed herein are not intended to be limiting, with the true scope being indicated by the following claims.

Claims

Claims1 . A computer implemented data storage structure for a family tree, said data storage structure comprising: a plurality of parent couple folders each of which relating to a parent couple of the family tree; a plurality of individual family member folders, each of which relating to individual an individual family member of the family tree, each individual family member associated with a parent couple or a direct descendant thereof, each individual family member folder nested within the corresponding parent couple folder; wherein each folder of the plurality of parent couple folders is named according to a unique parent couple identifier, the unique parent couple identifier comprising a first part and a second part, wherein the first part corresponds to a first inherited trait code associated with a first inherited trait inherited by the father parent from the parent couple from which the father parent is directly descended and which is passed on by the parent couple to their offspring, and the second part corresponds to a second inherited trait code associated with a second inherited trait inherited by the mother parent from the parent couple from which the mother parent is directly descended, such that the unique parent couple identifiers ascend in a hierarchical value in dependence on the generational order of the parent couples with which they are associated.

2. A computer implemented data storage structure for a family tree, further comprising: a plurality of descendant folders, each of which relate to a descendant, or relation thereto, of one of the individual family members, each descendant folder nested hierarchically in generational order within the corresponding individual family member folder to which they relate.

3. A data storage structure according to claim 1 or 2, wherein the inherited trait codes are integers numbered sequentially in accordance with a hierarchical position of the inherited traits of the parent couples to which they relate.

4. A data storage structure according to any previous claim, wherein the family tree is associated with a human or animal family.

5. A data storage structure according to claim 4, wherein the family tree is associated with a human and the first inherited trait and second inherited trait are surnames.

6. A data storage structure according to any previous claim, wherein each of the individual family member folders is named in accordance with a family member type code, the family member type code indicative of the relation of the corresponding individual family member to the parent couple with which the folder is associated.

7. A data storage structure according to claim 6, further comprising: a further file for each individual family member folder such that each individual family member folder has a corresponding further file, each further file named in accordance with a first part and a second part, wherein the first part corresponds to the family member type code with which the individual family member is associated and a second part which descriptively identifies the individual family member.

8. A data storage structure according to claim 2 to 7, wherein each of the descendant folders is named in accordance with a family member type code, the family member type code indicative of the relation of the corresponding descendant to the individual family member with which the folder is associated.

9. A data storage structure according to claim 8, further comprising: a further file for each descendant folder such that each individual descendant folder has a corresponding further file, each further file named in accordance with a first part and a second part, wherein the first part corresponds to the family member type code with which the descendant is associated and a second part which descriptively identifies the descendant.

10. A data storage structure according to any previous claim, further comprising: a further file for each parent couple folder such that each parent couple folder has a corresponding further file, each further file named in accordance with a first part and a second part, wherein the first part corresponds to the unique parent couple identifier with which the parent couple of the parent folder with which the further file is associated and a second part which descriptively identifies the inherited trait which is passed on by that parent couple.

11. A data storage structure according to any of claims 7, wherein the second part is a text string.

12. A method of creating a data storage structure for encoding a family tree comprising:a plurality of parent couple folders, wherein each folder of the plurality of parent couple folders is named according to a unique parent couple identifier, the unique parent couple identifiers ascending in a hierarchical value in dependence on the generational order of the parent couples with which they are associated; a plurality of individual family member folders; and a plurality of descendant folders; said method comprising the steps of, on a computing device: allocating each parent couple a unique parent couple identifier comprising a first part and a second part, wherein the first part corresponds to a first inherited trait code associated with a first inherited trait inherited by the father parent from the parent couple from which the father parent is directly descended and which is passed on by the parent couple to their offspring, and the second part corresponds to a second inherited trait code associated with a second inherited trait inherited by the mother parent from the parent couple from which the mother parent is directly descended, such that the unique parent couple identifiers ascend in a hierarchical value in dependence on the generational order of the parent couples with which they are associated creating a parent couple folder for each parent couple and naming each parent couple folder in accordance with the corresponding parent couple identifiers, and creating a plurality of individual family member folders, each of which relating to an individual family member associated with a parent couple or a direct descendant thereof, nesting each of the individual family member folders within the corresponding parent couple folders.

13. A method according to claim 12, further comprising: creating a plurality of descendant folders, each of which relating to a descendant, or relation thereto, of one of the individual family members; and nesting the descendant folders hierarchically in generational order within the corresponding individual family member folders to which they relate.

14. A method according to claim 12 or 13, wherein the inherited trait codes are integers numbered sequentially in accordance with a hierarchical position of the inherited traits of the parent couples to which they relate.

15. A method according to any of claim 12 to 14, wherein the first inherited trait and second inherited trait are surnames.

16. A method according to any of claims 12 to 15, further comprising naming each of the individual family member folders in accordance with a family member code, the family member code indicative of the relation of the corresponding individual family member to the parent couple with which the folder is associated.

17. A method according to claim 16, further comprising: creating a further file for each individual family member folder such that each individual family member folder has a corresponding further file, each further file named in accordance with a first part and a second part, wherein the first part corresponds to the family member type code with which the individual family member is associated and a second part which descriptively identifies the individual family member; and locating the further file in the corresponding parent couple folder.

18. A method according to claim 17, further comprising naming each of the descendant folders in accordance with a family member code, the family member code indicative of the relation of the corresponding descendant to the individual family member with which the folder is associated.

19. A method according to claim 18, further comprising: creating a further file for each descendant folder such that each individual descendant folder has a corresponding further file, each further file named in accordance with a first part and a second part, wherein the first part corresponds to the family member type code with which the descendant is associated and a second part which descriptively identifies the descendant; and locating the further file in the folder in which the corresponding descendant folder is nested.

20. A method according to any of claims 12 to 19, further comprising creating a further file for each parent couple folder such that each parent couple folder has a corresponding further file, and naming each further file in accordance with a first part and a second part, wherein the first part corresponds to the parent couple identifier associated with the parent couple of the parent folder with which the further file is associated and a second part which descriptively identifies the inherited trait associated which is passed on by that parent couple; and locating the further file alongside the corresponding parent couple folder.

19. A method according to any of claims 15, 17, and 18, wherein the second part is a text string.

21. A method according to any of claims 11 to 19 further comprising, displaying the data storage structure on a graphical user interface.

22. A method according to any of claims 12 to 21, wherein the family tree is associated with a human or animal family.

23. A data storage medium on which is stored a data storage structure according to any of claims 1 to 11.

Citation Information

Patent Citations

  • User interface for a digital content management system

    US20120110515A1

  • AU2014101466A4