An ios Static Library for Service Discovery and Dynamic Procedure Calls

Size: px
Start display at page:

Download "An ios Static Library for Service Discovery and Dynamic Procedure Calls"

Transcription

1 An ios Static Library for Service Discovery and Dynamic Procedure Calls Arnav Anshul Department of Engineering. Arizona State University Polytechnic Campus. Abstract - Remote procedure call is one of the popular methods employed when designing distributed applications. The existing RPC implementations are, however, unavailable on a mobile platform; with Mac OS X supporting Vending but not making it available on ios and Java supporting Remote Method Invocation but that is unavailable on Android, two of the most dominant operating systems on the mobile platform. With the standards of processing power and features available on the mobile devices improving significantly, mobile applications might do well with the ability to discover and bind dynamically to local information servers. The following paper describes a framework developed for the ios platform that brings most of the features of the paradigm to the mobile platform. Index Terms Remote procedure calls, ios, mobile applications, dynamic procedure call, dynamic service discovery. I. INTRODUCTION A remote procedure call (RPC) is an inter-process communication paradigm that allows a program to execute a procedure or a subroutine remotely in the address space of another program on a shared network without being required to provide specific details for the remote interaction over the network (Wikipedia n.d.). This essentially implies that the target application essentially uses the same syntax whether the subroutine is local to the executing program or remote. This setup sets the groundwork for simplifying the creation of distributed applications since the underlying framework handles all the relevant network communication for the application. When the application in question uses object oriented principles, the technique is called remote invocation or remote method invocation. Distributed systems on a mobile platform have, however, been limited to REST (Representational State Transfer) or SOAP (Simple Object Access Protocol) API invocations that essentially imply exchange and interpretation of text based data (XML or JSON formats) to conveniently interpret and display information. Being able to replicate a module akin to Remote Method Invocation in JAVA or Vending in Objective-C, available for use on JVM or Mac OS X environments respectively, would allow applications to interact with each other on an object level thereby aiding developers of interpreting the transmitted message and making direct method calls on objects. The use of the developed framework would allow mobile application developers developing ios applications the discovery of remote services, something that is not supported by either Vending or Remote Method Invocation, and directly calling remote methods. The implementation would allow ios applications to discover services, connect to one of the available service providers and call methods on the server by creating a dedicated method object. The applications would be able to publish their own services dynamically as well. The intended framework would, therefore, bring forth a framework that would provide "Vending" (available on Mac OS X as mentioned above) like functionalities (allowing method calls for a given

2 client on the server in a distributed application environment) to ios based applications. II. RELATED WORK The availability of a framework or an implementation for distributed objects has not been afforded on the popular mobile platforms like ios or Android. The closest framework available on ios is the Game Kit framework. This framework allows for the serialized data to be uploaded to the Game Center servers that maintain the state of the machine. Various clients use this shared data to display and update information. A Game Center application model is a very secure but is not devoid of its concomitant limitations. Use of this model allows devices to interact via internet only. Therefore, the ability to publish services on a local network is expected to improve the performance of the application. The use of Game Center also requires all the users willing to use a particular application to have a Game Center account. This could be seen as futile effort when looking at some of the application domains where this framework could be used. The developed framework would also provide its users/developers to have a greater control over the behavior of the applications. The lack of any open-source frameworks implementing a distributed object model for mobile-based platforms also provides motivation for work in this domain. III. APPROACH Background In the Mac OS X environment, distributed objects operate by making public an object to which other client processes can connect. Once a connection is made, the client process is able to invoke methods of that object as if the methods existed on the client process itself. These methods are then actually executed on the server and the result of the execution (response) is sent back to the client. Implementation Methodology Bonjour The underlying framework used to build upon, while developing this framework is called Bonjour. Bonjour is an open protocol for zeroconfiguration networking over IP submitted to IETF (Internet Engineering Task Force) (Apple Documents n.d.) by Apple. Bonjour was derived from the work of ZEROCONF Working Group, a part of IETF. The work included requirements and proposed solution for three areas in this domain: Addressing (allocation of IP addresses to hosts) Naming (using names instead of IPs to refer to hosts) Services discovery (automatic discovery of services available on a network) Bonjour proposed the following implementation to meet the above criteria: Addressing: This is solved by self-assigned link local addressing (a range of addresses reserved for the local network, typically a small LAN) Naming: The proposed solution involved the use of mdns (Multicast DNS) where DNS format queries are sent over the local network using IP multicast. This allows for the lack of a single DNS server with global knowledge since all the queries are multicast. Service Discovery: This allows an application to find all the available instances of a particular kind of service to maintain a list of named services. Publishing a service To publish a service, applications or devices must register the service they intend to publish with a Multicast DNS responder. When a service is registered, three related DNS records are created: 1. a service record (SRV) 2. a pointer record (PTR) 3. a text record (TXT). The SRV record maps the name of the service instance to the information needed by a client to actually use the service. It contains the following information Host name Port number The host name is the domain where the service can currently be found. The services are identified by host name rather than by a single IP address since it could be the case that the service is multi-homed

3 i.e. hosted by more than one IP address. The port number identifies the UDP or TCP port for service. The PTR records enable service discovery by mapping the type of the service to a list of names of specific instances of that type of service. This record adds another layer of indirection so services can be found just by looking up the PTR records labeled with service type. The TXT record has the same name as the corresponding SRV record and can contain a small amount of additional information. E.g. a chat program could contain the information regarding the availability of a user. To discover services, an application performs a query for PTR records matching a service type as specified by the application. The Multicast DNS responders running on each device return the PTR records with the service instance name. Figure shows a client application looking for services of type _chat._tcp. Figure 2 Discovery of services Bonjour provides two classes, the NSNetService and the NSNetServiceBrowser that are a part of the Foundation framework in Cocoa. NSNetService objects represent instances of services published and discovered by a client. The NSNetServiceBrowser represents a browser for a particular type of service and is used to discover the services publish on the network. Figure 1 Querying for services To resolve a service, an application performs a DNS lookup for a SRV record with the name of the service and gets the domain and port for the service. The figure below shows the response that a client device would receive upon querying for services on a network. Figure 3 Architecture of Bonjour Framework Framework The developed framework uses Bonjour as the foundation for setting up network communication between devices. The framework can be broadly categorized into four sections:

4 Network Interface Classes: This set of classes set up the sockets and handle communication between devices. These are the classes that basically implement the Bonjour framework. None of the classes listed below are visible to the application that use the framework. The framework provides a higher level of abstraction that simplifies creation of the client-server model and is described in later sections. AppConfig: This is a singleton class that creates a single instance of a service that can be created and published. The instantiation of the single object of this class is placed in block that essentially implies a thread safe block (@synchronized is a tool provided in Objective C to create mutex locks on the fly). This ensures that multiple instances of the service are not created if it is being instantiated in a multi-threaded environment at multiple places. Connection: The Connection class handles all the socket connections that need to be created and maintained during a session between the client and the server. An object of the class can be initialized using a host name and port number or by the name of the NSNetService that a given client intends to connect to. If it is initialized using a net service, the host name and the port number values are retrieved from the NSNetService object and used. Once initialized the connect method of the instance of Connection is called that resolves the host name and port number and creates a socket connection to the host. The Connection class also has a couple of methods to write to and read from the stream buffers of the socket. For the incoming data, the method readfromstreamintoincomingbuffer copies the data from the stream into a data buffer that is of NSMutableData type and then invokes the callback method with the aforementioned NSMutableData object created as a parameter. For the outgoing data, the Connection class provides a method called sendnetworkpacket that receives an object, serializes it into an NSData object and then copies the data to the outgoing data buffer. The method writeoutgoingbuffertostream writes out this data in the buffer to the outgoing stream of the socket. ConnectionDelegate: This protocol requires any class instantiating a connection object to implement the following three methods, that would serve as a callback for the Connection class, namely: o connectionattemptfailed:(connecti on*) - To inform the delegate of a failed connection attempt for the Connection object passed as a parameter. Possible reasons could be inability to resolve host name and port number. o connectionterminated:(connection *) - To inform the delegate that the connection was terminated for the Connection object passed as the parameter. o receivednetworkpacket:(nsdata*) viaconnection:(connection*) - To inform the delegate that some data was received for a given Connection object that was passed as a parameter. Server: This class handles the methods used to setup a server, publish a service and listen for incoming network connection requests for the published service. The class that creates the instance of Server calls the method startwithservicetype:(nsstring *) that in turn calls the createserver method followed by the method publishservicewithtype:(nsstring*). The createserver method creates a listening socket for incoming connection requests. The kernel assigns the port number on which the service is to be published and this port number is recorded for use when the service is to be published. Finally, a runloop is created, which is essentially a

5 background thread, on which the listening socket listens for incoming connections. The publishservicewithtype:(nsstring *) method receives the type for the service to be published which is of the format _<type name>._<protocol name>., e.g. _chat._tcp. (As specified by the Bonjour specifications). This is the type name that is used by the client application when it tries to discover services on the network. To stop a server the method stop is provided that stops the net service followed by terminating the server and releasing the socket thereby freeing up the port assigned to the application by the kernel. ServerDelegate: This protocol requires any class instantiating a server object to implement the following two methods, that would serve as a callback for the Server class, namely: o serverfailed:(server*) reason:(nsstring*) - The Server class above is a delegate to the NSNetService object that is created to publish a service. The most probable case for failing to publish a service is that there is already a service published with the same name. o handlenewconnection:(connection *) - This method is called by the Server object on the assigned delegate to inform that a new client connected to the server. ServerBrowser: This is the class that is used to search for services already published on the given network. It is instantiated with the <service type> that is being searched for. Once all the available services are discovered, the class instance invokes a callback to the instantiating object informing it that a list of discovered services is now available. ServerBrowserDelegate: This protocol requires any class instantiating a server object to implement the method updateserverlist that would serve as a callback for the instance of ServerBrowser class. Model Objects: This set contains a single class called MethodObject. Instances of this class are used by the client to call methods on the server. The client specifies the name of the method it intends to call, the class that implements the method and the arguments that need to be passed to the method. The arguments are added to an NSMutableArray. This object is then encoded by the framework and sent to the server where it is decoded and implemented. Server Classes: This set contains a single class called PublishService that can be instantiated and initialized using an object of a class whose services are intended to be published. It implements the ServerDelegate protocol from the Network Interface Classes set. Once instantiated, the application publishes the service using the method publishservicewithname:(nsstring*)andtype:(ns String*). The first parameter provides the name of the service that is used for the instantiation of AppConfig class and the second parameter is used to initialize the Server class by providing the service type and this is the same string that the client application would use to search for services. When a new client connects to the service, the ServerDelegate calls the method handlenewconnection:(connection*) of this class. The implementation of the method is such that the list of services (all the methods that can be called on the server) is returned to the client over the network packet to be used in whatever way the client may deem fit. The framework assumes that all the communication between the client and server will always be of the following pattern: a. the client calls a method on the server using the MethodObject b. the server implements the method and returns the response to the client Based on this assumption, when the server receives a network packet, it decodes the packet to create a

6 method object and then checks if the method name specified in the object can be implemented by the server. If the server can implement the method, an NSInvocation object is created. The NSInvocation object allows the programmer to specify the argument on which a method is to be called and the parameters that need to be passed as arguments. Once the NSInvocation object is set up, the invoke method of the object is called and the result is obtained. The framework checks for the returned result to be an instance of a class that implements the NSCoding protocol so that it may be encoded and sent back to the client. To enable the client to differentiate between a response and a list of methods (these are the only two things that a client may receive from the server), the server creates an NSDictionary object containing a single key-value pair that can be either be < methodlist, value> or < response, value>. Client Classes: This set contains of a single class called ClientConnection and a protocol called ClientConnectionDelegate. This protocol, ClientConnectionDelegate, specifies three methods that need to be implemented by the class in the client application that intends to act as the handler for all the callbacks of the ClientConnection object. These are: a. updateserviceslist:(nsarray *) - this method is called once all the available services on the network have been discovered. The returned array consists of a list of NSNetService objects b. methodsavailableonservice:(nsarray *) - this method is called when a client application creates a new connection to a server/service. The array received is the list of methods that are available on the server to be called. type of service (as described earlier) that it intends to search the name of the domain in which to search for that service and the object that is to act as a call back for the instantiated object. Once instantiated, the ClientConnection object in turn initializes and instantiates an object of the ServerBrowser class setting itself as the delegate for the created object. Once all the available services are discovered, the ServerBrowser object calls the updateserverlist. This method of the ClientConnection, in turn calls the updateserviceslist:(nsarray*) of its delegate. Once the client application chooses a service to connect to, it should call the connecttoservice:(nsnetservice*) method of the ClientConnection object with the service it intends to connect to as the parameter. In order to call a method on the server, the client application needs to call the callmethodonserverwithmethodobject:(methodo bject*) of the client object passing a MethodObject instance as the parameter. The ClientConnection then handles the encoding of the MethodObject instance and sending it over the network to the server. The ClientConnection object also handles the setting up of the service and upon receipt of a network packet, checks for the key ( methodlist or response ) and based on this, call one of the following methods on the delegate set, namely: methodsavailableonservice:(nsarray*) responseobjectreceivedfromserver:(id) The following figure (Fig. 4) describes the layout of the framework and how it may be used in an application. c. responseobjectreceivedfromserver: (id) - this method is called when the server returns a response from the method that the client requested to be called. When an object of the ClientConnection class is instantiated, the application needs to specify the

7 name of service. The framework allows only one service to be published by a given name. When the client application launches, the user may choose to view the published services. Once a list of available services is populated, the client is able to connect to any of the given services. Once connected to a given service, the client is able to view the items available on the menu of that service. The client may choose to select one of the items to place an order or return to the previous menu of the list of available services. Figure 4 Architecture of the framework IV. SAMPLE APPLICATION The framework would simplify the process of development of distributed applications and allow mobile application developers to create services, discover them dynamically and make dynamic procedure calls entirely on the mobile platform without having to rely on a desktop or a laptop allowing convenient usage to the end user. The application areas for such an implementation could find themselves useful in a number of domains like: Print services Restaurants publishing there menus as a service and users being able to view the menu items available and probably place orders from the device itself Stores of all kinds publishing the available deals as services and users being able to view the details of these deals via their device Directed Marketing To demonstrate the working of the framework, a sample application was developed that emulated the publishing of a restaurant s menu as a service. When the server application is launched, it asks the user to select a menu type that he would like to service. Once the menu is chosen, a service is published with the same name as the menu chosen by the user. The developer could also choose the When an order is placed, the server is informed of the order that was placed and it returns the client an expected time it would take for the processing of the order. V. CONCLUSION For the purposes of validation of the correct working of the framework, the sample application was developed and the following tasks were observed to be executing correctly: 1. Multiple services were published successfully by server applications on a given local network. 2. The published services were discoverable on client application if the local network allowed discovery of services and devices. 3. The client application was able to connect to one of the services at a time from the list of available services published on the network. 4. Upon connection, the client received a list of methods that could be called on the server. 5. The client was able to request the server to execute a method and receive a response object, if any. One of the limitations of the above framework is that the client is expected to have prior knowledge of the method signatures while making method calls to the server when passing parameters. The reason for this limitation to be imposed is because Objective-C dynamically links methods calls to the actual class methods at run time while checking if the parameters match to execute a given function call. It also does not allow for a method signature

8 to be serialized so that it can be passed to the client. Another limitation of the framework is that it is not able to discover available services, if the local network to which it is connected does not permit discovery of devices. This is an external limitation. A point to note when using this framework is that while building the application, the executable should be built using a linker flag -Objc - all_load. This needs to be done when a framework uses a category because if a pre-existing class with categories is extended, the linker does not know how to associate the object code of the core class implementation and the category implementation. This prevents the objects created in the application from responding to a method that is defined in the category. Since the developed framework implements the NSCoding protocol, it essentially extends the functionality by creating a category. The linker flag forces the linker to load every object file in the library that defines an Objective-C class or category. This leads to the creation of a larger executable file. Future work on the framework could include making the framework more robust. This would incorporate exploring ways to handle network delay issues and loss of data packets. Another aspect of the framework that could be looked into is that once the service discovery is started, the service browser keeps looking for services until it finds one. This could lead to the appearance of an application stalling. One way to resolve this issue would be to time the service browser out after a specific duration. Apple Documents. ntation/cocoa/conceptual/netservices/netservic es.pdf. Apple Game Center Documents. ation/networkinginternet/conceptual/gamekit_g uide/gamekit_guide.pdf. ICode Blog. static- libraries- for- ios/. Near Infinity /07/17/creating- and- using- static- libraries- for- iphone- using- xcode- 4.3.html. Wikipedia. call. VI. BIBLIOGRAPHY Apple Documents (Distributed Objects). entation/cocoa/conceptual/distrobjects/distrobj ects.html. Apple Documents (Dynamic Method Calls). entation/cocoa/conceptual/distrobjects/tasks/in vocations.html#//apple_ref/doc/uid/ CJBBACJH.

CS193E Lecture 18. Web Kit and Networking with Bonjour & Distributed Objects

CS193E Lecture 18. Web Kit and Networking with Bonjour & Distributed Objects CS193E Lecture 18 Web Kit and Networking with Bonjour & Distributed Objects Web Kit Web Kit Framework for handling web content Provides the core of Safari functionality Open Source project http://webkit.org/

More information

iphone Application Programming L09: Networking

iphone Application Programming L09: Networking iphone Application Programming L09: Networking Prof. Dr., Florian Heller, Jonathan Diehl Media Computing Group, RWTH Aachen WS 2009/2010 http://hci.rwth-aachen.de/iphone Networking Bonjour Networking Push

More information

Rendezvous: Revolutionary Networking Technology

Rendezvous: Revolutionary Networking Technology Rendezvous: Revolutionary Networking Technology Author: Erik Regis Research Project 4C03 April 6, 2004 Introduction. Wireless technology has created a unique situation that has been the catalyst to innovation

More information

E Event-based parser, XML, 180 Extended attributes, URLs, 118 API, 119 command line, 118 description, 118 NSURL category, 119

E Event-based parser, XML, 180 Extended attributes, URLs, 118 API, 119 command line, 118 description, 118 NSURL category, 119 Index A Access control lists (ACLs), 113 Application distribution, 353 certificate utility, 358 App ID creation, 358 App Store, 363 center, 357 no of certificates, 358 code sign identity, 362 configuring

More information

ECE 4450:427/527 - Computer Networks Spring 2017

ECE 4450:427/527 - Computer Networks Spring 2017 ECE 4450:427/527 - Computer Networks Spring 2017 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 8: Application Layer Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527 Computer

More information

Distributed Systems 26. Mobile Ad Hoc Mesh Networks

Distributed Systems 26. Mobile Ad Hoc Mesh Networks Distributed Systems 26. Mobile Ad Hoc Mesh Networks Paul Krzyzanowski pxk@cs.rutgers.edu 12/16/2011 1 Mesh Networks Mobile Ad-hoc networks, sensor networks, Decentralized networking No need for routers

More information

BCS Autumn School. Distinguish your application with Bonjour. Nan Xu. 20 November 2013

BCS Autumn School. Distinguish your application with Bonjour. Nan Xu. 20 November 2013 BCS Autumn School Distinguish your application with Bonjour Nan Xu 20 November 2013 About Speaker Director of Operations at Red7Mobile Ltd PRINCE2 project manager and Senior ios developer Have managed,

More information

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008

Distributed Systems Theory 4. Remote Procedure Call. October 17, 2008 Distributed Systems Theory 4. Remote Procedure Call October 17, 2008 Client-server model vs. RPC Client-server: building everything around I/O all communication built in send/receive distributed computing

More information

CS454/654 Midterm Exam Fall 2004

CS454/654 Midterm Exam Fall 2004 CS454/654 Midterm Exam Fall 2004 (3 November 2004) Question 1: Distributed System Models (18 pts) (a) [4 pts] Explain two benefits of middleware to distributed system programmers, providing an example

More information

Networked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers

Networked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers Networked Applications: Sockets CS 375: Computer Networks Spring 2009 Thomas Bressoud 1 Goals of Todayʼs Lecture Client-server paradigm End systems Clients and servers Sockets and Network Programming Socket

More information

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36 Communication address calls class client communication declarations implementations interface java language littleendian machine message method multicast network object operations parameters passing procedure

More information

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads

Chapter 4: Threads. Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Chapter 4: Threads Objectives To introduce the notion of a

More information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

Computer Networks Prof. Ashok K. Agrawala

Computer Networks Prof. Ashok K. Agrawala CMSC417 Computer Networks Prof. Ashok K. Agrawala 2018Ashok Agrawala September 6, 2018 Fall 2018 Sept 6, 2018 1 Overview Client-server paradigm End systems Clients and servers Sockets Socket abstraction

More information

Configuring the Service Discovery Gateway

Configuring the Service Discovery Gateway Finding Feature Information, page 1 Restrictions for, page 1 Information about the Service Discovery Gateway and mdns, page 2 How to Configure the Service Discovery Gateway, page 5 Monitoring Service Discovery

More information

ITP 342 Mobile App Development. Data Persistence

ITP 342 Mobile App Development. Data Persistence ITP 342 Mobile App Development Data Persistence Persistent Storage Want our app to save its data to persistent storage Any form of nonvolatile storage that survives a restart of the device Want a user

More information

CSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1

CSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1 CSMC 412 Computer Networks Prof. Ashok K Agrawala 2015 Ashok Agrawala Set 2 September 15 CMSC417 Set 2 1 Contents Client-server paradigm End systems Clients and servers Sockets Socket abstraction Socket

More information

USER MANUAL. VIA IT Deployment Guide for Firmware 2.3 MODEL: P/N: Rev 7.

USER MANUAL. VIA IT Deployment Guide for Firmware 2.3 MODEL: P/N: Rev 7. USER MANUAL MODEL: VIA IT Deployment Guide for Firmware 2.3 P/N: 2900-300631 Rev 7 www.kramerav.com Contents 1 Introduction 1 1.1 User Experience 2 1.2 Pre-Deployment Planning 2 2 Connectivity 3 2.1 Network

More information

Operating Systems. Week 13 Recitation: Exam 3 Preview Review of Exam 3, Spring Paul Krzyzanowski. Rutgers University.

Operating Systems. Week 13 Recitation: Exam 3 Preview Review of Exam 3, Spring Paul Krzyzanowski. Rutgers University. Operating Systems Week 13 Recitation: Exam 3 Preview Review of Exam 3, Spring 2014 Paul Krzyzanowski Rutgers University Spring 2015 April 22, 2015 2015 Paul Krzyzanowski 1 Question 1 A weakness of using

More information

CS 416: Operating Systems Design April 22, 2015

CS 416: Operating Systems Design April 22, 2015 Question 1 A weakness of using NAND flash memory for use as a file system is: (a) Stored data wears out over time, requiring periodic refreshing. Operating Systems Week 13 Recitation: Exam 3 Preview Review

More information

DNS Naming Services for Service Discovery and Remote Control for Internet-of-Things Devices

DNS Naming Services for Service Discovery and Remote Control for Internet-of-Things Devices DNS Naming Services for Service Discovery and Remote Control for Internet-of-Things Devices Seokhwa Kim, Keuntae Lee, and Jaehoon (Paul) Jeong Department of Computer Science & Engineering, Sungkyunkwan

More information

ios Application Development Course Details

ios Application Development Course Details ios Application Development Course Details By Besant Technologies Course Name Category Venue ios Application Development Mobile Application Development Besant Technologies No.24, Nagendra Nagar, Velachery

More information

Data Communication & Computer Networks MCQ S

Data Communication & Computer Networks MCQ S Data Communication & Computer Networks MCQ S 1. The translates internet domain and host names to IP address. a) domain name system b) routing information protocol c) network time protocol d) internet relay

More information

Process. Program Vs. process. During execution, the process may be in one of the following states

Process. Program Vs. process. During execution, the process may be in one of the following states What is a process? What is process scheduling? What are the common operations on processes? How to conduct process-level communication? How to conduct client-server communication? Process is a program

More information

Chapter 4 Communication

Chapter 4 Communication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI

More information

Last Class: RPCs. Today:

Last Class: RPCs. Today: Last Class: RPCs RPCs make distributed computations look like local computations Issues: Parameter passing Binding Failure handling Lecture 8, page 1 Today: Lightweight RPCs Remote Method Invocation (RMI)

More information

Introduction to computer networking

Introduction to computer networking Introduction to computer networking First part of the assignment Academic year 2017-2018 Abstract In this assignment, students will have to implement a client-server application using Java Sockets. The

More information

Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.

Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial. Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial. Reduces cost by allowing a single resource for a number of users, rather than a identical resource for each

More information

Last Class: RPCs and RMI. Today: Communication Issues

Last Class: RPCs and RMI. Today: Communication Issues Last Class: RPCs and RMI Case Study: Sun RPC Lightweight RPCs Remote Method Invocation (RMI) Design issues Lecture 9, page 1 Today: Communication Issues Message-oriented communication Persistence and synchronicity

More information

InfiniBand Linux Operating System Software Access Layer

InfiniBand Linux Operating System Software Access Layer Software Architecture Specification (SAS) Revision Draft 2 Last Print Date: 4/19/2002-9:04 AM Copyright (c) 1996-2002 Intel Corporation. All rights reserved. InfiniBand Linux Operating System Software

More information

Communication. Distributed Systems Santa Clara University 2016

Communication. Distributed Systems Santa Clara University 2016 Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces

More information

Distributed Technologies - overview & GIPSY Communication Procedure

Distributed Technologies - overview & GIPSY Communication Procedure DEPARTMENT OF COMPUTER SCIENCE CONCORDIA UNIVERSITY Distributed Technologies - overview & GIPSY Communication Procedure by Emil Vassev June 09, 2003 Index 1. Distributed Applications 2. Distributed Component

More information

AIRPLAY AND AIRPRINT ON CAMPUS NETWORKS AN ARUBA AIRGROUP SOLUTION GUIDE

AIRPLAY AND AIRPRINT ON CAMPUS NETWORKS AN ARUBA AIRGROUP SOLUTION GUIDE AIRPLAY AND AIRPRINT ON CAMPUS NETWORKS AN ARUBA AIRGROUP SOLUTION GUIDE Table of Contents Warning and Disclaimer... 3 Introduction... 4 What is Zero Configuration Networking (zeroconf)?... 5 WLANs and

More information

Enabling Apple AirPrint with Your Xerox AltaLink Multifunction Printer. White Paper

Enabling Apple AirPrint with Your Xerox AltaLink Multifunction Printer. White Paper Enabling Apple AirPrint with Your Xerox AltaLink Multifunction Printer White Paper Contents 3 Background 3 AirPrint Basics Step 1: Device Discovery Apple Bonjour 3 Step 2: Device Information and Status

More information

Networked Applications: Sockets. End System: Computer on the Net

Networked Applications: Sockets. End System: Computer on the Net Networked Applications: Sockets Topics Programmer s view of the Internet Sockets interface End System: Computer on the Net Internet Also known as a host 2 Page 1 Clients and Servers Client program Running

More information

Last Class: RPCs. Today:

Last Class: RPCs. Today: Last Class: RPCs RPCs make distributed computations look like local computations Issues: Parameter passing Binding Failure handling Lecture 4, page 1 Today: Case Study: Sun RPC Lightweight RPCs Remote

More information

Ubiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses

Ubiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses Ubiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses Pengfei Tang Computer Science Dept. Worcester Polytechnic Institute (WPI) Introduction:

More information

COURSE SYLLABUS. Complete JAVA. Industrial Training (3 MONTHS) PH : , Vazhoor Road Changanacherry-01.

COURSE SYLLABUS. Complete JAVA. Industrial Training (3 MONTHS) PH : , Vazhoor Road Changanacherry-01. COURSE SYLLABUS Complete JAVA Industrial Training (3 MONTHS) PH : 0481 2411122, 09495112288 E-Mail : info@faithinfosys.com www.faithinfosys.com Marette Tower Near No. 1 Pvt. Bus Stand Vazhoor Road Changanacherry-01

More information

Communication. Outline

Communication. Outline COP 6611 Advanced Operating System Communication Chi Zhang czhang@cs.fiu.edu Outline Layered Protocols Remote Procedure Call (RPC) Remote Object Invocation Message-Oriented Communication 2 1 Layered Protocols

More information

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI Remote Invocation Today l Request-reply, RPC, RMI Next time l Overlay networks and P2P Types of communication " Persistent or transient Persistent A submitted message is stored until delivered Transient

More information

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems? UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems? 2. What are different application domains of distributed systems? Explain. 3. Discuss the different

More information

CUWN Release 8.2 mdns Gateway with Chromecast Support Feature Deployment Guide

CUWN Release 8.2 mdns Gateway with Chromecast Support Feature Deployment Guide CUWN Release 8.2 mdns Gateway with Chromecast Support Feature Deployment Guide Chromecast 2 Deployment Considerations 2 Chromecast Deployment using mdns Gateway/ Feature Benefit 3 Components Used 3 Configuring

More information

ITP 342 Mobile App Development. Data Persistence

ITP 342 Mobile App Development. Data Persistence ITP 342 Mobile App Development Data Persistence Persistent Storage Want our app to save its data to persistent storage Any form of nonvolatile storage that survives a restart of the device Want a user

More information

TCG Physical Security Interoperability Alliance IP Video Use Case 002 (PSI-UC-IPV002) Specification Version 1.0 Revision 0.2

TCG Physical Security Interoperability Alliance IP Video Use Case 002 (PSI-UC-IPV002) Specification Version 1.0 Revision 0.2 TCG Physical Security Interoperability Alliance IP Video Use Case 002 (PSI-UC-IPV002) Specification Version 1.0 Revision 0.2 Revision History Description Date By Version 1.0 Rev 0.1 Initial Draft August

More information

Multi-Screen Online Multiplayer Game for an Android Device

Multi-Screen Online Multiplayer Game for an Android Device COMP 4905 Honours Project Multi-Screen Online Multiplayer Game for an Android Device Author: Nicholas Tierney Supervised by: Dr. Tony White School of Computer Science Carleton University Ottawa, Canada

More information

Communication. Overview

Communication. Overview Communication Chapter 2 1 Overview Layered protocols Remote procedure call Remote object invocation Message-oriented communication Stream-oriented communication 2 Layered protocols Low-level layers Transport

More information

Two Phase Commit Protocol. Distributed Systems. Remote Procedure Calls (RPC) Network & Distributed Operating Systems. Network OS.

Two Phase Commit Protocol. Distributed Systems. Remote Procedure Calls (RPC) Network & Distributed Operating Systems. Network OS. A distributed system is... Distributed Systems "one on which I cannot get any work done because some machine I have never heard of has crashed". Loosely-coupled network connection could be different OSs,

More information

A Report on RMI and RPC Submitted by Sudharshan Reddy B

A Report on RMI and RPC Submitted by Sudharshan Reddy B A Report on RMI and RPC Submitted by Sudharshan Reddy B Abstract: This report mainly explains the RMI and RPC technologies. In the first part of the paper the RMI technology is briefly explained and in

More information

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.0) Network Programming using C

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.0) Network Programming using C CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Homework 4 (document version 1.0) Network Programming using C Overview This homework is due by 11:59:59 PM on Thursday, April 26, 2018.

More information

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER BY Javid M. Alimohideen Meerasa M.S., University of Illinois at Chicago, 2003 PROJECT Submitted as partial fulfillment of the requirements for the degree

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

SOCKETLIB. Requirements

SOCKETLIB. Requirements SOCKETLIB SocketLib is an event based, semi-asynchronous socket stream. It derives from standard C++ sockets, therefore, all extractors (>>) and inserters (

More information

NETWORK PROGRAMMING AND MANAGEMENT 1 KINGS DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

NETWORK PROGRAMMING AND MANAGEMENT 1 KINGS DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK NETWORK PROGRAMMING AND MANAGEMENT 1 KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK Subject Code & Name: Network Programming and Management Year / Sem : III / VI UNIT-

More information

Collaboration of Tasks

Collaboration of Tasks Operating systems (vimia219) Collaboration of Tasks Tamás Kovácsházy, PhD 13 rd Topic Inter Process Communication with Message Passing Budapest University of Technology and Economics Department of Measurement

More information

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy

Introduction and Overview Socket Programming Lower-level stuff Higher-level interfaces Security. Network Programming. Samuli Sorvakko/Nixu Oy Network Programming Samuli Sorvakko/Nixu Oy Telecommunications software and Multimedia Laboratory T-110.4100 Computer Networks October 5, 2009 Agenda 1 Introduction and Overview 2 Socket Programming 3

More information

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission

More information

Distributed Systems Inter-Process Communication (IPC) in distributed systems

Distributed Systems Inter-Process Communication (IPC) in distributed systems Distributed Systems Inter-Process Communication (IPC) in distributed systems Mathieu Delalandre University of Tours, Tours city, France mathieu.delalandre@univ-tours.fr 1 Inter-Process Communication in

More information

Kea Messages Manual. Kea Messages Manual

Kea Messages Manual. Kea Messages Manual Kea Messages Manual i Kea Messages Manual Kea Messages Manual ii Copyright 2011-2015 Internet Systems Consortium, Inc. Kea Messages Manual iii Contents 1 Introduction 1 2 Kea Log Messages 2 2.1 ALLOC Module....................................................

More information

Cisco StadiumVision Mobile API for Apple ios

Cisco StadiumVision Mobile API for Apple ios CHAPTER 1 Revised: March 28, 2013 Introduction to The ios SDK is provided as a set of static libraries, header files, and an a sample ios app (with a complete Xcode project). This API uses Objective-C

More information

IT6503 WEB PROGRAMMING. Unit-I

IT6503 WEB PROGRAMMING. Unit-I Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Unit-I SCRIPTING 1. What is HTML? Write the format of HTML program. 2. Differentiate HTML and XHTML. 3.

More information

HKUST. CSIT 6910A Report. iband - Musical Instrument App on Mobile Devices. Student: QIAN Li. Supervisor: Prof. David Rossiter

HKUST. CSIT 6910A Report. iband - Musical Instrument App on Mobile Devices. Student: QIAN Li. Supervisor: Prof. David Rossiter HKUST CSIT 6910A Report Student: Supervisor: Prof. David Rossiter Table of Contents I. Introduction 1 1.1 Overview 1 1.2 Objective 1 II. Preparation 2 2.1 ios SDK & Xcode IDE 2 2.2 Wireless LAN Network

More information

Triangle MicroWorks IEC Library Evaluation Kit

Triangle MicroWorks IEC Library Evaluation Kit T Triangle MicroWorks IEC 61850 Library Evaluation Kit Introduction The IEC 61850 Library Evaluation Kit from Triangle MicroWorks provides a Demo Server application to demonstrate the functionality of

More information

Policy Based Device Access Security Position Paper to Device Access Policy Working Group

Policy Based Device Access Security Position Paper to Device Access Policy Working Group 1 (8) Policy Based Device Access Security Position Paper to Device Access Policy Working Group 2 (8) 1. INTRODUCTION Nokia has implemented a policy-based device access security model for its Web runtime

More information

Enabling Apple AirPrint with Your Xerox ConnectKey Device

Enabling Apple AirPrint with Your Xerox ConnectKey Device Enabling Apple AirPrint with Your Xerox ConnectKey Device 1 Background Apple AirPrint is a printing technology introduced with ios version 4.2 in November of 2010. It enables Apple ios devices including

More information

SPIN Operating System

SPIN Operating System SPIN Operating System Motivation: general purpose, UNIX-based operating systems can perform poorly when the applications have resource usage patterns poorly handled by kernel code Why? Current crop of

More information

Jini and Universal Plug and Play (UPnP) Notes

Jini and Universal Plug and Play (UPnP) Notes Jini and Universal Plug and Play () Notes Abstract Jini and are overlapping technologies. They both address the area of device connectivity and the ability to dynamically make use of new devices on the

More information

Distributed Systems. The main method of distributed object communication is with remote method invocation

Distributed Systems. The main method of distributed object communication is with remote method invocation Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,

More information

Python INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython.

Python INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython. INTRODUCTION: Understanding the Open source Installation of python in Linux/windows. Understanding Interpreters * ipython * bpython Getting started with. Setting up the IDE and various IDEs. Setting up

More information

Mobile App Development. ios Platform

Mobile App Development. ios Platform Mobile App Development ios Platform Overview Introduction Development Environment & Tools App Store Pros & Cons Programming Recommendations Objective-C Primer Demo What is ios? An operating system that

More information

Lecture 05 Application Layer - I

Lecture 05 Application Layer - I Computer Networks and Internet Protocol Prof. Soumya Kanti Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 05 Application Layer - I Hi. So, we will

More information

Service Discovery Gateway

Service Discovery Gateway The feature enables multicast Domain Name System (mdns) to operate across Layer 3 (L3) boundaries. An mdns gateway will be able to provide transport for service discovery across L3 boundaries by filtering,

More information

History Page. Barracuda NextGen Firewall F

History Page. Barracuda NextGen Firewall F The Firewall > History page is very useful for troubleshooting. It provides information for all traffic that has passed through the Barracuda NG Firewall. It also provides messages that state why traffic

More information

OPERATING SYSTEM. Chapter 4: Threads

OPERATING SYSTEM. Chapter 4: Threads OPERATING SYSTEM Chapter 4: Threads Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Operating System Examples Objectives To

More information

Internetworking With TCP/IP

Internetworking With TCP/IP Internetworking With TCP/IP Vol II: Design, Implementation, and Internals SECOND EDITION DOUGLAS E. COMER and DAVID L. STEVENS Department of Computer Sciences Purdue University West Lafayette, IN 47907

More information

Promoting Component Reuse by Separating Transmission Policy from Implementation

Promoting Component Reuse by Separating Transmission Policy from Implementation Promoting Component Reuse by Separating Transmission Policy from Implementation Scott M. Walker scott@dcs.st-and.ac.uk Graham N. C. Kirby graham@dcs.st-and.ac.uk Alan Dearle al@dcs.st-and.ac.uk Stuart

More information

Copyright and Trademark Information Trademarks Disclaimer; No Warranty

Copyright and Trademark Information Trademarks Disclaimer; No Warranty Copyright and Trademark Information Under the copyright laws, this document may not be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form, in whole

More information

JavaStat: A Distributed Statistical Computing Environment

JavaStat: A Distributed Statistical Computing Environment New URL: http://www.r-project.org/conferences/dsc-2001/ DSC 2001 Proceedings of the 2nd International Workshop on Distributed Statistical Computing March 15-17, Vienna, Austria http://www.ci.tuwien.ac.at/conferences/dsc-2001

More information

MPI: A Message-Passing Interface Standard

MPI: A Message-Passing Interface Standard MPI: A Message-Passing Interface Standard Version 2.1 Message Passing Interface Forum June 23, 2008 Contents Acknowledgments xvl1 1 Introduction to MPI 1 1.1 Overview and Goals 1 1.2 Background of MPI-1.0

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information

TRIBHUVAN UNIVERSITY INSTITUTE OF ENGINEERING PULCHOWK CAMPUS DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING. A Report On MARRAIGE

TRIBHUVAN UNIVERSITY INSTITUTE OF ENGINEERING PULCHOWK CAMPUS DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING. A Report On MARRAIGE TRIBHUVAN UNIVERSITY INSTITUTE OF ENGINEERING PULCHOWK CAMPUS DEPARTMENT OF ELECTRONICS AND COMPUTER ENGINEERING A Report On MARRAIGE Submitted To: Department of Electronics and Computer Engineering Pulchowk

More information

CS 4300 Computer Graphics

CS 4300 Computer Graphics CS 4300 Computer Graphics Prof. Harriet Fell Fall 2011 Lecture 8 September 22, 2011 GUIs GUIs in modern operating systems cross-platform GUI frameworks common GUI widgets event-driven programming Model-View-Controller

More information

Service Discovery Gateway

Service Discovery Gateway The feature enables multicast Domain Name System (mdns) to operate across Layer 3 (L3) boundaries. An mdns gateway will be able to provide transport for service discovery across L3 boundaries by filtering,

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4 1 Lab schedule confirmation Mondays, 12:00-2:00pm Tuesdays, 11:00am-1:00pm Wednesdays, 4:00-6:00pm

More information

Certified Core Java Developer VS-1036

Certified Core Java Developer VS-1036 VS-1036 1. LANGUAGE FUNDAMENTALS The Java language's programming paradigm is implementation and improvement of Object Oriented Programming (OOP) concepts. The Java language has its own rules, syntax, structure

More information

Element: Relations: Topology: no constraints.

Element: Relations: Topology: no constraints. The Module Viewtype The Module Viewtype Element: Elements, Relations and Properties for the Module Viewtype Simple Styles Call-and-Return Systems Decomposition Style Uses Style Generalization Style Object-Oriented

More information

1.264 Lecture 16. Legacy Middleware

1.264 Lecture 16. Legacy Middleware 1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network

More information

RESTful Web service composition with BPEL for REST

RESTful Web service composition with BPEL for REST RESTful Web service composition with BPEL for REST Cesare Pautasso Data & Knowledge Engineering (2009) 2010-05-04 Seul-Ki Lee Contents Introduction Background Design principles of RESTful Web service BPEL

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Remote Invocation Vladimir Vlassov and Johan Montelius

Remote Invocation Vladimir Vlassov and Johan Montelius KTH ROYAL INSTITUTE OF TECHNOLOGY Middleware Remote Invocation Vladimir Vlassov and Johan Montelius Application layer Remote invocation / indirect communication Socket layer Network layer ID2201 DISTRIBUTED

More information

CMSC 322 Computer Networks Applications and End-To- End

CMSC 322 Computer Networks Applications and End-To- End CMSC 322 Computer Networks Applications and End-To- End Professor Doug Szajda CMSC 332: Computer Networks Announcements Project 2 has been posted and is due Monday, February 8 (No extension!) Homework

More information

VII. Corente Services SSL Client

VII. Corente Services SSL Client VII. Corente Services SSL Client Corente Release 9.1 Manual 9.1.1 Copyright 2014, Oracle and/or its affiliates. All rights reserved. Table of Contents Preface... 5 I. Introduction... 6 Chapter 1. Requirements...

More information

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2)

IPC. Communication. Layered Protocols. Layered Protocols (1) Data Link Layer. Layered Protocols (2) IPC Communication Chapter 2 Inter-Process Communication is the heart of all DSs. Processes on different machines. Always based on low-level message passing. In this chapter: RPC RMI MOM (Message Oriented

More information

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University

Computer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University Computer Networks More on Standards & Protocols Quality of Service Week 10 College of Information Science and Engineering Ritsumeikan University Introduction to Protocols l A protocol is a set of rules

More information

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution 1 of 9 10/9/2013 1:38 AM WCF and WF Learning Objectives After completing this topic, you should be able to describe the functions of Windows Communication Foundation describe the features of the Windows

More information

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 2015 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 1 Question 1 Why did the use of reference counting for remote objects prove to be impractical? Explain. It s not fault

More information

CptS 464/564 Lecture 18

CptS 464/564 Lecture 18 CptS 464/564 Lecture 18 2nd November 2004 Checkpoint What have we covered so far? Paradigms and Models: frameworks for the discussion of DS What is the plan ahead? Next: examples of distributed systems

More information

Technical Brief. Network Port & Routing Requirements Active Circle 4.5 May Page 1 sur 15

Technical Brief. Network Port & Routing Requirements Active Circle 4.5 May Page 1 sur 15 Technical Brief Network Port & Routing Requirements Active Circle 4.5 May 2017 Page 1 sur 15 INDEX 1. INTRODUCTION... 3 1.1. SCOPE OF THE DOCUMENT... 3 1.2. AUDIENCE... 3 1.3. ORGANIZATION OF THE INFORMATION...

More information

App-ID. PALO ALTO NETWORKS: App-ID Technology Brief

App-ID. PALO ALTO NETWORKS: App-ID Technology Brief App-ID Application Protocol Detection / Decryption Application Protocol Decoding Application Signature Heuristics App-ID is a patent-pending traffic classification technology that identifies more than

More information

Multiprocessors 2007/2008

Multiprocessors 2007/2008 Multiprocessors 2007/2008 Abstractions of parallel machines Johan Lukkien 1 Overview Problem context Abstraction Operating system support Language / middleware support 2 Parallel processing Scope: several

More information

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues

Chapter 4: Threads. Chapter 4: Threads. Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues Chapter 4: Threads Silberschatz, Galvin and Gagne 2013 Chapter 4: Threads Overview Multicore Programming Multithreading Models Thread Libraries Implicit Threading Threading Issues 4.2 Silberschatz, Galvin

More information