Buy An Introduction to the DLNA Architecture by Edwin A. Heredia
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology > Computer networking and communications > An Introduction to the DLNA Architecture: Network Technologies for Media Devices
An Introduction to the DLNA Architecture: Network Technologies for Media Devices

An Introduction to the DLNA Architecture: Network Technologies for Media Devices


     0     
5
4
3
2
1



International Edition


X
About the Book

This book describes the architecture and protocols for interconnecting media devices in home networks. The architecture and protocols described in this book have been developed during the last 10 years by R&D teams from several companies working jointly in two industry organizations known as UPnP and DLNA. This book mainly deals with the DLNA (Digital Living Network Alliance) protocol. This text is especially relevant for the design and development of smart homes, where media devices, communication devices, appliances, and sensors are all integrated in an intelligent network.

Table of Contents:
Preface xvii Acknowledgments xxi Acronyms xxiii 1. Introduction 1 1.1 Networks of Media Devices 1 1.2 Ubiquitous Computing at Home 3 1.3 Home Networking Challenges 5 1.4 Protocols for Networks of Media Devices 6 1.5 Protocol Development 6 2. Scenarios and Models 11 2.1 Usage Scenarios 11 2.1.1 Picture Sharing 11 2.1.2 Audio and A/V Streaming 12 2.1.3 Upload, Download, and Content Synchronization 14 2.1.4 Photo Printing 16 2.2 Control Models 16 2.2.1 The 2-Box Pull Model 17 2.2.2 The 2-Box Push Model 18 2.2.3 The 3-Box Model 19 2.2.4 Players vs. Renderers 19 2.3 Media Characterization 21 3 Device Classification 25 3.1 UPnP Devices and Control Points 25 3.2 UPnP Media Servers and Media Renderers 26 3.3 Device Taxonomy 29 3.4 Device Classes and Capabilities 30 3.4.1 Digital Media Servers 30 3.4.2 Digital Media Players 32 3.4.3 Digital Media Renderers 34 3.4.4 Digital Media Controllers 34 3.4.5 Push Controllers 36 3.4.6 Upload Devices and Controllers 37 3.4.7 Download Devices and Controllers 38 3.4.8 Printer Devices and Controllers 39 3.4.9 Home Infrastructure Devices 40 3.5 Device Nomenclature 41 4. Network Connectivity 43 4.1 Physical and Link Layers 43 4.2 TCP/IP Protocols 44 4.2.1 IP 44 4.2.2 TCP 46 4.2.3 UDP 49 4.2.4 ICMP 50 4.2.5 ARP 50 4.3 IP Addressing 51 4.4 DHCP 53 4.4.1 Address Acquisition 54 4.4.2 Verification and Renewal 55 4.4.3 Additional Functions 55 4.5 Auto-IP 56 4.5.1 Initialization Phase 56 4.5.2 Operational Phase 56 5. Discovery Protocols 59 5.1 Root and Embedded Devices 59 5.2 Discovery Messages 60 5.3 Presence Advertisements (SSDP Alive Messages) 63 5.4 Number and Types of Presence Advertisements 66 5.5 Exit Advertisements (SSDP Bye-Bye Messages) 67 5.6 Discovery Search Requests (M-SEARCH Requests) 68 5.7 Discovery Search Responses (M-SEARCH Responses) 70 6. Description Protocols 73 6.1 Device Description Document (DDD) 73 6.1.1 Structure of the Device Description Document 75 6.1.2 UPnP Device Type Identifier 76 6.1.3 Device Class Identifier 76 6.1.4 Capability Identifier 77 6.1.5 Icons in the Device Description Document 78 6.1.6 Service List in the Device Description Document 79 6.1.7 Embedded Devices 82 6.2 Service Description Document (SDD) 83 6.2.1 Structure of the Service Description Document 84 6.2.2 Description of Actions 85 6.2.3 Description of State Variables 87 6.2.4 Data Types 89 7. Server Control Protocols 91 7.1 The DMS Content Directory Service 92 7.1.1 The CDS Hierarchy 93 7.1.2 Class Values for Containers and Items 95 7.1.3 XML Representation of the CDS 97 7.1.4 Time Format for dc:date 102 7.1.5 The Element 106 7.1.6 Properties res@size and res@duration 107 7.1.7 Property res@bitrate 107 7.1.8 Property res@resolution 108 7.1.9 Property res@protocolInfo 109 7.1.10 CDS Actions and State Variables 116 7.1.11 CDS Example 117 7.1.12 CDS Browse Operations 122 7.1.13 CDS Search Operations 127 7.1.14 CDS Update Information 136 7.1.15 Album Art and Thumbnail Images 137 7.2 The DMS Connection Manager Service 139 7.2.1 CMS Actions and State Variables 139 7.2.2 Use of GetProtocolInfo() in a DMS 140 8. Renderer Control Protocols 147 8.1 Usage Model 147 8.2 Discovery of Content and Devices 150 8.3 The Connection Manager Service in a DMR 150 8.3.1 Use of protocolInfo in a DMR 151 8.3.2 Use of GetProtocolInfo() in a DMR 153 8.3.3 Connection and Service ID Values 155 8.4 The AV Transport Service in a DMR 156 8.4.1 AVT Media and Tracks 156 8.4.2 Relevant Actions and State Variables 157 8.4.3 DMR Transport States 160 8.4.4 Playing a Media Resource 161 8.4.5 Using SetAVTransportURI() 162 8.4.6 DMR State Transitions 164 8.4.7 Setting up the URI and Metadata State Variables 166 8.4.8 Playing Media Collections 168 8.4.9 Controller Seek Operations 171 8.4.10 Controller-Time Seek Operations 173 8.4.11 Time Format 175 8.4.12 Controller-Byte Seek Operations 176 8.4.13 Other Seek Operations 177 8.4.14 Playing at Different Speeds 178 8.4.15 AVT Service Events 180 8.5 The Rendering Control Service in a DMR 182 8.5.1 Relevant RCS Actions and State Variables 182 8.5.2 Audio Control Actions 184 8.5.3 Display Control Actions 187 8.5.4 RCS Service Events 189 8.6 Multiple Controllers in the Network 190 9. Exchange Protocols for Actions and Events 193 9.1 Control and Event URLs 193 9.2 Exchange Protocols for Actions 195 9.2.1 Action Requests 195 9.2.2 Action Response–Success 198 9.2.3 Action Response–Error 200 9.3 Exchange Protocols for Events 201 9.3.1 Subscription Request and Response 203 9.3.2 Renewal Request and Response 205 9.3.3 Cancellation Request and Response 206 9.3.4 Event Message and Response 206 10. HTTP Media Streaming 209 10.1 HTTP Servers and Clients 210 10.2 Transfer Modes 211 10.2.1 TCP Flow Control 212 10.2.2 Ideal Network Conditions 217 10.2.3 Interactive Mode 217 10.2.4 Background Mode 218 10.2.5 Streaming Mode 219 10.2.6 HTTP Streaming in Practice 221 10.3 HTTP Methods 223 10.3.1 The HTTP GET Method 223 10.3.2 The HTTP HEAD Method 225 10.3.3 The HTTP POST Method 226 10.4 HTTP Versions 226 10.5 Relevant HTTP Headers 227 10.5.1 Cache-Control 227 10.5.2 ContentFeatures.dlna.org 229 10.5.3 Content-Length 230 10.5.4 Content-Range 230 10.5.5 Content-Type 231 10.5.6 Date 231 10.5.7 getContentFeatures.dlna.org 232 10.5.8 Host 232 10.5.9 PlaySpeed.dlna.org 233 10.5.10 Pragma 234 10.5.11 Range 235 10.5.12 scmsFlags.dlna.org 235 10.5.13 Server 236 10.5.14 TimeSeekRange.dlna.org 237 10.5.15 Transfer-Encoding 239 10.5.16 TranferMode.dlna.org 239 10.5.17 User-Agent 240 11. Media Control Experience 241 11.1 Navigation Operations 243 11.1.1 Server Discovery 243 11.1.2 Renderer Discovery 246 11.1.3 Content Browsing 248 11.2 Playback Operations 250 11.2.1 Play 250 11.2.2 Stop 251 11.2.3 Pause 251 11.2.4 Seek 255 11.2.5 Fast Forward and Rewind 262 12. Digital Media Requirements 269 12.1 Media Formats and Profiles 270 12.1.1 Media Classes 270 12.1.2 Media Formats 270 12.1.3 Media Format Profiles 271 12.2 Proliferation of Media Format Profiles 271 12.3 Exposing Content in a CDS 273 12.4 MIME Types 274 12.5 The Profile ID 275 12.6 Media Interoperability 276 12.7 Mandatory Profiles for the MHD Category 278 12.7.1 MHD Image Class 278 12.7.2 MHD Audio Class 278 12.7.3 MHD A/V Class 278 12.8 Mandatory Profiles for the HND Category 279 12.8.1 HND Image Class 279 12.8.2 HND Audio Class 279 12.8.3 HND A/V Class 279 12.9 Summary of DLNA Media Requirements 280 13. Media Format Profiles 281 13.1 Image Class: JPEG Content 281 13.1.1 JPEG Content: Profile ID 281 13.1.2 JPEG Content: Introduction 282 13.1.3 JPEG Content: Encoding and File Format 282 13.1.4 JPEG Content: MIME Type 283 13.2 Audio Class: AAC Content 283 13.2.1 AAC Content: Profile ID 283 13.2.2 AAC Content: Introduction 284 13.2.3 AAC Content: Encoding and File Format 284 13.2.4 AAC Content: MIME Types 285 13.3 Audio Class: LPCM Content 285 13.3.1 LPCM Content: Profile ID 285 13.3.2 LPCM Content: Introduction 285 13.3.3 LPCM Content: Encoding and File Format 285 13.3.4 LPCM Content: MIME Types 285 13.3.5 LPCM Content: Transcoding Options 286 13.4 Audio Class: MP3 Content 286 13.4.1 MP3 Content: Profile ID 286 13.4.2 MP3 Content: Introduction 287 13.4.3 MP3 Content: Encoding and File Format 287 13.4.4 MP3 Content: MIME Type 287 13.5 Audio Class: WMA Content 287 13.5.1 WMA Content: Profile ID 287 13.5.2 WMA Content: Introduction 288 13.5.3 WMA Content: Encoding and File Format 288 13.5.4 WMA Content: MIME Type 288 13.6 A/V Class: AVC Content 289 13.6.1 AVC Content: Profile ID 289 13.6.2 AVC Content: Introduction 289 13.6.3 AVC Content: File Format 289 13.6.4 AVC Content: Video Encoding 289 13.6.5 AVC Content: Audio Encoding 290 13.6.6 AVC Content: MIME Type 290 13.7 A/V Class: MPEG-2 PS Content 290 13.7.1 MPEG-2 PS Content: Profile ID 290 13.7.2 MPEG-2 PS Content: Introduction 290 13.7.3 MPEG-2 PS Content: File Format 291 13.7.4 MPEG-2 PS Content: IFO Files 291 13.7.5 MPEG-2 PS Content: Video Encoding 292 13.7.6 MPEG-2 PS Content: Audio Encoding 292 13.7.7 MPEG-2 PS Content: MIME Type 293 13.8 A/V Class: MPEG-2 TS Content 293 13.8.1 MPEG-2 TS Content: Profile ID 293 13.8.2 MPEG-2 TS Content: Introduction 293 13.8.3 MPEG-2 TS Content: File Format 294 13.8.4 MPEG-2 TS Content: Video Encoding 299 13.8.5 MPEG-2 TS Content: Audio Encoding 300 13.8.6 MPEG-2 TS Content: MIME Types 301 13.9 A/V Class: WMV Content 301 13.9.1 WMV Content: Profile ID 301 13.9.2 WMV Content: Introduction 301 13.9.3 WMV Content: File Format 302 13.9.4 WMV Content: Video Encoding 302 13.9.5 WMV Content: Audio Encoding 302 13.9.6 WMV Content: MIME Type 302 13.10 MP4 Files 303 13.11 Profiles for Link Protection 303 13.12 Assignment of Profile IDs 304 14. AVT Actions and State Variables 307 14.1 AVT Actions 307 14.1.1 GetCurrentTransportActions() 307 14.1.2 GetDeviceCapabilities() 308 14.1.3 GetMediaInfo() 309 14.1.4 GetPositionInfo() 310 14.1.5 GetTransportInfo() 311 14.1.6 GetTransportSettings() 312 14.1.7 Next() 313 14.1.8 Pause() 313 14.1.9 Play() 314 14.1.10 Previous() 315 14.1.11 Seek() 315 14.1.12 SetAVTransportURI() 316 14.1.13 SetNextAVTransportURI() 317 14.1.14 SetPlayMode() 318 14.1.15 Stop() 319 14.1.16 X_DLNA_GetBytePositionInfo() 319 14.1.17 Other AVT Actions 320 14.2 AVT State Variables 320 14.2.1 AbsoluteCounterPosition 320 14.2.2 AbsoluteTimePosition 321 14.2.3 AVTransportURI 321 14.2.4 AVTransportURIMetaData 321 14.2.5 CurrentMediaDuration 321 14.2.6 CurrentPlayMode 322 14.2.7 CurrentRecordQualityMode 322 14.2.8 CurrentTrack 323 14.2.9 CurrentTrackDuration 323 14.2.10 CurrentTrackMetaData 323 14.2.11 CurrentTrackURI 323 14.2.12 CurrentTransportActions 324 14.2.13 LastChange 324 14.2.14 NextAVTransportURI 324 14.2.15 NextAVTransportURIMetaData 325 14.2.16 NumberOfTracks 325 14.2.17 PlaybackStorageMedium 325 14.2.18 PossiblePlaybackStorageMedia 326 14.2.19 PossibleRecordStorageMedia 326 14.2.20 PossibleRecordQualityModes 326 14.2.21 RecordMediumWriteStatus 326 14.2.22 RecordStorageMedium 327 14.2.23 RelativeCounterPosition 327 14.2.24 RelativeTimePosition 327 14.2.25 TransportPlaySpeed 327 14.2.26 TransportState 328 14.2.27 TransportStatus 328 14.2.28 X_DLNA_AbsoluteBytePosition 329 14.2.29 X_DLNA_CurrentTrackSize 329 14.2.30 X_DLNA_RelativeBytePosition 329 15. CDS Actions and State Variables 331 15.1 CDS Actions 331 15.1.1 Browse() 331 15.1.2 GetSearchCapabilities() 334 15.1.3 GetSortCapabilities() 335 15.1.4 GetSystemUpdateID() 335 15.1.5 Search() 336 15.1.6 Other CDS Actions 339 15.2 CDS State Variables 339 15.2.1 ContainerUpdateIDs 339 15.2.2 SearchCapabilities 340 15.2.3 SortCapabilities 340 15.2.4 SystemUpdateID 340 16. CMS Actions and State Variables 341 16.1 CMS Actions 341 16.1.1 GetCurrentConnectionIDs() 341 16.1.2 GetCurrentConnectionInfo() 342 16.1.3 GetProtocolInfo() 343 16.1.4 Other CMS Actions 344 16.2 CMS State Variables 344 16.2.1 CurrentConnectionIDs 344 16.2.2 SinkProtocolInfo 345 16.2.3 SourceProtocolInfo 345 17. RCS Actions and State Variables 347 17.1 RCS Actions 347 17.1.1 GetBrightness() 347 17.1.2 GetContrast() 348 17.1.3 GetMute() 348 17.1.4 GetSharpness() 349 17.1.5 GetVolume() 350 17.1.6 ListPresets() 350 17.1.7 SelectPreset() 351 17.1.8 SetBrightness() 352 17.1.9 SetContrast() 352 17.1.10 SetMute() 353 17.1.11 SetSharpness() 353 17.1.12 SetVolume() 354 17.1.13 Other RCS Actions 355 17.2 RCS State Variables 355 17.2.1 Brightness 355 17.2.2 Contrast 356 17.2.3 LastChange 356 17.2.4 Mute 356 17.2.5 PresetNameList 357 17.2.6 Sharpness 357 17.2.7 Volume 358 Appendix A: Error Codes 359 A.1 Generic UPnP Error Codes 359 A.2 Error Codes for the Content Directory Service 360 A.3 Error Codes for the Connection Manager Service 361 A.4 Error Codes for the AV Transport Service 361 A.5 Error Codes for the Rendering Control Service 362 Appendix B: Size Limits in Data Structures 363 Glossary 365 References 371 Index 379

About the Author :
EDWIN A. HEREDIA is a Senior Program Manager in the Windows Multimedia Platform Team at Microsoft overseeing the design and implementation of innovative pervasive media experiences for home networks and the Internet. He has been working in the fields of communication protocols and media technologies for more than fifteen years. He has been an active participant and lead contributor in a number of worldwide industry standardization projects, including those envisioned by the UPnP Forum and the Digital Living Network Alliance (DLNA). He received an MSc degree in electrical engineering from the University of Calgary and a PhD in electrical engineering from the University of Delaware.

Review :
"Today's connected consumer demands innovative ways to enjoy their content throughout the digital home, including the ability to share photos, music and video across products. The Digital Living Network Alliance (DLNA) has made a commitment to help consumers connect and enjoy their content using any electronic device, from any location in their home, regardless of manufacturer. Edwin Heredia's book provides readers with a great, technical look at relevant opportunities that DLNA provides to integrate technology into consumers daily lives and enhance the overall home entertainment experience via DLNA Certified products." —Donna Moore, Executive Director, Digital Living Network Alliance


Best Sellers


Product Details
  • ISBN-13: 9780470881262
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: John Wiley & Sons Inc
  • Height: 236 mm
  • No of Pages: 418
  • Returnable: N
  • Sub Title: Network Technologies for Media Devices
  • Width: 155 mm
  • ISBN-10: 0470881267
  • Publisher Date: 20 May 2011
  • Binding: Hardback
  • Language: English
  • Returnable: N
  • Spine Width: 31 mm
  • Weight: 748 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
An Introduction to the DLNA Architecture: Network Technologies for Media Devices
John Wiley & Sons Inc -
An Introduction to the DLNA Architecture: Network Technologies for Media Devices
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

An Introduction to the DLNA Architecture: Network Technologies for Media Devices

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    Fresh on the Shelf


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!