Fill This Form To Receive Instant Help

Help in Homework

Interfacing with Cloud Data for Intuitive Real World Visualization

  • Words: 16910

Published: May 30, 2024

Abstract

Cloud service abstractions services are presently operating by hiding the fundamental complexity provided by the existing technologies as well as services, hoping to facilitate the enactment of Cloud involvement in the market. In specific, the management of information resources and systems that deal with many cloud service providers has the need to exhibit the uniformity of interface for multiple services and for building the wrappers used in the Cloud service APIs. In this study, we explore the solution to be adopted in the synchronization of appointment calendars in a centralized local cloud system shared between the students and the lecturer. This follows a recently implemented open-source service (platform-as-a-service) used for applications deployed between multiple clouds (Lewis 2002, p. 77). In the service, the middleware is a multi-agent application for automated administration of resources on the cloud (Phyllis 2013, p. 61). Using a modular design, the client solution will be provided on a Raspberry PI device, which provides a flexible technique for encompassing a new service through the cloud technology while offering a new type of resources. This paper is centered on the modules, which will support the resource abstraction and the automation management.

 

CHAPTER ONE

    1. Introduction

The interfacing of the calendar appointment system with the cloud data for intuitive real world visualization will use the intuitive embedded system in the daily life. The expansion of real- world interaction is rapidly relying on technology for the appointment and scheduling of activities. These activities range from elementary tasks like calculating numbers to the performance of high-end transactions such as the upload of assignments to the lecturer’s portal (Kerzner 2003, p. 21). The cloud technology and the embedded system will play an essential role. The interface will not have to be missing the great synchronization facilities and features. The lecturer and the students will be able to create their private and local cloud storage platform that they can control from any point as long as the cloud is globally accessible (Ted 2003, p. 18). With the own Cloud service, the lecturer and the students will get the synchronization files, work schedule information, notes, calendars, and updates on the raspberry PI interface. Incidentally, the whole process of the implementation will only take approximately less than five minutes to set it up. This study simulates the use of a cloud solution, specifically the Microsoft's Office 365 for scheduling the appointments between the lecturer and the students using their personal calendars. The connection is implemented through a wifi-linked Raspberry Pi, which is attached to the interior of the lecturer's office and synchronized with the cloud service through an application-programming interface (Kerzner 2003, p. 20). With this information, the Raspberry Pi will be able to show the lecturer's present availability to the externally mounted LCD out of the lecturer’s office. The small sensors on the raspberry devices are the remote control Switches. They are connected to the wide area network of the institution as well as the internet. This makes the cloud storage server accessible from any part of the world. The simple concept of the project is to apply a cost effective sensor network that will sample the information through wireless sensor and send on the own cloud local server. The local server will then be linked directly to the global cloud server, which is accessible from any location in the world.

    1. Aims and Objectives

The main aim of this study is to develop an application through readily available programming languages such as Python to be able to run on a Raspberry Pi. The Raspberry is intended to read the OwnCloud calendar information over the cloud and the entire institutional network. The appointment calendar will be part of the local deployment of the Owncloud, which exists in a different Raspberry Pi inside the same local area network. Secondly, it is intended to provide access to perform requests and responses activities on the appointment calendar application between the lecturer and the students through the secured HTTPS protocol without the authentication of the active SSL (Karniol 2010, p. 32). Even though the Raspberry Pi tool does not have enough competence to support a completely mature storage of the network resources, it will be relevant in situations with minimal amounts of data regardless of the little computers will serve as flexible hub for information storage. The third objective is to provide reliable security considering the risk of attacks of resources stored on the cloud platforms (Khosrow–Puor 2006, p. 23). The own cloud will enable the students and the lecturer to administer the security of the data in the local drives in the Raspberry Pi devices. The levels of authentication in the process of accessing the calendar application will be able to hinder unauthorized parties from accessing the cloud network.

    1. Scope

The whole establishment and implementation of the Meeting Scheduling system to operate with cloud storage. The application is to run on the Raspberry PI device, which comfortably supports programming in the Python API tool ((Turban et al 2008, p. 21). The cloud storage is to allow users to access necessary contact information, meeting, and appointment updates and to the corresponding scheduled reminders. Ultimately, the application is to allow the participants to experience seamless availability of the centralized cloud for efficient scheduling of appointments in line with the limitations of the virtual world. The web application is thus designed for supporting the schedules of meeting between the lectures and the students. The common data location in the cloud is to ensure conformity to the standard database integrity needs such that there are no conflicts in the schedules. The meeting schedules have associated process, all of which ought to be flexible, intuitive, and sequential. The user (students and lecturers) expect accurate, timely, and intuitive control of meetings and appointments.

CHAPTER 2 LITERATURE REVIEW

    1. Introduction

This project involves the use of a Raspberry device to implement a calendar and a reminder program. The hardware component is made up of the Raspberry Pi model, which is connected to three fundamental points, including the doctor’s calendar and buttons in the doctor’s office and a small screen outside the doctor’s office. The system will be made with a program code to make the Raspberry Pi connected to the doctor calendar run over 24 hours with his calendar on the screen showing the status of the doctor, whether he is busy or available, free and away from office.

    1. The Cloud Calendar

The calendar type preferred for this application is the local cloud because of the application of Office 365 with the cloud based synchronization and sharing of information. In the Office 365, the students and the lecturer will share and synchronize their mails, the calendar utility, and the various contact information between many Raspberry PI terminals. The advantage of the Office 365 platform is that it is Cloud Based. At the same time, users are signed in using their individual Microsoft Account to the Office. This is not necessarily the case as it depends on the version of the office being used, whether it is Office 365 used in Home application or Office 365 Business version. The two applications are “Cloud oriented” but have different forms.

From the review of the information on the use of cloud calendar (iCloud), some actions vary according to the location of the affected calendars (Yusuf, Gunasekaran & Abthorpe 2004, p. 41). The issues with the data based cloud Calendar include the inability to read certain cloud calendar data is the reoccurrence of vital calendar events including birthdays and public holidays, duplicated events (Deka 2014, p. 81). Another issue with the cloud calendar is the past calendar events that have already synchronized from other calendar clients (Ackermann 2012, p. 49). The preferred features on the cloud calendar include the ability to back up the calendar and the reminders information, temporary disabling of incompatible accounts, turning on and off the cloud calendar accounts, importing of calendars, removing unused and duplicate events.

Backing up of the calendars and reminders require following of the steps to archive and create copies of the local cloud data. The prerequisite is the back up of data before deleting and updating the data (Turban et al. 2008, p. 28). The calendars can be backed up one by one, with all the calendars data in the icloud section. With the local cloud calendar implementation, exporting of reminders require that they be saved with unique names. Apart from the icloud accounts including the Microsoft exchange and Google Calendar, the local cloud will support the disabling of the other accounts to prevent them from distracting and to avoid unintended modification of the data while conducting large scale updates. In todays’ technology, many institutions are progressively adopting cloud-oriented services like resource sharing and file storage. With the cloud-based services like the Dropbox services or the iCloud, there is much saving of cost because of the little or no need of maintenance services and construction of complicated infrastructure. The increase in adoption of cloud storage provides security to the data and increases the availability, but raises issues concerning the control of access (Woolf 2007, p. 31). The cloud owners ought to be in a position to track and observe the cloud services in its domain and identify unapproved interactions in the cloud services.

      1. History of Calendar Application

Calendar application started as a personal application developed by Apple Inc., which ran on two operating systems, the OS - X and the mobile-based iOS system. It provides an online cloud backup for calendars with the iCloud service belonging to Apple Inc. it can also synchronize with various calendar platforms and services, such as the MS exchange server system and the Google Calendar Application.

The OS-X operating system was or referred to as the iCal prior to the 2002 release of the OS-X Mountain Lion. It was initially available for free download for the Mac OS-X version 10.2 from September 2002. Later on, it was linked to the operating system as the iCal version 1.5 when Mac OS-X version 10.3 was released (Renée 2014, p. 45). The first calendar application was the iCal calendar application used in the OS-X to provide support for many calendars. It had the ability to conduct sporadic subscription to the calendars on the WebDAV servers.

The popular Google Calendar application is perhaps the simplest, most versatile the most intuitive way to schedule the day. According to Raju (1994, p. 72) and Stallings (2004, p. 54), the only challenge that users have is the synchronizing of the application with the hardware devices. This is simple with the Google Android. It is easy to view it with the web browsers on PCs and IPhones while synchronizing with various platforms. Synchronizing the Google account is progressively very difficult in the past few years because Google’s decision is to stop providing support to Google Synchronization for the standard accounts. This enables users to synchronize the Google accounts with the various hardware devices such as the Raspberry PI on the MS Exchange Active Synchronization protocol. Nevertheless, Google Inc. began phasing out the Sync starting from January 2013.

Presently, there is no way to synchronize the Google Calendar to operate properly with Outlook, the Calendar application in Windows 8 and the Live Mail services in Windows. However, the Google Calendar can be viewed in these applications. To enable the opening of Google Calendar in browsers, one opens the calendar settings from the drop-down list as demonstrated in figure 1 below.
Figure 1: Google Calendar in Browser

 

The calendar Application software is equipped with many features as shown below:

  • Calendar – The calendar shows dates and weekdays, months, years and time.
  • Address book – The calendar application has a list of contacts data with which users communicate with one another.
  • Appointment Attachments – The calendar enables users to attach files using the attachment feature, to appointment. The attached files are shared with other participantson the platform.
  • Appointment Schedule – the calendar has a list of appointments with the attendees for appointments. The software can include the ability to detect the conflicting schedules and notify the participants while suggesting alternative times for meeting.
  • Appointment Reminders – The calendar automatically reminds the participants about the future meetings.
  • Availability sharing – The calendar has a feature allows the sharing of the availability of participants.
  • Availability Checking – This utility checks whether the participants and resource calendars are available in the group or not.
  • Calendar Publishing – The calendar tools enable user to publish the selected calendar information from a public platform.
  • Calendar Export – The calendar allows users to export the chosen calendars in to many file formats, with the iCalendar standards.
  • Collaboration – The software is able to check schedules and propose meeting times to participants. This gives the invitees the opportunities to suggest times that work better for them, so that the organizer can pick meeting times suitable for all the participants.

With the introduction of Android phone in 2011, the calendar conveniently synchronizes casual backups on the cloud of all phone contacts in the online address book in Google. Google Calendar has been used for the management of vital agendas with the seamless synchronization with phone calendar. In the recent past, Google Calendar began to offer auto-complete ideas when entering the location of a new meeting and for better analysis of participants’ calendar entries. A typical calendar is expected to create, accept the insertion of new entries, update, and delete data in the cloud space. Nevertheless, Microsoft Office applications do not have a fully functional API and so does not have functions for developers to perform in the inbuilt calendar. Additional limitations to the API is the inability to editing and delete appointments and reminders To mitigate the limitations, the contemporary calendar apps such as the Week View access the application and the data from the web browsers. In the offline mode, synchronization with the cloud is eliminated, but access to the calendar data is possible because of the data storage in the personal smart phone. Adding appointment to the calendar is possible offline on the personal phone, until the phone is online the next time, when the data is synchronized to the live calendar. The power of synchronization with the cloud is that the whole process does not involve the developer’s effort; the Operating System does it all.

      1. Types of Cloud Calendar
        1. Google Calendar

Google calendar is an alternative cloud – based Calendar Application. Users are able to operate many styles and systems of the cloud calendars.at the same time, various calendars can be linked to different account types including the Google Calendar and the Microsoft Exchange platform (Chuzhoy, Ostrovsky & Rabani 2006, p. 32). The CalendarContract function is used to define the model of calendar data as well as the event linked information. The data is kept within many tables as shown below. Google Calendar having cloud storage is accessible in all devices as long as they are internet enabled and have powerful web browsers.

The Calendar Provider API is produced to become flexible and of high capability. Additionally, it is essential to offer a good experience for the end user and safeguard the integrity of the data in the calendar (Whitrow 2003, p. 18 - 20). For this reason, there are certain factors to remember when making use of the cloud API. These factors are discussed below.

The calendar directly inserts and modifies the events through the events in the Calendar Provider. Users require the appropriate permissions to perform these highly sensitive transactions.

However, if the user is not constructing a sync adapter or a complete calendar application, it is unnecessary to request the permissions (Silberschatz, Galvin & Gagne 2013, p. 23). The alternative is to use the intents and the support of the Android's Calendar App to handle the reading and writing to the application. While using the intents, the application will send users to the cloud Calendar app to conduct the operation of choice in a customized form. In the synchronization, smart phone presents and stores the synchronized information. However, all the events and resources for the Windows Live calendar are stored in the cloud. The same mechanism is used in the Google Calendar, Android and the iCloud (IOS) calendar App.

The appointments and events are made available in the calendar and the browser from any location as long as there is internet connectivity. The calendar will enable the users to view events directly from the Calendar Provider, as long as users have appropriate permissions (Richards 1998, p. 51). By designing the cloud calendar application to run on the Raspberry Pi Technology and perform the common operations, users are provided with a reliable and robust user interface for appointment and reminder messaging.

        1. Google Dropbox

The Google Dropbox is popularly recognized for the concept of data synchronization across multiple platforms. Many people do not prefer to present their synchronization to the host providers. They therefore turn to freeware methods as alternatives, including ownCloud solution. The ownCloud solution is operated on the Raspberry Pi platform. Nonetheless, the Google Dropbox storage model keeps all the data on all active devices synchronized, which is not an appropriate solution. If the synchronization condition incorporates data in a database, the Dropbox fails totally. Additionally, there is no option for synchronizing the active storage devices, files, and folders in the Dropbox. Instead, the synchronized information is transferred to all the devices. The Raspberry Pi can operate different and parallel synchronization solutions, which will not be intertwined with the shared resource.

There is an adequate storage space in the cloud for exchanging information in various forms. Nevertheless, it is recommended as the best practice of implementation of the appointment app to start with the basic version of the Raspberry Pi model. The Raspberry Pi needs to work with an active web server application such as PHP for all application solutions. To beginning of the process to turn the Raspberry Pi into a hub is by installing necessary programs with root rights though the sever side scripting. According to Phyllis (2013, p. 17), one can access Rasp Pi remotely without the need to SSH, DynDNS or VPN.

        1. Synchronization Adapters

The synchronization adapter is able to synchronize all the calendar data in the user's Raspberry Pi device to a different server or source of calendar data. In the CalendarContract.Calendars functional table, there are various columns reserved for use by the synchronization adapters. The same is true with the CalendarContract.Events tables. The provider and the cloud calendar applications do not update the data. In fact, they cannot be viewed except when accessible to the synchronization adapter.

Their Working Styles

The common working style of the Cloud Calendar App is the model with the calendar as the back end component of the application. The events are the user needs, found in the middle layer.

The front layer of the model contains the attendees, instances and reminders on appointments, which are the user services for organizing (scheduling) the events (Melanie 1999, p. 32). One Calendar serves multiple events. At the same time, each event involves multiple attendees, reminders and instances. The model of the calendar app is shown in figure 3 below.

Figure 3: Calendar Provider Model

 

User Permissions

The application is selective on the privileges to grant to the users. For example, in order for the users to read data from the calendar, the application should have the READ_CALENDAR function within the manifest file. Deletion, inputting and updating of data in the calendar requires that the application should have the WRITE_CALENDAR function.

The old versions of calendar applications were meant to operate on the Microsoft Software and Hardware through the Microsoft campaign of one PC for each desk (Yusuf, Gunasekaran & Abthorpe 2004, p. 29). Of late, the many intelligent devices, which are ever growing in sizes, have created the demand for a solution data exchange. In the present day, data synchronization is gaining popularity according to Yusuf, Gunasekaran & Abthorpe (2004, p. 46). A vital matter in the synchronization is the existence of many connections with a cloud server and at least four hardware devices including a desktop, a laptop, tablet, and a smartphone (Ramsborg et al 2008, 28). It is therefore sensible to have a synchronization server at the center, in the place of a point- to-point link to enable the data exchange to take place from one component to another asynchronously.

 

Figure 4: Central Synchronization Hub

 

Accessing the hub is always easy, but there is no access to single hardware devices. Furthermore, users do not have to work with different links, neither is there any need for the hardware devices going online concurrently to perform the data exchange (Meredith & Mantel 2002, p. 23). The computers supporting the data exchange hub must be efficient enough to sustain the production of heat and power. The Raspberry Pi, acting as a mini-PC, is a perfect choice of a foundation on which the synchronization server can be built. According to Phyllis (2013, p. 17), in the contemporary technology, many application users operate with NAS storages (Network Attached Storage) to store files and other forms of information. The increase in sizes of files and information raises the demand for the cloud services to supplement the required storage capacity. According to Yamal (2006, p. 20), this model system also cares for the synchronization functions such that separate synchronization servers are not necessary.

If the NAS operates on the trademarked operating system such as windows, there is no need for high performance of read and write since usually, there is minimal transfer of data over the link during the synchronization. All the services here operate simply on the Raspberry Pi through a mini router device, the TP Link, which can be used as a mobile device. However, the TP Link is slow (about four times slower than the Raspberry Pi), so the Raspberry Pi remains the best choice of a device for synchronization.

      1. Access
      1. Security
    1. Cheaper Community Computers
      1. History
        1. Raspberry PI

The Raspberry Pi technology started in the year 2006 when many ideal models of the Raspberry Pi microcontroller were constructed on the Atmel 8-bit ATMega664 engine. The second concept was developed after that, on the USB memory with the ARM processor, which resembles the present component of the Raspberry Pi (Raju 2003, p. 21). The development of the Raspberry Pi took 6 years, spent on the hardware design to make the Raspberry Pi in the contemporary technological field.

In the year 2011, about 50 boards of Raspberry Pi (the Alpha version) were constructed. The boards was slightly bigger than the present Raspberry Pi version to enable the Raspberry Pi base, to remove the bugs from the devices and check its performance and make sure it works as expected. In December 2011, about 25 beta Raspberry Pi versions were assembled and only one minor error was detected and corrected for the first time. The initial production round consisted of more than 10,000 Raspberry Pi boards produced overseas. Unfortunately, the challenge with the Ethernet jack was realized on the Raspberry Pi technology, the incorrect substitution with the incompatible components. This caused minor delays, but all boards of Raspberry Pi were availed in in weeks at the right time (Jacek et al 2001, p. 19). The Raspberry Pi foundation upgraded the Raspberry Pi Model A from a RAM of 128 MB to 256 MB. With the memory size upgrade, the Raspberry Pi performed outstanding works, including real-time processing of graphic data.

Presently, the Raspberry Pi is being produced in the United Kingdom (Raju 1994, p. 39). The coming of Raspberry Pi has faced great appreciation, with two original retailers, RS and Premier Farnell managing to sell out their first batches in a record period of just a few minutes (Woolf 2007, p. 31).

        1. Beagle Bone

The Beagle bone device, also known as Beagle bone black is similar to Raspberry Pi, almost a credit card size. The Beagle bone board features a wide spectrum of GPIO pins, two ports (USB and HDMI). Just like the Raspberry pi, it functions with operating system but its operating system comes already installed in the internal memory. It is therefore easier to setup compared to the Raspberry Pi. It is less preferred over the Raspberry Pi because of its slow speed and generally poor performance

        1. Yun

The Yun device, also known as the Arduino Yun is an interface device just like Beagle Bone and Raspberry Pi. The three look quite similar but their specifications are very different. The Arduino Yun is a microcontroller, a small component of a computer. The Arduino Yun is programmable in the C language, but it does not support the running of an operating system. In the contrary, Raspberry is a computer in itself and can run an operating system on its own.

The Yun is a device for developing prototypes and electronics systems. One connects LEDs, sensors and motors directly on the board. The central operating heart of the Yun is the ATMega3280P microcontroller.

      1. Design Characters
      1. GPIO
      1. Screen

The Raspberry Pi dominates the communication technology community with the deployment of the Raspberry Pi Zero. The latest component of the Pi family is the Zero, costing about £4 and still maintains the capacity of performance above the previous models. With the same specifications as the Raspberry Pi B+, the latest iterative model of the hobby-computing platform will enable users to develop micro-computing projects and storage of the communication data regardless of the growing sizes (Jacek et al 2001, p. 29). The advantage of the Raspberry Pi is not limited only to the experienced hackers with excellent knowledge. Its simplicity has enables schoolchildren at junior levels to develop inventive ideas, with the best being displayed at the annual Raspberry Pi Awards of the PA Consulting (Spieksma 1999, p. 57). This study rounds up the best features and capabilities of a Raspberry Pi to generate the potential producers some vital ideas. Most of the usages are designed by incorporating the low version models, but there is room for great improvement and adoption in the feature as higher models than the Raspberry Pi Zero models are being developed (Sheilds 2005, p. 48).

The Raspberry Pi models are used in various projects including the Xbox Zero, an improvement from the favorite Raspberry Pi Zero. Figure 2 below shows the model of implementation of the calendar application on smart phone with indirect connection to the Raspberry Pi devices.

Figure 2: Model of Scheduling App on Smart Phones

 

    1. Some Applications

Apart from the cloud calendar application, the Raspberry Pi is used in various other applications such as the sharable calendar available in Google cloud, and is able to operate on the Raspberry platform. At present, a user can send appointment and reminder messages directly from his or her Raspberry Pi device because of the online support. The only prerequisite is the installation of the latest model of the Raspberry Pi, and provision of a few code lines with a final step of confirming the registration through the individual’s mobile device.

      1. Build a Raspberry Download Hub

Through the internet, the users of the calendar app have an almost limitless storage repository for digital content. It therefore seems like downloads last forever to complete. Users can now resolve the issues of speed by routing the calendar appointment and reminder messages through the Raspberry Pi devices and the external storage locations as described by Chuzhoy, Ostrovsky & Rabani (2006, p. 62).

      1. Building Raspberry Reminder Platform

In the Raspberry Pi type is successful as an essential platform for conducting the learning process through scheduling reminders between students in the education in the field of Computer science. Apart from running on the Raspberry Pi, the application can operate on the latest models of smartphones.

      1. Building Remote Access on Raspberry

An advanced application exists in the information systems stores that operate remotely through distributed networks. The application access is scattered all round the hobby space with numerous Raspberry Pi devices, all doing diverse tasks. One may have local security framework powered by the Pi, or have a separate media center. Intriguingly, it can be a design from the use of a raspberry Pi to change an old wired printer into a wireless printer or by redeploying the application in a website hosting server.

    1. Similar Systems
      1. Introduction

This application is advancement from similar scheduling programs already existing in the market. The added features and functionalities in this program include customization of the schedules for monitoring the doctor’s status of availability. Additionally, the application running on the Raspberry Pi Platform will have a distributed access on multiple terminals, including portable mobile phones. The four optional platforms for application of this concept include the cheaper community computers, Raspburry pi, Beagle bone, and Yun

    1. Purpose of Similar Systems

The purpose of the similar systems is to provide the required design, the communication in natural language, to support the iCloud reminders. In the evaluation of the calendar apps, certain metrics have been set to help in evaluating the iPhone calendar applications empirically. The factors include the ease of viewing appointments, adding new events and other related services.

        1. Viewing Appointments

The desirable calendar application is one that quickens and eases the viewing of personal calendar and events (Meredith & Mantel 2002, p. 64). This implies that the app should provide different views, which users can easily switch between, to visualize events in helpful ways.

        1. Adding New Events

The desired calendar application needs to have a quick and simple entry of events. This implies that the application should have a great ability to parse natural language.

        1. Working with Related Services

The calendar application ought to be able to interface with other related services for synchronizing the calendar such as Google, iCloud, Exchange so that the application is stored in isolation in the local iPhone. Fantastical - 2 serves all the purposes mentioned and meets all the qualification of a great calendar application. It is recommended unconditionally for the iPhone users of every category. The views show events and can link to events as well as the iCloud appointment Reminders. The view of iCloud device is shown in figure 5 below.

Figure 5: Views of Icloud Interface

 

The second alternative application is the iOS Greatness. It is inherently equipped with a Today view widget for replacing the stock widget of the iOS Calendar. By enabling the Calendar feature for the Today widget, users can easily jump forward or backward from the Today view without necessarily getting into the app. The model of iOS Greatness is shown in figure 6 below.

Figure 6: iOS Greatness Model

 

iOS Greatness provides shortcuts for making new events, showing the existing reminders and searching for contacts and shared information in the cloud application.

The Agenda Calendar 4 has an “Agenda Mini” pane, an excellent feature used to create new events. Because all the events are found in a single calendar and there is a default alarm with a 15-minutes interval, the quick-entry “agenda mini” pane provides necessary simplicity.

Nonetheless, most of the app users who capture less than a single new event daily have a friction in the workflow of studying the interface. The model for Agenda Calendar 4 Application is shown in figure 7 below.

Figure 7: Model for Agenda Calendar 4 Application

 

The shift utility in the Agenda Calendar 4 Application makes it easier than other models to manage irregular work schedule. This is realized by creating the shift types, which can easily be applied to the calendar as stated by Miao et al (2001, p.17). Once the shift type is created, it is easy to input the work schedule in the calendar faster. After entering the shift types, the user enters the work schedule by simply selecting the preferred shift type and fixing it on the possible days (Gary 2001, p. 41). Users take as short as one minute to learn and adopt the input technique, and get the desired quality at the end. The model for Agenda Calendar 4 Application enables users to view event schedule in two modes, the calendar and list mode while adding notes to the days. The application can process many shift types in a single day, including the application of rotations for the regular types of shift (Woolf 2007, p. 42). The favorite feature of the application is the import of existing calendars after giving Shift permissions. It adds calendars from the Apple’s application such that users can view schedules in a side-by-side orientation. Essentially, shifts require certain preliminary commitment before its benefits begin to manifest. The customization in the model for Agenda Calendar 4 Application is lovely together with the color- coding, considering the display of events from external calendars. Because of the narrow scope, the Shifts cannot compare with or compete with Fantastical as the preferred calendar application for iPhone. All the smart phones used in this project must be internet enabled and have at least one of the recommended web browsers.

CHAPTER THREE:

 

METHODOLOGY

Planning and requirement analysis for the solution

    1. SW Requirements and Specifications

The software required for the design and development of the Cloud Calendar includes the development environment, which incorporates PHP, Java Script IDE Tool, and Python. The application database therefore can be operated on an easily portable database management system, preferably MySQL, to be able to drive web pages. For documentation and presentation purposes, the application requires office 365 applications such as the MS PowerPoint and MS Word and MS Exchange.

      1. OS Interaction with the Raspberry PI Applications and Systems

Three different flavors of Linux intuitively interact with the Raspberry Pi Applications, the Pidora, Archilinux, and Raspian. Among the Linux versions, Raspian is the preferred Operating System for the Raspberry Pi. Other operating systems include the OpenElec Operating Systems, an optimized OS for X-Box Media. More than 10 operating systems exist, which can be mounted on the Raspberry Pi to start it in preparation for the general-purpose operation of computers. All of the OS systems are inherently equipped with essential applications and have special features, which support the intuitive interaction with cloud resources (Silberschatz, Galvin & Gagne 2013,

p. 57). The selected operating system preferred for the Raspberry Pi application is the Raspbian OS an open source Debian-related Operating system, with full optimization for interacting with the Raspberry Pi hardware. It is equipped with the fundamental utilities and application programs expected from common general operating system. It is guaranteed full support from the Raspberry foundation and is generally synonymous with a high level of performance with over 35,000 packages.

      1. Web Browsers

The web browsers recommended for the project include Internet Explorer, Google Chrome, Mozilla Firefox, Safari, and Opera.

      1. APIs
        1. Java Script

There are several options of APIs for the Raspberry Pi. One of the preferred APIs for the cloud- based application is the Node.JS, which can be used as the back-end server-side tool for constructing one-page or client-server web-based applications. The Java Script platform in the Raspberry Pi will provide the asynchronous and event-oriented programming models. This implies that it can be coded both in the front-end interface and on the Raspberry Pi server side backend in Java Script.

        1. AJAX and JQuery

Ajax is a powerful technique for developing web application, making them interactive through Java Script. With AJAX, all the user requests are relayed directly to the server through the XMLHttpRequest objects. The user receives response through the Java Script code to change the presently active page. The Ajax request can be implemented interactively with the jQuery request in the client application.

      1. Programming Languages

The Raspberry Pi application can be produced from a large number of programming languages, either at the development stage or during the implementation by the users. The users require languages of their choice in the Raspberry Pi. The programming languages for the Raspberry Pi include Python, PHP, Java, C, C++, and Ruby. All the languages together with Scratch are installed by default before its acquisition to the Raspberry Pi platform.

The recommended programming language by the Raspberry Pi Foundation is Python. Python is a simple programming language to learn for beginners. The Pi component of the Raspberry Pi system is originally from the Python language, such that the very concept of programming is incorporated into the device identity. Scratch on the other hand is considered an entry-level language, a recommendable tool that spread with the Raspberry Pi operating System, specifically Raspbian.

All programming languages, which compile successfully for ARMv6 are interoperable with the Raspberry Pi system, however, the development of this application is not restricted to the use of Python. A significant number of programming tools have been established for interfacing with the Raspberry Pi device. However, because of the tasks of development, priority is given to PHP, Java, and Python. Still, there are other programming languages including C++, C, Java, Ruby, and Scratch. Raspberry Pi comes with all the languages already installed in it. According to the Raspberry Pi foundation, Scratch is suitable for young learners due to its support for web-based games. The other supportive languages for development include HTML 5, Perl, and Erlang. The development will be done on the client-server platform, with the server being the Raspberry Pi devices. For the build purposes, there will be need for creation of three Java Script files in the Raspberry Pi as follows:

  • Server-Side Java Script file
  • Simple HTML page
  • Client-Side Java Script file

Server-Side Java Script

The server – side script named myapi.js will be using the Node together with the Express utility to generate a simple functional features and qualities for the web server.

Simple HTML page

The HTML web page is required as index.html page. The browser will load the page from the Raspberry Pi and use it to condense the presentation layer in the application.

Client-Side Java Script file

The client – side Java Script file is required as myclient.js. This is a Java Script code used within the web browser as the simple HTML page is loaded. The Java Script codes in the file implement the functionalities of the AJAX client, calls the API, and then concentrate directly on the results, which the HTML web page displays.

      1. Links

The Raspberry Pi is a great application, and has a number of links to external commands in a strategy to boost its power. It uses instructions from user-based commands to produce high capability clusters. This implies clustering a most of the Raspberry Pi apps are not entirely cheap, but are useful in boosting the already existing Raspberry Pi apps. A minimum of two Raspberry Pi devises will be needed for boost. From the basics set up on the Raspberry Pi, necessary link is needed between them and the user commands to establish a more powerful cluster in the computers. The resulting level of performance will not be overwhelming to any modern computer. In the contrary, it will provide an extra enhancement for the finishing off the application development project in the programming languages. One way of creating the links is by placing them on the HTML web pages with objects that are easily recognizable to the users (Sheilds 2005, p. 62). For example, the link to the address book of the users can be created using a graphical image of a book. The second way to create the links is by use of interactive pop ups through Java Script, JQuery and Ajax tools.

      1. Supporting Application SW

One of the supportive software tools required for the development, test, and implementation of the application is the Office 365, which provides improved features for the intuitive interaction with the Raspberry Pi. The Office 365 applications are split into two categories in the software requirement specification, Home and Office Applications. The two categories are both Cloud Based system services, serving the Software-as-a-Service (SaaS) functionality. The service is subscription-based, so it does the delivery, installation, and updating of the most recent versions of the Office Suite through the Internet. The special method of streaming the tasks is the internet based “Click-to-Run”. The application of the commands in the Office 365 is limited to the software but not the storage of data. This means that there is no synchronization of anything back to the cloud, if the Office 365 platform is configured for Home operation (Silberschatz, Galvin & Gagne 2013, p. 55). However, the mail can possibly be combined the calendar and address book to leverage on the synchronization between the mail account to the cloud such as the mail - based IMAP, Outlook with mail, addresses, tasks and calendar) or the Full Mailbox Exchange account (Ackermann 2012, p. 24).

Office 365 is purely configured for Business unlike the home based Office 365. The added advantage of it is the capability to keep the actual users’ data within the cloud. Outlook uses the Exchange Online to as the component in Office 365 Business platform to store user information and communications in the cloud.

As already mentioned, the Exchange account synchronizes all mailbox information through the cloud with all the computers having the installation of the Office 365 Outlook. The cloud data is also accessible and can be synchronized in a practical sense through any compatible device such as smartphones and tablets. Alternatively, the synchronization can be done through a web browser. A complete configuration of the Office 365 platform for Business includes the licensing of the most recent release, the Office Professional Plus according to Phyllis (2013, p. 16) and (Ackermann 2012, p. 25). This release is provided in a like manner to the home based Office

365. The required high quality performance in the synchronization demands strong web browsers on which the Outlook 365 will operate efficiently. In that regard, the preferred web browser for the synchronization is internet Explorer version 8 or 9, Mozilla Firefox or Google Chrome.

    1. HW Types, Requirements and Specifications

As already mentioned, the implementation of the Raspberry Pi app requires a Raspberry Device (smartphone family), server machine (to be user as the cloud storage), tablet, laptop, desktop and the synchronization server. Other components of the network required include the Ethernet Cable, SD Card with the installation of the Raspbian Operating System, and a Micro USB Connection cable, tactile pushbutton, Raspberry Pi, non-soldered breadboard and multiple jumper wires.

      1. Raspberry Pi Device

The project works with the raspberry pi, which requires a HDMI / AV screen for display. Local network server with the displays can be synchronized with laptops belonging to individual users as the display unit to the Raspberry Pi device. The Raspberry Pi device also referred to as the “Pocket-Size Personal computer, is instrumental in debugging and operation of projects. It is uncomfortable to carry, so the added screen makes it less portable. Another challenge expected with the Raspberry Pi is the difficulty in accessing the HDMI display. The solution to the two challenges is to create easy connections between the raspberry pi device and the laptop display. The view of Raspberry Pi device is shown in figure 8 below, connected to its relevant slot in the personal computer. The optional components needed to set up the connection for the first time include the HDMI or AV Display and an input device such as a mouse or a computer keyboard.

The Raspberry Pi as shown in figure 8 below is a powerful one-board Linux-based computer, which allows the creation of a number of programming projects as well as electronic devices.

Figure 8: Connecting Raspberry Pi Device to Computer

 

For the connection of the raspberry pi to the laptop screen, we require use a normal 100 MB per second Ethernet cabling. The desktop GUI Interface of the rasp pi is observable through the laptop display with the Ethernet link. The software programs needed for the connection of the laptop and the Raspberry Pi are accessible from the cloud. At the same time, the VNC network server application can be used when linking between the Rasp pi and the laptop. Installation of the VNC network server on the Raspberry pi enables us to observe the raspberry pi desktop from a remote location as though we have the Raspberry Pi in front of us. The input devices can be either a computer mouse or a keyboard or both. This also implies that it is possible to put the Raspberry pi at any location in the home, and control it remotely. Additionally, the internet connection is sharable from the laptop Wi-Fi via the 100Mb / s Ethernet cable. This also makes it possible to access the internet from the Raspberry pi and link the raspberry pi to the laptop display.

        1. Screen

Raspberry Pi will require a display unit with a Touchscreen Calibration capability and the Screen Rotation. As already mentioned, the installation of the LCD touchscreen is done on a Raspberry Pi board. What follows is the adjustment and rotation of the LCD screen to the landscape mode. At the same time, the touch screen pointer has to be calibrated to gain the optimal accuracy.

During the calibration, the touching the screen shows no correspondence between the finger movement and the pointer. Clearly, the drivers of the LCD screen have different settings from those of the controllers of the touchscreen. The drivers have to be in their rotation to correspond to the LSD screen driver rotation.

Before we move to join the raspberry pi to the laptop screen, we will have to avail with a pre- installation of the Operating system. If the card does not have the operating system, then the process of installing it becomes the priority (Raju 1994, p. 41). The SD Card is then inserted into its slot in the raspberry pi device. Powering will then be done by connecting the raspberry pi to the USB cable. The Ethernet cable serves the purpose of connecting the raspberry pi device to the laptop, which has a mouse and a computer keyboard. In the first time connection, we use the HDMI display for connection, but it will not be needed again.

        1. Buttons

This buttons and switches send instruction and information to the Raspberry Pi. The rasp pi application runs when the “Go” button is pressed. The buttons are the General Purpose Input and output (GPIO), a double inline connector. To operationalize the devices, the Raspberry Pi is integrated to the Python programming techniques, with standard settings for the Debian operating system (Linux Distro), already installed in the SD card. In the introductory project for constructing the Raspberry Pi digital controllers, the programmable system is developed in python scripting with pushbutton switches to the Rasp Pi reading its working status.

The programmable button and switch are easy to construct, so they do not need so many electronic objects. The Physical on / off buttons and switches is mounted on the Raspberry SD Card.

      1. Server Specification

The server for the local area network in this application is preferred with a high capacity of local drive. This is because of the massive installation and the management multimedia data of large sizes. The minimum recommended features of the server are listed below:

  • Hard Drive – 1 TB
  • RAM – 4GB
  • Processor Speed - 3.2GHz
  • Screen Size - 18 inches
    1. APIs

The applicable API tools and methods for the cloud - based application include Java Script, JQuery, Ajax, and to a minor extent, Perl.

    1. API References
      1. Java Script

Java Script is one of the web scripting tools that function along with the basic HTML pages to apply interactive properties to websites. Java Script works more like the HTML5 and the Cascading Style Sheet. Java Script also applies client-side scripts on the web browser. With this, applications can drive rollover buttons as well as drop-down lists apart from arithmetic computations on the web browser. The best of Java Script is experienced in AJAX, which is an optimized combination of Java Script and XML.

There are two major functionalities desired in the Java Script. First, it the script needs to run whenever it is executed, not necessarily when the application page loads. The second functionality is that it ought to pass variables and values of its features and operations to Python Scripts, for example, the slider. When the page is loaded, the test python code is expected to execute correctly, and the hardware controlled by the Raspberry Pi should be under the right control.

      1. AJAX

AJAX is the short form for Asynchronous Java Script and XML. It refers to an assembly of tools that activate web pages by applying animation to make them interactive. The cloud-based Raspberry Pi application has to be constructed with a collection of functionalities to do specific AJAX tasks. The libraries of functionalities can be in form of JQuery or MooTools. The interactive behavior supports by Ajax will thus add meaning to the posts of communication through the raspberry using a web browser on a portable smart phone. Our goal is to turn an LED connected to the Pi on and off, by accessing a web page on the phone's browser. Both the smart phone and the Raspberry Pi device are located in the local Wi-Fi network.

      1. JQuery

JQuery is a collection of Java Script codes, each performing a specific task. Their execution requires a requisite Apache web server and the jQuery application, to support the running of both jQuery scripts and PHP server side scripts. There is no possible interpretation of the jQuery scripts except with the necessary libraries. Setting up the jQuery API is simple, just similar to that of other servers. The jQuery software is readily available for free download, after which it is linked to the scripts in the library. JQuery is synonymous as a Java Script library, with its execution of functions on any browser and its simplicity of HTML scripting. The Raspberry Pi application from jQuery will therefore have rich web - based interfaces as well as interactive elements with little Java Script knowledge.

    1. Working Style

The implementation of jQuery API tool begins from the running of the web server on the Raspberry Pi. This implies the use of a simple and beautiful framework of Bottle web, which is constructed with one source code file. The next step is the process of gaining access to the LED controlled web pages, which displays a control button. The button is clicked to execute the jQuery AJAX program. This sends user requests from the client to the active web server. The web server then changes the state of the GPIO pin, which then sets the LED on.

    1. PI

The design of the Raspberry Pi is purposefully set up to encourage the learning of the working mechanisms of the code. In fact, the Pi component of the Raspberry Pi originates from Python programming language and uses a number of Python based functions. It is inherently equipped with features of the Python programming language. For this reason, the concepts of programming are written into the computer name. Within the period of existence of the Raspberry Pi system, it has been integrated with a large number of programming tools. Still, the rich endowment of programming languages communicates masses of information considering the exciting coexistence that is gradually developing around the Raspberry Pi. The coexistence and interoperability with programming languages are pointers to the fact that with the available online support, Raspberry Pi has a promise for better integration with Cloud Data for Spontaneous visualization of the Real World. The languages available for programing on the Raspberry Pi include Scratch, Python, HTML 5, Java Script, jQuery, Java, C, C++, Perl, and Erlang. However, the requirement specification for this application is only limited to Python, HTML 5, Java Script, jQuery, PHP, and basic HTML. Python is the best and the principle programming language for the Raspberry Pi platform. The tool is preferred because of its interactive capability through the GUI interface and the ability to execute programs on web browsers. Apart from the basic HTML for basic web page display, HTML 5 adds interactive features just like the Java Script and jQuery. The most recent version is the HTML5, whose radical redesign enables the embedding of multimedia data including videos and audio on webpages. It also simplifies the writing of applications that run on smartphones and tablets. The main aim of the HTML5 is offer the ability to support multimedia, and to simplify coding for machines. HTML5 coding does not require long lines of codes. It is clearly descriptive and creates straightforward effects instead of writing many small blocks of codes.

    1. API

Just like in shell scripting, Python API will automate certain tasks including renaming of batch and the removal of multiple files. The application will need to drive useful objects with Python. The Python API will facilitate the programming of special graphical user interface objects, the web application interactivity, desktop applications and the cloud-based database. Python API is equipped with libraries that quicken the process of development. The most desirable components of the rich library are the GUI interfaces, scientific calculations, and the interactive web interface for cloud requests and responses. Even though most of these functions can be conducted in C, the application is not based on intensive computation, so, the Python API is the ideal language for developing application prototypes.

    1. Preferred use of Diagrams

The application interfaces with Cloud Data to experience an intuitive visualization of the by implementing two distinct segments, the server side and the client side. As illustrated in figure 9 below, Raspberry device receives data from the local device and sends it to the virtual server (the cloud data storage). The server receives data and stores so that all users can access them using their smart phones through the request and response mechanism. Users can then view reports and detail of event schedules, the pending meetings and expected reminders.

Figure 9: The Working Sequence of the Application

 

In essence, the cloud contains a number of storage media as shown in figure 10 below, with the overall architecture of the clients and serves. Figure 10 below shows the central cloud being surrounded by the client devices including the LAN server, laptop, desktop, tablet, and smart phone. The cloud storage is the hub for much information, including the application database, the communications, collaboration, and general news.

  1. Designing the Solution
    1. Layout of the Cloud Connection

The graphical user interface will be developed in HTML web pages executed inside the Python program. From the Raspberry Pi side, the python program is coded to collect the information from the local server in which it is fixed. The python program then sends the information from the Raspberry Pi to the cloud server. User devices use web browsers to with the client-based requests to query the server html pages. The cloud server thus sends the response to the interactive HTML interface to facilitate the scheduling of the meetings and appointments. The solution is designed as shown in figure 10 below.

Figure 10: Interfacing with the Cloud

 

The cloud-based database will be the location of storage for organizing the meeting data. The interactive system will communicate with the mail client to assist the inter-user information exchange. In the design layout, it is clear that the local servers are outside the cloud, and is separate from the cloud database. Installation of the application is done in the local server, but the database resides in the cloud domain for all the users to access from various locations and devices.

    1. Components

The application uses two computing technologies, cloud computing and web based client – server technology. Figure 11 below demonstrates the working of the components that make up the whole application and its service sequence in the cloud.

Figure 11: Components of the Intuitive Visualization Interface

 

    1. User Interface Prototype

The web user interface for the calendar will be available through a standard web browsing and will demonstrate the scheduling system view. The appearance is of the application in figure 11 below shows the prototype of the expected software for encouraging easy usage by the users. As the Python script sits in the Raspberry Pi device, it can easily synchronize to the Google Calendar and the online user contact services. With the Raspberry PI on a personal cloud in a personal smartphone, the synchronization extends beyond the local cloud to the general Google cloud server in which all contact information exist.

Figure 11: Scheduling of Meetings

 

Figure 12: Pending Invitations

 

    1. Intuitive Real World Visualization

The system users need to experience the real world by using familiar objects, as it is typical with actual scheduling of events, meetings, and activity planning in the real world. This implies that users will require a requisite familiarity with the web browser behavior and cloud operation.

    1. External Interface Requirements
      1. User Interfaces

All interfaces with the scheduling system will be set to interact through the web-based interface. The HTML and API services require a secure interface that allows access only to the users in the active directory. Additionally, the application has to communicate all errors and inconsistencies detected in the system operation such as the possibility of conflicting meetings, selection of invalid days such as holidays and double invitations. The web interface layout will be set to comply with the standard 1024 by 768 resolution of the display screen as recommended by Silberschatz, Galvin & Gagne (2013, p. 55).

      1. Hardware and Software Interfacing

The application will interact with the web server from the physical LAN server and with the database through the server. Further system interaction with the cloud will be managed by the operating system as well as other supporting components of the application. The interactive application will generate standard API utilities to enable third-party applications access data without restriction from the interactive platform.

References

  • Ackermann T 2012, IT Security Risk Management: Perceived IT Security Risks in the Context of Cloud Computing. NY: Springer Science & Business Media. pp. 136.
  • Chuzhoy J, Ostrovsky R, & Rabani Y 2006, "Approximation Algorithms for the Job Interval Selection Problem and Related Scheduling Problems". Mathematics of Operations Research 31 (4): 730.
  • Deka, G C 2014, "3 Security Architecture for Cloud Computing". Handbook of Research on Securing Cloud-Based Databases with Biometric Applications. IGI Global.
  • Doggett, LE 1992, "Calendars", in Seidelmann, P. Kenneth, Explanatory Supplement to the Astronomical Almanac, University Science Books.
  • Gary H, 2001, Project Management (The Briefcase Book Series). NY: McGraw-Hill. Jacek B, Ecker K H, Pesch E, Schmidt, G & Weglarz J 2001, Scheduling computer and manufacturing processes (2 ed.). Berlin: Springer.
  • Karniol R 2010, Social Development as Preference Management: How Infants, Children, and Parents Get What They Want from One Another. Cambridge: Cambridge University Press. p. 32. Kerzner H 2003, Project Management: A Systems Approach to Planning, Scheduling, and Controlling (8th ed.). NY: Wiley.
  • Khosrow–Puor M 2006, Emerging Trends and Challenges in Information Technology Management. Cambridge: Idea Group, Inc. p. 86.
  • Lewis J 2002, Fundamentals of Project Management (2nd ed.). American Management Association, p. 76.
  • Melanie P 1999, Fabric Magic, Paris: Frances Lincoln ltd. p. 24.
  • Meredith J R & Mantel, SJ 2002, Project Management : A Managerial Approach (5th ed.). Wiley.
  • Miao G, Zander J, Sung KW & Slimane B 2001, Fundamentals of Mobile Data Networks, Cambridge: Cambridge University Press.
  • Phyllis KC 2013, Celebration of Success. Bloomington, Indiana: AuthorHouse. p. 26 Popescu C M 1995, Project Planning, Scheduling, and Control in Construction, p. 522. Raju C K 1994, Time: Towards a Consistent Theory, NY: Springer.
  • Raju C K 2003, The Eleven Pictures of Time, SAGE Publications Pvt. Ltd.
  • Ramsborg G C, Miller B, Breiter D, Reed BJ & Rushing A 2008, Professional meeting management: Comprehensive strategies for meetings, conventions and events 5th ed, Dubuque, Iowa: Kendall/Hunt Publishing.
  • Renée J C 2014, Science Unshackled. Johns Hopkins University Press. p. 14.
  • Richards EG 1998, Mapping Time, the calendar and its history, Oxford University Press. Sheilds M G 2005, E-Business and ERP: Rapid Implementation and Project Planning. NY: John Wiley and Sons, Inc. p. 9.
  • Silberschatz A, Galvin B P & Gagne G 2013, Operating System Concepts, NY: John Wiley & Sons Inc.
  • Spieksma F C R 1999, "On the Approximability of an interval scheduling problem". Journal of Scheduling 2 (5): 55–57.
  • Stallings W 2004, Operating Systems Internals and Design Principles (fourth edition). NY: Prentice Hall.
  • Ted K 2003, Project Management: Tools and Trade-offs (3rd ed.). NY: Wiley.
  • Turban et al, 2008, Information Technology for Management, Transforming Organizations in the Digital Economy. Massachusetts: John Wiley & Sons, Inc., p. 32.
  • Whitrow G J 2003, What is Time?, Oxford: Oxford University Press.
  • Woolf, M B 2007, FASTER Construction Projects with CPM Scheduling (1st ed.). NY: McGraw-Hill.
  • Yamal C 2006, Professional Project Management, The Guide (1st ed.). Monterrey, NL MEXICO: McGraw Hill.
  • Yusuf Y, Gunasekaran A & Abthorpe M 2004, "Enterprise Information Systems Project Implementation: A Case Study of ERP in Rolls-Royce," International Journal of Production Economics, 87(3).

Get high-quality help

img

Anne Moss

imgVerified writer
Expert in:Information Science and Technology

4.5 (352 reviews)

Awesome! You did an excellent job with each question, and I love the examples you gave to support your arguments.


img +122 experts online

Learn the cost and time for your paper

- +

In addition to visual imagery, Cisneros also employs sensory imagery to enhance the reader's experience of the novel. Throughout the story

Remember! This is just a sample.

You can get your custom paper by one of our expert writers.

+122 experts online
img