구글 메일의 최대 용량, 1초마다 늘어난다구글 메일(GMail)의 첫화면을 보면 최대 용량이 순간순간 늘어나는 것을 알 수 있다. 구글 메일이 사용자를 급격히 늘릴 수 있었던 배경 중 하나가 바로 용량이 아니었던가?
팔글에서는 구글의 스크립트를 분석할 기회가 있기도 해서, 때마침 구글 메일의 용량 표시에 대한 부분을 알고 난 후 실소를 금할 수 없었다. 약간 기술적인 부분이 있기도 하지만, 최대한 쉽게 알아보도록 하자.

구글 메일의 첫페이지의 스크립트는 매우 쉽게 작성되어 있다. 그 부분 중에서 용량을 나타내는 부분만을 떼어내면 총 세가지 부분으로 나눌 수 있는데, 하나는 화면에 보이는 부분, 초기값을 지정해 주는 부분, 그리고 용량을 계산하는 부분이 그것이다. 수학에서는 인터폴레이션이라는 것이 있는데, 두 값을 지정하고 그 사이 값을 대략적인 평균으로 처리하는 방법을 칭한다. 구글 메일도 그런 방법으로 1초마다의 용량을 표시해 준다.

구글 메일의 인터폴레이션 계산식은 다음과 같이 이루어져 있다.

format(((now-ts) / (CP[i][0]-ts) * (CP[i][1]-bs)) + bs);

다소 복잡해 보이지만, 두 점 사이의 대략적인 값을 구하는 매우 간단한 공식(가물가물한데 혹시 Runge-Kutta의 2차?)일 뿐이다. 가장 중요한 것, 역시 초기값일 것이다.

구글 메일의 용량 초기값은 총 일곱개의 값으로 구성되어 있다.

var CP = [
[ 1167638400000, 2800 ],
[ 1175414400000, 2835 ],
[ 1207033200000, 2980 ],
[ 1238569200000, 3125 ],
[ 1270105200000, 3270 ],
[ 1301641200000, 3415 ],
[ 1333263600000, 3560 ]
];

위의 초기값에서 좌측이 시간, 우측이 용량을 나타낸다. 시간이 다소 보기 어려울 것 같아서 정확한 시간으로 변경해 보겠다.

var CP = [
[ 1 Jan 2007 17:0:0, 2800 ],
[ 1 Apr 2007 17:0:0, 2835 ],
[ 1 Apr 2008 16:0:0, 2980 ],
[ 1 Apr 2009 16:0:0, 3125 ],
[ 1 Apr 2010 16:0:0, 3270 ],
[ 1 Apr 2011 16:0:0, 3415 ],
[ 1 Apr 2012 16:0:0, 3560 ]
];

흔히, 구글 메일의 용량이 저장 서버의 상황을 체크해서 카운트를 한다는 것은 해프닝이라는 사실을 이 코드는 말해주고 있다. 단순히, 웹마스터가 대략적인 서버 용량을 정한 후, 평균값을 보여줄 뿐이다.

한편, 이 코드를 토대로 말하자면, 2008년 4월 1일 오후 네시에는 2.98기가의 용량을 구글은 제공해 줄 것이다. 그렇다면, 정확히 3기가를 제공해 주는 시간은 언제가 될까?

구글 검색의 계산기 기능을 이용해서 구해보면, 구글 메일이 3기가가 되는 매직 넘버는 바로 “22 May 2008 0:16:30″ 즉, 2008년 5월 22일 새벽 0시 16분 30초(한국 시간 기준)가 된다.

more.
최근 구글 메일의 대규모 용량 업데이트가 있었다고 남쪽계단 블로그에서 알려주었습니다.

이에 따라서, 메일 용량이 현재 3기가를 가뿐히 넘어섰군요.