Here, There, Everywhere...
Howdy! This is Richard Chung, a client developer for Live Mesh. You can find me blogging sporadically as DevDuck over on red hot place. I was one of the first developers on the Live Mesh team—I’ve been working on this stuff for over 2 years now and have been itching to talk about it!
By now, you’ve read all about Live Mesh. Hopefully, some of it makes sense to you—you might even be able to envision how it can dramatically change the way you manage data across your devices, share and interact with your friends and family, and collaborate with peers or partners! If not, that’s ok. The whole concept of Live Mesh will become clearer in the months ahead, especially as more applications and experiences are created on top of the platform.
Software + Services
When you were first introduced to Live Mesh, you probably played with the Live Desktop. It’s pretty snazzy. Maybe you even uploaded a few files too. Hey, it’s a cool service! You can store stuff in a cloud somewhere and access it anywhere using a webpage. Great!
As I look at the statistics on the service though, I notice that a significant portion of our users have stopped here. This pains me, as there’s a whole lot more you can do with Live Mesh. Didn’t you hear all the hoopla about Software + Services? Ever wonder, “Where’s the software?”
You might have noticed that on the device ring there’s a big orange button with a white ‘+’ sign. The magic happens when you click that big orange button and opt to “add a device” to your mesh. Click “Install” and you’ll download and install a very small program onto your machine. Once set up, you may notice a process called MOE.exe running on your computer. What exactly is MOE?
MOE: Mesh Operating Environment
MOE is an acronym for the “Mesh Operating Environment.” MOE is a service composition runtime that provides a unified view of all Live Mesh services and a simple way for applications to interact with Live Mesh. MOE is everywhere—it’s on all devices in your mesh (as “client MOE”), and it’s in the cloud (“cloud MOE”). The two are quite similar; they provide a symmetrical and consistent programming model between client and cloud. If you’re a developer, you’ll be able to take advantage of these flexible points of entry to Live Mesh in the way that’s most natural for you.
That’s a lot to digest. I won’t go into the developer story today; you’ll see more of that in the months ahead. For the purposes of this post, I’ll only focus on client MOE. Client MOE is at the heart of every device connected to your mesh, be it your PC or Mac or mobile.
The goals for client MOE are simple. Here are some of them:
· To allow seamless access to a user’s mesh and all the data in it;
· To abstract away common functionality, like synchronization protocols;
· To allow existing applications to participate in a user’s mesh, by optionally leveraging the local file system;
· To provide a seamless online/offline experience (also known as “occasionally connected”) by synchronizing and caching metadata from the cloud;
· To update seamlessly, providing new features and fixes in the platform; and
· To use minimal system resources, running in the background all the time.
You’ll notice that the idea of “seamlessness” really runs through these tenets. Obviously, since what we just released is a “Tech Preview,” we have only just started towards achieving these goals today. Rest assured that we will get better!
Let me elaborate on a couple of these points.
Online vs. Offline
In today’s world, many applications just don’t work if they’re not connected to the Internet. It’s much easier to write programs that assume connectivity to a service, than not. But why should it be so hard? MOE abstracts all this behavior for you. It caches the metadata that’s in your mesh and automatically synchronizes it, so that talking to MOE is essentially like talking to the cloud. And talking to MOE will always work, regardless of whether or not you have Internet connectivity. MOE will do the heavy lifting for you by synchronizing changes you’ve made locally, whether you are online or offline, with your mesh (when you have internet connectivity).
As high as our hopes are for Live Mesh, we realize that there isn’t anything today that fully showcases the true power and potential of the mesh yet. This is one of the reasons we’ve built simple file synchronization capability as a rich experience on top of MOE. This way, any existing application that writes files to disk (virtually all applications) will suddenly be able to leverage Live Mesh, without *any* changes to the application.
For example, say you use Windows Live Writer to collaboratively write blog posts, but it often takes several iterations before posting. You can now save your blog drafts into a Live Mesh folder, and suddenly those drafts are everywhere—on each of your devices and those with whom you share the folder. An idea for a post pops into your head on the bus ride to work? Start a post on the bus, add content to it at work, have others read it over and revise it on their own devices, add your final touches, and post at home that very evening! All without even thinking about e-mailing attachments back and forth.
Working on Live Mesh
I’ve been working on Live Mesh for over two years now. Prior to this I was a developer on the Windows Live Messenger service. When I first started on Live Mesh, I thought it would be a piece of cake. After working on huge scalable services that support millions of users, how hard could writing a little lightweight client be? It turns out that it’s quite hard. Synchronization may appear to be an easy problem (and in fact, there are a ton of apps out there that do simple file sync already), but it’s actually really tough to solve it in a *generic* fashion so that other applications can be built on top of it. That’s what we’ve strived for. (We’ll have a future post on how Live Mesh uses FeedSync underneath the covers, and what types of extensibility and other advantages that provides. Stay tuned!)
Here, There, Everywhere
Live Mesh is about to become your new best friend. The one you can’t live without and is always in the background to take care of things for you.
So what are you waiting for? Download and install Live Mesh on all your devices today! You’re missing out if you don’t. And be sure to give us feedback and report any issues you see!
Now that we are out of our holiday blackout period for releases, we’re happy to announce that the next Live Mesh for Windows client update will (at long last!) be available later today is now available. Thank you for your patience, and please see below for the details. By default your Live Mesh software will automatically update itself within 24 hours of the new build being posted, but you can always right-click the Notifier icon in the system tray and choose to force an immediate update.
Update: Doh! We are embarrassed to say that the new version is going to be delayed just a little bit longer. For your safety and enjoyment, the Live Mesh client verifies the SSL certificate of the update server before downloading new code. It turns out that one of the other things we didn't get to do during the holiday blackout was update our SSL cert, which expired at end of 2008. As soon as we can get the new valid cert up there, the update will be available.
Update 2: For those of you who have recently received the error below while trying to update or install Live Mesh, the issue has now been resolved. Please try upgrading or installing Live Mesh again. If you continue to encounter problems, please visit our forums and let us know.
"Live Mesh Service is unavailable. Please retry your installation later. [80072F78] The server returned an invalid or unrecognized response."
This update will bring your Windows Live Mesh client up to version 0.9.3424.14
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
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 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!
· 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.
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 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
I've been undercover for two years. After helping to get XNA off the ground, I took an opportunity to learn some new things from some very good people. The pain of working on version 1s fades after a few years, so I decided to try another one. The pain is again fresh in my mind. But that’s not what this post is about – it’s about the excitement of launching version 1.
This project requires deep domain experts on distributed systems, scale data centers, web, Windows, Mac, mobile, networking, app protocols, file systems, databases, synchronization, peer to peer, security and more. We not only had to find these people and convince them that it would be cool to pull heavy Gs on a version 1 “for a year”, we had to establish a common vocabulary and then all agree on some things. One of the very cool things about Live Mesh is that is has a broad scope, but is at the same time respectful of the specialization needed to succeed on the web, Windows, Mac and mobile. We couldn’t have achieved this without a team with deep but different experience, knowledge, practices, jargon and opinions – and that still managed to cooperate even when it got hard.
We introduced Live Mesh at the Web 2.0 conference in San Francisco this evening. We are shipping working code to a community size that we think we can support while still working on the product. I look forward to the feedback.
We operate at such a scale at Microsoft that we have developed an instinct to specialize and focus. One of the typical early conversations in a new project is the target audience: consumers or enterprise? Large or small organizations? Web, Windows, Mac or mobile? What mobile targets? We rejected this early and focused us on adding value to individuals: people who may work in enterprises and belong to multiple organizations, but who also make choices as consumers, and use multiple technologies (and who are probably frustrated with the productivity barriers that exist as a side effect of the seams the industry imposes on them). We’ve thought a lot about adding value to enterprises too, primarily by empowering individuals while keeping in mind the confidentiality expected by organizations.
Our goal was to build a platform that spanned individuals, organizations and technologies. But we didn’t want to fall into the trap of assuming that we could get it right without using and proving it ourselves. And we also believed that the easiest way to express the fundamental potential of a platform is with an experience that delights and generates even more ideas.
To that end, we built both a platform and a set of basic horizontal experiences on multiple endpoints in parallel. As someone primarily concerned with the platform, the opportunity to “see it in action” as we build it has been very valuable and made the process more fun. I like them because they blend the web, Windows and other computing endpoints in a way that preserves the “it just works” feel of the web with seamless integration into my common workflows. The coolest thing about Live Mesh is how it smashes the abrupt mental switch that I have to make today as I move between being “on the web” and “in an application”.
This post is about the Live Mesh platform. We are not yet ready to release the Live Mesh platform, but I would like to share some of the core metaphors and building blocks we’ve been working on.
The focus for Live Mesh version 1 is to establish a Software + Services platform and ecosystem that enables unique new customer value, is unexpected by our competitors and will support broad innovation across multiple future releases. The core philosophy is to make it easy to manage information in a world where people have multiple computing experiences (i.e. PCs and applications, web sites, phones, video games, music and video devices) that they use in the context of different communities (i.e. myself, family, work, organizations).
My favorite example of a Software + Services application is Live Messenger (iTunes is another good example). The customer experience combines the best of local applications: always running, integrated with the shell and other applications, able to do background work and access local peripherals with the easy access to information that the web provides. Mesh is a Software + Services platform.
At the core of Mesh is concept of a customer’s mesh, or collection of devices, applications and data that an individual owns or regularly uses. The Mesh Account Service persists the relationship among these resources and authorizes access to them. The mesh is the foundation for a model where customers will ultimately license applications to their mesh, as opposed to an instantiation of Windows, Mac or a mobile account or a web site. Such applications will be seamlessly installed and run from their mesh and application settings persisted across their mesh. The device ring inside of the Live Desktop is a simple visualization of the mesh, and provides a view of all devices and current device availability. The Live Mesh platform provides the ability for applications to connect to any other device, regardless of network topology (network transparency), within the mesh. This infrastructure enables the Live Mesh Remote Desktop experience today.
A key design goal of the Live Mesh data synchronization platform is to allow customers to retain the ownership of their data that is implicit with local storage while improving on the anywhere access appeal of the web. The evolution of the web as a combined experience and storage platform is increasingly forcing customers to choose between the advantages of local storage (privacy, price, performance and applications) and the browser’s implicit promise of data durability, anywhere access and in many cases, easy sharing. A side effect of the competition to store customer data in the cloud and display it in a web browser is the fragmentation of that data and subsequent loss of ownership. Individual sites like Spaces, Flickr and Facebook make sharing easy, provided the people you are sharing with also use the same site. It is in fact very difficult to share across sites and equally difficult to work on the same data across the PC, mobile and web tiers.
The fundamental unit of synchronization in Live Mesh is a mesh object. Access to mesh objects is via the common web metaphor of a feed. These building blocks provide low barriers to adoption in addition to enabling appropriate customer experience metaphors in different technology, organization and business domains. As an example, one instantiation of a mesh object is as a local (shared, aka Live) folder on a PC. This same mesh object might be instantiated as a slideshow on a web site, and as preview and upload UX on a mobile device with a built-in camera. A Live Folder is but one specialization of a mesh object. A mesh object could also represent a range of cells in Excel or a To Do list that can be accessed from anywhere. You’ll see more on this in an upcoming Channel 9 interview with our storage and synch team.
Live Mesh has been designed with the goal of enabling explicit control over the location and custody of data even in a sharing environment. Mesh objects (i.e. files, lists, etc. and associated information) are physically stored in a Live Mesh Storage Server and exposed as authenticated feeds. The Live Mesh cloud implementation of a storage server is intended to be a peer to large number of Mesh Enterprise Storage Servers that can be offered in subsequent releases. This storage and feed architecture supports a completely enterprise scoped sharing across all tiers: PC, intranet browser, and mobile in addition to home - home and home - work scenarios.
Live Mesh provides the building blocks to support the notion of groups, or communities (member lists) of people associated with a mesh object. These lists are managed via the simple email-web confirmation exchange that is popular on the web. Member lists provide both a simple permission model and a natural scoping for the collaboration features of Mesh. The basic group mechanism can be trivially extended to add entities such as organizations to participate (in an assigned “role”). Similarly, you might invite a SpellChecker bot into a group.
Every layer of the mesh is built on top of APIs in the form of feeds. These layers enable:
The ability to add / remove devices (and someday applications) to a mesh and manage groups (by initiating invitations).
The ability to open a mutually authenticated raw communications channel, to any device in a group, regardless of current location or network topology. This channel always works, by way of cloud relay if necessary, but will automatically and transparently take the cheapest and fastest possible network path.
The ability to subscribe (“tell me when it has changed”) to resources and publish (“I changed it”) notifications against resources. The pub/sub infrastructure eliminates polling the cloud to become aware of changes. The sync engine itself uses pub/sub for sync change triggering.
An extensible “awareness” infrastructure which is scoped to the group and the information being shared. The first Live Mesh experiences provide a very simple notion of awareness – who is “using” a Live Folder now, but the infrastructure is designed to support much richer notions. The programmer sees a “durable for a login session” extensible XML document (unique per mesh object/group) that can be queried/updated at a very high rate and scale. Like everything in Live Mesh that needs to be queried, the programmer uses the pub/sub engine to signal interest in changes, and waits for notification of such changes.
A durable news event stream. Unlike awareness, which is level triggered against a schema, news is message based. The goal of news and awareness are to create a very real time intimacy around the collaboration experience.
A FeedSync based sync infrastructure that enables any device that is capable of web protocols to participate in bidirectional sync, again in the context of (fully authenticated) groups. One of the “devices” that can participate in this experience is a 3rd party web site. While the version 1 experience is primarily around syncing folders of files, FeedSync and the Live Mesh infrastructure is far more flexible. It could sync lists, tables, photo galleries, playlists, calendars, etc.
A scale blob store that can be referenced (as an enclosure) in the sync feed.
Because this is all built on feeds, all of this functionality is accessible from every endpoint that can run a browser (i.e. darn near everything). The Live Desktop, Windows Live Folders, Mac and mobile experiences are the first examples of the potential of this platform.
It’s just the beginning.
Product Unit Manager, Mesh and Storage Platform
Hi, I am Nikolai Smolyanskiy, a developer on the Accounts team. I work on the Account service that takes care of account management, and user/device authentication and authorization in Live Mesh.
There were many questions asked by early adopters about how their data is transmitted and stored in Live Mesh, and how access is controlled. In this post I’ll talk about the security and authorization architecture behind Live Mesh, so that you understand the amount of care we take and feel better about trusting your data to the Mesh. This post can also be found here.
Here is the diagram that illustrates all communications between user devices and Live Mesh cloud services and encryption/security mechanisms used in these communication channels:
Live Mesh security is rooted at the authentication provider (Windows Live ID, aka Microsoft Passport is our provider today) which is used for initial user and device authentication. Once a user or a device is authenticated and a corresponding authentication token is obtained, the Live Mesh client passes this token to the Live Mesh Account service to access the root of the user’s mesh and to get the initial set of Live Mesh tickets. These tickets are used for further Mesh operations on other resources that this root is pointing to. All communications with the Live Mesh cloud services are done via HTTPS / SSL, so 3rd parties cannot intercept and read client-server communication.
All user (or device) related resources in Live Mesh are organized in a RESTful manner, i.e. they form a graph where each node is identified by a unique URL and represents a given resource. Nodes contain resource metadata and links to other resources. Mesh operations are essentially CRUD operations on the nodes of the user tree or nodes of other user trees if those users shared any data. Live Mesh cloud services check access rights in each operation by inspecting passed tickets and authorizing access only if a correct set of tickets is passed. Tickets can be obtained from the Account service or from responses to previous cloud operations.
Live Mesh authorization tickets are standard SAML tickets. They are digitally signed with the Live Mesh private key to prevent spoofing and they expire after a limited lifetime. Some tickets are used to just authenticate users or devices, other tickets contain authorization information about user/device rights. Cloud services inspect each resource request and authorize access only if it contains valid tickets (correctly signed and not expired) and these tickets specify that the requestor indeed has access to the requested resource. For example, a device X can initiate P2P data synchronization with device Y only if it presents a ticket that is correctly signed by Live Mesh and contains a record saying that both device X and Y are claimed by the same user OR if it contains a record saying that X and Y have the same Live Mesh Folder mapped on them (in the case that the devices are claimed by different users that are members of this Live Mesh Folder). Tickets are passed to the cloud services in the Authorization header using HTTPS to prevent replay attacks.
Each device in Live Mesh (computers, PDAs, mobile phones) has a unique private key that is generated during Live Mesh installation and used to authenticate the device in P2P communications with other devices. When a P2P communication is being established between two devices, they first use asymmetric encryption (RSA algorithm) to exchange encryption keys and then use symmetric encryption (AES with 128 bit key) to transfer data/files over TCP/IP. The RSA exchange guards against leaking symmetric encryption keys. AES encryption protects actual data from prying eyes. Live Mesh also uses a keyed message authentication code (HMAC) to verify the integrity of the data exchanged on a P2P channel.
If there is no direct connection between two devices (for example, if one device is behind a firewall), then the cloud communication relay located in the Microsoft data center is used to forward data packets from one device to another. All the traffic is encrypted in the same way as in the case with direct P2P link, i.e. first keys are exchanged with RSA and then traffic is encrypted with AES. The cloud relay cannot decrypt/read user data, since encryption keys are exchanged with the use of asymmetric encryption (RSA).
Live Mesh cloud services help devices find each other and establish communications. They cannot read synchronized user data/files relayed through the cloud, except for the case when user files are synchronized with the cloud storage (i.e. Live Desktop). At the moment, the limited Tech Preview of Live Mesh synchronizes your files not only between your devices, but also with your cloud storage (which you can access via Live Desktop) until you reach your storage quota (5GB as of today). So your files and metadata that describes them are stored in the Microsoft datacenter. They are protected by strong access control mechanisms, but the data is not stored in encrypted form. After the storage quota has been reached, all files are synchronized only P2P and not stored in the cloud (only metadata is stored in the datacenter). In the future, Live Mesh will allow users to selectively choose which files or Live Mesh Folders they want to synchronize with the cloud. If you choose to synchronize your data/files between your devices only, Live Mesh will not store your files in the cloud and will only store metadata that lets the service to operate.
A new version of the Live Mesh Mac software is available that provides support for both Mac OS X Leopard (10.5) and Snow Leopard (10.6). Leopard users are not required to install this release.
To upgrade to this new release, you will need to reinstall Live Mesh for Mac. To do so, please go to http://www.mesh.com, sign in with your Live ID, and download the Mac client software from the “Devices” page.
• Live Mesh Mac: 0.9.4501.0
Included in this update
• Mac – Repairs client use for OS X Snow Leopard (10.6)
We appreciate your patience as we worked on this fix for you and thank you for using Live Mesh. We’re working hard to create the best experience and appreciate any comments you have. Please send your feedback on how Live Mesh can be improved, or send anonymous feedback in our forums here. Also, if you have a moment, please rate Live Mesh.
The Live Mesh team
The recent service update to Live Mesh addresses many of the issues users reported since we opened the Mobile CTP on Oct 30.
With the release of the updated Live Mesh for Mobile version 0.9.3424.9, we are expanding the CTP to more users. We are also lifting the country restrictions on access to the CTP – it is now open to all countries. [Access through a 3G network is recommended for a great experience.]
Since there is limited room in the expanded CTP, hurry on to https://www.mesh.com/Web/Promo.aspx?pcode=Mob_FCFS1 to add your Windows Mobile 6.x phone to your mesh. [Clicking this link will grant access to your Live ID for adding a WM phone to the mesh and redirect you to the device ring, where you can click “+” to see how to “Use Live Mesh for mobile devices”.]
If you already have the Live Mesh client on your WM6 phone, you should see an update notification the next time you login to Live Mesh from your phone. You can also navigate through Menu -> About -> Software Update, to install the latest client.
Thank you for using Live Mesh, and sharing your feedback!
…but today’s implementation is not ;) Our underlying platform is designed to enable a wide range of scenarios, at broad Internet scale. We closely watch the feedback from our Technology Preview users along with the health and performance of the service, using it to continually improve the system and ramp up our scale.
As we go through this process, we’re hearing your questions about how many folders and files users can put in Live Mesh today. Here’s a quick summary of the upper bounds we’re testing against ourselves at the moment – we’ll expect these numbers to keep going up with subsequent service updates. [UPDATE: these are not limits that are hard coded into the system. They are boundary guidelines we've established based on internal and external feedback, and we're confident that anything under these boundaries will work well for all users. Because they are not hard coded limits, you can exceed these boundaries, and at that point your mileage may vary. Feel free to certify and share your own success stories...and stay tuned as we will definitely increase these boundaries/guidelines as we complete further tuning and testing.]
I’m John Macintyre, the Group Program Manager for Live Mesh Client Platform & Runtime (it fits on a business card if you use 6 point type). I wanted to talk about how Live Mesh client install works, and address the questions we’ve seen about why User Account Control (UAC) must be enabled on Windows Vista in order for Live Mesh to work.
The design challenge we faced with Live Mesh client deployment was to make it simple to install, while providing rich client experiences that are deeply integrated with the device experience i.e. today your Windows Shell, tomorrow your Mac, Mobile device etc.
It’s worth taking a quick look at the client footprint before we cover how it is deployed. The Live Mesh client can be separated into two distinct components:
There is a further subcomponent breakdown but at a conceptual level you can think of the client as a runtime engine with an experience layered on top of it. Today the client is deployed as a single unit but in subsequent refreshes we will enable other configuration and distribution scenarios.
We’ve tried to keep the client deployment model as seamless and simple as possible. It can be broken into three separate stages …
1) Add Device …
The Live Mesh client is deployed through the Devices page of www.mesh.com. Clicking on “Add Device” will initiate the download of the Live Mesh installer. The first thing that you may notice is the installer is relatively small. The initial install of the Live Mesh client is actually just a bootstrap component that reaches out to a server and retrieves the latest version of the client. This provides the benefit of small download from the browser and an always up-to-date client footprint.
2) Run LiveMesh.exe …
Why does Live Mesh require UAC?
At this point it’s worth talking about UAC and why the Live Mesh client requires that UAC be turned on. If you’ve tried to install Live Mesh on a system with UAC disabled you’ll have found that the installer blocks on this configuration. There’s a technical reason why we impose this restriction: In Vista RTM with UAC off, COM does not read the per-user hive, meaning COM objects registered per-user do not work. Since Live Mesh installs per-user without elevation it is subject to this restriction. To prevent users from installing on unsupported configurations we added a block in our installer when UAC is off. Fortunately there’s light at the end of the tunnel for users that run with UAC disabled. Windows Vista SP1 has a change that allows per-user COM when UAC is disabled. With the release of SP1, we have begun validating that Live Mesh fully functions with UAC disabled, but haven't yet finished our testing. Expect this configuration to be supported in a subsequent refresh. As you can probably guess, this also means that even after you install, UAC must remain enabled for Live Mesh to work correctly. If you turn UAC off, we won’t be able to find any of our COM objects.
3) Add Device …
After installing the Live Mesh client, users are prompted to sign-in with their Live ID. This Live ID is used to link the device to your personal mesh. By “device” we generally mean Windows user account. Multiple Live IDs can independently use the same Windows account (similar to Messenger). Once the device is part of your mesh you can initiate sharing (or synchronization) with your other devices, the cloud or other users. Vista users will see an additional option on the Add Device dialog. This option is to enable features that require administrator privileges including system level Live Mesh Remote Desktop (accessing the system while it is locked or an account is not logged in) and peer to peer file transfer. By default this option is selected and users will be asked to elevate to proceed with the device claim. If the user is not an administrator they can disable this option.
Once the user goes through this client deployment flow they are up and running with their mesh-enabled device. The runtime and experience components will continue to update themselves as new versions are available. As much as possible we try to do this without affecting the overall experience or disturbing the user.
Hi everyone, I’m Noah Edelstein, Group Program Manager for Mesh Platform Experiences. I wanted to share some of the thinking behind the platform experience we’re releasing today as part of the technology preview.
It might be worth describing what I think a “platform experience” is – and to do this, I’ll use Windows as an example. Windows contains platform services that both allow your computer to function, and applications developers to write apps. This includes things like device drivers, memory management, etc. In addition, Windows contains a set of user gestures that define how customers interact with the platform and applications written on the platform. This includes the ability to open, close, and resize windows, manage files in folders, and find applications in the Start menu. Live Mesh is a platform with rich and deep services, including synchronization, device management, online storage, and communications. We’ve also built the platform experiences for real people to interact with the platform to realize real value. As Mike explained in his post, Live Mesh is built to be a broad platform, and as he said, “the easiest way to express the fundamental potential of a platform is with an experience that delights and generates even more ideas”.
This thinking was central to our efforts as we designed the platform experiences for Live Mesh. Releasing these experiences early as a Technology Preview gives us an opportunity to collect feedback about both the platform and the experiences we’ve built on top of it. We’re hoping that you find the experiences we’ve designed useful and delightful.
We’ll be posting more thoughts about this over time. For now, let me point you to our First Look whitepaper, an overview of the platform experience we’ve built and how it relates to the underlying platform. To whet your appetite, below is an excerpt from the beginning of the doc. I’m looking forward to hearing how you use your mesh!
Today we live in a world of the Web and a world of devices. Although the Web is at the center of our experiences, those experiences are delivered through a diverse range 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, with the information and applications we care about residing on different devices and 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. We are in need of, and increasingly demand, seamless “just works” computing experiences that bring it all together.
Microsoft is starting to solve these and many related problems with Live Mesh, a platform experience that uses the Internet as a hub to bring together your data, devices, applications, and the people you want to connect with into your own personal “mesh” that is always up-to-date and available from anywhere. With Live Mesh, Microsoft believes that:
… your devices should work together.
… your data and applications should be available from anywhere.
… the people you need to connect with should be just a few clicks away for simple sharing, collaborating, and learning more about them.
… you should have all the information you need to stay informed.
Live Mesh is a “software-plus-services” platform and experience that enables PCs and other devices to “come alive” by making them aware of each other through the Internet, enabling individuals and organizations to manage, access, and share their files and applications seamlessly on the Web and across their world of devices. Live Mesh includes:
§ A platform that defines and models a user’s digital relationships between devices, data, applications, and people—made available to developers through an open data model and protocols.
§ A cloud service providing an implementation of the platform hosted in Microsoft data centers.
§ Software, a client implementation of the platform that enables local applications to run offline and interact seamlessly with the cloud.
§ A platform experience that exposes the key benefits of the platform for bringing together a user’s devices, files and applications, and social graph, with news feeds across all of these.
What differentiates Live Mesh is its underlying platform. As a platform company, Microsoft believes in the power of the operating environment—and that if that environment is built correctly, the entire ecosystem will benefit. Live Mesh is built on the Live Services Platform, providing a Web-centric Mesh Operating Environment that evolves the user experience from one of “My Computer” to one of “My Mesh,” with the user at the center of that experience.
While many existing offerings may appear similar in that they utilize hosted services for storage, sharing files, or peer-to-peer connections between PCs, most of those products fulfill only one specific need. Live Mesh is unique in that it takes a more robust approach, bringing together all of this functionality in one offering. By weaving together the best of software and Internet services, Live Mesh delivers a platform and experience that is comprehensive yet simple and open.
Live Mesh provides a seamless “just works” experience that puts you at the center of your digital world by connecting you with the people you care about and putting you in control of your information, applications, and devices. As such, it can benefit anyone who uses the Internet and has more than one device—or has only one PC but wants to access its data or applications from nearly anywhere. Early adopters will likely be technology-savvy individuals who today struggle with multiple devices. However, this user base will expand over time as more and more individuals see the benefit of a Live Mesh approach to simplifying their computing experiences, sharing information, and staying connected.
Specific benefits of Live Mesh include:
§ Devices Working Together. Live Mesh brings the Web to your devices so that your data and applications are seamlessly synchronized and aware of each other, communicating over encrypted channels to help keep user data secure.
§ Anywhere Access. The information you put in your mesh is available from any of your other devices, including your own personal Live Desktop that resides on the Web. Live Mesh also provides remote desktop functionality for situations where you need to take full control of a device remotely.
§ Simple to Share. With Live Mesh, you can simply invite a friend or colleague to share a folder, giving them access to view or edit only the files you put in the folder. Live Mesh keeps track of and synchronizes the changes across your mesh.
§ Stay Informed. Live Mesh has a robust news feed system that allows you to easily keep track of the activities you care about, including the online status of your friends or colleagues, changes to files and folders in your mesh, and the status of your devices.
With the recent Apple announcement regarding the availability of Mac OS X Snow Leopard (10.6), we want Live Mesh Mac users to be aware the current Live Mesh Mac software is not compatible with the new OS X version (10.6). We will continue to support Mac OS X Leopard (10.5) users. We apologize in advance for the inconvenience.
As always, our thanks go out to all of our supporters and early adopters of Live Mesh!
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:
The Live Mesh team is pleased to announce that our next update for Live Mesh for Mac will be available later today is now available. We will also be updating have also updated the Live Desktop. This release contains numerous bug fixes, as well as a few new features. Please see below for details, and thank you for using Live Mesh.
For those of you keeping track, the new version numbers are:
Thank you for being one of the first to use Live Mesh!
I’m Amit Mital, General Manager of a great team of people that has created some really interesting technology that I’m excited to tell you about – Live Mesh.
There’s been a bunch of buzz about “the mesh” since Ray Ozzie alluded to it at last month’s MIX Conference. As Ray said there, we’ve been exploring the concept of “the mesh” for a couple of years now.
We started by asking ourselves a series of questions about our own digital lifestyle experiences, and examining the role of the web in our lives. We examined many of the ways the web is becoming more central to us – both workstyle and lifestyle. We’re friending, twittering, digging, tagging and linking to stay in touch, share photos, be entertained, meet new people, express our opinions, learn, and the list goes on.
Devices are how we interact in this new “web connected” world and we use a variety of them, including PCs, laptops, media devices, phones, digital picture frames, game consoles, music players and the list grows at every CES. However, as we discover, adopt and use more of these digital devices, it becomes increasingly difficult to keep the people, information and applications we depend on in sync.
I don’t know about you, but I’ve got two work laptops, a home PC, a SmartPhone, a Media Center, and a growing list of new devices. Unfortunately, at least initially, every new device I add makes my life a little harder not easier. There have been countless times where I’ve been in a situation where “that file is on my work machine” or “that photo is on my SmartPhone” or “I can’t access it because I’m offline.”
It can be frustrating for users and don’t even get me started on how hard this new world is for developers.
We looked on the Horizon
So two years ago when we began our journey, we started from a there-has-to-be-a-better-way perspective and asked ourselves questions like, “How can we make this multi-device world easier for users and developers?” As we started thinking about this, we brainstormed some “what if?” scenarios.
What if we could provide:
· “Unified Device Management” - enabling your devices to report into a common service, for status, for health, or to report their location.
· “Unified Data Management”- or the transparent synchronization of files, folders, documents & media, the bi-directional synchronization of arbitrary feeds, of all kinds, across your devices and the web.
· “Unified Application Management” - for centralized web-based deployment of apps across the devices you own.
· “Centralized Management” - where you could configure and personalize your devices and remote control into them from just about anywhere.
As our team set out to explore these areas we realized we had a unique opportunity to use the magic of software and internet services to connect and bring devices together into your own personal “mesh” enabling them to work in concert with one another.
In order to deliver these capabilities, we had to tackle a series of complex problems and computer science challenges. We did, and today it’s my pleasure to share and announce the Live Mesh – Technology Preview.
This new software-plus-services platform enables PCs and other devices to “come alive” by making them aware of each other through the Internet. Our goal is to provide a “just works” experience by making it much easier to access the information, applications, people, and devices you care about.
Our design goals for Live Mesh are to have…
· …your devices work together
· …your data and applications available from anywhere
· …the people you need to connect with just a few clicks away for sharing and collaborating
· … the information you need to stay up-to-date and always be available
We’re achieving these design goals by combining the power of ‘cloud services,’ with the convenience and rich experience of your many devices.
The Platform is the Core
I’ve spent some time talking about the experiences we want to enable, but what really differentiates Live Mesh is that it’s a platform. That’s no surprise, I guess, since building platforms is part of Microsoft’s DNA, and our team is really comprised of a bunch of platform specialists.
We started with a vision of creating an open, comprehensive and accessible platform that enables developers to tackle increasingly complex problems no matter the device, connection or experience.
Our guiding principles were:
· Services Are the Core of the Platform – the Live Mesh platform exposes a number of core services including some Live Services that can all be accessed using the Live Mesh API; these include Storage (online and offline), Membership, Sync, Peer-to-Peer Communication and Newsfeed.
· Same API on Clients and in the Cloud – the programming model is the same for the cloud and all connected devices, which means a Live Mesh application works exactly the same regardless of whether it’s running in the cloud, in a browser, on a desktop, or on a mobile device.
· Open, Extendable Data Model – a basic data model is provided for the most common tasks needed for a Live Mesh application; developers can also customize and extend the data model in any fashion that is needed for a specific application.
· Flexible Application Model – developers can choose what application developer model best fits their needs.
Today the Technology Preview provides access to the foundational experience that exposes the core functionality and common gestures of the platform. In the near future, we’ll provide more details on the platform including access to an SDK. Nevertheless, today you can get some deeper details on the platform directly from Mike Zintel, Director of Service Infrastructure for Live Mesh. In addition, head over to Channel 9 where throughout this week we’ll be posting some great videos from the team, on topics like Architecture, Sync and Storage, and the Developer Platform.
Take a Quick Peek
I’ve spent some time discussing the why and what of Live Mesh. Now I’d like to give you a brief overview of how it works.
Several times I referenced how Live Mesh enables “your devices to work together.” But how? With Live Mesh, your experience starts by adding devices to your personal “device mesh” and making them aware so they work together. This is what "software-plus-services" is all about, devices, software and services working together, on your behalf.
Adding a device to your mesh is easy; after you sign up for the service using your Windows Live ID (I’ll tell you how later), you’ll be directed to your personal Live Mesh page to get started. Here you can add, manage and remove your devices.
After you add a device (or several) to your mesh, you’ll notice a few, small changes on the device, in particular, a new notifier icon in your Windows Taskbar.
When you hover over it, you’ll see a pop up, that includes a list of the devices, news feeds and folders in your mesh.
Now the fun begins. With a couple of mouse clicks, you can easily add an existing (or new) Windows folder to your mesh. As you add a folder to your mesh, it quickly replicates it to your other mesh devices. “Cool,” you might say, “but there are other products that do this, too.”
You’re right, but it gets more interesting. We’ve integrated Live Mesh into your Windows experience by including a “fly out” Mesh Bar next to Windows Explorer.
The Mesh Bar gives you additional information about the Live Mesh folder, such as user activities and notifications. So in addition to having your devices “work together,” you can also stay uptodate with any changes.
So Live Mesh enables your devices to work together and allows you to add and sync files and folders across your mesh of devices. But the team didn’t stop there; we took it a step further by adding “social” elements.
With Live Mesh, it’s easy to share the contents of folders with others. For example, I can create a folder called “Vacation Pictures” and with a few mouse clicks easily share it with friends (and the devices in their mesh). When I do, Live Mesh keeps me up to date on what’s happening with that folder by notifying me of any changes (e.g. new files, removal of files, user comments, etc.). We call this News and it’s another way Live Mesh makes an otherwise ordinary folder “come alive” for users.
Let me quickly share with you two other things in Live Mesh: Live Desktop and Live Remote Desktop. While the two have similar names, each doessomething different, but both add amazing conveniences. Live Desktop enables you to easily access your mesh anytime, anywhere, using only a Web browser.
Live Remote Desktop builds on the capabilities of Windows Remote Desktop, giving you the ability to directly access and control other devices within your mesh. So, if you need to access and control your home PC, it’s no problem. With one click from any device in your mesh, you’re in control.
I’ve just briefly highlighted some early experiences the underlying Live Mesh platform provides. There’s plenty more. For a quick tour of the Live Mesh experience, visit www.mesh.com to view some screencasts or drop by http://on10.net to see a couple team members, Noah and George, talk more about the experience.
Getting "Into the Mesh"
Before you get started, I want to give you some other tips and information.
First, this is a limited Technology Preview and we’re seeking your feedback. There’s some pent-up demand, so we appreciate your patience and understanding as we scale the system. We’ll do our best to scale as quickly as possible, but we also want to make sure the system is reliable and responsive.
Second, initially the user interface will be English only and we are hosting the service from our United States data center; this may have impact on some users. We’re working on this, and will announce broader availability in the coming months.
Third, this Technology Preview initially supports Windows (Vista & XP) machines but our vision of your device mesh extends far beyond this. In the near future, we’ll add support for the Mac and mobile devices, and then we’ll build upon that foundation.
It’s been a fun and interesting journey for the team and we’re excited to hear what you think. I hope you take the opportunity to learn more by visiting www.mesh.com.
As I mentioned at the outset, Live Mesh has been developed by a great group of individuals who I have the privilege of managing. Many of them are excited to tell you about what they’ve been creating, so I invite you to visit the team blog at www.mesh.com/blog or stop by Channel 8, Channel 9 and Channel 10 to see a series of “deep dive” videos. Also, you might want to check out Jon Udell's interview of Ray Ozzie on Channel 9. Ray discusses his role as Chief Software Architect, and provides his perspectives on utility computing and Live Mesh.
We hope this marks the beginning of an ongoing dialog with you that spawns lots of new ideas and opportunities. We appreciate your interest in Live Mesh and look forward to “meshing it up” with you.
The Live Mesh team is pleased to announce that our next update to Live Mesh for Mac and Windows Mobile will be available later today is now available. We will also be updating have also updated the Live Desktop. This release continues to tune performance and brings a few tweaks to the user experience, see details below. Our next update to the Windows software will be coming in the next few weeks.
Mesh for Mac and Live Desktop are 0.9.4014.3. Mesh for Mobile is 0.9.4014.2
Thank you for your continued support of Live Mesh!
Live Mesh for Windows 9.4014.7 has been released. It will automatically update. No action is required on your part. See the following sections for details, and thanks for using Live Mesh.
· Live Mesh Desktop: 0.9.4014.7
· Live Mesh PC (x86 and AMD64): 0.9.4014.7
· PC – Fixes for display problems in the Resolve Conflicts dialog box on computers running Windows 7
· PC – Improved performance in memory handling
· Layout and link changes on www.mesh.com
· Server-side fixes for improved performance and stability
Thank you for using Live Mesh. We’re working hard to create the best experience and appreciate any comments you have. Please send your feedback on how Live Mesh can be improved, or send anonymous feedback here. Also, if you have a moment, please rate Live Mesh.
Thank you,The Live Mesh team
We are delighted to announce the release of our next major update, which will be available later today is live as of now. We’ve added some new features by popular demand, as well as tuned up our performance. We’ve got the juicy details further below. By default your Live Mesh client will automatically update itself within 24 hours of the new build being posted, but you can always right click the Notifier icon in the system tray and choose to force an immediate update. We'll update this blog post once the update is available.
The team has also been hard at work on our developer platform. We are on track to share that work with the world at PDC ’08 (Oct 27-30 in Los Angeles.) You can see a few of our sessions on the agenda page, including “Live Platform: New Developer Services and APIs”, “Live Platform: Building Mesh Applications” and “Live Platform: Mesh Services Architecture Deep Dive”. We’ve seen a lot of interest in our platform experience – the “app” that is the face of Live Mesh today. But Live Mesh is fundamentally a developer platform, and our goal is to enable a wide range of applications that build on our relationship directory and communications and synchronization infrastructure. If you haven’t seen Ori’s Channel 9 video on the platform, take a look to see what we’re getting at.
· Sync Live Mesh folders peer-to-peer only, excluding your Live Desktop. This will make it possible to synch files across your devices (or with devices of other members of a Live Folder) without consuming any storage space or quota in the Live Mesh cloud storage service. For completeness sake, though, we should mention that it’s not a 100% P2P synch – to optimize the synch experience we still use the cloud to store the authoritative metadata for the folder (for example, the file list and change history) and to broker encrypted P2P connections between clients. But the files themselves will not be stored in the cloud. Also, note that only the creator of a Live Mesh folder will have permission to change the cloud synch settings, since all the contents of a Live Mesh folder (no matter which user uploaded them) get charged against the quota of the folder’s creator. We've got some details on how peer communications and synch work up today on Channel 9.
· File conflicts management on the Live Desktop. Pretty much speaks for itself. The same ability to view and resolve conflicting edits to a file that you’ve had in the Windows client is now available on the Live Desktop. Actually, we think it’s an even better experience, since we took the opportunity to streamline the UX when we implemented it for Live Desktop (we’ll bring the same improvements to the client in the future.)
· Added news events for New Live Mesh folder and Delete Live Mesh folder. We’re continuing to tune the news feed to provide the right set of information you need to keep track of what’s happening across your mesh.
· Improved performance when syncing files peer-to-peer. David and Trevor get into some of the details of where we found room for improvement in today's video.
· Better coalescing for news events. In non-geek speak, that means we’ll do a better job showing you only one news event when a user makes a bunch of changes in quick succession.
· News performance and scale improvements. Faster and better, new and improved, it slices and dices!
Windows Vista User Account Control (UAC) Update
In our last client release, we removed the requirement for UAC to be enabled when running on Vista SP1. If you originally installed the Live Mesh software with UAC enabled, then got this update and disabled UAC, you might have some issues upgrading. We'll have an announcement on the forum shortly with details of how to fix.
Last, a technicality for those keeping score at home -- the version number referenced in the title, 0.9.3103.2, is what you'll see in the client software. The version number in Live Desktop will be 0.9.3103.3, since we did a little extra work there after the client release was finalized. Don't worry about the mismatch, this is expected and is the configuration we tested and validated before releasing.
2008-07-14 Update: Excluding Live Desktop from synching a folder is only possible from the Live Desktop itself in this release, we're working on making it an option you can control from any device in your mesh. But for now, the steps to exclude your Live Mesh Folder from synching with Live Desktop are:
As mentioned above, keep in mind that only the creator of the folder can do this, and once the folder creator disables Live Desktop synch the files will not be available via Live Desktop for any other members of the folder.
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!
Live Mesh for Windows 0.9.4014.4 has been released. No action is required on your part, Live Mesh will automatically update on its own. This release contains numerous bug fixes. Please see below for details, and thank you for using Live Mesh.
· Live Mesh for Windows: 0.9.4014.4
· Updated date/time stamp UI for news events
· Added news events for permission level changes to folders
· Fixed UI for folder permissions in Firefox 3.0, IE8, and Safari
· Fixed general IE8 compatibility issues
· Improved performance and functionality for large file uploads
Thank you for using Live Mesh. We’re working hard to create the best experience and appreciate any comments you have. Please send your feedback on how Live Mesh can be improved, or send anonymous feedback here. Also, if you have a moment, please rate Live Mesh.
Please visit the Inside Windows Live blog to read this post. Thank you.
The Live Mesh team is pleased to announce that our next update for Live Mesh for Windows is now available. This release contains numerous bug fixes, as well as a few new features. Please see below for details, and thank you for using Live Mesh.
For those of you keeping track, the new version number is:
We're pleased to announce that our next update will be available later today. This update affects the Live Desktop, Live Mesh for Mac, and Live Mesh for Mobile. We will release an update for the Live Mesh for Windows software next week. See below for details.
For those of you keeping track, the latest version numbers with this update are:
As always, thank you for helping us test Live Mesh!
The Live Mesh team is constantly seeking feedback from our customers to help improve Live Mesh. Today we do this primarily through our forums, our blog, and Microsoft Connect, but there are other, often more useful, ways to collect feedback about Live Mesh.
Would you like to help improve the Live Mesh experience? Below are two ways that you can help.
Complete a survey
We now have an online Customer Satisfaction Survey. Please take a few minutes to let us know how your Live Mesh experience has been.
Enable anonymous data collection
Live Mesh also has a tool that anonymously collects usage data on how the software is (or isn’t) working on customers’ devices. With this tool, we can monitor a variety of data points—such as the frequency of errors, typical network settings, and the reliability of sync—and then aggregate the results to get a picture of how Live Mesh is performing for customers who choose to participate. Learn more about this tool.
This tool is disabled by default because it sends some data about your devices to Microsoft, but you can help us continue to improve Live Mesh by enabling the tool.
To enable this tool, click the Live Mesh icon in the notification area of your Windows taskbar and click your user name. Then click Options, select the checkbox next to “Help us improve Live Mesh…,” and click OK.
Thank you for being one of the first to use Live Mesh. We’re working hard to create the best experience possible, and your help is greatly appreciated!
A quick self-introduction: I’m Alex Mallet, one of the development leads on the Live Mesh project. I’ve been at Microsoft since ’97, except for an abortive [but instructive] side trip to graduate school in an attempt to get a PhD in computational biology. Just about all of my time has been spent working on distributed systems, of gradually increasing scale – I started out working on IIS, moved to Application Center 2000, worked on our P2P API toolkit and finally ended up on the Live Mesh team about a year and a half ago. On Live Mesh, my team and I are responsible for making sure our datacenter services are easy to deploy and manage, and for providing common functionality needed by our cloud services. So, on the heels of the previous blog posts that have introduced the “big picture” view, I thought I’d give you a bit more insight into some of the details of the “services” part of “Software + Services”, by talking about our services that run in the cloud.
Our general philosophy when building our cloud services was to adhere to the tenets of Recovery-Oriented Computing (ROC): programs will crash, hardware will fail, and they will do so regularly, so your system should be prepared to deal with these failures. While it’s easy to espouse these principles in theory, the obvious next question is how to turn them into practice, and here we were aided by a great “best practices” survey paper written by James Hamilton, namely “On Designing and Deploying Internet-Scale Services”. I won’t claim that we managed to do everything that’s in his paper [we’re only at the Tech Preview stage, after all J], but I think we’ve done a decent job so far, and are heading in the right direction overall.
Enough philosophy, on to some more detail.
From a functionality perspective, our cloud services can be grouped into four buckets: dealing with feed and data synchronization, providing authentication and authorization, maintaining and fanning out the system’s transient state [like the various notifications provided in the Live Mesh Bar], and the connectivity services for synchronization and remote desktop access to work across any network topology. Sliced along the “state” axis, we have stateless front-end services, back-end services that maintain in-memory state, and persistent storage layers that handle both structured and unstructured data. From a scaling perspective, our plan is to scale out, not up. Thus, we’ve invested in making sure that we have as many stateless services as possible, as well as having facilities that allow us to partition our state [both persistent and transient] across multiple machines, and reconfigure these partitions as necessary. Overall, we have close to 20 different services, with each service consisting of multiple, redundant instances of a particular bit of code, striped across several racks of machines in the datacenter – in keeping with the ROC assumptions, our goal is to be resilient to multiple hardware and software failures.
Our front-end services are accessible [only] via HTTPS – all of the traffic that flows in and out of our system is encrypted. Our back-end services use a mixture of HTTPS and custom protocols layered on top of TCP. The vast majority of the services are written in C#, with the only exceptions being services that needed deep integration with Windows functionality that isn’t [easily] accessible to an application written in managed code.
All of our services sit on top of a runtime library that contains facilities commonly needed by each service: process lifetime management, HTTP and TCP listeners, a debug logging facility, a work queue facility, APIs to generate monitoring data like performance counters, etc. This common runtime also contains debugging, testing and monitoring hooks; for example, we have the ability to inject random delays and failures into our HTTP pipeline, which allows us to test our failure monitors and the overall response of the system to slow and failing services.
Building a full-scale datacenter deployment and management system is a huge undertaking, so we chose the lazy smart route and went with an existing, battle-tested system, namely the Autopilot framework, which was developed, and is being used, by the Windows Live Search team to manage their tens of thousands of datacenter machines [we’re not at that scale yet, but we hope to be, with your help J]. We use Autopilot to manage our code and data deployments, for [some of our] failure monitoring and self-healing, and to give us insight into the current state of our datacenter machines and services.
On the monitoring front, we actually monitor the system at several levels – via simple Autopilot-style watchdogs, with more extensive tests called “runners”, by hitting our service from various points outside our datacenter, and also using a variety of tools that scan our logs for error messages, highlight machines that appear to be having problems, look for crashing services etc. Of course, all these monitors are still somewhat untested – I’m sure we’ll be making lots of tweaks, and adding new tools over the coming weeks and months as we start having to troubleshoot and keep a real live system up and running. J
Ok, I think that’s enough for one post. If this is a topic of interest to you, and you’d like more detail on some of the stuff I’ve talked about, please leave suggestions and questions in the comments, and I’ll address them in follow-up posts.
And, of course, don’t forget to sign up for Live Mesh and give us feedback !