Georgios Gousios [Sun, 15 Jan 2012 13:58:14 +0000 (15:58 +0200)]
Script for processing log entries
Georgios Gousios [Sat, 14 Jan 2012 23:27:06 +0000 (01:27 +0200)]
Only recalculate balance if it is older that one minute
Georgios Gousios [Sat, 14 Jan 2012 23:08:37 +0000 (01:08 +0200)]
Calculate balance on first request
Georgios Gousios [Sat, 14 Jan 2012 22:34:31 +0000 (00:34 +0200)]
Aquarium configuration for use in benchmarking
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
Christos KK Loverdos [Mon, 9 Jan 2012 13:10:24 +0000 (15:10 +0200)]
Collection renaming a bug fix in UserState query
Christos KK Loverdos [Mon, 9 Jan 2012 12:59:12 +0000 (14:59 +0200)]
Make UserState roles immutable
Christos KK Loverdos [Mon, 9 Jan 2012 12:57:03 +0000 (14:57 +0200)]
Add a few queries to UserEvent
Christos KK Loverdos [Mon, 9 Jan 2012 12:47:40 +0000 (14:47 +0200)]
Forward UserState events to dispatcher
Georgios Gousios [Mon, 9 Jan 2012 12:27:07 +0000 (14:27 +0200)]
More tests => several errors fixed
Georgios Gousios [Mon, 9 Jan 2012 12:25:02 +0000 (14:25 +0200)]
Add new discrete resource, test method to parse Maybe's
Georgios Gousios [Mon, 9 Jan 2012 12:24:21 +0000 (14:24 +0200)]
More precise error message
Georgios Gousios [Mon, 9 Jan 2012 12:23:45 +0000 (14:23 +0200)]
Calculate hours, not minutes
Christos KK Loverdos [Mon, 9 Jan 2012 12:41:41 +0000 (14:41 +0200)]
Generify EventProcessorService to avoid too many casts
Christos KK Loverdos [Mon, 9 Jan 2012 12:29:22 +0000 (14:29 +0200)]
Use UserDataSnapshotException
Christos KK Loverdos [Mon, 9 Jan 2012 11:38:15 +0000 (13:38 +0200)]
Refactor user state change code
Georgios Gousios [Sun, 8 Jan 2012 19:20:35 +0000 (21:20 +0200)]
Some text on Aquarium requirements and benchmarking
Georgios Gousios [Thu, 5 Jan 2012 14:15:56 +0000 (16:15 +0200)]
Accounting changes, too many to commit individually:
-Make the resource state store hold values in a uniform format for
complex and simple resources
-Make the resource state retrieval method simpler and also contain
all resource state storage conventions into it.
-Implement the cost policy algorithms in the accounting method.
Separate accounting for complex/simple resources
-Docs++
Georgios Gousios [Thu, 5 Jan 2012 12:58:36 +0000 (14:58 +0200)]
Remove wrong test
Georgios Gousios [Thu, 5 Jan 2012 12:41:06 +0000 (14:41 +0200)]
Correct unit names
Georgios Gousios [Thu, 5 Jan 2012 12:40:40 +0000 (14:40 +0200)]
Convert a timeslot to its duration in hours
Georgios Gousios [Thu, 5 Jan 2012 12:40:20 +0000 (14:40 +0200)]
States for discrete cost policy events
Georgios Gousios [Thu, 5 Jan 2012 08:53:11 +0000 (10:53 +0200)]
Stricted definitions and explantations for cost policies
Georgios Gousios [Wed, 4 Jan 2012 12:44:05 +0000 (14:44 +0200)]
Skeleton for the Aquarium architectural description
Georgios Gousios [Wed, 4 Jan 2012 12:05:03 +0000 (14:05 +0200)]
Remove the resource state API, start using the new accounting code
Georgios Gousios [Wed, 4 Jan 2012 12:04:28 +0000 (14:04 +0200)]
Purify the accounting code
-All required resource state passed as params
-Charge chunks exposed as top level entity
Georgios Gousios [Wed, 4 Jan 2012 09:21:42 +0000 (11:21 +0200)]
Support for user configurable accounting policy locations
Georgios Gousios [Wed, 4 Jan 2012 07:16:22 +0000 (09:16 +0200)]
Make the number of MongoDB connections a configurable property
Georgios Gousios [Tue, 3 Jan 2012 15:56:30 +0000 (17:56 +0200)]
Various performance related changes
-Start lots of actors by default, to compensate for slow I/O
-Start a fair amount of threads by default
-More detailed logging
-Don't create a new dispatcher per request
Georgios Gousios [Tue, 3 Jan 2012 15:53:58 +0000 (17:53 +0200)]
Create a new connection per store request
This is to take advantage of the Mongo driver connection pool
Georgios Gousios [Tue, 3 Jan 2012 15:52:44 +0000 (17:52 +0200)]
Logging format similar to Akka's default
Georgios Gousios [Tue, 3 Jan 2012 13:36:56 +0000 (15:36 +0200)]
Implement the remaining bits of the user event processor service