Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Wiki / Tickets

Tickets

Tickets

Tickets

This page contains a collection of notes pertaining to tickets in ProtoGENI.

At the moment, only "immediate" tickets - that is, ones that promise resources "now" for some specified length of time - are supported in ProtoGENI. Parts of our design work, however, deal with tickets that represent reservations in the future.

Ticket Format

A ProtoGENI ticket is a special kind of Credential, containing a signed RSpec. It represents a promise to provide the resources described in the RSpec

In addition to an expiration date (after which the promise is no longer valid), a ticket contains a redeem_beforetime. The ticket must be redeemed via `RedeemTicket()` before this expires. This value is typically set much lower than the expiration of the ticket itself to implement a "use it or lose it" policy - after getting the ticket, the client must use it within tens of minutes, or it may be given to another user. Because this time is explicit in the ticket, the client knows what to expect.

Tickets for Reservations in the Future

One challenge for tickets that are issued for future reservations is dealing with users that forget about those reservations and/or lose their tickets. If a researcher schedules a day of time on a network a month from now, then fails to show up to claim those resources, we want to make sure they are given to other users.

ProtoGENI plans to deal with this in the following way: For tickets issued for a long time in the future, we expect to set the "redeem by" date to shortly before or after the reservation itself begins. By setting before the reservation begins, the user must refresh the ticket, there by "checking in", much as we do for plane flights. If the user fails to check in, we can re-issue the ticket to another user (a "standby"). Setting the "redeem by" date shortly after the reservation begins doesn't require the user to "check in", but would require us to wait for a window, thereby potentially wasting resources for a while.