Windows Azure Platform Developer Center > Azure Forums > Live Framework > Scenario question: 3rd party loading of my Mesh
Ask a questionAsk a question
 

AnswerScenario question: 3rd party loading of my Mesh

  • Wednesday, November 05, 2008 10:54 AMJamie ThomsonMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    I asked the following during the tech preview (and raised a Connect submission) but didn't really get a categorical answer. I was wondering if you guys were any closer to answering it.

    Imagine the scenario. I am visiting a digital retailer (e.g. Amazon) from where I purchase an mp3 and they give me an option to save that to my Mesh, obviously I want to save it to my music library which I have as a mesh folder. However, here's the rub, that mesh folder is not synced to the cloud, only to my devices.

    Using LiveFX to load the MP3 into one of Mesh folders is easy but what happens to that file if the folder is not synced to the cloud? What I would like to happen is for Mesh to be clever enough to say "OK, I see a file has been loaded into this Mesh object but it shouldn't be in the cloud. So, what I'll do is store it in the cloud until one of the devices comes online and then I can sync it down to the device and remove it from the cloud". Also, there's an edge case where that MP3 takes me over my cloud storage limit - I would hope this wouldn't prevent this behaviour.

    Have you any thoughts around this scenario?

    Thanks
    Jamie
    http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson

Answers

  • Monday, November 10, 2008 7:23 PMRong Cao MSFTMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Hi, Jamie,

    Please correct me if I'm wrong. You want to use cloud as a pass-through of data to devices. So the data won't take your quota. Sounds like a nice feature to have. For the moment, I guess you have to save the music to a live folder which will sync down to devices. It will take the quota. But manually you can move the music to live folder which do only P2P and remove them from original folder. The original folder will become cache. I will pass the requirement to our backend folks to think of ways doing it.

    THanks

    Rong Cao MSFT

  • Monday, November 10, 2008 7:42 PMJamie ThomsonMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    Rong Cao MSFT said:

    Hi, Jamie,

    Please correct me if I'm wrong. You want to use cloud as a pass-through of data to devices. So the data won't take your quota. Sounds like a nice feature to have. For the moment, I guess you have to save the music to a live folder which will sync down to devices. It will take the quota. But manually you can move the music to live folder which do only P2P and remove them from original folder. The original folder will become cache. I will pass the requirement to our backend folks to think of ways doing it.

    THanks

    Rong Cao MSFT



    Hi Rong,
    Spot on. I have a music library that is larger than 5GB so I can't sync it to the cloud however I still want 3rd parties to have the ability to push stuff directly into that folder.

    The workaround you describe is exactly what I would have to do today.

    Thanks
    Jamie
    http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson

All Replies

  • Wednesday, November 05, 2008 3:31 PMGeorge Moore [MS]ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Proposed Answer
     

    Jamie,

     

    It is possible for a developer to sync data between two Mesh Objects (or Mesh Folders) between devices without having the data contained within that object actually stored in the cloud.  There are a variety of ways, depending upon how much control you wish to have over the synchronization operation, where you can subscribe and receive change notifications to Mesh Objects in a P2P manner, locally examine the metadata about the new remote Mesh Objects on the remote device, and then to P2P sync that data from the remote device to the local device as you may see fit.  All without having the payload data realized within the cloud.

     

    If you watch the Live Services: Notifications, Awareness and Communications talk from the PDC, specifically starting 37:21 into the video, you’ll see how you can implement this scenario using the current CTP release:

     

    http://channel9.msdn.com/pdc2008/BB34/

     

    It’s mostly a simple matter of mapping a device ID (as seen in the feed hierarchy) to a specific Mesh Object, and the LOE takes care of establishing the right connectivity to that device either though direct P2P if it’s on the same LAN, or using the Messenger relay service to provide cloud-based rendezvous and signaling across NATs.  This is the same Messenger relay service that powers Live Messenger's billions of IM conversations.  Once that mapping has been established, the LOE will synchronize the data from the remote device to the local device through those same P2P means.

     

    The LiveFX libraries provide the higher-order wrappers for these operations so that you do not need to code at the HTTP/REST protocol level.  But of course you’re always able to hook in at that lower AtomPub/Feedsync level if you need more precise control over the low-level operations.

     

    The only limitation with the current CTP is that you cannot yet stream data “directly” to that device (I put directly in quotes because the LOE will always attempt to find the most efficient route to that device, which may include a fall-back to the Messenger relay service).   We will offer direct P2P streaming in the future, but not in this CTP release.

     

    Sincerely,

    George

     

  • Wednesday, November 05, 2008 4:14 PMJamie ThomsonMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi George,
    I don't think I explained myself very well (either that or I didn't understand your reply, for which I apologise).

    Imagine I'm browsing a 3rd party site from a device that isn't on my Mesh (perhaps I'm in an internet cafe). In that case I'm not going to have the ability to save the mp3 to anywhere OTHER than the cloud. But what happens if i attempt to save the mp3 into a meshObject that the cloud knows about but which isn't synced to the cloud?

    I haven't tried this against the latest LOE but I did try it a few months ago and the results were a little bit wacky. here's what I reported on the private newsgroup:

    If you choose not to sync a Mesh folder to Live Desktop then you can
    still see the folder structure in Live Desktop, there's just nothing
    in the folders. This is a handy feature to have in my opinion.

    So, here's a question for you. What SHOULD happen if you use Live
    Desktop to upload a file into a folder whose contents are not synced
    to Live Desktop?

    Not an easy one to answer is it? Well whatever you think it should do,
    I'm pretty sure you wouldn't expect that:
    1) The file would stay in Live Desktop
    2) It wouldn't get synced to any of my devices
    3) My newsfeed for the folder gets filled up with information about me
    adding thousands of files to the folder (which is untrue)

    Well that's what happens .. as I reported here:
    http://social.microsoft.com/forums/en-US/LiveMesh/thread/a18bfa66-a910-4bea-a9a1-72975dc1870a A picture speaks a thousand words so there
    is also a link in there to a screenshot of this.


    Does that make it any clearer? 
    -Jamie


    http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson
  • Friday, November 07, 2008 6:06 PMVikas-AhujaMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Jamie - can you please log a suggestion for this scenario in connect site? thanks a lot!
    This posting is provided "AS IS" with no warranties, and confers no rights.
  • Friday, November 07, 2008 7:34 PMGeorge Moore [MS]ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Proposed Answer
     

    Jamie,

     

    If I understand the issue, you’re asking about the following scenario:

     

    1.       You’re using a locked public kiosk computer or device where you cannot install Live Mesh nor any other application.

    2.       You’re browsing a third party website from that device, and that site wishes to download and save an MP3 file.

    3.     You wish to save the MP3 to your Mesh, but you have no ability to download the MP3 locally and to save it to your local desktop for later upload to your Live Desktop.

     

    Is that a correct summary of the scenario?

     

    If that is the case, then you really can’t download, save or sync anything if you can neither change your local locked client or change the third party website.   

     

    If you can install a local app to the kiosk machine, that app could prompt for your LiveID name/password, authenticate to the Cloud LOE as you, find the right Mesh Object, and save the MP3 to that object.  This help topic details how a rich client application can authenticate against the cloud resources.

     

    If you can’t install a local app but you are the author of the third party website which is being used, then you could allow your users to save their MP3s directly into the Mesh using the Delegated Authentication mechanisms in LiveFX.  This help topic details how delegated authentication works.

     

    If neither of these are true, then I still quite don’t understand your scenario.  Feel free to send me mail (privately) to georgem “at” ms.com (where “ms.com” is replaced with “microsoft.com” to avoid auto spammers).

     

    Sincerely,

    George Moore

     

     

     

     

     

     

     

     

     

     

     

     

     

  • Monday, November 10, 2008 7:23 PMRong Cao MSFTMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Hi, Jamie,

    Please correct me if I'm wrong. You want to use cloud as a pass-through of data to devices. So the data won't take your quota. Sounds like a nice feature to have. For the moment, I guess you have to save the music to a live folder which will sync down to devices. It will take the quota. But manually you can move the music to live folder which do only P2P and remove them from original folder. The original folder will become cache. I will pass the requirement to our backend folks to think of ways doing it.

    THanks

    Rong Cao MSFT

  • Monday, November 10, 2008 7:42 PMJamie ThomsonMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    Rong Cao MSFT said:

    Hi, Jamie,

    Please correct me if I'm wrong. You want to use cloud as a pass-through of data to devices. So the data won't take your quota. Sounds like a nice feature to have. For the moment, I guess you have to save the music to a live folder which will sync down to devices. It will take the quota. But manually you can move the music to live folder which do only P2P and remove them from original folder. The original folder will become cache. I will pass the requirement to our backend folks to think of ways doing it.

    THanks

    Rong Cao MSFT



    Hi Rong,
    Spot on. I have a music library that is larger than 5GB so I can't sync it to the cloud however I still want 3rd parties to have the ability to push stuff directly into that folder.

    The workaround you describe is exactly what I would have to do today.

    Thanks
    Jamie
    http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson
  • Monday, November 10, 2008 8:16 PMVikas-AhujaMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Hi Jamie - Please log this as a suggestion. thanks!
    This posting is provided "AS IS" with no warranties, and confers no rights.
  • Monday, November 10, 2008 8:28 PMDanny ThorpeMSFT, ModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Jamie,

    Sounds like a message queue to me.  There would still have to be a capacity quota to prevent abuse, but this could work even if it took from your existing storage quota.  Your media library isn't stored on the mesh, but things can be sent to it through the mesh.

    This is a fundamentally different use pattern from the current sync models (hub & spoke, P2P).  Definitely an interesting use pattern to pursue (IMO) but we have to be careful that it doesn't devolve into becoming yet another email system.

    -Danny
    http://dannythorpe.com
  • Monday, November 10, 2008 8:32 PMJamie ThomsonMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vikas Ahuja MSFT said:

    Hi Jamie - Please log this as a suggestion. thanks!


    This posting is provided "AS IS" with no warranties, and confers no rights.



    Done
    https://connect.microsoft.com/liveframework/feedback/ViewFeedback.aspx?FeedbackID=381012

    http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson
  • Monday, November 10, 2008 8:36 PMJamie ThomsonMVPUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Danny Thorpe said:


    Sounds like a message queue to me.  Your media library isn't stored on the mesh, but things can be sent to it through the mesh.


    Yeah, that's a good way of looking at it. Same problem, different angle.

    Thanks guys. Glad I finally explained it properly :)

    http://jamiethomson.spaces.live.com/ | http://blogs.conchango.com/jamiethomson
  • Wednesday, February 11, 2009 7:31 PMOran Dennison Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    It appears ZumoDrive (a Mesh competitor) may handle this scenario.

    "I was impressed by these subtle touches: the ability to integrate MP3 files from the cloud right into iTunes and a way to mark a file for local storage as needed."


    http://orand.blogspot.com