A Middleware Application Framework for IOS

Total Page:16

File Type:pdf, Size:1020Kb

A Middleware Application Framework for IOS A Middleware Application Framework for IOS David Alfred Ostrowski System Analytics Research and Innovation Center Ford Motor Company Abstract perspective of an application interface or extension of ETL-based design to support integration to cloud- For optimal utilization of pervasive architectures, a based resources [11][12]. Semantic web technologies comprehensive approach to the management of all have also been developed in support of a completely available resources must be considered. We examine ubiquitous environment. While providing a solution three categories including service-orientated to connectivity and integration in the enterprise they architectures (SOA), human machine interface (HMI) have not taken over as a dominant technology [14]. access to existing legacy applications and integration Despite these efforts, there are currently no IOS in of informational resources (e.g. file systems). To this general use due to three main reasons: 1) Users have goal we present an internet operating system (IOS) invested much in their application software, which architecture designed as a middleware application often meets their current problem solving needs. Due relying on a Representational State Transfer (REST) to this investment they will not adopt a new operating – based approach.. Our framework relies on a novel system that will not run their applications, whatever incorporation of a number of open source advantages it offers [15]. 2) Users tend to maintain a technologies including a document-orientated high degree of control as well as autonomy for their database and server-side Javascript. Initial machines even in a tightly knit organization [16]. 3.) experiments have demonstrated that our approach Performance also remains a concern, as there still is performs effectively among the dynamics of our an order of magnitude difference between transfer environment. times on a local architecture as compared to a network [17]. This paper defines an IOS-based architecture as a 1. Introduction solution to identified issues within the specified Networked computers have slowly gained domain. The paper follows in Section Two with a capability in the area of heterogeneity and review of prior work performed in this area. Section transparency. Recently, high speed internet Three outlines our architecture and Section Four technologies have accelerated access between provides a conclusion with future considerations. disparate architectures. The most popular implementation has been in the form of cloud 2. Current Research computing with users working with global storage Work attributed to IOS design was originally and software [1][2][3]. This approach has proliferated considered from the perspective of resource into the support of a complete web based operating management with many of these original objectives system which includes a file system, file remaining relevant. Jade was an early example of an management, production and communication architecture which provided a uniform way to name applications [4]. and access files in an internet environment [18]. (Rao The concept of a distributed OS has been in et. al.) proposed the extension of the scope of file existence for a long period of time from earlier systems from LANs to the internet, encouraging efforts including Amoeba, Chorus and Clouds collaborations and information on a broader scale operating system [5][6][7]. Newer environments [19]. (Liu and Dempsey) presented an Internet including Rebol, cloudi and eyeOS have supported resource management system with multiple facets accessibility between platforms thus overcoming the that provided tailored functions and associated user limitations of traditional client-server architecture interfaces to a hierarchy of users [20]. (Anderson et. [8][9][10]. Other current applications have taken the al.) supported the development of a global namespace discovery and integration. By following design for the means of supporting a file-system grid. [21] patterns of ETL architecture, views could also (Kumar et. al.) considered peer-to-peer distributed support filtering of data between existing data architectures to support scalability [22]. sources to provide higher level applications. Applications have driven the design of IOS in particular with work supporting the migration of 3.1 Data Flow legacy–based applications to virtual distributed Figure 1 shows the overall software architecture environments. Among them, (Beaty et.al.) examined from the perspective of a data flow. Here we installation, configuration settings and security issues designate three layers: 1) the client 2) our IOS regarding the movement of the applications from the prototype architecture and 3) the legacy environment. desktop to the cloud [23][24]. Pervasive Considering the start from client interaction, an environments have also largely influenced the HTML / javascript page served by a document development of IOS including [25][26][27][28]. database is utilized to invoke a resource. Each SOA technologies have also moved forward resource would in turn be routed through the database concepts of distributed OS with integration of proxy returning data directly to the client from a software lifecycle, transition plans between backend tier. conventional architectures and integration of In the first scenario (a) , the data flow is a direct semantics into user level design [29][30][31]. While communication from the client to an established initial web service implementations such as XML- REST resource. Correspondingly, updates from a RPC and SOAP , were originally designated in such client to the service could be directly routed through designs, REST-based architecture has gained the database. In the second scenario (b), a migration popularity due to its efficiency, brevity and support process would be supported for legacy applications of rapid prototyping [32]. To this end, it has thus requiring the decomposition and wrapping of a proliferated in many environments as well as in novel legacy system to be supported by a server. distributed applications such as Amazon web services Minimally, this would require an existing interface to [33][2]. be separated from the server component. Here, we Designed around REST-based philosophies, a consider this be served independently from the legacy number of projects supporting document-oriented application and invoked in a REST format from the databases have proliferated including couchDB , AJAX calls by a client (routed through the database). mongoDB and SimpleDB [34][35][36]. In particular, In the third scenario (c), resources such as file couchDB (frequently with server-side javascript) is systems could be established in a served environment described in implementation of distributed with identifiers distinguishing individual resources. applications [37]. AJAX/ REST implementations also Here, we would rely on single URLs supporting have been identified as suitable means for lightweight multiple resources extended through the addition of distributed applications [38]. unique identifiers for each handler. 3.0 Methodology a. b. c. Legacy Our position is that document-orientated database WS File system 3. Legacy application environment architecture can be leveraged to support the design of IOS. By supporting a REST-based philosophy, HTTP server server can be used directly to support this transition. This could be designed and tested incrementally across distributed resources thus allowing for 1) co- Documentation-database existence with current operating systems 2) fast server prototyping and 3) flexibility in implementation. Our 2. IOS application software architecture is presented from the perspective of our three identified domains. Here, each individual client would perform discovery, 1. client testing and integration of all accessible resources Figure 1.0 data flow diagram. within a desktop or mobile application. In this plan, the document database assumes the 3.2 Testing role of an application server supporting an MVC- Relying on a REST-based architecture, three influenced architecture. Here, resource descriptions distinct layers (client, database and backend-tiers) are are established as documents from which views identified supporting an independent testing process. would be created to support activities such as This allows for flexibility in incremental testing among the legacy environment. In the context of our Our service contract will exist as a document to be architecture, resource information along with testing published within the database. The process starts with logic is tightly coupled as they reside in the same the publication of each services contract. Step two application. Here, testing activities could be (supported by an application developer) is where the managed by views, with semantics to be directly registry documents would be scanned to identify the represented in URLs vs. reliance on Web Service most effective match. Step three involves the basic Description Language (WSDL) definitions such as in understanding of the use of the service. Step four traditional Simplified Object Access Protocol represents the extra work that is necessitated to (SOAP) implementations (Figure 2.). In this determine how to implement the service. Finally, step environment, tests can be supported at three five involves service construction. incremental levels: 1) service invocation from a utility (such as curl) 2) direct invocation routed 3.4 Security through the database or 3) GUI (browser) level tests While AJAX-based implementations
Recommended publications
  • JETIR Research Journal
    © 2018 JETIR October 2018, Volume 5, Issue 10 www.jetir.org (ISSN-2349-5162) QUALITATIVE COMPARISON OF KEY-VALUE BIG DATA DATABASES 1Ahmad Zia Atal, 2Anita Ganpati 1M.Tech Student, 2Professor, 1Department of computer Science, 1Himachal Pradesh University, Shimla, India Abstract: Companies are progressively looking to big data to convey valuable business insights that cannot be taken care by the traditional Relational Database Management System (RDBMS). As a result, a variety of big data databases options have developed. From past 30 years traditional Relational Database Management System (RDBMS) were being used in companies but now they are replaced by the big data. All big bata technologies are intended to conquer the limitations of RDBMS by enabling organizations to extract value from their data. In this paper, three key-value databases are discussed and compared on the basis of some general databases features and system performance features. Keywords: Big data, NoSQL, RDBMS, Riak, Redis, Hibari. I. INTRODUCTION Systems that are designed to store big data are often called NoSQL databases since they do not necessarily depend on the SQL query language used by RDBMS. NoSQL today is the term used to address the class of databases that do not follow Relational Database Management System (RDBMS) principles and are specifically designed to handle the speed and scale of the likes of Google, Facebook, Yahoo, Twitter and many more [1]. Many types of NoSQL database are designed for different use cases. The major categories of NoSQL databases consist of Key-Values store, Column family stores, Document databaseand graph database. Each of these technologies has their own benefits individually but generally Big data use cases are benefited by these technologies.
    [Show full text]
  • Implementation of the BOLARE Programming Language
    Implementation of the BOLARE Programming Language Viktor Pavlu ([email protected]) Institute of Computer Languages, Vienna University of Technology, Argentinierstrasse 8/E185, 1040 "ien, Austria ABSTRACT REBOL is a very flexible, dynamic, reflective programming language that clearly differs from the dynamic languages currently in popular use! The idea behind REBOL is that different problems should be attacked with different languages that have varying levels of granularity, each specifi- cally tailored to its problem domain. These domain-specific languages should give the program- mer the power to #rite programs that are closer to the problem and more expressive, thus shorter and easier to read, maintain and extend than would be possible in today’s dynamic programming languages. Despite its promising features, REBOL has not gained wide acceptance. Above all, this is due to the following: )*+ The language is merely defined by means o its only implementation, ),+ this implementation is closed-source and has many flaws, and )-+ the flaws are here to stay! .e therefore started project BOLARE. Aim o this project is to build an interpreter for a lan- guage that very closely resembles REBOL but leaves out all unintentional behavior that only stems from artifacts of the original implementation. After an introduction to REBOL/BOLARE in general, the three areas currently being #orked on are presented: Parser Generator: REBOL has a large set o built-in datatypes that have their own literal form making it easy to embed dates, times, email-addresses, tag structures, coordinates, binary data, etc. in scripts. The BOLARE parser is dynamically generated from a declarative de- scription of literal forms.
    [Show full text]
  • Web 2.0 Services
    Web 2.0 services: these objects are closer than they appear EDUCAUSE Evolving Technologies Committee Malcolm Brown, Dartmouth College [email protected] September, 2006 What is it? Web 2.0 services are a very broad range of network-based, cross platform services. This is an area that is expanding rapidly, so rapidly in fact that columnists and bloggers are drawing parallels to the dot com boom. The diversity of these services and their relentless pace of evolution make it challenging to define this evolving technology succinctly. A useful O’Reilly article1 suggests that the “Web 2.0” is less of a standard and more of a “gravitational core,” drawing applications into a common technology and functionality space rather than riveting them in place by means of a firm engineering standard. Much has already been written about these services, so there is no need to recapitulate that here. The O’Reilly article provides an excellent overview. But what may not be apparent unless you are following this technology closely is that it is evolving, expanding, and diversifying at an astonishing rate, and it is coming—has come—to a campus near you. While it might be difficult to define web services in a sentence or two, we can try to get a handle on it by identifying the technology’s key characteristics. They are diverse. Emily Chang’s eHub site2 provides an excellent overview of Web services. At last count, she documents 1,066 web-based resources using 64 categories, including business, Internet phone and TV, audio and music, collaboration and management, mashups, social web, travel, e-learning, e-mailing (and many more).
    [Show full text]
  • Obstacles to Compilation of Rebol Programs
    Obstacles to Compilation of Rebol Programs Viktor Pavlu TU Wien Institute of Computer Aided Automation, Computer Vision Lab A-1040 Vienna, Favoritenstr. 9/183-2, Austria [email protected] Abstract. Rebol’s syntax has no explicit delimiters around function arguments; all values in Rebol are first-class; Rebol uses fexprs as means of dynamic syntactic abstraction; Rebol thus combines the advantages of syntactic abstraction and a common language concept for both meta-program and object-program. All of the above are convenient attributes from a programmer’s point of view, yet at the same time pose severe challenges when striving to compile Rebol into reasonable code. An approach to compiling Rebol code that is still in its infancy is sketched, expected outcomes are presented. Keywords: first-class macros, dynamic syntactic abstraction, $vau calculus, fexpr, Ker- nel, Rebol 1 Introduction A meta-program is a program that can analyze (read), transform (read/write), or generate (write) another program, called the object-program. Static techniques for syntactic abstraction (macro systems, preprocessors) resolve all abstraction during compilation, so the expansion of abstractions incurs no cost at run-time. Static techniques are, however, conceptionally burdensome as they lead to staged systems with phases that are isolated from each other. In systems where different syntax is used for the phases (e. g., C++), it results in a multitude of programming languages following different sets of rules. In systems where the same syntax is shared between phases (e. g., Lisp), the separa- tion is even more unnatural: two syntactically largely identical-looking pieces of code cannot interact with each other as they are assigned to different execution stages.
    [Show full text]
  • Introducing Myself…
    IntroducingIntroducing myselfmyself …… Nenad aka "DocKimbel" Rakocevic, Programming for 25 years: C/C++, *Basic, ASM, REBOL, web client -side languages, … Founder of a software company in Paris: Softinnov Author of several libraries for REBOL: MySQL, PostgresQL, LDAP native drivers UniServe: asynchronous, event -driven network engine Cheyenne Web Server: full -featured web application server CureCode: very fast web -based bug tracker (Mantis -like) Various others tools, game, demos … Was a happy Amiga user and registered BeOS developer WhyWhy amam II usingusing REBOLREBOL forfor 1111 years?years? Great scripting language Great prototyping tool Simple cross -platform graphic engine (View) Symbolic & Meta -programming Code / Data duality DSL -oriented Great designer behind: Carl Sassenrath WhyWhy II don'tdon't wantwant toto useuse REBOLREBOL anymore?anymore? Closed source Slow ( benchmark ) No multithreading support Mostly glue language, not general -purpose enough Not (easily) embeddable in third -party apps Can't run on popular VM (JVM, CLR) Sometimes designed for " Bob the artist ", rather than "John the programmer " WhatWhat isis thethe statestate ofof REBOLREBOL world?world? (1/2)(1/2) How REBOL began 14 years ago … WhatWhat isis thethe statestate ofof REBOLREBOL world?world? (2/2)(2/2) …and where it is today WhatWhat toto dodo then?then? Give up and pick up another language? Build an alternative? I chose the 2 nd option! MyMy answeranswer is:is: RReded !! Red[uced] REBOL dialect Fully open source (MIT/BSD) Statically compiled
    [Show full text]
  • An Approach to Private Cloud Using LAMP and Eyeos
    International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 2 Issue 4, April - 2013 An Approach to Private Cloud Using LAMP and EyeOS Ashish Raj Harjasdeep Singh Praveen Ghanghas Research scholar Lecturer Research scholar MIMIT Malout MIMIT Malout MIMIT Malout ABSTRACT and for certain business applications like customer Cloud computing is a model for enabling relationship management (CRM)[8]. convenient, on-demand network access to a shared pool of configurable computing resources (e.g., Main characteristics of cloud computing: networks, servers, storage, applications, and services) that can be rapidly provisioned and On-demand self-service—A consumer released with minimal management effort or can unilaterally provision computing service provider interaction. capabilities, such as server time and network storage, as needed automatically EyeOS is free Cloud Computing Operating System without requiring human interaction with software which let you access all your necessary each service‘s provider[5]. files, folders, office, calendar, contacts and much Broad network access—Capabilities are more anywhere in the world. You can use it available over the network and accessed personally on your computer or you can use it for through standard mechanisms that collaborative work and share data to your company, promote use by client platforms (e.g., firm, clients and colleagues for more innovative mobile phones, laptops, and PDAs). ideas and better brain storming. You can host Resource pooling—The provider‘s eyeOS on your server and make your own Cloud computing resources are pooled to serve system to access your data anywhere you want to. IJERTIJERT multiple consumers using a multi-tenant All you need to do is login into your eyeOS server model, with different physical and virtual with a normal Internet Browser, and you have resources dynamically assigned and access to your personal desktop, with your reassigned according to consumer applications, documents, music, movies..
    [Show full text]
  • Cloud Computing Influence on Operating System
    Sci.Int.(Lahore),27(1),225-230,2015 ISSN 1013-5316; CODEN: SINTE 8 225 CLOUD COMPUTING INFLUENCE ON OPERATING SYSTEM Zain Tahir, Muhammad Aslam, Mishall Fatima* Department of Computer Science, UET, Pakistan * Department of Computer Engineering, NUST Pakistan Corresponding author: [email protected] ABSTRACT: In last decade internet usage has increased tremendously. Internet subsequently the Web has changed the way how people think about using computers in their daily life. This enormous shift towards the Web is made possible by many internet enable electronic gadgets which provide access virtually from anywhere to the Web. In this paper, we have studied different Web operating systems in terms of designs, architecture, and functionalities. A positive association has been found how cloud computing affects the traditional desktop operating system and shifting it to the cloud, Web, and mobile. To consolidate our arguments, we have presented case studies of different cloud operating systems like Windows Azure, Chrome OS, Eye OS, and you OS. However, cloud based operating system would be main focus in future with involvement of intelligent agents. Keywords: Cloud computing, Mobile computing, Traditional operating system, Web OS 1. INTRODUCTION used to develop Web operating system rely on Web is the most emerging platform of this era. It’s a chain of Asynchronous JavaScript and XML (AJAX) and flash interlinked hypertext documents placed on Internet, which technologies. may contains various information in the form of text, In last decade internet usage has increased from 9.7% to images, videos, and various other resources. Web and 34.3% of total world population [9].
    [Show full text]
  • Generating Non-Verbal Communication from Speech
    Manuel Rebol, MSc. Generating Non-Verbal Communication From Speech Master's Thesis to achieve the university degree of Master of Science Master's degree programme: Computer Science submitted to Graz University of Technology Supervisor Christian G¨utl,Assoc.Prof. Dipl.-Ing. Dr.techn. Supervisor Krzysztof Pietroszek, Ass.Prof. M.Sc. Ph.D. In cooperation with American University, Washington, DC This work was supported by the Austrian Marshall Plan Foundation Graz, November 2020 Abstract The communication between human and virtual agents is becoming more important because of the increased usage of virtual environments in everyday life. Applications such as virtual learning platforms, online meetings and virtual assistance are gaining popularity. However, communication with virtual agents is often unintuitive and does not feel similar to talking with a person. Therefore, we focus on improving natural non-verbal human-agent communication in our work. We develop a speaker-specific model that predicts hand and arm gestures given input speech. We model the non-deterministic relationship between speech and gestures with a Generative Adversarial Network (GAN). Inside the GAN, a motion discriminator forces the generator to predict only gestures that have human-like motion. To provide data for our model, we extract the gestures from in-the- wild videos using 3D human pose estimation algorithms. This allows us to automatically create a large speaker-specific dataset despite the lack of motion capture data. We train our gesture model on speakers from show business and academia using publicly available video data. Once generated by our GAN, we animate the gestures on a virtual character. We evaluate the generated gestures by conducting a human user study.
    [Show full text]
  • 2012-2014 Addendum to LPC Catalog (Pdf)
    LAS POSITAS COLLEGE CATALOG 2012-2014 Academic Calendar FALL 2013 SEMESTER SPRING 2014 SEMESTER August 19 Regular Full-Term Instruction Begins January 20* Holiday – Martin Luther King, Jr. August 24 Instruction Begins – Saturday Classes January 21 Regular Full-Term Instruction Begins August 31 Labor Day Weekend – No Saturday Classes January 25 Instruction Begins (Saturday Classes) September 2* Holiday - Labor Day (no instruction) February 14-17* Presidents’ Weekend (no instruction) November 9 Saturday Classes meet April 12 Saturday classes meet November 11* Veterans Day (no instruction) April 14-19 Spring Break (no instruction, no Saturday classes) November 27-29* Thanksgiving Recess (no instruction) May 22 Last Day of Instruction November 30 No Saturday Classes May 23, 27-30 Final Examination Period December 7 Last Day of Saturday Classes May 24 Final (Saturday Classes only) December 13 Last Day of Instruction May 26* Memorial Day December 14 Finals (Saturday Classes only) (no instruction/no final examinations) December 16-20 Final Examination Period May 31 Commencement Dec 24 – Jan 1 Winter Recess June 4 Grades Due January 8 Grades Due * Holiday/All Employees Note: The calendars noted above refer to regular, full-term classes Please note: The College is undergoing renovation and construction. only. Refer to current Schedule of Classes or the College website for Some noted building numbers may have changed. Please check the reference to “NGR,” “W,” “Census,” & “60% financial aid” deadline campus map at www.laspositascollege.edu/about/map.php for dates. You will also find deadlines on “CLASS Web” or ask your building updates. instructor for specific course deadline information.
    [Show full text]
  • Object-Oriented Javascript
    Object-Oriented JavaScript In this chapter, you'll learn about OOP (Object-Oriented Programming) and how it relates to JavaScript. As an ASP.NET developer, you probably have some experience working with objects, and you may even be familiar with concepts such as inheritance. However, unless you're already an experienced JavaScript programmer, you probably aren't familiar with the way JavaScript objects and functions really work. This knowledge is necessary in order to understand how the Microsoft AJAX Library works, and this chapter will teach you the necessary foundations. More specifi cally, you will learn: • What encapsulation, inheritance, and polymorphism mean • How JavaScript functions work • How to use anonymous functions and closures • How to read a class diagram, and implement it using JavaScript code • How to work with JavaScript prototypes • How the execution context and scope affect the output of JavaScript functions • How to implement inheritance using closures and prototypes • What JSON is, and what a JSON structure looks like In the next chapters you'll use this theory to work effectively with the Microsoft AJAX Library. Concepts of Object-Oriented Programming Most ASP.NET developers are familiar with the fundamental OOP principles because this knowledge is important when developing for the .NET development. Similarly, to develop client-side code using the Microsoft AJAX Library, you need to be familiar with JavaScript's OOP features. Although not particularly diffi cult, understanding these features can be a bit challenging at fi rst, because JavaScript's OOP model is different than that of languages such as C#, VB.NET, C++, or Java.
    [Show full text]
  • The Javascript Object Notation (JSON) Data Interchange Format
    Internet Engineering Task Force (IETF) T. Bray, Editor Request for Comments: 7159 Google, Inc. Obsoletes: 4627, 7158 March 2014 Category: Standards Track ISSN: 2070-1721 The JavaScript Object Notation (JSON) Data Interchange Format Abstract JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data. This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 57411. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc71592. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info3) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
    [Show full text]
  • 4627 JSON.Org Category: Informational July 2006 the Applica
    Network Working Group D. Crockford Request for Comments: 4627 JSON.org Category: Informational July 2006 The application/json Media Type for JavaScript Object Notation (JSON) Status of This Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2006). Abstract JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data. 1. Introduction JavaScript Object Notation (JSON) is a text format for the serialization of structured data. It is derived from the object literals of JavaScript, as defined in the ECMAScript Programming Language Standard, Third Edition [ECMA]. JSON can represent four primitive types (strings, numbers, booleans, and null) and two structured types (objects and arrays). A string is a sequence of zero or more Unicode characters [UNICODE]. An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array. An array is an ordered sequence of zero or more values. The terms "object" and "array" come from the conventions of JavaScript. JSON's design goals were for it to be minimal, portable, textual, and a subset of JavaScript. Crockford Informational [Page 1] RFC 4627 JSON July 2006 1.1. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
    [Show full text]