Desktop Virtualization

34
R. V. College of Engineering R.V. COLLEGE OF ENGINEERING, BANGALORE- 560059 (Autonomous Institution Affiliated to VTU, Belgaum) ENHANCING EFFICIENCY & MOBILITY IN WORKSPACES USING DESKTOP VIRTUALISATION SELF STUDY REPORT Submitted by AISHWARYA ANAND T 1RV12CS007 SECTION A ANUSHA V 1RV12CS014 SECTION A DEEPIKA BALAJI 1RV12CS027 SECTION A Prof. Praveena T , Assistant Professor Prof. Sneha M , Assistant Professor Prof. Anjan Krishnamurthy, Assistant Professor Department of Computer Science and Engineering, R.V.College of Engineering Submitted to COMPUTER SCIENCE AND ENGINEERING DEPARTMENT Department of Computer Science and Engineering Page 1

description

Desktop Virtualization

Transcript of Desktop Virtualization

  • R. V. College of Engineering

    R.V. COLLEGE OF ENGINEERING, BANGALORE-

    560059

    (Autonomous Institution Affiliated to VTU, Belgaum)

    ENHANCING EFFICIENCY & MOBILITY IN WORKSPACES USING

    DESKTOP VIRTUALISATION

    SELF STUDY REPORT Submitted by

    AISHWARYA ANAND T 1RV12CS007 SECTION A ANUSHA V 1RV12CS014 SECTION A DEEPIKA BALAJI 1RV12CS027 SECTION A

    Prof. Praveena T , Assistant Professor Prof. Sneha M , Assistant Professor

    Prof. Anjan Krishnamurthy, Assistant Professor Department of Computer Science and Engineering,

    R.V.College of Engineering Submitted to

    COMPUTER SCIENCE AND ENGINEERING DEPARTMENT

    Department of Computer Science and Engineering Page 1

  • R. V. College of Engineering

    R.V. COLLEGE OF ENGINEERING, BANGALORE 560059

    (Autonomous Institution Affiliated to VTU, Belgaum)

    DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

    CERTIFICATE

    Certified that the Self Study work titled Enhancing efficiency and mobility in workspaces using Desktop Virtualization is carried out by AISHWARYA ANAND (1RV12CS007), ANUSHA V (1RV12CS014), DEEPIKA BALAJI (1RV12CS027), who are bonafide students

    of R.V College of Engineering, Bangalore, in partial fulfillment for the award of degree of

    Bachelor of Engineering in Computer Science and Engineering from Visvesvaraya

    Technological University, Belgaum during the year 2014-2015. The Self Study report has been

    approved as it satisfies the academic requirements in respect of Self Study work prescribed by

    the institution for the said degree.

    .

    Marks awarded = Evaluation2 =

    Signature of Staff In-charge Signature of Head of the Department

    100

    Department of Computer Science and Engineering Page 2

  • R. V. College of Engineering

    Contents

    1. Introduction to Desktop Virtualization ............................................................................................. 5 2. Literature Survey ................................................................................................................................ 6 3. Research Challenges ........................................................................................................................... 8 4. Design Process ..................................................................................................................................... 9

    4.1 Identification of problem ................................................................................................................ 9 4.2 Application of Engineering Principles .......................................................................................... 10 4.3 Design Challenges......................................................................................................................... 10 4.4 Design Requirements .................................................................................................................... 11 4.5 Design Process .............................................................................................................................. 12 4.6 Use of appropriate tools, skills and techniques ............................................................................. 14

    5. Implementation ................................................................................................................................. 14 5.1 Introduction to VMware View ...................................................................................................... 14 Advantages of Using View ................................................................................................................. 15 Reliability and Security ....................................................................................................................... 15 Convenience ........................................................................................................................................ 15 Manageability ..................................................................................................................................... 16 Hardware Independence ...................................................................................................................... 17 View Features ..................................................................................................................................... 17 5.2. Architecture: How the Components Fit Together .................................................................. 19 Client Devices ..................................................................................................................................... 19 View Connection Server ..................................................................................................................... 20 Horizon Client ..................................................................................................................................... 20 VMware Horizon User Web Portal ..................................................................................................... 21 View Agent ......................................................................................................................................... 21 View Administrator ............................................................................................................................ 21 View Composer .................................................................................................................................. 21 vCenter Server .................................................................................................................................... 22 5.3. Desktop Virtual Machine Configuration ................................................................................. 22 RDS Host Virtual Machine Configuration .......................................................................................... 23 5.4. Overview of Steps to Setting Up a View Environment ........................................................... 23 5.5 Subject-wise Components........................................................................................................... 24

    Department of Computer Science and Engineering Page 3

  • R. V. College of Engineering

    5.5.1 Software Engineering: Accelerating Software Development, Testing and Deployment with VMware Virtualization Platforms ....................................................................................................... 24 5.5.2 SSCD- Design and Implementation of an Objective-C Compiler for the Virtual Machine on Smart Phone ........................................................................................................................................ 28 5.5.3 Computer Networks: Using PCoIP (PC over IP) for Desktop Virtualization ............................ 29

    6. Future work for next phase .............................................................................................................. 33

    7. References ............................................................................................................................ 33

    List of Figures 1.1. Classification of Desktop Virtualization 1 5.1 Administrative Console Showing the Dashboard View 15 5.2.1. High-Level Example of a View Environment 19 5.5.1. Standardized development and testing environments can be quickly deployed from a centrally accessible library to any test server with available CPU and memory capacity.

    25

    5.5.2. shows the composition of the SVM system. 28 5.5.3. Category for SIL Operation Code 28 5.5.4.Objective-C to SIL Compiler Model 29 5.5.5. PCoIP Client Display Overhead 32

    List of Tables Table 5.3.1. Desktop Virtual Machine Example for Windows 7 or Windows 8 23 Table 5.3.2. RDS Host Virtual Machine Example 23

    Department of Computer Science and Engineering Page 4

  • R. V. College of Engineering

    1. Introduction to Desktop Virtualization Desktop virtualization is the separation of a desktop, consisting of an operating system, applications and user data, from the underlying endpoint. The endpoint is the computer device which is used to access the desktop. Desktop virtualization can be subdivided into two types: Client side and Server side.

    With server side desktop virtualization, the end-user applications are executed remotely, on a central server, and streamed towards the endpoint via a Remote Display Protocol or other presentation and access virtualization technology. Controlling a desktop from a remote location is also called presentation or access virtualization, because the screen images are streamed from one location to another. With client side desktop virtualization, the applications are executed at the endpoint, which is the user location, and presented locally on the users computer.

    Trends in virtualization are always changing. As the technology matures and advances are made, there are more options open to administrators and more cost saving virtualization projects that can be implemented.

    Virtualization of desktops requires significant planning especially if you are moving from a decentralized environment to a centralized service. The desktop services reside on the server rather than desktop itself making the desktop a thin client. Identification of who will have what service is a key component in planning. The key benefits of desktop virtualization are:

    1. Desktops environments are isolated 2. Data is secure in the data center 3. All applications work in a virtual machine 4. Images are managed centrally 5. Desktops are always on and always connected 6. Desktop life cycle is increased 7. Users have access to their desktops from anywhere 8. A users desktop looks the same no matter where they access their desktop 9. Group security access rights

    Figure 1.1 Classification of Desktop Virtualization

    Department of Computer Science and Engineering Page 5

  • R. V. College of Engineering

    2. Literature Survey The future of technology always has its roots in the past and the beginning of virtualization goes back much further in time than many would expect. Already in 1974, Robert P. Goldberg said: virtual machines have arrived". Although this is, in fact, our current reality, it seems to have been the reality of the last 40 years with the slow adoption of virtual machines. Virtualization then known as timesharing, was first developed in 1960 by IBM. IBM's engineering team in Cambridge, Massachusetts, came up with a novel approach that gave each user a virtual machine (VM), with an operating system that doesn't have to be complex because it only has to support one user. Virtual machines where identical copies of the underlying hardware.

    In 1964, IBM Cambridge Scientific Center begins development of CP-40, an operating system for the System/360 mainframe to create virtual machines within the mainframe. This operating system was the first step to create virtual machines on these mainframes. The CP-40 was soon replaced by the CP-67 in 1965. The CP-67 had a new component called the "Blaauw Box" designed by Gerrit Blaauw. This component was the first practical implementation of paged virtual memory. The benefits of virtualization were impressive. Virtualization made it possible to provide test platforms for software testing and development so that now all of that activity could be done so much more efficiently. Furthermore, it enabled an interactive environment, where a test application could be run and when the application failed the virtual memory showed exactly what was happening.

    In the 1970s Intel developed the first microprocessor, which in 1978 was named the x86 processor which led to the development of personal computers (PCs). In 1980s, x86 computers lacked the horsepower to run multiple operating systems, but were so inexpensive that organizations would deploy dedicated hardware for each application. As the chip performance increased dramatically, organizations that typically run one application per server to avoid the risk of vulnerabilities when running multiple applications on one server, now experience underutilization of their servers. This underutilization is one of the main reasons VMware invented virtualization for the x 86 platforms. In 1999 VMware released the first virtualization software for x86 computers, making it possible to run multiple operating systems and multiple applications on the same computer at the same time, increasing the utilization and flexibility of hardware.

    Connor (2004) addresses the race to keep up with processor technology by VMWare and others (Connor, 2004). As evidence for this, Connor (2004) says, If you look at processor trends, both Intel and AMD have shifted from increasing the clock speed of their processors to, increasing the number of processor cores on a single chip," says Michael Mullaney, vice president of marketing for VMware. "Going forward, you are going to find out that even a two-CPU server actually has four processors (p. 01) Connor (2004) says "Virtualization is moving from a niche market into the mainstream, especially since Microsoft entered the market" (p. 01) This makes it clear that

    Department of Computer Science and Engineering Page 6

  • R. V. College of Engineering

    this is a project topic that is worth pursuing. This is a technology that is just now permeating into the main stream and the future of the technology is leading in a direction of more and more implementation. This article is very relevant to my project topic because of the statement above.

    Hassell (2007) gives us a summary of his article in the abstract section when he says, Virtualization, the move from real, physical hardware to virtual hardware is being seen as one of the "next big things" in IT. There are more virtualization options for IT departments than ever before, including XenSource Inc's and Virtual Iron Software Inc's open-source applications, Microsoft Corp's Virtual Server and VMware Inc's venerable products. But if you are new to this party, you might not know how to get started. (p. 01). Hassell (2007) gives a broad overview of the topic and a launching point to explore the topic of virtualization and some of the options that are available, phases of implementation. Hassell (2007) is experienced in this field and is therefore a valued source for this subject matter. Hassell (2007) breaks down the process step by step, The first step in virtualization is determining if you have the right type of infrastructure to support it. Look for a lot of machines doing similar tasks, and make sure you have more than 10 of them. For 10 or fewer, the payoff is questionable. (p. 01).

    Bele and Desai (2012) look at virtualization from a slightly broader perspective. Beyond the hypervisor platform alone, Bele and Desai (2012) look at how virtual host tie into the rest of your environment, like SAN with a look at storage virtualization. Bele and Desai (2012) detail how all of these components are related. Any technology that really permeates the market typically is able to perform multiple functions, but is usually part of a larger technology.

    Norall (2007) gives this insight on the potential and advantages of storage virtualization. As with other aspects of virtualization, Norall (2007) makes the point that there are clear advantages to virtualizing your storage. Norall (2007) shows that virtualization as a technology encompasses more than just server virtualization, which is the most common modern use of the overall technology. However, Norall (2007) shows that there are many aspects of virtualization and that it can be applied to many different technologies within the computer science spectrum.

    Peggy (2007) makes the connection between virtualization and cost savings as follows: "There are three key areas of potential benefits: space, time and money. Fewer systems deployed results in lower capital costs. If companies can put 10 applications on 10 machines onto one or two machines, not only is that less money spent on computers, but the amount of money spent on electricity to power and cool these boxes goes down, freeing up precious data center space as well." (p. 01). Peggy (2007) discusses lowering costs through virtualization, which is one of the main advantages of virtualization.

    Kontzer (2010) details a history and projected future for the technology, "More than a decade after VMware introduced the first software that enabled x86 virtualization, the question facing most IT executives is no longer whether they plan to virtualize, but how far they plan to go...The long-term potential of virtualization speaks to an issue that transcends server spread, budget

    Department of Computer Science and Engineering Page 7

  • R. V. College of Engineering

    concerns and any other barriers that might get in the way of a virtualization investment: The exponential growth of data is causing IT environments to burst at the seams." (p. 01). Kontzer (2010) explores not only the origin of the adoption of virtualization, but also the growth of virtualization in the industry, and what factors influence a company to make the investment in virtualization technology.

    Kovar (2008) reveals the research that shows the current growth pattern of the virtualization technology. Everyone is talking about virtualization and just how hot it is, but can that growth or interest be measured Kovar (2008) shows that measurement and quantifies the growth factor.

    Dubie (2009) goes deep into the concept and value of desktop virtualization, "Successful server virtualization deployments lead many IT managers to believe desktop virtualization would provide the same benefits. While that is partly true, companies need to be aware of how the two technologies differ" (p. 01). Dubie (2009) rightly points out that desktop virtualization is a technology not to be thought out lightly. Many industry experts focus on server virtualization, but Dubie (2009) suggests that desktop virtualization is the next big movement for virtualization. Dubie (2009) delves deep into the concept of desktop virtualization and reveals it to be a valid path for the mainstream IT department to pursue, but with caution and understanding.

    Kennedy (2007) offers real solutions to the issue of desktop deployment, "Despite rumors to the contrary, virtualization is not just for the datacenter. From the most complex workstation applications to the simplest DLLs, virtualization is leaving an indelible mark on client computing. The idea behind application virtualization is to eliminate many of the support-draining configuration problems that plague conventional desktop implementations." (p.01) Kennedy (2007) takes on desktop virtualization from a slightly different perspective. Kennedy (2007) makes the point that desktop virtualization will continue to grow in the future

    Hsieh (2008) lays out a strategy that is key to any virtualization project, as follows, "Virtualization has become one of the hottest information technologies in the past few years. Yet, despite the proclaimed cost savings and efficiency improvement, implementation of the virtualization involves high degree of uncertainty, and consequently a great possibility of failures. Experience from managing the VMware based project activities at several companies are reported as the examples to illustrate how to increase the chance of successfully implementing a virtualization project" (p.01). After all of the research, you need to be able to put it all together. Hsieh (2008) covers just that, a way to put it all together and implement a successful virtualization project.

    3. Research Challenges Nearly two-thirds (61%) of large midmarket (i.e., 500 to 999 employees) and enterprise (i.e., 1,000 or more employees) IT organizations have deployed desktop virtualization technology on systems running in production environments. However, due to integration complexities,

    Department of Computer Science and Engineering Page 8

  • R. V. College of Engineering

    performance concerns, and vendor support issues, virtualizing applications and their underlying databases has been a challenge for many organizations. They experienced a number of problems when deploying VMware View:

    Provisioning new machines would sometimes fail; in some cases, most of the machines in a new pool would be created successfully, but a few would not. In addition, creating new pools of machines would often take a very long time, sometimes hours, with some of the machines failing to be created properly.

    VMware View allows two types of pools: persistent and non-persistent. The persistent machines allow settings and user data to be retained. One of the purported benefits of a persistent machine is the ability to recompose it (i.e., update the image on which it is based) without losing that data. In actual practice, profile information would often be lost after a recomposition.

    Logging into View Manager would periodically be slow, and sessions would time out at seemingly random intervals.

    Deleting machines was sometimes problematic. Some machines would delete within a few minutes; others would take days or require a restart of the backend software. In one case, a machine would not delete even after a restart of the software.

    4. Design Process 4.1 Identification of problem Identification of Virtualization emerged in the 1960s as a practice to optimize the use of expensive computing hardware. Desktop virtualization targets to reduce the complexity associated with deployment and maintenance of client devices, which ultimately helps IT Companies to reduce desktop management costs. The use of thin clients also helps reduce the costs at the client side. Similarly, todays higher education environment is marked by changing student expectations related to their increasingly diverse computing needs. Higher education institutions are striving to create student-friendly IT infrastructures that support students desire to bring their own mobile devices to campus. Gone are the days when these colleges and universities asserted their control over students by regulating everything from computer lab hours to acceptable computing devices. In Server-based Desktop Virtualization, the users physically work on thin clients, but the operational environment that they interact with is actually running on a remote Server. The user input is transmitted across the network to the remote Server, and the user interface i.e., the virtual desktop is presented back through the network to the end-user. This project proposes a server based desktop virtualization system, in which mobile phones can be used as thin clients and a desktop computer acts as the server. All the processing is done centrally on the server itself. Nothing is executed or persistent at the client side. The proposed system will greatly improve the QoS of users and efficiently allocate resources among all clients using appropriate algorithms for the same.

    Department of Computer Science and Engineering Page 9

  • R. V. College of Engineering

    4.2 Application of Engineering Principles Virtual desktop computing, which shifts computing from local desktop PCs to a backend datacenter, offered some promise. It helped take pressure off aging PC inventories, since the thin clients used to access the datacenter require much less processing power, simplified support, and moved much of the heavy lifting of IT to the datacenter. However, virtual desktop infrastructure, or VDI, also has proven to have drawbacks it can be complex, often requiring specialized skills that are beyond many IT departments, and it calls for a large up-front capital investment before deployment.

    Enter a solution that combines the benefits of VDI with the growing power and popularity of the cloud desktop-as-a-service, or DaaS. The concept of DaaS builds on virtual desktop computing, but takes it a step further, moving the backend virtual desktop infrastructure off campus and into the cloud, w here an experienced service provider can handle the servers, software and support required. The result combines the benefits of VDI with further advantages for higher education no big upfront capital expense investment, a simplification of computing in general, and little IT expertise required. In short, DaaS uses the power of the cloud to help institutions reduce IT complexity and cost, while remaining competitive and meeting the computing expectations of their clients.

    4.3 Design Challenges The following are some of the design challenges that were faced during the process of deployment. Also given below are the solutions for those challenges.

    Self service Standardize and automate IT service provisioning and management. Instead of waiting for manual provisioning, academic departments can deploy standardized, preconfigured IT services from a catalog that is available via a self-service Web portal. Departments get tailored services on demand, and central IT administrators reduce maintenance burdens.

    Instant provisioning Quickly deploy a single virtual machine, multiple virtual machines or a pool of virtual desktops to save time and money. With instant provisioning, IT teams can eliminate extensive funding-justification processes that can stall the development and deployment of new applications for months.

    Resource pooling Abstract and pool IT resources into logical building blocks of storage, network and server unitseffectively creating virtual datacenters. To increase efficiency, IT teams can dynamically allocate these resource containers to various applications on the basis of defined business rules and user demand.

    Efficient workload distribution Move workloads seamlessly across private or shared college and department clouds and external clouds, according to academic-institution and application requirements. By freeing deployments from consisting of custom projects and

    Department of Computer Science and Engineering Page 10

  • R. V. College of Engineering

    applications that are tightly coupled to a particular cloud, the hybrid model can increase IT automation and reduce manual operations.

    Policy management Map business rules, policies and defined service levels to IT resources after they are virtually pooled. Through intelligent policy management, IT organizations can create highly efficient, self-managing infrastructure in which IT is available as a service.

    Application portability and interoperability Support a shared management and security modelbased on open standardsto prevent vendor lock-in and help enable application portability between internal datacenters and external clouds hosted by service-provider partners. The right cloud infrastructure enables developers to build robust modern applications that are portable, dynamic and optimized for elastically scalable deployment on hybrid clouds.

    IT control and freedom of choice Enjoy all of the cost-saving and agility benefits of an institution-wide cloud deployment while preserving departmental IT control over policies, compliance and internal chargeback. Department IT teams can maintain autonomy and gain the flexibility to make the right implementation choices to meet their specific requirements.

    4.4 Design Requirements Here are some of the strongest reasons why virtual desktops in general, and DaaS in particular, make sense for energy saving and efficiency increase:

    Centralized management: With virtual desktops, IT departments can manage all of their computers from any location, eliminating the need to travel to different locations for desktop maintenance and end-user support. The result can be huge cost savings and much lower labor and support costs.

    Security: Because use of virtual desktops means that images only not actual data are stored on user devices, security is greatly enhanced. Since no data resides on the device, virtual desktops do away with security concerns if a device is lost or stolen.

    Far greater agility: Any new applications had to be installed, when user computers in workspaces or labs could be brought down for the time needed to install new software. Virtual desktops do away with that constraint. Instead of updating computers in labs and classrooms one by one, or running a remote program to touch each device from the datacenter or IT center and upgrade it, virtual desktops can all be deployed at once, within minutes, to any device.

    Flexible resource sharing: The flexibility of virtual desktops extends to location-based printing amongst other things, allowing users to print from any device to a nearby printer, depending on how permissions are set.

    Reduce IT cost and complexity: Virtual computing in general, and DaaS specifically, extends the life of existing desktop computers, allowing schools to reuse aging PC

    Department of Computer Science and Engineering Page 11

  • R. V. College of Engineering

    inventories. Legacy computers that are no longer powerful enough to run the latest applications can still be used as virtual clients.

    4.5 Design Process Plan

    Desktop Virtualization Strategy Service: Understand the value that a desktop virtualization solution can bring to the organization and provide the metrics that you need to validate the investment. Software solutions provide a holistic analysis that encompasses the business, technology strategies, operating systems, and applications. It uses detailed discovery to calculate potential savings in capital and operating expenses. With a clear snapshot of the current infrastructure, you can determine how desktop virtualization can cost effectively protect sensitive information while delivering a user experience that is comparable to that of a standalone desktop environment.

    o Business case definition and solution strategy: Determine how a desktop virtualization solution can help to secure data, simplify operations, improve end user experience, and reduce costs. Prepare for an in-depth design activity by mapping business and technical requirements to your desired solution.

    o Operational readiness assessment: Undertake an operational readiness review, define operational requirements, and develop a transformation roadmap to an efficient virtual desktop architecture.

    o Collaboration and innovation architecture planning: Plan for a virtualized desktop solution by incorporating collaboration into your architecture.

    Desktop Virtualization Assessment Service: Determine the feasibility and confirm the

    TCO benefits of implementing desktop virtualization in your environment. Desktop Virtualization Assessment Service provides a comprehensive study that includes data and risk assessment of existing desktop solutions and examines the feasibility of a virtualized desktop infrastructure. DVAS uses a minimally intrusive data collection tool to assess up to Microsoft Windows desktops with no user disruption. Data analysis and interviews provide a data-driven projection of WAN, LAN, and storage infrastructure required to support a successful desktop virtualization deployment. An estimated build of materials and TCO analysis are then completed, which show the benefits of implementing your desired desktop virtualization solution.

    Desktop Virtualization Planning and Design Service: With your metrics-driven strategy in place, Desktop Virtualization Planning and Design Service provides the necessary resources and expertise to design a comprehensive solution that integrates the network, data center, desktop computing, rich media applications, and storage infrastructures. Without proper planning, design, and deployment, response times and user productivity can be affected.

    Department of Computer Science and Engineering Page 12

  • R. V. College of Engineering

    o Desktop virtualization planning: Evaluate your virtualization opportunities against

    your current desktop infrastructure, rich media applications, and management systems to help you better understand the benefits and costs of migrating to a virtual desktop solution.

    o Desktop virtualization design: Create a high-level design for your desktop

    virtualization solution and a plan for your physical-to-virtual migration process.

    o Desktop virtualization operations management: Assess processes and plan for operational changes and implementation.

    o Mobility services readiness assessment: Speed deployment of mobility services

    for your desktop virtualization solution. This service provides requirements development, WLAN architecture analysis, and recommendations on how to deploy a mobile virtual desktop solution

    Build

    Desktop Virtualization Pre-Production Pilot Service: Validate specific technical requirements for your proposed desktop virtualization design prior to full production. The Desktop Virtualization Pre-Production Pilot Service is a fixed price, fixed scope pre-production deployment offering for up to 250 users that helps you understand and experiment with the unique characteristics of your desktop virtualization project.

    Desktop Virtualization Implementation Service: Smoothly implement your desktop virtualization solution, including creating an implementation plan and migrating users.

    Manage

    Desktop Virtualization Optimization Service: Review best practices for evolving your environment to support data center growth, improve productivity and IT operational processes, accelerate change, and develop a future deployment roadmap, including architecture recommendations for desktop virtualization deployments.

    o Define and align your operational and technical objectives with industry best practices to meet current and future business operational requirements.

    o Identify areas for platform improvement by analyzing performance and capacity patterns, peak utilization trends, and underutilized assets.

    o Improve operational maturity, manageability, and delivery of desktop services through periodic reviews of the architecture and data center operations.

    o Enhance your desktop virtualization operational environment with ongoing expertise, support, and training.

    Department of Computer Science and Engineering Page 13

  • R. V. College of Engineering

    Solution Support for Desktop Virtualization: Rapidly resolve operational issues with

    solution support that provides a single point of contact.

    4.6 Use of appropriate tools, skills and techniques Following gives a list of tools that would be used for the next phases

    VMware vSphere vSphere is the industry-leading virtualization platform for building cloud infrastructures. It enables users to run business-critical applications with confidence and respond quickly to business needs. vSphere accelerates the shift to cloud computing for existing data centers and underpins compatible public cloud offerings, forming the foundation for the industrys best hybrid cloud model.

    VMware Horizon 6 with View Horizon 6 delivers hosted virtual desktops and applications to end users through a single platform. These desktop and application servicesincluding RDS-hosted applications, packaged applications with VMware ThinApp, software-as-a-service (SaaS) applications, and even virtualized applications from Citrixcan all be accessed from one unified workspace across devices, locations, media, and connections. Leveraging closed-loop management and optimized for the software-defined data center, Horizon helps IT control, manage, and protect the Windows resources that end users want at the speed they expect and with the efficiency that business demands. Horizon 6 also provides the ability to manage both virtual and physical desktop images using VMware Mirage. Mirage allows you to manage persistent, full-clone desktops. Horizon 6 allows users to access desktops and applications via VMware Workspace Portal. Workspace Portal also provides IT a central place to entitle and deliver Windows applications, desktops, SaaS applications, ThinApp packaged applications, and XenApp applications to users.

    5. Implementation 5.1 Introduction to VMware View With View, IT departments can run remote desktops and applications in the datacenter and deliver these desktops and applications to employees as a managed service. End users gain a familiar, personalized environment that they can access from any number of devices anywhere throughout the enterprise or from home. Administrators gain centralized control, efficiency, and security by having desktop data in the datacenter.

    Department of Computer Science and Engineering Page 14

  • R. V. College of Engineering

    Advantages of Using View When you manage enterprise desktops with View, the benefits include increased reliability, security, hardware independence, and convenience.

    Reliability and Security Desktops and applications can be centralized by integrating with VMware vSphere and virtualizing server, storage, and networking resources. Placing desktop operating systems and applications on a server in the datacenter provides the following advantages:

    Access to data can easily be restricted. Sensitive data can be prevented from being copied onto a remote employee's home computer.

    Integration with Workspace means that end users have on-demand access to remote desktops through the same Web-based application catalog they use to access SaaS, Web, and Windows applications.

    Inside a remote desktop, users can also use Workspace Catalog to access applications. The ability to provision remote desktops with pre-created Active Directory accounts

    addresses the requirements of locked-down Active Directory environments that have read-only access policies.

    Data backups can be scheduled without considering when end users' systems might be turned off.

    Remote desktops and applications that are hosted in a datacenter experience little or no downtime.

    Virtual machines can reside on high-availability clusters of VMware servers. Virtual desktops can also connect to back-end physical systems and Microsoft Remote

    Desktop Services (RDS) hosts.

    Convenience The unified management console is built for scalability so that even the largest View deployments can be efficiently managed from a single management interface. Wizards and dashboards enhance the workflow and facilitate drilling down to see details or change settings. The figure provides an example of the browser based user interface for View Administrator.

    Another feature that increases

    convenience is the VMware remote display protocol, PCoIP. The PCoIP (PCover-IP) display protocol delivers an end-user experience equal to the current experience of using a physical PC:

    Fig 5.1 Administrative Console Showing the Dashboard View

    Department of Computer Science and Engineering Page 15

  • R. V. College of Engineering

    On LANs, the display is faster and smoother than traditional remote displays. On WANs, the display protocol can compensate for an increase in latency or a reduction

    in bandwidth, ensuring that end users can remain productive regardless of network conditions.

    Manageability Provisioning desktops and applications for end users is a quick process. No one is required to install applications one by one on each end user's physical PC. End users connect to a remote application or a remote desktop complete with applications. End users can access their same remote desktop or application from various devices at various locations.

    Using VMware vSphere to host virtual desktops and RDS host servers provides the following benefits:

    Administration tasks and management chores are reduced. Administrators can patch and upgrade applications and operating systems without touching a user's physical PC.

    Integration with Workspace means that IT managers can use the Web-based Workspace administration interface to monitor user and group entitlements to remote desktops.

    With View Persona Management, physical and virtual desktops can be centrally managed, including user profiles, application entitlement, policies, performance, and other settings. Deploy View Persona Management to physical desktop users prior to converting to virtual desktops.

    Storage management is simplified. Using VMware vSphere, you can virtualize volumes and file systems to avoid managing separate storage devices.

    With vSphere 5.5 Update 1 or a later release, you can use Virtual SAN, which virtualizes the local physical solid-state disks and hard disk drives available on ESXi hosts into a single datastore shared by all hosts in a cluster. You specify only one datastore when creating a desktop pool, and the various components, such as virtual machine files, replicas, user data, and operating system files, are placed on either SSD disks or hard drive disks, as appropriate.

    You manage virtual machine storage requirements, such as capacity, performance, and availability, in the form of default storage policy profiles, which get created automatically when you create a desktop pool.

    With the View storage accelerator, the IOPS storage load is dramatically reduced, supporting end-user logins at larger scales without requiring any special storage array technology.

    If remote desktops use the space-efficient disk format available with vSphere 5.1 and later, stale or deleted data within a guest operating system is automatically reclaimed with a wipe and shrink process.

    Department of Computer Science and Engineering Page 16

  • R. V. College of Engineering

    Hardware Independence Remote desktops and applications are hardware-independent. For example, because a remote desktop runs on a server in the datacenter and is only accessed from a client device, a remote desktop can use an operating system that might not be compatible with the hardware of the client device.

    For example, although Windows 8 can run only on Windows 8-enabled devices, you can install Windows 8 in a virtual machine and use that virtual machine on a PC that is not Windows 8-enabled.

    Remote desktops run on PCs, Macs, thin clients, PCs that have been repurposed as thin clients, tablets, and phones. Remote applications run on a subset of these devices. New device support is added quarterly. If you use the HTML Access feature, end users can open a remote desktop inside a browser, without having to install any client application on the client system or device.

    View Features Features included in View support usability, security, centralized control, and scalability. The following features provide a familiar experience for the end user:

    On Microsoft Windows client devices, print from a virtual desktop to any local or networked printer that is defined on the Windows client device. This virtual printer feature solves compatibility issues and does not require you to install additional print drivers in a virtual machine.

    On most client devices, use the location-based printing feature to map to printers that are physically near the client system. Location-based printing does require that you install print drivers in the virtual machine.

    Use multiple monitors. With PCoIP multiple-monitor support, you can adjust the display resolution and rotation separately for each monitor.

    Access USB devices and other peripherals that are connected to the local device that displays your virtual desktop. You can specify which types of USB devices end users are allowed to connect to. For composite devices that contain multiple types of devices, such as a video input device and a storage device, you can split the device so that one device (for example, the video input device) is allowed but the other device (for example, the storage device) is not.

    Use View Persona Management to retain user settings and data between sessions even after the desktop has been refreshed or recomposed. View Persona Management has the ability to replicate user profiles to a remote profile store (CIFS share) at configurable intervals.

    You can also use a standalone version of View Persona Management on physical computers and virtual machines that are not managed by View.

    View offers the following security features, among others:

    Department of Computer Science and Engineering Page 17

  • R. V. College of Engineering

    Use two-factor authentication, such as RSA SecurID or RADIUS (Remote Authentication Dial-In User Service), or smart cards to log in.

    Use pre-created Active Directory accounts when provisioning remote desktops and applications in environments that have read-only access policies for Active Directory.

    Use SSL tunneling to ensure that all connections are completely encrypted. Use VMware High Availability to ensure automatic failover.

    Scalability features depend on the VMware virtualization platform to manage both desktops and servers:

    Integrate with VMware vSphere to achieve cost-effective densities, high levels of availability, and advanced resource allocation control for your remote desktops and applications.

    Use the View storage accelerator feature to support end-user logins at larger scales with the same storage resources. This storage accelerator uses features in the vSphere 5 platform to create a host memory cache of common block reads.

    Configure View Connection Server to broker connections between end users and the remote desktops and applications that they are authorized to access.

    Use View Composer to quickly create desktop images that share virtual disks with a master image.

    Using linked clones in this way conserves disk space and simplifies the management of patches and updates to the operating system.

    The following features provide centralized administration and management:

    Use Microsoft Active Directory to manage access to remote desktops and applications and to manage policies.

    Use View Persona Management to simplify and streamline migration from physical to virtual desktops.

    Use the Web-based administrative console to manage remote desktops and applications from any location.

    Use View Administrator to distribute and manage applications packaged with VMware ThinApp.

    Use a template, or master image, to quickly create and provision pools of desktops. Send updates and patches to virtual desktops without affecting user settings, data, or

    preferences. Integrate with Workspace so that end users can access remote desktops through the

    Workspace user portal on the Web, as well as use the Workspace user portal on the Web from inside a remote desktop.

    Department of Computer Science and Engineering Page 18

  • R. V. College of Engineering

    Integrate with Mirage to manage locally installed virtual machine desktops and to deploy and update applications on dedicated full-clone remote desktops without overwriting user-installed applications.

    5.2. Architecture: How the Components Fit Together End users start Horizon Client to log in to View Connection Server. This server, which integrates with Windows Active Directory, provides access to remote desktops hosted on a VMware vSphere server, a physical PC, or a Microsoft RDS host. Horizon Client also provides access to remote applications on a Microsoft RDS host.

    Figure 5.2.1. High-Level Example of a View Environment

    Client Devices A major advantage of using View is that remote desktops and applications follow the end user regardless of device or location. Users can access their personalized virtual desktop or remote application from a company laptop, their home PC, a thin client device, a Mac, or a tablet or phone. End users open Horizon Client to display their remote desktops and applications. Thin client devices use View thin client software and can be configured so that the only application that users can launch directly on the device is View Thin Client. Repurposing a legacy PC into a thin client desktop can extend the life of the hardware by three to five years. For example, by using View on a thin desktop, you can use a newer operating system such as Windows 7 on older desktop hardware. If you use the HTML Access feature, end users can open a remote desktop inside a browser, without having to install any client application on the client system or device.

    Department of Computer Science and Engineering Page 19

  • R. V. College of Engineering

    View Connection Server This software service acts as a broker for client connections. View Connection Server authenticates users through Windows Active Directory and directs the request to the appropriate virtual machine, physical PC, or Microsoft RDS host.

    View Connection Server provides the following management capabilities:

    Authenticating users n Entitling users to specific desktops and pools. Assigning applications packaged with VMware ThinApp to specific desktops and pools. Managing remote desktop and application sessions. Establishing secure connections between users and remote desktops and applications. Enabling single sign-on. Setting and applying policies.

    Inside the corporate firewall, you install and configure a group of two or more View Connection Server instances. Their configuration data is stored in an embedded LDAP directory and is replicated among members of the group.

    Outside the corporate firewall, in the DMZ, you can install and configure View Connection Server as a security server. Security servers in the DMZ communicate with View Connection Servers inside the corporate firewall.

    Security servers ensure that the only remote desktop and application traffic that can enter the corporate data center is traffic on behalf of a strongly authenticated user. Users can access only the resources that they are authorized to access. Security servers offer a subset of functionality and are not required to be in an Active Directory domain. You install View Connection Server in a Windows Server 2008, Windows Server 2012, or Windows Server 2012 R2 server, preferably on a VMware virtual machine.

    Horizon Client The client software for accessing remote desktops and applications can run on a tablet, a phone, a Windows, Linux, or Mac PC or laptop, a thin client, and more.

    After logging in, users select from a list of remote desktops and applications that they are authorized to use. Authorization can require Active Directory credentials, a UPN, a smart card PIN, or an RSA SecurID or other two-factor authentication token.

    An administrator can configure Horizon Client to allow end users to select a display protocol. Protocols include PCoIP and Microsoft RDP for remote desktops. The speed and display quality of PCoIP rival that of a physical PC.

    Department of Computer Science and Engineering Page 20

  • R. V. College of Engineering

    VMware Horizon User Web Portal From a Web browser on a client device, end users can connect to remote desktops and applications through the browser, automatically start Horizon Client if it is installed, or download the Horizon Client installer. When you open a browser and enter the URL of a View Connection Server instance, the Web page that appears contains links to the VMware Downloads site for downloading Horizon Client. The links on the Web page are configurable, however.

    For example, you can configure the links to point to an internal Web server, or you can limit which client versions are available on your own View Connection Server. If you use the HTML Access feature, the Web page also displays a link for accessing remote desktops inside a supported browser.

    With this feature, no Horizon Client application is installed on the client system or device.

    View Agent You install the View Agent service on all virtual machines, physical systems, and Microsoft RDS hosts that you use as sources for remote desktops and applications. On virtual machines, this agent communicates with Horizon Client to provide features such as connection monitoring, virtual printing, View Persona Management, and access to locally connected USB devices.

    If the desktop source is a virtual machine, you first install the View Agent service on that virtual machine and then use the virtual machine as a template or as a parent of linked clones. When you create a pool from this virtual machine, the agent is automatically installed on every remote desktop.

    You can install the agent with an option for single sign-on. With single sign-on, users are prompted to log in only when they connect to View Connection Server and are not prompted a second time to connect to a remote desktop or application.

    View Administrator This Web-based application allows administrators to configure View Connection Server, deploy and manage remote desktops and applications, control user authentication, and troubleshoot end user issues. When you install a View Connection Server instance, the View Administrator application is also installed. This application allows administrators to manage View Connection Server instances from anywhere without having to install an application on their local computer.

    View Composer You can install this software service on a vCenter Server instance that manages virtual machines or on a separate server. View Composer can then create a pool of linked clones from a specified parent virtual machine. This strategy reduces storage costs by up to 90 percent. Each linked clone acts like an independent desktop, with a unique host name and IP address, yet the linked clone requires significantly less storage because it shares a base image with the parent. Because linked-clone desktop pools share a base image, you can quickly deploy updates and patches by

    Department of Computer Science and Engineering Page 21

  • R. V. College of Engineering

    updating only the parent virtual machine. End users' settings, data, and applications are not affected. Although you can install View Composer on its own server host, a View Composer service can operate with only one vCenter Server instance. Similarly, a vCenter Server instance can be associated with only one View Composer service.

    vCenter Server This service acts as a central administrator for VMware ESXiservers that are connected on a network. vCenter Server, provides the central point for configuring, provisioning, and managing virtual machines in the datacenter. In addition to using these virtual machines as sources for virtual machine desktop pools, you can use virtual machines to host the server components of View including View Connection Server instances, Active Directory servers, Microsoft RDS hosts, and vCenter Server instances. You can install View Composer on the same server as vCenter Server or on a different server.vCenter Server then manages the assignment of the virtual machines to physical servers and storage and manages the assignment of CPU and memory resources to virtual machines. You can install vCenter Server either as a VMware virtual appliance or install vCenter Server in a Windows Server 2008 R2 server, a Windows Server 2012 server, or a Windows Server 2012 R2 server, preferably on a VMware virtual machine.

    5.3. Desktop Virtual Machine Configuration Because the amount of RAM, CPU, and disk space that virtual machine desktops require depends on the guest operating system, separate configuration examples are provided for Windows XP, Windows Vista, and Windows 7 and later virtual desktops. The example settings for items such as memory, number of virtual processors, and disk space are Viewspecific.

    The amount of system disk space required depends on the number of applications required in the base image. VMware has validated a setup that included 8GB of disk space. Applications included Microsoft Word, Excel, PowerPoint, Adobe Reader, Internet Explorer, McAfee Antivirus, and PKZIP. The amount of disk space required for user data depends on the role of the end user and organizational policies for data storage. If you use View Composer, this data is kept on a persistent disk.

    The guidelines listed in the following table are for a standard Windows 7 or later virtual machine desktop.

    Department of Computer Science and Engineering Page 22

  • R. V. College of Engineering

    Table 5.3.1. Desktop Virtual Machine Example for Windows 7 or Windows 8

    RDS Host Virtual Machine Configuration Use RDS (Remote Desktop Services) hosts for providing hosted applications and session-based remote desktops to end users.

    An RDS host can be a physical machine or a virtual machine. This example uses a virtual machine with the specifications listed in the following table. The ESXi host for this virtual machine can be part of a VMware HA cluster to guard against physical server failures.

    Table 5.3.2. RDS Host Virtual Machine Example

    5.4. Overview of Steps to Setting Up a View Environment 1. Set up the required administrator users and groups in Active Directory. 2. If you have not yet done so, install and set up ESXi hosts and vCenter Server. 3. If you are going to deploy linked-clone desktops, install View Composer, either on the

    vCenter Server system or on a separate server. Also install the View Composer database. 4. Install and set up View Connection Server. Also install the Events database. 5. Create one or more virtual machines that can be used as a template for full-clone desktop

    pools or as a parent for linked-clone desktop pools. 6. Set up an RDS host and install applications to be remoted to end users. 7. Create desktop pools, application pools, or both.

    Department of Computer Science and Engineering Page 23

  • R. V. College of Engineering

    8. Control user access to desktops. 9. Install Horizon Client on end users' machines and have end users access their remote

    desktops and applications. Instructions: Horizon Client documentation at https://www.vmware.com/support/viewclients/doc/viewclients_pubs.html.

    10. (Optional) Create and configure additional administrators to allow different levels of access to specific inventory objects and settings.

    11. (Optional) Configure policies to control the behavior of View components, desktop and application pools, and end users.

    12. (Optional) Configure View Persona Management, which gives users access to personalized data and settings whenever they log in to a desktop.

    13. (Optional) For added security, integrate smart card authentication or a RADIUS two-factor authentication solution.

    5.5 Subject-wise Components 5.5.1 Software Engineering: Accelerating Software Development, Testing and Deployment with VMware Virtualization Platforms One aspect of IT operations where virtualization has driven significant process improvements is in application development and testing. By deploying the VMware virtualization platform throughout their development lab, IT managers can accelerate software project completion by increasing the individual and team productivity of their developers and testers, reduce hardware and administrative costs, and improve the quality and robustness of applications that are deployed in production. These benefits are enabled by key capabilities of VMwares industry-leading virtualization technology. VMware virtualization software lets technical professionals quickly and easily package a complete hardware configuration, firmware and operating system with its applications and settings into a portable virtual machine package. This virtual machine can then operate on any x86 (Intel or AMD processor) system. Virtual machines make it possible to manage the hardware configuration, operating system and applications as a single unit encapsulated in a simple set of files so that it is possible to provision, clone, share and migrate entire virtual machines quickly and easily. Virtual machines can also run simultaneously and independently on the same physical hardware, enabling the consolidation of physical systems. This use of VMware virtualization technology in the development lab is a key facet of the broader virtual infrastructure vision, which can be deployed throughout an enterprises entire computing infrastructure. Replacing physical systems with virtual equivalents simplifies administration, increases flexibility and responsiveness, and decreases IT hardware costs. From developers to QA testers, UI designers, localization engineers and integration partners, everyone involved in the application development lifecycle can benefit from VMware virtualization technology.

    Department of Computer Science and Engineering Page 24

  • R. V. College of Engineering

    Challenges in Developing, Testing and Deploying Applications Enterprise application development and testing has evolved to become a complex undertaking that requires support for a diverse set of computer and network environments, typically involving collaboration between geographically distributed teams and a multitude of development tools and components. IT managers are challenged to focus on controlling hardware, facilities and administrative costs while trying to deliver projects on time and consistently maintain and improve software quality. Developers, QA and IT teams have key requirements that must be addressed to enable effective creation, testing and deployment of applications. These requirements include the following: Isolated sand box environments for application development and pre-deployment testing. Support for creating realistic test environments in order to verify compatibility of applications with other elements of the deployment infrastructure. For example, compatibility with clients running on different operating systems and connecting to applications via different technologies. Collaboration within and between geographically distributed teams including passing complete information about configurations between development teams, QA and support to reproduce problems. Automated regression tests, including some that may require shutdown and/or reboot cycles The ability to introduce simulated failure conditions into the QA cycle for stress testing. One of the most significant challenges facing enterprise development teams is the loss of productivity resulting from team members contending for limited hardware resources. Because the number of systems is often limited by capital budgets and by facilities constraints (such as rack space, network ports, HVAC and power), access to hardware becomes a significant bottleneck that may slow down or stall projects. Even when hardware does become available, testing is often stalled for days or even weeks waiting for servers to be configured from scratch or for a specific application to be configured. For these reasons, test managers must often dedicate servers to testing specific applications to the exclusion of all other workloads. These factors lead to obvious problems: longer testing cycles, contention for hardware resources between different projects, poor utilization of servers during set-up time and inflexibility that makes it difficult to find appropriate hardware for debugging high-priority defects as they are detected.

    Fig 5.5.1. Standardized development and testing environments can be quickly deployed from a centrally accessible library to any test server with available CPU and memory capacity.

    Department of Computer Science and Engineering Page 25

  • R. V. College of Engineering

    Another significant challenge is the substantial hardware requirements for development and testing and the resulting high costs. Many developers working on multi-tiered projects require two to four physical systems for basic application development and functional testing. The most common scenario is a developer who has to validate applications on multiple versions and service packs of the Windows operating system, requiring a separate physical machine for each operating system version. Similarly, developing the more sophisticated multi-tier applications requires multiple physical machines, each hosting an application tier that is appropriately networked to the other systems. Developers may also require an additional system for tools such as kernel-level debuggers or network analyzers. Linux developers who can complete their coding on a single development system may still need an additional system to access standard Windows applications and productivity tools. Finally, developers usually prefer to dedicate one or more systems for working on code that may crash or cause corruption, use another for lengthy compilation and build processes, and keep yet another system separate for day-to-day tasks such as e-mail and office applications. QA testing groups are confronted with similarly costly hardware requirements. However, maintaining a large server farm drives up costs for power, cooling, rack space and network and storage infrastructure. Administrative costs also climb, due to the high rates of reconfiguration of testing servers, the need to duplicate environments for distributed teams and the complexity of the required testing configurations. For multi-tiered applications, such resource constraints limit the number of permutations that can be tested, reducing the breadth of test coverage and compromising the robustness of completed applications. A related challenge is the difficulty of maintaining and increasing overall software quality. The time available for testing is reduced by the time required to set up and tear down complex configurations of hardware, operating system, patches, and application versions. The time and effort required to precisely reproduce configurations to debug problems further delays and complicates problem resolution. Finally, inadvertent differences between testing/staging environments and the target production environments can result in unforeseen problems during application rollout. Using the VMware Virtualization Platform Throughout the Software Lifecycle Enterprises can achieve these benefits of using the VMware virtualization platform for projects throughout the software lifecycle including development, testing, documentation, localization, training, staging, production and support. As discussed, enterprises can benefit from using VMware software throughout development and testing, as well as in staging and production environments. Enterprises with stringent quality requirements and teams that are geographically distributed can use VMware virtualization solutions to easily standardize their development and testing environments, copy and share environments and centrally manage large and flexible test environments. Documentation projects are often burdened with high costs because writers need significant hardware to duplicate production deployments to display appropriate screen shots and accurately document applications. Localization projects have similar hardware needs to develop localized versions. Enterprises can significantly reduce these hardware costs by deploying low-cost

    Department of Computer Science and Engineering Page 26

  • R. V. College of Engineering

    hardware with virtualization software to provide realistic environments for use in writing documentation and developing localized software. Once new applications are rolled out, end users and administrators need to be trained to use them effectively. Training departments can benefit from virtualization software by reducing their costs for hardware and system administration for training environments. By packaging and deploying classroom software inside virtual machines, students can experiment with multiple operating systems, applications and tools in secure, isolated environments. IT administrators can configure the virtual machines to discard changes when the machine is shutdown to revert the system to a clean state. These features decrease the time required to prepare for a new class and ensure that students have a consistent hands-on learning environment. Because IT departments are under increasing pressure to ensure reliable software infrastructure, IT managers are searching for ways to improve staging and deployment of new enterprise applications. By using the VMware virtualization platform for staging and deployment, IT managers can streamline and simplify staging and deployment. By using virtual machines in both staging and production environments, they can reduce or eliminate the risk of problems due to mismatched development and production environments. VMware software also enables IT managers to test patches in virtual machines that exactly match target environments before deploying them. If problems are discovered, the virtual machines and the faulty patch can be easily rolled back. Finally, support organizations benefit from the VMware virtualization platform for many of the same reasons. They can use virtual machines to more easily recreate customer configurations with less hardware and less time spent installing and configuring applications. Once they have reproduced problems, they can share those exact virtual machines with developers in order to more quickly resolve and fix application issues. Summary VMware software, adopted by top organizations worldwide, helps application development teams to rapidly streamline software development, testing and deployment, while reducing hardware and maintenance costs. By standardizing on the VMware virtualization platform throughout a development organization, many thousands of enterprise development managers have successfully accelerated project completion, reduced costs and improved software quality, with results that include: Reduction of capital costs by 48% to 80%. Immediate cash savings from reduced operational, space, power and support needs. Increased team efficiency and effectiveness by more than 50%. Deployed applications on or ahead of schedule, accelerating time-to-market. Synchronized global development teams to produce more in less time. Reduced the amount of hardware required for development and testing by 40% to 80%. Increased test consistency, thereby improving the quality of deployed software. Eliminated the need to configure new hardware for new or complex tests. Reduced bug rates for new projects and deliver applications with fewer performance problems.

    Department of Computer Science and Engineering Page 27

  • R. V. College of Engineering

    5.5.2 SSCD- Design and Implementation of an Objective-C Compiler for the Virtual Machine on Smart Phone SVM(Smart Virtual Machine) The SVM is a platform which is loaded on smart phones. It is a stack based virtual machine solution which can independently download and run application programs. The SVM consists of three main parts; compiler, assembler and virtual machine. It is designed in a hierarchal structure to minimize the burden of the re-targeting process.

    Fig. 5.5.2. shows the composition of the SVM system.

    The SVM is designed to accommodate successive languages, object-oriented languages and etc. through input of SIL(Smart Intermediate Language) as its intermediate language. It has the advantage of accommodating C/C++ and Java, which are the most widely used languages used by developers. SIL was a result of the compilation/translation process and it is changed into the running format SEF(SIL Executable Format) through an assembler. The SVM then runs the program after receiving the SEF. SIL(Smart Intermediate Language) SIL, the virtual machine code for SVMs, is designed as a standardized virtual machine code model for ordinary smart phones and embedded systems. SIL is a stack based command set which holds independence as a language, hardware and a platform. In order to accommodate a variety of programming languages, SIL is defined based on the analysis of existing virtual machine codes such as bytecode, .NET IL and etc. In addition, it also has the set of arithmetic operations codes to accommodate object-oriented languages and successive languages. SIL is composed of Meta code (shows class declarations and specific operations) and arithmetic codes (responds to actual commands). SILs arithmetic codes are classified into seven categories as can be seen in Fig. 5.5.3 and each category has its own detailed categories.

    Fig 5.5.3. Category for SIL Operation Code

    Objective-C to SIL Compiler The Objective-C language can be logically divided into two parts; the declaration part and the statement part [4]. The declaration part is the part which defines the data structures of the program where the statement part is the part which depicts the algorithm used in the problem solving process. In this study, the Objective-

    Department of Computer Science and Engineering Page 28

  • R. V. College of Engineering

    C to SIL compiler was designed based on such characteristics and as can be seen in Fig. 5.5.4. it has four parts and 9 detailed modules.

    Fig 5.5.4.Objective-C to SIL Compiler Model

    The Objective-C to SIL compiler embodies the characteristics of the Objective-C language and therefore was designed with four different parts; syntax analysis, symbol information collection, semantic analysis and code generation. Further Researches Virtual machines refer to the technique of using the same application program even if the process or operating system is changed. It is the core technique that can be loaded onto recently booming smart phones, necessary as a independent download solution software technique. In this study, an Objective-C to SIL compiler was designed and virtualized to run a program that was originally created for another platform to enable its use on a SVM. The Objective-C language was logically divided into two parts the declarations part and the statements part. Then these parts were made into four modules to create a compiler and generate a SIL code for use on a SVM which is independent of platforms. As a result, programs developed for use as iOS contents could be run on a SVM using the compiler developed throughout the study and therefore expenses required when producing such contents can be minimized. In the future, there is need for research on an Android Java-SIL compiler so that Android contents can be run on a SVM. Further research on optimizers and assemblers for SIL code programs are also needed so that SIL codes that have been generated can run effectively on SVMs. 5.5.3 Computer Networks: Using PCoIP (PC over IP) for Desktop Virtualization PCoIP (PC over IP) provides an optimized desktop experience for the delivery of a remote application or an entire remote desktop environment, including applications, images, audio, and video content for a wide range of users on the LAN or across the WAN. PCoIP can compensate for an increase in latency or a reduction in bandwidth, to ensure that end users can remain productive regardless of network conditions. PCoIP is supported as the display protocol for remote applications and for remote desktops that use virtual machines, physical machines that contain Teradici host cards, or shared session desktops on an RDS host.

    Department of Computer Science and Engineering Page 29

  • R. V. College of Engineering

    Key features of PCoIP include the following:

    Users outside the corporate firewall can use this protocol with your company's virtual private network (VPN), or users can make secure, encrypted connections to a security server in the corporate DMZ.

    Advanced Encryption Standard (AES) 128-bit encryption is supported and is turned on by default. You can, however, change the encryption key cipher to AES-192 or AES-256.

    Connections from all types of client devices. Optimization controls for reducing bandwidth usage on the LAN and WAN. 32-bit color is supported for virtual displays. ClearType fonts are supported. Audio redirection with dynamic audio quality adjustment for LAN and WAN. Real-Time Audio-Video for using webcams and microphones on some client types. Copy and paste of text and, on some clients, images between the client operating system

    and a remote application or desktop. For other client types, only copy and paste of plain text is supported. You cannot copy and paste system objects such as folders and files between systems.

    Multiple monitors are supported for some client types. For example, on Windows-based clients, you can use up to four monitors and adjust the resolution for each monitor separately, with a resolution of up to 2560 x 1600 per display. Pivot display and autofit are also supported. When the 3D feature is enabled, up to 2 monitors are supported with a resolution of up to 1920 x 1200.

    USB redirection is supported for some client types. MMR redirection is supported for some Windows client operating systems and some

    remote desktop operating systems (with View Agent-installed).

    Recommended Guest Operating System Settings Recommended operating system settings for remote desktops include the following settings:

    For Windows XP desktops: 768MB RAM or more and a single CPU. For Windows 7 or 8 desktops or Windows Server 2012 or R2 desktops: 1GB of RAM or

    more and a dual CPU is recommended for playing in high-definition, full screen mode, or 720p or higher formatted video. To use Virtual Dedicated Graphics Acceleration for graphics-intensive applications such as CAD applications, 4GB of RAM is required.

    Video Quality Requirements

    480p-formatted video: You can play video at 480p or lower at native resolutions when the remote desktop has a single virtual CPU. If the operating system is Windows 7 or later and you want to play the video in high-definition Flash or in full screen mode, the desktop requires a dual virtual CPU. Even with a dual virtual CPU desktop, as low as

    Department of Computer Science and Engineering Page 30

  • R. V. College of Engineering

    360p-formatted video played in full screen mode can lag behind audio, particularly on Windows clients.

    720p-formatted video: You can play video at 720p at native resolutions if the remote desktop has a dual virtual CPU. Performance might be affected if you play videos at 720p in high definition or in full screen mode.

    1080p-formatted video: If the remote desktop has a dual virtual CPU, you can play 1080p formatted video, although the media player might need to be adjusted to a smaller window size.

    3D rendering: You can configure remote desktops to use software- or hardware-accelerated graphics. The software-accelerated graphics feature enables you to run DirectX 9 and OpenGL 2.1 applications without requiring a physical graphics processing unit (GPU). The hardware-accelerated graphics features enable virtual machines to either share the physical GPUs (graphical processing unit) on a vSphere host or dedicate a physical GPU to a single virtual machine desktop.

    For 3D applications, up to 2 monitors are supported, and the maximum screen resolution is 1920 x 1200. The guest operating system on the remote desktops must be Windows 7 or later.

    Microsoft RDP Remote Desktop Protocol is the same multichannel protocol many people already use to access their work computer from their home computer. Microsoft Remote Desktop Connection (RDC) uses RDP to transmit data.

    Microsoft RDP is a supported display protocol for remote desktops that use virtual machines, physical machines, or shared session desktops on an RDS host. (Only the PCoIP display protocol is supported for remote applications.) Microsoft RDP provides the following features:

    With RDP 6, you can use multiple monitors in span mode. RDP 7 has true multiple monitor support, for up to 16 monitors.

    You can copy and paste text and system objects such as folders and files between the local system and the remote desktop.

    32-bit color is supported for virtual displays. RDP supports 128-bit encryption. Users outside the corporate firewall can use this protocol with your company's virtual

    private network (VPN), or users can make secure, encrypted connections to a View security server in the corporate DMZ.

    RAM Sizing for Specific Monitor Configurations When Using PCoIP If you use PCoIP, the display protocol from VMware, the amount of extra RAM that the ESXi host requires depends in part on the number of monitors configured for end users and on the display resolution. Fig 5.5.5. lists the amount of overhead RAM required for

    Department of Computer Science and Engineering Page 31

  • R. V. College of Engineering

    various configurations. The amounts of memory listed in the columns are in addition to the amount of memory required for other PCoIP functionality.

    Figure 5.5.5. PCoIP Client Display Overhead

    When you consider these requirements, note that virtual machine configuration of allocated RAM does not change. That is, you do not need to allocate 1GB of RAM for applications and another 31MB for dual 1080p monitors. Instead, consider the overhead RAM when calculating the total physical RAM required for each ESXi host. Add the guest operating system RAM to the overhead RAM and multiply by the number of virtual machines.

    Optimization Controls Available with PCoIP If you use the PCoIP display protocol from VMware, you can adjust several elements that affect bandwidth usage.

    You can configure the image quality level and frame rate used during periods of network congestion. The quality level setting allows you to limit the initial quality of the changed regions of the display image. Unchanged regions of the image progressively build to a lossless (perfect) quality. You can adjust the frame rate from 1 to 120 frames per second. This control works well for static screen content that does not need to be updated or in situations where only a portion needs to be refreshed.

    You can also turn off the build-to-lossless feature altogether if instead of progressively building to perfect quality (lossless), you choose to build to perceptual lossless.

    You can control which encryption algorithms are advertised by the PCoIP endpoint during session negotiation. By default, both Salsa20-256round12 and AES-128-GCM algorithms are available.

    With regard to session bandwidth, you can configure the maximum bandwidth, in kilobits per second, to correspond to the type of network connection, such as a 4Mbit/s Internet connection. The bandwidth includes all imaging, audio, virtual channel, USB, and control PCoIP traffic. You can also configure a lower limit, in kilobits per second, for the

    Department of Computer Science and Engineering Page 32

  • R. V. College of Engineering

    bandwidth that is reserved for the session, so that a user does not have to wait for bandwidth to become available. You can specify the Maximum Transmission Unit (MTU) size for UDP packets for a PCoIP session, from 500 to 1500 bytes.

    You can specify the maximum bandwidth that can be used for audio (sound playback) in a PCoIP session.

    In addition, on most client systems, PCoIP client-side image caching stores image content on the client to avoid retransmission. By default, the cache is 90MB if the client version is 2.0 or later.

    6. Future work for next phase

    The concept of desktop virtualization in general makes sense for higher education. It removes institutions from the desktop computer supply-and-support business, making it much easier to maintain and upgrade thin clients and student devices in classrooms, labs and libraries. Desktop-as-a-service takes those benefits a step further, using the power of the cloud to offload backend services and support from the campus IT shop to a professional offsite service provider.

    VMware Horizon Air Desktops and Apps, part of a family of well-known virtual computing solutions, offer an easy-to-deploy, affordable virtual desktop solution that moves all traditional datacenter services into the cloud.

    Todays colleges and universities need to drive enrollment while still keeping costs low, and Horizon Air can help do that. By leveraging thin clients on BYOD, and by outsourcing support to a trusted service provider, DaaS can support more students with fewer IT resources. It also allows more remote classrooms and labs, and better student access to resources around the clock.

    7. References

    [1] Miller, Karissa, and Mahmoud Pegah. "Virtualization: virtually at the desktop."Proceedings of the 35th annual ACM SIGUCCS fall conference. ACM, 2007.

    [2] Wall, Tom. "Virtualisation and thin client: a survey of virtual desktop environments." (2009).

    [3] Kampert, Paulus. A taxonomy of virtualization technologies. Diss. Master Thesis August 2010 Delft University of Technology, 2010.

    [4] Yan, Li. "Development and application of desktop virtualization technology."Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on. IEEE, 2011.

    Department of Computer Science and Engineering Page 33

  • R. V. College of Engineering

    [5] Baratto, Ricardo A., et al. "Mobidesk: mobile virtual desktop computing."Proceedings of the 10th annual international conference on Mobile computing and networking. ACM, 2004.

    [6] Potter, Shaya, and Jason Nieh. "Highly reliable mobile desktop computing in your pocket." Computer Software and Applications Conference, 2006. COMPSAC'06. 30th Annual International. Vol. 1. IEEE, 2006.

    [7] Petrovi, Tomislav, and Kreimir Fertalj. "Demystifying desktop virtualization."Proceedings of the 9th WSEAS international conference on Applied computer science. World Scientific and Engineering Academy and Society (WSEAS), 2009.

    [8] Oberheide, Jon, et al. "Virtualized in-cloud security services for mobile devices." Proceedings of the First Workshop on Virtualization in Mobile Computing. ACM, 2008.

    [9] Son, YunSik, and YangSun Lee. "Design and Implementation of an Objective-C Compiler for the Virtual Machine on Smart Phone." Multimedia, Computer Graphics and Broadcasting. Springer Berlin Heidelberg, 2011. 52-59.

    [10] View Architecture Planning VMware Horizon 6.0 Documentation

    [11] "Accelerate Software Development, Testing and Deployment with VMware Virtualization Platform" , https://www.vmware.com/pdf/dev_test.pdf

    Department of Computer Science and Engineering Page 34

    ENHANCING EFFICIENCY & MOBILITY IN WORKSPACES USINGDESKTOP VIRTUALISATIONSELF STUDY REPORTSubmitted by

    List of FiguresList of Tables1. Introduction to Desktop Virtualization2. Literature Survey3. Research Challenges4. Design Process4.1 Identification of problem4.2 Application of Engineering Principles4.3 Design Challenges4.4 Design Requirements4.5 Design Process4.6 Use of appropriate tools, skills and techniques

    5. Implementation5.1 Introduction to VMware ViewAdvantages of Using ViewReliability and SecurityConvenienceManageabilityHardware IndependenceView Features5.2. Architecture: How the Components Fit TogetherClient DevicesView Connection ServerHorizon ClientVMware Horizon User Web PortalView AgentView AdministratorView ComposervCenter Server5.3. Desktop Virtual Machine ConfigurationRDS Host Virtual Machine Configuration5.4. Overview of Steps to Setting Up a View Environment5.5 Subject-wise Components5.5.1 Software Engineering: Accelerating Software Development, Testing and Deployment with VMware Virtualization Platforms5.5.2 SSCD- Design and Implementation of an Objective-C Compiler for the Virtual Machine on Smart Phone5.5.3 Computer Networks: Using PCoIP (PC over IP) for Desktop Virtualization

    6. Future work for next phase7. References