Mobile Adaptive Applications for Ubiquitous Collaboration in Heterogeneous Environments
- 格式:pdf
- 大小:192.38 KB
- 文档页数:7
摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇基于元路径与层次注意力的
时序异质信息网络表示学习方法
秦海盈1摇摇赵中英1摇摇李建晖1摇摇李摇超1摘摇要摇异质信息网络表示学习在节点分类、链接预测、个性化推荐等多个领域上被广泛应用.现有的异质信息网络表示学习方法大多集中在静态网络,忽略网络中时间属性对节点表示的影响.为了解决该问题,文中提出基于元路径和层次注意力的时序异质信息网络表示学习方法.利用元路径捕获异质信息网络中的结构和语义信息.通过时间衰减注意力层,捕获不同元路径实例在特定时间对目标节点的影响.通过元路径级别注意力,融合不同元路径下的节点表示,得到最终表示.在DBLP、IMDB数据集上的实验表明,文中方法在节点分类和节点聚类任务上均可达到较优效果.
关键词摇时序异质信息网络,表示学习,元路径,时间衰减注意力引用格式摇秦海盈,赵中英,李建晖,李超.基于元路径与层次注意力的时序异质信息网络表示学习方法.模式识别与人工智能,2021,34(12):1093-1102.DOI摇10.16451/j.cnki.issn1003鄄6059.202112003中图法分类号摇TP391
Meta鄄PathandHierarchicalAttentionBasedTemporalHeterogeneousInformationNetworkRepresentationLearning
QINHaiying1,ZHAOZhongying1,LIJianhui1,LIChao1
ABSTRACT摇Heterogeneousinformationnetworkrepresentationlearningiswidelyappliedinmanyfieldsincludingnodeclassification,linkpredictionandpersonalizedrecommendation.Theexistingheterogeneousinformationnetworkrepresentationlearningmethodsmainlyfocusonstaticnetworksbutignoretheinfluenceoftimeonnoderepresentations.Toaddressthisproblem,ameta鄄pathandhierarchicalattentionbasedtemporalheterogeneousnetworkrepresentationlearningmethodisproposed.Themeta鄄pathsareutilizedtocapturethestructuralandsemanticinformationinheterogeneousinformationnetworks.Throughthetimedecayattentionlayer,theimpactofdifferentmeta鄄pathinstancesataspecifictimeonthetargetnodeiscaptured.Throughthemeta鄄pathlevelattention,thenoderepresentationunderdifferentmeta鄄pathsisfusedtoobtainthefinalrepresentation.TheexperimentsonDBLPandIMDBdatasetsshowthattheproposedmethodachievesbetterresultsonthetasksofnodeclassificationandnodeclustering.
Nokia Networks FutureWorkslooking ahead to 5GBuilding a virtual zero latency gigabit experience1. T hree key development areas in 5G 32. B ridging the spectrum gap with 5G 53. N etworks to become denser with small cells 94. N etwork performance 105. N okia at full speed in its 5G Research 146. S ummary 151. T hree key development areas in 5GThe continuing growth in demand from subscribers for better mobile broadband experiences is encouraging the industry to look ahead at how networks can be readied to meet future extreme capacity and performance demands. Nokia, along with other industry partners, believes that communications beyond 2020 will involve a combination of existing and evolving systems, like L TE-Advanced and Wi-Fi,coupled with new, revolutionary technologies designed to meet new requirements, such as virtually zero latency to support tactile Internet, machine control or augmented reality.5G will be the set of technical components and systems needed tohandle these requirements and overcome the limits of current systems.u ltra low costUltra reliabilityLimits will be reached.Current systems do not scale to requirements beyond 2020.x more traffic10000J/bityears battery 10Gbit/s data ratesMbit/sLow-end data rates Unlike 2G, 3G and 4G, it is unlikely that 5G will be a single new Radio Access Technology (RAT) nor will it replace macro cells. It will be a combination of existing RATs in both licensed and unlicensed bands, plus one or more novel RATs optimized for specific deployments, scenarios and use cases. In particular, Nokia has identified the need for a new RAT for ultra-dense deployments, with the aim of providing a virtual zero latency gigabit experience.Fig. 1. Existing mobile technologies will not be able to provide the capabilities to meet market demands beyond 2020. Sustained research will be needed to create a high performance 5G environment.Nokia is already undertaking extensive research to map out the scope of 5G and has a clear vision of the three key pillars that will make this future network a reality.More spectrum must be pressed into serviceMore radio spectrum for mobile networks is vital to meet the increased capacity and coverage demand. New spectrum will need to be allocated and put into use quickly. Without sufficient spectrum, communities beyond the reach of wired broadband will miss out on the benefits of future services and entire countries could lose ground. The amount of spectrum available needs to be expanded by adopting new frequency bands and by using available spectrum more efficiently, both in terms of frequency and with regard to when and where it is employed.Networks will become much denser with many more cellsThe second pillar of 5G will be to use many more base stations, deployed in a heterogeneous network (HetNet), combining macro sites with smaller base stations and using a range of radio technologies. These will include L TE-A, Wi-Fi and any future 5G technologies, integrated flexibly in any combination.Raising the overall performance of networksThe third major goal will be to get the best possible network performance by evolving existing radio access technologies and building new 5G wireless access technologies. For example, it is generally accepted that latency must decrease in line with risingdata rates.Sustained research and development in these three areas will be necessary to create a 5G environment that can meet market demands such as 10,000 times more traffic, virtually zero latency and a much more diverse range of applications. What’s more, all this must be achieved at an affordable cost to enable operators to maintain and improve their profitability.The Nokia vision is that: “5G will enable a scalable service experience anytime and everywhere and where people and machines obtain virtual zero latency and gigabit experience where it matters”.Let’s now look at each of the three development areas in more detail.2. B ridging the spectrum gap with 5G Much more spectrum will be needed to meet increased traffic demand. To date, spectrum for mobile communications has focused only on frequency ranges below 6 GHz. To meet demand in the 2020-2030 time frame, spectrum above 10 GHz and potentiallyup to 100 GHz will be needed. Depending on the carrier frequency, spectrum needs will include: large chunks of spectrum in high(er) bands, TDD mode in unpaired bands and flexible use of spectrum through advanced spectrum sharing techniques (for exampleCo-primary sharing).Systems for low and high frequency bands are designed differently. Traditional frequency bands require more focus on increased area spectral efficiency (including gains from denser and more efficient small cell deployments) because spectrum is scarce. However, in new frequency bands, especially millimeter wave, there is no need for fine-tuning to achieve extreme spectral efficiency because huge chunks of contiguous spectrum are available at these higher frequencies. Affordability is also crucial, so the harmonization of radio frequency bands will be important to enable economies of scale and roaming. This will also minimize interference across borders. Nokia believes harmonization should be a key policy objective at a regional levelat least, in line with International Telecommunication Union (ITU) recommendations.In the short term, Nokia sees four aspects to ensuring spectrum scarcity does not impede growth:• Additional harmonized spectrum must be allocated and used.• 100 MHz of additional spectrum below 1 GHz will provide improved rural broadband.• 500 MHz of additional spectrum between 1 and 5 GHz will provide capacity for data.• Spectrum shall be dedicated to mobile broadband on a technology-neutral basis.However, these measures are just the start.Over the next few years, the core 3GPP bands of 900, 1800, 2100 and 2600 MHz will be used for new L TE networks and HSPA network capacity upgrades. L TE deployments on the 800 MHz band will then help to provide ubiquitous mobile broadband availability, followedby the arrival of 700 MHz across ITU region 1 after the World Radio Communication Conference in 2015. The long-term vision is to converge broadcast and broadband services in joint multimedia networks covering the UHF band below 700 MHz (472-694 MHz). Small cell deployments will play a vital role in high-capacity hotspots, and the spectrum for that could come from the 3500 MHz band (3400-3800 MHz), where there is as much as 400 MHz being usedfor fixed broadband wireless access and satellite services. In addition, other smaller spectrum blocks can be made available ahead of 2020, either exclusively, or by using novel spectrum sharing methods. Unlicensed bands such as 5 GHz, or in the future 60 GHz, offer additional traffic offload options for best-effort traffic of less critical applications without guaranteeing Quality of Service (QoS).The result is that up to 1.5 GHz of the scarcest <6 GHz spectrum can be made available within this decade. At least 1 GHz of thatwill be traditional exclusive spectrum, while new spectrum-sharing techniques, such as Authorized Shared Access (ASA), can unlock more spectrum for mobile broadband.Another potential 5G enabler is using millimeter wave communication (and centimeter bands not previously used) for access and backhaul. High frequency communication is not suitable for providing umbrella coverage and new opportunities in the millimeter wave region will not replace traditional band allocations. However, with 10 GHz of bandwidth available in the 70-85 GHz band, this spectrum can help to cope with large volumes of small cell traffic.Optimizing the use of spectrumDedicated spectrum for exclusive use is still the “gold standard” preferred to meet the expected demand from future 5G networks, but it’s also vital to use the available spectrum as efficiently as possible– even if that means sharing it. Many bands already host important services that must have access to spectrum but do not necessarily use it fully.New regulatory regimes will be needed to allow more flexible, shared spectrum allocation. Topics such as Authorized/Licensed Shared Access, Licensing Light and Co-Primary Sharing are rising up the agenda for regulatory and standardization bodies.Authorized Shared Access (ASA), also known as Licensed Shared Access (LSA) is a regulatory concept to allow spectrum sharing under well-defined conditions. ASA could be a solution for bands that can’t be totally vacated by their incumbent users, but where that usageis low.Co-Primary Shared Access models and cognitive radio access procedures enable higher peak data rates for end users as well as higher capacity and wider coverage. Essentially, a band is shared between network operators, rather than divided between them, making it easier for any one operator to cope with temporary peaks in demand. This leads to better spectrum utilization.A dapting radio access technology to frequency band in use:two sides of the coinWe expect that systems currently operated in licensed bands (such as L TE-A) will play a major role in providing coverage for 5G. Furthermore, Wi-Fi will continue to be a relevant solution for low-cost, best effort data, in particular indoors. However, ultra dense deploymentswith high traffic demand and low latency requirements will be the environment in which revolutionary technologies will emerge and the system design will vary according to the carrier frequency.Nokia foresee the introduction of a new local area communications concept for centimeter waves based on a modified OFDMA numerology, modified MAC and novel higher layer concepts. This will allow a significant reduction in air interface latency and prepare the ground for built-in support of interference management and efficient device-to-device communications, machine-type communications and self-backhauling. More precisely, we propose a new frame design with a flexible UL/DL pattern which itself will support more flexible adaptation to different scenarios: UL and DL traffic imbalance, self backhauling, easier device-to-device communication and faster dormancy for lower energy consumption. A higher degree of interference coordination is inherent in such an autonomous system and with distributed synchronization.The use of millimeter wave bands will open the door to an abundance of spectrum, but the very different propagation properties in these bands create challenges that require novel deployment, network infrastructure and management that have to be established. We foresee that high frequency communication is a very promising solution for wireless backhaul of future small nodes (also including multi-hop backhauling), but in addition we also see a large potential in using millimeter wave band (70-90 GHz) for access links in very dense small cell deployments.The propagation characteristics in high frequency ranges mean that transmission should be through a few selected paths (without relying on scattered energy), the strongest being the line-of-sight (LOS) path. The design of a system for such bands must overcome the challenges of radio wave propagation rather than in increasing spectral efficiency.These two concepts will revolutionize how 5G targets will be met - designing a system in ‘traditional’ bands that is optimized for dense local area deployments (not the case for existing technologies) and venturing into new frequency bands where large chunks of spectrum are available, but where the design of communication technology changes completely. The success of 5G will ultimately depend on a smart integration of such novel concepts with existing radio access technologies and a context-aware mapping of services and devices to evolved or novel technology components.3. N etworks to become denserwith small cellsNetwork densification is needed to meet the throughput and latency demands likely to arise in 2020 and beyond. By 2020, small cellsare expected to carry a majority of traffic with overall data volume expected to grow up to 1,000 times (compared to 2010). Nokia’s analysis shows that sufficient network capacity at a minimum downlink user data rate of 10 Mbit/s can be achieved using a L TE heterogeneous network configuration (L TE, small cells and well integrated Wi-Fi), which is how networks are expected to evolve until 2020.Beyond this date, a new approach will be needed to achieveultra-dense small cell deployments and this is where we expect to see innovative 5G components emerging. Whether deployed in‘traditional’ frequencies (<6 GHz) or in new centimeter and millimeter wave bands, these new technology blocks will need to enable ultra-low latency, higher data rates (peak rates exceeding 10 Gbps, with user data rates greater than 100 Mbps even under high load conditionsor at the cell edge) and more flexibility, for example in backhaul or duplexing schemes.The key to meeting these requirements is to bring the access point closer to the user, with smaller cells making more radio resources available to active users. This will also substantially reduce theradio round trip time for lower latency and increase overall network efficiency by creating sub-networks to handle a proportion of the traffic locally.The increase in achievable data rates for 5G (10,000 times more traffic) cannot be achieved without reducing the cell size and increasing the frequency re-use rate. This is already happening today, especially for indoor traffic that is inefficient to handle with outdoor macro cells. Over the next few years this trend will accelerate asthe use of data-hungry applications rises. Ultimately, the need for small-cell-optimized RAT will be one of the triggers for 5G.New applications will require ultra-low latency to support online gaming, augmented reality and to control uses such as tactile Internet and remote surgery. It is clear that the need for low latency will become much more important in the future and will need to be addressed. New, small-cell-optimized RAT for 5G can deliver latency as low as 1ms.The mass roll out of IPv6 and the emerging ‘Internet of things’ will lead to more connected devices and also new use cases for small cell deployments. 5G will use some IP mechanisms (e.g. IPv6 Neighbor Discovery Protocol) to simplify the creation of sub-networks thatwill handle some traffic locally, while autonomous deployment mechanisms, such as mobility and traffic steering, will make roll out more efficient.With such an increase in access point density there will be ongoing development of interference coordination schemes for data offload from bigger to smaller node types and resource usage coordination between nodes. With many different equipment types and devices, HetNets will have a wide range of performance demands, makingself-aware networks essential.4. N etwork performanceWith 5G, a range of performance measures will become more important – a multitude of applications and different use cases need to be addressed, with novel technologies for each specific case to ensure the limitations of mobile communications systems don’t limit the overall development of the technology.In particular, it is not economically feasible to build ultra-dense networks everywhere and it must be accepted that a virtual zero latency gigabit connectivity will only become available “where it matters”. Therefore, while ‘traditional’ performance indicators, such as peak data rates, will improve, the key to 5G will be flexibility and support for new use cases.More important than just peak data rate or spectral efficiency will be enabling the same 5G system (integrated from different radio access technologies including new ones) to support requirements such as:• Few devices demanding huge downloads• Ultra-high numbers of sensors sending just small data packages• Remotely-controlled robot applications (low latency needed for control) sending back UHD video (high upload capability required).The scalable service experience in 5G will be all about tailoring the system to extremely diverse use cases in order to meet specific performance requirements. A uniform service experience can still be achieved in most use cases by tighter coupling between RAN and transferred content, for example, making APIs between the application and network layer to adjust application demands or by caching data locally. Furthermore, local sub-networks can be set up, where several devices create a high performing direct connectivity within a local area.Always ON, low overhead10GBps, 1ms RTT Native support for Access,Self-Backhauling, D2D Multitude of devicesFlexible Spectrum UseLow cost Flexible UL/DL switching Up to mmWave communicationLow power consumptionFig. 2. Ultra dense deployments with many diverse use cases and scenarios set a variety of targets and functional requirements for a new system.The key performance measures that will need to be met include: Round Trip Time (RTT)Ultra-low latency will be a key aspect of 5G communications systems because we are moving towards the era of the tactile Internet where wireless communications will be increasingly used for distributed control rather than merely content distribution. Also it is predicted that the maximum data rates per device will increase substantially faster than Moore’s law, meaning that if the cost of, for example, HARQ buffers at the device side is to be kept constant, any increasein air interface bandwidth must be complemented by a decrease in air interface latency.The target RTT for 5G is likely to be lower than 1 ms to provide a virtual zero delay experience and to facilitate a new palette of time critical Machine Type Communications (MTC).Spectral efficiencyWe will still see improvements and demanding requirements for spectral efficiency in terms of average bit/s/Hz/cell for ultra-dense deployments. However, this will probably not be as important as in the past for the design and optimization of 3G and 4G radio access technologies, which were mainly optimized for wide area deployments. Using higher frequency bands, large transmission bandwidth combined with low transmit power automatically limits the coverage. What matters more for the new radio access design is the total deployment cost in terms of cost/area considering a certain traffic density and a typical experienced user data rate.Self-backhauling and direct device-to-deviceIn terms of connectivity, a new RAT must support radio access between a terminal and an access point connected to the Internet cloud by wire or wirelessly. For ultra-dense deployment, self-backhauling and direct connectivity is becoming important to balance cost and performance of connectivity.Low power consumptionNokia believes that power consumption for mobile networks mustbe kept to a minimum. Low power consumption is also essential for battery operated terminals to prolong time between battery charges. Many new potential MTC use cases are more limited by a power hungry radio access than the offered data rate or latency.Ultra-low cost per access nodeAs networks become denser, it is of utmost importance that thecost per access node is reduced substantially, with an OPEX virtually close to zero. This means that 5G will have to be fully “plug and play”. Therefore, the radio access technology needs to be fully auto-configured and auto-optimized, and any hierarchy or relation between network entities, for example, to centralize or distribute radio resource management, has to be fully self-establishing.Higher layer protocols and architectureThe Internet of things will greatly multiply the number of connected devices and this connectivity will be heterogeneous. The adoptionof IPv6 is accelerating and the protocol will probably have become mainstream by 2020 after which 5G will be launched. Ethernetis another technology becoming more widespread. “Ethernetover Radio” could become a simple and cost-effective solution to encompass 5G HetNets.5. N okia at full speed in its 5GResearchNokia is already advanced in its 5G research, both internally and externally. Good examples of this work include partnerships with key universities around the world, leading the work on heterogeneous deployments as part of the EU collaborative research project METIS, and collaboration within ITU-R, China IMT-2020 and 3GPP. Nokia sees the new generation of mobile as a chance for omnipresent connectivity for both communication and control beyond 2020. Nokia’s research is primarily focused on the flexible use of spectrum and its propagation in new, higher bands, as well as system design for ultra-dense small cell deployments. In this latter area, Nokia’s work aims to deliver the high data rates and ultra-low latency that will be needed to support future uses such as augmented reality, tactile Internet and others.Other major research areas for Nokia include wide area enhancements, 5G architecture to integrate all systems, analysis of how 5G may adapt to novel use cases.Millimeter wave communication is an example of a very promising spectrum opportunity and Nokia has made this one of focus topics for its research into how to overcome design challenges, how to deal with new propagation rules and how to arrive at sufficiently accurate channel models. Nokia is already seeing the first results and is launching a global industry and academic forum, the Brooklyn summit in spring 2014, for sharing and discussing propagation measurements for both centimeter and millimeter wave bands.Nokia is also maintaining substantial effort and focus on new use cases that 5G can support and to this end is seeking input from external parties and striving for industry-wide alignment on what new opportunities 5G may create.6. Summary5G is on its way and rather than being another ‘next generation’ it will be a better integration of old and new technologies.This integration of different systems will enable more stringent requirements in some areas to be met, relaxed needs in others, with a focus on keeping overall costs and energy dissipation low. The combination of evolution and revolution, wide and local area, big and small cells and different carrier frequencies will enable a fully scalable service experience on demand, where people and machines will enjoy a virtual zero latency gigabit experience when and where it matters.Nokia is a registered trademark of Nokia Corporation. Other product and company names mentioned herein may be trademarks or trade names of their respective owners.Nokia Solutions and Networks OyP.O. Box 1FI-02022FinlandVisiting address:Karaportti 3, ESPOO, FinlandSwitchboard +358 71 400 4000Product code C401-01015-WP-201407-1-EN© Nokia Solutions and Networks 2014。
The NIST Definition ofCloud Computing (Draft) Recommendations of the National Institute of Standards and T echnologyPeter MellTimothy GranceSpecial Publication 800-145 (Draft)Reports on Computer Systems TechnologyThe Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) promotes the U.S. economy and public welfare by providing technical leadership for the nation’s measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of concept implementations, and technical analysis to advance the development and productive use of information technology. ITL’s responsibilities include the development of technical, physical, administrative, and management standards and guidelines for the cost-effective security and privacy of sensitive unclassified information in Federal computer systems. This Special Publication 800-series reports on ITL’s research, guidance, and outreach efforts in computer security and its collaborative activities with industry, government, and academic organizations.AcknowledgementsThe authors Peter Mell and Timothy Grance of the National Institute of Standards and Technology (NIST) would like to thank the many experts in industry and government who contributed their thoughts to the creation and review of this definition. We especially acknowledge Murugiah Souppaya and Lee Badger, also of NIST, whose advice and technical insight assisted this effort. Additional acknowledgements will be added upon the final publication of this guideline.1.1.1 AuthorityThe National Institute of Standards and Technology (NIST) developed this document in furtherance of its statutory responsibilities under the Federal Information Security Management Act (FISMA) of 2002, Public Law 107-347.NIST is responsible for developing standards and guidelines, including minimum requirements, for providing adequate information security for all agency operations and assets; but such standards and guidelines shall not apply to national security systems. This guideline is consistent with the requirements of the Office of Management and Budget (OMB) Circular A-130, Section 8b(3), “Securing Agency Information Systems,” as analyzed in A-130, Appendix IV: Analysis of Key Sections. Supplemental information is provided in A-130, Appendix III.This guideline has been prepared for use by Federal agencies. It may be used by nongovernmental organizations on a voluntary basis and is not subject to copyright, though attribution is desired.Nothing in this document should be taken to contradict standards and guidelines made mandatory and binding on Federal agencies by the Secretary of Commerce under statutory authority, nor should these guidelines be interpreted as altering or superseding the existing authorities of the Secretary of Commerce, Director of the OMB, or any other Federal official.1.2 Purpose and ScopeThe purpose of this publication is to provide the NIST definition of cloud computing. NIST intends this informal definition to enhance and inform the public debate on cloud computing. Cloud computing is still an evolving paradigm. Its definition, use cases, underlying technologies, issues, risks, and benefits will be refined and better understood with a spirited debate by the public and private sectors. This definition, its attributes, characteristics, and underlying rationale will evolve over time.1.3 AudienceThe intended audience is people adopting the cloud computing model or providing cloud services.2.Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics,three service models, and four deployment models.Essential Characteristics:On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring humaninteraction with each service’s provider.Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g.,mobile phones, laptops, and PDAs).Resource pooling.The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamicallyassigned and reassigned according to consumer demand. There is a sense of locationindependence in that the customer generally has no control or knowledge over the exactlocation of the provided resources but may be able to specify location at a higher level ofabstraction (e.g., country, state, or datacenter). Examples of resources include storage,processing, memory, network bandwidth, and virtual machines.Rapid elasticity.Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out, and rapidly released to quickly scale in. To theconsumer, the capabilities available for provisioning often appear to be unlimited and canbe purchased in any quantity at any time.Measured Service. Cloud systems automatically control and optimize resource use by leveraginga metering capability1 at some level of abstraction appropriate to the type of service (e.g.,storage, processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported, providing transparency for both the provider andconsumer of the utilized service.Service Models:Cloud Software as a Service (SaaS).The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessiblefrom various client devices through a thin client interface such as a web browser (e.g.,web-based email). The consumer does not manage or control the underlying cloudinfrastructure including network, servers, operating systems, storage, or even individualapplication capabilities, with the possible exception of limited user-specific applicationconfiguration settings.Cloud Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created usingprogramming languages and tools supported by the provider. The consumer does notmanage or control the underlying cloud infrastructure including network, servers,operating systems, or storage, but has control over the deployed applications and possiblyapplication hosting environment configurations.1 Typically through a pay-per-use business model.Cloud Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where theconsumer is able to deploy and run arbitrary software, which can include operatingsystems and applications. The consumer does not manage or control the underlying cloudinfrastructure but has control over operating systems, storage, deployed applications, andpossibly limited control of select networking components (e.g., host firewalls). Deployment Models:Private cloud. The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.Community cloud.The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy,and compliance considerations). It may be managed by the organizations or a third partyand may exist on premise or off premise.Public cloud. The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.Hybrid cloud. The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardizedor proprietary technology that enables data and application portability (e.g., cloudbursting for load balancing between clouds).。
Bojie LiLast update on July11,2023 *****************·+86.150********·Haidian,Beijing,China·https://01.meWork ExperienceAssociate Chief Expert(副首席专家)&Assistant Scientist(助理科学家)&Technical Expert A(技术专家A)Beijing,China Computer Networking and Protocol Lab(计算机网络与协议实验室),Huawei Mar’22–present Manager:Dr.Kun TanHuawei TopMinds Program(华为天才少年)Beijing,China Computer Networking and Protocol Lab(计算机网络与协议实验室),Huawei June’19–Mar’22 Manager:Dr.Kun TanEducationUniversity of Science and Technology of China(中国科学技术大学)Hefei,Anhui,China Ph.D.in Computer Science Sept.’14–June’19 Joint Ph.D.program with Microsoft Research Asia.Advisor:Prof.Enhong Chen and Dr.Lintao Zhang University of Science and Technology of China(中国科学技术大学)Hefei,Anhui,ChinaB.S.in Computer Science(School of Gifted Young,少年班学院)Sept.’10–July’14No.2Middle School,Shijiazhuang(石家庄二中)Shijiazhuang,Hebei,China Honor Class in STEM(理科实验班)Sept.’04–July’10 Zhongshan Primary School,Shijiazhuang(石家庄市中山路小学)Shijiazhuang,Hebei,ChinaSept.’04–July’10 Internship ExperienceMicrosoft Research Asia Beijing,China Systems Research Group Oct.’16–May’19 Advisor:Dr.Lintao ZhangMicrosoft Research Asia Beijing,China Wireless and Networking Research Group July’13–Sept.’14and July’15–Oct.’16 Advisor:Dr.Kun TanSelected Projects in HuaweiUnified Bus(UB,灵衢):Next Generation Data Center Interconnect Huawei Ongoing project,instructed by Dr.Kun Tan and Dr.Heng Liao Apr.’20–July’23•Unified Bus(UB,灵衢)is Huawei’s full-stack interconnect fabric to compete with NVIDIA NVLink,Intel CXL,and Infiniband.•I am one of the key architects of Unified Bus,directly managing15software developers in Hangzhouand Shanghai and indirectly managing an innovation team of5local researchers in Isarel and5researchers in Beijing.•By co-designing the interconnect with Kunpeng(鲲鹏)ARM CPU and Ascend(昇腾)AI NPU,UB achieves3.2Tbps bandwidth and sub-µs latency with10K+CPUs and NPUs in water-cooledTiangong(天工)supercomputer for AI and HPC.In comparison,NVLink(7.2Tbps)only scales to512GPUs and Infiniband for large-scale clusters only have0.4Tbps bandwidth and2µs latency.•UB enables direct communication among GPUs in data center scale,bypassing the CPU and thusimproving communication performance in LLM training to5x with10K NPUs.•By overlapping communication and computation,UB improves AllReduce performance in CPU-based ML inference by20%in search,recommendation,and advertisement systems.•Design an instruction set for SmartNIC offloading,improving end-to-end performance of distributedtransactions,distributed in-memory database and enterprise storage by25%∼114%.•Enable remote direct memory access without pinning memory,increasing effective memory sizeto5x with tiered memory and accelerating Spark-based big data application initialization from2minutes to6seconds.•Design a fast process wake-up mechanism in the Linux kernel for NIC interrupts,thus reducinginterrupt-mode RDMA latency by59%∼80%on x86and52%∼77%on ARM.•Design a hardware-based Memory-Level Cache that utilizes local DDR as a cache of remote memory,improving Redis performance by21%∼45%and making Redis on remote memory only2.5%slowerthan Redis on local memory.AKG:Automatic Kernel Compiler for AI Chips using Polyhedral Transformations Huawei Published in PLDI’21,second author,instructed by Dr.Peng Di June’19–Apr.’20•AKG is the equivalent of CUDNN in the Ascend(昇腾)ecosystem.The major challenge of AscendNPUs is its TPU-like architecture which requires developers to explicitly manage the memoryhierarchy,data movement and synchronization among matrix and vector computation units in theNPU.•AKG automatically compiles mathematical formulas to low-level assembly of an AI NPU.AKGuses polyhedral compilation to fully automate tiling,scheduling and memory management in acomplicated memory hierarchy of an NPU.•My role:architect and technical leader of the polyhedral compilation framework and dynamicshape team of15developers.•My technical contributions:Propose and implement novel solutions to open problems in polyhedralcompilation(non-affine access and parametric tiling);Refine polyhedral schedule constraints tofit NPU architecture;Design a combined manual and automatic scheduling mechanism;Designthe architecture and key algorithms to support dynamic shape,e.g.,algebraic simplification ofmultivariate polynomials.uRPC:A High Performance Unified RPC for Cloud&Client Huawei Ongoing project,instructed by Dr.Kun Tan and Dr.Heng Liao Apr.’22–July’23•Design a high-performance RPC protocol for Cloud&Client,achieving5x∼10x performance ofGoogle’s gRPC,the de-facto standard of RPC.•Design a cross-language and cross-platform serialization library with easy-to-use APIs similar toGoogle’s Protocol Buffers,but storing unified data structure in off-heap memory,achieving5xserialization and deserialization performance of Protocol Buffers.•Design a highly efficient cross-language and cross-platform RPC framework designed for lowlatency and high throughput.We replace HTTP headers with simple binary ingRDMA hardware,uRPC achieves<5µs latency,which is50x lower than gRPC.•As a unified RPC for Cloud&Client,uRPC integrates optimizations in wireless LAN and client-to-cloud WAN,improving performance of an AI-based photo beautifier by4x.Selected Projects during Ph.D.Study in USTC&MSRAKV-Direct:High-Performance Key-Value Store with Programmable NIC Microsoft Research Asia Published in SOSP’17,first author,instructed by Dr.Lintao Zhang May’16–Apr’17•World’s fastest key-value store for AI parameter server,graph computation and web caching.•Extends RDMA primitives to key-value operations,enabling remote direct key-value access to themain host memory.Also supports vector operations and user-defined functions.•Achieves up to180M key-value operations per second per programmble NIC,equivalent to thethroughput of20–30CPU cores.Built an1.2billion KV ops server with10FPGA NICs.•Leverages PCIe bandwidth efficiently and hide PCIe latency with optimized hash table,slab allocator,out-of-order execution,load dispatch and client-side batching.ClickNP:Highly Flexible Network Processing with FPGA Microsoft Research Asia Published in SIGCOMM’16,first author,instructed by Dr.Kun Tan July’15–Jan.’16•Designed for FPGA-based acceleration of Azure network virtualization platform.•The first FPGA-accelerated platform for general network functions,written completely in high-levellanguage and achieving40Gbps line rate as well as<2µs latency at any packet size.•Support high throughput(25Gbps)and low latency(1µs)joint CPU-FPGA processing.•Implement the ClickNP tool-chain,which can integrate with various commercial HLS tools.•Work with two undergraduates to design and implement100elements and5network functions.FPGA-based Bing Ranking DNN and HTTPS Accelerator Microsoft Research Asia Global2nd place in Cloud and Enterprise,Microsoft Hackathon2016;Most Impact Award in Beijing Venue,Microsoft Hackathon2017Apr.’16–Oct.’17•FPGA-based accelerator for deep neural networks in Bing Search Ranking.Leverage pipelineparallelism to store all parameters of dense layers in the SRAMs of distributed FPGA cluster toavoid swapping out to DRAM.Optimize DRAM and PCIe accesses for sparse layers.Resulting in5x performance for Bing Ranking.•FPGA-based accelerator for RSA crypto in HTTPS,serving10K+new connections per second witha single server,which is20x performance of Nginx web server.SocksDirect:Datacenter Sockets can be Fast and Compatible Microsoft Research Asia Published in SIGCOMM’19,first author;Global1st place in IT Pros category,Microsoft Hackathon;instructed by Dr.Lintao Zhang July’17–Jan’19•OS kernel consume∼80%CPU time in network communication for Web applications in a server.•We design and implement SocksDirect,a user-space high performance socket system fully compatiblewith existing socket applications.•SocksDirect leverages RDMA and shared memory(SHM)for interhost and intra-host communi-cation,respectively.SocksDirect achieves isolation by employing a trusted monitor daemon tohandle control plane operations such as connection establishment and access control.The dataplane is peer-to-peer between processes,in which we remove multi-thread synchronization,buffermanagement,large payload copy and process wakeup overheads in common cases.•SocksDirect achieves7∼20x better message throughput and17∼35x better latency than Linux socket,and reduces Nginx HTTP latency to1/5.5.Fast and Incremental Web Crawler USTC Personal Project Jan.’17–Oct.’17•A fast web crawler framework based on Scrapy with browser mimicking and rotating proxies.•Scrapes100M+webpages from40+websites within one month for a commerical project,resultingin a database of1TB+structured data.•Incremental updating mechanism to dynamically probe and update information from the websites. Publications(selected)1Pipe:Scalable Total Order Communication in Data Center NetworksBojie Li,Gefei Zuo,Wei Bai and Lintao ZhangProceedings of the2021ACM SIGCOMM Conference(SIGCOMM’21)AKG:Automatic Kernel Generation for Neural Processing Units using Polyhedral Transformations Jie Zhao,Bojie Li,Wang Nie,Zhen Geng,Renwei Zhang,Xiong Gao,Bin Cheng,Chen Wu,Yun Cheng, Zheng Li,Peng Di,Kun Zhang and Xuefeng JinProceedings of the42nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’21)SocksDirect:Datacenter Sockets Can be Fast and CompatibleBojie Li,Tianyi Cui,Zibo Wang,Wei Bai and Lintao ZhangProceedings of the ACM Special Interest Group on Data Communication(SIGCOMM’19) KV-Direct:High-Performance In-Memory Key-Value Store with Programmable NICBojie Li,Zhenyuan Ruan,Wencong Xiao,Yuanwei Lu,Yongqiang Xiong,Andrew Putnam,Enhong Chen and Lintao ZhangProceedings of the26th ACM Symposium on Operating Systems Principles(SOSP’17) ClickNP:Highly Flexible and High-performance Network Processing with Reconfigurable Hardware Bojie Li,Kun Tan,Layong(Larry)Luo,Yanqing Peng,Renqian Luo,Ningyi Xu,Yongqiang Xiong,Peng Cheng and Enhong ChenProceedings of the2016ACM conference on SIGCOMM(SIGCOMM’16)Multi-Path Transport for RDMA in DatacentersYuanwei Lu,Guo Chen,Bojie Li,Kun Tan,Yongqiang Xiong,Peng Cheng,Jiansong Zhang,Enhong Chen and Thomas MoscibrodaProceedings of the15th USENIX Symposium on Networked Systems Design and Implementation(NSDI’18) Fast and Cautious:Leveraging Multi-path Diversity for Transport Loss Recovery in Data Centers Guo Chen,Yuanwei Lu,Yuan Meng,Bojie Li,Kun Tan,Dan Pei,Peng Cheng,Layong(Larry)Luo, Yongqiang Xiong,Xiaoliang Wang and Youjian ZhaoProceedings of the2016USENIX Annual Technical Conference(ATC’16)Professional ActivitiesMember,ACM ChinaSys Yong Committee(ACM ChinaSys青年委员会委员)Dec.’21–now Reviewer,ACM Transactions on Computer Systems(TOCS)June’20–now Teaching Assistant,Advanced Software Engineering course,MSRA Sep.’15–Jan.’16 Co-founder,USTC icourse.club(USTC评课社区联合创始人)(9K+users,23K+reviews)Feb.’15–now Founder,USTC Freeshell(USTC容器云平台创始人)(2K+users,4K+VMs)Feb.’13–Sep.’14Founder,USTC Blog(USTC博客托管平台创始人)(3K+blogs)Nov.’12–Sep.’14 Maintainer,USTC Open Source Mirrors(USTC开源软件镜像维护者)(1TB+traffic/month)May’12–May ’13Member,Gewu Digital Startup(科大格物物联创业团队成员,因选择读博而退出,公司后发展成为国仪量子)Jan.’13–July’13 President,Linux User Group,USTC(科大Linux用户协会会长)May’12–May’13 Founder and President,Technology Division,Student Union,Class of Gifted Young,USTC(科大少年班学院学生会技术部创始人和首任部长)May’11–May’12 President,Technology Division,Office of Publicity,Youth League,USTC(科大校团委网络工作办公室技术部首任部长)May’11–Jan.’12 Vice President,Gewu Zhizhi Student Club of Physics,USTC(科大格物致知社(物理学术社团)副会长) May’11–May’12Awards in HuaweiInnovation Spark Award(任总颁发的“难题揭榜”火花奖)(100/110000)Feb.’23 Presidential Team Award of2012Labs(2012实验室总裁团队奖)(1/40)Dec.’22 Huawei Central Software Institute Innovation Contest2nd prize(10/1300)Nov.’22 20Minutes Report to Executive Management Team(每月2名基层员工向公司最高管理团队EMT汇报,我是第42期)(84/200000)Aug.’22 Huawei Golden Individual Award(公司金牌个人奖)(1/100)Dec.’21 Huawei Golden Team Award(公司金牌团队奖)(1/40)Dec.’21 Huawei Central Software Institute Innovation Contest1st prize(2/650)Nov.’21 Huawei Central Software Institute Hackathon1st place(1/38)Oct.’21 Outstanding New Employee in2012Labs(1%)Aug.’20Awards in USTC&MSRAACM China Doctoral Dissertation Award(total2awardees)(ACM中国优秀博士学位论文奖,全国共2名) Dec.’19Chinese Academy of Sciences Presidential Scholarship(中国科学院院长奖,全国共400名)June’19 Outstanding Graduate in Anhui Province(安徽省品学兼优毕业生)(196/4233=4.6%in USTC)Apr.’19 Outstanding Graduate in USTC(中国科学技术大学优秀毕业生)Apr.’19 Microsoft Research Asia Fellowship Award(微软学者奖学金)(total10awardees in Asia)Oct.’17 China National Ph.D.Scholarship(博士生国家奖学金)Oct.’17 Global1st place in IT Pros Category,Microsoft Hackathon2017(1/200+)Aug.’17 Most Impact Award in Beijing Venue,Microsoft Hackathon2017(1/200+)Aug.’17 Best Presentation Award,MSRA Student Techfest2016(1/50+)Oct.’16 Global2nd place in Cloud and Enterprise,Microsoft Hackathon2016(2/1000+)Aug.’16 Microsoft Research Asia Young Fellowship Award(微软小学者奖学金)(total10awardees)Aug.’13 Outstanding Student Leader in USTC(中科大优秀学生干部)May’13 Outstanding Lecturer,Web Development Workshop,USTC(“网站开发讨论班”优秀讲师)Jan.’12 Best Innovation Award,USTC RoboGame Contest(中科大机器人大赛最佳创意奖)(1/52)Oct.’11Awards before Undergraduate StudyBronze Medal,National Olympiad in Informatics(NOI)2009(高中全国信息学竞赛全国铜牌)Jan.’09 First Prize,National Olympiad in Informatics in Hebei Province(NOIP)2008(高中全国信息学竞赛河北省一等奖)(rank2nd)Nov.’08 First Prize,National Olympiad in Mathematics in Hebei Province2009(高中全国数学竞赛河北省一等奖) (top10)Oct.’09 Top20in High School Entrance Exam,Shijiazhuang(石家庄市中考前20名)June’07First Prize(full score),National Olympiad in Informatics for Junior High School(初中全国信息学竞赛一等奖,满分)Oct.’06 Top10Students in Shijiazhuang Primary Schools(石家庄市十佳金童)Aug.’03 Merit Student in Shijiazhuang Primary Schools(石家庄市小学三好学生)Aug.’03 First Prize,The Hope Cup Mathematical Contest National Finals(“希望杯”少年数学邀请赛全国总决赛一等奖)Aug.’03 Gold Medal,Hua Luogeng Cup Mathematical Contest National Finals(“华罗庚金杯”少年数学邀请赛全国总决赛金牌)(National top10)May’03。
A Survey of Research on Mobile Cloud ComputingLe Guan Beijing University of Posts and TelecommunicationsBeijing, China optimism1226@Xu KeBeijing University of Postsand TelecommunicationsBeijing, Chinapermit@Meina SongBeijing University of Postsand TelecommunicationsBeijing, Chinamnsong@Junde SongBeijing University of Postsand TelecommunicationsBeijing, Chinajdsong@Abstract—The rapid development of mobile computing and cloud computing trigger novel computing paradigm-----Mobile Cloud Computing. This paper review current research effort towards Mobile Computing. First, we present several challenges for the design of Mobile Cloud Computing service. Second, a concept model has been proposed to analyze related research work. Third, we survey recent Mobile Cloud Computing architecture, application partition & offloading , and context-aware service.Keywords-mobile cloud computing, application partition, offloading, context-awareI.I NTRODUCTIONNowadays, the market of mobile phone has expanded rapidly. By the end of 2009, less than 20 years later, the number of mobile cellular subscriptions worldwide reached approximately 4.6 billion, 370 times the 1990 number [1]. The widely use of mobile phone lead to the prosperity of mobile service. Dream of “Information at your fingertips anywhere, anytime” has become true. However, mobile devices still lack in resources compared to a conventional information processing device such as PCs and laptops. Also, the limitation of battery restricts working time. How to augment capability of mobile phone has become the important technical issue for mobile computing.The paradigm of cloud computing brings opportunities for this demand. Cloud computing provide new supplement, consumption, and delivery model for IT service. Cloud-based services are on-demand, scalable, device-independent and reliable. Thus, there comes Mobile Cloud Computing, which aims at using cloud computing techniques for storage and processing of data on mobile devices, thereby reducing their limitations. According to ABI Research, by 2015, more than 240million business customers will be leveraging cloud computing services through mobile devices, driving revenues of $5.2billion[2].To deliver cloud service in mobile environment, we might face several problems. Device may hand off among different wireless transmission district, and transport channels are not so reliable to guarantee cloud service delivery. Furthermore, mobile devices can’t handle complicated applications due to their innate characters. Also, it is impossible that mobile device always online, that is, we should consider the offline solution for mobile device. What’s more, the absence of standards, security and privacy, elastic mobile applications requirement may obstruct the development of Mobile Cloud Computing as well.Researchers provide various solutions for Mobile Cloud Computing service. Some proposal application partition & offload schemes to leverage the working load of Cloud and Client, which may reduce processing burden on the mobile client. Several researchers focus on the feature of “Mobile”, to provide context-aware service for users, which may triggers new applications for mobile environment. Contexts include geo-location and social activities.This paper introduces the basic model of Mobile Cloud Computing, and surveys state-of-art of systems. First, we describe technical challenges of Mobile Cloud Computing. Then, after introducing concept model and basic architecture, we survey key technologies, e.g. partition & offloading and context-based service. At last, we conclude the recent research activities of Mobile Cloud Computing.The rest of paper is organized as follows: SectionⅡshows challenge of Mobile Cloud Computing service. Section Ⅲpresents basic model and architecture of Mobile Cloud Computing systems. Section Ⅳtalks about partition & offloading schemes and SectionⅤdescribes context-aware service. Section Ⅵ conclude the whole paper.II.C HALLENGES OF M OBILE C LOUD C OMPUTING Mobile Cloud Computing services are implemented in mobile wireless environment, incorporating several challenges such as the dependency on continuous network connections. Also Mobile Cloud Computing concepts rely on an always-on connectivity and will need to provide a scalable and high quality mobile access.work latency and limited bandwidth in the mobilenetworkFirst, Mobile Cloud Computing may face the challenge from the transmission channel due to the intrinsic nature and constraints of wireless networks and devices. This is especially true when it comes to rich-internet and immersive mobile applications, e.g. online gaming and augmented reality that require high-processing capacity and minimum network latency. These will most probably continue to be processed2011 10th IEEE/ACIS International Conference on Computer and Information Sciencelocally on powerful smart phones and mobile tablets. Mobile broadband networks generally require longer execution times for a given application to run in the cloud and network latency issues may deem certain applications and services unfit for the mobile cloud.B.Various access scheme in mobile envinromentMobile Cloud Computing would be deployed in a heterogeneous access scenario with different radio access technologies such as GPRS, 3G, WLAN, WiMax. Mobile Cloud Computing requires wireless connectivity with the following features:•Mobile Cloud Computing requires an “always-on”connectivity for a low data rate cloud control signalingchannel.•Mobile Cloud Computing requires an “on-demand”available wireless connectivity with a scalable linkbandwidth.•Mobile Cloud Computing requires a network selection and use that takes energy-efficiency and costs intoaccount.The most critical challenge of Mobile Cloud Computing is probably to guarantee a wireless connectivity that meets the requirements of Mobile Cloud Computing with respect to scalability, availability, energy- and cost-efficiency [3].C.Elastic application modelsCloud Computing services are scalable, via dynamic provisioning of resources on a fine-grained, self-service basis near real-time, without users’ consideration for peal loads. This requirement is particularly important towards mobile cloud computing scenario. Mobile applications can be launched on the device or cloud, and can be migrated between them according to dynamic changes of the computing context or user preferences. Also, limited resource of mobile device will restrict application processing. Thus, elastic application model should be proposed to solve fundamental processing problemD.Security and PrivacyCloud computing users prove their identities with digital credentials, typically passwords and digital certificates. If an attacker could fake or steal these credentials, the cloud computing system will suffer from spoofing attacks. In mobile cloud computing, the problem is even severe because mobile devices often lack of computing power to execute sophisticated security algorithms. Moreover, it is difficult to enforce a standardized credential protection mechanism due to the variety of mobile devices [4].III.C ONCEPT MODEL AND A RCHITECTURE .In this section, we present concept model to analyze mobile cloud computing technology, and then provide several architecture model to organize Mobile Cloud Computing systems. A.Concept modelAs well known, cloud computing service can be divided into three types according to delivery manner: Infrastructure asa Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS). However, Mobile Cloud Computing would not separate into these types. Mobile Cloud Computing focuses on the connection between client and cloud, which may differ from common features of cloud computing.In architectural considerations of creating next generation mobile applications, Jason H Christensen [5] proposal three component archetype: the combination of smart mobile device, REST based cloud computing, and context enablement. This three component model matches with transmission model of Mobile Cloud ---“Client-Connection-Cloud”.We can reconstruct concept model on vertical view, as shown in Figure.1. The left and right entities are respectively client and cloud. Between client side and cloud side there is “Transmission Channel” component. Upon this entity are “Resource Scheduling” and “Context Management” components, both of which occupy client and cloud sides. The prerequisite of this model is that: a) The client is context-aware;b) Cloud side should deliver elastic, on-demand service for client. Next, we explain three middle part of the model with down-top approach.Figure 1. Concept model of Mobile Cloud Computing1)Transmission ChannelTransmission channel refers to various wireless transport protocols. The wireless connection between client and cloud is double-edged sword for mobile cloud computing applications: For one thing, the weak transmission channels degrade performance of stable cloud service; for another, dynamic characters of connection produce various contexts, which trigger prosperous mobile applications.2)Resource SchedulingResource scheduling component address the schedule o resource, such as computing resource and storage resource. In this level, virtual machines will be introduced to handle of resource dispatch. Nevertheless, we can view this problem in another view. Resource may be stable but applications may transmit to other places. In mobile cloud computing scenario we often consider to decompose complex application and handle application with parallel methods. Usually, application partition and offloading may contribute to usage of mobile device. Partition and offloading approach will be studied in Section Ⅳ.3)Context ManagementContext Enabled features of mobile device allow us to ascertain additional information from the computing device itself without the need for explicit user input. Context Management module can track context parameters and adapt to modification of context conditions. This capability has enabled a number of new application spaces such as Location Based Services (LBS), spatial augmented reality (SAR), and explicit spatial contexts using Bluetooth or WiFi.Typically, context can be classified into two types:a)Spatial contextsSpatial contexts are contexts that are based on position, proximity. They allow context-aware applications to provide input for Location Based Service. For example, my iPhone can get location information and provide to Foursquare software, then I can play online games.b)Social contextsSocial contexts are contexts that have been explored in social network analysis threads. In the context of mobile computing these contexts are particular ones that out of inherent characters of mobile computing but encourage user to group interaction.Context management technology will be surveyed in Section Ⅴ.B.ArchitectureThe architecture of Mobile Cloud Computing refers to the organization of Mobile Cloud Computing systems. Generally, most researchers want to enhance capability of mobile devices with cloud technology. Also, some researchers explore the use of cloud computing to execute mobile applications in behalf of the device. Thus, architecture scheme contains two types: agent-client scheme and collaborated scheme.1)Agent-client schemeIn this scheme, cloud side provides overall resource management for mobile devices, to help to overcome limitations of mobile devices in particular of the processing power and data storage. As is shown in Figure 2, cloud side generate agent for each device. Mobile device communicatewith its agent to contact with other entities outside this domain.Figure 2. Agent-client architecture for Mobile Cloud ComputingMahadev Satyanarayanan [6] provided cloudlet-based, resource-rich, mobile computing. In this architecture, a mobile user exploits virtual machine technology to customize service software on a nearby cloudlet and then uses that service over a wireless LAN; the mobile device typically functions as a thin client with respect to the service. A cloudlet is decentralized and widely-dispersed Internet infrastructure whose compute cycles and storage resources can be leveraged by nearby mobile computers. The natural implementation is to extend Wi-Fi access points to include substantial processing, memory and persistent storage for use by associated mobile devices.Xinwen Zhang [7] built elastic applications which augment resource-constrained platforms. An elastic application can consist of one or more weblets, which function independently, but communicate with each other. When the application is launched, an elasticity manager running on the device monitors the resource requirements of the weblets of the application, and makes decisions where they should be launched. Computation intensive weblets usually strain the processors of mobile devices, therefore they can be launched on one or more platforms in the cloud; while user interface components (UI) or those needing extensive access to local data may be launched on the device.2)Collaborated schemeCollaborated schemes regard device as a part of cloud. This approach utilize remain resource of mobile device. The function of cloud server may be the controller and schedulerfor collaboration among devices.Figure 3. Collaborated architecture for Mobile Cloud CoputingHyrax [8] is a platform derived from Hadoop that supports cloud computing on Android smart phones. Hyrax allows client applications to conveniently utilize data and execute computing jobs on networks of smart phones and heterogeneous networks of phones and servers. By scaling with the number of devices and tolerating node departure, Hyrax allows applications to use distributed resources abstractly, oblivious to the physical nature of the cloud. In Hyrax, several traditional machines play the role of NameNode and JobTracker.Black and Edgar [9] demonstrated the feasibility and value of enabling mobile devices within a grid computing framework by implementing the BOINC client on an Apple iPhone. Work units are downloaded from a BOINC server and executed on the iPhone via a virtual machine emulating an x86 processor, and results are uploaded to the server. The world of mobiledevices brings renewed challenges to the problem of grid client design in the areas of network bandwidth, processor capability, storage, and energy consumption.IV.A PPLICATION PARTITION AND OFFLOADING Application partition and offloading technology play an important role for the implementation of elastic applications. Application partition decompose complex workload to atomic ones, thus can be processed concurrently. Offloading application can free burden of mobile devices and save their energy consumption.A.PartitionTo achieve seamless and transparent migration and offloading, each application should be partitioned into components. Application partition should consider resource consumption and data dependency.Ioana Giurgiu [10] el. proposed two-step approach to optimally partition an application between a mobile phone and a server. First, they abstract an application’s behavior as a data flow graph of several inter-connected software modules. Given this graph, in the second step, a partitioning algorithm finds the optimal cut that maximizes (or minimizes) a given objective function. They propose two types of partitioning algorithms: ALL and K-step. In the first case, the best partitioning is computed offline by considering different types of mobile phones and network conditions. In the second case, the partitioning is computed on-the-fly, when a phone connects to the server and specifies its resources and requirements. ALL fits the first scenario, while K-step the second one.Xun Luo [11] presented “Cloud-Mobile Convergence for Virtual Reality (CMCVR)” concept. In CMCVR, to take advantage of the better load balancing inherent in by-region application partitioning, the author proposed Hybrid Application Partitioning Strategy, also in two steps: The first stage breaks down the workload with the by-scale strategy; large workloads at high scale levels are further partitioned in the second stage which uses the by-region strategy. The partitioning process is completed when an optimized overall system performance is achieved.Byung-Gon and Petros [12] introduced the notion of dynamic partitioning of applications between weak devices and clouds and argue that it is the key to addressing heterogeneity problems. The author found that partitioning applications statically does not provide optimal user experience as more and more applications are used in diverse environments and inputs. So it is decision to demand particular purpose. The decision may be impacted not only by the application itself, but also by the expected workload and the execution conditions, such as network connectivity and CPU speeds of both weak and cloud devices. After formalizing the dynamic partitioning problem, and sketch how to construct a system that supports dynamic partitioning.B.OffloadingOffloading task from client to cloud can reduce energy consumption of mobile device [13]. The problem is the choice of offloading percent and methods. Should we put all applications to cloud?Byung-Gon and Petros [14] first introduced offloading execution from the smart phone to a computational infrastructure hosting a cloud of smart phone clones. The idea is simple: clone the entire set of data and applications from the smart-phone onto the cloud and selectively execute some operations on the clones, reintegrating the results back into the smart-phone. There are five types of augmentation, each of which uses special method to offloading. One can have multiple clones for the same smart-phone, clones pretending to be more powerful smart-phones, etc.Eduardo Cuervo [15] el. presented MAUI, a system that enables fine-grained energy-aware offload of mobile code to the infrastructure. It maximizes the potential for energy savings through fine-grained code offload while minimizing the changes required to applications. First, MAUI uses code portability to create two versions of a smart phone application, one of which runs locally on the smart phone and the other runs remotely in the infrastructure. Second, MAUI uses programming reflection combined with type safety to automatically identify the remote methods and extract only the program state needed by those methods. Third, MAUI profiles each method of an application and uses serialization to determine its network shipping costsV.C ONTEXT-AWARE S ERVICEIt is context that distinguishes mobile cloud computing from common concepts. Context leads to advent of various mobile applications. As mentioned in Section Ⅲ,contexts can be classified into two types, spatial contexts and social contexts. First we introduce common context management methods, and then discussmon context managementAndreas Klein [16] el. presented a framework for the use of context information for the Heterogeneous Access Management (HAM) provided by the Mobile Cloud as a service for the mobile terminals. A formal method assessing link quality based on available context information has been developed for triggering handover mechanisms. The proposed Context Management Architecture (CMA) is responsible for acquiring, processing, managing, and delivering context information. Context Quality Enabler (CQE) controls the provision of context information according to the requirements of the Mobile Cloud Controller. Finally, based on the outlined HAM concept, the author presented a context-aware radio network simulator (CORAS) that is able to model context availability, accuracy, and delay, thus enabling an evaluation of the impact of different levels of context relevance, confidence, and quality on simulation results.Hyun Jung La [17] presented a framework for enabling context-aware mobile services. The framework enables tasks of capturing context, determining what context-specific adaptation is needed, tailoring candidate services for the context, and running the adapted service. The net result of context-aware services is for consumers to receive better services which fit to the current context of the consumers.Aaron Beach [18] presented a vision of mobile-cloud computing in which context-aware services are organized and integrated by a Context-Aware Intention Compiler (CAIC). Run-time creation of these programs allows contextual information from a mobile phone and the environment to be integrated in real-time. Furthermore, the mobile device can look up context-aware services using a Contextual Lookup Service, which maps context and intention to the appropriate Context-Aware Intention Compiler. Use of the CAwbWeb framework allows mobile-cloud challenges to be divided into four major concerns: specifying intention, describing context, identifying appropriate actions, and efficient actuation of those actions.B.Spatial contexts servicePatrick Stuedi [19] el. presented WhereStore, a location-based data store for Smartphones interacting with the cloud. The key property of WhereStore is that it uses the phone's location history to determine what data to replicate locally. The main goal of caching cloud data on the phone is to decrease the overall data access latency and also reduce the probability of data becoming unavailable in periods of no connectivity. Furthermore, WhereStore is a shared resource for different applications and exchanges data with the cloud in batches, thus potentially reducing the overall energy consumption on the phone.Pelin Angin [20] el. proposed a mobile-cloud collaborative approach for context-aware navigation by exploiting the computational power of resources as well as location-specific resources available on the Internet. The author proposes an extensible system architecture that minimizes reliance on infrastructure, thus allowing for wide usability.C.Social contexts serviceDejan Kovachev [21] el. proposed Mobile Community Cloud Platform (MCCP) as a cloud computing system that can leverage the full potential of mobile community growth. Also, the author analyses the requirements of mobile communities, proposes a cloud computing model for mobile communities, and discusses the technical settings of this cloud infrastructure.Lan Zhang [22] el. designed and constructed a multi-hop networking system named MoNet based on WiFi, and a privacy-aware geo-social networking service. Also the author designs a distributed content sharing protocol which can significantly shorten the relay path, reduce conflicts and improve data persistence and availability. A role strategy is designed to encourage users to collaborate in the network. Furthermore, a key management and an authorization mechanism are developed to prevent some attacks and protect privacy.Eric Jung [23] el. proposed to exploit the potential of smart phones in proximity cooperatively, using their resources to reduce the demand on the cellular infrastructure. The author introduces RACE (Resource Aware Collaborative Execution), a Markov Decision Process (MDP) optimization framework that takes user profiles and user preferences to determine the degree of collaboration. Then RACE can enable the use of other mobile devices in the proximity as mobile data relays.VI.C ONCLUSIONThis paper surveys recent research activities on Mobile Cloud Computing. Mobile Cloud Computing aims to utilize cloud computing techniques for storage and processing of data on mobile devices, thereby reducing their limitations. Several problems would challenge the development, including intrinsic nature of mobile device and wireless connection. Then we proposal concept model for Mobile Cloud Computing systems and analyze typical architecture. After that, we discuss the detail of technology, application partition & offloading and context-aware services.A CKNOWLEDGMENTThis work is supported by the National Key project of Scientific and Technical Supporting Programs of China (Grant Nos.2008BAH24B04, 2008BAH21B03); the National Natural Science Foundation of China (Grant No.61072060); the Program of the Co-Construction with Beijing Municipal Commission of Education of China.R EFERENCES[1]Mobile Phone’s wikipedia. /wiki/Mobile_phone[2]Mobile Cloud Applications. ABI Research Report./research/1003385-Mobile+Cloud+Computing[3]Chetan S., Gautam Kumar, K. Dinesh, Mathew K., and Abhimanyu M.A.Cloud Computing for Mobile World. 2010; Available from: /projects/CCMW.pdf.[4]Sheng Xiao and Weibo Gong. Mobility Can Help: Protect User Identitywith Dynamic Credential. in Mobile Data Management (MDM), 2010 Eleventh International Conference on. 2010.[5]Jason H. Christensen, Using RESTful web-services and cloudcomputing to create next generation mobile applications, in Proceeding of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications. 2009, ACM: Orlando, Florida, USA. p. 627-634.[6]M. Satyanarayanan, P. Bahl, R. Caceres, and N. Davies, The Case forVM-Based Cloudlets in Mobile Computing. Pervasive Computing, IEEE, 2009. 8(4):14-23.[7]Xinwen Zhang, Joshua Schiffman, Simon Gibbs, AnugeethaKunjithapatham, and Sangoh Jeong, Securing elastic applications on mobile devices for cloud computing, in Proceedings of the 2009 ACM workshop on Cloud computing security. 2009, ACM: Chicago, Illinois, USA. p. 127-134[8]EE Marinelli, Hyrax: Cloud Computing on Mobile Devices usingMapReduce. 2009, Carnegie Mellon University.[9]M. Black and W. Edgar. Exploring mobile devices as Grid resources:Using an x86 virtual machine to run BOINC on an iPhone. in Grid Computing, 2009 10th IEEE/ACM International Conference on. 2009. [10]Ioana Giurgiu, Oriana Riva, Dejan Juric, Ivan Krivulev, and GustavoAlonso, Calling the cloud: enabling mobile phones as interfaces to cloud applications, in Proceedings of the 10th ACM/IFIP/USENIX International Conference on Middleware. 2009, Springer-Verlag New York, Inc.: Urbanna, Illinois. p. 1-20.[11]Luo Xun. From Augmented Reality to Augmented Computing: A Lookat Cloud-Mobile Convergence. in Ubiquitous Virtual Reality, 2009.ISUVR '09. International Symposium on. 2009[12]Byung-Gon Chun and Petros Maniatis, Dynamically partitioningapplications between weak devices and clouds, in Proceedings of the 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond. 2010, ACM: San Francisco, California. p. 1-5.[13]K. Kumar and Lu Yung-Hsiang, Cloud Computing for Mobile Users:Can Offloading Computation Save Energy? Computer, 2010. 43(4):51-56[14]Byung-Gon Chun and Petros Maniatis, Augmented smartphoneapplications through clone cloud execution, in Proceedings of the 12th conference on Hot topics in operating systems (HotOS). 2009[15]Eduardo Cuervo, Aruna Balasubramanian, Dae-ki Cho, Alec Wolman,Stefan Saroiu, Ranveer Chandra, and Paramvir Bahl, MAUI: making smartphones last longer with code offload, in Proceedings of the 8th international conference on Mobile systems, applications, and services.2010, ACM: San Francisco, California, USA. p. 49-62.[16]Andreas Klein, Christian Mannweiler, Joerg Schneider, and Hans D.Schotten. Access Schemes for Mobile Cloud Computing. in Mobile Data Management (MDM), 2010 Eleventh International Conference on. 2010.[17]La Hyun Jung and Kim Soo Dong. A Conceptual Framework forProvisioning Context-aware Mobile Cloud Services. in Cloud Computing (CLOUD), 2010 IEEE 3rd International Conference on.2010.[18]Aaron Beach, Mike Gartrell, Richard Han, and Shivakant Mishra.CAwbWeb: Towards a Standardized Programming Framework to Enable a Context-Aware Web. Technical Report CU-CS-1063-10, March 2010. [19]Patrick Stuedi, Iqbal Mohomed, and Doug Terry, WhereStore: location-based data storage for mobile devices interacting with the cloud, in Proceedings of the 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond. 2010[20]Pelin Angin, Bharat Bhargava, and Sumi Helal. A Mobile-CloudCollaborative Traffic Lights Detector for Blind Navigation. in Mobile Data Management (MDM), 2010 Eleventh International Conference on.2010.[21]Dejan Kovachev, Dominik Renzel, Ralf Klamma, and Yiwei Cao.Mobile Community Cloud Computing: Emerges and Evolves. in Mobile Data Management (MDM), 2010 Eleventh International Conference on.2010[22]Lan Zhang, Xuan Ding, Zhiguo Wan, Ming Gu, and Xiang-Yang Li,WiFace: a secure geosocial networking system using WiFi-based multi-hop MANET, in Proceedings of the 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond. 2010 [23]Eric Jung, Yichuan Wang, Iuri Prilepov, Frank Maker, Xin Liu, andVenkatesh Akella, User-profile-driven collaborative bandwidth sharing on mobile phones, in Proceedings of the 1st ACM Workshop on Mobile Cloud Computing & Services: Social Networks and Beyond. 2010。
Mobile Adaptive Applications for Ubiquitous Collaboration in Heterogeneous EnvironmentsAllan Meng Krebs, Ivan Marsic, and Bogdan DorohonceanuCenter for Advanced Information Processing (CAIP)Rutgers UniversityPiscataway, NJ 08854-8088 USA+1 732 445 4208{krebs,marsic,dbogdan}@ABSTRACTMobile teamwork applications are often deployed in heterogeneous environments with various devices and connections. To support a broad variety of platforms for mobile teamwork in heterogeneous environments, this paper presents a framework for development of applications adaptive to the client’s computing platform. The framework supports both shared data adaptation and user interface adaptation to user’s preferences and display characteristics. Both shared data and the user interface are specified in two XML documents. The user interface XML document specifies the application interface by a generic “view” graph (should also specify the valid data types). Global view graph is transformed into a device-dependant view graph for individual client devices.KeywordsHeterogeneous platforms, adaptive applications, ubiquitous computing.INTRODUCTIONThe old problem of adapting applications user interfaces to multiple platforms has become even more important with the large diversity of mobile connected devices that has emerged within the last couple of years.The use of various web browsers (HTML, WAP, etc.) gives some solution to the problem, but if the needed application is much more complicated than manageable using HTML forms, something else needs to be developed.Other problems occur when the applications become collaborative, especially when the users are using heterogeneous devices. Besides developing a system which can handle sharing of the same data, but presenting it with different views, also the human factors of heterogeneous collaboration plays a big role. One way to facilitate the collaboration in heterogeneous environments is the use of awareness tools, which helps the user to be aware of what the peers can see and are doing.The research presented in this paper addresses the problems of adapting application user interfaces to multiple platforms, and at the same time defines an infrastructure to support development of awareness tools to facilitate collaboration in heterogeneous environments, by specifying a language for generic description of applications and a mapping of this description into a device specific description. The descriptions are dynamic and can be updated by the users at run-time.The paper is organized as follows. We first review related work. Next we describe the architecture of our adaptive system and the interactor specification we developed for defining generic application descriptions. Then we present details on the mapping between the generic application description and the device specific application descriptions, and the data flow through the system. Finally, we discuss further work and conclude the paper.RELATED WORKThe system described in this paper is very related to XWeb [1], which defines a method to define user interfaces using the XView language. XView specifies a number of standard user interface widgets called interactors, which has to be implemented on the different client platforms for XWeb applications. XWeb mainly deals with string-based interactors, including string representation of numbers, and can generate html form-like views of the data. Our work extends some of the ideas from XWeb focusing on user interfaces for applications dealing with spatial data, such as map-based applications. While generation of the view using XWeb is a one-way transformation of the data using a static view description, our approach supports change of the view at run-time, both initiated by the user (or an agent), or by changes to the generic application description. The Visage system from Maya Design [4] focuses on complementary issues. Visage is a powerful (single-user) visualization system for creating custom visualizations and direct manipulation of large and diverse datasets. Some of its unique features include dynamic data navigation through drill-down and roll-up (aggregation) techniques. While Visage addresses diverse data visualization, it is not explicitly intended for collaboration in heterogeneous computing environments. Recent work on Visage Link adds multi-user collaboration capabilities, but does not consider heterogeneous models or data.Although some components of the framework presented here are see to exist in other systems, to our bestknowledge, there is currently no other research team that focuses on collaboration with heterogeneous platforms and addresses this broad range of issues.The Situated Computing Framework (SCF) [7] focuses on combining the personalization and ubiquity nature of handheld devices with powerful capabilities of static devices. The goal is to let the PDA dynamically create a composite device by seamlessly exploiting surrounding computing resources like PCs, storage devices, TVs, or telephones. The assumption is that screen size will remain rather constant (due to requirement to be pocket-sized) while small devices will move towards higher computing power, screens towards higher resolution, wireless networks will provide higher bandwidth, and multimedia content and services will move towards mobile-centric. The focus is on architectural consideration (logical-view) and much less user interface issues. The design goals are: detection of available location-based composite devices, ability to organize, arrange, manage, synchronize multimedia content in order to ensure service deliveries to output clients, rich content interactivity based on small screen units, redirection of server response to most appropriate composite device in vicinity of user, permit server to invoke processes on output device to deliver services.The early versions of MECANO [8] system (Stanford) only used a domain model to automatically generate the final user interface. In later versions, it provides its own language (MIMIC) to define models of the type of users, the tasks and goals of the user, the domain that the user can affect by means of the interface, the presentation of the interface, and the dialogue between user and interface. These models are used by their own run-time system to generate and control the interface. The MIMIC modeling language supports a design model that describes dynamic relationships between entities of the other declarative models.The UIML [12] project is in many ways related to our approach, but is not targeted towards collaborative applications and do not provide the infrastructure to do dynamic changes to the user interface as is included in our approach. UIML are also intended to be used on very low-level entities of the user interface e.g. defining frames and menu items, while our system is intended to be used on higher level components.The MOTION [13] web-based architecture for peer-to-peer collaboration also have some relation to our system, but besides being only a peer-to-peer system, it also only deals with user interface adaptation using browser technologies. ADAPTIVE SYSTEM ARCHITECTUREThe architecture supports two parallel data flows, Figure 1. The server contains the description of the application interface and the application data as two separate XML documents. The interface is expressed using interactorsUser(defined below), which form the generic view graph of the application interface. The generic view graph is mapped into a device-specific view graph, which is finally mapped into a Graphical User Interface widget tree. The widgets can be those supported by the language platform, such as Java Swing components, or they can be specially developed for this purpose.On the other hand, the application data are represented as a collection of data objects in a repository (data graph). The data objects are called uforms (short for “universal form”), which encapsulates the data. The uform essentially consists of a unique identifier and a keyed list of properties1.The global repository of uforms is mapped into a device-specific local repository, which is then mapped into the view graph and finally into the widget graph. In the last two steps, the individual uforms are mapped to corresponding interactors, and the widget implementations (Java classes) are loaded.The application adaptation we describe below is the adaptation of applications to a variety of client computer platforms. The adaptation is done by mapping between the generic application view graph and the device-specific view graph based on static device characteristics. In addition, our system is designed to also support dynamic adaptation to user’s preferences and to available communication and processing resources, Figure 2. Programming new applications is essentially writing new generic application view documents.1 The concept of UForms is borrowed from [4], which in turn dervies from e-forms [5]. INTERACTORSThe key entity of the generic application description is the interactors. Our definition of interactors is similar to the XWeb [1] definition. An interactor is a specification of a view object, which can handle specific data types. It does not specify input methods or layout; this is defined in a specific implementation. We define three categories of interactors; atomic, aggregate and indirect.Atomic InteractorsAtomic interactors define interaction on single data objects, such as numbers, dates, text, and enumeration of finite choices. As already stated, an interactor does not define the implementation of the user interface widget to handle the specific data type. The atomic interactor defines only which data type(s) are valid to be used with the interactor and an optional label. The atomic interactors we defined support a subset of the data types defined in the XML Schema [2]: •Text (string)•Numbers (float, doub le, integer and long)•Times (date and time)•Enumerations (enumeration)Our long-term intention is to support all the XML Schema built-in data types.Aggregate InteractorsAggregate interactors glue together multiple atomic interactors. The Group interactor is the simplest of the aggregate interactors, as it only specifies that the contained interactors should be logically presented together. A special case of the Group interactor is the Application interactor, which has the same properties as the Group interactor, plus it also identifies the root of the genericClient I Server Client JFigure 2: The interactions between the framework components in the process of data adaptation to the context.application document. Only one Application interactor is allowed in an application description.The Tree interactor can show and manipulate an arbitrary number of data objects in a tree structure.The ChoiceGroup interactor is a group interactor, which selects the contained interactors depending on the type of data object to be handled. To use a ChoiceGroup interactor the developer defines a number of data objects to handle, and the appropriate interactors for each data object. An example of a definition of a ChoiceGroup interactor can be seen in Figure 3.A special case of the aggregate interactors is the composite interactor. A composite interactor can contain other interactors like the group and list interactors, but is targeted to manipulate spatial data, such as objects on a map. E.g. SpatialGroup is a group interactor that can contain an arbitrary number of interactors for graphic symbols. Theview can be implemented as two- or three-dimensional. The interactor description defines the data objects the interactor can handle.Indirect InteractorsThe indirect interactors do not contain the object they are manipulating themselves, but are manipulating objects in another interactor, e.g., in a Tree or SpatialGroup interactor. The only indirect interactor we have defined is the Tool interactor, which is used to define interface tools for an application. The definition of a Tool interactor specifies, which data types the tool can manipulate, a reference to the interactor that contains the data objects, and what the tool do.MAPPING INTERACTORS TO WIDGETSThe general description of the application interface (see example in Figure 4) needs to be mapped into the device dependent representation. The former one is expressed in the interactor language defined above and the latter is expressed in terms of a view graph that refers to device dependent GUI widgets.This mapping is not necessarily a one to one mapping. For example, if the general description defines a 3D scene, this will be mapped to a single 3D view on a workstation, but it can be mapped to several views on a 2D device (top, side and front views). The rules used for the mapping are device specific, but not application specific, i.e. the mapping rules are defined so that for each device the same rules are used for all application descriptions. The rules are specified as XSL [3] template rules, but are only applied as a complete XSL transformation of the generic application description the first time a new device dependent description is needed. If the generic application description is changed later the rules are only applied to the changes, and the necessary changes are merged into the device dependent description. The XSL template rules can be made, either by hand in a standard text editor, or by a rule editor to simplify the process for the user.The result is a view tree, defining the structure of the GUI. This is the model of the application view (user interface). An example can be seen in Figure 5. In addition the view of the application is the tree of widgets (Java code). MAPPING DATA TO VIEWSA collection of uforms represents a data graph, which roughly corresponds to an XML document. As described above, each interactor defines the set of data types it can handle. Given an XML document, the composite interactor creates other composite or leaf interactors and associates them with corresponding uforms. It is important to notice that we maintain both model and view(s) components foreach uform. This is unlike XWeb and for this reason we do Figure 4 - Generic application description for thesample application Figure 3 - Example of a ChoiceGroup interactornot require one-to-one mapping from a model to a view. In addition, the data views are not described by interactors as in XWeb. The user interface interactor directly maps the data to GUI components, thus bypassing the interactors. INTERACTIVE UPDATING OF VIEW GRAPHSThe device specific view graph can be updated both by the client and by changing the generic application view graph . The client subscribes to be notified on changes to the view graph, using the same mechanism as the subscription to changes in the data graph. Also other clients can subscribe to changes to a specific clients view graph. This can be used to provide awareness tools, like shared views, radar view and telepointers.Also the users can update the generic application view graph. User can add extra collaboration components to a running application, for example a chat window. This is done by first adding the desired component to the device specific view graph, which is then mapped to the generic application view graph, and at the end propagated to the other users.INTERACTIVE UPDATING OF DATA GRAPHS Updating of the data graphs contained in the global and local repositories is done using a set of commands. The defined commands includes commands for adding, updating and deleting whole uforms, adding, updating and deleting properties of uforms, and some commands to maintain the client/server relationship.When a user wants to change a data object, an update command is sent from the client application to the server to update the global repository. A command sent to update their local repository will then notify other users subscribing to changes to the global repository. IMPLEMENTATION AND EXAMPLE APPLICATIONS Using the framework presented here we developed two complex applications: a 2D graphics editor (Pocketscape) and a 3D virtual world (cWorld).cWorldcWorld is an application that allows users to do multi-user, synchronous, collaborative work in Collaborative Virtual Environments (CVE’s). It is developed using the Java 2 SDK v.1.3.1.0_02 and the Java 3D 1.2.1 API OpenGL version. cWorld does not require any special hardware and can be used only with a keyboard and a mouse, but it can also employ more specialized devices, such as the Magellan Space Mouse. cWorld allows the users to directly manipulate objects in the CVE, e.g., rotate or move, by providing a set of manipulation tools.For the purpose of our user study, we built a constrained version of cWorld. In this version, cWorld provides three predetermined views to facilitate the movement in the collaborative environment. This modification was introduced to alleviate in part the difficulties in object alignment encountered in the previous study [9]. We expect that these changes will reduce the variability introduced by the user’s level of ability needed to use the mouse in a 3D environment.The user can rotate an object 90 degrees clockwise around the y-axis, 90 degrees clockwise around the z-axis, and fit it into the wall. The object’s rotation and placement in the wall does not depend on the use of the mouse. These functions are simplified using buttons in the interface that rotate the blocklets 90 degrees in the y-axis (yaw) and z-axis (roll) and fit them in the wall once they are in the correct position.PocketscapePocketscape application was developed using Java 2 SE. Its GUI is implemented using the Swing toolkit. It is a simplerversion of the Flatscape editor and has the basic Figure 5 - View graph description for 3D view of the sample applicationfunctionality of Flatscape. We implemented Pocketscape since we needed a user interface that could fit on the small screen of a PocketPC (320×240 pixels). Pocketscape runs on a Compaq iPAQ PocketPC 3536 handheld with 32 MB of memory and running the SavaJe XE operating system. SavaJe XE, unlike Windows CE, offers a full featured Java Virtual Machine that supports JDK 2.The user input is via the handheld stylus and the PocketPC buttons. The user can log in to a collaborative session, load a 3D scene, log off the collaborative session, or exit the application. It features customizable tools, e.g., select, create, delete, move, and rotate objects. Both the tool set and the 3D scene are declared as XML files and loaded at the application startup.Similarly to cWorld, Pocketscape is also modified to load a 3D scene and show its 2D front and top views (Figure 7). These modifications allow the subjects on PDAs to toggle between a top view and a side view using the stylus. Along the same lines, the rotation and placement of the objects is done by clicking buttons in a tool bar. Rotation of the objects is done by selecting the rotate tool (once), selecting the rotation plane (top or front view), and touching the object with the stylus. For each touch the object rotates 90 degrees clockwise in the rotation plane. When an object is in the position that allows it to fit with the object on its left side, fitting is done by selecting the fit tool, selecting a view (front or top view), and touching the object with stylus. There is no scrolling in the interface.CONCLUSION AND FUTURE WORKWe have designed and built a system, which allow for adaptation of the user interface to multiple devices for collaborative applications. We have extended the idea of interactors to support arbitrary data set, with a focus on spatial data, and defined a mapping between a generic application description and device specific application descriptions. The data flow of application descriptions is defined so both changes of the local user interface done by the user, and changes of the generic application description can be handled.In the future we hope to extend the list of interactors to include most of the XML Schema built-in data types, and add adaptation based on task modeling by dynamically changing the mapping rules.REFERENCES1. Olsen, D. R., Jefferies, S., Nielsen, T., Moyes, W., andFredrickson, P., Cross-modal Interaction using XWeb, Proceedings of UIST ’00, San Diago, CA, USA, November, 2000, pp.191-200 2. XML Schema Part 2: Datatypes, W3CRecommendation 02 May 20013. XSL Transformations (XSLT) Version 1.0, W3CRecommendation 16 November 1999 4. Maya Design Group, Inc. Visage Link./visage/base/technical.html 5. Dertousos, M. What Will Be . New York: HarperCollins, 1997, pp.85 6. Marsic, I. An architecture for heterogeneousgroupware applications. Proc. 23rd IEEE/ACM Int’l Conf. on Software Engineering (ICSE 2001), Toronto, Canada, May 2001, pp.475-484 7. Thai-Lai Pham, Georg Schneider, Stuart Goose: Asituated computing framework for mobile andubiquitous multimedia access using small screen and composite devices, ACM Multimedia 2000, LosAngeles, CA, USA, October/November, 2000, pp.323-331 8. Puerta, A. R. The Mecano Project: Comprehensive andIntegrated Support for Model-Based Interface Development, Computer-Aided Design of User Interfaces, ed. by Jean Vanderdonckt , PressesUniversitaires de Namur, Namur, Belgium, 1996, pp. 19-25Top ViewFront ViewFigure 7: A view of the parts as seen using Pocketscape, corresponding to the configurationshown in Figure 2.Figure 6: A configuration of 3D objects built using cWorld. Shown is the left view of the configuration.9.Marsic, I., Krebs, A.. Dorohonceanu, B., andTremaine, M. Designing and examining PC to Palmcollaboration. Proc. 35th Hawaiian Int’l Conf. onSystem Sciences (HICSS-35), Waikoloa, Hawaii,January 200210.John L. Schnase, Edward L. Cunnius, S. BruceDowton: The StudySpace Project: CollaborativeHypermedia in Nomadic Computing Environments,Communications of the ACM, Volume 38, Number 8, August 1995, pp.72-73.11.Radu Litiu, Atul Parakash. Developing adaptivegroupware applications using a mobile componentframework. CSCW 2000, December 2-6, 2000,Philadelphia, PA, USA. ACM, 2000, pp. 107-116 12.Marc Abrams, Constantinos Phanouriou, Alan L.Batongbacal, Stephen M. Williams, Jonathan E.Shuster, UIML: An Appliance-Independent XML User Interface Language, The Eighth International WorldWide Web Conference, Toronto, Canada, May 11-14,1999, /w8-papers/5b-hypertext-media/uiml/uiml.html.13.Gerald Reif, Engin Kirda, Harald Gall, Gian PietroPicco, Gianpaolo Cugola, and Pascal Fenkam A Web-based peer-to-peer architecture for collaborativenomadic working. In Proceedings of the 3rdInternational Workshop on Web-based Infrastructures and Coordination Architectures for CollaborativeEnterprises, co-located with the 10th InternationalWorkshops on Enabling Technologies: Infrastructurefor Collaborative Enterprises (WETICE 2001), MIT,Cambridge (MA, USA), June 2001.,http://www.elet.polimi.it/Users/DEI/Sections/Compen g/Gianpaolo.Cugola/Papers/wetice2001.pdf.。