0
Building Blocks for the Future of Television
DataStax Webinar 5/6/2014
Boris Wolf
Driving Innovation at CSV
Evangelize
Infrastructure
Cross Platform
Services
Expand
TV Platform / X1
Extend
Home Platform
D...
An entirely new cloud-
based, personalized, and
interactive TV experience.
X1 Platform Overview
Delivering an
engaging, interactive, and
immersive sports viewing
experience.
X1 Sports App
Some Examples of C* Usage in X1
• DVR (recording history etc.)
• Personalization
• Preferences
• CMB (message bus)
CMB – Cloud Message Bus
• CMB = CQS + CNS
• An Open Source General Purpose High Throughput
Distributed Message Bus Infrast...
MM M
CQS – Queuing Service
M
M
T
http://…
http://…
http://…
……
CQS
SQS
CQS
Publish(M)
M
M
M
M
M
M
SubscribersCNS – Notification Service
CMB – Cloud Message Bus
• CMB = CQS + CNS
• An Open Source General Purpose High Throughput
Distributed Message Bus Infrast...
CMB – Tradeoffs
• Guaranteed delivery (even if recipients loose
messages!)
• Best effort ordering
• Duplicates are possibl...
t=0
Receive()
t=0
VTO=30sec
Process()
t=5
VTO=25sec
Delete()
t=5
t=0
t=0
VTO=30sec
Process()
t=5
VTO=25sec
Process()
t=5
VTO=25sec
t=25
VTO=5sec
t=30
t=30
VTO=30sec
Process()
t=35
VTO=25sec
t=35
SQS / SNS API Compatibility
AmazonSQSClient sqs = new AmazonSQSClient(new BasicAWSCredentials("Z2DV…", "bH2U…."));
sqs.set...
CMB Web UI
• We actually do: As fail-over option, for proto-
typing, …
• CMB as Open Source alternative to avoid
vendor lock-in
Why n...
CMB – Cloud Message Bus
• CMB = CQS + CNS
• An Open Source General Purpose High Throughput
Distributed Message Bus Infrast...
CQS Implementation - C* and Redis
CMB API Nodes
• Embedded Jetty implementing SQS and SNS APIs
Cassandra
• Cross-DC persis...
Case Study X1 DVR
Scheduler WS
Recorder WS X1 STB
XRE
CQSCQS
XRE
Worker Service
X1 STB
X1 STB
Deployment details:
• 2 DC Deployment, 8-Node C* Ring in each (local quorum
reads and writes)
• 10 Redis Shards (each DC)
...
SQS APIs Params
SendMessage() MessageBody=…
ReceiveMessage() MaxNumberOfMessages=10
VisibilityTimeout=4
WaitTimeSeconds=20...
Case Study X1 DVR
• Follow SQS/SNS APIs as they evolve (Dead Letter
Queue, Mobile Push)
• C* 2.0 features, CQL3, binary protocol drivers
• M...
Thank You!
http://github.com/Comcast/cmb
http://groups.google.com/forum/#!forum/cmb-user-forum
boris_wolf@sv.comcast.com
Webinar: Building Blocks for the Future of Television
Webinar: Building Blocks for the Future of Television
Upcoming SlideShare
Loading in...5
×

Webinar: Building Blocks for the Future of Television

833

Published on

At Comcast we are working on the future of television. Change and innovation are happening more rapidly than ever thanks to the cloud based X1 platform which is gradually replacing the legacy set top box installation base. The transition requires us to find innovative solutions to tough design problems around availability and scale. This webinar will present a detailed look at the X1 DVR service as a case study of how CMB and Cassandra can be part of a solution to these problems. A brief high-level overview of the X1 platform will also be provided for context.

Join the webinar, and you’ll learn:

- High-level overview of the new X1 platform
- How Cassandra provides availability and scale for large distributed architectures across data center
- X1 DVR as a use case of CMB and Cassandra at Comcast

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
833
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Webinar: Building Blocks for the Future of Television"

  1. 1. Building Blocks for the Future of Television DataStax Webinar 5/6/2014 Boris Wolf
  2. 2. Driving Innovation at CSV Evangelize Infrastructure Cross Platform Services Expand TV Platform / X1 Extend Home Platform Demonstrate Syndicate to other platforms Experiment
  3. 3. An entirely new cloud- based, personalized, and interactive TV experience. X1 Platform Overview
  4. 4. Delivering an engaging, interactive, and immersive sports viewing experience. X1 Sports App
  5. 5. Some Examples of C* Usage in X1 • DVR (recording history etc.) • Personalization • Preferences • CMB (message bus)
  6. 6. CMB – Cloud Message Bus • CMB = CQS + CNS • An Open Source General Purpose High Throughput Distributed Message Bus Infrastructure for the Cloud • Queuing and Notification Services • API compatible with AWS SQS/SNS • Built on C* and Redis
  7. 7. MM M CQS – Queuing Service M M
  8. 8. T http://… http://… http://… …… CQS SQS CQS Publish(M) M M M M M M SubscribersCNS – Notification Service
  9. 9. CMB – Cloud Message Bus • CMB = CQS + CNS • An Open Source General Purpose High Throughput Distributed Message Bus Infrastructure for the Cloud • Queuing and Notification Services • API compatible with AWS SQS/SNS • Built on C* and Redis
  10. 10. CMB – Tradeoffs • Guaranteed delivery (even if recipients loose messages!) • Best effort ordering • Duplicates are possible on occasion
  11. 11. t=0 Receive()
  12. 12. t=0 VTO=30sec Process()
  13. 13. t=5 VTO=25sec Delete()
  14. 14. t=5
  15. 15. t=0
  16. 16. t=0 VTO=30sec Process()
  17. 17. t=5 VTO=25sec Process()
  18. 18. t=5 VTO=25sec
  19. 19. t=25 VTO=5sec
  20. 20. t=30
  21. 21. t=30 VTO=30sec Process()
  22. 22. t=35 VTO=25sec
  23. 23. t=35
  24. 24. SQS / SNS API Compatibility AmazonSQSClient sqs = new AmazonSQSClient(new BasicAWSCredentials("Z2DV…", "bH2U….")); sqs.setEndpoint("http://localhost:6059"); // create queue String queueUrl = sqs.createQueue(new CreateQueueRequest("myqueue")).getQueueUrl(); // send message sqs.sendMessage(new SendMessageRequest(queueUrl, "my message")); // receive messages List<Message> messages = sqs.receiveMessage(new ReceiveMessageRequest(queueUrl)).getMessages(); for (Message m : messages) { System.out.println(m.getBody()); }
  25. 25. CMB Web UI
  26. 26. • We actually do: As fail-over option, for proto- typing, … • CMB as Open Source alternative to avoid vendor lock-in Why not just use AWS SQS/SNS?
  27. 27. CMB – Cloud Message Bus • CMB = CQS + CNS • An Open Source General Purpose High Throughput Distributed Message Bus Infrastructure for the Cloud • Queuing and Notification Services • API compatible with AWS SQS/SNS • Built on C* and Redis
  28. 28. CQS Implementation - C* and Redis CMB API Nodes • Embedded Jetty implementing SQS and SNS APIs Cassandra • Cross-DC persistence and replication • Proven horizontal scalability Redis • Avoid duplicates • Help with best effort ordering • Handle Visibility Timeout (VTO)
  29. 29. Case Study X1 DVR Scheduler WS Recorder WS X1 STB XRE CQSCQS XRE Worker Service X1 STB X1 STB
  30. 30. Deployment details: • 2 DC Deployment, 8-Node C* Ring in each (local quorum reads and writes) • 10 Redis Shards (each DC) • 12 CMB Nodes (each DC) Case Study X1 DVR
  31. 31. SQS APIs Params SendMessage() MessageBody=… ReceiveMessage() MaxNumberOfMessages=10 VisibilityTimeout=4 WaitTimeSeconds=20 DeleteMessage() ReceiptHandle=1383970619866:0:ed006cabb22dcc80e44f1 967ac259f3b_0_65:2902396753389907544:- 7877921303127914669 Case Study X1 DVR
  32. 32. Case Study X1 DVR
  33. 33. • Follow SQS/SNS APIs as they evolve (Dead Letter Queue, Mobile Push) • C* 2.0 features, CQL3, binary protocol drivers • Make operations / scaling / capacity planning easier • Offer CMB as a Service Opportunities for Improvement
  34. 34. Thank You! http://github.com/Comcast/cmb http://groups.google.com/forum/#!forum/cmb-user-forum boris_wolf@sv.comcast.com
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×