Mobile browser kernel Evolution under cloud architecture

Source: Internet
Author: User
Keywords Aliyun Amazon data center Intel Cloud security supercomputer data center cloud security
Tags aliyun bandwidth based browser browsers client clients cloud

Wen/Liang

Since 2011 U3 Kernel release, someone asked me: "In the terminal performance and network environment are getting better, directly with the core of the client to parse on it, UC why bother to challenge the cloud architecture of the browser kernel?" ”

In fact, the browser and network bandwidth is equivalent to the relationship between car and road. It does not mean that there will be no traffic jams, the speed of the road will never catch up with the speed of people buying cars, the smaller and more flexible cars will always be more popular. This is why we have always adhered to the "7s-3c principle" in product and technological innovation. To do mobile application direction must pay attention to "cloud" (Cloud) and "End" (client) two kinds of ability. specifically to the mobile browser, but also to build their own core (core) technology.

Mobile browser development Today, gradually formed two camps. A class is the Chrome, Safari, Firefox and other representatives of the camp, these browsers all put the kernel completely in the terminal, most of the use of open source WebKit kernel. This kind of browser is characterized by a high degree of Restore page features, can be resolved rendering and computer version of the same browser effect. The other is the UC browser (U2 kernel), Opera Mini and other browsers as the main representative of the camp, the use of server-client hybrid (cloud) architecture, the core of such browsers in the "cloud", is the Web page data through the server real-time compression processing, and then issued to the client, The main feature is that you can quickly get the content of the page, save time by saving electricity.

Cloud/End Architecture lets "you Can Web"

China's mobile internet industry was not yet enlightened when we decided to do mobile browser development in 2004. At that time, mobile internet environment bad, hardware configuration behind, network bandwidth is insufficient, the standard is mixed. In a long period of time, China's mobile phone data transmission speed is basically around 10kb/s, mainstream mobile phone CPU is the highest hundreds of khz, the available RAM is hundreds of KB, the operating system is extremely complex, Symbian is relatively intelligent. In this environment, the use of old design ideas for mobile phone software development is extremely difficult. Especially want to let mobile phone internet, the first thing to solve is the different protocol Web page parsing problem, HTML, WAP, XML, JavaScript and so on need to face.

In order to make the product, we designed a new browser technology architecture. Unlike stand-alone software, the new architecture puts most of the complex operations on the server, so that you can successfully parse Web pages on your phone. Now call this technical architecture the cloud/end architecture of UC. UC Browser formerly called UCWeb, is you Can web meaning.

As shown in Figure 1, when a user browses a Web page using a UC browser, the cloud will first turn the page content around and rearrange it. For example, when the page appears JavaScript, CSS and other mobile phone side can not be very good to handle the elements, the server will use a high fault tolerant strategy for automatic filtering. When a page needs to display a picture, the server matches the image to compress according to the screen parameters returned by the terminal. So the mobile phone needs to deal with the complexity of the data is greatly reduced, the standard agreement to enhance the support of more than one grade. Considering the characteristics of the Web browsing page, all server processing is real-time, that is, based on the cloud architecture of the mobile browser, in fact, a part of their core in the "cloud"-that is, the server.

Figure 1 U2 Kernel architecture

But the challenge at the same time, because the mobile phone terminal and network server mixed operation of the mobile browsing mode unprecedented, the "cloud" design, management and optimization for us is also completely new world, its development and management of the complexity of much more than the previous stand-alone version of the mobile phone browser. For example, the maintenance of session mechanisms, such as distributed cookies for terminals and clouds, involves the complex technologies of each server for session preservation, seamless recovery across clusters when services are interrupted, and synchronization of clients and service-side lifecycles. For example, for the performance of the relay to ensure that a single server for a single transaction within 1 seconds of the average response, including to the site to take Web pages, parsing, typesetting, image processing, conversation and other complex processes.

In retrospect, though, the initial development was difficult, but it was this seemingly risky technology structure that changed the Chinese user's mobile Internet experience and nurtured China's first mobile internet users. Later, many manufacturers actually used a similar architecture to do mobile browsers.

Both in "Cloud" and "End"

With the increasing popularity of 3G and WiFi networks, we find that the existing client resolution engine is not enough to meet the needs of users. 3G network data transmission speed can reach hundreds of Kbps. Mainstream terminal manufacturers newly released mobile phones began to use more than 500MHz Cpu,ram also mostly in 300MB or more, 4 inches or so touch screen has entered the hands of the mainstream crowd. The habit of using mobile phones and the need for mobile phones are beginning to change.

Another major change is HTML5. A very important feature of HTML5 is that it requires the browser to directly support the ability to play video and audio in a tabbed format, and to support the use of tags in the form of animations, which presents a challenge for browsers to support local clients.

It is in anticipation of these possible changes that we have organized a separate team since 2008, spanning 3 years to create a new generation of mobile browser kernel U3. The U3 kernel will initially be placed in the "cloud" page parsing function, to the local client to do a corresponding migration.

Figure 2 U3 Kernel architecture

As shown in Figure 2, the cloud architecture of the third-generation browser uses a new compression technology-"lossless cloud compression engine", while the parsing and rendering of the page is no longer dependent on the server, but relies on the U3 kernel. Unlike the U2 kernel's cloud compression engine, the lossless cloud compression engine does not turn code on the page, but only partially compressible elements in the page are processed and sent to the "end" and the U3 kernel then unpack the compressed data. Visible through the "cloud" and "end" of the ability to enhance, so that the use of the U3 kernel browser can not only the Web page for complete and non-destructive analysis, but also to achieve the cloud architecture of the unique flow of the province, efficient and so on. In the same analytical effect, you can save more than half of the traffic from a mobile browser without a lossless cloud compression engine.

U3 Such a framework is also hoping to build an open web App platform. U3 can open some of the phone's unique system interface to developers, such as cameras, microphones, sensors, location information, and so on. Developers can call directly through the web without having to develop complex clients. This allows you to bypass system and terminal differences, make development more efficient, and update deployment simpler and more flexible.

My view on the contention of browser kernel

After the U3 kernel was released, some domestic browser vendors also expressed their need to build their own browser kernel. In fact, most mobile browser products are based on WebKit do two of research and development. This question is always confused.

In essence, WebKit is the open source kernel project driven by Apple first, originating from KDE. In 2005, Apple announced that it would webkit completely open source. There are also Google, Nokia, RIM, etc. are participating in and promoting the WebKit project. Anyone can use WebKit to do two of research and development with their agreement. The System browser kernel currently applied to Chrome, Safari, and most mobile devices is based on the WebKit kernel. Many domestic mobile browser manufacturers are also doing so.

Because of the existence of WebKit, a new browser "production" process, only need to design the UI interface, the WebKit to compile, you can "make" a browser. But it is not appropriate to simply recompile a native kernel and claim to have an "autonomous kernel", which can only act as a wrapper. The performance of these browsers is still subject to the native kernel being used.

I think, whether a browser product has "nuclear capability", we need to examine the following strengths: Cross-platform capabilities, technological innovation, product internationalization and security capabilities. Cross-platform capability is the ability of any kernel-level product to quickly release products with a consistent experience for different operating systems. The technology innovation ability is whether the enterprise can solve the new terminal characteristic, the user needs to make the innovative products, such as lossless cloud acceleration, system adaptive capability, voice control and so on.

There is no doubt that mobile Internet is one of the fastest growing industries in the next decade, and browsers are the few platform-level products in the industry. As a technology company from China, we hope to use our technical strength for China's internet companies in the global market. I also hope that all the browser companies can work more on their own core, to create a real "nuclear power."

Author Liang, UC (excellent view technology) technology president. 1998 graduated from South China University of Technology Computer Science, working in the Chinese telecommunications and Internet market, in telecommunications and network computing has more than 10 years of technical research and development and management experience.

This article is selected from the "Programmer" magazine 2012 03, more exciting content please pay attention to 03 issue magazine

(Responsible editor: The good of the Legacy)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.