Georgios Gousios [Fri, 27 Jan 2012 10:55:25 +0000 (12:55 +0200)]
Basic support for serializing policies to YAML
Christos KK Loverdos [Thu, 26 Jan 2012 14:56:15 +0000 (16:56 +0200)]
Prune unused functionality.
Christos KK Loverdos [Thu, 26 Jan 2012 14:52:03 +0000 (16:52 +0200)]
Some new billing stuff.
Also using doubles everywhere instead of floats
Christos KK Loverdos [Tue, 24 Jan 2012 09:46:26 +0000 (11:46 +0200)]
Add some dependencies stuff
Christos KK Loverdos [Fri, 20 Jan 2012 13:08:20 +0000 (15:08 +0200)]
Do some pom.xml micromanagement
Georgios Gousios [Thu, 19 Jan 2012 16:26:38 +0000 (18:26 +0200)]
Support policy retrieval for a date
Georgios Gousios [Thu, 19 Jan 2012 16:26:10 +0000 (18:26 +0200)]
Policy store operations
Georgios Gousios [Thu, 19 Jan 2012 16:24:38 +0000 (18:24 +0200)]
Json support
Christos KK Loverdos [Tue, 17 Jan 2012 14:37:36 +0000 (16:37 +0200)]
Stylistic change
Christos KK Loverdos [Tue, 17 Jan 2012 14:34:56 +0000 (16:34 +0200)]
Cleanup some code before the coming changes
Christos KK Loverdos [Tue, 17 Jan 2012 14:24:22 +0000 (16:24 +0200)]
Avoid a compilation warning (-deprecation)
Christos KK Loverdos [Tue, 17 Jan 2012 13:45:22 +0000 (15:45 +0200)]
Doc cleanup in user actor
Christos KK Loverdos [Tue, 17 Jan 2012 13:44:43 +0000 (15:44 +0200)]
Gather billing computations in one file
Christos KK Loverdos [Tue, 17 Jan 2012 13:24:45 +0000 (15:24 +0200)]
Use receivedMillis for queries
Since Aquarium is the billing master, a billing period is defined in billing time.
So we use receivedMillis (aquarium time) and not occurredMillis (the event occurrence time).
This way we can easily make bills for past events and do not care when they will actually arrive.
Christos KK Loverdos [Tue, 17 Jan 2012 13:18:54 +0000 (15:18 +0200)]
Use wallet-specific json field names
Christos KK Loverdos [Tue, 17 Jan 2012 13:13:55 +0000 (15:13 +0200)]
Do some effectful composition instead of try/catch
Christos KK Loverdos [Mon, 16 Jan 2012 16:12:58 +0000 (18:12 +0200)]
WIP #1852 Periodic billing calculation
Christos KK Loverdos [Mon, 16 Jan 2012 15:45:33 +0000 (17:45 +0200)]
Change equals to ==
Christos KK Loverdos [Mon, 16 Jan 2012 14:10:06 +0000 (16:10 +0200)]
[maven-release-plugin] prepare for next development iteration
Christos KK Loverdos [Mon, 16 Jan 2012 14:10:05 +0000 (16:10 +0200)]
[maven-release-plugin] prepare release aquarium-0.1
Christos KK Loverdos [Mon, 16 Jan 2012 13:59:55 +0000 (15:59 +0200)]
Hack to make a release.
We need spray 0.9.2 release for this
Christos KK Loverdos [Mon, 16 Jan 2012 13:04:17 +0000 (15:04 +0200)]
Merge stuff from benchmark branch
Georgios Gousios [Mon, 16 Jan 2012 10:19:05 +0000 (12:19 +0200)]
Submitted version
Christos KK Loverdos [Mon, 16 Jan 2012 09:12:49 +0000 (11:12 +0200)]
Editing...
Georgios Gousios [Mon, 16 Jan 2012 09:36:44 +0000 (11:36 +0200)]
Review changes round 1
Christos KK Loverdos [Mon, 16 Jan 2012 01:30:55 +0000 (03:30 +0200)]
Charging formulas, state change, sporadic micro-editing
Georgios Gousios [Sun, 15 Jan 2012 21:34:13 +0000 (23:34 +0200)]
Conclusions
Georgios Gousios [Sun, 15 Jan 2012 21:27:20 +0000 (23:27 +0200)]
Related work
Georgios Gousios [Sun, 15 Jan 2012 19:21:52 +0000 (21:21 +0200)]
Introduction
Georgios Gousios [Sun, 15 Jan 2012 16:41:12 +0000 (18:41 +0200)]
Performance
Georgios Gousios [Sun, 15 Jan 2012 15:01:51 +0000 (17:01 +0200)]
A bit about performance
Georgios Gousios [Sat, 14 Jan 2012 15:53:59 +0000 (17:53 +0200)]
Architecture diagram
Georgios Gousios [Sat, 14 Jan 2012 15:05:16 +0000 (17:05 +0200)]
Finish architecture
Georgios Gousios [Fri, 13 Jan 2012 12:29:14 +0000 (14:29 +0200)]
Script to generate rate limited (msg/sec) load
Christos KK Loverdos [Sat, 14 Jan 2012 14:08:03 +0000 (16:08 +0200)]
Continuation of T/dT, U/dU reasoning
Christos KK Loverdos [Fri, 13 Jan 2012 16:45:51 +0000 (18:45 +0200)]
Describing charging dimensions
Christos KK Loverdos [Fri, 13 Jan 2012 14:55:51 +0000 (16:55 +0200)]
Rename Billing to Computational aspects and move after Architecture
Christos KK Loverdos [Fri, 13 Jan 2012 14:53:35 +0000 (16:53 +0200)]
Finishing (for now) the description of events
Christos KK Loverdos [Fri, 13 Jan 2012 14:15:16 +0000 (16:15 +0200)]
Add events modeling.
AquariumEvent and ResourceEvent.
Christos KK Loverdos [Fri, 13 Jan 2012 13:26:56 +0000 (15:26 +0200)]
Start describing events
Christos KK Loverdos [Fri, 13 Jan 2012 12:50:03 +0000 (14:50 +0200)]
Slight reorg (Implementation -> Domain Modeling).
1. Added terminology
2. Moved stuff from the DSL description to the basic terminology
3. Started using term `charging` instead of `billing`
Georgios Gousios [Fri, 13 Jan 2012 07:13:48 +0000 (09:13 +0200)]
More on architecture
Georgios Gousios [Thu, 12 Jan 2012 18:36:01 +0000 (20:36 +0200)]
Initial architecture blurb
Christos KK Loverdos [Thu, 12 Jan 2012 15:32:38 +0000 (17:32 +0200)]
Start describing billing-related stuff.
Georgios Gousios [Thu, 12 Jan 2012 13:57:45 +0000 (15:57 +0200)]
Split arhitecture in another file to avoid conflicts
Georgios Gousios [Thu, 12 Jan 2012 11:38:08 +0000 (13:38 +0200)]
Alternative way to calculate state, with entry points commented out
Georgios Gousios [Thu, 12 Jan 2012 11:37:38 +0000 (13:37 +0200)]
Query to retrieve all events that comprise the history of an event
Georgios Gousios [Thu, 12 Jan 2012 10:42:20 +0000 (12:42 +0200)]
Names for event store fields
Georgios Gousios [Thu, 12 Jan 2012 10:41:36 +0000 (12:41 +0200)]
Configurable number of users to init (up to 1000)
Georgios Gousios [Thu, 12 Jan 2012 10:41:11 +0000 (12:41 +0200)]
Don't remove all mongo records after test run :-)
Georgios Gousios [Thu, 12 Jan 2012 10:40:45 +0000 (12:40 +0200)]
Log verbosity--
Georgios Gousios [Thu, 12 Jan 2012 10:40:26 +0000 (12:40 +0200)]
Parametrise number of actors to spawn, more threads for reading from store
Georgios Gousios [Wed, 11 Jan 2012 20:06:25 +0000 (22:06 +0200)]
Events are now replayed correctly
Georgios Gousios [Wed, 11 Jan 2012 20:05:23 +0000 (22:05 +0200)]
The correct name of the field is occuredMillis
Georgios Gousios [Wed, 11 Jan 2012 17:05:14 +0000 (19:05 +0200)]
Compilation fixes
Georgios Gousios [Wed, 11 Jan 2012 17:01:35 +0000 (19:01 +0200)]
Support for replaying event logs to construct the user runtime state
Georgios Gousios [Wed, 11 Jan 2012 12:47:41 +0000 (14:47 +0200)]
Properly shutdown user actors on Aquarium shutdown
Georgios Gousios [Wed, 11 Jan 2012 12:46:59 +0000 (14:46 +0200)]
Save user state on shutdown
Georgios Gousios [Wed, 11 Jan 2012 12:46:32 +0000 (14:46 +0200)]
Method to delete user state from store
Georgios Gousios [Wed, 11 Jan 2012 09:44:12 +0000 (11:44 +0200)]
Take care of first time state changes
Christos KK Loverdos [Tue, 10 Jan 2012 23:44:47 +0000 (01:44 +0200)]
WIP on the algos documentation camp
Christos KK Loverdos [Tue, 10 Jan 2012 23:44:23 +0000 (01:44 +0200)]
Simplify resources snapshot to make our lives easier with the lift-json library.
After a few failed attempts with lift-json, I sacrifice the Map for a List.
Christos KK Loverdos [Tue, 10 Jan 2012 23:40:27 +0000 (01:40 +0200)]
Give the option of pretty or non-pretty json printing
Georgios Gousios [Tue, 10 Jan 2012 22:01:07 +0000 (00:01 +0200)]
More on billing
Georgios Gousios [Tue, 10 Jan 2012 21:12:21 +0000 (23:12 +0200)]
Bit of text rearrangement, billing descriptions
Georgios Gousios [Tue, 10 Jan 2012 16:17:13 +0000 (18:17 +0200)]
Store the last update timestamp per resource and instance id
This code has some errors with JSON serialization
Georgios Gousios [Tue, 10 Jan 2012 15:40:49 +0000 (17:40 +0200)]
Simple test to try serialization of the complex user state class
Georgios Gousios [Tue, 10 Jan 2012 15:39:41 +0000 (17:39 +0200)]
Method to assert that an exception is not thrown
Christos KK Loverdos [Tue, 10 Jan 2012 15:00:56 +0000 (17:00 +0200)]
A great contribution to the paper.
Christos KK Loverdos [Tue, 10 Jan 2012 14:43:59 +0000 (16:43 +0200)]
Super documenter. Work in progress.
An attempt is being made to work the algorithms in plain prose.
Hopefully, this will help everyone get a better understanding of the
complexities involved and of the quite interesting problem domain.
As I said, this is Work in Progress...
Christos KK Loverdos [Tue, 10 Jan 2012 14:42:33 +0000 (16:42 +0200)]
Add a few helper methods to resource event
Georgios Gousios [Tue, 10 Jan 2012 14:28:33 +0000 (16:28 +0200)]
Don't store the whole agreement to the user state
Store a reference by name instead.
Georgios Gousios [Tue, 10 Jan 2012 14:27:42 +0000 (16:27 +0200)]
Case objects instead of objects for cost policy definitions
Georgios Gousios [Tue, 10 Jan 2012 13:27:51 +0000 (15:27 +0200)]
The log string has 2 args, not 3
Georgios Gousios [Tue, 10 Jan 2012 13:27:18 +0000 (15:27 +0200)]
Store the newly created user actor in the LRU cache
Georgios Gousios [Tue, 10 Jan 2012 13:26:45 +0000 (15:26 +0200)]
Use the list of resources defined in the policy
Christos KK Loverdos [Tue, 10 Jan 2012 10:00:24 +0000 (12:00 +0200)]
Do not use default global value parameter and take advantage of pattern case class matching
Christos KK Loverdos [Tue, 10 Jan 2012 09:59:01 +0000 (11:59 +0200)]
Augment DSLCostPolicy with utility methods
Christos KK Loverdos [Tue, 10 Jan 2012 09:34:10 +0000 (11:34 +0200)]
Refactor getInstanceId to not rely on global variables
Christos KK Loverdos [Tue, 10 Jan 2012 09:10:49 +0000 (11:10 +0200)]
Equality is always a possibility
Christos KK Loverdos [Tue, 10 Jan 2012 09:01:27 +0000 (11:01 +0200)]
Catch a message that is sent anyway
Christos KK Loverdos [Tue, 10 Jan 2012 01:10:34 +0000 (03:10 +0200)]
Ignore some auxilary latex files (emacs)
Georgios Gousios [Tue, 10 Jan 2012 07:56:26 +0000 (09:56 +0200)]
Implementation experience
Christos KK Loverdos [Mon, 9 Jan 2012 16:09:14 +0000 (18:09 +0200)]
Consistent `Id` naming (II)
Forgot these cases when I refactored for the previosu commit.
Christos KK Loverdos [Mon, 9 Jan 2012 15:50:17 +0000 (17:50 +0200)]
Consistent `Id` naming
Christos KK Loverdos [Mon, 9 Jan 2012 15:47:42 +0000 (17:47 +0200)]
Style: do not use return
Christos KK Loverdos [Mon, 9 Jan 2012 15:43:53 +0000 (17:43 +0200)]
Fix a couple of compilation warnings.
We still get the `head` though (via next), so the semantics are similar.
Christos KK Loverdos [Mon, 9 Jan 2012 15:37:47 +0000 (17:37 +0200)]
WIP on user get balance request.
Puting everything in line with the rest of the system implementation.
Georgios Gousios [Mon, 9 Jan 2012 15:17:27 +0000 (17:17 +0200)]
Find previous wallet entries for this event
Georgios Gousios [Mon, 9 Jan 2012 15:16:10 +0000 (17:16 +0200)]
Names for fields in the Json representation of the msg
Georgios Gousios [Mon, 9 Jan 2012 14:47:42 +0000 (16:47 +0200)]
Spice up WalletEntries with resource and instance info
Christos KK Loverdos [Mon, 9 Jan 2012 14:48:28 +0000 (16:48 +0200)]
Eliminate pattern matching since I am not doing anything with the specific cases
Christos KK Loverdos [Mon, 9 Jan 2012 14:46:59 +0000 (16:46 +0200)]
Small refactoring to ensure user state
Christos KK Loverdos [Mon, 9 Jan 2012 14:41:48 +0000 (16:41 +0200)]
Fill in and use UserState snapshots from DB.
Christos KK Loverdos [Mon, 9 Jan 2012 14:03:38 +0000 (16:03 +0200)]
Add documentation for store-related collections, give better names and fix a couple of bugs
Christos KK Loverdos [Mon, 9 Jan 2012 13:46:35 +0000 (15:46 +0200)]
Take into account active snapshot for timestamp computations
Christos KK Loverdos [Mon, 9 Jan 2012 13:43:41 +0000 (15:43 +0200)]
Use DEBUG shortcuts
Christos KK Loverdos [Mon, 9 Jan 2012 13:30:00 +0000 (15:30 +0200)]
Handle UserEvent in UserActor
Christos KK Loverdos [Mon, 9 Jan 2012 13:28:02 +0000 (15:28 +0200)]
Small doc addition for UserEvent
Christos KK Loverdos [Mon, 9 Jan 2012 13:17:09 +0000 (15:17 +0200)]
Remove unused subclasses of UserDataSnapshot