for purposes of describing the present invention in sufficient detail and in a real application , the embodiment of a program for behavior modification as employed for smoking cessation will be used as an example here . of course those skilled in the art will realize that the system can be employed for alteration of other human behaviors and any such employment as would occur to those skilled in the art is anticipated to be within the scope of this patent . it is typical of behavioral modification programs where an activity is progressively and incrementally decreased over the time period of the program , beginning with the current number of cigarettes smoked per day and ending with zero cigarettes smoked per day . programs that maintain or vary in communication intervals , such as behavioral maintenance or coaching programs would be similar , but communication events / program markers would not necessarily decrease over time . likewise , programs where the goal was to increase particular behaviors might have communication events / program markers increasing during the program period . fig1 — the present invention supports and provides the means for establishing , customizing , managing , and dynamically reconfiguring a behavioral modification and / or maintenance program system ( fig1 ). to initiate and begin the behavioral modification and / or maintenance program , the prospective program member and / or other program associates acting on his or her behalf , enter into a registration and / or initialization process ( 100 ), establishing initial program registration and / or initial program application / device initialization and program commencement . means to input registration data during the registration process may include , but is not limited to , using a form , providing in the first section personal identification information , including , but not limited to , name , communication contact information , address , and optionally information necessary to support payment transactions . furthermore , said program member may optionally choose a username or pseudonym for use in the program service . in a preferred mode of the system , the means for input of registration data is handled over a computer network where a host computer receives the input data from the user &# 39 ; s remote input device such as a home or other computer . next , the program member , or someone or something acting on their behalf , employing a means to input data regarding behavior for modification , provides in the second section of the form ( 101 ), non - personally - identifiable information regarding program - related behavioral patterns , including , but not limited to current waking hours , behavior history , frequency , and / or other descriptions , attributes , or appropriate measurements . this behavior data can be communicated in fashion similar to the registration data above . also provided in the second section of the form are answers to and information regarding the program member &# 39 ; s or participant &# 39 ; s demographics , psychographics , sociographics , and any other information that can provide distinguishing and / or comparative context between individual program members . the service system &# 39 ; s computer program then assigns a behavioral modification and / or maintenance profile ( 102 ) to the program member &# 39 ; s record , which may involve a calculation of program calendar length having a beginning and lasting for a term consisting of a plurality of sequential days , based on a rate of behavioral modification per day until a desired goal is reached , a behavioral maintenance program based on a fixed or indefinite period of time , or combinations of both . furthermore , program profiles may be based on , or selected from predefined program goals and / or program profile templates ( 103 ), representing generic rates of behavioral modification or levels of behavioral maintenance over time and / or towards a desired goal . the present invention engages and supports behavioral modification and / or maintenance for a program member by communicating to , and / or displaying to the user , communication events or program markers ( 104 ), which act as scheduling cues . optionally , communication events / program markers can be sent or also sent as copies to program associates , such as coaches , guides , counselors , or program administrators who may be working with or otherwise associated with a program member . communication events / program markers can be signals , or can contain a message or other informational or media content . each program day in a program member &# 39 ; s program is allotted a specific number of communication events / program markers . this daily allotment of communication events / program markers are tentatively scheduled , initially in equal time segments distributed throughout the active program day period and optionally in non - equal time segments , between the program day start / begin / wake date / time and the stop / end / sleep date / time . each program day during the term begins with the program service sending or displaying the first communication event / program marker to the user and generally requiring the performance of an action or task by the user . communication events / program markers are only actively scheduled upon receipt by the program service system of a program member &# 39 ; s or , optionally program associate &# 39 ; s reply or acknowledgment signal that they received the immediately preceding communication event / program marker , with the exception of the first communication event / program marker of the program &# 39 ; s first day , which is actively scheduled after the immediately preceding program day &# 39 ; s stop / end / sleep date / time . the first communication event / program marker of the program &# 39 ; s first day is actively scheduled upon completion of the registration process . subsequent to the first communication event / program marker for a program day , each following single communication event / program marker of the program day &# 39 ; s allotment is only actively scheduled for sending or display , after the program member ( 105 ) or , optionally , program associate ( 106 ) replies or otherwise signals receipt following the immediately preceding received communication event / program marker , and that the task has been completed . if the program member &# 39 ; s or , optionally , the program associate &# 39 ; s reply or acknowledgment signal is received by the program service within the interval between the last sent or displayed communication event / program marker and the next tentatively scheduled communication event / program marker , then the next communication event / program marker is actively scheduled to be sent or displayed at the same date / time as was tentatively scheduled . however , if the reply or acknowledgment signal , signaling receipt and completion of the previous task , is not received within the interval between the last sent or displayed communication event / program marker and the next tentatively scheduled communication event / program marker , then the program service sends a missed reply / acknowledgment message or signal to the program member and , optionally , program associate , and then halts until a reply / acknowledgment message or signal is received signaling completion . or , if the program day &# 39 ; s stop / end / sleep date / time is reached , the system moves to the next program day and actively schedules its first communication event / program marker ( 108 ). if the reply / acknowledgment message or signal is received after the date / time of the next tentatively scheduled communication event / program marker , but before the program day &# 39 ; s stop / end / sleep date / time is reached , the program service immediately sends the next communication event / program marker and redistributes the active program day &# 39 ; s remaining allotted communication events / program markers with shorter intervening time intervals ( 107 ). optionally , there may be a set minimum interval time between communication events / program markers , such that if a program member or , optionally , program associate replies or signals acknowledgment too close to the program day &# 39 ; s stop / end / sleep date / time , the program member may effectively lose some of the program day &# 39 ; s communication events / program markers . however the present invention has the means to allow requests extensions to the active program day period , which could be used in such situations . additionally , and separate from the back and forth activities involving communication events / program markers and following associated replies or acknowledgment signals , at any time during an active program calendar period , the program member or program associate may , optionally , send and / or otherwise signal information to the program service in the form of program input codes or equivalent means . these can represent requests to alter or reconfigure the program profile or program day schedule profile , or contain information including , but not limited to , signals , comments , status reports , diary entries , or other program record flags . these signals or information are received by the program service , date / time - stamped , and entered into the program member &# 39 ; s program record . if appropriate , associated requested actions , alterations , or reconfiguration to the program member &# 39 ; s program are then executed by the program service and a reply or acknowledgment signal is sent or displayed to the program member and , optionally , program associate . as can be seen in fig2 the present invention is a program service system ( 200 ), and may be embodied as a standalone device or application , or a device or application that communicates with external program service system components , or as a centralized program service that coordinates with devices such as , but not limited to , telephones , pagers , or client applications . the program service system supports a program that guides and supports a program member ( 201 ) in an effort to modify and / or maintain behavior . program members may , optionally , be supported , or guided during their term of participation in the program by program associates ( 202 ), examples of which may include , but are not limited to , coaches , guides , external parties or systems , or conditional signals ), which like the program member , can provide registration , information input , feedback , flags and markers , ratings , and other additional input independent of scheduled program communication events . such input may be used for informational or data gathering purposes and / or may be used to dynamically alter or reconfigure the program profile or program day schedule profile . to initiate and begin a behavioral modification and / or maintenance program , the prospective program member and / or other program associates acting on his or her behalf , enter into a registration and / or initialization process ( 203 ), establishing initial program registration and / or initial program application / device initialization and program commencement . the registration process may include , but is not limited to , using a form , providing in the first section personal identification information , including , but not limited to , name , communication contact information , address , and optionally information necessary to support payment transactions . furthermore , said program member may optionally choose a username or pseudonym for use in the program service . next , the program member , or someone or something acting on their behalf , provides in the second section of the form , non - personally - identifiable information regarding program - related behavioral patterns , including , but not limited to history , frequency , and / or other descriptions , attributes , or appropriate measurements . also provided in the second section of the form are answers to and information regarding the program member &# 39 ; s or participant &# 39 ; s demographics , psychographics , sociographics , and any other information that can provide distinguishing and / or comparative context between individual program members . the program service system &# 39 ; s computer program then assigns a behavioral modification and / or maintenance profile to the program member &# 39 ; s record , which may involve a calculation of the term of the program calendar length based on a rate of behavioral modification per day until a desired goal is reached , a behavioral maintenance program based on a fixed or indefinite period of time , or combinations of both . furthermore , program profiles and their ultimate term , may be based on , or selected from predefined program goals and / or program profile templates , representing generic rates of behavioral modification or levels of behavioral maintenance over time and / or towards a desired goal . upon completion of initial program registration and / or initial program application / device initialization , the program member &# 39 ; s program commences and supports program interactions ( 204 ) between the program member and , optionally , program associates , and the program service system . program interactions include , but are not limited to , communication event / program marker replies or other feedback , program input codes that provide data and / or can be used to alter a program schedule and / or program day schedule , or request a program feature or function . program interactions are facilitated by the communications handler ( 205 ), which is part of the program service system and comprised of the means to send ( 211 ) ( 212 ) to and receive from program member and / or program associates , communication events / program markers , consisting of commands , permissions , suggestions , encouragement , guidance , allowances , markers , reports , measurements , program input codes or signals , etc . the communications handler facilitates communication between the program service system &# 39 ; s computer program ( 206 ) and program member in order to facilitate dynamic adjustment of program member &# 39 ; s behavioral modification and / or maintenance program . the program service system &# 39 ; s computer program consists of the registration mechanism ( or new program member information entry mechanism in an application ), communication event / program marker allotment calculation algorithm , communication event / program marker calculation and scheduling algorithm , program service database query mechanism , program member record manipulation , and chart producing mechanisms . the program computer program works with both the communications handler and the program service database ( 207 ). the program service database contains and organizes program data , including , but not limited to , profile templates , program member behavioral / maintenance program profiles and schedules , program member personal identification information , program member behavioral information , program member demographic , psychographic , and sociographic information , program daily communication event / program marker allotment schedules , and tentatively scheduled and actively scheduled program day intervals between communication events / program markers , and program member program records . program member records ( 208 ) may be stored in multiple embodiments . program member records may be stored in an aggregated program service database ( 210 ), which is one that contains the program records of more than one program member , and may , optionally , be implemented and / or work over a network . program member records may also be stored in an individual program service database ( 209 ) which may or may not share data and / or control with external program service system components . program member records may also be stored in multiple forms and places , such as a single program member client program service database that exists partly or wholly on a device and / or software application , and which periodically synchronizes with another instantiation of the same program member &# 39 ; s program record in an aggregated , multi - program member program service database . depicted in fig3 in the present invention a behavioral modification and / or maintenance program is comprised of term of program days , each of which is assigned a daily allotment of communication events / program markers . using the example of a program member with a goal to reduce a behavior such as the smoking of cigarettes from 26 per day to 0 per day , in a 30 day behavioral reduction program schedule ( 300 ), the total starting daily allotment of communication events / program markers ( 301 ) to be distributed throughout the program day schedule ( behavioral / maintenance units or focus ) begins with 26 communication events / program markers ( 302 ) and ends with 0 communication events / program markers ( 403 ). the line representing the changing daily allotment of communication events / program markers per day , from day to day throughout a program , is the program profile ( 304 ). the simplest form of program profile for a reduction - oriented program would be a straight diagonal run / fall slope . the calculation to derive the total communication event / program markers for a given day , for example day 15 , is : such a tentatively scheduled daily allotment of communication events / program markers may be dynamically altered during an active program calendar period if the program member or , optionally , program associates request changes , such as , but not limited to , profile shaping functions , program extensions , plateaus , backsetting or forwardsetting changes , etc . using the same example , for any given program day , the daily tentatively calculated interval ( in minutes ) ( 306 ) between communication events / program markers = total minutes of ( sleep / last / stop time ( 307 ) minus the wake / first / start time ( 308 ) for a day ), divided by quantity / amount of communication events / program markers allotted for that day , according to the program daily communication event / program marker allotment schedule ( 309 ). total time between wake / first / start to sleep / last / stop = 900 minutes . the calculation to derive the total communication event / program markers for a given day , for example day 15 , is : calculated tentative interval between scheduled communication events / program markers at start of day 15 is = a / b = 69 . 2 minutes ( 310 ). as shown in fig4 , for any given program day within an active program , the present invention distributes that program day &# 39 ; s allotted communication events / program markers between the wake / begin / start / first date / time and the sleep / end / stop / last date / time . each program day during the term begins with the program service sending or displaying the first communication event / program marker . communication events / program markers are only actively scheduled upon receipt by the program service system of a program member &# 39 ; s or , optionally program associate &# 39 ; s reply or acknowledgment signal that they received the immediately preceding communication event / program marker , with the exception of the first communication event / program marker of the program &# 39 ; s first day , which is actively scheduled after the immediately preceding program day &# 39 ; s stop / end / sleep date / time . the first communication event / program marker of the program &# 39 ; s first day is actively scheduled upon completion of the registration process . subsequent to the first communication event / program marker for a program day , each following single communication event / program marker of the program day &# 39 ; s allotment is only actively scheduled for sending or display after the program member or , optionally , program associate replies or otherwise signals receipt following the immediately preceding received communication event / program marker . using a similar example of program having a day 15 of a 30 day term for behavioral reduction - oriented program beginning with 28 behavioral instances and reducing to 0 behavioral instances , the starting day &# 39 ; s allotment of communication events / program markers ( 400 ) in day 1 &# 39 ; s program day schedule ( behavioral / maintenance focus ) was 28 units ( communication events / program markers ). in this example , at day 15 , the calculation , or specified schedule , of communication events / program markers for day 15 &# 39 ; s program day schedule ( 403 ) is 14 units . wake / begin / start / first communication event / program marker is set in the program member &# 39 ; s record as 7 : 00 am ( 404 ). sleep / stop / end / last communication event / program marker is set in the program member &# 39 ; s record as at 10 : 00 pm ( 405 ). initial calculated / tentative interval between scheduled communication events / program markers is 69 minutes ( 406 ). calculated / tentative date / times to send or display communication events / program markers ( 401 ) are 69 minutes apart . actual communication event / program marker send / display time may , optionally , be adjusted over a small random time spread ( 402 ). this adjustment calculation may , optionally , further be based on a percentage of time between current calculated intervals . recalculation of tentatively scheduled communication events / program markers occurs when a program member or , optionally , program associate sends a reply and / or signals an acknowledgment beyond the program service system &# 39 ; s currently tentatively scheduled interval time . using the same example as above , a reply / acknowledgment following the communication event / program marker sent to the program member at 3 : 03 pm ( 407 ) was not received within the expected interval ending at 4 : 12 pm ( 408 ), when the next tentatively scheduled c . e ./ p . m was to be sent , so at 4 : 12 : 01 pm a reminder ( 409 ) was sent to the program member indicating no reply / acknowledgment had been received and the program will not continue until one is . program member reply to a sent communication event / program marker is subsequently received at 5 : 29 : 59 pm ( 410 ) by the communications handler , and the program service responds immediately by sending the delayed communication event / program marker at 5 : 30 pm ( 411 ). thereafter , remaining allotted intervals for communication events / program markers in the program day schedule ( between 5 : 30 pm and 10 : 00 pm ) are recalculated by dividing the time remaining in the current active program day schedule by the number of remaining allotted communication events / program markers ( 412 ). in this example , the newly recalculated / tentative intervals between communication events / program markers are shortened to 45 minutes each ( 413 ), to which the program member is shown to reply / acknowledge within the calculated time intervals . in fig5 is shown typical program interactions between the program service system and program member and , optionally , program associates are managed by the program service system &# 39 ; s computer program . the program service system &# 39 ; s computer program handles tentative and active scheduling of communication events / program markers with any given program day by starting with a particular day &# 39 ; s daily allotment of communication events / program markers . daily allotments are associated with the program profile , as described in fig7 and fig8 . the program service system &# 39 ; s computer program manages program interactions with the program member and , optionally , program associates in a method described in fig5 . the program service system &# 39 ; s computer program receives a reply or acknowledgment signal for a communication event / program marker previously sent or displayed to the program member ( or someone else , such as a coach , counselor , administrator , system component , signal , state , or condition acting on behalf of the program member ), or a new registration of a program member has occurred ( 500 ). the computer program queries ( 501 ) the program service database ( 502 ) to determine if any matching program member program record exists yet . the program service database contains a multiplicity of tables . the first table referenced by fig5 , the program member program schedule table , contains a multiplicity of fields , the following 7 of which are referenced : 1 ) program member identification and contact mechanism ; 2 ) program member &# 39 ; s program daily communication event / program marker allotment calculation and / or schedule ; 3 ) date / time of next scheduled communication event / program marker ; 4 ) date / time of next scheduled ( calculated / tentative ) communication event / program marker ; 5 ) communication event / program marker sent flag ; 6 ) date / time of sent ( calculated / tentative ) communication event / program marker ; and 7 ) date / time of last communication event / program marker of the program member &# 39 ; s program day schedule , in the program member program schedule table . the second table referenced by fig5 , the program member behavioral parameters table , contains a multiplicity of fields , the following 4 of which are referenced : 1 ) starting number of program member behavioral events ( example : number of cigarettes smoked daily ); 2 ) length of behavioral modification and / or maintenance program ; 3 ) begin / start / wake schedule for each day of the week ; and 4 ) end / stop / sleep schedule for each day of the week . if no matching program member program record exists ( 503 ), the computer program recognizes that this is a newly registered program member ( 504 ). the computer program queries the program member behavioral parameters table to determine start date / time of behavioral and / or maintenance program based on a program profile and / or program day schedule profile and , optionally , a preferred start day . the computer program then creates a new program member program schedule record in program service database for this program member and actively schedules the first communication event / program marker . the computer program then , optionally , takes a percentage of the current calculated / tentative interval time and adds or subtracts this amount of time from the calculated / tentative interval time if a random adjustment to the actively scheduled date / time is desired . the computer program then stores the calculated / tentative interval time or , optionally , subsequently adjusted calculated / tentative interval time , to the program member &# 39 ; s program schedule table ( 509 ) in the program service database . if a matching program member program record does exist ( 503 ), the computer program queries the program service database to determine if a communication event / program marker reply has been received before the calculated / tentative date / time of the next scheduled communication event / program marker ( 505 ). if the program service system received the reply or acknowledgment signal after the tentatively scheduled interval at which the next communication event / program marker was to be sent ( 506 ), the computer program actively schedules one of the remaining program day &# 39 ; s allotted communication events / program markers at the current date / time and sends or displays it immediately ( 507 ). the computer program then divides the difference between the current day &# 39 ; s recorded stop / end / sleep time and the current date / time by the number of remaining communication events / program markers in the current active program day schedule . the computer program then records this new calculated / tentative interval in the program member &# 39 ; s program schedule table in the program service database . the computer program then , optionally , takes a percentage of the current calculated / tentative interval time and adds or subtracts this amount of time from the calculated / tentative interval time if a random adjustment to the actively scheduled date / time is desired . the computer program then stores the calculated / tentative interval time or , optionally , subsequently adjusted calculated / tentative interval time , to the program member &# 39 ; s program schedule table ( 509 ) in the program service database . if the program service system received the reply or acknowledgment signal before the end of the tentatively scheduled interval at which the next communication event / program marker was to be sent ( 506 ), the computer program uses the date / time of the last sent communication event / program marker , and adds the calculated / tentative interval time to derive the date / time at which to actively schedule the next communication event / program marker . the computer program then stores the new actively scheduled communication event / program marker date / time in the program member &# 39 ; s program schedule table ( 508 ). the computer program then sets the [ communication event / program marker sent ] flag in the program member &# 39 ; s program schedule table to false . the computer program then sets the [ missed reply / acknowledgment notification sent ] flag in the program member &# 39 ; s program schedule table to false . the computer program then , optionally , takes a percentage of the current calculated / tentative interval time and adds or subtracts this amount of time from the calculated / tentative interval time if a random adjustment to the actively scheduled date / time is desired . the computer program then stores the calculated / tentative interval time or , optionally , subsequently adjusted calculated / tentative interval time , to the program member &# 39 ; s program schedule table ( 509 ) in the program service database . as depicted in fig6 the portion of the computer program that manages the sending or displaying of communication events / program markers involves a continuous loop ( 600 ) that queries ( 601 ) the program member program day schedule table in the program service database ( 602 ) to retrieve a list of program members that have a communication event / program marker tentatively scheduled . the program service database contains a multiplicity of tables . the table referenced by fig6 , the program member program day schedule table , contains a multiplicity of fields , the following 7 of which are referenced : 2 ) program member &# 39 ; s program daily communication event / program marker allotment calculation and / or schedule ; 5 ) communication event / program marker sent flag ; 6 ) date / time of sent ( calculated / tentative ) communication event / program marker ; and 7 ) date / time of last communication event / program marker of the program member &# 39 ; s program day schedule . if the date / time of the program member &# 39 ; s next tentatively scheduled communication event / program marker is greater than the current date / time on the system the computer program is running ( 603 ), the computer program re - enters the continuous loop to continue processing ( 601 .) if the date / time of the program member &# 39 ; s next tentatively scheduled communication event / program marker is less than or equal to the current date / time of the computer program &# 39 ; s system clock ( 603 ), and if the communication event / program marker sent flag , in the program member program day schedule table , is not set to true ( 604 ), the communication event / program marker sent flag is set to true ( 605 ), and a communication event / program marker is sent to the program member ( 607 ) through the communications handler ( 609 ) and , optionally , program associates ( 608 ), and the continuous loop is re - entered . if the communication event / program marker sent flag is set to true ( 604 ) and if the current time of the computer program &# 39 ; s system clock is not greater than or equal to the time of the next tentatively schedule communication event / program marker ( 610 ) then re - enter the continuous loop to continue processing ( 601 ). if the current time of the computer program &# 39 ; s system clock is greater than or equal to the time of the next tentatively scheduled communication event / program marker ( 610 ), and if the missed reply / acknowledgement notification sent flag is not set to true ( 611 ), then the computer program sets the missed reply / acknowledgement notification sent flag to true ( 612 ), and then sends a notification of missed reply / acknowledgement signal , through the communications handler ( 609 ), to the program member ( 613 ), and , optionally , program associate ( 608 ). the computer program then re - enters the continuous loop for additional processing ( 601 ). if the missed reply / acknowledgement notification sent flag is set to true ( 611 ), the computer program re - enters the continuous loop for additional processing ( 601 ). in fig7 it is shown that the program profiles can be shaped in a variety of ways depending on program member requirements , input , or input by external forces such as coaches or other external input . a program profile shaping involving a simple linear reduction , calculates the daily allotment of communication events / program markers by taking the total number of starting communication events and subtracting from it the value obtained by dividing the amount of days into the program divided by the total number of days for the program . this calculation reveals the number of communication events / program markers that will be scheduled on any given day into the program . in a 45 day term program with a starting value of 30 communication events / program markers and a simple linear reduction slope ( 700 ), the calculation of communication events / program markers scheduled for day 5 into the 45 day program is as follows . 30 −( 5 / 45 )= 26 . 67 or ( 27 if rounding up ). by fitting a simple linear reduction slope to a sigmoid curve ( s - curve ) ( 701 ), a custom profile can be obtained to shape the program member &# 39 ; s program schedule ( 700 ). a standard calculation is done to find the coefficients of an s - curve based on the standard input of the linear program schedule data . the resulting coefficients that allow the linear program profile slope to best fit to an s - curve is then used for future calculations of each program day &# 39 ; s scheduled communication events . based on the linear program profile slope presented above in example 1 ( 700 ), the s - curve function ( 702 ) is y = a /( 1 . 0 + e (−( x − b )/ c )). the calculated coefficients are : the calculation to determine the communication events / program markers scheduled for day 5 into the 45 day program is as follows : fitting target is lowest sum of squared ( ssq ) absolute error ( traditional ). the result is a shaped program profile ( 702 ). in fig8 it is shown that program profiles can be shaped in a wide variety of profiles , if such profiles are found to provide benefit to the program members . the five examples above represent different program profiles , each varying from a basic straight linear slope . example 1 ( 800 ) represents a program profile that &# 39 ; s a simple curve with a steeper reduction of communication events / program markers at the beginning of the program and becoming less steep all the way to the end of the program . example 2 ( 801 ) represents a program profile made up of successive cycles or series of curved segments , each of which begins with a gradual increasing of the steepness of the rate of reduction in communication events / program markers until it stops and the next gradual increase in the rate of reduction of communication events / program markers begins . each such cycle would allow the program member to reduce behavior quickly , and then have time to adjust before gradually beginning another reduction cycle . this program profile also has an overall curved slope similar to example 1 ( 800 ). example 3 ( 802 ) represents a program profile with slightly different successive cycles or series of curves that are similar to those in the program profile in example 2 ( 801 ), but with each new cycle beginning with the steepest rate of reduction . this program profile also shares the overall curved slope with examples 1 and 2 . example 4 ( 803 ) represents a program profile that &# 39 ; s very similar to the program profile in example 2 ( 801 ), except with fewer and longer successive cycles from the beginning of the program to the end , and with a straighter overall slope throughout the program . example 5 ( 804 ) represents a program profile with three successive straight linear slopes . in such a program profile a program in such a program profile , each successive straight linear segment would represent a lessening rate of reduction from day to day . example 6 ( 805 ) represents a program profile that &# 39 ; s non - regular , and created manually in part or in whole , either by human definition , arbitrarily , or through the single or accumulative results of complex calculations . the possibilities of program profile shaping are endless , though not all program profiles may yield program or program member benefits . in fig9 is shown the means to insert a plateau into the program in the present invention . this unique plateau function provides the means for the user or program member or , optionally , a program associate to suspend forward daily progress along the current term of the program profile and remain at the current daily allotment of communication events / program markers for a period comprised of program days before resuming , and continuing forward program progress along the remaining portion of the term of the program profile from the point where it was suspended and the plateau period began . a plateau is requested by means of a program input code or initiated by means of a program input signal ( 902 ) by a program member ( 900 ) or , optionally , a program associate ( 901 ), which is received by the communications handler ( 903 ) and passed to or made available by query loop to the computer program or software . the computer program obtains the plateau request or signal and queries ( 904 ) the program member &# 39 ; s program schedule table in the program service database ( 906 ) to determine if the program member &# 39 ; s program schedule is already currently in a plateau , and stores the plateau request or signal in the program member &# 39 ; s program input code table ( 905 ) in the program member &# 39 ; s program schedule table in the program service database ( 906 ). the program service database contains a multiplicity of tables . the first table referenced by fig9 , the program member program schedule table , contains a multiplicity of fields , the following 4 of which are referenced : 1 ) program member identification ; 2 ) previous day &# 39 ; s program day schedule &# 39 ; s allotment of communication events / program markers , or specified allotment of communication events / program markers associated with the requested plateau ; 3 ) date / time of start of plateau ; and 4 ) date / time of end of plateau . the second table referenced by fig9 , the program member program input code table , contains a multiplicity of fields , the following 3 of which are referenced : 1 ) date and time of program input code receipt ; 2 ) program input code type ; and 3 ) program input code value ( optional ). if the program member &# 39 ; s program is already currently in a plateau ( 907 ), then the requested or signaled plateau in the program member &# 39 ; s program schedule is , optionally , invalid ( 908 ) and the computer program instructs the communications handler ( 903 ) to notify ( 909 ) the program member and / or , optionally , notify ( 910 ) program associates that the plateau request or signal is invalid and denied . if the program member &# 39 ; s program is not already currently in a plateau ( 907 ), then the requested or signaled plateau in the program member &# 39 ; s program schedule is valid . for the specified requested plateau range d 1 to d 2 , where d 1 and d 2 are a starting and ending date for the plateau , the current program day in the program member &# 39 ; s program profile ( the daily allotment of communication events / program markers ) will be set to stay fixed at the level set for ( d 1 minus 1 , prior day before plateau start ), or optionally set to a specific plateau - associated number of communication events / program markers , and will resume and continue at the regular program profile levels after the d 2 date is reached for this program member ( 911 ). the computer program then instructs ( 912 ) the communications handler ( 903 ) to notify ( 909 ) the program member and / or , optionally , notify ( 910 ) program associates that the plateau request or signal is valid and that the requested or signaled plateau has been successfully inserted into their program profile and schedule . as depicted in fig1 , inserting a plateau ( 1000 ) in a program member &# 39 ; s program profile ( 1001 ) is accomplished by setting a plateau date range d 1 ( 1002 ) through day d 2 ( 1003 ). the program profile already calculated for the program member is used in such a manner that at day d 1 , or optionally d 1 − 1 ( day prior to start of plateau range ), the number of communication events / program markers calculated and / or scheduled for that day is fixed at the level described by day ( d 1 − 1 ). after d 2 date has elapsed , the program member is returned to the remaining portion of their program schedule ( 1004 ), with a program daily communication event / program marker allotment as calculated and / or scheduled for the remaining original portion of their program and schedule of daily allotted p . m . s / c . e . s as were previously scheduled to continue on from d 1 , or optionally d 1 − 1 . the overall tentatively scheduled program calendar length is correspondingly lengthened ( 1005 ) by the same amount of time as the plateau . program member &# 39 ; s program profile specifies or it is calculated that on day 40 there are 16 communication events / program markers allotted . on day 41 there are 15 communication events / program markers allotted , on day 42 there are 15 communication events / program markers allotted , and day 43 there are 14 communication events / program markers allotted . if a plateau is set for days 40 , 41 , and 42 , then on day 40 the level of communication events / program markers is set to d 1 , or optionally to d 1 − 1 . in this example , day 40 &# 39 ; s allotment of 16 communication events / program markers . on days 41 , 42 , and 43 of the plateau , again the level is set to d 1 , which in this example are day 40 &# 39 ; s allotment of 16 communication events / program markers . on day 44 , following the plateau , the daily communication event / program marker allotment calculation and / or schedule returns , beginning from the d + 1 , or optionally d , daily communication event / program marker allotment calculation and / or schedule , continuing on through the rest of the calendar days as if the plateau had never been inserted or had not interrupted the original schedule and profile . plateaus can be configured to any length , or can be constrained to allowable numbers of days ( e . g . : one to three days in length ). in another embodiment , which addresses the needs of a program member who may only realize that he or she needs / wants a plateau at the previous day &# 39 ; s level after he or she has already moved forward to a day where their program daily communication event / program marker allotment has dropped down to fewer communication events / program markers , the plateau could always be set to the number of communication events / program markers of the previous day &# 39 ; s program day schedule ( d − 1 ), and resume again after the plateau at ( d ). such a method enables program members to request plateaus that will allow time to acclimate and adjust in order to be ready once more to continue on the program . fig1 shows the redistribution of communication events / program markers within a program day schedule can occur in various ways such as a response to a specific request or program cue by a program member , or by a specific request of a coach , counselor , or other external stimuli . a standard linear ( regular interval ) program day schedule is shown by ( 1100 ). the wake / first communication event / program marker is at 7 : 00 am . the program day schedule is 16 hours in length , and contains a total of 23 communication events / program markers . to determine the standard ( regular interval ) interval time , the total time of 16 hours is divided by 23 . the result is an interval time of 41 . 7 minutes between each communication event / program marker . this is an example of regularly distributed communication event / program markers in a given program day schedule . the program day schedule is 16 hours in length , and contains a total of 23 communication events / program markers . to determine the standard ( regular interval ) interval time , the total time of 16 hours is divided by 23 . the result is an interval time of 41 . 7 minutes between each communication event / program marker . this is an example of regularly distributed communication event / program markers in a given program day schedule . a “ front - loading ” or compression effect is shown by ( 1101 ). while the wake / first communication event / program marker , and the sleep / last communication event / program marker are still at 7 : 00 am and 11 : 00 pm respectively , the intervals between each are not regularly distributed or fixed at 41 . 7 minutes . instead a customized time compression and expansion is applied to compress the time between intervals earlier in the program day schedule , with a gradual expansion as the program day schedule approaches the sleep / last communication event / program marker time frame . a standard exponential function could be applied to produce such a compression / expansion effect on the time intervals . in fig1 as herein disclosed , the add time function provides the means for a program member or , optionally , a program associate to add time to a program day schedule , which is the active portion of a program day , which is the period of time between the program day &# 39 ; s wake / start / begin / first communication event / program marker date / time and sleep / stop / end / last communication event / program marker date / time . adding time to extend a program day schedule is requested by means of a program input code or initiated by means of a program input signal ( 1202 ) by a program member ( 1200 ) or , optionally , a program associate ( 1201 ), which is received by the communications handler ( 1203 ) and passed to or made available by query loop to the computer program . the computer program obtains the add time request or signal , which contains a value for the desired length of time to add , and queries ( 1204 ) the program member &# 39 ; s program schedule table in the program service database ( 1206 ) to determine if adding the requested additional time to the date / time of the next last tentatively scheduled communication event / program marker will overrun the date / time of the next tentatively scheduled first communication event / program marker of a following program day , and stores the add time request or signal in the program member &# 39 ; s program input code table ( 1205 ) in the program member &# 39 ; s program schedule table in the program service database ( 1206 ). the program service database contains a multiplicity of tables . the first table referenced by fig1 , the program member program day schedule table , contains a multiplicity of fields , the following 4 of which are referenced : 1 ) program member identification ; 2 ) program member &# 39 ; s program daily communication event / program marker allotment calculation and / or schedule ; 3 ) date / time of last scheduled communication event / program marker ; and 4 ) date / time of next day &# 39 ; s first scheduled communication event / program marker . the second table referenced by fig1 , the program member program input code table , contains a multiplicity of fields , the following 3 of which are referenced : if the requested new , later date / time of a sleep / stop / end / last communication event / program marker date / time overruns the next tentatively scheduled wake / start / begin / first communication event / program marker date / time of a following program day ( 1207 ), then the requested lengthening of the program member &# 39 ; s current program day schedule is invalid ( 1208 ) and the computer program instructs the communications handler ( 1203 ) to notify ( 1209 ) the program member and / or , optionally , notify ( 1210 ) program associates that the add time request or signal is invalid and denied . this logic covers both situations where the first situation involves an add time request or signal occurs during the active program day period of a current program day , for example a monday , in which case the immediately following program day &# 39 ; s ( tuesday ) wake / start / begin / first communication event / program marker date / time has still only been tentatively scheduled , as well as second situation involving an add time request or signal occurring during the inactive portion of a program day , or in other words after the sleep / stop / end / last communication event / program marker date / time ( monday night or early tuesday morning ), at which time the immediately following program day &# 39 ; s ( tuesday ) wake / start / begin / first communication event / program marker date / time is already actively scheduled . in this second situation , the next tentatively scheduled wake / start / begin / first communication event / program marker date / time belongs to the following program day ( wednesday ), meaning that the add time request or signal would need to overrun that date / time in order to be invalid . if the requested new , later date / time of a sleep / stop / end / last communication event / program marker date / time does not overrun the next tentatively scheduled wake / start / begin / first communication event / program marker date / time of a following program day ( 1207 ), then the requested lengthening of the program member &# 39 ; s current program day schedule is valid . the computer program adds the requested or signaled amount of time to the last scheduled communication event / program marker date / time of the appropriate program day schedule ( 1211 ). if the appropriate program day schedule is the currently active program day schedule , the computer program also recalculates the remaining current program day &# 39 ; s program day scheduled communication events / program markers based on the amount of time remaining in the newly lengthened program day schedule divided by the number of communication events / program markers remaining in the current program day schedule to determine the new tentatively scheduled interval between communication events / program markers . the computer program then instructs ( 1212 ) the communications handler ( 1203 ) to notify ( 1209 ) the program member and / or , optionally , notify ( 1210 ) program associates that the add time request or signal is valid and that the requested or signaled amount of time has been successfully added to their program day schedule . fig1 shows an example of adding time to a program day schedule is determined by calculating the total time between the time of the program day schedule extension request and the scheduled sleep / last communication event / program marker . this revised total time is divided by the total remaining communication events / program markers for that day to determine the new inter - communication event / program marker interval . this interval is used for the subsequent communication events / program markers for the rest of that particular program day schedule . a standard linear ( regular interval ) program day schedule is shown by ( 1300 ). the wake / first communication event / program marker is at 7 : 00 am . the program day schedule is 16 hours in length , and contains a total of 23 communication events / program markers . to determine the evenly distributed ( regular interval ) interval time , the total time of 16 hours is divided by 23 . the result is an interval time of 41 . 7 minutes between each communication event / program marker . this is an example of regularly distributed communication events / program markers in a given program day schedule . add 3 program input code is sent at 4 : 00 pm . 10 communication events / program markers remain , at a current interval of 41 minutes . adding 3 hours to the day , the last scheduled time moves from 11 pm to 2 am the following day . the new interval calculation is determined by taking the total remaining time for today &# 39 ; s program day schedule ( 1301 ) ( 4 : 00 pm to 2 : 00 am ) or 10 hours divided by 10 remaining communication events / program markers = 1 hour interval . in fig1 if the disclosure of the present invention , the delete time function provides the means for a program member or , optionally , a program associate to subtract time from a program day schedule , which is the active portion of a program day , which is the period of time between the program day &# 39 ; s wake / start / begin / first communication event / program marker date / time and sleep / stop / end / last communication event / program marker date / time . deleting time to shorten a program day schedule is requested by means of a program input code or initiated by means of a program input signal ( 1402 ) by a program member ( 1400 ) or , optionally , a program associate ( 1401 ), which is received by the communications handler ( 1403 ) and passed to or made available by query loop to the computer program . the computer program obtains the delete time request or signal , which contains a value for the desired length of time to subtract , and queries ( 1404 ) the program member &# 39 ; s program schedule table in the program service database ( 1406 ) to determine if deleting the requested time from the date / time of the next last tentatively scheduled communication event / program marker will overrun the date / time of the next tentatively or actively scheduled communication event / program marker , and stores the delete time request or signal in the program member &# 39 ; s program input code table ( 1405 ) in the program member &# 39 ; s program schedule table in the program service database ( 1406 ). the program service database contains a multiplicity of tables . the first table referenced by fig1 , the program member program day schedule table , contains a multiplicity of fields , the following 4 of which are referenced : 1 ) program member identification ; 2 ) program member &# 39 ; s program daily communication event / program marker allotment calculation and / or schedule ; 3 ) date / time of last scheduled communication event / program marker ; and 4 ) date / time of next scheduled communication event / program marker . the second table referenced by fig1 , the program member program input code table , contains a multiplicity of fields , the following 3 of which are referenced : if the requested new , earlier date / time of a sleep / stop / end / last communication event / program marker date / time overruns the next tentatively or actively scheduled communication event / program marker date / time ( 1407 ), then the requested shortening of the program member &# 39 ; s current program day schedule is invalid ( 1408 ) and the computer program instructs the communications handler ( 1403 ) to notify ( 1409 ) the program member and / or , optionally , notify ( 1410 ) program associates that the delete time request or signal is invalid and denied . if the requested new , earlier date / time of a sleep / stop / end / last communication event / program marker date / time does not overrun the next tentatively scheduled communication event / program marker date / time ( 1407 ), then the requested shortening of the program member &# 39 ; s program day schedule is valid . the computer program subtracts the requested or signaled amount of time from the last scheduled communication event / program marker date / time of the appropriate program day schedule ( 1411 ). if the appropriate program day schedule is the currently active program day schedule , the computer program also recalculates the remaining current program day &# 39 ; s program day scheduled communication events / program markers based on the amount of time remaining in the newly lengthened program day schedule divided by the number of communication events / program markers remaining in the current program day schedule to determine the new tentatively scheduled interval between communication events / program markers . the computer program then instructs ( 1412 ) the communications handler ( 1403 ) to notify ( 1409 ) the program member and / or , optionally , notify ( 1410 ) program associates that the delete time request or signal is valid and that the requested or signaled amount of time has been successfully deleted from their program day schedule . as shown in fig1 deleting time from a program day schedule is determined by calculating the total time between the time of the program day schedule shortening request and the scheduled sleep / last communication event / program marker . this revised total time is divided by the total remaining communication events / program markers for that day to determine the new inter - communication event / program marker interval . this interval is used for the subsequent communication events / program markers for the rest of that particular program day schedule . a standard linear ( regular interval ) program day schedule is shown by ( 1500 ). the wake / first communication event / program marker is at 7 : 00 am . the program day schedule is 16 hours in length , and contains a total of 23 communication events / program markers . to determine the standard ( regular interval ) interval time , the total time of 16 hours is divided by 23 . the result is an interval time of 41 . 7 minutes between each communication event / program marker . this is an example of regularly distributed communication events / program markers in a given program day schedule . delete 3 program input code is sent at 11 : 00 am . 17 communication events / program markers remain , at a current interval of 42 . 4 minutes . deleting 3 hours from the day , the last scheduled time moves from 11 pm to 8 pm . the new interval calculation is determined by taking the new total remaining time for today &# 39 ; s revised program day schedule ( 1501 ) ( 11 : 00 am to 8 : 00 pm ) or 9 hours divided by 17 remaining communication events / program markers = 31 . 8 minute interval . in fig1 of this disclosure of the present invention , the delete time function provides the means for a program member or , optionally , a program associate to jumpstart a program day schedule earlier than the actively scheduled wake / start / begin / first communication event / program marker date / time , resulting in a longer active portion of a program day , which is the period of time between the program day &# 39 ; s wake / start / begin / first communication event / program marker date / time and sleep / stop / end / last communication event / program marker date / time . jumpstarting a program day schedule is requested by means of a program input code or initiated by means of a program input signal ( 1602 ) by a program member ( 1600 ) or , optionally , a program associate ( 1601 ), which is received by the communications handler ( 1603 ) and passed to or made available by query loop to the computer program . the computer program obtains the jumpstart request or signal , and queries ( 1604 ) the program member &# 39 ; s program schedule table in the program service database ( 1606 ) to determine if the program member &# 39 ; s program schedule is currently between active program day schedules ( after the stop / end / sleep of one day &# 39 ; s program day schedule and before the start / begin / wake of the next day &# 39 ; s program day schedule , and stores the jumpstart request or signal in the program member &# 39 ; s program input code table in the program member &# 39 ; s program schedule table ( 1605 ) in the program service database ( 1606 ). the program service database contains a multiplicity of tables . the first table referenced by fig1 , the program member program day schedule table , contains a multiplicity of fields , the following 4 of which are referenced : 1 ) program member identification ; 2 ) program member &# 39 ; s program daily communication event / program marker allotment calculation and / or schedule ; 3 ) date / time of first scheduled communication event / program marker ; and 4 ) date / time of last scheduled communication event / program marker . the second table referenced by fig1 , the program member program input code table , contains a multiplicity of fields , the following 3 of which are referenced : 1 ) date and time of program input code receipt ; 2 ) program input code type ; and 3 ) program input code value ( optional ). if the program member &# 39 ; s program schedule is not currently between active program day schedules ( after the stop / end / sleep of one day &# 39 ; s program day schedule and before the start / begin / wake of the next day &# 39 ; s program day schedule ( 1607 ), then the requested jumpstart of the program member &# 39 ; s next program day schedule is invalid ( 1608 ) and the computer program instructs the communications handler ( 1603 ) to notify ( 1609 ) the program member and / or , optionally , notify ( 1610 ) program associates that the jumpstart request or signal is invalid and denied . if the program member &# 39 ; s program schedule is currently between active program day schedules ( after the stop / end / sleep of one day &# 39 ; s program day schedule and before the start / begin / wake of the next day &# 39 ; s program day schedule ( 1607 ), then the requested jumpstarting of the program member &# 39 ; s next program day schedule is valid . the computer program then changes the time of the next program day schedule &# 39 ; s first scheduled communication event / program marker date / time to the current date / time . ( 1611 ). the computer program then recalculates the remaining program day scheduled communication events / program markers based on the amount of time remaining in the newly lengthened program day schedule divided by the number of communication events / program markers remaining to determine the new interval between communication events / program markers . the computer program then instructs ( 1612 ) the communications handler ( 1603 ) to send or display ( 1609 ) the program day schedule &# 39 ; s first scheduled communication event / program marker to the program member and / or , optionally , notify ( 1610 ) program associates that the jumpstart request or signal is valid and that the program day schedule has been successfully started early . in fig1 it is shown that jumpstarting a program day schedule is determined by calculating the total time between the time of the jumpstart request and the scheduled sleep / last communication event / program marker . this total is divided by the total remaining communication events / program markers for that day to determine the new inter - communication event / program marker interval . this interval is used for the subsequent communication events / program markers for the rest of that particular program day schedule . a standard linear ( regular interval ) program day schedule is shown by ( 1700 ). the wake / first communication event / program marker is at 7 : 00 am . the program day schedule is 16 hours in length , and contains a total of 23 communication events / program markers . to determine the standard ( regular interval ) interval time , the total time of 16 hours is divided by 23 . the result is an interval time of 41 . 7 minutes between each communication event / program marker . this is an example of regularly distributed communication events / program markers in a given program day schedule . jumpstart program input code is sent at 5 : 00 am . 23 communication events / program markers remain for the day , at a current interval of 41 minutes . jumpstarting the day by 2 hours moves the first / wake time of the communication event / program marker from 7 : 00 am to 5 : 00 am . the new interval calculation is determined by taking the total time for today &# 39 ; s revised program day schedule ( 1701 ) ( 5 : 00 am - 11 : 00 pm ) or 18 hours divided by 23 remaining communication events / program markers = 47 minute interval . fig1 depicts the operation of the exclude function provides the means for a program member or , optionally , a program associate to exclude or block a segment of time within or partially overlapping the active portion of a program day schedule , resulting in the remaining communication events / program markers being redistributed within the remaining non - excluded portion or portions of said program day schedule . excluding a segment of time within a program day schedule is requested by means of a program input code or initiated by means of a program input signal ( 1802 ) by a program member ( 1800 ) or , optionally , a program associate ( 1801 ), which is received by the communications handler ( 1803 ) and passed to or made available by query loop to the computer program . the computer program obtains the exclude request or signal , and queries ( 1804 ) the program member &# 39 ; s program day schedule table in the program service database ( 1806 ) to determine if the requested exclusion period program input code is of a valid syntax and the end of the requested exclusion period is also not earlier than the date / time of the request , and stores the exclude request or signal in the program member &# 39 ; s program input code table ( 1805 ) in the program member &# 39 ; s program schedule table in the program service database ( 1806 ). the program service database contains a multiplicity of tables . the first table referenced by fig1 , the program member program day schedule table , contains a multiplicity of fields , the following 4 of which are referenced : 1 ) program member identification ; 2 ) program member &# 39 ; s program daily communication event / program marker allotment calculation and / or schedule ; 3 ) date / time of beginning of requested exclusion period ; and 4 ) date / time of ending of requested exclusion period . the second table referenced by fig1 , the program member program input code table , contains a multiplicity of fields , the following 3 of which are referenced : if the requested exclusion period program input code is not of a valid syntax or the end of the requested exclusion period is earlier than the current date / time ( 1807 ), then the requested exclusion period within the program member &# 39 ; s program day schedule is invalid ( 1808 ) and the computer program instructs the communications handler ( 1803 ) to notify ( 1809 ) the program member and / or , optionally , notify ( 1810 ) program associates that the exclusion request or signal is invalid and denied . if the requested exclusion period program input code is a valid syntax and the end of the requested exclusion period is not earlier than the current date / time ( 1807 ), then the computer program moves forward ( 1812 ) to query the program member &# 39 ; s program day schedule table in the program service database ( 1806 ) to determine if the requested exclusion period intersects the program member &# 39 ; s currently active program day schedule or one of his or her future tentative program day schedules . if the requested exclusion period does not intersect the program member &# 39 ; s currently active program day schedule or a future tentative program day schedule ( 1812 ), then the requested exclusion period within the program member &# 39 ; s program day schedule is invalid ( 1808 ) and the computer program instructs the communications handler ( 1803 ) to notify ( 1809 ) the program member and / or , optionally , notify ( 1810 ) program associates that the exclusion request or signal is invalid and denied . if the requested exclusion period does intersect the program member &# 39 ; s currently active program day schedule or a future tentative program day schedule ( 1812 ), then the requested exclusion period within the program member &# 39 ; s program day schedule is valid . the computer program then excludes all scheduled communication events / program markers from the portion of the requested exclusion period that intersects with the program member &# 39 ; s specified program day schedule beginning at the date / time contained in the exclusion request program input code ( 1813 ), and redistributes all remaining communication events / program markers evenly or according to the existing program day schedule profile within the remaining time before and / or after the excluded period ( 1814 ). the computer program then instructs ( 1815 ) the communications handler ( 1803 ) to notify ( 1809 ) the program member and / or , optionally , notify ( 1810 ) program associates that the exclusion request or signal is valid and that the requested period of time has been successfully excluded or blocked . in fig1 excluding part of a program day schedule is accomplished by first determining the total amount of communication events / program markers would have been scheduled for the excluded time segment . this amount needs to be distributed accordingly before and after the excluded segment , depending on the percentage of time in each of the resulting before and after remaining segments in the program day schedule . a standard linear ( regular interval ) program day schedule is shown by ( 1900 ). the wake / first communication event / program marker is at 7 : 00 am . the program day schedule is 16 hours in length , and contains a total of 23 communication events / program markers . to determine the standard ( regular interval ) interval time , the total time of 16 hours is divided by 23 . the result is an interval time of 41 . 7 minutes between each communication event / program marker . this is an example of regularly distributed communication events / program markers in a given program day schedule . an exclude program input code is sent at 10 : 00 am to exclude the time between 1 : 00 pm and 5 : 00 pm ( 1901 ), the total number of communication events / program markers that will be excluded is 5 . these 5 need to be equally distributed based on percentage of time in each pre and post blocking segment . in this case , the excluded time is 5 hours . the amount of time remaining before the exclusion at 1 : 00 pm is 10 : 00 am to 1 : 00 pm , or 3 hours . the total time remaining after the excluded segment ends at 5 pm is 5 : 00 pm to 11 : 00 pm , or 6 hours . total time before and after the excluded segment is 3 + 6 hours , or 9 total hours . ( 3 / 9 )* 100 = 33 % of the time is represented before the excluded segment , and ( 6 / 9 )* 100 = 66 % of the time is represented after the excluded segment . the distribution of the 5 cigarettes will be as follows . before the excluded segment , an additional 5 * 33 %= 1 . 65 or 2 ( rounded up ) communication events / program markers will be inserted . after the excluded segment , an additional 5 * 66 %= 3 communication events / program markers will be inserted . a new interval amount will be calculated for each before and after the excluded segment based on dividing the total time in the new segment , in this case between 10 : 00 am and 1 : 00 pm , by the total communication events / program markers ( 4 + 2 = 6 markers ). the same calculation applies to after the excluded segment between the times 5 pm and 11 pm divided by the new total remaining communication events / program markers ( 9 + 3 = 12 ). as shown in fig2 the present invention provides the means for a program member or , optionally , a program associate to enter into the program member &# 39 ; s program record flags , which may contain information , notations , or descriptions of things including , but not limited to , events , or states , issues , rated or categorized input , and / or answers to questions , and which , optionally , may further be associated with particular points or time periods or segments along the calendar timeline of a program member &# 39 ; s program record and / or individual program day schedule records . flagging within a program member &# 39 ; s program schedule and / or program day schedule is requested by means of a program input code or initiated by means of a program input signal ( 2002 ) by a program member ( 2000 ) or , optionally , a program associate ( 2001 ), which is received by the communications handler ( 2003 ) and passed to or made available by query loop to the computer program . the computer program obtains the flag program input code , and determines if the flag program input code is of a valid type ( 2004 ). if the program input code is not among the valid types of flags ( 2005 ), the program input code is invalid ( 2006 ) and the computer program instructs the communications handler ( 2003 ) to notify ( 2007 ) the program member and / or , optionally , notify ( 2008 ) program associates that the flag program input code is invalid and denied . if the program input code is among the valid types of flags ( 2005 ), the program input code is valid ( 2006 ) and the computer program determines if the flag is of a flag type that &# 39 ; s used for information gathering only ( 2009 ). if the flag program input code is not among the flag types used for information gathering only ( 2012 ), then the computer program uses the recognized flag and optional associated objective or subjective state and / or value information as input for flag - matched functions that can alter program and / or program day schedule profile 2013 ), and the computer program executes said associated function and makes associates changes to the program member &# 39 ; s program and / or program day schedule profile , and stores the flag data with the current date / timestamp in the program member &# 39 ; s program input code table ( 2010 ) in the program service database ( 2011 ). the computer program then instructs ( 2014 ) the communications handler ( 2003 ) to notify ( 2007 ) the program member and / or , optionally , notify ( 2008 ) program associates that the flag program input code is valid , was stored in the program member &# 39 ; s program record and , optionally , any associated function , if already executed , has been successfully executed . some functions may require an accumulated number of flags or conditions to be reached or occur , prior to executing an associated function . if the flag program input code is among the flag types used for information gathering only ( 2012 ), then the computer program stores the recognized flag and optional associated objective or subjective state and / or value information with the current date / timestamp ( 2015 ) in the program member &# 39 ; s program input code table ( 2010 ) in the program service database ( 2011 ). the computer program then instructs ( 2014 ) the communications handler ( 2003 ) to notify ( 2007 ) the program member and / or , optionally , notify ( 2008 ) program associates that the flag program input code is valid , and was stored in the program member &# 39 ; s program record . the program service database contains a multiplicity of tables . the table referenced by fig2 , the program member program day schedule table , contains a multiplicity of fields , the following 4 of which are referenced : as shown in fig2 flagging can be used by program members , coaches , guides , and / or can be triggered by other conditions or resulting from other external input . flags can be simple markers of points in time in a program and / or program day schedule , can additionally include associated objective or subjective state and / or value information , and may also be subsequently used by the program server to reshape the program and / or program day schedule . when the invention is used for a smoking cessation program based on the gradual reduction method , a program member has a standard linear program day schedule in effect . the wake / first communication event / program marker is set at 7 : 00 am and the and the sleep / last communication event / program marker is scheduled for 11 : 00 pm . with a 16 hour total time for the program day , and 23 communication events / program markers scheduled , the interval between events is calculated as 16 hours / 23 = 41 . 7 minutes . if the program member sends flags which are understood to signify discomfort at 8 : 00 am , 9 : 00 am and 10 : 00 am ( 2100 ), and if such input amounts are determined to be at a level to change the program day schedule based on pre - defined criteria , the program day schedule will be modified in real - time to reflect the program member &# 39 ; s input . in this case , a compression effect is applied to adjust the interval time period near the program member &# 39 ; s behavioral state cue input data , which lessens the interval time from 41 . 7 to a shorter amount . by shortening the interval , the remaining intervals for the program day schedule following the adjusted period will be recalculated . the computer program includes a function to look for a certain amount of feedback in the form of flags and / or flags with associated values or descriptive information until a threshold or condition is reached , whereupon it will respond by altering or reconfiguring the program or program day schedule . the flag program input codes received during the morning were understood by the program member and the computer program as representing points of discomfort . the computer program interprets the three flag program input codes as being enough to trigger a reconfiguration of the program day schedule profile , and in this example , it responds by implementing a morning front - loading profile ( 2101 ) so that the program member is receiving additional communication events / program markers toward the beginning of the day . in fig2 it is shown further that the present invention provides the means for a certain number of communication events / program markers to be set aside , or banked , so that these can be requested , or withdrawn , by the program member or , optionally , program associates acting on behalf of the program member , or automatically by means of signals generated upon recognition of specified events , conditions , and / or states . banking of a certain number or percentage of communication events / program markers in a program member &# 39 ; s program day schedule can be specified and enabled as part of a program &# 39 ; s ongoing program profile and program day schedule profiles , or can be specified on an irregular basis via program input codes or equivalent means by program members or , optionally , program associates , or automatically by means of signals generated upon recognition of specified events , conditions , and / or states . withdrawal of banked communication events / program markers in a program day schedule can be made at any time between the wake / start / begin / first communication event / program marker date / time of a currently active program day and the wake / start / begin / first communication event / program marker date / time of the following day . status on the number of remaining banked communication events / program markers can be obtained along with other up - to - date program and program day schedule statistics through the request status program input code or equivalent means of request . withdrawing a banked communication event / program marker is requested by means of a program input code or initiated by means of a program input signal ( 2202 ) by a program member ( 2200 ) or , optionally , a program associate ( 2201 ), which is received by the communications handler ( 2203 ) and passed to or made available by query loop to the computer program . the computer program obtains the withdrawal request or signal , and queries ( 2204 ) the program member &# 39 ; s program day schedule table in the program service database ( 2206 ) to determine the amount of available banked communication events / program markers , and stores the withdrawal request or signal in the program member &# 39 ; s program input code table ( 2205 ) in the program member &# 39 ; s program schedule table in the program service database ( 2206 ). the program service database contains a multiplicity of tables . the first table referenced by fig2 , the program member program day schedule table , contains a multiplicity of fields , the following 4 of which are referenced : 2 ) program member &# 39 ; s program daily communication event / program marker allotment calculation and / or schedule ; and the second table referenced by fig2 , the program member program input code table , contains a multiplicity of fields , the following 3 of which are referenced : if the program member doesn &# 39 ; t have any banked communication events / program markers available for withdrawal ( 2207 ), then the requested withdrawal is invalid ( 2208 ) and the computer program instructs the communications handler ( 2203 ) to notify ( 2209 ) the program member and / or , optionally , notify ( 2210 ) program associates that the withdrawal request or signal is invalid and denied . if the program member does have remaining banked communication events / program markers available for withdrawal ( 2207 ), then the requested withdrawal is valid , and the computer program decrements a banked communication event / program marker from the program member &# 39 ; s program day schedule table ( 2211 ). the computer program then instructs ( 2212 ) the communications handler ( 2203 ) to send or display ( 2209 ) the withdrawn communication event / program marker to the program member and / or , optionally , notify ( 2210 ) program associates that the withdrawal request or signal is valid and that the communication event / program marker has been successfully withdrawn . in fig2 it is shown that during the calculation of the program member &# 39 ; s program profile , the program member can choose whether or not they want to have some of their communication events / program markers to “ bank ” for the current program day schedule . if they choose this option , a certain percentage of their scheduled communication events / program markers will be “ banked ”, and set aside . a program member has the option of withdrawing or requesting “ banked ” communication events / program markers one at a time at any time between the start of a day &# 39 ; s program day schedule and the start of the next day &# 39 ; s program day schedule . a program member redeems or requests a “ banked ” marker by sending a withdraw request to the program server via the communication server . a standard linear ( regular interval ) program day schedule is shown by ( 2300 ). the wake / first communication event / program marker is at 7 : 00 am . the program day schedule is 16 hours in length , and contains a total of 23 communication events / program markers . to determine the standard ( regular interval ) interval time , the total time of 16 hours is divided by 23 . the result is an interval time of 41 . 7 minutes between each communication event / program marker . this is an example of regularly distributed communication events / program markers in a given program day schedule . two of the 23 communication events / program markers in the program day schedule are banked ( 2301 ), leaving 21 communication events / program markers to be redistributed between the wake / first time and the sleep / last time ( 2302 ). the program member is free to send a withdraw program input code at any time between the start of the current day &# 39 ; s program day schedule and the start of the next day &# 39 ; s program day schedule . this allows flexibility for the program member to use them when desired or needed to fit the dynamic and ever - changing schedule of their daily life . in fig2 of the present invention is shown the provision of means for a program member or , optionally , a program associate to reset a program member &# 39 ; s or participant &# 39 ; s current associated behavioral prompting parameters within a program , through the backsetting and forwardsetting functions . in increasing or decreasing programs , this is equivalent to moving the program member ahead or back within the program . backsetting and forwardsetting is requested by means of a program input code or initiated by means of a program input signal ( 2402 ) by a program member ( 2400 ) or , optionally , a program associate ( 2401 ), which is received by the communications handler ( 2403 ) and passed to or made available by query loop to the computer program . the computer program obtains the withdrawal request or signal , and queries ( 2404 ) the program member &# 39 ; s program schedule table in the program service database ( 2406 ) to determine if the program member &# 39 ; s program schedule is already currently in a backset or forwardset condition , and stores the backsetting or forwardsetting request or signal in the program member &# 39 ; s program input code table ( 2405 ) in the program member &# 39 ; s program schedule table in the program service database ( 2406 ). the program service database contains a multiplicity of tables . the first table referenced by fig2 , the program member program schedule table , contains a multiplicity of fields , the following 3 of which are referenced : 1 ) program member identification ; 2 ) revised program communication event / program marker daily allotment calculation or schedule with associated longer or shorter tentatively scheduled program calendar length ; and 3 ) revised current program day &# 39 ; s , or optionally following program day &# 39 ; s , location within the revised program communication event / program marker daily allotment schedule , or optionally re - calculated daily allotment , and its associated increased or decreased allotment of communication events / program markers . the second table referenced by fig2 , the program member program input code table , contains a multiplicity of fields , the following 3 of which are referenced : if the program member &# 39 ; s program schedule is already currently in a backset or forwardset condition ( 2407 ), and simultaneous or overlapping backset or fowardset conditions are not allowed in the program , then the requested backsetting or forwardsetting is invalid ( 2413 ) and the computer program instructs the communications handler ( 2403 ) to notify ( 2410 ) the program member and / or , optionally , notify ( 2411 ) program associates that the backsetting or forwardsetting of the program communication event / program marker daily allotment schedule is invalid and denied . if the program member &# 39 ; s program schedule is already currently in a backset or forwardset condition ( 2407 ), and simultaneous or overlapping backset or fowardset conditions are allowed in the program , then the requested backsetting or forwardsetting of the program communication event / program marker daily allotment schedule is valid . the computer program then revises the program member &# 39 ; s program communication event / program marker daily allotment schedule and its associated longer or shorter tentatively scheduled program calendar length ( 2408 ). the computer program then revises the current program day &# 39 ; s or , optionally , following program day &# 39 ; s location within the revised program communication event / program marker daily allotment schedule and switches to or assigns its associated increased or decreased allotment of communication events / program markers . the computer program then instructs ( 2409 ) the communications handler ( 2403 ) to notify ( 2410 ) the program member and / or , optionally , notify ( 2411 ) program associates that the backsetting or forwardsetting request or signal is valid and that the program member &# 39 ; s program has been successfully backset or forwardset . if the program member &# 39 ; s program schedule is not already currently in a backset or forwardset condition ( 2407 ), then the requested backsetting or forwardsetting of the program communication event / program marker daily allotment schedule is valid . the computer program then revises the program member &# 39 ; s program communication event / program marker daily allotment schedule and its associated longer or shorter tentatively scheduled program calendar length ( 2408 ). the computer program then revises the current program day &# 39 ; s or , optionally , following program day &# 39 ; s location within the revised program communication event / program marker daily allotment schedule and switches to or assigns its associated increased or decreased allotment of communication events / program markers . the computer program then instructs ( 2409 ) the communications handler ( 2403 ) to notify ( 2410 ) the program member and / or , optionally , notify ( 2411 ) program associates that the backsetting or forwardsetting request or signal is valid and that the program member &# 39 ; s program has been successfully backset or forwardset . in fig2 backsetting and forwardsetting as shown allows a program member &# 39 ; s current position within a program member &# 39 ; s program profile and schedule ( 2500 ), corresponding in the example above to day 40 ( 2501 ) of an tentatively scheduled 80 - day program to be moved backward ( 2502 ) or forward ( 2503 ) respectively . in the example of a reduction - oriented program , backsetting resets the program member &# 39 ; s position to an earlier and higher daily allotment of communication events / program markers ( 2504 ) and proceed thereafter to resume advancing the program forward again from the earlier or regressed position and / or daily allotment of communication events / program markers ( 2505 ). the program &# 39 ; s tentatively scheduled calendar length will be lengthened by a period of time equal to the amount of program time repeated by the backsetting ( 2506 ). correspondingly , and also in the example of a reduction - oriented program , forwardsetting resets the program member &# 39 ; s position forward to a later and lower number of communication events / program markers ( 2507 ) and proceed thereafter to resume advancing the program forward from the later or advanced position and / or daily allotment of communication events / program markers ( 2508 ). the program &# 39 ; s tentatively scheduled calendar length will be shortened by a period of time equal to the amount of program time skipped over by the forwardsetting ( 2509 ). program member &# 39 ; s program profile specifies or it is calculated that on day 40 there are 16 communication events / program markers allotted . a request to backset the program to either day 35 or 18 allotted communication events / program markers will result repeating the program profile and schedule between day 35 and day 40 , and add a corresponding five days to the total tentatively scheduled program calendar length . program member &# 39 ; s program profile specifies or it is calculated that on day 40 there are 16 communication events / program markers allotted . a request to forwardset the program to either day 45 or 13 allotted communication events / program markers will result in skipping over the period between day 40 and day 45 in the program profile and schedule , and subtract a corresponding five days from the total tentatively scheduled program calendar length . such a method enables program members who are out of synchronization with where they &# 39 ; re supposed to be in the program at the current time . they may be having significant difficulty or significant lack of challenge at the current position in their program profile and schedule . backsetting and forwardsetting allows them to move backward or forward in response , thus readjusting and resetting the program to their current actual state , needs , or behavioral profile . in fig2 it is shown that the present invention includes the means to register program members , record their personal identification , payment transaction information , demographic , psychographic , and sociographic information , and track their program - related behavior and information during an active behavioral modification and / or maintenance program . a program member record , which in total comprises the complete master program record ( 2600 ), and which is total is made secure and accessible by authorized parties via the master program member identification code ( 2602 ), is divided into two primary portions , the first portion being the program member personal identity , contact , and transactional information ( 2601 ), and the second portion being the anonymized program member and program information ( 2605 ). the program member personal identity , contact , and transactional information ( 2601 ) includes , but is not limited to , the program member &# 39 ; s personal identity and contact and / or address information ( 2603 ), and optionally payment transactional information ( 2604 ). the program member &# 39 ; s personal identity and contact and / or address information ( 2603 ) contains the program member &# 39 ; s full name and , optionally , a participant - chosen username or program pseudonym . optional payment transactional information ( 2604 ) includes payment method and / or source , such as a credit card , payment service , or bank account information . optional payment transaction information ( 2604 ), such as a credit card number , may be used temporarily by the program system to handle payment , and as such may or may not be permanently retained as part of the program member &# 39 ; s or participant &# 39 ; s record . the anonymized program member and program information ( 2605 ) portion of a program member record , which does not include the program member personal identity , contact , and transactional information , and which is made available to authorized parties via the partially anonymized program record identification code or codes ( 2607 ) or the fully anonymized program record identification code or codes ( 2608 ), is divided into a plurality of subsections including , but not limited to , the following subsections : primary or required program member information ( 2609 ), primary behavioral , personal , behavioral , social , situational , contextual , and demographic information ( 2610 ), secondary program member information ( 2611 ), other information and / or input ( 2612 ), which is further subdivided into personally associated information ( 2613 ) and non - personally associated information ( 2614 ), and the program and performance record ( 2615 ). the primary or required program member information ( 2609 ) includes , but is not limited to , zip or postal code , gender , and age . the primary behavioral , personal , behavioral , social , situational , contextual , and demographic information ( 2610 ) includes , but is not limited to , the period of time associated with the program - related behavior , current program - related behavioral patterns , history and information on past attempts to modify behavior , current major life events and issues , description of family and social support structures , etc . the secondary behavioral , personal , behavioral , social , situational , contextual , and demographic information ( 2611 ) includes , but is not limited to , marital status , income and other socioeconomic information , admired or trusted figures or sources , history with behavior modification programs for behaviors other than that associated with the program , attitudes , values , choices , affiliations , complaints , etc . other information and / or input ( 2612 ) includes , but is not limited to , information , states , conditions , histories , current events , personal , family , work , and / or social states , status , or situations that might be germane to understanding the whole context of the program member , in order to better understand how the program successfully or unsuccessfully matches the needs of different individuals in terms of efficiency , efficacy , ease , and / or other qualities that can be identified , compared , contrasted , measured , and / or rated . the first subsection of other information and / or input ( 2612 ), personally - associated information ( 2613 ) includes , but is not limited to , personal medical and / or health history family medical and / or health history , and work history and occupational demographics . the second subsection of other information and / or input ( 2612 ), non - personally - associated information ( 2614 ), which may be noted and added to the program member record automatically , for purposes of correlating with other information and program records , includes , but is not limited to , season of the year , significant world and / or local events , and changes to behavior - related products , technologies , laws , etc . the program and performance record ( 2615 ) includes , but is not limited to , the initially - configured or chosen program profile and program day schedule profile , current program profile at a point during the active program , ultimate success or failure of the program for the program member with associated details , a detailed history and / or charitable data record representing all date / time - stamped communication events / program markers , program events and program member actions , flags , requests , program input codes , program changes and dynamic modifications , and all other informational inputs during the program member &# 39 ; s active program . in fig2 it is shown that a complete master program member program ( 2701 ) is stored in the program service database ( 2700 ), and is accessible by the program member ( 2703 ), program service ( 2702 ), and group 1 authorized program associates ( 2704 ), which includes , but is not limited to , counselors , help line staff , physicians and health professionals , coaches , guides , research entities , or other people , entities , or systems associated with an active program member &# 39 ; s program . the program member ( 2703 ), program service administrators ( 2702 ), which are part of the program service , but not the computer program itself , and group 1 authorized program associates ( 2704 ) may access the master program member &# 39 ; s program record ( 2701 ) via the master program member identification code or codes ( 2705 ), which provides privacy and access protection for the program member &# 39 ; s sensitive , private , and / or personal identification information . subsets of the master program member &# 39 ; s program record ( 2701 ), which contain less , or no program member personal , private , or identification information includes a partially anonymized program member program record ( 2706 ) and a fully anonymized program member program record ( 2709 ). group 2 authorized program associates , which may include , but are not limited to , counselors , help line staff , physicians and health professionals , coaches , guides , research entities , or other people , entities , or systems associated with an active program member &# 39 ; s program , may access a partially anonymized program member program record ( 2706 ) via a partially anonymized program record identification code or codes ( 2708 ). group 3 authorized program associates , which includes , but is not limited to , researchers studying aggregated program member data , other partners of the program service , advertisers , may access a fully anonymized program member program record ( 2709 ) via a fully anonymized program record identification code or codes ( 2711 ). during an active program calendar period and , optionally , during an inactive program calendar period , which may include a period or periods of time following an active program calendar period , changes to the program member &# 39 ; s information , program information and / or active ongoing , followup , and / or final program data ( 2712 ) is collected , gathered , or otherwise input into the active and final program member program profiles , demographics , psycho - graphics , sociographics , and program records ( 2713 ) which reside in the program service database ( 2700 ). this data in the program member &# 39 ; s program record may be accessed program associates and / or the program service system &# 39 ; s computer program for purposes of analysis , design , and implementation of improvements or providing informational feedback to the program member and , optionally program associates ( 2714 ). this may include , but is not limited to , further customization and / or tailoring of the program schedule profile and / or program day schedule profiles , and informational feedback such as performance records , efficacy , gains or improvements the program member is achieving through participation and effort in the program , and is stored as additions , changes , or updates to the program member &# 39 ; s program profile and program day schedule , and may , optionally , be used to improve or change program profile templates and active program management actions affecting the overall program service system ( 2715 ). performance records , efficacy , gains or improvements the program member is achieving through participation and effort in the program may include , but are not limited to , financial savings due to decreased spending on a behaviorally - related habit or addiction , such as cigarettes . this information can be made accessible to the program member or , optionally , program associates , aggregated databases tracking aggregated program service performance and / or benefits , or other parties or systems . additions , changes , improvements , or updates to program profile templates and / or active program management actions provide the means to continuously improve active program management actions ( 2716 ) and continuously improved starting program profile and program day profile templates ( 2717 ), aimed at improving the efficacy of the program and providing benefits for subsequent or future new program members ( 2718 ). the system and methodology for management and modification of human behavior shown in the drawings and described in detail herein , disclose steps in a process , arrangements of elements of particular construction , and configuration for illustrating preferred embodiments of the system and method of operation of the present invention . it is to be understood , however , that elements of different construction and configuration and different steps and process procedures , and other arrangements thereof , other than those illustrated and described , may be employed for providing the system and method herein within the spirit of this invention . as such , while the present invention has been described herein with reference to particular embodiments thereof , a latitude of modifications , various changes and substitutions are intended in the foregoing disclosure , and it will be appreciated that in some instance some features of the invention could be employed without a corresponding use of other features without departing from the scope of the invention as set forth in the following claims . all such changes , alternations and modifications as would occur to those skilled in the art are considered to be within the scope of this invention as broadly defined in the appended claims .