Tuesday, September 30, 2008

IPTV, the next generation TV

IPTV is becoming more and more popular among cable and telco operators as demand for it is growing very rapidly. IPTV not only provides better advertising solution for the cable operators, it makes it easier for cable operators to be more innovative on pay-TV services. IPTV leverages the IP network to deliver video content to TV viewers using set-top-box, and providing picture quality services.

According to a new research by Gartner, reported on September 25, 2008, the worldwide subscription to IPTV is growing rapidly. Gartner projects the IPTV subscripers will reach 19.6 millions by end of 2008, an increas of 64.1% from 12 millions in 2007.

Worldwide IPTV revenues are projected to total US$ 4.5bn in 2008, an increase of 93.5% from an estimated US$ 2.3bn last year, and go on to reach US$ 19bn in 2012. Approximately 1.1% of households worldwide are expected to subscribe to IPTV services in 2008, and Gartner predicts that global penetration will reach 2.8% by the end of 2012.

One of the reasons for this rapid demand is that the consumer video consumption is increasingly big time.

Portal-based Internet video providers such as YouTube and Joost and over-the-top video providers like Amazon's Video on Demand are also presenting competition for IPTV operators, with some developing their own combined set-top box and video download service, like Netflix and Blockbuster.

Western Europe is found to be the region with the largest number of IPTV subscribers. North America, on the other hand, is identified as the largest market for IPTV revenue.

About me:
bruce atlasi is a professional computer engineer, skilled in telecomm and datacomm technologies and architecture. He has diverse working experience with many telecomm start-ups and fortune 100 companies, including Cisco Systems, IBM, and Siemens. He regularly blogs on About Hi-Tech site.

References

IPTV News

Sunday, September 21, 2008

Elements of a Web-based Services

Designing web sites that are responsive to customer needs is a critical prerequisite for the success of online services. In this article three primary development aspects of Web-based services are discussed. The common style and architecture used to design Web-based services, Software development methodology, Software management methodology and Internet Routing Protocol.

Building Web Services

One of most common methods of building a Web-based services is REST. Many common Web-based services, such as book-ordering services, search services, online dictionary services, etc - are REST-based Web services. REST is an architecture style (not standard) of networked systems and stands for Representational State Transfer. It was first introduced by Roy Fileding in his PhD dissertation.

The Web is comprised of resources. REST style refers to transferring Web activities from one resource to another till what user (client) is looking for is accessed and provided to user. For example, when a client is looking for a piece of information from a website, by definition of REST, the Web activities present series of hyperlinks that user traverse through till the last piece of information user is interested is displayed. Each of these hyperlinks is a representation of a resource which basically places the client application in a state. Thus, the client application changes (transfers) state with each resource representation.

Although the REST is not a standard it uses the following Web standards
  • HTTP
  • URL
  • XML/HTML/GIF/JPEG/etc (Resource Representations)
  • text/xml, text/html, image/gif, image/jpeg, etc (MIME Types)
REST hides the implementation details (e.g., using Java servlets or CGI to implement a Web service) from the client and provides only the "big picture" of the Web to client. The following outlines the characteristics of REST:
  • Client-Server: a pull-based interaction style: consuming components pull representations.
  • Stateless: each request from client to server must contain all the information necessary to understand the request, and cannot take advantage of any stored context on the server.
  • Cache: to improve network efficiency responses must be capable of being labeled as cacheable or non-cacheable.
  • Uniform interface: all resources are accessed with a generic interface (e.g., HTTP GET, POST, PUT, DELETE).
  • Named resources - the system is comprised of resources which are named using a URL.
  • Interconnected resource representations - the representations of the resources are interconnected using URLs, thereby enabling a client to progress from one state to another.
  • Layered components - intermediaries, such as proxy servers, cache servers, gateways, etc, can be inserted between clients and resources to support performance, security, etc.
Web Service Design using REST method
  1. Identify all of the conceptual entities that you wish to expose as services.
  2. Create a URL to each resource.
  3. The resources should be nouns, not verbs.
  4. Categorize your resources according to whether clients can just receive a representation of the resource.
  5. All resources accessible via HTTP GET should be side-effect free, that is, invoking the resource should not result in modifying the resource.
  6. Put hyperlinks within resource representations to enable clients to drill down for more information, and/or to obtain related information.
  7. Design to reveal data gradually. Don't reveal everything in a single response document.
  8. Specify the format of response data using a schema (DTD, W3C Schema, RelaxNG, or Schematron).
Software Development Methodology

Since the Web-based services are normally based on customer requirement and is subject to change frequently, Agile method is commonly used to develop software. Agile means being able to quickly change direction. Agile method is a method opposed to waterfall model, in which software development is seen as flowing steadily downwards through the phases of requirement analysis, design, coding, testing, integration and maintenance.
Agile methods focuses on working software as the primary measure of progress. It promotes the iterations in software development life cycle and chooses to do things in small increments, with minimal planning, rather than plan at length. This allows responding to the customer needs much faster by adapting changes quickly into the development cycle and minimizing the overall risk. Also the project stakeholders get more involved in the process and at the end of each iteration are updated to provide feedback.

In agile development method, a deliverable and shippable software is developed in a short time frame, also known as "timeboxes". The software developed during each timebox is referred to as an iteration, which normally takes 2-4 weeks. Each iteration goes through full software development cycle, including planning, requirement analysis, design, code, unit test, integration test, QA, demo to product stakeholders and documentations to prepare software delivery to customers. The goal of agile development is to have an available release with minimum bugs at the end of each iteration. It may not add a new functionality to the software. At the end of each iteration, the stakeholders re-evaluate the project priorities with respect to revenue and return on investment. Every agile team has a committed customer representative who makes himself available for developers to answer mid-iteration problem-domain questions.

Managing Agile Software Development Projects

Scrum is one of the methods commonly used to manage agile software development method.

Scrum is a process that includes a set of practices and predefined roles. The main roles in Scrum are the ScrumMaster (project manager), the Product Owner (stakeholders representative), and the Team which includes the developers.

During each development period (sprint), which usually takes two to four weeks, the team creates an increment of a shippable software. The feature set for each sprint is prioritized by Product Owner who informs the team of the items that he wants completed. The team then determines how much of this they can commit to complete during the next sprint.

One of Scrum's biggest advantages is that it is very easy to learn and requires little effort to start using. Following are some general practices of Scrum:

  • Customers become a part of the development team.
  • Like all other forms of agile software processes, Scrum has frequent intermediate deliveries with working functionality. This enables the customer to get working software earlier and enables the project to change its requirements according to changing needs.
  • Frequent risk and mitigation plans developed by the development team itself.
  • Frequent stakeholder meetings to monitor progress – Balanced (Delivery, Customer, Employee, Process) Dashboard updates – Stakeholders' update – You have to have Advance Warning Mechanism, i.e. visibility to potential slippage / deviation ahead of time.
  • No problems are swept under the carpet. No one is penalized for recognizing or describing any unforeseen problem.
Internet Routing Protocol

To connect a client to a Web server, series of routing protocols are used to locate and reach the Web server that can provide the service to client. Some of the most common used protocols are BGP and OSPF.

BGP
Border Gateway Protocol (BGP) is the routing protocol used to exchange routing information across the Internet. BGP is an exterior routing protocol and as such is concerned with routing between networks rather than within them (this is the domain of the interior routing protocols such as RIP, OSPF).

BGP is designed to efficiently manage a large, multi-organisation routing table, such as the global Internet routing table. BGP uses TCP as a reliable transport medium and so it needs only to send out updates when necessary rather than continuously. BGP also has many features to manage routing announcements which are not needed in an interior routing protocol.

On a Cisco router you can configure BGP using the following commands:
router bgp ASN
neighbor neighbor remote-as remote-AS
neighbor neighbor filter-list 1 out
!
ip as-path access-list 1 permit ^$
The main thing to remember is to announce only the networks that you originate or are providing transit to. In general this means applying an AS path filter so that only the NULL path is announced. This avoids announcing all of AAPT's routes to your other provider(s) and then having them use you for transit, which could be expensive! AAPT uses BGP communities (public and private) to control routing announcements, i.e. the routes we send to customers as well as the routes we send to our peers and providers.

OSPF
Open Shortest Path First (OSPF) is an interior routing protocol used within larger autonomous system network in preference to the RIP (Routing Information Protocol), an older routing protocol that is installed in many of today's corporate networks.

Using OSPF, a host that obtains a change to a routing table or detects a change in the network immediately multicasts the information to all other hosts in the network so that all will have the same routing table information. Unlike the RIP in which the entire routing table is sent, the host using OSPF sends only the part that has changed. With RIP, the routing table is sent to a neighbor host every 30 seconds. OSPF multicasts the updated information only when a change has taken place.

Rather than simply counting the number of hops, OSPF bases its path descriptions on "link states" that take into account additional network information. OSPF also lets the user assign cost metrics to a given host router so that some paths are given preference. OSPF supports a variable network subnet mask so that a network can be subdivided. RIP is supported within OSPF for router-to-end station communication. Since many networks using RIP are already in use, router manufacturers tend to include RIP support within a router designed primarily for OSPF.

About me:
bruce atlasi is a professional computer engineer, skilled in telecomm and datacomm technologies and architecture. He has diverse working experience with many telecomm start-ups and fortune 100 companies, including Cisco Systems, IBM, and Siemens. He regularly blogs on About Hi-Tech site.

References
REST-Web-Services

info-connect

Tuesday, September 9, 2008

iPod Nano, the Genius

Apple just announced the new version of iPod Touch, iPod Nano and iTunes 8. These new products, as announced on 9/9/08, all include a new features called "Genius", which is a new technology from Apple to create playlists based on the song you're listening to and the music in your library in an easy way.

The fourth-generation iPod Nano is only 0.2 inches thick, the thinnest player Apple has ever made. The screen size, however, is kept as previous model. In addition a new accelerometer is built into Nano to enable resizing photos and menus based on the orientation of the player which was available on iPhone and iPod Touch previous models.

The new cool feature "Shake to shuffle", which senses when you shake the player and automatically enters into the shuffle mode. The "Shake to shuffle" feature also uses accelerometer technology.

The user interface of new iPod Nano has much improvements that attempts to solve some of the limitations the Clickwheel has in the iPod Touch and iPhone UIs.

The iPod Nano can play 24-hours of music or four hours of video in a single charge. The prices are set for $149 for an 8G and $199 for 16G.

The new model of iPod Touch has a new look with a curved back, similar to iPhone 3G, kept it's stainless steel as previous iPod Touch model. It's being advertised by Apple as very capable when it comes to play games. The new iPod Touch also has volume control on the side of unit and comes with it;s own build-in speakers. Another fun feature of iPod Touch is a build-in sensor for the popular Nike + iPod system. Unlike the previous model, you can get the shoe attachment and activate the included software.

iPod Touch can play 36 hours of music and six hours of video on a single charge. The prices are set as $229 for 16G and $399 for 32G. The previous owners of iPod Touch may get all new feature by software upgrade and no need to purchase a new unit. The update is free for users who already have the 2.0 version, and $9.95 for users with version 1.

More than 160 million iPods have been sold worldwide since 2004, and sales of the device account for almost 75 per cent of the MP3 player market.

Architecture

The iPod Nano uses general-purpose integrated circuits (IC) instead of smaller, low-cost custom-developed chips, possibly to reduce time-to-market. This design, however, increases the number of electronic components and increases the cost. It uses PortalPlayer PP5021C "system on a chip" with dual embedded 80 MHz ARM 7TDMI processors. It also uses "surface mount technology" which was employed in mobile phones in 2005.

Surface-mounted technology is a method for constructing electronic circuits in which the components are mounted directly onto the surface of PCB (Printed Circuit Board).

PortalPlayer is a fabless semiconductor company that supplies system-on-a-chip semiconductor, firmware and software for personal medial players. PortalPlayer was acquired by NVIDIA on January 2005.

Past Incidents
  1. In Australia, an iPod Nano flamed up while being charged on a PC.
  2. iPod Nano set a man's pants on fire while he was working in the Hartsfield-Jackson Atlanta International Airport.
  3. In Japan, an iPod Nano sparked while it was still recharging. Apple still is investigating this incident.
  4. Last report came out from Japan in August 2008 indicates that 17 incidents of abnormal overheating with 1st-generation iPod Nano units while recharging, causing the cases to catch fire and burn.

About me:
bruce atlasi is a professional computer engineer, skilled in telecomm and datacomm technologies and architecture. He has diverse working experience with many telecomm start-ups and fortune 100 companies, including Cisco Systems, IBM, and Siemens. He regularly blogs on About Hi-Tech site.

Switched Digital Video (SDV) jargons

IPTV and especially SDV is becoming very hot among all telco and cable operators for numurous benefits they bring to them, including bandwidth allocation, local advertisement, better QoS and QoE. Along with them, these new emerging technologies bring many terminologies and jorgons. In this article, I have collected the most commonly used terminologies in this catorgory from various sources to make it easier to look and understand these terms.

Bulk ncryptor
scrambles the signal in such a way that only the appropriate set-top box (STB) can unscramble it.

DB - Digital Broadcast
Encoded/compressed programs are sent to a subscriber's set-top box (STB), Where they are decoded/uncompressed for playback on a TV. All programs are sent to all subscribers regardless of which programs are actually being watched.

DTH - Direct To Home
DTH Typically refers to satellite TV broadcasting directly to a dish antenna on the roof of a house.

CBR - Constant Bit Rate
Constant bit rate encoding means that the rate at which a codec's output data should be consumed is constant. CBR is useful for streaming multimedia content on limited capacity channels since it is the maximum bit rate that matters, not the average, so CBR would be used to take advantage of all of the capacity.

ERM/SRM - edge resource manager/session resource manager
ERM/SRM server Controls and arbitrates capacity allocation among various application (such as VOD, SDV channels, etc.) and the edge QAM devices. The ERM/SRM keeps a stateful view of the spectrum allocation.

Groomer
Groomer transrates content into a maximum bandwidth, limiting the rate of video bursts.

HE - Headend
HE (equivalent to a telco video headend office, or VHO) is where content acquisition occurs for both the broadcast and on-demand services. The HE is also where most of the backoffice systems reside. (Backoffice systems include billing systems, asset management systems, authorization systems, and so on.)

The headend section of SDV architecture is where the video and Internet feed sources enter the system. It includes the equipment directly connected to the cable company.

Some elements of the headend only flow one way into the system, such as the cable company's video feed. Others, like the applications servers, communicate back and forth with the network to ensure that everything is running smoothly.

HFC
HFC netwrok is the fiber-coax access network for distribution to the subscriber.

IP Network
The IP network transports IP services from the HE to a number of hubs, aggregating a
number of services [for example, video, high-speed data (HSD), and voice over IP] while providing appropriate quality of service (QoS), or priority, for each service class.


MPEG encoders
MPEG encoders convert the raw digital or analog signal into an MPEG format

MPTS - multi-program transport streams

OOB - Out-Of-Band
An out-of-band (OOB) channel provides the STB with basic tuning information, such as a channel map, decryption keys, IP address of the Session Manager, and software upgrades.

QAM - quadrature amplitude modulation
Edge QAM devices: special session-based QAM modulators that receive ingress video traffic through IP (using IGMPv2/v3, etc.) and then route and switch it across the RF/QAM network by interfacing with the SRM/ERM.

QoE - quality of experience
QoE is a subjective measurement of the perceived value of the overall service and customer experience. It is closely tied to QoS but is different in that QoE measures from the point of view of the subscriber. QoE measurements are often done in the form of mean opinion score (MOS).

QoS - quality of service
QoS role is to objectively measure the service delivery by the provider itself.

SDV - swithced digital video
SDV is like DB in that all programs are encoded/compressed. SDV is the first implementation of a broadcast video service in which only requested programs are sent to the group of subscribers (the subscriber group). SDV is the first broadcast video service that requires two-way communication with the subscriber for content selection. Like DB, SDV is sent to a subscriber’s STB; where it is decoded/uncompressed for playback on a TV.

SDV server tracks all of the channel-change requests and viewing patterns, helps broker bandwidth assignments to requested channels, and generates the SDV mini data-carousel.

SDV client: This is special software residing on the set-top box that interfaces with the SDV server and the SDV network.

Splicer
Splicer inserts ads into programming breaks, as needed for a geographical market.

SPTS - single program transport streams

Statmux
Statmux Performs statistical time-division multiplexing.

VOD - video on demand
Content (e.g. a movie) is stored on a server. A subscriber views a list of titles and requests to view a specific title. The VoD system authorizes and streams the requested content to that specific user.

VBR - variable bit rate
VBR allows a higher bitrate (and therefore more storage space) to be allocated to the more complex segments of media files while less space is allocated to less complex segments

The advantages of VBR are that it produces a better quality-to-space ratio compared to a CBR file of the same size. The bits available are used more flexibly to encode the sound or video data more accurately, with fewer bits used in less demanding passages and more bits used in difficult-to-encode passages. The disadvantages are that it may take more time to encode, as the process is more complex, and that some hardware might not be compatible with VBR files.

About me:
bruce atlasi is a professional computer engineer, skilled in telecomm and datacomm technologies and architecture. He has diverse working experience with many telecomm start-ups and fortune 100 companies, including Cisco Systems, IBM, and Siemens. He regularly blogs on About Hi-Tech site.


References:
  1. Gaining Visibility into the Complexities of SDV, By: Gino Dion
  2. IPTV Architectures for Cable Systems – An Evolutionary Approach, By: S.V. Vasudevan, Xiaomei Liu, and Kurt Kollmansberger
  3. Wikipedia

Monday, September 8, 2008

SDV sequence of operations

In this article Switched Digital Video (SDV) sequence of operation is described in details. This sequence can be used as a guideline to program SDV client-server operations. The SDV sequence of operation is classified into two main area: Set-Top-Box (STB) Auto-Discovery Process and Subscriber surfs to a switched channel. All these activities should not take more than 150ms.

For overview of the SDV architecture, see my article SDV Architecture.

STB Auto-Discovery Process
Prior to STB Auto-Discovery, STB is signed onto the SDV network
  1. SDV server (a server that manages STB interactions) streams configuration information out-of-band using data PID
  2. STB is powered on.
  3. STB looks for data PID and gets configuration information including list of SDV frequencies.
  4. STB scans SDV frequencies and finds TSIDs that it happens to see.
  5. STB responds to SDV server with TSID list.
  6. SDV Server identifies STB’s Service Group
  7. SDV server reports Service Group back to STB [ACK].

Subscriber Surfs to a Switched Channel
  1. Source content streams (and is encrypted) through the GigE switches as multicast SPTSs (Single Program Transport Steam)
  2. Subscriber selects a switched channel
  3. Client sends channel change message indicating desired channel and its TSID group. Note: If the channel is already in the mini carousel the SDV client [STB] can tune to it prior to receiving a message back from the SDV server
  4. SDV server determines source details for the requested channel
  5. SDV server requests QAM resources for the selected channel from ERM (Edge Resource Manager that manages edge QAM device) based on TSID group
  6. ERM directs Edge Device to join a multicast stream and bind it to a frequency [QAM], assigning a program number determined by the ERM
  7. Edge Device joins the multicast stream and sends it out the specified QAM using the selected program number
  8. SDV server returns frequency and program number to the STB IP
  9. STB tunes to frequency and program. Subscriber is now watching the selected program.
  10. SDV server updates channel list on out-of-band mini carousel and ‘locks’ the selected channel after a MSO defined time interval
  11. Every five minutes the SDV monitoring server gets raw customer behavior data from the SDV server and QAM usage from the ERM for processing into user friendly reports

About me
bruce atlasi is a professional computer engineer, skilled in telecomm and datacomm technologies and architecture. He has diverse working experience with many telecomm start-ups and fortune 100 companies, including Cisco Systems, IBM, and Siemens. He regularly blogs on About Hi-Tech site.

 
Directory Bin