• 沒有找到結果。

To migrate from a pervasive computing vision to reality, fundamental issues in numerous areas need to be addressed from both technical and non-technical viewpoints. We identified previously in section 1.2.1, five primary categories of challenges that need to be considered when developing and deploying applications in a pervasive computing environment: mobility challenges, device challenges, usability challenges, business challenges, and application challenges. We discuss these in more detail to determine their applicability and emphasize some of the specific challenges found important to the development and deployment of the proposed system, MobileCampus.

2.3.1 Mobility Challenges

Mobility challenges associated with pervasive computing encompass a range of issues that are associated with the nomadic user of pervasive computing devices. These issues are largely hardware related and depend much on the state of the wireless environment, for example, the maintenance of connections as devices move between areas of differing network connectivity, and the handling of network disconnections [11]. While protocols for wireless networking do handle some of the problems associated with mobility, such as routing and handovers, there are some problems that cannot be solved at the network level as they require knowledge of application semantics.

According to Henricksen et al. [11], the computing infrastructure needs to co-operate with applications in order to perform tasks related to the device mobility. Some of the mobility challenges are outlined below [4]:

z

Connection state. As users migrate from location to location, they will not always receive

continuous connections. Protocols and the computing infrastructure need to be able to intelligently handle connected, intermittent and disconnected states with applications.

z

Authentication, authorization and security. Wireless environments are often vulnerable to

eavesdropping and are considered less secure than their wired counterparts. This makes authentication and access to secure services important.

z

Voice and data access. The ability to access information using different modes of information

transfer presents a challenge, not only for enhancing user interaction but also an infrastructure challenge.

z

Device management. Devices in a pervasive computing environment will not only include

devices that users will interact directly with such as handheld organizers, mobile phones and traditional PCs, but also include devices such as sensors and actuators that mediate between physical and virtual environments; embedded devices in objects such as watches and shoes;

and home and office appliances such as videos, toasters and telephones [11]. These devices will demand a computing infrastructure that can manage them well.

z

Scalability. Scalability is a universal challenge for pervasive computing, both from a hardware

and software perspective [4, 11]. As the number of devices increase and decrease and demand services at irregular intervals, the computing infrastructure, the interactions between components and the software services provided must all be scalable. According to Henricksen

et al. [11], a powerful software platform would have characteristics such as scalability,

fault-tolerance and distributed components. The Ninja service architecture [19] is an example of one such platform.

z

Services. The need for integrated services that communicate with each other to support mobile

users is an essential characteristic of pervasive computing. Messaging services, location and

context awareness (invisibility) as well as intelligent notification are all properties of pervasiveness.

2.3.2 Device Challenges

The heterogeneity in computing systems will not disappear in the future, but instead increase as the range of computing devices widens. Heterogeneous devices will be required to interact seamlessly, despite the varying differences in hardware and software capabilities. This will require an infrastructure that maintains knowledge of device characteristics and capabilities and manages the integration of devices into a coherent system that enables arbitrary interactions [4, 11]. Some of the more specific challenges include:

z

Unique device challenges. Each device creates a new pervasive computing challenge as new

devices have unique characteristics and capabilities. Support for existing and future devices presents challenges for developing and deploying pervasive computing applications.

z

Varying programming models. There are several existing programming models, languages

and frameworks for developing pervasive computing applications. Currently there are no dominant or major standards for programming models.

z

Wide range of target environments. Varying operating systems and underlying software

infrastructures pose integration challenges for deploying universal pervasive computing applications.

2.3.3 Usability Challenges

Pervasive computing presents an increasingly difficult challenge when developing and deploying pervasive computing applications. Many analysts argue that usability is the number one barrier to the successful deployment of pervasive computing applications [20]. Without a simple, intuitive and

efficient user experience, organizations may end up with huge investments in applications that mobile workers refuse to use. As mentioned earlier, a pervasive computing application is whereby a user performs a task rather than software written to exploit a device’s capabilities [8, 15]. The heterogeneity and the particular characteristics of mobile users make the interaction challenges extremely complex. Demand for ubiquitous access will create a requirement for universal interfaces [11]. Device heterogeneity will introduce a further requirement that user interfaces are highly adaptable. And, the diminishing amount of user interaction with applications and the changing nature of interactions will mandate the creation of new types of user interfaces.

Universal interfaces refer to the creation of generic interfaces that will allow the semantics of user interaction to be specified without reference to rendering or input modalities. Currently, there are attempts to create a special language that meets this challenge, such as MoDAL [21].

Highly adaptable interfaces needed to cope with different user contexts (for example, when a user switches from working in an office to driving a car) are one of the usability challenges for pervasive computing applications. Novel application behaviors are needed to cope with this demand.

User interfaces for pervasive computing must be designed carefully with several factors in mind.

First, the ergonomics of the interface must be designed to keep the user’s attention focused on the task at hand rather than on peripheral matters. Second, it should be enjoyable to use. Third, the user interface must allow novel types of interaction that will become more common as computing tasks become more ubiquitous, such as the delegation of tasks and provision of guidance to software agents. And finally, user interfaces should be designed for ordinary people, rather than for technologists [22].

2.3.4 Business Challenges

Taking advantage of the pervasive computing opportunity means leveraging non-traditional, embedded computing technologies – both wired and wireless – to enable, integrate and extend e-business opportunities and new applications [23]. Improving productivity, developing and applying better cost-management strategies, finding new markets, adding value to existing customer relationships and maintaining competitive advantage in an ever-changing marketplace are all part of the business challenges. While the business challenges aren’t new, circumstances have changed dramatically. One misconception about migrating to pervasive devices as simply screen scraping or content transformation [13], the challenge lies in reconfiguring the business logic necessary to process the workflow of the application.

Pervasive computing has enabled and created a demand for mobile business capabilities.

Enterprises are establishing strategies for mobilizing their businesses and integrating them with existing solutions and business partners to maximize returns.

By mobilizing workforces, pervasive computing applications provide several advantages, including less room for error, relaying critical data residing on corporate networks to devices when an immediate decision needs to be made, and delivering information in a time and format that is useful to mobile workforces [23]. By assisting workforces, pervasive computing can help bring valuable productivity gains to the enterprise and adding value to customer relationships.

There are several ways in which pervasive computing can meet the business needs in a mobile environment [12, 23]. There exist several opportunities both in terms of customer and enterprise perspectives.

2.3.5 Application Challenges

Although all challenges for pervasive computing are linked in one way or another, application challenges remain one of the most important challenges when creating applications for pervasive computing devices. We place great emphasis on specific application challenges in this project, and discuss them in more detail later.

In the area of service platforms in a pervasive computing environment, there are currently studies on adaptation, context awareness, smart environments, scalability, integration and interoperability, invisibility and so forth [8, 9, 11, 23, 24], however, on the specific challenges for pervasive computing applications, the following issues are relevant [4, 9, 20, 24]:

z

Automation. The idea of doing more by doing less is achieved through three things [24]: new

technologies should be brought into our lives, not vice versa; new technologies must increase human productivity; and integrating technologies so that they become ubiquitous and require minimal intervention. A thin client approach supports this vision – by minimizing the client’s functionality and providing support within the network at servers [15, 25]. Client thickness is usually determined by the worst-case environmental conditions under which the application must run satisfactorily. For example, a very thin client suffices if one can always count on a high bandwidth, low latency wireless communication to nearby computing infrastructure and batteries that can be recharged or replaced easily [15]. On the other hand, thin client approaches, from a usability perspective, can assist users with their tasks by transferring processing of data to back-end systems and hiding system complexity. This optimizes the user experience by allowing the user to do less to achieve more.

z

Content aggregation. In a pervasive computing environment that enables on-demand

information, content aggregation offers aggregating of disparate data dynamically from

different sources or services and converting it to a single presentation for the users’ pervasive computing device.

z

Customization and personalization. Customization and personalization solve individual user

preferences adds value to the overall user experience.

z

Multi-device capability. An impedance mismatch is apparent between devices in terms of

capability and support. Supporting existing and future devices is a challenge for any pervasive computing application. Applications should be able to handle multi-device profiles.

z

Web content and custom applications. Combining the use of both types empowers users

with a rich application and content delivery environment. This provides rich context information that is gathered from a wide range or sources, interpreted, and disseminated in a scalable fashion to end users [11].

z

Integration of services. Integration across heterogeneous protocols and services should be

seamless and unnoticeable to the user.

相關文件