Skip to main content

JINI goals, CORBA services, OS support

Short answer

JINI enables network plug-and-play, service discovery, and leasing. CORBA services cover naming, events, transactions, security, etc. The OS provides processes/threads, communication (sockets/IPC), memory management, protection, and device access, often using a microkernel design.

List the goals of JINI. What are CORBA services? How does operating system support for distributed system?

Goals of JINI

JINI is Sun Microsystems' Java-based technology for building networked services that join and leave a network spontaneously. Its goals are:

  • Network plug and play: a device or software service can be attached to the network and used without manual installation or configuration.
  • Simplicity of use: users get services on demand; administration is minimal.
  • Reliable, self-healing network: services are leased; if a service fails or leaves, its lease expires and it is removed automatically.
  • Service discovery and lookup: clients find services through a lookup service by type, not by address.
  • Platform independence: any device with a Java Virtual Machine can take part; code (proxy) is downloaded dynamically.
  • Scalability and flexibility: small devices and large servers can be federated in one community.

CORBA services

CORBA services (COSS, Common Object Services) are a set of standard, IDL-defined, general-purpose services that every distributed object application needs. Main ones:

  • Naming service: binds names to object references.
  • Event and Notification service: asynchronous communication between objects (suppliers and consumers).
  • Life-cycle service: create, copy, move and delete objects.
  • Persistent object service: store object state on disk.
  • Transaction service: atomic operations across objects.
  • Concurrency control service: locks.
  • Security service: authentication, access control, encryption.
  • Trading service: find objects by properties.
  • Relationship, Query and Time services.

Operating system support for distributed systems

The OS gives the base on which middleware and applications run:

  • Processes and threads: concurrent servers handle many clients at once.
  • Communication primitives: sockets, message passing, RPC support (kernel IPC).
  • Memory management: virtual memory and shared memory for fast local communication.
  • Protection: address spaces and kernel/user mode, access rights on resources.
  • Naming, file and device access: network file systems and remote devices.
  • Scheduling and synchronisation of threads and processes.
  • A microkernel design provides only the basic mechanisms (threads, IPC, memory) so that other services run as user-level servers and can be replaced.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 3 questions →