October, 2008 - Live Mesh - Site Home - MSDN Blogs

October, 2008

Live Mesh

Here, There, Everywhere...

  • Live Mesh

    New Live Mesh videos up today


    While you're waiting for the beta update to complete, The beta update is complete, but still: why not entertain yourself with the latest and greatest Live Mesh video content?  Posted fresh today:

    Ori Amiga's amazing Live MeshMobile (pronounced, Ori asks us to tell you, like 'BatMobile' :) demonstration:

    Ori Amiga: MeshMobile

    Noah Edelstein gives a tour of the new Mac client:

    First Look: Live Mesh Client for Mac


    If you're interested in more details on the Live Services and Live Framework that you can use to make your own applications interact with data and devices in the Mesh, Ori's PDC session is a must-watch: http://channel9.msdn.com/pdc2008/BB04/


  • Live Mesh

    Update on installation of Live Mesh for Mobile


    Since rolling out the latest Live Mesh release this afternoon, a number of customers have reported trouble installing the Live Mesh for Mobile software. We have identified the problem and are currently working on a new build. We don’t yet have an estimated time of availability, but we will post updates here, on the blog, as we know more.


    In the meantime, please do not try to install the Live Mesh for Mobile software on your mobile phone because installation will fail in most cases.


    Thank you for your patience as we work to get this issue resolved quickly.


    The Live Mesh Team

  • Live Mesh

    Update on installation of Live Mesh for Mobile – FIXED!


    Thank you for using the Live Mesh for Mobile client! For users who saw a failure to add their mobile phone to their mesh, we have deployed an updated build of Live Mesh for Mobile. You will need to download the Mobile Installer from http://m.mesh.com/install/wm6/LiveMesh.cab again.  Once you have the new installer on your phone, run it and the installed client will be upgraded to the new version. The new Mobile Live Mesh Client is version number 0.9.3424.6 (check this through Menu -> About). Now you can start Live Mesh, sign in, and you should be good to go.


    Currently Live Mesh for mobile devices is provided only on a limited basis in the US and UK. (UPDATE 2: Live Mesh for Mobile in the UK is currently full, in both the US and the UK. We know many of you are excited about trying Live Mesh with your mobile devices, so we'll be adding more spots very soon - stay tuned!) If you have a Windows Mobile 6.x client, click on one of the following links (US residents, UK residents).  Sign in with your LiveID, and you’ll be redirected to the device ring where you’ll see a link to “Use Live Mesh for mobile devices.”  Alternately, once you’ve signed in this way, the mobile client should be available for download by pointing your phone’s browser to http://m.mesh.com.


    Thank you for your patience.


    The Live Mesh Team


  • Live Mesh

    Service update: Beta and required client upgrade (0.9.3424.5)


    Whooooo boy, today is a big day for Live Mesh.  We are about to begin rolling have finished rolling out an update which brings our service and PC software to beta with significant new features, and includes the first technology previews of the Mac and Windows Mobile clients.  Details below.  We blogged on Tuesday about how the combination of this platform experience beta, the additional devices, and the CTP of Live Services and the Live Framework are significant milestones on the path to bringing our software + services vision to life.

    As we noted previously, users of the Technology Preview version will find that their clients must update to this latest version in order to continue participating in Live Mesh . We will update the blog here when the rollout of services is complete and the new client software is available. The new client software is now available! 

    New features:

    ·         New devices supported.  We are delighted to release our client software for Mac OS X (10.5 or higher, Intel processesor) and Windows Mobile (6.0 and 6.1).  Because these are both significant new software investments for us, we’re going to only provide them on a limited basis for now (and mobile is restricted to only US or UK to start.)  If you get a message saying that we’re at full capacity for these clients, keep an eye on the blog here.  We’ll post updates as we increase availability over the coming months.

    ·         To get access to the Mac client, sign in to www.mesh.com, click Add Device, and then click the “Limited Mac Tech Preview now available” link underneath the Install button.  If we haven’t exceeded the limit for Mac clients, you’ll get a confirmation dialog, and then Mac will show up under the available list of devices when you choose Add Device from the ring.

    ·         To get access to the Windows Mobile 6.x client, click on one of the following links (US residents, UK residents).  Sign in with your LiveID, and you’ll be redirected to the device ring where you’ll see a link to “Use Live Mesh for mobile devices.”  Alternately, once you’ve signed in this way, the mobile client should be available for download by pointing your phone’s browser to http://m.mesh.com

    ·         Worldwide availability. We’ve removed the limits on what countries are able to sign up to use Live Mesh.  We previously had limitations in place so that we could complete our testing with various language and locale settings, and now that work is indeed complete (with the caveat of course that for now the mobile client, as mentioned above, is not actually available worldwide).

    ·         WAP access.  Some of you already discovered that browsing http://m.mesh.com from your WAP-enabled phone gives you a lightweight way to view Mesh content (and, on phones that support it, upload new files.)  We’re now making WAP an officially supported feature.

    ·         Folder roles/permissions. Members of a folder can now be assigned one of the following roles to control their access rights: creator, owner, contributor, and reader. Previously, the only permission level (aka “role”) you could set for a member was “owner,” which meant that all members had the same control over the contents of a folder (adding, changing, deleting) as you did. Now, you can assign specific permissions for each member in a Live Mesh folder. Want members to be able to read what’s in a folder, but not change any content? Make them readers. Want them to be able to add to the folder, but not invite other users? Make them contributors.

    ·         Automatic update is now available for the Live Mesh software.  This has been a common user request, and we’re taking a first step towards making it possible for your Mesh client software to update itself automatically, without you having to click on any links.  In this Beta release, automatic update works like magic if you chose not to install the extra enhancements that required administrator rights.  If you did install them, we still have to prompt you to update so that you can click through the UAC elevation prompt and give us permission to update administrative components.  We will continue to work on streamlining this process for you in future releases.

    ·         P2P sync can be managed from your computer. When we first enabled P2P sync, you had to go to the Live Desktop to change the sync settings for a folder so that it would no longer synchronize with your Live Desktop and eat up your 5 GB storage limit. We heard from many customers that this was not very intuitive (and we agree: it wasn’t). Now you can change this sync setting from the Live Mesh software on your computer, without having to visit the Live Desktop at all.

    ·         You can drag and drop files to folders on your Live Desktop. One of the most frequently requested features since we opened Live Mesh as a technology preview in April has been the ability to drag and drop files and folders to and from your Live Desktop. We’re extremely happy to be able to say: You can do this now! This makes the Live Desktop experience much more intuitive and even more aligned with Windows. Note that the drag-and-drop feature currently only works with a Windows PC and Internet Explorer 6 or later.

    ·         You can select multiple files for upload or download. In addition to drag-and-drop, you can now use SHIFT and CTRL to select multiple files/folders when uploading them to your Live Desktop.

    ·         Added new synchronization status indicators. If you’ve been using Live Mesh to sync a lot of data, you’ve probably found yourself wondering at some point how far along the synchronization process was. We’ve added an icon to the notification area of the taskbar and a progress bar so that you can tell at a glance how your folder sync is coming.

    ·         “Get started” feature added for new users. Quick tips on how to start using Live Mesh appear on the Live Desktop and when new users install the Live Mesh software. Great for friends and family you invite!

    Additional improvements:

    ·         Improved peer-to-peer (P2P) reliability and performance. P2P synchronization is an integral part of how Live Mesh keeps your data current across all your devices. Most of the time, P2P sync happens in the background without you having to worry about it. When Live Mesh tries to update a file on one of your devices, it will leverage whatever connections it can, sometimes pulling from your Live Desktop (the “cloud”), other times pulling from your other devices. You can also choose to have some folders only sync P2P by choosing to never synchronize those folders with your Live Desktop. We have made numerous improvements to P2P sync with this release of Live Mesh. We’re now regularly testing synchronization of folders as large as 60GB, and we’ve also had success synching a single file as large as 20GB.   

    ·         Hidden remote screen is now the default for Live Mesh Remote Desktop. We heard feedback from many customers that they’d like to see this feature turned on by default to help ensure the privacy of their remote desktop feature.

    ·         Improved conflict resolution. The user interface (UI) for resolving conflicts has been updated to be easier to use. You’ll also now see the same conflict resolution UI between the Live Mesh software on your device and the Live Desktop on the web. And, when resolving a conflict, you’ll be able to choose keep either version of a file or all versions.

    ·         The Live Mesh bar appears minimized by default, and remembers its previous state. When you create a new Live Mesh folder, the mesh bar (appears when you open a Live Mesh folder) will now appear minimized by default. The mesh bar will also remember the last state it was in (minimized or maximized) for each Live Mesh folder, and show that state the next time you open the folder.

    ·         Better support for large display configurations using Live Mesh Remote Desktop. We’ve added a new “superpan” feature to improve support for large desktop display configurations (e.g., high-resolution displays or multiple monitors).

    ·         Added support for two-factor authentication for Live Mesh Remote Desktop. Enterprise customers can now require two-factor authentication (both domain password and smartcard) for Live Mesh Remote Desktop on networks, or choose to disable the Live Mesh Remote Desktop functionality altogether. (Update: the ability to disable the Live Mesh Remote Desktop functionality was going to be part of this update, but wasn't quite ready.  We apologize for the confusion.)

    ·         Install Live Mesh with roaming profiles.  The Live Mesh client now supports installing to a user account with roaming profiles.  Previously users may have noticed an inability to sync or remotely access devices that use roaming profiles.

    Windows Vista User Account Control (UAC) reminder

    While we no longer require that UAC be turned on when running Live Mesh on Vista SP1, if you initially installed Live Mesh with UAC turned on, and then turned it off, you might have some issues upgrading. Please see “NOTICE: Updating Live Mesh and User Account Control (UAC)” in the Known Issues sticky on the Live Mesh forums for further information.

    Thank you for helping us test Live Mesh!

    Technorati Tags: LiveMesh

  • Live Mesh

    Live Framework from the architect's perspective


    We just posted a great video on Channel 9 with Dharma Shukla, the architect of the Live Framework.  If you're wondering what the design goals were for Live Framework and how it's structured under the covers, check this out:

    Dharma Shukla: Inside Live Framework


  • Live Mesh

    Welcome to Beta




    Abhay Parasnis here, General Manager for Live Mesh.  Today is a big day for Live Mesh, but before going into details, I want to thank all the existing users of our Live Mesh technology preview.  We REALLY appreciate the great suggestions and enthusiasm so many of you have provided.  Hopefully you have seen how your input has influenced the evolution of the offering.  Our announcement today should provide another example…


    We are delighted to announce that Live Mesh is going into open Beta over the course of this week and includes several new features (see below) that enhance the experience by giving users more control, increased reliability, and improved performance. With all the PDC news it’s also worth restating what exactly Live Mesh is.  Live Mesh is an experience that is natively integrated with the Live Services component of the Azure Services Platform – it makes the core functionality of Live Services available to end users.


    Our efforts with Live Mesh arise from the two dominant trends in the industry today where the web is more and more central to our digital lives, and where we are adopting a wider diversity of increasingly powerful devices.  As we take advantage of this new digital world, our experiences often become fractured and complex.  We create and accumulate massive amounts of data, and the information and applications we care about reside on different devices and are spread across the web.  We also interact with a broader array of people, struggling to stay connected with them and informed of the latest happenings.  Users want, and increasingly, demand a seamless “just works” computing experience that brings together their devices, their data, their applications, and the people they interact with.


    Live Mesh provides downloadable software for PC’s and a service on the Web that extends the Windows experience for seamless synchronization of files (photos, documents, etc) and apps, across devices, and enables easy sharing with people – concepts we focus on in our mantra of ‘data, devices, people, and applications’.


    Back in April when we did the initial tech preview release of Live Mesh we emphasized a vision for how the offering would bring together your world of devices – a starting point to deliver on the data, devices, and people aspects of our vision.  With this beta release we are making another significant step toward this goal.  In particular… with this Beta we are providing limited availability of our new Mac and Windows Mobile 6 clients – providing users with a wider range of devices that can participate in their mesh.  Later this week as the beta rolls out, access to the Mac client will be provided from the device ring experience at www.mesh.com.  Instructions for accessing the Windows Mobile client will be made available at this blog later in the week.


    When we did the initial tech preview release we also emphasized how the underlying platform would be made available to developers later in the year.  We delivered on this promise with the announcement today that the Live Framework – a uniform way for utilizing all the Live Services including the mesh platform technologies – is now available as a Community Technology Preview.  This CTP includes several applications we have built that are enhanced and run in the mesh.  With this developer release, we are starting to realize the “applications” portion of the Mesh vision. This means that in the near future our full ecosystem of developer partners will be able to enhance their applications with mesh technologies providing even more value to our Live Mesh users.  Also with our Live Services announcements, we are delivering in a bigger way against the people element by enabling developers to build applications that integrate with the more than 460 million Windows Live users.   To learn more about our Live Framework CTP, please check out www.azure.com.


    After this year, Live Mesh will be utilized in the next major release of Windows Live.  This is the first planned integration and ship vehicle for Live Mesh, and there will be others as we continue to deliver on our overall Software-plus-Services strategy.


    We hope you are as excited as we are about this milestone – thank you again for helping us evolve Live Mesh!


    Live Mesh New Features include…

    ·         Additional Live Mesh folder member roles have been enabled:  Creator, Owner, Contributor, and Reader

    ·         The option to drag and drop files to folders on Live Desktop

    ·         The option to sync Live Mesh folders P2P only, excluding your Live Desktop, can now be enabled from the local device

    ·         Improved Peer to Peer synchronization performance and reliability

    And many more…


    For more details on Live Services, check out David Treadwell's interview with Channel 9:

    David Treadwell: Inside Live Services



    Technorati Tags: LiveMesh


  • Live Mesh

    How does Live Mesh relate to Azure?


    In his PDC keynote just now, Ray Ozzie announced the Azure Services Platform.  Here's the overview picture:


    The Live Services box at left is home to the developer services and APIs that power the Live Mesh platform experience.  Think of it this way: Live Mesh is a platform experience that is natively integrated with the Live Services component of the Azure Services Platform – it makes the core functionality of Live Services available to users. 

    Much more detail on Live Services for developers to come tomorrow!

    Technorati Tags: ,,,
    [Update: edited for clarity]
  • Live Mesh

    Live Services and Mesh at PDC


    PDC opens tomorrow, and while we previously pointed out some of the key Mesh-related Live Services content, we've changed our titles and released information on a few more sessions.  So here's a refreshed list of ways to find us at PDC.  Keep in mind that a recording of each session should be at the URLs below within 24 hours after the session completes.  We'll also have some cool content coming on channel 9 and 10, we'll be posting links as that all comes online.

    Monday: we don't have any Mesh-related sessions on Monday, because we're saving some fun announcements for David Treadwell's keynote Tuesday morning.  You'll be able to find us for a chat in the Big Room, though -- look for the Live Services demo station just to your right as you walk in the main doors to the lounge/labs area, aka The Big Room (in the printed mini-guide, we're the area shaded dark red on the LACC Floor Plans page).  10 points and an invite to drinks with the Live Services team to anyone who can make us break and spill the beans before the keynote (and -100 points and booth cleanup duty to any team member who becomes a bean spiller ;)

    Tuesday: after the keynote ends, the Mesh fun begins!




    Technorati Tags: ,,
  • Live Mesh

    Heads up: required update to Live Mesh coming next week


    With PDC just around the corner, we will be releasing the next update to Live Mesh, and it’s a major one. In fact, this is the most significant update to Live Mesh since we opened as a technology preview back in April. We know that many of you are going to be excited to see all the new features and fixes this release will bring (and there are a lot of them, many in response to your requests.)  In the spirit of openness with you, our technology preview customers, we’d like to take a little time today to talk about what the update experience is going to be like—and why.

    For all the previous updates to Live Mesh that we’ve released since the tech preview began in April, customers were notified (via a little pop up above the Live Mesh notifier) that updates were available. When you were ready to update the Live Mesh software on your device, you clicked on that notification and the process began. If you chose not to update right away, though, that was okay—Live Mesh continued to work uninterrupted. With this update, however, things are going to be a little different. Specifically, all Live Mesh users will have to update their Live Mesh software to continue using the product. This time, you won’t be able to wait to update Live Mesh—in order to keep using it, you’ll have to update the software, and until you do that synchronization and Live Remote Desktop will not be available.  There is a fairly straightforward reason for this: we are upgrading our software and services to support an open beta, and to handle that scale we need to get all of our existing users onto these new systems quickly.  For this particular release, we are forgoing backwards compatibility in favor of making the new set of features as broadly available as possible.  Once you see how much Live Mesh has grown, we think you’ll agree that this was the right tradeoff!

    We hope the advance warning reduces the amount of interruption this upgrade might cause. We will, of course, let you know before we begin to actually deploy the new update—we just wanted to make sure all our valued early adopters were “in the know” right from the start.

    Stay tuned for lots of Live Mesh and Live Services news from PDC over the next week, and thank you to all of you for the great feedback you’ve provided over the last six months. Live Mesh wouldn’t be where it is today without all of you!

    Technorati Tags:
  • Live Mesh

    Behind Live Mesh: The Pub-Sub System


    Hey there! I’m Viraj Mody, a developer on the Live Mesh services team. I bet some of you are curious about how the Live Mesh software running on your devices detects when others add files to your shared Live Folders, quickly changes icon colors when devices go from offline to online, or updates your Live Mesh News Feeds as changes occur. This post will give you some insight into the facilities we’ve built in the Live Mesh back-end that enable client applications to do all of the above and much more.

    In order to be responsive and perform well, Live Mesh, like most other software + services systems, requires that the cloud (services) be able to send out-of-band messages to clients (software). Most actions initiated by the client (MOE and Live Desktop) are triggered as a result of these messages sent from the Live Mesh services cloud to that specific client. These could be messages informing the client that items in the cloud have changed, that another client wants to initiate a peer-to-peer connection to this client, and so on. Such out-of-band messages that the cloud sends to clients are called Notifications. In order to keep the overall system performing well and to safeguard the privacy of clients, it is important that a client only receives Notifications for items it is interested in and has permissions to access. Each client has the ability to tell the cloud what items it is interested in monitoring. This expression of a client’s interest in changes to specific information in the cloud is referred to as a Subscription. Together, these Subscriptions and Notifications form the building blocks of Live Mesh’s Pub-Sub System.

    In this post, I’ll go over the different back-end services that comprise the Pub-Sub System and provide an overview of how the system works end-to-end. In many ways, the Pub-Sub System can be understood by comparing it with a ‘secure and smart postal service’, where the post office only sends you mail that you’re interested in receiving and that the sender says you have permission to receive. A spam-free postal system – wouldn’t that be awesome!

    Establishing a Communication Channel

    For the Pub-Sub system to be effective there must be some way for the cloud to identify and communicate with each client. Live Mesh exposes facilities that allow clients to create a Queue which is uniquely associated with that particular client and assigns a unique name that is used to identify this queue. When creating a Subscription to a specific item, the client passes along its unique Queue name which allows Notifications to be delivered to that Queue. Going back to the postal system analogy, this Queue is like the mail box outside your home, and the unique name of the Queue is like your mailing address. Similar to how the postal system ensures that mail addressed to you only ends up in your mail box, Live Mesh services ensure that Notifications for a given client end up only in that client’s Queue.

    The client is responsible for retrieving Notifications from its Queue. By separating delivery of Notifications from the act of retrieving them, the architecture enables various transport types to be used to retrieve Notifications from a Queue. Currently, the Live Mesh service cloud exposes two transports for retrieving these Notifications – HTTP and TCP. Given the pervasiveness and ease of use of these two transports, these were the first types we decided to support. As our service offering and scope grows, we can enable more transport types without major changes to the back-end architecture. Using the HTTP resource model exposed by the Live Mesh services, clients can choose to periodically fetch Notifications from their Queue. Using TCP enables clients to establish a long-lived connection to the Live Mesh service cloud so that Notifications can be pushed to clients as soon as they arrive. Different clients have different behavior, requirements and constraints – by providing various transport types we can enable several classes of clients and applications to leverage Live Mesh’s Pub-Sub system. Of course, these communications are encrypted and only the owner of a Queue can retrieve Notifications from it. It’s important to note that as it currently stands, the Queue and related services only support unidirectional messaging. Messages from clients to the Live Mesh service cloud do not flow via the Queue. Also, as of writing this post, the Live Mesh client available for Tech Preview doesn’t yet leverage the TCP transport solution – it will in a future release.

    Besides change Notifications, the client’s Queue is also populated with a special type of Notification when another client wishes to initiate a peer-to-peer connection. Only authorized clients are allowed to send such peer-to-peer invites. The purpose of the peer-to-peer connection might be for file exchange and sync, for Live Remote connections, etc. Details about our peer-to-peer design can be found in this Channel 9 video.

    All Queues and Queue-related information are managed by the Queue Service. Like other services described later in this post, the Queue service is a transient-state service and is built to scale horizontally. I’ll touch on both these characteristics of the services later.

    Creating Subscriptions

    Once a client has created its Queue, it can create Subscriptions to items in the Live Mesh cloud that it wants to stay current on by providing its Queue name along with the Subscription. Typically, each Live Mesh device creates Subscriptions for user/device presence, for each Live Folder’s various feeds (Membership, Contents, etc), for the news feed, and so on. In order to create a Subscription for a specific item, the client must provide proof that it has privileges to access the item. Once these Subscriptions have been created, the system ensures that the client will be informed when any of the items it has subscribed to are changed – each Notification that is delivered into the client’s Queue contains information about which specific resources has changed, in addition to other potentially interesting information about the changed resource.

    Subscriptions created by clients are held in the PubSub Service. It is responsible for maintaining information about which client is interested in what item and for fanning out Notifications to the right clients when an item changes. You can think of it as the central post office of the ‘secure and smart postal system’ which acts as the one location for collecting all mail and then routing it onwards to the right destination. Just like the Queue Service, the PubSub Service is a transient-state service and is built to scale horizontally.

    End-to-end Flow

    Once a client has created a Queue and all its Subscriptions, it doesn’t aggressively keep refreshing information from the cloud. If using the HTTP transport to talk to its Queue, the client periodically polls the Queue to check for any Notifications that may have arrived. In cases where it’s using the TCP transport, the client is waiting for a Notification to be pushed down to it over the TCP channel. When an item changes in the cloud (let’s say, a file was added in a folder that the client has expressed interest in knowing about), the service responsible for that item (in this case, the storage service) informs the PubSub Service that the item has changed. The PubSub Service, which has been keeping track of all clients who are interested in that particular item, drops an appropriate change Notification in each interested client’s Queue. As soon as clients retrieve these Notifications (or as soon as the Notification is pushed to them) they can react. In the case of a new file being added, they might choose to begin initiating a peer-to-peer connection in order to sync the new file.

    In our ‘secure and smart postal system’ analogy, this is equivalent to a magazine publisher informing the post office that a new edition is available, and the post office dropping a letter in each subscriber’s mail box informing them that a new edition is available. Optimally, the magazine publisher could also deliver one copy of the latest edition to the post office and the post office could be smart enough to create the right number of replicas and deliver a copy to each subscriber’s mail box. Here’s where the ‘smart’ in ‘smart and secure’ could come in!


    Pub-Sub System end-to-end flow

    Transient State Services and Scale-out

    As I mentioned previously, all services that comprise the Live Mesh Pub-Sub System are transient-state services. Queues created by clients, Notifications that are delivered to specific Queues and Subscriptions representing a client’s interest in a particular resource are only ever held in memory and never persisted to any kind of store. As you might probably guess, performance was one of the biggest motivators for this design. Pub-Sub is characterized by short-lived rapidly changing data and data that needs to be readily available. Short-lived and changing because Queues, Subscriptions and Notifications are, by nature, transient – once a Notification is delivered to its intended recipient, it’s of no use; once a client is offline or doesn’t care about receiving Notifications, its Queue is of no use; Subscriptions could come as and go as application state changes. Data must be readily available because subscriber lists can often be huge, so retrieving them from persistent stores can introduce latencies that only increase as the service grows in size. Holding these in memory allows reads and writes to be processed very fast. Since they live in memory, both Queues and Subscriptions have lifetimes associated with them – clients must perform certain actions (some explicit, some implicit) to keep Queues and Subscriptions ‘alive’ and prevent associated resources from being reclaimed by the server. Given the initial wave of Live Mesh experiences and applications, having these be transient-state services definitely helps ensure high throughput and low latency. Of course, the fact we chose to implement the system as a transient state system is an implementation detail – as the product evolves and use cases changes, there might be reasons to prefer some kind of hybrid approach.

    The system is also designed to enable horizontal scale-out. As the system needs more space to hold Queues and Subscriptions, we can bring up new instances of these services to increase capacity. Using a scheme based on consistent hashing, the Live Mesh services cloud guarantees that there is ever only one specific server instance that can ‘manage’ a given Queue or Subscription. The system also enables routing of messages for specific Queues and Subscriptions to the correct current manager. As new service instances come online and others go offline, the system automatically re-balances the distribution of Queues and Subscriptions to the currently available servers such that every Queue or Subscription is managed by one and only one server instance.

    One of the obvious concerns with the system being implemented in-memory only is data recovery – when servers go down because of hardware/software issues, are re-booted, or otherwise need to be reset, all data resident in memory on those servers is also gone. For Queue Service instances, this implies that Queues belonging to several clients and potentially interesting Notifications in those Queues might be gone. For the PubSub Service, several subscriber lists might be lost when a server loses state. This is a problem we spent a huge amount of time addressing and designing for, and probably deserves a post of its own at some future time. A short summary of the solution is that in cases where one or several Queue and/or PubSub Servers go down, the system is able to detect exactly what happened and take remedial action to restore state in the cloud in cooperation with clients (because clients were the original source for all the transient data that was resident on those servers before they lost state).

    Parting Notes

    As the future scope of the Live Mesh experience, services and platform evolves (for instance, potentially allowing third-party services to subscribe to items in Live Mesh, enabling aggregators to leverage Live Mesh Pub-Sub, etc), the current Pub-Sub System architecture will hopefully provide a good scalable foundation which we can leverage to rapidly increase capabilities of the service.

    We’re working on exposing Pub-Sub capabilities via the Live Mesh SDK when it becomes available so that developers can leverage the system in innovative ways to build responsive applications. Be sure to visit the Live Mesh Developer page and join the developer waiting list for announcements around the Live Mesh SDK when it’s available.

    I hope this post gives a little more insight about how things work behind Live Mesh. Be sure to install Live Mesh on all your devices, give us feedback and report any issues you see!

    Technorati Tags:
  • Live Mesh

    Service Update


    We're doing some server maintenance over the next couple days to update some of our configuration information.  During this time you may experience Live Mesh service outages, including Live Mesh folders that are not synchronizing, or an inability to establish Live Mesh Remote Desktop connections to your devices. We'll update here once we've completed this work.  Thanks for your patience as we get everything patched up.

    UPDATE: We've completed the work mentioned above.  Some users have reported issues with their devices appearing in the offline state and not available for Live Remote Desktop connections.  To bring your device back to a healthy state, you need to exit and restart the Live Mesh client software, and then also stop and restart the Remote Desktop services (either net stop/start wlcrasvc, or just reboot).  Step by step directions are at http://social.microsoft.com/Forums/en/LiveMesh/threads/ under the "Live Remote Desktop Issue" thread.

    Quick background: our updates this week involved a regularly scheduled update of some of the certificates we use to identify devices in the Mesh and to encrypt traffic sent to or through our servers.  We've discovered some cases where the client software doesn't pick up all the right updates unless you follow the particular order above (restart the client software/notifier first, then restart the remote desktop service.  As always, we appreciate your help in tracking down these kinds of issues in our Tech Preview.

    Technorati Tags:
Page 1 of 1 (11 items)