Tuesday, 5 May 2015

Kernel mein (as in hindi) Kernel

Dear Reader,

I've backlogged quite a bit on my blogs and hope to complete them in the next couple of weeks. Every time I sit to complete a blog, I'm flooded with topics for a new blog!! This blog is technical and addresses issues in data security.

I will be updating this blog later with some code snippets and samples. But until then, I've only penned my thoughts.

Let me know what you think in the comments section.

Regards,
Jyothin

-----------------------------------------------------------------------------------------------------------------

Introduction

Mobile device security is getting the much needed push by technologist to provide a secure mobile experience to users. Whether it is financial transactions, personal data security, photo security, device security, protection from viruses, etc., it is imperative that one thinks about how secure their lives are with mobile devices becoming extensions of an individuals personality.

There are numerous ways in which a device can be made secure; DaaS (Desktop as a Service), ACL (Access Control Lists), encrypted data transmission, etc. and some of them go that extra mile to ensure device security; double encryption, remote wipes and auto-locks, mobile ID authentication mechanisms, isolated special subnets for mobiles, signal range control, etc.

The Probability of 'Safe'-keeping

In a non digital scenario, when an average person wants to safe keep items that are dear to them, the most likely way to do it is to install a safe in their house and secure it with a password or number lock. Sounds fine and work pretty well in most cases. Lets call this safe the outer safe.

Lets for a moment assume that the probability of someone breaking into the safe and stealing your items is x. Hence the probability of someone accessing your data is x.

Lets also assume that, you feel that x is not small enough for you. So you decide to put another mini-safe within the outer safe and also secure it with a password or number lock or any other better locking mechanism. Lets call this mini-safe the inner safe. Now the probability of someone stealing your outer safe is still x but the probability of someone accessing your data is not x.

Assume again that the probability of someone managing to break open the inner safe is y. By theory of probability the probability of someone accessing your items is x times y.

With only an outer safe:
P[break opening the safe] = x
P[accessing your items] = x

With an inner safe inside the outer safe:
P[break opening the outer safe] = x
P[break opening the inner safe] = y
P[accessing your items] = x * y

For any values you choose for x and y; P[accessing your items], when there is an inner safe is less than P[accessing your items] when there is only an outer safe.

For example, if x = 0.5 and y = 0.5,
With only an outer safe:
P[break opening the safe] = 0.5
P[accessing your items]   = 0.5

With an inner safe inside the outer safe:
P[break opening the outer safe] = 0.5
P[break opening the inner safe] = 0.5
P[accessing your items]         = 0.5 * 0.5 = 0.25

What's a 'Safe' in the Digital World?

A safe is an fixed sized enclosed space that stores your items and requires a key to unlock. In the digital world your items are data (bytes of information) stored in a fixed sized memory and a safe would be a means of protecting that memory space.

In operating systems, especially operating systems based on the Linux kernel, a user typically runs processes/tasks or reads/writes to memory in user space. The operating system itself runs in protected mode in kernel space. A user requests the operating system for access to resources in kernel space. Resources could be I/O devices, protected memory space, processor resources, etc. Requests are usually made using drivers which in turn use IOCTLs to provide custom functionality.

A user cannot access kernel space resources directly. So, in a way, one can think of everything in kernel space as being put in a safe (the outer safe) and access is restricted to users who have the root password OR via drivers. If there are no drivers then the only way to access resources in the safe is by the root.

For the purposes of this discussion, lets assume the resource we are interested in accessing is data in a fixed sized memory space in kernel space. Using the same idea described in the previous section if we can install an inner safe within the outer safe, in this case a kernel within a kernel, the probability of accessing data within the inner kernel is reduced and hence a means of increased security for the data. A protected mode within a protected mode!!

Of course, we would need a means of accessing the inner safe from the outer safe by means of a driver. In a mobile device, everything is stored as bytes of data and drivers can be loaded/unloaded as required thus adding another layer of security. Further, there is nothing stopping the driver from 'loading' the inner kernel at run-time. So the driver only loads the inner kernel with required, accesses the protected data in the inner kernel and shuts it down when done. The inner kernel is modified for every modify/write of data into its protected memory. So, in affect the inner safe does not exist unless it is required to access the data!

It should be possible to create multiple such independent inner safes to protect different items and load them at run time.

Isn't virtualization the same thing?

No. Simplistically put virtualization techniques typically allow one to virtualize hardware resources in order to run different operating systems on the same hardware so that, you can install and run different software applications on the same hardware and hardware resources, and everything is managed by the virtualization environment.

The aim of a kernel within a kernel is to provide an added level of security to data which is already running in protected mode.

Can I put another Safe inside the Inner Safe?

Sure you can, but the marginal advantage of having more than two safes would eventually diminish to 0 unless the locking mechanism at each inner safe is completely different from the other safes. Essentially making it difficult for anyone to break open each safe (as the locking mechanism at each safe is different).

READ vs. READ, MODIFY, WRITE

Breaking into an inner safe will allow one to read the contents of the inner safe. Modifying the contents is a totally different activity. However, once read the data is compromised. In case of an inner kernel, breaking into an inner kernel will potentially allow one to read the contents of its protected memory, modify it and write back. READ-MODIFY-WRITE, is easier in the digital world.

Moreover, creating the inner kernel would require one to hard-code certain kernel data that is unique to that version of the inner kernel and also ensure that that uniqueness persists even when the kernel is shutdown.

An Inner Safe cannot be duplicated but an Inner Kernel can...

Hmm... I guess it can.

Conclusion

I'm no expert on data security nor on Linux Kernel Internals and unless I make an attempt to write a driver to access an internal kernel, the intricacies and challenges involved in implementing it are beyond my own understanding.

If you are really paranoid about securing your data, take a space flight to the moon, find an undisclosed uninhabited area, dig a hole, bury it, and don't tell anyone.

Thursday, 23 April 2015

What's your cloud footprint?

Dear Reader,

How are you? It has not been a very wet monsoon last year in India although the clouds tell a different story in Bangalore (This sentence is now obsolete as the monsoon season and the winter season have passed and it is summer at the time of finishing this post). So do cloud technologies and cloud based applications. There have been numerous announcements, press releases, software stacks, APIs, etc, around cloud based technologies and more are happening every day and very quickly. Personally, I think cloud based applications have a huge potential for the right people albeit with some, but not impossible speed bumps.

When I come across a cloud based application, my first instinct is to weight the pros and cons of using a cloud based service. And to better understand my own "cloud preferences" I set out to find my cloud footprint

If you feel there is a better way to estimate ones cloud footprint. Let me know in the comments section.

Regards,
Jyothin

---------------------------------------------------------------------------------------------------------------------------

What is 'Cloud Footprint'?

Let's first define two terms that I will be using extensively in this blog,
       cloud, in the cloud
       [any data that you cannot physically move yourself but can be accessed (read/write) from a reliable network connection]
       going all cloudy
       [implies a shift to to an all "in the cloud" approach]

Terms analogous to the above are clear, in the clear, going all clear.

Going completely cloudy, implies all your data is in the cloud and a network connection is essential. Going completely clear, implies all your data is physically accessible to you at all times and you do not need a network connection to access it.

By the above definitions,
  • Public email services like Gmail, Yahoo mail, Hotmail, etc. constitute data that is in the cloud
  • Your office email (not based on a cloud email service) is not in the public cloud but more like in a private cloud
  • Your Facebook, G+, Twitter, Instagram, Pinterest, Reddit posts and data are all in the cloud
  • Content, such as photos, images, audio, video that is accessible from a public network is all in the cloud
  • Your personal storage on laptops, HDD, etc. are all clear
  • Your search queries on Google, Bing, etc. are in the cloud
  • Home videos on DVD, VHS tapes (if you still have them) are all clear
  • Notes you take on paper, documents, copies of documents, etc. are all clear

       cloud footprint
       [is an indication of your inherent preference for cloud based applications]

It became very apparent to me that network access, specifically Internet access, is a key component of accessing data in the cloud. You could download all your Instagram photos onto your Desktop PC or laptop and say that you are not using a network to access the data - but then once you've downloaded the photos, they are clear. Moreover, if your data is updated in real-time, you no longer have the latest up-to-date snapshot of the data and hence it is obsolete.

Cloud does not only include your own data by also includes other people's data that you can read. For example, watching YouTube videos also constitutes cloud data, even if it does not occupy your own storage space. The best way to quantify this aspect of your cloud data is by the amount of data that is transferred between you and any cloud based service that you access. By that means, digital broadcast television/radio is also cloud data because technically it can be replaced by a combination of cloud based content delivery services (reading news on a news website vs. watching the news on the TV) and you pay for both.

Hence,
        cloud footprint = function of (
                                     your in the cloud storage,
                                     data transferred between you and a cloud service,
                                     your own personal storage,
                                     physical effort to access your personal storage
                               )

more precisely,
       cloud footprint = Your cloud storage
                          + Your total data transfer
                           - Your personal storage
                           - Your physical effort to access your personal storage

For simplicity, lets assume the everyone's physical effort in accessing their personal storage is 0. Also, note that a 0 footprint value could either mean equal preference for both cloud and non-cloud OR no preference at all!

With that in mind, my own cloud footprint parameters are shown in the sections below.

My Cloud Storage



My Network Footprint




My Personal Storage


My Cloud Footprint

And therefore my cloud footprint,

Therefore, it looks like my inherent preference for cloud based technologies is negative. This makes me an ideal candidate for services to target and increase my cloud footprint. Targeting me alone is not going to lead to any significant increase in the overall usage of cloud services. So, please leave me alone.

However, I wasn't too surprised by my negative footprint as I'm intentionally not quick to upload content quickly. For one, I'm not a social media junkie and tend to limit myself to only important posts on social media sites. I have rarely post or comment on website like reddit, Instagram, etc. and have limited usage of WhatApp and other chat apps.

My initial reaction to calculating my cloud footprint is that a large % of the population probably has a negative cloud footprint.

Non Quantifiable Factors

The debate of whether a cloud based service has more advantages than disadvantages is incomplete without attempting to understand non-quantifiable benefits of using a cloud service. I've listed below some non-quantifiable factors that I think are important using a new cloud service.


Obviously, the importance of the above non-quantifiable factors vary individual to individual. IMO, omni-access is a factor that I personally prefer having in addition to omni-connectedness. I'd also like to have the option to Full-Delete my data whenever I want to but that's quite impossible when your data is in the cloud, but as easy as `$> rm -rf *` on data in my personal devices.

Data security is pretty much taken as default when using a cloud service. Or rather data security is a hidden cost when using a cloud service. Most cloud services guarantee a certain level of data security and assured data access at any time. On the other hand securing your private data is an added effort with additional costs to be borne by an individual. Below a summary of my data security costs.


What are the Costs?

Another way to decide on whether you prefer using a cloud service is to look at the costs associated with your current cloud footprint. Tabulated below is my approximate costs as estimated for my cloud footprint. If you want to take a look at the details of the estimates below or feel something is amiss, drop me a separate note in the comments section.


Clearly, as of my current cloud footprint, its costing me more to use cloud based services than using my personal storage! And it is only going to cost me more to use new cloud based services.

Completely Cloudy vs. Complete Clear or In-between?

If the convenience of omni-access, omni-share, omni-connectedness are your priorities then going all cloudy is the way to go.

Is there an ideal 'cloud' to 'clear' mix? One can't say for sure and it depends a lot on one's personal preferences and more importantly on one's behavioral patterns to consuming NEW data.

With new technologies all based in the cloud one would expect the overall cloud footprint to increase over time. With high capacity consumer memory devices getting cheaper, there isn't anything stopping consumer electronics from increasing memory capacities to store content thereby reducing the dependence on cloud based services.

Again, one can't really say.

Enterprises, on the other hand, have very compelling reasons to use cloud based services. A cloud service is pretty much an operating expense and less capital intensive than setting up the infrastructure to build an enterprise owned private cloud and provide all their employees a means to access it. There will also be other enterprise level factors to consider when estimating a enterprise's cloud footprint.

Whatever the course, life is not going to come to a standstill going completely cloudy or going completely clear but you will still need an umbrella when it rains.

Sunday, 8 February 2015

The Seven Ages of Man

All the world's a stage,
Seven Ages of Man SculptureAnd all the men and women merely players.
They have their exits and their entrances,
And one man in his time plays many parts,
His acts being seven ages. At first the infant,
Mewling and puking in the nurse's arms.
Then, the whining school-boy with his satchel
And shining morning face, creeping like snail
Unwillingly to school. And then the lover,
Sighing like furnace, with a woeful ballad
Made to his mistress' eyebrow. Then, a soldier,
Full of strange oaths, and bearded like the pard,
Jealous in honour, sudden, and quick in quarrel,
Seeking the bubble reputation
Even in the cannon's mouth. And then, the justice,
In fair round belly, with a good capon lined,
With eyes severe, and beard of formal cut,
Full of wise saws, and modern instances,
And so he plays his part. The sixth age shifts
Into the lean and slippered pantaloon,
With spectacles on nose and pouch on side,
His youthful hose, well saved, a world too wide
For his shrunk shank, and his big manly voice,
Turning again toward childish treble, pipes
And whistles in his sound. Last scene of all,
That ends this strange eventful history,
Is second childishness and mere oblivion,
Sans teeth, sans eyes, sans taste, sans everything.

- William Shakespeare


If you are a man, at some point in your life you would have gone through or experienced at least one of the seven stages of man. Of course, the time a man spends in each stage varies from man to man.

Knowing which stage a man is in helps in either managing or being managed in an organization. 

I wonder if there is something similar for women?

Friday, 28 November 2014

Remember The Name

10% luck
20% skill
15% concentrated power of will
5% pleasure
50% pain
100% reason to remember the name

-------------------------------------------------------------------------------------------------------------

"Remember The Name" - Fort Minor

You ready?! Let's go!
Yeah, for those of you that want to know what we're all about
It's like this y'all (c'mon!)

[Chorus:]
This is ten percent luck, twenty percent skill
Fifteen percent concentrated power of will
Five percent pleasure, fifty percent pain
And a hundred percent reason to remember the name!

Mike! - He doesn't need his name up in lights
He just wants to be heard whether it's the beat or the mic
He feels so unlike everybody else, alone
In spite of the fact that some people still think that they know him
But fuck em, he knows the code
It's not about the salary
It's all about reality and making some noise
Making the story - making sure his clique stays up
That means when he puts it down Tak's picking it up! Let's go!

Who the hell is he anyway?
He never really talks much
Never concerned with status but still leaving them star struck
Humbled through opportunities given despite the fact
That many misjudge him because he makes a living from writing raps
Put it together himself, now the picture connects
Never asking for someone's help, or to get some respect
He's only focused on what he wrote, his will is beyond reach
And now it all unfolds, the skill of an artist

This is twenty percent skill
Eighty percent fear
Be a hundred percent clear cause Ryu is ill
Who would've thought that he'd be the one to set the west in flames
And I heard him wreck it with The Crystal Method, "Name Of The Game"
Came back dropped Megadef, took em to church
I like bleach man, why you had the stupidest verse?
This dude is the truth, now everybody's giving him guest spots
His stock's through the roof I heard he's fuckin' with S. Dot!

[Chorus]

They call him Ryu, he's sick
And he's spitting fire
And mike got him out the dryer he's hot
Found him in Fort Minor with Tak
What a fuckin' nihilist porcupine
He's a prick, he's a cock
The type woman want to be with, and rappers hope he get shot
Eight years in the making, patiently waiting to blow
Now the record with Shinoda's taking over the globe
He's got a partner in crime, his shit is equally dope
You wont believe the kind of shit that comes out of this kid's throat

Tak! - He's not your everyday on the block
He knows how to work with what he's got
Making his way to the top
He often gets a comment on his name
People keep asking him was it given at birth
Or does it stand for an acronym?
No he's living proof, got him rocking the booth
He'll get you buzzing quicker than a shot of vodka with juice
Him and his crew are known around as one of the best
Dedicated to what they do and give a hundred percent

Forget Mike - Nobody really knows how or why he works so hard
It seems like he's never got time
Because he writes every note and he writes every line
And I've seen him at work when that light goes on in his mind
It's like a design is written in his head every time
Before he even touches a key or speaks in a rhyme
And those motherfuckers he runs with,
The kids that he signed?
Ridiculous, without even trying,
How did he do it?!

[Chorus - repeat 2x]

[Outro - Mike Shinoda:]
Yeah! Fort Minor
M. Shinoda - Styles of Beyond
Ryu! Takbir! Machine Shop!

Sunday, 17 August 2014

Mobile banking.... literally

Dear Reader,

Way back in 2007 when I was in the middle of my MBA, I came across a B-School case contest by the magazine Smart Manager. The contest challenged managers to solve a very specific business/managerial problem. In this particular case, it was about outlining a business expansion plan of the retail banking firm of a large bank. While researching more about retail banking itself, one bank's (Royal Bank of Scotland) historical method of bringing banking to communities stood out (see the links below... you should be able to get more links by Googling 'Mobile branch banking').


Although RBS probably had different reasons to provide such a service back then, it seemed like an ideal way to expand banking services to customers and communities as a whole, for the case in question. Back in 2007, I felt this would be a good method for business expansion. However, the contest judges didn't seem to think so.

Nevertheless, years later the service continues to grow in Scotland and has also gone high-tech...
and they even publish a schedule of stops...

So, what could be some of the challenges that existing banks in India may face to launch mobile branch banking?

We've never done anything even remotely close to it...
Actually, you do. Most banks send cash strapped vans to ATMs around the city/town to stock the ATMs with cash. This is pretty much the same thing, just needs to go that extra mile.

We can't send branches to rural communities, what if the van is attacked and all the money is stolen?
Get the van insured, use bullet proof glass, keep the cash balance low, square off the cash balance when it gets high, plaster large blown up posters of your CEO's face on the sides of the van, and show videos of your CEO sashaying down a ramp in the fashion show or giving a भाषण on a news channel debate. Don't forget to put the video in an infinite loop and full volume for maximum affect... that will surely drive away the vandals.

None of my employees want to go on the roadshow...
Put them on a rotating shift with perhaps a once a fortnight roadshow duty. Make sure they also work at the nearest branch and are accompanied by a teller and an IT guy. One of them can also double up as an automobile mechanic and the other can double up as the van driver! Also, can the van be air-conditioned? and maybe have a small refrigerator to store food and even have a porta-porta-potty?

We can't afford iPads in vans... we don't even have them in our branch offices!
Sure... don't use iPads but make sure you have a good reliable network connection to sync up transactions and other data so that you don't lose any of it. Maybe having a Pico base station will do the trick.

We have invested heavily in true mobile banking, and are more-ons to a smartphone app, so why waste resources on mobile branches?
A smartphone app has its place... no doubt about that but not everyone has a smart phone. Also, to install an app, YOUR customer needs to first have Internet access, download a compatible app, and install it. Why not get your IT guy to install a compatible version of the mobile app in YOUR customers' phone when they actually visit the mobile branch. The IT guy could also trouble shoot any issues and help them understand how to use the mobile app even after the mobile branch has left their locality.

We don't have good road access to all rural areas and communities?
Humph...

I don't like the idea....
?

Easier said than done...
Absolutely. I guess that's why mobile branches have not found much traction in India. 


All said and done, at the end of the day a commoner may feel that you come in a fancy van, do the dance and just run away with their money! One can never say.

Regards,
Jyothin

Saturday, 31 May 2014

Broaden your Broadcast Horizon

Dear Reader,

News of H.265 (or HEVC - High Efficiency Video Coding) have been flooding the multimedia market with numerous firms announcing solutions on both the encoding and decoding side. But the standard is yet to see wide spread adoption to the extent that new handheld devices are yet to ship with a HEVC decoder.

Why hasn't a technology like HEVC gone viral? Is the industry entrenched and invested in H.264 and MPEG-2 to such an extent that switching costs to HEVC are too high? who is most likely to benefit with a high quality of experience and a high compression ratio?

The abstract below attempts to provide a possible answer to the above question, with some fairly modest arguments and reasoning.

Feel free to comment in the comments section or drop me a note on your views.

Regards,
Jyothin




Introduction

We first start by examining the flow of media in a digital network from the time it is created/contributed till when it is consumed. We speculate on the quality and compression requirements at each stage of a media flow i.e. in the contribution stage, distribution stage and consumption stage. 

A Media Flow: is defined as the path that a media stream takes from the creation stage to the consumption stage. Examples include; 1) a local file playback is contributed and consumed at the same local node, 2) A YouTube video is contributed from a storage server, distributed via the Internet, passes through a network of nodes, and consumed on a client device, 3) the same YouTube video was contributed by a consumer on, perhaps, a handheld device and uploaded via the Internet onto YouTube storage servers., etc.

A Node: is defined as any element that is either used in the creation, distribution or consumption of media while at the same time being agnostic of the media type and/or mode of transport.

For the purposes of this blog, please refer to the 'Other Definitions' section below for additional definitions.

Media Flows

Media can be created at numerous ends of a media flow. Nodes that were traditionally considered as media consumers have now, also turned into media creators. With the advent of numerous services provided by companies like YouTube, Hulu, Vimeo, Facebook, etc. to upload, store, stream and download content,  it has become more than easy for consumers to turn into creators. This shift in content creation has also seen a shift in consumption patterns of content that has traditionally been considered of type Broadcast.

Moreover, new market dynamics like OTT services are forcing service providers to monetize these services, which have traditionally been fuelled by advertising revenues.

Figure 4 illustrates an end to end media flow diagram as agnostic to where the content is created or consumed. Different flows have different quality, compression and storage requirements.

Offline media content, which traditionally accounted for a large portion of the media transport mode, is slowly being replaced with online transport modes. However, offline transport modes do not pose significant real-time encoding or transcoding challenges when compared to online modes of transport. They however do pose real-time decoding challenges.

Creator nodes are those nodes that either capture or create content or have access to pre-created content to send to a distribution node or consumer node. Media creators include nodes such as; (A) DSNG, studios; (B) handheld mobile devices (smartphones, tablets, etc.), video phones, PCs/laptops, and other such similar nodes within an Enterprise network. 

A distributor node typically helps in only the transport of media, with or without a change in the quality/compression ratio of the media itself. Media distributors include nodes such as DBS, Cable, DTT, streaming servers/gateways, network switches, network routers, local headends, set-top box, residential/home gateway, DSL CPE, Wi-Fi router/access point, base-stations, and DVR/DVD players, etc.


Network Digram
Figure 1: A comprehensive media flow diagram

A consumer node typically consumes media by either displaying/rendering it for viewing purposes or storing for later viewing. Media consumers include nodes such as; A: digital televisions, B: handheld mobile devices (smartphones, tablets, etc.), video phones, PCs/laptops, and other similar nodes within an Enterprise network.

Quality vs. Compression

A break down a media flow into different stages helps in examining video processing requirements at each stage by plotting a two dimensional chart; video quality requirements on one axis, and compression requirements on the other axis. The table below describes the nomenclature used in this blog.




Finally with this categorization we see which elements in a media flow are best suited for the adoption of HEVC 'first' which will then lead to adoption of HEVC in other stages, with an overall compelling advantage for using HEVC.

Quality-Compression
Figure 2: Quality vs. Compression trade off for various nodes in a media flow.


  • Creators (A): Typically would need to capture content at the highest quality to have minimum loss of information and detail. However, the captured content needs to be transported to a studio or post production center as efficiently as possible. For example, a live sporting event that is captured using high end cameras is transported via satellite to the studio for post processing and distribution. Hence I've positioned creators of type A with the need for high quality and high compression.
  • Creators (B): Content captured via handheld devices for upload to video servers will need high compression ratios in order to shorten the upload time as well as lower costs for the consumer. Hence  a need for higher degrees of compression is felt here while at the same time not sacrificing quality greatly.
  • Distributors: Being agnostic to the content format, such nodes will need to optimize bandwidth usage and hence need high compression ratios to pack more channels in the same available bandwidth.
  • Consumers: For the best quality of experience will need high quality content for playback and viewing. However, cost sensitive consumers will also need to keep an eye on their bandwidth usage to keep costs under control and hence the need for optimal compression.
  • Mass Storage: If the marginal cost of adding an extra Gigabyte of storage is higher than the marginal increase in content that needs to be stored then the need would be for higher compression. If on the other hand the marginal cost of adding an extra Gigabyte of storage is lower than the marginal increase in content then compression ratios can be sacrificed for storing high quality content.
  • Offline Distribution: Offline storage media being cheap it would make sense to storage high quality content for later viewing by consumers that anyway expect a high quality of experience from offline storage medium.

Conclusion

Maybe HEVC just needs that one viral video for it to go viral !!

Other Definitions

  • Media refers to audio, video and graphics but in this blog the primary emphasis is on video.
  • Media can be contributed/created at the any end of a media flow.
  • Media can be distributed via numerous transmission modes but here we primarily focus on digital mediums and digital modes of transmission.
  • Media can be consumed at any end of a media flow.
  • An "Enterprise Network" is any closed network that can distinctly be isolated from the Internet.
  • A "Short form" video is user-generated video and other video clips generally less than 7 minutes in length.
  • A "Long form" video is content generally greater than 7 minutes in length.
  • Video calling is video messages/calling delivered on fixed Internet initiated by smartphones, non-smartphones, and tablets.
  • Internet video to TV is video delivered through the Internet to a TV screen, by way of an Internet-enabled set-top box (for example, Roku) or equivalent device (for example, Microsoft Xbox 360), Internet-enabled TV, or PC-to-TV connection.
  • Live Internet TV is peer-to-peer TV (excluding P2P video downloads) and live television streaming over the Internet.
  • Internet PVR is recording live TV content for later viewing.
  • Ambient video are nannycams, petcams, home security cams, and other persistent video streams.
  • Mobile video is all video that travels over a 2G, 3G, or 4G network.

References

According to Frost & Sullivan, the market for video transcoding will grow to $630 million by 2017, up from $264 million in fiscal year 2012.

Models, models and more models...

"You! Yes, you! Stand still laddy!
.......
.......
.......
"If you don't have a model, you can't make an estimate. How can you make an estimate if you don't have a model?"

- The Wall

PS: Models don't always work (except if it is a model in the fashion industry!) and some would also say that all forecasts are wrong

PS: Here is a link to my Masters thesis - "Packet Data Network Traffic Modeling"