Interactive

decryption

of

DECT

phone

calls

ABSTRACT

is

a

widely

deployed

standard

mostly

used

for

short

range

wireless

phones.

So

far,

no

method

has

been

published

which

is

able

to

recover

the

audio

signal

in

a

call

that

is

encrypted

and

lasts

only

for

a

few

minutes.In

this

paper,

we

present

a

method

that

recovers

the

audio

signal

sent

from

the

phone

to

its

base

station

in

an

encrypted

call.

To

do

so,

we

use

a

replay-attack

against

the

phone

to

recover

the

key

streams,

which

were

used

to

encrypt

the

call.

The

method

is

applicable

to

short

calls

too,

where

not

enough

keystreams

are

available

to

recover

the

ciphers

key

using

a

key

recovery

on

DSC.

The

method

is

fast

and

practical

and

can

be

executed

at

very

low

cost.

With

more

than

million

devices

sold

worldwide

Digital

Enhanced

Cordless

Telecommunications

(DECT)

is

one

of

the

most

common

standards

for

short

range

cordless

telephones.

Besides

for

phones,

DECT

is

used

for

many

other

applications

like

wireless

payment

systems,

traffic

control,

access

control

and

room

monitoring.

DECT

networks

usually

consists

of

a

single

or

multiple

base

stations

named

DECT

Fixed

Part

(FP)

in

the

standard

and

phones

named

DECT

Portable

Part

(PP)

linked

with

these

base

stations.

For

most

residential

use

cases,

only

a

single

base

station

is

operated

with

a

small

number

of

phones.

A

single

base

Permission

to

make

digital

or

hard

copies

of

all

or

part

of

this

work

for

personal

or

classroom

use

is

granted

without

fee

provided

that

copies

are

not

made

or

distributed

for

profit

or

commercial

advantage

and

that

copies

bear

this

notice

and

the

full

citation

on

the

first

page.

To

copy

otherwise,

to

republish,

to

post

on

servers

or

to

redistribute

to

lists,

requires

prior

specific

permission

and/or

a

fee.

To

protect

sensitive

data

transmitted

over

DECT,

the

standard

provides

authentication

(DECT

Standard

Authentication

Algorithm,

DSAA)

as

well

as

confidentiality

(DECT

Standard

Cipher,

DSC).

Both

algorithms

were

specially

designed

for

DECT

and

are

only

available

to

DECT

device

manufactures

who

sign

a

non-disclosure

agreement.

DSAA

is

responsible

for

the

initial

pairing

of

a

new

phone

with

its

base

station.

It

is

also

used

for

authentication

of

phones

and

base

stations

and

for

key

derivation

to

generate

a

session

key

(Cipher

Key

(CK))

for

DSC

from

the

User

Authentication

Key

(UAK)..

DSC

is

used

for

encryption.

It

is

a

stream

cipher,

which

takes

an

Initialization

Vector

(IV)

and

a

session

key

(cipher

key,

CK)

to

generate

a

key

stream

(cipher

stream,

CS)

from

it.

Besides

the

actual

payload

(voice

data),

parts

of

the

the

control

traffic

(C-channel

traffic)

are

also

encrypted,

which

for

example

contain

the

dialed

number.

We

implemented

a

proof-of-concept

of

our

attack.

As

basis,

we

used

a

DECT

stack

for

the

Linux

kernel,

which

is

available

on

We

needed

to

tweak

three

parts

of

the

stack:.

kernel

We

made

a

small

change

to

the

kernel

code,

that

makes

it

possible

to

update

the

multiframe

number

in

the

kernel

from

the

userland..

libnl

We

added

another

function,

that

passes

a

new

multiframe

number

from

the

userland

to

the

kernel..

libdect

This

library

implements

all

higher

level

functionality

of

the

kernel

stack.

We

added

a

small

change

to

libdect

so

that

a

program

using

libdect

can

pass

a

new

multi

frame

number

to

the

kernel,

using

libnl.

We

also

wrote

a

new

program

that

uses

libdect

to

implement

the

attack

tool.

Because

libdect

already

implemented

much

of

the

functionality

we

needed,

we

were

able

to

implement

the

tool

in

lines

of

C-code..

To

enable

encryption

on

the

link,

we

used

a

cipher

key

CK

with

all

bytes

set

to

zero

so

that

the

kernel

decrypted

all

the

encrypted

traffic

with

this

key.

To

capture

the

encrypted

frames,

we

used

libpcap,

which

is

also

part

of

the

DECT

stack,

which

we

did

not

need

to

modify.

To

reveal

the

keystream,

we

decrypted

the

received

B-field

with

the

cipher

key

again,

which

revealed

the

original

B-field

received

and

then

XORed

the

B-field

with

to

reveal

the

keystreams..

We

used

a

Siemens

Gigaset

phone

to

test

our

code.

During

implementation

and

execution,

we

observed

the

following

effects:.

The

phone

did

accept

changes

of

the

multiframe

number

without

any

problems,

when

the

phone

was

in

idle

mode.

However,

it

sometimes

took

the

phone

a

few

seconds

until

it

was

responsive

again,

after

having

changed

the

multiframe

number..

Changing

the

multiframe

number

after

having

established

a

connection,

but

before

sending

the

CIPHER-REQUEST

message

did

cause

the

phone

to

drop

the

connection..

Sometimes,

the

phone

lost

the

connection

with

our

base

station

and

became

unresponsive.

Stopping

our

base

station

and

starting

it

again

a

few

seconds

later

solved

the

problem.

Restarting

the

phone

or

any

other

kind

of

interaction

with

the

phone

was

never

required,

so

this

would

only

cause

a

delay

in

the

execution

of

the

attack,

but

not

render

it

impossible.

We

are

not

entirely

sure

yet,

whether

this

is

a

problem

on

the

phone

DECT

stack

or

on

our

side..

Sometimes,

we

received

a

few

bits

in

the

B-field

incorrectly,

resulting

in

some

bits

of

the

keystream

recovered

incorrectly.

However,

this

only

creates

minor

variations

in

the

recovered

audio

stream,

which

usually

will

not

be

noticed..

If

this

method

would

be

used

to

recover

a

data-call

(for

example

wireless

internet

access

over

DECT),

this

might

be

a

problem.

One

could

execute

the

attack

multiple

times

to

spot

and

correct

variations

in

the

keystreams

recovered..

We

also

tested

the

attack

successfully

against

a

Siemens

Gigaset

Classic

and

a

T-Sinus

phone.

Another

test

against

an

AVM

FritzFon

failed,

due

to

genereal

problems

with

our

DECT

stack,

not

related

to

the

attack.

O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O B O O B O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O


A

simulation

framework

for

energy-consumption

analysis

of

OS-driven

embedded

applications

Abstract-Energy

consumption

has

become

a

major

focus

in

the

design

of

embedded

systems

(e.g.,

mobile

computing

and

wireless

communication

devices).

In

particular,

a

shift

of

emphasis

from

hardware-oriented

low-energy

design

techniques

to

energy-efficient

embedded

software

design

has

occurred

progressively

in

the

past

few

years.

To

that

end,

various

techniques

have

been

developed

for

the

design

of

energy-efficient

embedded

software.

In

operating

system

(OS)-driven

embedded

systems,

the

OS

has

a

significant

impact

on

the

system's

energy

consumption

directly

(energy

consumption

associated

with

the

execution

of

the

OS

functions

and

services),

as

well

as

indirectly

(interaction

of

the

OS

with

the

application

software).As

a

first

step

toward

designing

energy-efficient

OS-based

embedded

systems,

it

is

important

to

analyze

the

energy

consumption

of

embedded

software

by

taking

the

OS

energy

characteristics

into

account.

To

facilitate

such

studies,

we

present,

in

this

work,

an

energy

simulation

framework

that

can

be

used

to

analyze

the

energy

consumption

characteristics

of

an

embedded

system

featuring

the

embedded

Linux

OS

running

on

the

StrongARM

processor.

The

framework

allows

software

designers

to

study

the

energy

consumption

of

the

system

software

in

relation

to

the

application

software,

identify

the

energy

hot

spots,

and

perform

design

changes

based

on

the

knowledge

of

the

OS

energy

consumption

characteristics

as

well

as

application-OS

interactions.

The

complexity

of

embedded

system

software

and

the

underlying

hardware,

tight

performance

and

power

budgets,

and

aggressive

time-to-market

schedules,

usually

necessitate

the

use

of

sophisticated

runtime

software

support.

In

embedded

systems

where

a

single

processor

executes

many

different

system

tasks

(each

system

task

may

be

further

divided

into

communicating

processes),

the

use

of

an

embedded

operating

system

(OS)

for

runtime

execution

support

is

quite

common.

The

use

of

an

embedded

OS

significantly

impacts

both

performance

and

energy

consumption.

Representative

investigations

of

performance

issues

related

to

the

use

of

an

OS

can

be

found

in

However,

in

modern

microprocessors,

where

idle

or

sleep

Manuscript

received

March

revised

October

This

work

was

supported

by

DARPA

under

Contract

This

paper

was

recommended

by

Associate

Editor

R.

Gupta..

T.

K.

Tan

and

N.

K.

Jha

are

with

the

Department

of

Electrical

Engineering,

Princeton

University,

NJ

USA

(e-mail:

tktan@ee.princeton.edu;

jha@ee.princeton.edu)..

A.

Raghunathan

is

with

NEC

Laboratories

America,

Princeton,

NJ

USA

(e-mail:

anand@nec-labs.com)..

Digital

Object

Identifier

modes

are

usually

exploited

by

software,

performance

optimization

does

not

necessarily

lead

to

energy

optimization.

Not

much

literature

deals

with

energy

consumption

issues

related

to

an

embedded

OS.

The

effect

of

a

real-time

OS

on

the

energy

consumption

of

embedded

software

was

illustrated

in

using

C/OS

and

SPARClite

processor,.

where

it

was

shown

that

the

OS

could

consume

a

significant

portion

of

the

total

energy

consumption.

However,

this

was

just

a

first

step.

Much

remains

to

be

done

to

fully

appreciate

and

model

the

impact

of

an

embedded

OS

on

software

energy

consumption..

In

this

paper,

we

present

an

energy

simulation

framework

that

enables

simulation

of

an

embedded

Linux

OS

on

a

typical

hardware

platform

based

on

the

Intel

StrongARM

processor.

We

have

also

made

this

energy

simulation

framework

available

for

public

use

(please

visit

to

download

our

simulator,

EMSIM).

As

described

in

Section

III,

such

a

simulation

imposes

special

requirements

in

terms

of

modeling

the

functionalities

of

the

hardware

platform.

Function

and

process-based

energy

accounting

has

been

implemented

to

provide

energy

analysis

capability,

enabling

users

to

identify

specific

energy

hot

spots

in

embedded

software

programs,

and

better

guide

code

optimizations..

The

remainder

of

the

paper

is

organized

as

follows.

In

the

next

section,

we

present

some

previous

work

and

highlight

our

contributions.

Section

III

presents

the

design

and

validation

of

our

simulator.

Section

IV

describes

a

case

study

that

demonstrates

the

usefulness

of

our

energy

simulation

framework.

Section

V

discusses

several

limitations

and

design

issues

pertaining

to

our

simulator.

Section

VI

presents

the

conclusion

and

future

work.

Many

instruction-level

energy

simulators

based

on

the

instruction-level

power

modeling

approach

have

emerged

since

its

introduction

in

Applications

of

the

instruction-level

modeling

technique

include

and

enhancement

of

the

basic

ideas

leading

to

either

more

accurate

or

efficient

modeling

techniques

are

presented

in

Mehta

et

al.

described

an

energy

simulator

based

on

the

DLX

architecture

which

they

used

to

evaluate

several

compiler

optimization

techniques

for

low-energy

software.

Li

et

al.

presented

an

energy

simulation

framework

for

an

embedded

hardware-software

system

based

on

Fujitsu's

SPARClite

processor.

Simunic

et

al.

enhanced

cycle-accurate

models

of

an

embedded

system

based

on

the

StrongARM

processor

to

estimate

energy

consumption

and

battery

life.

Such

embedded

system

simulators

could

be

used

to

perform

design

space

exploration

for

low

power.

JouleTrack

a

web-based

energy

simulation

tool,

performs

energy

estimation

using

models

that

separate

the

energy

consumption

into

a

first-order

component

that

depends

only

on

the

operating

frequency

and

voltage,

and

a

second-order

component

that

considers

instruction

statistics.

They

also

presented

techniques

to

separate

out

the

energy

consumption

due

to

leakage

from

the

energy

consumption

due

to

switching..

A

complementary

approach

to

instruction-level

power

modeling

is

through

the

use

of

structure-based

power

modeling.

In

this

approach,

the

power

consumption

of

the

microprocessor

in

each

execution

cycle

is

estimated

by

summing

up

the

power

consumption

of

all

the

active

functional

blocks

in

that

cycle.

The

total

energy

consumption

of

a

program

is

obtained

by

accumulation

of

processor

power

consumption

over

the

IEEE

execution

time.

Some

representative

work

in

this

area

includes

In

order

to

estimate

and

minimize

the

energy

consumption

of

embedded

systems,

it

is

necessary

to

combine

the

energy

models

for

the

processor

with

energy

models

for

other

(heterogeneous)

subsystems

and

components

(e.g.,

memory

subsystem,

system

bus,

display

and

man-machine

interface,

peripherals,

network

subsystem,

power

supply

subsystem,

etc.).

Efforts

in

this

direction

were

presented

in

As

pointed

out

earlier,

the

use

of

embedded

operating

systems

has

gained

popularity

in

the

implementation

of

modern

embedded

systems.

Performance

and

energy

analyses

that

consider

the

embedded

OS

are

very

useful

in

driving

embedded

software

design.

Rosenblum

et

al.

presented

SimOS,

a

machine

simulator

that

simulates

the

hardware

of

MIPS-based

multiprocessors

in

enough

detail

to

boot

and

run

an

essentially

unmodified

version

of

Silicon

Graphics'

IRIX

OS.

Though

not

directly

applicable

to

embedded

systems,

SimOS

was

a

major

attempt

to

conduct

a

detailed

performance

analysis

and

characterization

of

an

OS-included

system.

Energy

analysis

of

a

real-time

OS

was

first

performed

by

Dick

et

al.

who

developed

an

energy

simulation

and

analysis

framework

for

C/OS-SPARClite

based

embedded

systems..

A

similar

work

by

Cignetti

et

al.

modeled

the

power

consumption

of

the

PalmOS

family

of

devices

based

on

discrete

device

states

and

provided

an

energy

simulator

based

on

this

power

model.

Flinn

et

al.

introduced

PowerScope

as

a

hardware

instrumentation

tool

to

map

energy

consumption

to

program

structures

such

as

processes

and

procedures.

Their

method

is

intrusive

in

the

sense

that

a

software

daemon

called

System

Monitor

is

built

into

the

processor

under

test

to

record

the

execution

state

upon

trigger

by

a

current

measuring

multimeter.

A

recent

work

by

Acquaviva

et

al.

also

employed

a

hardware

instrumentation

method

to

perform

energy

characterization

related

to

the

OS.

Situational

awareness

subsystems

are

software

subsystems

used

to

monitor

the

biometric

parameters

of

the

subjects

they

are

attached

to.

They

could

be

installed

on

animals

to

collect

biometric

data

related

to

the

subjects'

behavior.

They

could

also

be

installed

on

firemen,

soldiers,

etc.

Since

these

devices

are

usually

mobile

and

battery-powered,

they

should

be

designed

with

low

energy

consumption

in

mind..

Development

of

software

for

an

embedded

system

like

the

one

above

usually

starts

with

a

specification

in

the

form

of

a

data-flow

diagram.

A

data-flow

diagram

models

the

functionality

of

the

situational

awareness

subsystem.

Implementation

of

the

data-flow

diagram

as

an

actual

embedded

software

program

first

requires

refining

this

specification

to

a

realizable

software

design,

and

subsequently

implementing

the

design

by

performing

the

actual

coding

In

the

following,

we

present

two

designs

of

this

subsystem

and

compare

their

energy

consumption.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A hybrid evolutionary approach for heterogeneous multiprocessor scheduling Abstract-This paper considers the assignment of tasks with interdependencies in a heterogeneous multiprocessor environment where task execution time varies with task as well as the processing element processing it. The solution to this heterogeneous multiprocessor scheduling problem involves the optimization of complete task assignments and processing order within the assigned processors with minimum makespan, subject to the precedence constraint. To solve such a NP-hard combinatorial optimization problem, this paper presents a hybrid evolutionary algorithm that incorporates two local search heuristics that exploits the intrinsic structure of the solution as well as specialized genetic operators to encourage exploration of the search space. The effectiveness and contribution of the proposed features are validated on a set of benchmark problems characterized by different degrees of communication times, task and processor heterogeneities. Simulation results demonstrate the algorithm is capable of finding useful schedules on the set of new benchmark problems.Index Terms-Multiprocessor scheduling, heterogeneous, hybrid evolutionary algorithm, local search, precedence In this paper, we proposed a hybrid evolutionary algorithm (HEA) specifically designed to solve the HMPSP by means of a variable-length chromosome, as well as specialized genetic and local search operators. The starting population is initialized using a random list scheduling heuristic to preserve the precedence relationships between the tasks. The evolutionary process is driven two primary variation operator -a schedule crossover and three variants of the mutation operator -partial exchange, schedule merge, and schedule split; the local search operators on the other hand consists of a partial list scheduling and duplication scheduling approach. Our results showed that the proposed genetic operators, when coupled with the local search operators performed better than in the case where any one of the operators were omitted. For future work, we would like to examine, in more detail, the performance of these scheduling algorithms for larger-sized problems, and if given the opportunity, implement them on actual multiprocessor systems.

O O O O O B B I O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B I I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I I B I B O O O O O O B I I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Real-Time Processing in Client-Server Databases AbstractÐIn this paper, we propose and experimentally evaluate the use of the client-server database paradigm for real-time processing. To date, the study of transaction processing with time constraints has mostly been restricted to centralized or ªsingle-nodeº systems. Recently, client-server databases have exploited locality of data accesses in real-world applications to successfully provide reduced transaction response times. Our objective is to investigate the feasibility of real-time processing in a data-shipping clientserver database architecture. We compare the efficiency of the proposed architecture with that of a centralized real-time database system. We discuss transaction scheduling issues in the two architectures and propose a new policy for scheduling transactions in the client-server environment. This policy assigns higher priorities to transactions that have a greater potential for successful completion through the use of locally available data. Through a detailed performance scalability study, we investigate the effects of client dataaccess locality and various updating workloads on transaction completion rates. Our experimental results show that real-time clientserver databases can provide significant performance gains over their centralized counterparts. These gains become evident when large numbers of clients (more than 40) are attached per server, even in the presence of high data contention. T HE proliferation of network-centric computing has created opportunities for corporations and institutions to support their business cycle with large-scale information systems. Interagency transactions, known collectively as electronic commerce (e-commerce) [11] , [31] , have led to new models of interaction among organizations and individuals. In this environment, the movement/transfer of funds and equity is performed electronically and needs to be completed within predefined deadlines. If implemented effectively, such execution of commercial operations offers a cost-effective means of managing global financial services. Modern commercial applications often require that the duration of their transactions obeys time-constraints in varying degrees and they are based on the efficient interaction among distinct computing systems. Real-Time Systems (RTS) and Client-Server Databases (CS-DBS) are two key areas that can assist in achieving the above goal. Although there has been a great deal of independent research in these two areas, their aggregation has not been investigated at all.. In a real-time system, tasks submitted to the system for execution have deadlines imposed by the application requirements. By utilizing elegant scheduling techniques and exploiting a priori knowledge of the nature of the tasks, RTSs have been designed so that time constraints on individual jobs are met with as small a percentage of missed deadlines as possible [1] , [12] , [22] , [29] , [38] . On a separate track, client-server databases have been designed to take advantage of rapid improvements in computing power and increasing network data transfer capabilities in order to provide high throughput rates. This performance enhancement has been derived by effectively utilizing the resources available in a network of clients [7] , [41] , [42] . While algorithms for scheduling real-time tasks [1] , [15] , [18] , [29] , real-time multiprocessor systems [6] , [30] , [27] , and the assignment of tasks in distributed environments [22] have been addressed, there has been no coverage of real-time issues in the popular client-server database paradigm [8] , [10] , [23] , [40] . In this paper, we make the case for real-time transaction processing in a CS-DBS environment and provide indicators of the performance and scalability of such systems. Our objective is to establish, through experimental means, the viability and the usefulness of the proposed framework.. In real-time database systems (RTDBS), transactionsÐ that involve nonnegligible I/O operationsÐare scheduled with constraints on their required completion time. Time constraints are usually specified in the form of deadlines. A deadline is the latest possible time by which a transaction must complete in order to be useful. Therefore, an important measure of the effectiveness of a RTDBS is the percentage of transactions that are completed within their specified deadlines. In this paper, we investigate the performance of a CS-DBS in the presence of real-time tasks. The aggregation of these two areas is termed Client-Server Real-Time Databases (CS-RTDBSs). In the proposed framework, we use the resources available at client sites and exploit intertransaction data caching in order to support real-time processing. A centralized server-based real-time database system (CE-RTDBS) is used as the baseline case. This baseline is used to determine the operational parameters and workloads under which a CS-RTDBS configuration can offer promising performance results. We chose not to use a distributed real-time database system as the baseline for two reasons: 1) Most current implementations of real-time databases are centralized and 2) in the absence of transactionshipping between multiple database nodes, the flexibility of a distributed database system is limited.. Although client sites in this paper often seem to be directly accessible by users, that need not necessarily be the case. A formed clusterÐbetween the client sites and their supporting serverÐcan be used as the ªnucleusº system configuration running applications on a dedicated and/or a virtual private network (VPN). Users submit their transactions/requests from the ªperipheryº of this nucleus. Requests are handled by client sites that demonstrate physical proximity to users and/or load balancing and sharing considerations. For example, consider a bank with multiple internetworked branches connected and operating as a client-server system. Here, employees of any one branch would only have to communicate with the client site serving their branch. Account data for customers of a bank that initiate transactions at any branch would be cached at the client site serving that branch and used for their banking needs. The proposed CS-RTDBS configuration can be used to facilitate the effective development of a wide range of application systems. This set of application software includes:. 1. Highly Available Database Services: Such database systems make up the core of many telecommunication operations and their goal is to not only manage voluminous data in real-time conditions with virtually zero downtime, but also to provide customers with advanced billing options and services. Data fragmentation and a shared-nothing approach have been proposed as a way to develop such services [19] . Real-time transaction scheduling in such environments is the focus of this paper. 2. Multimedia-Server Architectures: The storage of a very large number of multimedia sources can only be accommodated by multiple cooperating servers. The latter can respond to rapidly changing workload characteristics while complying with prespecified quality-of-service requirements. In this context, new strategies for data placement in video/audio applications operating in variable bit-rate and 3D interactive virtual worlds are matters of recent proposals [34] . 3. Ultrafast Internet Content Delivery: There exist multiple concurrent efforts that attempt to bring web content closer to the requesting user. This can be either by using multiple proxies or content facilities around the globe and trying to always furnish ªupdatedº content. These facilities could be implemented as clusters of sites with characteristics similar to those advocated in this paper. As network-centric computing becomes commonplace in today's business environments, client-server platforms handling time-constrained requests emerge as the dominant framework for transaction processing. In this paper, we propose the usage of the client-server database paradigm for handling requests with time constraints. The resulting configuration takes advantage of the available client resources and schedules requests locally. We have established the viability of the Client-Server RealTime Database (CS-RTDBS) configuration by contrasting its performance with a comparable centralized system (CE-RTDBS) in a number of diverse workload settings. For our experimental study, we have developed prototype packages for both systems using the Solaris 2.5 socket and thread libraries and a database system library which allows paged I/O.. The results of our experimental effort indicate that:. . For workloads with usual to large database update selectivities (i.e., 1 percent and 5 percent of all data access modify data), the CE-RTDBS offers better performance than the CS-RTDBS when the number of clients is small. As the number of clients attached to the server is increased, the CS-RTDBS is consistently more efficient. For all three workloads that we examined, the performance of the centralized system degrades very rapidly as the number of clients increases. . When the percentage of updates is significantly increased to 20 percent, the CE-RTDBS performs better than or equal to the CS-RTDBS for the Normal database access pattern and for the overload situation with the Localized-RW access scheme. . The scheduling strategy used to assign priorities to transactions affects the performance of the CE-RTDBS (in terms of percentage of transactions completed within their deadlines) much more significantly than that of the CS-RTDBS. In the CS-RTDBS, the transaction scheduling strategy based on the local availability of data (LAD) performs as well as ED when database clients demonstrate locality in their object accesses. The LS policy performs better consistently; however, in the absence of accurate transaction execution times, the ED and LAD disciplines provide viable alternatives for effective scheduling at client sites. . The time spent by transactions awaiting server data is seen as a very significant factor affecting the performance of the CS-RTDBS. Thus, the minimization of server-related delaysÐby using intertransaction caching of data objects/locksÐand allowing independent transaction scheduling at the clients serve as the enablers for higher CS transaction completion rates. Based on the results of the experimentation, we believe that the client-server paradigm is an effective and scalable alternative to the centralized model for real-time transaction processing.. We plan to extend our work while pursuing at least three different directions: 1) techniques that enhance the basic data-shipping model and improve its real-time processing capabilities, the adaptive merging of data and queryshipping based on the location of data within the system is such a method; 2) distributed speculative transaction processing, where the use of additional system resources can provide lock conflict resolution and minimize the occurrences of transaction rollback and blocking; and 3) logical clustering of database clients based on their data access patternsÐthis can significantly reduce the load on the object server and result in reduced transaction blocking. F For more information on this or any computing topic, please visit our Digital Library at http://computer.org/publications/dlib. There exists an extensive body of research in real-time systems indirectly related to our work. Here, we highlight a number of representative works that investigate issues in scheduling of real-time jobs, design issues in RTSs, and resource management in multiprocessor and distributed settings.. In [1] , scheduling methods for database transactions are proposed and concurrency control policies are investigated through experimentation. The management of concurrent transactions in real-time settings is further discussed in [15] , [18] . A family of speculative concurrency control techniques is proposed in [4] . Here, potentially costly delays due to blocking and roll-backs are avoided with the use of additional shadow transactions that guard incomplete database transactions. Haritsa et al. [16] propose the Adaptive Earliest Deadline scheduling algorithm (AED). To overcome the observed disadvantages of the Earliest Deadline First algorithm (ED) in a heavily loaded RTDBS, AED features a feedback control mechanism that detects overload conditions and modifies transaction priority assignments accordingly. An alternative approach for realtime database systems is presented in [36] . Deadlines are associated with ªcontingency constraintsº rather than directly with transactions.. The architectural design of StarBase is reported in [24] . StarBase is a firm RT-DBS based on the RT-Mach OS and the concept of precise serialization is used to reduce transaction aborts. The imprecise-computation model is augmented so that it accounts for input errors and real-time constraints in [12] . In this context, heuristic algorithms for the scheduling of preemptive and composite tasks are proposed and examined using a suite of simulation experiments. In [22] , the fact that general complex distributed tasks consist of subtasks is exploited by the proposed scheduling algorithms. Here, it is assumed that such subtasks may be carried out in parallel.. The problem of scheduling tasks with deadlines and resource requirements is discussed in [30] in the context of two multiprocessor models (shared and local memory). In [6] , the analysis of both online and offline schemes for multiple processors running the rateÐmonotonic scheduling algorithm is presented. Assignment of priorities in tive real-time multiprocessor environments is discussed in [35] . Three policies that take into account the amount of active work generated by transactions are proposed and their behavior is investigated with simulation experiments.. In contrast to the above efforts, our approach not only advocates usage of the CS model, but also makes opportunistic use of client resources. It is this type of distributed processing that, in many instances, can produce higher completion rates for real-time transactions in comparison to centralized systems.

O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


What do faculty and students really think about e-books? ABSTRACT: This article reports on a large-scale survey of nearly two thousand faculty and students at one institution, University College London, and profiles their use and perceptions of ebooks. The context for the study is an action research project, CIBER's SuperBook, that will further investigate the issues raised in this initial benchmarking survey using deep log analysis and qualitative methods. The survey findings point to various ways in which user uptake and acceptance of e-books may be encouraged. Book discovery behaviour, a key issue for publishers and librarians in both print and electronic environments, emerges as a critical focus for service delivery and enhancement.Until very recently, research into how digital resources are used within the academy has focused primarily on journals. Considerable steps have been made by CIBER in understanding journal user behaviour, through groundbreaking studies of Emerald, Blackwell Synergy, OhioLINK, and Oxford Open journal platforms. These studies led on the analysis of the digital "fingerprints" left by the users of electronic journals. However, the virtual scholar uses a much wider range of digitally delivered content to achieve their research, teaching and learning goals. As a first step towards a more rounded picture of how digital resources are used, we are now subjecting e-books, the new kid on the block, to the same robust approach that we have previously reserved for journals.There is much talk about the market potential for e-books, especially in a higher education context, but few robust user studies. This is worrying because e-books have, arguably, greater potential to change the information landscape than journals. We are addressing this issue through SuperBook, an action research study, funded by Wiley, Emerald and CIBER, which involves 'dropping' about three thousand carefully selected e-texts into the UCL community and then

O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Design Methods of Radix Converters Using Arithmetic Decompositions In arithmetic circuits for digital signal processing, radixes other than two are often used to make circuits faster. In such cases, radix converters are necessary. However, in general, radix converters tend to be complex. This paper considers design methods for p-nary to binary converters. First, it considers Look-Up Table ( LUT) cascade realizations. Then, it introduces a new design technique called arithmetic decomposition by using LUTs and adders. Finally, it compares the amount of hardware and performance of radix converters implemented by FPGAs. 12-digit ternary to binary converters on Cyclone II FPGAs designed by the proposed method are faster than ones by conventional methods. Arithmetic operations of digital systems usually use radix two [9] . However, in digital signal processing, for high speed operations, p-nary (p > 2) numbers are often used [2] , [6] . In such cases, conversions between binary numbers and p-nary numbers are necessary. Such an operation is called radix conversion [3] , [8] . Various methods exist to convert p-nary numbers into binary numbers. Many of them require large amount of computation. Especially when the radix conversion is implemented by a random logic circuit, the network tends to be quite complex [7] . Radix converters can be implemented by table lookup. That is, to store the conversion table in the memory. This method is fast but requires a large memory.. In [11] , LUT cascade realizations [10] of binary to ternary converters, ternary to binary converters, binary to decimal converters, and decimal to binary converters are presented. In [13] , the concept of weighted-sum functions (WS functions) is used to design radix converters by using LUT cascades.. In this paper, we consider the design of circuits that convert p-nary numbers into binary numbers by using arithmetic decomposition [12] . We also consider the implementations on field programmable gate arrays (FPGAs). For readability, we use examples for p = 3, however the meth- ods can be easily extended to any prime number p. A preliminary version of this paper was presented at ISMVL-2006 [4] . In this paper, we presented arithmetic decompositions to design p-nary to binary converter. We used ternary to binary converters to illustrate the idea. We also implemented the converts on FPGAs to confirm the effectiveness of the methods. An interesting future work is the extension to radix converters for signed-digit numbers.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Characteristic Generators and Dualization for Tail-Biting Trellises This paper focuses on dualizing tail-biting trellises, particularly KV trellises. These trellises are based on characteristic generators, as introduced by Koetter-Vardy (2003), and may be regarded as a natural generalization of minimal conventional trellises, even though they are not necessarily minimal. Two dualization techniques will be investigated: the local dualization, introduced by Forney (2001) for general normal graphs, and a linear-algebra-based dualization tailored to the specific class of tail-biting Bahl-Cocke-Jelinek-Raviv (BCJR) trellises, introduced by Nori-Shankar (2006). It turns out that, in general, the BCJR dual is a subtrellis of the local dual, while for KV trellises these two coincide. Furthermore, making use of both the BCJR construction and the local dualization, it will be shown that for each complete set of characteristic generators of a code there exists a complete set of characteristic generators of the dual code such that their resulting KV trellises are dual to each other if paired suitably. This proves a stronger version of a conjecture formulated by Koetter-Vardy. I T is well known that for a given linear block code, a tailbiting trellis may be smaller than the minimal conventional trellis with respect to any of the various notions of complexity of a trellis; see the discussion in [11, Sec . III]. Since iterative decoding on tail-biting trellises is well understood (as opposed to decoding on more general graphs with cycles), this has led to an increased interest in the construction of minimal tail-biting trellises; see also [11] , [13] , and [16] - [19] . A major breakthrough has been obtained by Koetter and Vardy [11] . They showed that for each -dimensional linear block code of length with full support there exists a list of characteristic generators, each endowed with a span interval, such that every minimal linear tail-biting trellis of the code is structurally isomorphic to a product of the elementary trellises of linearly independent characteristic generators (where structurally isomorphic means trellis isomorphic, but disregarding the edge labels); see [11, Th. 5.5] and the adjustments in [9, Prop. III.14, Th. III.15] . Here minimality refers to any of the standard complexity notions for linear tail-biting trellises discussed in [11] . Moreover, the same results show that for each minimal linear trellis there is a suitable choice of linearly independent characteristic generators such that the given trellis is isomorphic to the resulting product trellis. This shows a major difference from conventional trellises: while the minimal linear conventional trellis of a block code is unique up to trellis isomorphism, this is not the case in the tail-biting situation-again, this refers to any minimality notion. Not only may there exist minimal linear trellises with incomparable state or edge complexity profiles, but even if both these profiles coincide for two minimal trellises, the trellises may not be isomorphic (but they are structurally isomorphic due to [9, Prop. III.14] ).. We will use the term KV trellises for product trellises based on linearly independent characteristic generators as described above. From the construction performed in [11] , it follows that characteristic generators may be regarded as a generalization of minimum-span generator matrices (MSGMs) in the realm of conventional trellises [15, Def. 6.2] , also called trellis-oriented generator matrices [12, Sec. IV] or shortest bases in the sense of [5] . As a consequence, KV trellises, though not minimal in general, form a natural generalization of minimal conventional trellises, and indeed, they have much nicer properties than more general tail-biting trellises.. In [9] , two trellis constructions based on generators with span intervals have been investigated: the product construction and the Bahl-Cocke-Jelinek-Raviv (BCJR) construction, introduced by Nori and Shankar [16] . It has been shown that, in general, a BCJR trellis is smaller than the corresponding product trellis. For KV trellises, however, these two constructions are isomorphic [9, Th. IV.11] , and KV trellises are nonmergeable. Another demonstration of the distinctiveness of KV trellises will be given in this paper. It will be shown that KV trellises behave significantly more nicely under dualization than more general trellises.. We will investigate two dualization techniques for tail-biting trellises. Both lead to trellises representing the dual code. The first construction is a specialization of the local dualization introduced by Forney [4] for general normal graphs, resulting in the normal graph duality theorem. It amounts to dualizing the transition spaces along with a sign inverter. Different proofs of the same result have recently been presented in [1] , [6] , [7] , and [14] . Even though the local dualization is a very elegant and convenient construction, for tail-biting trellises it may lead to dual trellises with some undesirable properties; see Example III.2. The second construction is a simple-linear-algebra-based dualization for BCJR trellises as introduced by Nori and Shankar [16] . In Section III, we will see that the BCJR-dual is a subtrellis of the local dual and that for KV trellises these duals coincide. Furthermore, as we will show in Section IV, the dual of a KV trellis is a KV trellis again and thus shares all their nice properties.. More specifically, in Section IV, we will prove that for each set of characteristic generators of a given code , there exists a set of characteristic generators of the dual code such that the dual of each KV trellis of based on the chosen generators is a KV trellis of based on the dual generators. We will construct the list of dual generators explicitly and also show the direct link between the linearly independent characteristic generators for and the dual characteristic generators that give rise to the dual KV trellis. In fact, this link is easily described because Koetter and Vardy have shown [11, Th. 5.12] that the characteristic span list of is simply obtained by reversing the characteristic spans of . The construction of the list of dual generators is quite technical. Its proofs are relegated to the Appendix.. Let us close this section by introducing the basic notions needed for this paper. Throughout, a tail-biting trellis of depth over the finite field is a directed edge-labeled graph with the property that the vertex set partitions into disjoint sets such that every edge in that starts in ends in and is labeled with a field element. The edges will be represented as triples and thus the edge set decomposes into where . Notice that we compute modulo on the time axis . Referring to the familiar dynamical interpretation, we call the state space of the trellis at time , and its elements are the states at that time. The edges reflect the present-state to next-state transitions, and therefore the sets will be called transition spaces. These spaces have also been called trellis sections [3] , [8] or local constraints [4] .. A cycle in is a closed path of length . We always assume that the cycles start and end (at the same state) in . If , the trellis is conventional. We call the trellis reduced if every state and every edge appear in at least one cycle. The trellis is called biproper if any two edges starting at the same vertex or ending at the same vertex are labeled distinctly. The trellis is called one to one if distinct cycles in have distinct edge-label sequences.. We will consider only linear codes and linear trellises. A trellis is called linear if each state space is a vector space over and each transition space is a subspace of . The full behavior , where and , is then a linear subspace of . We say that represents the code such that , which is evidently a subspace of . The state complexity profile (SCP) and edge complexity profile (ECP) of are defined as SCP and ECP , where and . Throughout this paper, the notion of minimality for tail-biting trellises refers to any of the orderings discussed by Koetter and Vardy in [11, Sec. III] . While for conventional trellises all these minimality notions coincide, this is not the case for tail-biting trellises. In [11, Th. 5.5, Th. 5.6] and [9, Th. III.15] , it has been shown that a minimal trellis (with respect to any of those orderings) is a KV trellis in the sense of our Definition II.4. In this paper, we will be concerned with KV trellises, and a specific notion of minimality will not be needed.. As usual, linear trellises and are called isomorphic if there exists a bijection such that is an isomorphism and for all . Obviously, isomorphic trellises represent the same code.. Finally, we fix the following notation pertaining to the code under consideration. Throughout, let be a -dimensional code with support (I.1). where the latter means that for each there exists a codeword such that . Here, and denote the row space and left kernel of the matrix , respectively. We assume , hence , and will explicitly state when and thus is a full row rank encoder matrix. Throughout, is a full row rank parity check matrix. Furthermore, let . . . The local dualization introduced by Forney [4] applies to general normal graphs. We have shown that using this dualization for tail-biting trellises leads to some unexpected results. While the dual of a KV trellis is a KV trellis again and therefore shares all the nice properties of this class of trellises, the dual of a more general trellis may lack some basic properties. This has been illustrated in Example III.2. Specifically, the comparison of Examples III.2(2) and III.6 shows that it is not obvious how to distinguish reduced, one-to-one, and nonmergeable trellises with a reduced dual from those where the dual is not reduced. In the last paragraph of Section III, we have briefly elaborated on this and presented the equivalence equation (III.4) addressing this question. The details will be worked out in a forthcoming paper. However, the only characterization in (III.4) in terms of the primal trellis (the very leftmost one) depends on the BCJR representation of the given trellis, and thus is coordinate dependent. Therefore, (III.4) does not reveal which trellis properties are responsible for a well-behaved dual. Finding such intrinsic characterizations for the quality of the dual trellis is the subject of ongoing research.. " " Let for some . Using we obtain . Hence, (A.2) implies for all . By assumption the matrix is nonsingular, and therefore . As a consequence, for all . But then Notation IV.4(2) tells us that for each such that (we index the vector by in consistence with the rows of ). Since no span is empty, this results in . This shows . " " Assume . Then, , and the matrices are the state space matrices of the BCJR trellis , where . Let for some . We first show that for all and . To this end notice that by Notation IV.4(1), (2) along with Definition II.4(ii) we have if and if . If , then Proposition IV.5(c) yields in . Thus, in all cases. Now we have . By Notation IV.4(1) and (2) again, the latter space turns out to be , and since was arbitrary, this proves . Using that is a KV trellis, we may apply Theorem II.13 and conclude that . As a consequence, is linearly independent, and this concludes the proof.. Proof of Proposition IV.11: 1) Recall that by property ii) of Definition II.4 every index is contained in exactly characteristic spans. Thus, with the aid of Notation IV.4(1) and (2), and we compute . But the last quantity equals due to Proposition IV.8. This establishes . The nondegeneracy of the bilinear form follows once we have shown that and . The second identity follows from the first one along with . For the first identity, let for some . Then, for all such that . Along with Proposition IV.5(c) this leads to for all . But due to Proposition IV.8 the matrix is nonsingular and thus we conclude . 2) We first show . We have to prove , where are the transition spaces of . The rows of are given by for , where is as in Proposition IV.5(d). Using that is a submatrix of for all , that proposition shows that . For the converse we will prove that the two spaces have the same dimension. Let and . . It remains to show that is isomorphic to the trellis . For this remember that the latter has state spaces and transition spaces , where is as in Definition II.1 based on the span list . As a consequence, the rows of with index such that are linearly independent, and all other rows are zero. Comparing this with (IV.3), we see that induces a well-defined isomorphism between and . Now the very definitions of the transition spaces of and show that this gives rise to a trellis isomorphism. This concludes the proof.

B I O B O B I O O O O O B I O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O B I O O O O O B O O O O O O O O B O O B I O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On the generalization of the Costas property in the continuum We extend the definition of the Costas property to functions in the continuum, namely on intervals of the reals or the rationals, and argue that such functions can be used in the same applications as discrete Costas arrays. We construct Costas bijections in the real continuum within the class of piecewise continuously differentiable functions, but our attempts to construct a fractal-like Costas bijection there are successful only under slight but necessary deviations from the usual arithmetic laws. Furthermore, we are able, contingent on the validity of Artin's conjecture, to set up a limiting process according to which sequences of Welch Costas arrays converge to smooth Costas bijections over the reals. The situation over the rationals is different: there, we propose an algorithm of great generality and flexibility for the construction of a Costas fractal bijection. Its success, though, relies heavily on the enumerability of the rationals, and therefore it cannot be generalized over the reals in an obvious way. Costas arrays [3] have been an active topic of research for more than 40 years now; however, after 1984, when 2 algebraic construction methods for Costas arrays were published (the Welch and the Golomb method [7] ), still the only ones available today, there has been effectively no progress at all in the construction of new Costas arrays, with the obvious exception of brute force searches. Recent research on Costas arrays tends to focus on the discovery of new properties [6, 5, 10] , hoping that they will either furnish some lead for a new construction method, or prove that such a method does not exist, and thus overcome the current virtual stalemate in the core problems of the field.. In line with this effort, it is likely that research on Costas arrays would benefit by the extension of the definition of the Costas property in the continuum, for 2 reasons: on the one hand, this might open the door to assistance from the entire arsenal of analysis, as was the case with the successful generalization of the factorial in terms of the Gamma function; on the other hand, the recent advances in the subject of the Instantaneous Frequency of a signal [8] make it possible to design signals with continuously varying frequencies instead of piecewise constant frequencies, such as the usual discrete Costas arrays model, and there might be benefits in doing so. And besides, such objects certainly have an intrinsic pure mathematical merit for study.. In this work, we propose a suitable extension of the definition of the Costas property in the continuum (which we take here to mean the real and rational numbers), and we explain how the existing discrete Costas permutations can be used to generate continuum Costas permutations. Note that, in accordance with common practice in recent literature, we will be using the terms "Costas permutation" and "Costas array" interchangeably. In this work, we have made 4 main and original contributions to the subject of Costas arrays:. • We defined the Costas property on a real continuum function in 2 ways, through distance vectors between points and through the autocorrelation, and we showed that the 2 definitions are equivalent. We also showed that real continuum Costas bijections can be used in the same applications as discrete Costas arrays, by designing signals with the appropriate instantaneous frequency, which has been made possible by the recent advances in the field. Subsequently, we studied similarly the Costas property on rational continuum functions. Essentially, we have now translated the entire framework of Costas arrays in the continuum.. • We showed that real continuum Costas bijections exist and we offered some examples; we characterized completely the continuously differentiable Costas bijections in terms of the monotonicity of their derivative, and we also obtained some good results for the case where the bijections are only piecewise continuously differentiable.. • We investigated whether it is possible to construct fractal bijections with the Costas property, perhaps by employing discrete Costas arrays as building blocks. We answered that in the affirmative under nonstandard arithmetic laws (where addition and subtraction take place without carry, or where the contribution of the least significant digits of the points to their distance is deemphasized) in the real continuum; under ordinary arithmetic we have no reason to believe that the result still holds true.. • We proposed a very general and flexible algorithm for the construction of Costas permutations over the rationals, that is not, however, entirely constructive. We were also able to formulate such a constructive algorithm, but its applicability is limited over a subset of the rationals.. Overall, it comes to us as a surprise that it was relatively simple to construct smooth continuum functions with the Costas property, whereas all efforts to create a fractal Costas real bijection were unsuccessful (under ordinary arithmetic). Intuitively, given the irregularity of discrete Costas arrays, we would expect the known construction methods for Costas arrays to generalize in a natural way in the real continuum leading to a fractal; however, a direct recursion, such as our attempt in Section 5, seems to be inappropriate, unless we change the arithmetic we use. It may still be possible to construct a Costas fractal bijection based on discrete Costas arrays through a different, less obvious mechanism, and we challenge the reader to discover such a mechanism.

O O O O O B I O O B O O O O O O B I O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O