WO2010115204A2 - System and method for building and using member hierarchy structures - Google Patents

System and method for building and using member hierarchy structures Download PDF

Info

Publication number
WO2010115204A2
WO2010115204A2 PCT/US2010/029988 US2010029988W WO2010115204A2 WO 2010115204 A2 WO2010115204 A2 WO 2010115204A2 US 2010029988 W US2010029988 W US 2010029988W WO 2010115204 A2 WO2010115204 A2 WO 2010115204A2
Authority
WO
WIPO (PCT)
Prior art keywords
group
sub
structures
hierarchy
building
Prior art date
Application number
PCT/US2010/029988
Other languages
French (fr)
Other versions
WO2010115204A3 (en
Inventor
Nuvan Aranwela
Chris Taylor
Lucy Brown
Original Assignee
Wishlist Holdings Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wishlist Holdings Limited filed Critical Wishlist Holdings Limited
Publication of WO2010115204A2 publication Critical patent/WO2010115204A2/en
Publication of WO2010115204A3 publication Critical patent/WO2010115204A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • This present invention relates generally to point-based reward and recognition applications accessible by a plurality of members and more particularly to systems and methods for building and using member hierarchy structures.
  • This application claims priority to U.S. Application Serial No. 12/418,198 filed April 3, 2009.
  • a reward and recognition application can be used, for example, by an organization such as a company, a retailer or a website to award members or users that belong to, participate in or interact with the organization. For instance, managers of a company can award employees through a reward and recognition portal by means of a point-based system. In other words, employees are able to accumulate rewarded points through the reward and recognition portal in order to later redeem them for a number of different rewards.
  • the reward and recognition application can be used to motivate, recognize, incentivise, and reward employees, increase employee retention, interest, attraction and satisfaction, strengthen organizational culture and company values and also improve employee productivity.
  • a system and computer-implemented method comprises: (a) providing, via a physical computing device, at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it; (b) assigning properties and functions to sub-structures, the substructures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and (c) performing actions on the sub-structures.
  • a computer readable medium having stored thereon a set of instructions which when executed, perform a method comprising: (a) providing at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it; (b) assigning properties and functions to sub-structures, the sub-structures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and (c) performing actions on the sub-structures.
  • a computer system comprising at least one server configured for: (a) providing, via a physical computing device, at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it; (b) assigning properties and functions to sub-structures, the substructures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and (c) performing actions on the sub-structures.
  • FIG. 1 illustrates a server connected to at least one computer through a network, wherein the server stores software according to an embodiment of the present invention.
  • FIG. 2 illustrates a screenshot of a Member Database Configuration Page, according to an embodiment of the present invention.
  • FIG. 3 illustrates a screenshot of a Member Database Details window to add or remove fields in a Member Database Configuration Page, according to an embodiment of the present invention.
  • FIG. 4 illustrates a screenshot of the Groups tab within the Members/Groups page showing a Member Group hierarchy, according to an embodiment of the present invention.
  • FIG. 5 illustrates a screenshot of an Edit Member Group Set window to edit properties of a Member Group Set, according to an embodiment of the present invention.
  • FIG. 6 illustrates a screenshot of an Add Member Group window to add a new Member Group, according to an embodiment of the present invention.
  • FIG. 7A illustrates a screenshot of an Upload Data window to perform a Member Group Upload, according to an embodiment of the present invention.
  • FIG. 7B illustrates a screenshot of the same Upload Data window shown in FIG. 7A, after a Member Group upload file has been loaded, but prior to the upload being finalized, according to an embodiment of the present invention.
  • FIG. 8 illustrates a screenshot of a sample Excel spreadsheet template used as a Member Group upload file, according to an embodiment of the present invention.
  • FIG. 9 illustrates a screenshot of a sample Excel spreadsheet template used as a Member Group upload file with errors, according to an embodiment of the present invention.
  • FIG. 10 illustrates a screenshot of the Assign Site Functions tab within the Members/Groups page showing a tool to assign functions to Member Group Sets, according to an embodiment of the present invention.
  • FIG. 11 illustrates a screenshot of a tool to assign Member Groups to a function such as different catalogues, according to an embodiment of the present invention.
  • FIG. 12 illustrates a screenshot of a page used to assign catalogues to Sites and Member Groups, according to an embodiment of the present invention.
  • FIG. 13 illustrates a screenshot of a Page Access window used to allow only certain Member Groups access to selected pages, according to an embodiment of the present invention.
  • FIG. 14 illustrates a screenshot of a Run Report Tool used to run reports on select Member Group Sets, Member Groups or members, according to an embodiment of the present invention.
  • a reward and recognition portal can be used, for example, by an organization such as a company, a retailer or a website to award members or users that belong to, participate in or interact with the organization.
  • managers of a company can award employees through a reward and recognition portal by means of a point-based system.
  • employees are able to accumulate rewarded points through the reward and recognition portal in order to later redeem them for a number of different rewards.
  • the reward and recognition portal can also be used by the organization to broadcast general announcements, provide a directory to lookup contact information of organization members, and to facilitate networking opportunities within and outside of the organization.
  • the reward and recognition portal can be divided into two major components.
  • the first component is known as the "User Section” which grants general access to users or participants of the reward and recognition portal (herein “members").
  • members can enter and view the User Section by, for example, visiting a publicly accessible website URL with an Internet browser.
  • the second component is known as the "Administration Area", which is accessible only by nominated program administrators (herein “administrators”) who are expressly granted permission to access along with the necessary access data (e.g. logins and/or passwords). Therefore, an administrator would access the Administration Area by, for example, browsing to the publicly accessible website URL, clicking on a clearly demarked "Administration” or “Administrator” link, and providing the appropriate login and/or password data when prompted.
  • these preliminary settings include, but are not limited to:
  • SV 346,381, 575v1 3-30-09 Database comprises a plurality of member database entries, each database entry corresponding to an active member that uses and participates in the reward and recognition portal.
  • a member database entry comprises a plurality of fields identifying the given member, e.g. name, title, employee type, job title, department, start date, date of birth, gender, preferred communication method, email address, phone number, fax number and address.
  • An administrator can add or remove fields, can customize the field names (to be appropriate for a certain business or field) and can also provide content for each of the fields (e.g. providing the e-mail address of a member in the e-mail address field of a member database entry).
  • Members can also be broken up into different groups. These groups or organizational structures are known as “Member Groups”. For instance, members “Abe”, “Bob” and “Carol” can belong to a Member Group called “Los Angeles”. Going up to the next level of hierarchy, a group of Member Groups is called a “Member Group Set”. Therefore, the Member Groups of "Los Angeles", “San Francisco” and “San Diego” would belong to a Member Group Set called "California". The levels of hierarchy for Member Groups can be extended, limited or adjusted depending on the administrator.
  • a member can be viewed as a basic building-block unit of the Member Group, or the most rudimentary unit of the data structure that cannot be reduced any further in terms of hierarchy.
  • Organizing members into Member Groups yields a variety of benefits. For instance, communication to members is facilitated and messages or announcements can be sent to one, many or all members in a Member Group; or to one, many or all Member Groups in a Member Group Set, and so on and so forth for all the levels of hierarchy established for the Member Groups.
  • an administrator can monitor member activity in a convenient manner by running activity reports for one, many or all members in a Member Group; one, many or all Member Groups in a Member Group Set, and so on and so forth for all the levels of hierarchy established for the
  • invoice information and other data can be viewed in the same manner that member activity is monitored.
  • Member Groups enable the sending of efficient and targeted communications to a large plurality of members and also enable an administrator to perform fast, focused and cost-effective analysis of a potentially large and unwieldy body of member data.
  • multiple Member Group Sets or organizing structures can be set up to conveniently and efficiently drive different corresponding functions, e.g., each Member Group Set or organizing structure corresponding to a different way of organizing members. For instance, a Member Group Set designed according to geography can be used to drive the Catalogue function, and another Member Group Set designed to reflect the branch structure of a company can be used for communications, and yet another Member Group Set designed according to a Cost Centre structure can be used for invoicing purposes. Furthermore, all of these different Member Group Sets can be efficiently used in parallel with one another. Thus, there are a variety of advantageous benefits associated with the usage of Member Groups.
  • FIG. 1 illustrates a server connected to at least one computer through a network, wherein the server stores software according to an embodiment of the present invention.
  • Software or program code directed to functions and data structures making up the reward and recognition portal is stored on and tied to remote server 102.
  • Remote server 102 is connected to the Internet 104, and the Internet 104 is in turn connected to at least one computer 108 by a direct connection, to at least one mobile computer 106 via a wireless connection or a direct connection, and to at least one cellular phone or mobile device 110, the cellular phones and mobile devices being
  • SV 346,381, 575v1 3-30-09 configured to receive Wireless Application Protocol (WAP) or internet-based content.
  • WAP Wireless Application Protocol
  • FIG. 2 illustrates a screenshot of a Member Database Configuration Page, according to an embodiment of the present invention.
  • the Member Database Configuration Page 200 has a list of fields 202, each field having a field name, and wherein the field name of each field can be changed with a custom name field 204.
  • the mandatory/optional radio buttons 206 determine if the field will be mandatory or optional, and the default value pull-down menu 208 provides a default value of a given field that is automatically provided for a given field.
  • Manage Fields button 210 opens the Members Database Details window, discussed in the description of FIG. 3.
  • the list of fields 202 include identifiers to identify or distinguish a given member, such as, but not limited to: "First Name”, “Surname”, “Title”, “Employee Type”, “Job Title”, “Department”, “Employee Number”, “Member's Manager”, “Company Start Date”, “Date of birth”, “Gender”, “Username” and so on. Additional fields not shown in FIG.
  • identifiers such as, but not limited to: "Phone Number”, “Fax Number”, “Mobile Number”, “Email address”, “Password”, “Password Question”, “Password Answer”, “Address” (comprising Address Lines, City or Suburb, State, Zipcode, Country, etc.).
  • the administrator can create additional fields of their choice that may not be available in the list of fields that is provided. Fields can comprise any identifier that describes, identifies or distinguishes an individual member.
  • the administrator can also change the name of a field with the custom name field 204. For instance, this is shown in FIG. 2, where "Last name” is typed into custom name field 204 so that "Last name” instead of "Surname” is shown as the field name.
  • the custom name field 204 is convenient for an administrator because it allows the field names to be
  • SV 346,381, 575v1 3-30-09 customized to names that are relevant for a given business or industry.
  • the field "Department” in the list of fields 202 can be renamed to "Practice Group” for a law firm or “Research Team” for a science laboratory or high-technology company or to "Hospital Unit” for a hospital or medical research facility.
  • the administrator can also determine whether a given field will be mandatory or optional for the member to fill out with the mandatory/optional radio buttons 206. If a field is mandatory, for instance, a member account cannot be established within the reward and recognition portal if that field is not provided. An optional field does not have to be filled in for a member to proceed to establishing an account with the reward and recognition portal. Where applicable, whether a field will be mandatory or optional is entirely within the discretion of the administrator, and this can be conveniently set with the mandatory/optional radio buttons 206.
  • the administrator can specify a default value with the default value pull-down menu 208 for a field that would require a default value if it is not filled in. For instance, if mostly "Part Time” employees work at a company, then the "Part Time” value can be selected (amongst other choices such as "Full Time") from the default value pull-down menu 208. Therefore, this will save time and be more convenient for members filling in this field if they are already "Part Time” employees, because the administrator will know that most employees in the company are "Part Time” employees. Fields such as "First Name” or "Surname” would not be good candidates for a default value pulldown menu 208 because there is really no default value that can be assigned to a field that is subject to such wide degrees of variation.
  • FIG. 3 illustrates a screenshot of a Member Database Details window to add or remove fields in a Member Database Configuration Page, according to an embodiment of the present invention.
  • Member Database Details window 300 pops up from Member Database Configuration Page 200 (shown in the shaded background) after the user clicks Manage Fields button 210 (also shown in the shaded background).
  • Member Database Details window 300 can be used to add new fields to the list of fields 202 shown in the Member
  • SV 346,381, 575v1 3-30-09 Database Configuration Page 200 by selecting a field from the Field Reserve Bank 302 and clicking the "»" button from the movement buttons 304 to move the field from the Field Reserve Bank 302 into the Active Field Bank 306.
  • a field currently listed on the Member Database Configuration Page 200 can be removed by selecting the currently active and listed field from the Active Field Bank 306 and clicking the " «" button from the movement buttons 304 to move the currently active and listed field back from the Active Field Bank 306 into the Field Reserve Bank 302.
  • the OK button 308 can be clicked to complete the field transfer process or the Cancel button 310 can be clicked to abort the field transfer process entirely.
  • FIG. 4 illustrates a screenshot of the Groups tab within the Members/Groups page showing a Member Group hierarchy, according to an embodiment of the present invention.
  • Members/Groups page 400 comprises a plurality of tabs, one of which is Groups tab 402, which contains a plurality of buttons, such as Edit button 412 (discussed in the description of FIG. 5), "Add” button 418 and "Add Set” button 414 (discussed in the description of FIG. 6) and Upload button 416 (discussed in the description of FIGS. 7A-7B).
  • the Member Group hierarchy 403 comprises members arranged in a hierarchy of Member Groups, and Member Group Sets, and is shown here having three levels of hierarchy.
  • robust features of the present invention include the customization of names and organizing principles of the hierarchy, the number of hierarchies and the levels of a given hierarchy.
  • the levels of hierarchy are certainly not limited to just three and can be extended to as many, or as little, levels of hierarchy as the administrator deems appropriate.
  • FIG. 4 shows up to three levels of hierarchy: Member Group Set level 406 (shown by the white folder icon, and the labels “Cost Centre”, “Country”, “Departments” and “Promotions”), Member Group level 408 (shown by the labels “1 .0.22", “1.0.24”, “Australia”, “USA”, “Finance”, and “Sales” and is the level directly under the Member Group Set level 406), and finally member level 410 (shown by the labels “testr, "Test2", “South Australia”, “Victoria”, and “California”, which is the lowest level of hierarchy).
  • Expansion/retraction buttons (denoted by the " - “ symbol, and will be denoted by a " + “ symbol when pressed again) are shown next to each level of hierarchy. Clicking the " + “ expansion/retraction button expands the "children" of a given "parent” hierarchy level, the state currently shown in FIG. 4. Clicking the " - “ button collapses or retracts the listing of children so that only the parent is shown. Clearly, all the children of a parent are a lower level of hierarchy than the parent level.
  • FIG. 4 also shows a simple hierarchy of Member Groups.
  • Members are the most basic and rudimentary building block unit for constructing a hierarchy structure, and therefore, members possess the lowest level of hierarchy.
  • Members are users or participants of the reward and recognition portal.
  • Member Groups are groups of members, and are the next level up in hierarchy from members.
  • Member Group Sets are groups of Member Groups, and are the next level up in hierarchy from Member Groups.
  • the levels of hierarchy are infinitely extendable in that further levels of hierarchy can be added conveniently and easily by the administrator. For instance, an administrator can click the "Country" Member Group Set in the Member Group Set level 406, click the "Add" button 418, and add a new Member Group.
  • SV 346,381, 575v1 3-30-09 can add Member Group Sets so as to create multiple member hierarchies to drive different functions, as discussed below.
  • function indicators 404 indicate the functions that are assigned to a given Member Group Set in the Member Group Set level 406. For instance, the functions "Invoicing”, “General/Fixed Communications” and “Reports” are assigned to the Member Group Set “Cost Centre”, the functions “Points Plus Pay”, and “Catalogue” are assigned to the Member Group Set “Country” and the function “Adhoc Communications” is assigned to the Member Group Set “Departments”.
  • the Member Group Set “Promotions” is shown as having no functions currently assigned.
  • functions are a convenient feature that allow member hierarchy structures to actively contribute to the operation of the reward and recognition portal. Functions are also another way to sort, classify and organize all the member hierarchy structures. For instance, a member, Member Group, or Member Group Set can be located, sorted or filed by a particular assigned function.
  • FIG. 5 illustrates a screenshot of an Edit Member Group Set window to edit properties of a Member Group Set, according to an embodiment of the present invention.
  • Edit Member Group Set window 500 appears stating "Edit Member Group Set", if a Member Group Set is selected. If a Member Group is selected, an identical window appears but stating "Edit Member Group” instead. Properties such as the name of the Member Group Set or Member Group can be changed in the name field 502, the identification code can be changed in the code field 504 and the functions that have been assigned to the Member Group Set are shown in the function field 506.
  • the property fields shown in the Member Group Set window 500 are merely examples, and are not limited to just the ones shown.
  • the Save button 508 can be pushed to save the changes or the Cancel button 510 can be pushed to cancel any changes made. After either button is pushed, the Edit Member Group Set window 500 is closed
  • SV 346,381, 575v1 3-30-09 either automatically or manually by clicking the "x" button in the upper right- hand corner.
  • FIG. 6 illustrates a screenshot of an Add Member Group window to add a new Member Group, according to an embodiment of the present invention.
  • Clicking the "Add Set” button 414 allows the addition of a new Member Group Set
  • clicking the "Add” button 418 allows the addition of a new Member Group.
  • Add Member Group window 600 appears.
  • the "Add Member Group” window 600 allows the user to add a Member Group within a Member Group Set.
  • a window similar to the "Add Member Group” window 600 will appear, except for the difference that it will state "Add Member Group Set", and will be used to add a new Member Group Set (e.g. a new white- folder instance in the Member Group Set level 406, shown in FIG. 4), as opposed to adding a Member Group within a Member Group Set, and that window will not have parent-rule information 606.
  • Properties such as the name of the to-be-added Member Group Set or Member Group can be entered in the name field 602, and the identification code can be entered in the code field 604.
  • the parent-rule information 606 can be seen, describing what the parent of the Member Group is (here, "Country") and the rules that will apply to all children of the "Country” parent (here, the "80-20 Rule”). Rules are ways to determine how points are distributed to a member and will not be described hereto. If a Member Group Set is being added, then the parent-rule information 606 will not be displayed. Finally, after all the appropriate properties have been set, the Save button 608 can be pushed to save the changes or the Cancel button 610 can be pushed to cancel any changes made. After either button is pushed, the Add Member Group window 600 is closed either automatically or manually by clicking the "x" button in the upper right-hand corner.
  • FIG. 7A illustrates a screenshot of an Upload Data window to perform a Member Group Upload, according to an embodiment of the present invention.
  • Upload Data window 700 appears, stating "Member Group Upload” in order to enable the uploading of Member Groups if the administrator wishes to create Member Groups in bulk, or a very large number of Member Groups at one time, without having to individually create one Member Group at a time. This is done by inputting all the Member Groups that are to be added in an Excel spreadsheet (".xls" or “.xlsx” extension) with a provided template and then uploading that spreadsheet, the process being detailed in instruction block 701 .
  • the Excel spreadsheet must have a certain form, which is shown in FIG. 8.
  • an Excel spreadsheet pre-set with the requisite form (the form shown by the spreadsheet in FIG. 8) can be downloaded, filled in and saved.
  • the administrator uses the Browse button 704 to find the filled-out spreadsheet or another Excel spreadsheet that has already been filled-out and saved somewhere on a local hard drive or other storage device, and the name of the Excel spreadsheet file then appears in the File field 702.
  • the administrator can either click the Upload button 710, and be taken to FIG. 7B, or click the Cancel button 708, and close the Upload Data window 700 and abort the entire Member Group upload process.
  • FIG. 7B illustrates a screenshot of the same Upload Data window shown in FIG. 7A, after a Member Group upload file has been loaded, but prior to the upload being finalized, according to an embodiment of the present invention.
  • the Upload Data window 700 changes to the window shown in FIG. 7B.
  • the main differences between the Upload Data window 700 shown in FIG. 7B from the one shown in FIG. 7A are: the appearance of status confirmation message 712, the appearance of the Excel spreadsheet file name in the filled-out File field 714, and the appearance of the Continue button 716, which takes the place of the Upload button 710 in FIG. 7A.
  • SV 346,381, 575v1 3-30-09 712 alerts the administrator on whether or not the uploaded Excel spreadsheet file conforms to the proper standards and is valid. If it is a valid file, then the message should say: "The file you are uploading has [x]/[x] valid records", where x is the total number of valid records in the Excel spreadsheet. If the file is invalid in any way, then the message will say: "The file you are uploading has [y]/[x] valid records", where y is a number less than x, and (x-y) represents the number of non-confirming record entries.
  • the "Download Data" link of the status confirmation message 712 can be clicked to view the conforming or non-conforming Excel spreadsheet file. Once the administrator has checked that the file name shown in the filled-out File field 714 is correct, the administrator can then push the Continue button 716 and complete the data upload process. Afterwards, all the Member Group data input in the conforming Excel spreadsheet file will be shown as Member Groups on, for example, the screenshot in FIG. 4. Pushing the cancel button 708 closes the Upload Data window 700 and aborts the entire Member Group upload process.
  • FIG. 8 illustrates a screenshot of a sample Excel spreadsheet template used as a Member Group upload file, according to an embodiment of the present invention.
  • Excel spreadsheet template 800 comprises a Member Group Set Code column 802, a Member Group Name column 804, a Member Group Code column 806, and Hierarchy Level Member Group Code columns 808.
  • the code (or name) of the Member Group Set each Member Group belongs to can be entered.
  • the code of the Member Group Set all the Member Groups belong to is "General”.
  • Member Group Name column 804 the name of the Member Group should be entered.
  • the Member Groups are all named after various cities or regions in Australia.
  • the code of the Member Group a sort of abbreviation, can be entered.
  • the code of the Member Group cannot contain any spaces.
  • the code of the Member Group is a child of a parent, and depending on how many levels of hierarchy the Member Group is under, then the code of the Member
  • Hierarchy Level Member Group Code columns 808 For instance, in the case of FIG. 8, the Member Groups have one parent and one hierarchy level, therefore the code of their parents are entered in the column entitled "Hierarchy Level 1 Member Group Code". If the Member Groups had more than one level of parents (more than one level of hierarchy above them), then they would enter the codes of their parents in the columns named: Hierarchy Level 2 Member Group Code, Hierarchy Level 3 Member Group Code (not shown), and so on and so forth. The code entered in Hierarchy Level Member Group Code columns 808 cannot contain any spaces and are the same codes used in the Member Group Code column 806.
  • FIG. 9 illustrates a screenshot of a sample Excel spreadsheet template used as a Member Group upload file with errors, according to an embodiment of the present invention.
  • Invalid Excel spreadsheet template 900 shows the highlighted error text 902 for row 3 in FIG. 9 in all the columns (Member Group Set Code column 802, Member Group Name column 804, and Member Group Code column 806, as discussed above in FIG. 8).
  • Highlighted error text 902 is highlighted in a different and more noticeable color than normal black text, such as red.
  • First error message 904 is an example of an error message describing the reasons for error of the invalid non-conforming row entry, as it states "A new Member Group name must be unique within the specified group set".
  • Second error message 906 is another example of an error message describing the reasons for error of the invalid non- conforming row entry, as it states "A new member Group code must be unique".
  • the member group code "chris” in row 3 is not unique because there is already a member group code called "chris”. Therefore, row 3 is invalid and non-conforming, whereas row 4 is valid and fine, because "lucy" as a Member Group Name and as a Member Group Code does not cause first error message 904 or second error message 906 to appear.
  • SV 346,381, 575v1 3-30-09 data input in the conforming Excel spreadsheet file will be shown as Member Groups on, for example, the screenshot in FIG. 4.
  • FIG. 10 illustrates a screenshot of the Assign Site Functions tab within the Members/Groups page showing a tool to assign functions to Member Group Sets, according to an embodiment of the present invention.
  • Members/Groups page 400 comprises a plurality of tabs, one of which is Groups tab 402 (discussed in the description of FIG. 4, above), and another one of which is Assign Site Functions tab 1000.
  • Member Group Set Function Assignment Tool 1001 allows an administrator to assign Functions, listed in Function list 1002, to particular Member Group Sets, listed in Group Set pull-down lists 1004, view the number of Member Groups with Rules in the selected Member Group Set in Member Groups with Rules column 1008, and determine whether every member must be in a Member Group within the Member Group Set by checking or un-checking the Enforce Member Group Mandatory boxes 1010. This last point has the effect of ensuring that functions apply to all members where Enforce Member Group Mandatory is applied.
  • Functions such as the functions listed in Function list 1002 are pieces of code that contain procedures, features and options that enable members to perform different operations with the reward and recognition portal.
  • the "Catalogue” function allows members to order rewards from different types of reward catalogues with the points that they have accumulated through the reward and recognition portal.
  • the functions in Function list 1002 e.g. "Adhoc Communications”, “Catalogue”, “General/Fixed Communications”, “Invoicing”, “Points Plus Pay”, and “Reports” are merely examples and are not limited to the ones listed.
  • Group Set pull-down lists allow an administrator to select the Member Group Set (e.g. "Cost Centre", "Country”, “Departments”, “Promotions") to apply the given function to.
  • Member Groups with Rules column 1008 displays to the administrator the number of Member Groups within the selected Member Group Set that have a given rule in effect. Rules reflect how a function may be applied differently to Groups within a Member Group Set.
  • Mandatory boxes 1010 allow an administrator to determine whether or not a given function will be mandatory for the Member Groups within a Member Group Set.
  • the Enforce Member Group Mandatory Boxes 1010 makes it mandatory that every member must belong to one Member Group within the Member Group Set. This in turn makes every member subject to the function applied to that Member Group Set.
  • the administrator may click the Save button 1014 to save the settings and complete the process or click the Cancel button 1012 to abort the process.
  • FIG. 11 illustrates a screenshot of a tool to assign Member Groups to a function such as different catalogues, according to an embodiment of the present invention.
  • Catalogue Assignment Tool 1 100 comprises function pulldown menu 1 102, where Catalogue is selected, Catalogue Bank 1104 showing the list of catalogues and Groups tab 1106 showing the Member Groups (within the Member Group Set to which the Catalogue function has been assigned) against which the selected catalogues from the Catalogue Bank 1004 can be applied.
  • the Member Groups shown in Groups tab 1106 comprise a hierarchy corresponding to the "Country" Member Group Set as selected and shown on FIG. 10, of Member Group levels 1 108 and 1110.
  • the administrator can select a catalogue (e.g.
  • FIG. 12 illustrates a screenshot of a page used to assign catalogues to Sites and Member Groups, according to an embodiment of the present invention.
  • Sites are websites representing the reward and recognition portal program.
  • Catalogue Movement Tool 1200 allows catalogues from Available Catalogue Bank 1202 to be moved to Assigned Catalogue Bank 1206, which are catalogues currently assigned to Sites, by means of movement buttons 1204 ("»" or " «").
  • Assign to Member Groups button 1208 is pushed, and all the catalogues listed in the Assigned Catalogue Bank 1206 will be moved to the Catalogue Bank 1104 in FIG. 1 1 for assignment into specific Member Groups, Member Group Sets, or members.
  • FIG. 13 illustrates a screenshot of a Page Access window used to allow only certain Member Groups access to selected pages, according to an embodiment of the present invention.
  • Page Access window 1300 enables an administrator to grant access to a restricted portion of the reward and recognition portal by selecting a Member Group Set in Member Group Set pull-down menu 1302. Access can further be distributed through Member Group selection boxes 1304, which grant Member Groups, or members access to the restricted portions of the reward and recognition portal.
  • the administrator can click Apply button 1310 without closing the Page Access window 1300, and can also click the OK button 1306 to complete the process and close the window.
  • the administrator can also click the Cancel button 1308 to not apply any of the settings, which also closes the Page Access window 1300 as well.
  • FIG. 14 illustrates a screenshot of a Run Report Tool used to run reports on select Member Group Sets, Member Groups or members, according to an embodiment of the present invention.
  • Run Report Tool 1400 enables an administrator to run a report accurately and efficiently within a member hierarchy structure (e.g. running a report on a member, Member Group, Member Group Set, and so on and so forth through all established levels of hierarchy) in a given time window. Reports allow an administrator to monitor the activity or information data of any entity within the member
  • SV 346,381, 575v1 3-30-09 hierarchy structure The administrator selects the appropriate "From date” and "To date” in the time-window select fields 1402. Then, in the member hierarchy structure 1404, the administrator selects the entities in the member hierarchy structure that the report will be run on. For instance, a report can be run on an individual member, some or all members in a Member Group, an entire Member Group, or some Member Groups in a Member Group Set, or a Member Group Set, and so on and so forth through all established levels of hierarchy.
  • the administrator selects the preferred format of the complete report in the pull-down format menu 1406 (shown here as: “Csv”, “Excel” or “Html” as merely examples, because the formats are not limited to the ones shown) and clicks the Run report button 1408 in order to run the report and obtain efficient and focused results from the robust member hierarchical structure.
  • Member Groups and member hierarchy structures present a variety of benefits. For instance, Member Groups and member hierarchy structures enable the sending of efficient and targeted communications to a large group of members. In other words, communication to a large group of members is facilitated because messages or announcements can be sent to one, many or all members in a Member Group; or to one, many or all Member Groups in a Member Group Set, and so on and so forth for all the levels of hierarchy established for the Member Groups. In addition, Member Groups and member hierarchy structures enable an administrator to execute fast, focused and cost-effective analysis of a potentially large and unwieldy body of member data.
  • an administrator can monitor member activity in a convenient manner by running activity reports for one, many or all members in a Member Group; one, many or all Member Groups in a Member Group Set, and so on and so forth for all the levels of hierarchy established for the Member Groups.
  • Member Groups and member hierarchy structures allow an administrator to grant a variable number of members - e.g. one, many or all members in a Member Group; one, many or all Member Groups in a Member Group Set, and so on and so forth for all established levels of hierarchy - access to certain key functions of the reward and
  • SV 346,381, 575v1 3-30-09 recognition portal e.g. catalogues to shop for rewards, or reporting capability
  • multiple Member Group Sets or organizing structures can be set up to conveniently and efficiently drive different corresponding functions (e.g. different geographic Member Group Sets can use different Catalogues, different branch structure Member Group Sets can administer communications and Member Group Sets based on Cost Centre functions can handle invoicing and billing).
  • the computer language code used to compose the data structures used for the Member Groups and the member hierarchy structures, and other facets of the software used for the reward and recognition portal can include, but are not limited to: Java, JavaScript, C, C++, C#, HTML, XML, Microsoft ASP.NET, Microsoft ASP.NET 2.0 with AJAX Extensions, Microsoft Web Parts and Resource Providers, T-SQL, CSS and any web-based programming language.
  • Java JavaScript
  • C C++
  • C# HTML
  • XML Microsoft ASP.NET
  • Microsoft ASP.NET 2.0 with AJAX Extensions Microsoft Web Parts and Resource Providers
  • T-SQL Resource Providers
  • CSS any web-based programming language.
  • SP1 for Runtime procedures, .NET2 and .NET 3.5 (SP1 ) may be used.
  • Visual Studio 2005 or Visual Studio 2008 may be used for the Programming Environment and Cruise Control v.1 .3.0 may be used for the Build Environment, nUnit v2.4.0 R2 may be used for Unit Testing, Microsoft IIS5.1 , IIS6 may be used for the Internet Server, Visual Source Safe 2005 (v8) may be used for Source Control, and Telerik RAD Controls (on ASPNET 2008-Q2 AJAX release, or ASPNET 2007-Q2 release) may be used for Third Party Controls. Furthermore, SQL Server 2005 and Management Studio is used for SQL scripts and Internet Explorer 7-8, Firefox, Google Chrome, Opera and Safari were web browsers for displaying the websites.
  • a variety of other software tools may also be used, such as: Microsoft Enterprise Library 3.0, MVP Pattern, Provider Pattern, Reflector (Redgate), SQL Compare v. 6 (Redgate), Beyond Compare (Scooter Software), Various tools from Sysinternals (Process Explorer, File Mon, TCP View), Textpad v. 4.x, Notepad ++ v5.x, and MSDN Library.
  • each of the various elements of the invention and claims may also be achieved in a variety of manners.
  • This disclosure should be understood to encompass each such variation, be it a variation of an embodiment of any apparatus embodiment, a method or process embodiment, or even merely a variation of any element of these.
  • the words for each element of the invention may be expressed by equivalent apparatus terms or method terms.
  • Such equivalent, broader, or even more generic terms should be considered to be encompassed in the description of each element or action. Such terms can be substituted where desired to make explicit the implicitly broad coverage to which this invention is entitled.
  • An embodiment of the invention relates to a computer storage product with a computer-readable or machine-accessible medium having executable instructions or computer code thereon for performing various computer-implemented operations.
  • the term "computer-readable medium” or “machine-accessible medium” is used herein to include any medium that is capable of storing or encoding a sequence of executable instructions or computer code for performing the operations described herein.
  • the media and computer code can be those specially designed and constructed for the
  • SV 346,381, 575v1 3-30-09 purposes of the invention or can be of the kind well known and available to those having ordinary skill in the computer software arts.
  • Examples of computer-readable media include computer-readable storage media such as: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as Compact Disc-Read Only Memories ("CD-ROMs”) and holographic devices; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and execute program code, such as Application-Specific Integrated Circuits ("ASICs”), Programmable Logic Devices ("PLDs”), Read Only Memory (“ROM”) devices, and Random Access Memory (“RAM”) devices.
  • Examples of computer code include machine code, such as produced by a compiler, and files containing higher level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using Java, C++, or other programming language and development tools. Additional examples of computer code include encrypted code and compressed code. Another embodiment of the invention can be implemented in hard wired circuitry in place of, or in combination with, computer code.

Abstract

A system and method to build and use a hierarchical data structure comprises: (a) providing, via a physical computing device, at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it; (b) assigning properties and functions to substructures, the sub-structures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and (c) performing actions on the sub-structures.

Description

SYSTEM AND METHOD FOR BUILDING AND USING MEMBER HIERARCHY STRUCTURES
FIELD OF THE INVENTION
[0001] This present invention relates generally to point-based reward and recognition applications accessible by a plurality of members and more particularly to systems and methods for building and using member hierarchy structures. This application claims priority to U.S. Application Serial No. 12/418,198 filed April 3, 2009.
BACKGROUND
[0002] A reward and recognition application can be used, for example, by an organization such as a company, a retailer or a website to award members or users that belong to, participate in or interact with the organization. For instance, managers of a company can award employees through a reward and recognition portal by means of a point-based system. In other words, employees are able to accumulate rewarded points through the reward and recognition portal in order to later redeem them for a number of different rewards. As a result, the reward and recognition application can be used to motivate, recognize, incentivise, and reward employees, increase employee retention, interest, attraction and satisfaction, strengthen organizational culture and company values and also improve employee productivity.
SUMMARY
[0003] A system and computer-implemented method comprises: (a) providing, via a physical computing device, at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it; (b) assigning properties and functions to sub-structures, the substructures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and (c) performing actions on the sub-structures.
[0004] A computer readable medium having stored thereon a set of instructions which when executed, perform a method comprising: (a) providing at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it; (b) assigning properties and functions to sub-structures, the sub-structures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and (c) performing actions on the sub-structures.
[0005] A computer system comprising at least one server configured for: (a) providing, via a physical computing device, at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it; (b) assigning properties and functions to sub-structures, the substructures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and (c) performing actions on the sub-structures.
[0006] Many other features and embodiments of the present invention will be apparent from the accompanying drawings and from the following detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] FIG. 1 illustrates a server connected to at least one computer through a network, wherein the server stores software according to an embodiment of the present invention.
[0008] FIG. 2 illustrates a screenshot of a Member Database Configuration Page, according to an embodiment of the present invention.
2
SV 346,381, 575v1 3-30-09 [0009] FIG. 3 illustrates a screenshot of a Member Database Details window to add or remove fields in a Member Database Configuration Page, according to an embodiment of the present invention.
[0010] FIG. 4 illustrates a screenshot of the Groups tab within the Members/Groups page showing a Member Group hierarchy, according to an embodiment of the present invention.
[0011] FIG. 5 illustrates a screenshot of an Edit Member Group Set window to edit properties of a Member Group Set, according to an embodiment of the present invention.
[0012] FIG. 6 illustrates a screenshot of an Add Member Group window to add a new Member Group, according to an embodiment of the present invention.
[0013] FIG. 7A illustrates a screenshot of an Upload Data window to perform a Member Group Upload, according to an embodiment of the present invention.
[0014] FIG. 7B illustrates a screenshot of the same Upload Data window shown in FIG. 7A, after a Member Group upload file has been loaded, but prior to the upload being finalized, according to an embodiment of the present invention.
[0015] FIG. 8 illustrates a screenshot of a sample Excel spreadsheet template used as a Member Group upload file, according to an embodiment of the present invention.
[0016] FIG. 9 illustrates a screenshot of a sample Excel spreadsheet template used as a Member Group upload file with errors, according to an embodiment of the present invention.
[0017] FIG. 10 illustrates a screenshot of the Assign Site Functions tab within the Members/Groups page showing a tool to assign functions to Member Group Sets, according to an embodiment of the present invention.
SV 346,381, 575v1 3-30-09 [0018] FIG. 11 illustrates a screenshot of a tool to assign Member Groups to a function such as different catalogues, according to an embodiment of the present invention.
[0019] FIG. 12 illustrates a screenshot of a page used to assign catalogues to Sites and Member Groups, according to an embodiment of the present invention.
[0020] FIG. 13 illustrates a screenshot of a Page Access window used to allow only certain Member Groups access to selected pages, according to an embodiment of the present invention.
[0021] FIG. 14 illustrates a screenshot of a Run Report Tool used to run reports on select Member Group Sets, Member Groups or members, according to an embodiment of the present invention.
[0022] To allow cross-referencing among the figures, like elements in the figures are provided like reference numerals.
DETAILED DESCRIPTION
[0023] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the description. It will be apparent, however, to one skilled in the art that embodiments of the present invention can be practiced without these specific details. In some instances, structures and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams are shown to represent data and logic flows.
[0024] Reference in this specification to "one embodiment", "an embodiment", "other embodiments", or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. The appearances of, for example, the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments.
SV 346,381, 575v1 3-30-09 [0025] Moreover, whether or not there is express reference to an
"embodiment" or the like, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.
[0026] In accordance with the present invention, a reward and recognition portal can be used, for example, by an organization such as a company, a retailer or a website to award members or users that belong to, participate in or interact with the organization. For instance, managers of a company can award employees through a reward and recognition portal by means of a point-based system. In other words, employees are able to accumulate rewarded points through the reward and recognition portal in order to later redeem them for a number of different rewards.
[0027] Furthermore, the reward and recognition portal can also be used by the organization to broadcast general announcements, provide a directory to lookup contact information of organization members, and to facilitate networking opportunities within and outside of the organization.
[0028] The reward and recognition portal can be divided into two major components. The first component is known as the "User Section" which grants general access to users or participants of the reward and recognition portal (herein "members"). A member can enter and view the User Section by, for example, visiting a publicly accessible website URL with an Internet browser.
[0029] The second component is known as the "Administration Area", which is accessible only by nominated program administrators (herein "administrators") who are expressly granted permission to access along with the necessary access data (e.g. logins and/or passwords). Therefore, an administrator would access the Administration Area by, for example, browsing to the publicly accessible website URL, clicking on a clearly demarked "Administration" or "Administrator" link, and providing the appropriate login and/or password data when prompted.
SV 346,381, 575v1 3-30-09 [0030] Once an administrator logs into the Administration Area, the administrator must configure a variety of preliminary settings before the reward and recognition portal is launched for the first time. For example, in a website context, where the software for the reward and recognition portal is stored on a remote server accessible by a computer via the Internet, these preliminary settings include, but are not limited to:
General website settings such as the name of the reward and recognition portal, and the publicly accessible website URL to be used (e.g. http://www.mycompanyrewards.com);
Customization settings to configure a Member Database - which will be discussed in detail below - in order to suit the specific needs of the reward and recognition portal;
Individual member settings that will load all the data of active, participating members, allowing them to access the reward and recognition portal; and
Graphic Design settings that allow an administrator to customize the look and feel, as well as the content of the reward and recognition portal.
[0031] After the administrator has set up these preliminary settings, the administrator will then use other areas of the Administration Area in order to accomplish a variety of tasks. These tasks include, but are not limited to:
Updating member details;
Allocating points to members;
Sending communications to members;
Updating the content, and look and feel of the reward and recognition portal; and
Reporting on the activity of the reward and recognition portal.
[0032] As discussed above, one of the preliminary settings that the administrator must take care of before launching the reward and recognition portal for the first time is setting up the Member Database. The Member
6
SV 346,381, 575v1 3-30-09 Database comprises a plurality of member database entries, each database entry corresponding to an active member that uses and participates in the reward and recognition portal. A member database entry comprises a plurality of fields identifying the given member, e.g. name, title, employee type, job title, department, start date, date of birth, gender, preferred communication method, email address, phone number, fax number and address. An administrator can add or remove fields, can customize the field names (to be appropriate for a certain business or field) and can also provide content for each of the fields (e.g. providing the e-mail address of a member in the e-mail address field of a member database entry).
[0033] Members can also be broken up into different groups. These groups or organizational structures are known as "Member Groups". For instance, members "Abe", "Bob" and "Carol" can belong to a Member Group called "Los Angeles". Going up to the next level of hierarchy, a group of Member Groups is called a "Member Group Set". Therefore, the Member Groups of "Los Angeles", "San Francisco" and "San Diego" would belong to a Member Group Set called "California". The levels of hierarchy for Member Groups can be extended, limited or adjusted depending on the administrator. According to embodiments of the present invention, if a data structure such as a Member Group is used to organize members, then a member can be viewed as a basic building-block unit of the Member Group, or the most rudimentary unit of the data structure that cannot be reduced any further in terms of hierarchy.
[0034] Organizing members into Member Groups yields a variety of benefits. For instance, communication to members is facilitated and messages or announcements can be sent to one, many or all members in a Member Group; or to one, many or all Member Groups in a Member Group Set, and so on and so forth for all the levels of hierarchy established for the Member Groups. In addition, an administrator can monitor member activity in a convenient manner by running activity reports for one, many or all members in a Member Group; one, many or all Member Groups in a Member Group Set, and so on and so forth for all the levels of hierarchy established for the
SV 346,381, 575v1 3-30-09 Member Groups. Also, invoice information and other data can be viewed in the same manner that member activity is monitored.
[0035] Therefore, as can be appreciated by a person skilled in the art, Member Groups enable the sending of efficient and targeted communications to a large plurality of members and also enable an administrator to perform fast, focused and cost-effective analysis of a potentially large and unwieldy body of member data. Furthermore, multiple Member Group Sets or organizing structures can be set up to conveniently and efficiently drive different corresponding functions, e.g., each Member Group Set or organizing structure corresponding to a different way of organizing members. For instance, a Member Group Set designed according to geography can be used to drive the Catalogue function, and another Member Group Set designed to reflect the branch structure of a company can be used for communications, and yet another Member Group Set designed according to a Cost Centre structure can be used for invoicing purposes. Furthermore, all of these different Member Group Sets can be efficiently used in parallel with one another. Thus, there are a variety of advantageous benefits associated with the usage of Member Groups.
[0036] The above-mentioned features and objects of the present invention will become more apparent with reference to the following description taken in conjunction with the accompanying drawings wherein like reference numerals denote like elements.
[0037] FIG. 1 illustrates a server connected to at least one computer through a network, wherein the server stores software according to an embodiment of the present invention. Software or program code directed to functions and data structures making up the reward and recognition portal is stored on and tied to remote server 102. Remote server 102 is connected to the Internet 104, and the Internet 104 is in turn connected to at least one computer 108 by a direct connection, to at least one mobile computer 106 via a wireless connection or a direct connection, and to at least one cellular phone or mobile device 110, the cellular phones and mobile devices being
SV 346,381, 575v1 3-30-09 configured to receive Wireless Application Protocol (WAP) or internet-based content.
[0038] FIG. 2 illustrates a screenshot of a Member Database Configuration Page, according to an embodiment of the present invention. The Member Database Configuration Page 200 has a list of fields 202, each field having a field name, and wherein the field name of each field can be changed with a custom name field 204. The mandatory/optional radio buttons 206 determine if the field will be mandatory or optional, and the default value pull-down menu 208 provides a default value of a given field that is automatically provided for a given field. Manage Fields button 210 opens the Members Database Details window, discussed in the description of FIG. 3.
[0039] An administrator has access to the Member Database Configuration Page 200 in order to determine the fields of data to be included in the Member Database. In other words, the administrator chooses the fields that will accompany each Member Database entry corresponding to each member in the Member Database. Therefore, the list of fields 202 include identifiers to identify or distinguish a given member, such as, but not limited to: "First Name", "Surname", "Title", "Employee Type", "Job Title", "Department", "Employee Number", "Member's Manager", "Company Start Date", "Date of Birth", "Gender", "Username" and so on. Additional fields not shown in FIG. 2 include identifiers such as, but not limited to: "Phone Number", "Fax Number", "Mobile Number", "Email address", "Password", "Password Question", "Password Answer", "Address" (comprising Address Lines, City or Suburb, State, Zipcode, Country, etc.). In addition, the administrator can create additional fields of their choice that may not be available in the list of fields that is provided. Fields can comprise any identifier that describes, identifies or distinguishes an individual member.
[0040] The administrator can also change the name of a field with the custom name field 204. For instance, this is shown in FIG. 2, where "Last name" is typed into custom name field 204 so that "Last name" instead of "Surname" is shown as the field name. The custom name field 204 is convenient for an administrator because it allows the field names to be
SV 346,381, 575v1 3-30-09 customized to names that are relevant for a given business or industry. For instance, the field "Department" in the list of fields 202 can be renamed to "Practice Group" for a law firm or "Research Team" for a science laboratory or high-technology company or to "Hospital Unit" for a hospital or medical research facility.
[0041] The administrator can also determine whether a given field will be mandatory or optional for the member to fill out with the mandatory/optional radio buttons 206. If a field is mandatory, for instance, a member account cannot be established within the reward and recognition portal if that field is not provided. An optional field does not have to be filled in for a member to proceed to establishing an account with the reward and recognition portal. Where applicable, whether a field will be mandatory or optional is entirely within the discretion of the administrator, and this can be conveniently set with the mandatory/optional radio buttons 206.
[0042] Finally, the administrator can specify a default value with the default value pull-down menu 208 for a field that would require a default value if it is not filled in. For instance, if mostly "Part Time" employees work at a company, then the "Part Time" value can be selected (amongst other choices such as "Full Time") from the default value pull-down menu 208. Therefore, this will save time and be more convenient for members filling in this field if they are already "Part Time" employees, because the administrator will know that most employees in the company are "Part Time" employees. Fields such as "First Name" or "Surname" would not be good candidates for a default value pulldown menu 208 because there is really no default value that can be assigned to a field that is subject to such wide degrees of variation.
[0043] FIG. 3 illustrates a screenshot of a Member Database Details window to add or remove fields in a Member Database Configuration Page, according to an embodiment of the present invention. Member Database Details window 300 pops up from Member Database Configuration Page 200 (shown in the shaded background) after the user clicks Manage Fields button 210 (also shown in the shaded background). Member Database Details window 300 can be used to add new fields to the list of fields 202 shown in the Member
10
SV 346,381, 575v1 3-30-09 Database Configuration Page 200 by selecting a field from the Field Reserve Bank 302 and clicking the "»" button from the movement buttons 304 to move the field from the Field Reserve Bank 302 into the Active Field Bank 306. Likewise, a field currently listed on the Member Database Configuration Page 200 can be removed by selecting the currently active and listed field from the Active Field Bank 306 and clicking the "«" button from the movement buttons 304 to move the currently active and listed field back from the Active Field Bank 306 into the Field Reserve Bank 302. Finally, after the desired fields are added and/or removed, the OK button 308 can be clicked to complete the field transfer process or the Cancel button 310 can be clicked to abort the field transfer process entirely.
[0044] Although not shown in FIG. 3, there are means to add new fields to the Field Reserve Bank 302. For instance, "Generic Field 1 ", "Generic Field 2" and "Generic Field 3" are shown as being present in the Field Reserve Bank 302, but can be renamed as appropriate. Other fields with pre-set names can also be added to the Field Reserve Bank 302.
[0045] FIG. 4 illustrates a screenshot of the Groups tab within the Members/Groups page showing a Member Group hierarchy, according to an embodiment of the present invention. Members/Groups page 400 comprises a plurality of tabs, one of which is Groups tab 402, which contains a plurality of buttons, such as Edit button 412 (discussed in the description of FIG. 5), "Add" button 418 and "Add Set" button 414 (discussed in the description of FIG. 6) and Upload button 416 (discussed in the description of FIGS. 7A-7B). The Member Group hierarchy 403 comprises members arranged in a hierarchy of Member Groups, and Member Group Sets, and is shown here having three levels of hierarchy. However, robust features of the present invention include the customization of names and organizing principles of the hierarchy, the number of hierarchies and the levels of a given hierarchy. For example, the levels of hierarchy are certainly not limited to just three and can be extended to as many, or as little, levels of hierarchy as the administrator deems appropriate.
11
SV 346,381, 575v1 3-30-09 [0046] For illustrative purposes, FIG. 4 shows up to three levels of hierarchy: Member Group Set level 406 (shown by the white folder icon, and the labels "Cost Centre", "Country", "Departments" and "Promotions"), Member Group level 408 (shown by the labels "1 .0.22", "1.0.24", "Australia", "USA", "Finance", and "Sales" and is the level directly under the Member Group Set level 406), and finally member level 410 (shown by the labels "testr, "Test2", "South Australia", "Victoria", and "California", which is the lowest level of hierarchy). Expansion/retraction buttons (denoted by the " - " symbol, and will be denoted by a " + " symbol when pressed again) are shown next to each level of hierarchy. Clicking the " + " expansion/retraction button expands the "children" of a given "parent" hierarchy level, the state currently shown in FIG. 4. Clicking the " - " button collapses or retracts the listing of children so that only the parent is shown. Clearly, all the children of a parent are a lower level of hierarchy than the parent level.
[0047] FIG. 4 also shows a simple hierarchy of Member Groups. Members are the most basic and rudimentary building block unit for constructing a hierarchy structure, and therefore, members possess the lowest level of hierarchy. Members, as discussed above, are users or participants of the reward and recognition portal. Member Groups are groups of members, and are the next level up in hierarchy from members. Member Group Sets are groups of Member Groups, and are the next level up in hierarchy from Member Groups. According to embodiments of the present invention, the levels of hierarchy are infinitely extendable in that further levels of hierarchy can be added conveniently and easily by the administrator. For instance, an administrator can click the "Country" Member Group Set in the Member Group Set level 406, click the "Add" button 418, and add a new Member Group. Then the administrator can click the newly added Member Group and click the "Add" button again to instantiate another Member Group (detailed in the description of FIG. 6), and so on and so forth, until the administrator creates as many levels of hierarchy as desired. All the levels of hierarchy (shown in FIG. 4 as just members, Member Groups, and Member Group Sets) will be hereinafter called "member hierarchy structures". In addition, the administrator
12
SV 346,381, 575v1 3-30-09 can add Member Group Sets so as to create multiple member hierarchies to drive different functions, as discussed below.
[0048] Finally, function indicators 404 indicate the functions that are assigned to a given Member Group Set in the Member Group Set level 406. For instance, the functions "Invoicing", "General/Fixed Communications" and "Reports" are assigned to the Member Group Set "Cost Centre", the functions "Points Plus Pay", and "Catalogue" are assigned to the Member Group Set "Country" and the function "Adhoc Communications" is assigned to the Member Group Set "Departments". The Member Group Set "Promotions" is shown as having no functions currently assigned. As will be further described in detail in the description of FIGS. 10-12, functions are a convenient feature that allow member hierarchy structures to actively contribute to the operation of the reward and recognition portal. Functions are also another way to sort, classify and organize all the member hierarchy structures. For instance, a member, Member Group, or Member Group Set can be located, sorted or filed by a particular assigned function.
[0049] FIG. 5 illustrates a screenshot of an Edit Member Group Set window to edit properties of a Member Group Set, according to an embodiment of the present invention. After clicking the Edit button 412 which is on the Group tab 402 of the Members/Groups page 400, all first shown in FIG. 4 but shown in the shaded background of FIG. 5, Edit Member Group Set window 500 appears stating "Edit Member Group Set", if a Member Group Set is selected. If a Member Group is selected, an identical window appears but stating "Edit Member Group" instead. Properties such as the name of the Member Group Set or Member Group can be changed in the name field 502, the identification code can be changed in the code field 504 and the functions that have been assigned to the Member Group Set are shown in the function field 506. The property fields shown in the Member Group Set window 500 are merely examples, and are not limited to just the ones shown. After all the properties have been set, the Save button 508 can be pushed to save the changes or the Cancel button 510 can be pushed to cancel any changes made. After either button is pushed, the Edit Member Group Set window 500 is closed
13
SV 346,381, 575v1 3-30-09 either automatically or manually by clicking the "x" button in the upper right- hand corner.
[0050] FIG. 6 illustrates a screenshot of an Add Member Group window to add a new Member Group, according to an embodiment of the present invention. Clicking the "Add Set" button 414 allows the addition of a new Member Group Set, and clicking the "Add" button 418 allows the addition of a new Member Group. After clicking the "Add" button 418, which is on the Group tab 402 of the Members/Groups page 400, all first shown in FIG. 4 but shown in the shaded background of FIG. 6, Add Member Group window 600 appears. The "Add Member Group" window 600 allows the user to add a Member Group within a Member Group Set. However, if the "Add Set" button 414 is pushed, then a window similar to the "Add Member Group" window 600 will appear, except for the difference that it will state "Add Member Group Set", and will be used to add a new Member Group Set (e.g. a new white- folder instance in the Member Group Set level 406, shown in FIG. 4), as opposed to adding a Member Group within a Member Group Set, and that window will not have parent-rule information 606. Properties such as the name of the to-be-added Member Group Set or Member Group can be entered in the name field 602, and the identification code can be entered in the code field 604. If a Member Group is being added (because Member Groups have a parent), then the parent-rule information 606 can be seen, describing what the parent of the Member Group is (here, "Country") and the rules that will apply to all children of the "Country" parent (here, the "80-20 Rule"). Rules are ways to determine how points are distributed to a member and will not be described hereto. If a Member Group Set is being added, then the parent-rule information 606 will not be displayed. Finally, after all the appropriate properties have been set, the Save button 608 can be pushed to save the changes or the Cancel button 610 can be pushed to cancel any changes made. After either button is pushed, the Add Member Group window 600 is closed either automatically or manually by clicking the "x" button in the upper right-hand corner.
14
SV 346,381, 575v1 3-30-09 [0051] FIG. 7A illustrates a screenshot of an Upload Data window to perform a Member Group Upload, according to an embodiment of the present invention. After clicking the Upload button 416 from FIG. 4, Upload Data window 700 appears, stating "Member Group Upload" in order to enable the uploading of Member Groups if the administrator wishes to create Member Groups in bulk, or a very large number of Member Groups at one time, without having to individually create one Member Group at a time. This is done by inputting all the Member Groups that are to be added in an Excel spreadsheet (".xls" or ".xlsx" extension) with a provided template and then uploading that spreadsheet, the process being detailed in instruction block 701 . However, the Excel spreadsheet must have a certain form, which is shown in FIG. 8. By clicking the Download Excel Template link 706, an Excel spreadsheet pre-set with the requisite form (the form shown by the spreadsheet in FIG. 8) can be downloaded, filled in and saved. Then, the administrator uses the Browse button 704 to find the filled-out spreadsheet or another Excel spreadsheet that has already been filled-out and saved somewhere on a local hard drive or other storage device, and the name of the Excel spreadsheet file then appears in the File field 702. After the file has been selected and shows up in the File field 702, the administrator can either click the Upload button 710, and be taken to FIG. 7B, or click the Cancel button 708, and close the Upload Data window 700 and abort the entire Member Group upload process.
[0052] FIG. 7B illustrates a screenshot of the same Upload Data window shown in FIG. 7A, after a Member Group upload file has been loaded, but prior to the upload being finalized, according to an embodiment of the present invention. After the administrator has successfully selected an Excel spreadsheet file and pushed the Upload button 710 (in FIG. 7A), the Upload Data window 700 changes to the window shown in FIG. 7B. The main differences between the Upload Data window 700 shown in FIG. 7B from the one shown in FIG. 7A are: the appearance of status confirmation message 712, the appearance of the Excel spreadsheet file name in the filled-out File field 714, and the appearance of the Continue button 716, which takes the place of the Upload button 710 in FIG. 7A. The status confirmation message
15
SV 346,381, 575v1 3-30-09 712 alerts the administrator on whether or not the uploaded Excel spreadsheet file conforms to the proper standards and is valid. If it is a valid file, then the message should say: "The file you are uploading has [x]/[x] valid records", where x is the total number of valid records in the Excel spreadsheet. If the file is invalid in any way, then the message will say: "The file you are uploading has [y]/[x] valid records", where y is a number less than x, and (x-y) represents the number of non-confirming record entries. An example of a non-conforming Excel spreadsheet, having error messages input into it that show the non-conforming record entries, is illustrated in FIG. 9. The "Download Data" link of the status confirmation message 712 can be clicked to view the conforming or non-conforming Excel spreadsheet file. Once the administrator has checked that the file name shown in the filled-out File field 714 is correct, the administrator can then push the Continue button 716 and complete the data upload process. Afterwards, all the Member Group data input in the conforming Excel spreadsheet file will be shown as Member Groups on, for example, the screenshot in FIG. 4. Pushing the cancel button 708 closes the Upload Data window 700 and aborts the entire Member Group upload process.
[0053] FIG. 8 illustrates a screenshot of a sample Excel spreadsheet template used as a Member Group upload file, according to an embodiment of the present invention. Excel spreadsheet template 800 comprises a Member Group Set Code column 802, a Member Group Name column 804, a Member Group Code column 806, and Hierarchy Level Member Group Code columns 808. In the Member Group Set Code column 802, the code (or name) of the Member Group Set each Member Group belongs to can be entered. In the case of FIG. 8, the code of the Member Group Set all the Member Groups belong to is "General". In Member Group Name column 804, the name of the Member Group should be entered. In the case of FIG. 8, the Member Groups are all named after various cities or regions in Australia. In Member Group Code 806, the code of the Member Group, a sort of abbreviation, can be entered. The code of the Member Group cannot contain any spaces. Finally, if the Member Group is a child of a parent, and depending on how many levels of hierarchy the Member Group is under, then the code of the Member
16
SV 346,381, 575v1 3-30-09 Group's parent should be entered in Hierarchy Level Member Group Code columns 808. For instance, in the case of FIG. 8, the Member Groups have one parent and one hierarchy level, therefore the code of their parents are entered in the column entitled "Hierarchy Level 1 Member Group Code". If the Member Groups had more than one level of parents (more than one level of hierarchy above them), then they would enter the codes of their parents in the columns named: Hierarchy Level 2 Member Group Code, Hierarchy Level 3 Member Group Code (not shown), and so on and so forth. The code entered in Hierarchy Level Member Group Code columns 808 cannot contain any spaces and are the same codes used in the Member Group Code column 806.
[0054] In order for an Excel spreadsheet template file (such as Excel spreadsheet template 800) to be valid, the mandatory columns must be completed, and the mandatory columns are Member Group Set Code column 802, Member Group Name column 804, and Member Group Code column 806. Also, for an Excel spreadsheet template file to be valid, the code entered in the Member Group Set Code column 802, and, where applicable, the Member Group Code column 806 or the Hierarchy Level Member Group Code columns 808 must be valid: in other words, the code must already exist and be recognized, must contain no spaces, and must otherwise conform to any other standard set for codes. Finally, intrinsic to the Excel spreadsheet template is the assumption that Member Groups were created in the order that they were loaded. Therefore, in the case of FIG. 8, Victoria must be created before Melbourne (Victoria is a parent of Melbourne) if Melbourne is to be a child of Victoria. If any of the above requirements are not met, then the Excel spreadsheet template file will be invalid, and this invalid status will be noted in the status confirmation message 712 shown in FIG. 7B, which will say: "The file you are uploading has [y]/[x] valid records", where y is a number less than x, and (x-y) represents the number of non-confirming record entries. If the Excel spreadsheet template file is invalid, the upload system will highlight the invalid rows in a noticeable color, e.g. red, and will note the reason for error (error message) in the last column, which is shown in detail in FIG. 9.
17
SV 346,381, 575v1 3-30-09 [0055] FIG. 9 illustrates a screenshot of a sample Excel spreadsheet template used as a Member Group upload file with errors, according to an embodiment of the present invention. Invalid Excel spreadsheet template 900 shows the highlighted error text 902 for row 3 in FIG. 9 in all the columns (Member Group Set Code column 802, Member Group Name column 804, and Member Group Code column 806, as discussed above in FIG. 8). Highlighted error text 902 is highlighted in a different and more noticeable color than normal black text, such as red. First error message 904 is an example of an error message describing the reasons for error of the invalid non-conforming row entry, as it states "A new Member Group name must be unique within the specified group set". The name "chris" in row 3 results in errors because there is already a Member Group named "chris" in the Member Group Set "general". Second error message 906 is another example of an error message describing the reasons for error of the invalid non- conforming row entry, as it states "A new member Group code must be unique". The member group code "chris" in row 3 is not unique because there is already a member group code called "chris". Therefore, row 3 is invalid and non-conforming, whereas row 4 is valid and fine, because "lucy" as a Member Group Name and as a Member Group Code does not cause first error message 904 or second error message 906 to appear.
[0056] Therefore, with reference to FIG. 7B, if the administrator views an invalid status confirmation message 712 (it states: "The file you are uploading has [y]/[x] valid records", where y is a number less than x, and (x-y) represents the number of non-confirming record entries), then the administrator can click the "Download Data" link also in the status confirmation message 712 and an invalid Excel spreadsheet template with highlighted text and error messages will appear, like the one shown in FIG. 9. The administrator will then have to correct the error in the invalid Excel spreadsheet template, save the file, and upload it again to see if any more errors still exist. If there are no errors and the Excel spreadsheet template conforms, the administrator then follows the steps in FIG. 7B (with a conforming spreadsheet as shown in FIG. 8) to successfully upload a conforming Excel spreadsheet template. Afterwards, all the Member Group
18
SV 346,381, 575v1 3-30-09 data input in the conforming Excel spreadsheet file will be shown as Member Groups on, for example, the screenshot in FIG. 4.
[0057] FIG. 10 illustrates a screenshot of the Assign Site Functions tab within the Members/Groups page showing a tool to assign functions to Member Group Sets, according to an embodiment of the present invention. Members/Groups page 400 comprises a plurality of tabs, one of which is Groups tab 402 (discussed in the description of FIG. 4, above), and another one of which is Assign Site Functions tab 1000. In the Assign Site Functions tab 1000, Member Group Set Function Assignment Tool 1001 allows an administrator to assign Functions, listed in Function list 1002, to particular Member Group Sets, listed in Group Set pull-down lists 1004, view the number of Member Groups with Rules in the selected Member Group Set in Member Groups with Rules column 1008, and determine whether every member must be in a Member Group within the Member Group Set by checking or un-checking the Enforce Member Group Mandatory boxes 1010. This last point has the effect of ensuring that functions apply to all members where Enforce Member Group Mandatory is applied.
[0058] Functions, such as the functions listed in Function list 1002, are pieces of code that contain procedures, features and options that enable members to perform different operations with the reward and recognition portal. For instance, the "Catalogue" function allows members to order rewards from different types of reward catalogues with the points that they have accumulated through the reward and recognition portal. The functions in Function list 1002 (e.g. "Adhoc Communications", "Catalogue", "General/Fixed Communications", "Invoicing", "Points Plus Pay", and "Reports") are merely examples and are not limited to the ones listed. Group Set pull-down lists allow an administrator to select the Member Group Set (e.g. "Cost Centre", "Country", "Departments", "Promotions") to apply the given function to. Member Groups with Rules column 1008 displays to the administrator the number of Member Groups within the selected Member Group Set that have a given rule in effect. Rules reflect how a function may be applied differently to Groups within a Member Group Set. Finally, Enforce Member Group
19
SV 346,381, 575v1 3-30-09 Mandatory boxes 1010 allow an administrator to determine whether or not a given function will be mandatory for the Member Groups within a Member Group Set. The Enforce Member Group Mandatory Boxes 1010 makes it mandatory that every member must belong to one Member Group within the Member Group Set. This in turn makes every member subject to the function applied to that Member Group Set. After all the appropriate settings have been established, the administrator may click the Save button 1014 to save the settings and complete the process or click the Cancel button 1012 to abort the process.
[0059] FIG. 11 illustrates a screenshot of a tool to assign Member Groups to a function such as different catalogues, according to an embodiment of the present invention. Catalogue Assignment Tool 1 100 comprises function pulldown menu 1 102, where Catalogue is selected, Catalogue Bank 1104 showing the list of catalogues and Groups tab 1106 showing the Member Groups (within the Member Group Set to which the Catalogue function has been assigned) against which the selected catalogues from the Catalogue Bank 1004 can be applied. The Member Groups shown in Groups tab 1106 comprise a hierarchy corresponding to the "Country" Member Group Set as selected and shown on FIG. 10, of Member Group levels 1 108 and 1110. The administrator can select a catalogue (e.g. "IAG", "wishlist.com.au", "Westpac", "Sphere Rewards") from the Catalogue Bank 1 104 and apply that catalogue to either a Member Group, or all child Member Groups or all child members of a parent Member Group (when a parent Member Group is selected, all of its children members can be selected as well). Once a catalogue has been applied to an individual Member Group, the members within the relevant Member Group can browse for rewards in the selected catalogue. The robust hierarchy structure of Member Groups allows one, some, most or all Member Groups in a Member Group Set, and so on and so forth for all established levels of hierarchy, to have instant access to certain selected catalogues, with the member being the lowest level of hierarchy and the most rudimentary building block unit of any member hierarchy structure.
20
SV 346,381, 575v1 3-30-09 [0060] FIG. 12 illustrates a screenshot of a page used to assign catalogues to Sites and Member Groups, according to an embodiment of the present invention. Sites are websites representing the reward and recognition portal program. Catalogue Movement Tool 1200 allows catalogues from Available Catalogue Bank 1202 to be moved to Assigned Catalogue Bank 1206, which are catalogues currently assigned to Sites, by means of movement buttons 1204 ("»" or "«"). Once catalogues that are to be made available on a Site are selected, the Assign to Member Groups button 1208 is pushed, and all the catalogues listed in the Assigned Catalogue Bank 1206 will be moved to the Catalogue Bank 1104 in FIG. 1 1 for assignment into specific Member Groups, Member Group Sets, or members.
[0061] FIG. 13 illustrates a screenshot of a Page Access window used to allow only certain Member Groups access to selected pages, according to an embodiment of the present invention. Page Access window 1300 enables an administrator to grant access to a restricted portion of the reward and recognition portal by selecting a Member Group Set in Member Group Set pull-down menu 1302. Access can further be distributed through Member Group selection boxes 1304, which grant Member Groups, or members access to the restricted portions of the reward and recognition portal. After configuring the appropriate settings, the administrator can click Apply button 1310 without closing the Page Access window 1300, and can also click the OK button 1306 to complete the process and close the window. The administrator can also click the Cancel button 1308 to not apply any of the settings, which also closes the Page Access window 1300 as well.
[0062] FIG. 14 illustrates a screenshot of a Run Report Tool used to run reports on select Member Group Sets, Member Groups or members, according to an embodiment of the present invention. Run Report Tool 1400 enables an administrator to run a report accurately and efficiently within a member hierarchy structure (e.g. running a report on a member, Member Group, Member Group Set, and so on and so forth through all established levels of hierarchy) in a given time window. Reports allow an administrator to monitor the activity or information data of any entity within the member
21
SV 346,381, 575v1 3-30-09 hierarchy structure. The administrator selects the appropriate "From date" and "To date" in the time-window select fields 1402. Then, in the member hierarchy structure 1404, the administrator selects the entities in the member hierarchy structure that the report will be run on. For instance, a report can be run on an individual member, some or all members in a Member Group, an entire Member Group, or some Member Groups in a Member Group Set, or a Member Group Set, and so on and so forth through all established levels of hierarchy. The administrator selects the preferred format of the complete report in the pull-down format menu 1406 (shown here as: "Csv", "Excel" or "Html" as merely examples, because the formats are not limited to the ones shown) and clicks the Run report button 1408 in order to run the report and obtain efficient and focused results from the robust member hierarchical structure.
[0063] Therefore, as can be appreciated by a person skilled in the art, Member Groups and member hierarchy structures present a variety of benefits. For instance, Member Groups and member hierarchy structures enable the sending of efficient and targeted communications to a large group of members. In other words, communication to a large group of members is facilitated because messages or announcements can be sent to one, many or all members in a Member Group; or to one, many or all Member Groups in a Member Group Set, and so on and so forth for all the levels of hierarchy established for the Member Groups. In addition, Member Groups and member hierarchy structures enable an administrator to execute fast, focused and cost-effective analysis of a potentially large and unwieldy body of member data. For instance, an administrator can monitor member activity in a convenient manner by running activity reports for one, many or all members in a Member Group; one, many or all Member Groups in a Member Group Set, and so on and so forth for all the levels of hierarchy established for the Member Groups. Furthermore, Member Groups and member hierarchy structures allow an administrator to grant a variable number of members - e.g. one, many or all members in a Member Group; one, many or all Member Groups in a Member Group Set, and so on and so forth for all established levels of hierarchy - access to certain key functions of the reward and
22
SV 346,381, 575v1 3-30-09 recognition portal (e.g. catalogues to shop for rewards, or reporting capability), or access to restricted portions of certain websites. Furthermore, multiple Member Group Sets or organizing structures can be set up to conveniently and efficiently drive different corresponding functions (e.g. different geographic Member Group Sets can use different Catalogues, different branch structure Member Group Sets can administer communications and Member Group Sets based on Cost Centre functions can handle invoicing and billing).
[0064] The computer language code used to compose the data structures used for the Member Groups and the member hierarchy structures, and other facets of the software used for the reward and recognition portal can include, but are not limited to: Java, JavaScript, C, C++, C#, HTML, XML, Microsoft ASP.NET, Microsoft ASP.NET 2.0 with AJAX Extensions, Microsoft Web Parts and Resource Providers, T-SQL, CSS and any web-based programming language. Furthermore, for Runtime procedures, .NET2 and .NET 3.5 (SP1 ) may be used. Visual Studio 2005 or Visual Studio 2008 may be used for the Programming Environment and Cruise Control v.1 .3.0 may be used for the Build Environment, nUnit v2.4.0 R2 may be used for Unit Testing, Microsoft IIS5.1 , IIS6 may be used for the Internet Server, Visual Source Safe 2005 (v8) may be used for Source Control, and Telerik RAD Controls (on ASPNET 2008-Q2 AJAX release, or ASPNET 2007-Q2 release) may be used for Third Party Controls. Furthermore, SQL Server 2005 and Management Studio is used for SQL scripts and Internet Explorer 7-8, Firefox, Google Chrome, Opera and Safari were web browsers for displaying the websites. A variety of other software tools may also be used, such as: Microsoft Enterprise Library 3.0, MVP Pattern, Provider Pattern, Reflector (Redgate), SQL Compare v. 6 (Redgate), Beyond Compare (Scooter Software), Various tools from Sysinternals (Process Explorer, File Mon, TCP View), Textpad v. 4.x, Notepad ++ v5.x, and MSDN Library.
[0065] While Member Groups and member hierarchy structures to be used within a reward and recognition portal have been described in terms of what are presently considered to be the most practical and preferred embodiments,
23
SV 346,381, 575v1 3-30-09 it is to be understood that the present invention need not be limited to the above embodiments. It should also be understood that a variety of changes may be made without departing from the essence of the invention. Such changes are also implicitly included in the description. They still fall within the scope of the present invention. It should be understood that this disclosure is intended to yield a patent covering numerous aspects of the invention both independently and as an overall system and in both method and apparatus modes.
[0066] Further, each of the various elements of the invention and claims may also be achieved in a variety of manners. This disclosure should be understood to encompass each such variation, be it a variation of an embodiment of any apparatus embodiment, a method or process embodiment, or even merely a variation of any element of these. Particularly, it should be understood that the words for each element of the invention may be expressed by equivalent apparatus terms or method terms. Such equivalent, broader, or even more generic terms should be considered to be encompassed in the description of each element or action. Such terms can be substituted where desired to make explicit the implicitly broad coverage to which this invention is entitled.
[0067] It should be understood that all actions may be expressed as a means for taking that action or as an element which causes that action. Similarly, each physical element disclosed should be understood to encompass a disclosure of the action which that physical element facilitates.
[0068] An embodiment of the invention relates to a computer storage product with a computer-readable or machine-accessible medium having executable instructions or computer code thereon for performing various computer-implemented operations. The term "computer-readable medium" or "machine-accessible medium" is used herein to include any medium that is capable of storing or encoding a sequence of executable instructions or computer code for performing the operations described herein. The media and computer code can be those specially designed and constructed for the
24
SV 346,381, 575v1 3-30-09 purposes of the invention, or can be of the kind well known and available to those having ordinary skill in the computer software arts.
[0069] Examples of computer-readable media include computer-readable storage media such as: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as Compact Disc-Read Only Memories ("CD-ROMs") and holographic devices; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and execute program code, such as Application-Specific Integrated Circuits ("ASICs"), Programmable Logic Devices ("PLDs"), Read Only Memory ("ROM") devices, and Random Access Memory ("RAM") devices. Examples of computer code include machine code, such as produced by a compiler, and files containing higher level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using Java, C++, or other programming language and development tools. Additional examples of computer code include encrypted code and compressed code. Another embodiment of the invention can be implemented in hard wired circuitry in place of, or in combination with, computer code.
[0070] The above is intended to cover various modifications and similar arrangements included within the spirit and scope of the below appended claims, the scope of which should be accorded the broadest interpretation so as to encompass all such modifications and similar structures and/or method steps. Therefore, the present invention includes any and all embodiments of the following below appended claims.
25
SV 346,381, 575v1 3-30-09

Claims

CLAIMS:
1. A computer implemented method comprising: providing, via a physical computing device, at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it;
assigning properties and functions to sub-structures, the sub-structures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and
performing actions on the sub-structures.
2. The computer implemented method of claim 1 , wherein providing at least one building-block unit, at least one group, and at least one group set comprises:
instantiating the at least one building-block unit;
grouping the at least one building block unit into the at least one group;
adding levels of hierarchy to the at least one group if additional groups are being hierarchically added to the at least one group; and
grouping the at least one group into the at least one group set.
26
SV 346,381, 575v1 3-30-09
3. The computer implemented method of claim 1 , further comprising:
filling out a spreadsheet template form, the spreadsheet template form comprising a column of group set name data, at least one column of group set code data, a column of group name data, a column of group code data, and at least one column of hierarchy level code data;
uploading the spreadsheet template form;
receiving generated error messages if the spreadsheet template form is invalid, fixing those errors and uploading the spreadsheet template form again; and
receiving a valid confirmation message if the spreadsheet template form is valid, and transferring the data from the spreadsheet template to build the sub-structures.
4. The computer implemented method of claim 3, wherein the generated error messages are generated based on a customizable body of rules, the customizable body of rules comprising:
determining whether all the mandatory columns of the spreadsheet template form are filled in, wherein the mandatory columns are required to be filled in and comprise at least one column of group set name data, the at least one column of group set code data, the column of group name data and the column of group code data;
determining whether the entries in the column of group set name data, at least one column of group set code data, the column of group name data, the column of group code data and the at least one column of hierarchy level code data conform with the code requirements, the code requirements comprising a valid code that is recognized as having been established before and a code having no spaces; and
27
SV 346,381, 575v1 3-30-09 determining whether the parents listed in the columns as codes or names were created before the children listed in the columns as codes or names, wherein the parents have a higher level of hierarchy than the children.
5. The computer implemented method of claim 1 , wherein the building-block unit comprises a member that participates in the point-based reward and recognition portal and further wherein assigning properties and functions to sub-structures comprises:
assigning a list of associated fields to the member that identify the member and that the member fills in or that are filled in for the member, the list of associated fields comprising at least one associated field; and
customizing the list of associated fields for the member data for each site.
6. The computer implemented method of claim 5, wherein customizing the list of associated fields for the member data for each site comprises:
renaming an associated field within the list of associated fields with a name that suits a particular industry;
providing an associated field, where appropriate, within the list of associated fields with a default value that is automatically filled-in if the member does not fill in any value for the associated field;
providing an associated field within the list of associated fields with a mandatory or optional identifier that determines whether it is mandatory or optional for a member to fill in the associated field; and
removing associated fields from the list of associated fields or adding new associated fields to the list of associated fields.
28
SV 346,381, 575v1 3-30-09
7. The computer implemented method of claim 1 , wherein assigning properties and functions to sub-structures comprises:
providing a sub-structure with a modifiable name;
providing a sub-structure with a modifiable identification code;
providing a sub-structure with a modifiable applicable rule to apply to any children of the sub-structure;
providing a sub-structure with a label describing any parents; and
assigning to the sub-structure a list of functions, the list of functions comprising anywhere from no functions to at least one function and wherein each function in the list of functions comprises code to implement features in the reward and recognition portal.
8. The computer implemented method of claim 7, wherein the list of functions comprises a Catalogue function that allows members to shop for and purchase rewards with accumulated points from at least one rewards catalogue.
9. The computer implemented method of claim 1 , wherein performing actions on sub-structures of the hierarchical data structure comprises granting to selected sub-structures and to selected children of those selected sub-structures, if any, access to specific content and restricted portions of the reward and recognition portal.
10. The computer implemented method of claim 1 , wherein performing actions on sub-structures of the hierarchical data structure comprises running a report analyzing information about selected substructures and to selected children of those selected sub-structures, if any, the report based on a provided time window and output in a selected output format.
29
SV 346,381, 575v1 3-30-09
11. The computer implemented method of claim 10, wherein the selected output format comprises: a spreadsheet, comma-separated values (CSV), and HyperText Markup Language (HTML).
12. The computer implemented method of claim 1 , wherein performing actions on sub-structures of the hierarchical data structure comprises broadcasting messages to selected sub-structures and to selected children of those selected sub-structures, if any.
13. A computer readable medium having stored thereon a set of instructions which when executed, perform a method comprising: providing at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set, each group set comprising at least one group and having no level of hierarchy above it;
assigning properties and functions to sub-structures, the sub-structures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and
performing actions on the sub-structures.
14. The computer readable medium of claim 13, wherein providing at least one building-block unit, at least one group and at least one group set comprises:
instantiating the at least one building-block unit;
grouping the at least one building block unit into the at least one group;
adding levels of hierarchy to the at least one group if additional groups are being hierarchically added to the at least one group; and
grouping the at least one group into the at least one group set.
30
SV 346,381, 575v1 3-30-09
15. The computer readable medium of claim 13, wherein assigning properties and functions to sub-structures comprises:
providing a sub-structure with a modifiable name;
providing a sub-structure with a modifiable identification code;
providing a sub-structure with a modifiable applicable rule to apply to any children of the sub-structure;
providing a sub-structure with a label describing any parents; and
assigning to the sub-structure a list of functions, the list of functions comprising anywhere from no functions to at least one function and wherein each function in the list of functions comprises code to implement features in the reward and recognition portal.
16. The computer readable medium of claim 13, wherein performing actions on sub-structures of the hierarchical data structure comprises:
granting to selected sub-structures and to selected children of those selected sub-structures, if any, access to specific content and restricted portions of the reward and recognition portal;
running a report analyzing information about selected sub-structures and to selected children of those selected sub-structures, if any, the report based on a provided time window and output in a selected output format; and
broadcasting messages to selected sub-structures and to selected children of those selected sub-structures, if any.
17. A computer system comprising at least one server configured for: providing, via a physical computing device, at least one building-block unit; at least one group, each group comprising at least one building-block unit and having infinitely adjustable levels of hierarchy, wherein each level of hierarchy comprises a group within another group; and at least one group set,
31
SV 346,381, 575v1 3-30-09 each group set comprising at least one group and having no level of hierarchy above it;
assigning properties and functions to sub-structures, the sub-structures comprising at least one of the at least one building-block unit, the at least one group, and the at least one group set; and
performing actions on the sub-structures.
18. The computer system of claim 17, wherein providing at least one building-block unit, at least one group and at least one group set comprises:
instantiating the at least one building-block unit;
grouping the at least one building block unit into the at least one group;
adding levels of hierarchy to the at least one group if additional groups are being hierarchically added to the at least one group; and
grouping the at least one group into the at least one group set.
19. The computer system of claim 17, wherein assigning properties and functions to sub-structures comprises:
providing a sub-structure with a modifiable name;
providing a sub-structure with a modifiable identification code;
providing a sub-structure with a modifiable applicable rule to apply to any children of the sub-structure;
providing a sub-structure with a label describing any parents; and
assigning to the sub-structure a list of functions, the list of functions comprising anywhere from no functions to at least one function and wherein each function in the list of functions comprises code to implement features in the reward and recognition portal.
32
SV 346,381, 575v1 3-30-09
20. The computer system of claim 17, wherein performing actions on sub-structures of the hierarchical data structure comprises:
granting to selected sub-structures and to selected children of those selected sub-structures, if any, access to specific content and restricted portions of the reward and recognition portal;
running a report analyzing information about selected sub-structures and to selected children of those selected sub-structures, if any, the report based on a provided time window and output in a selected output format; and
broadcasting messages to selected sub-structures and to selected children of those selected sub-structures, if any.
33
SV 346,381, 575v1 3-30-09
PCT/US2010/029988 2009-04-03 2010-04-05 System and method for building and using member hierarchy structures WO2010115204A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41819809A 2009-04-03 2009-04-03
US12/418,198 2009-04-03

Publications (2)

Publication Number Publication Date
WO2010115204A2 true WO2010115204A2 (en) 2010-10-07
WO2010115204A3 WO2010115204A3 (en) 2011-01-13

Family

ID=42828983

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/029988 WO2010115204A2 (en) 2009-04-03 2010-04-05 System and method for building and using member hierarchy structures

Country Status (1)

Country Link
WO (1) WO2010115204A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012102976A3 (en) * 2011-01-24 2012-09-20 Microsoft Corporation Representation of people in a spreadsheet
US9811516B2 (en) 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US9898454B2 (en) 2010-12-14 2018-02-20 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198768A1 (en) * 2001-03-30 2002-12-26 John Huppenthal Method for organizing, motivating and entertaining using the internet
US20030172049A1 (en) * 2002-03-05 2003-09-11 International Business Machines Corporation Method, system, and program product to support multiple content-management data models
US20080052203A1 (en) * 2006-08-25 2008-02-28 David Beyer Design and management of an online environment that serves hierarchical community networks
US20080215413A1 (en) * 1999-11-22 2008-09-04 Barnard Ray F Program storage device for project preparing a procurement and accounts payable system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080215413A1 (en) * 1999-11-22 2008-09-04 Barnard Ray F Program storage device for project preparing a procurement and accounts payable system
US20020198768A1 (en) * 2001-03-30 2002-12-26 John Huppenthal Method for organizing, motivating and entertaining using the internet
US20030172049A1 (en) * 2002-03-05 2003-09-11 International Business Machines Corporation Method, system, and program product to support multiple content-management data models
US20080052203A1 (en) * 2006-08-25 2008-02-28 David Beyer Design and management of an online environment that serves hierarchical community networks

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811516B2 (en) 2010-12-14 2017-11-07 Microsoft Technology Licensing, Llc Location aware spreadsheet actions
US9898454B2 (en) 2010-12-14 2018-02-20 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets
US11416676B2 (en) 2010-12-14 2022-08-16 Microsoft Technology Licensing, Llc Using text messages to interact with spreadsheets
WO2012102976A3 (en) * 2011-01-24 2012-09-20 Microsoft Corporation Representation of people in a spreadsheet
US9129234B2 (en) 2011-01-24 2015-09-08 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
US9753910B2 (en) 2011-01-24 2017-09-05 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet
US10191898B2 (en) 2011-01-24 2019-01-29 Microsoft Technology Licensing, Llc Representation of people in a spreadsheet

Also Published As

Publication number Publication date
WO2010115204A3 (en) 2011-01-13

Similar Documents

Publication Publication Date Title
CN109074549A (en) Application with embedded workflow designer
US8495212B2 (en) Internet identity graph and social graph management system and method
US11373034B2 (en) Method and system for dynamic form generation infrastructure
US10021201B1 (en) Managing social equity in a portal platform
Zolotas et al. RESTsec: a low-code platform for generating secure by design enterprise services
US7966601B2 (en) Generating web service without coding logic with a programming language
US20160026377A1 (en) System and method for collecting, curating, aggregating, and displaying metrics data from and to stakeholders in the charitable sector
Butoianu et al. User context and personalized learning: a federation of contextualized attention metadata
US11630708B2 (en) OSN/PCS collaboration mechanism integration
WO2010115204A2 (en) System and method for building and using member hierarchy structures
Firmenich et al. An approach for supporting distributed user interface orchestration over the Web
Golovin Outsystems as a rapid application development platform for mobile and web applications
Chmielewski et al. Declarative GUI descriptions for device-independent applications
Philip et al. Composite pattern to handle variation points in software architectural design of evolving application systems
Velásquez-Guevara et al. Multi-SPLOT: Supporting multi-user configurations with constraint programming
Zimmerman et al. Usability testing: An evaluation process for Internet communications
Patil et al. Building a Template for Intuitive Virtual E-Commerce Shopping Site in India
Paterno et al. The role of HCI models in service front-end development
Bwana et al. Developing a crowdsourcing application for responsible production in Africa
Chovancová et al. Decentralized Social Network
NS et al. Messaging Extension and Action Comments
Tan Implementing a Web-Based Computerized Restaurant System
Arsan Democratizing interaction mining
Misner ON MODELING Building support for use-based design into hardware products
Saavedra García del Río ShoalUp: Development of a meeting Android application

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10759547

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 06.02.12)

122 Ep: pct application non-entry in european phase

Ref document number: 10759547

Country of ref document: EP

Kind code of ref document: A2