| 3.1 Change 12. Time Policy | |
---|
3.1.12. Time Policy: | Time exists in the database for the single purpose of defining when and event took place - an audit purpose. | All servers run GMT only and never change for summer (daylight saving) time - the clock of a user computer is never used. | Coordinated Universal Time (UTC) is GMT by another name. | Each user profile has a time zone field that will identify their actual time difference with GMT - users may change their own time zone for display purposes only. |
Daylight Saving Time (DST): | Summer time is a concept supported by some countries but not by most. | UK BST 2011/03/27 to 2011/10/30. | France (Central Europe) CEST 2011/03/27 to 2011/10/30. | Greece (Eastern Europe) EEST 2011/03/27 to 2011/10/30. | USA, Canada, Mexico 2011/03/13 to 2011/11/06. | No summer time in China, Russia, Africa, India, Japan, South America (except Chile). |
Patent Wars: | Leading vendors have bought hundreds of thousands of patents and it will become imposible to build a modern application without paying license fees to a handful of vendors. | Nokia were leading the way with an open-source operating system, then Microsoft did a deal to share its patents and the Nokia open-source initiative has stalled. | Mozella with Firefox was an open-source initiative, but the patent litigation between Apple and Google (and Oracle and Google) means that in the future Mozilla will be sued for patent infringment and stoped from delivering modern software. | Within a few years, we may need a patent licence to deliver a shopping cart or similar function that is patented by Google, Oracle, Apple or Microsoft. | As Nokia discovered, it is cheaper to do a patent sharing deal with one of these vendors, than to spend years in court fighting disputed software patents. | It could be argued that USA patent law does not apply in Europe, but USA criminal law does apply and Europeans are extradited to the USA. | If we only operate European B2B applications, USA patent law will not apply. If we build B2C applicaitons, then they can be used from the USA and USA Patent law must apply. |
Database: | Every Time field in the database records GMT as a "HHMMSSTH" or "HHMMSS" string and in no other format. | Any time field may be associated with a user in a specific country that has a local time offset from GMT field value. | When each user signs in, the users country code is checked and the local time offset derived so local time can be shown as needed. | Stored time is always in 24 hour clock format, however displayed time can be in anything the user chooses/wants. |
Heathrow IP Exception: | Some users in the UK are routed by in-house networks to a proxie server in the USA. | While the users are operating in the UK time zone, their local computer gives the impression that they are in the USA. | IP addresses are not used in this specific case because the ISP name is known and easy to validate the user. |
Time Zone by Country: | Unlike USA, each European country has a single time zone - the country code implies the time zone. | The time-zone table is indexed by country code. | The country name is stored in 4 languages to match options in associated tables. | The currency code is stored as a character string such as GBP. | The currency symbol is stored as a HTML character string such as "€". | Time zone name is stored such as "GMT+1" or "CET". | Time zone offset is stored such as "-010000". | Time zone offset with DST is stored such as "-020000". | DST start date is stored such as "20110421". | DST end date is stored such as "20111024". |
IP Range by Country: | Disk space needed to store all IP ranges by country is 200 MB, however the IP range for only a small selection of countries is needed. | IP ranges can be reduced to a 12 character string and indexed by country - should hex (8 char) be used to save space? | A rapid string search will identify if a user IP address is within a range for a specific country. | Stored time is always in 24 hour clock format, however displayed time can be in anything the user chooses/wants. |
|
|