1 jet propulsion laboratory california institute of technology oct 23 2008 save the bits! scheduling...

31
1 Jet Propulsion Laborator California Institute of Techn Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion Laboratory — California Institute of Technology 4800 Oak Grove Dr., Pasadena CA 91109 [email protected]

Upload: gary-small

Post on 29-Dec-2015

220 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

1

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Save the Bits!Scheduling NASA’s Deep Space Network

Mark D. Johnston

Jet Propulsion Laboratory — California Institute of Technology

4800 Oak Grove Dr., Pasadena CA [email protected]

Page 2: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

2

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Overview

• The Deep Space Network – Overview

– Users

– Assets

– Scheduling Drivers

– Process

• Automated scheduling software:

SSAS = Service Scheduling Application Software

• Conclusions

Page 3: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

3

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

The Current Deep Space Network

• Current DSN comprises

– 3 sites roughly equally spacedin longitude

– 26m, 34m, 70m antennas,at each site

• DSN supports all planetary missions + some earth orbiters

• Drivers on evolution include:

– more missions (3x by 2030)

– data rates and volumes increasing by 100x by 2030

– manned missions place stringent availability and reliability requirements

– more cluster (multi-spacecraft) missions

– reduce costs (operations and maintenance)

– maintain high level of 24x7 support

Page 4: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

4

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Goldstone

Page 5: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

5

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

DSN Scheduling Process

SU (science users oly) write agree-ments with SP

(DSA)

SU generate detailed require-ments & perform unilateral conflict

resolution

SU negotiate multi-laterally for

tracking resources, with SP for support level, and to develop contingencies

SP generates predicts

(just in time)

Escalate conflict

Conflict-freeschedule?

Setup

Teardown

Track

SP define & update operations & capabilities rules

SU define and input mission requirements

SU Generate Events and

Ephemerides Files

SPS and/or SU generate

viewperiods

Yes

No

SU, SP, & SSL negotiate down-time and produce

loading/impact assessments

7

3

4

56

2

1

9

10

12 13

14

- Step is repeated often later in the process

@ -4 weeks, SP generates staffing

plans11

DMR - DSN Mission RequirementsDSA - DSN Service AgreementSC - Service coordinator(s)SP - Service provider(s)SPS - Service Preparation SubsystemSSL - Special Studies LeadSU - Service user(s)

Acronyms

Page 6: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

6

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

User Requirements

• User requirements drive the scheduling of the DSN

– missions place a variety of constraints and preferences into their requirements for communications support

• data downlinks

• command uplinks

• navigation

• critical events

• s/c emergencies

– other user categories include

• radio science

• radio astronomy

Page 7: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

7

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Tracks, Viewperiods & Activities

• A track is an allocation of an antenna to a mission over some time interval

• A viewperiod is the time interval when a spacecraft is visible to an antenna

• An activity is a track plus setup and teardown time

Page 8: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

8

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Constraints

• No two spacecraft can use antenna at same time

– except MSPA where antenna points to both (2 at most) and uplinks to at most one

• Spacecraft must be in view of antenna

– generally, centered is better

• At Goldstone, no track/activity may be scheduled where two other tracks/activities start within 15 minutes

– except the four Cluster s/c

• At other complexes, no two may start within 5 minutes of each other

U/LD/L

D/L U/L

D/LMEXMRO

viewperiod

track

Page 9: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

9

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

SSAS: Service Scheduling Application S/W

Page 10: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

Requirements-Driven vs. Activity-Oriented Scheduling

users

• create• edit

scheduled activities

• conflicts• reports• displays

ACTIVITY-ORIENTED SCHEDULING

Page 11: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

Requirements-Driven vs. Activity-Oriented Scheduling

users

• create• edit

scheduled activities

• conflicts• reports• displays

ACTIVITY-ORIENTED SCHEDULING

Why consider requirements-driven scheduling?•efficiency: one requirement can generate many activities

major labor savings •enables automated support for conflict resolution

Page 12: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

Requirements-Driven vs. Activity-Oriented Scheduling

scheduling requirements &

constraints

scheduling requirements &

constraints

users

• create• edit

scheduled activities

• conflicts• reports• displays

• create• edit

• check/validate

• expand

• resolve conflicts• improve quality

• override

• reqts violations• find opportunities

REQUIREMENTS-DRIVEN SCHEDULING

Page 13: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

Requirements-Driven vs. Activity-Oriented Scheduling

scheduling requirements &

constraints

scheduling requirements &

constraints

users

scheduled activities

• conflicts• reports• displays

• create• edit

• check/validate

• expand

• resolve conflicts• improve quality

• override

• reqts violations• find opportunities

REQUIREMENTS-DRIVEN SCHEDULING

role of scheduling engine

• create• edit

Page 14: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

Requirements-Driven vs. Activity-Oriented Scheduling

scheduling requirements &

constraints

scheduling requirements &

constraints

users

• create• edit

scheduled activities in multiple private workspaces

• conflicts• reports• displays

• create• edit

• check/validate

• expand

• resolve conflicts• improve quality

• override

• reqts violations• find opportunities

REQUIREMENTS-DRIVEN SCHEDULING

role of scheduling engine

Page 15: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

Scheduling Engine Functionality CategoriesCategory Description

Conflict Check Check schedule for conflicts per DSN standards (down to equipment instances)

Requirement – error check Check requirement for consistency, completeness, correctness, feasibility

Requirement – satisfaction check Check requirement vs tracks to see if satisfied (also identify unexpanded requirements)

Requirement – expand (single) Expand one requirement into tracks on a schedule, try to avoid conflicts, respect locked tracks, respect mission priorities

Requirement – expand (multiple) Expand >1 requirement into tracks on a schedule (same conditions as above)

Schedule inquiry Answer query about (a) the state of the schedule or, (b) additionally, about potential ways to satisfy a specified requirement

Resolve conflicts — automatic Given a schedule with conflicts and filters (time/mission/assets, etc.), use requirement flexibility to find a way to remove conflict(s)

Resolve conflicts — generate options same input, but generate multiple different suggestions and return them to the user

Improve schedule quality same, but focused on improving schedule quality, not conflicts: reduce gaps, adjust tracks to preferred timing & assets, etc.

Page 16: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

16

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Collaborative Conflict Resolution with Private Workspaces

Page 17: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

R1R1

R2R2

R3R3

expanded requirements

unexpanded requirements

scheduletracksreference to parentschedule

• Schedule – master or workspace schedule• a workspace schedule has a time bound and a parent schedule from which

it originated• Track or activity– associated with a single schedule, but possibly multiple

requirements• Requirement – associated with multiple tracks, and possibly multiple schedules

• can be in expanded or unexpanded states

Page 18: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

Scenario:• Conflict exists in master

schedule• two users: U0, U1 x conflict

? requirements violation

T1T1

T0T0

U1 – R1U1 – R1

U0 – R0U0 – R0

master schedule

x

x

Page 19: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

child (private

workspace) schedule

• U0 creates a private workspace to work the conflict• activities are copied but

(in this case) requirements are not)

x conflict

? requirements violation

U1 – R1U1 – R1

U0 – R0U0 – R0

master schedule

T1T1

T0T0x

x

T1’T1’

T0’T0’x

x

Page 20: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

child (private

workspace) schedule

• U0 makes changes to resolve the conflicts, here moving both conflicting tracks x conflict

? requirements violation

U1 – R1U1 – R1

U0 – R0U0 – R0

master schedule

T1T1

T0T0x

x

T1’T1’T0’T0’

Page 21: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

child (private workspace) schedule

• U0 invites U1 to review and approve the changes• U0 can give U1 write access to the schedule,

to make a counter proposal• U0 and U1 can view the workspace

simultaneously while on audio/video chat to discuss resolution: changes made by one are visible to the other

• U1 could create their own workspace schedule to explore additional alternatives, and invite U0 to participate

• U0 or U1’s changes could introduce requirement violations, which either could resolve or choose to ignore

x conflict

? requirements violation

U1 – R1U1 – R1

U0 – R0U0 – R0

master schedule

T1T1

T0T0x

x

T1’T1’T0’T0’Proposal: here is a suggestion for the DOY 145 conflict…

Concur: U0☐ U1

Proposal: here is a suggestion for the DOY 145 conflict…

Concur: U0☐ U1

Page 22: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

child (private workspace) schedule

• Once concurrence is reached, the private schedule can be merged back into the parent to resolve the conflict• by either U0 or U1 since both have

concurred• If a change to a U1-owned track is made

after U1 concurrence but before merging, SSAS knows to clear the concurrence flag and re-request

x conflict

? requirements violation

U1 – R1U1 – R1

U0 – R0U0 – R0

master schedule

T1T1T0T0

T1’T1’T0’T0’Proposal: here is a suggestion for the DOY 145 conflict…

Concur: U0 U1

Proposal: here is a suggestion for the DOY 145 conflict…

Concur: U0 U1

merge

Page 23: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

23

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Scheduling Requirements and Constraints

Page 24: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

24

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Requirements and Constraint Language

• Instead of “atomic” detailed requirements, define a “request” as a pattern of items or “requirements”

• Adopt familiar “recurrent appointment” metaphor for specifying repetitions while allowing individual exceptions

• Identify ways to hide detail unless needed, yet still support complexity when truly required

• Utilize service configurations/aliases to specify antenna equipment choices/preferences

Page 25: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion
Page 26: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

26

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Page 27: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

27

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Repeated requests and events

• Repeated requirementsupport, e.g. repeat4 more times every other week

• Complex event support:

– arbitrary interval intersection, optionally inverted

– expand or contract windows, then used to constrain where tracks may be allocated

– convert viewperiods into constraining event windows

Page 28: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

28

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Resolving Conflicts/Violations

• The engine considers as distinct conflicts (on tracks) vs. violations (of requirements)

– there are basic strategies for focusing on each of these and trying to re-layout requirements to resolve conflicts, fix unsatisfied requirements

– these strategies exploit flexibilities in the requirements (start time duration, antennas, splitting, gaps, overlaps...) to find good allocations

– although a good startingpoint, there remains work to do on more sophisticated conflict/violation resolution techniques

Page 29: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

29

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Expanding Requirements

• The engine expands requirements to tracks as follows:

– try to find conflict- & violation-free allocations

– if can’t find any, try a series of “fallbacks”:

• temporarily ignore lower priority tracks, equal priority tracks, all other tracks

• relax requirement parameters: timing relationships, gap/overlap parameters, event windows, ... ultimately considering only viewperiods

• Goal: always try to return something “reasonable” rather than nothing at all (sometimes this can be very hard!)

Page 30: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

30

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008

Performance

• Conducted scaling performance test on 6-month schedules with excellent results: roughly linear time and memory usage

– ~10s/week for schedule generation, ~15Mb week memory consumption

– scaling for a full DSN schedule size appears reasonable

– no performance optimization has been conducted to date

Page 31: 1 Jet Propulsion Laboratory California Institute of Technology Oct 23 2008 Save the Bits! Scheduling NASA’s Deep Space Network Mark D. Johnston Jet Propulsion

31

Jet Propulsion Laboratory California Institute of Technology

Oct 23 2008