Operating Systems : Design and Implementation – Textbook Only [Student Edition]

Operating Systems : 

Design and Implementation – Textbook Only

 [Student Edition]


Description

The Second Edition of this best-selling introductory operating systems text is the only textbook that successfully balances theory and practice. The authors accomplish this important goal by first covering all the fundamental operating systems concepts such as processes, interprocess communication, input/output, virtual memory, file systems, and security. These principles are then illustrated through the use of a small, but real, UNIX-like operating system called MINIX that allows students to test their knowledge in hands-on system design projects. Each book includes a CD-ROM that contains the full MINIX source code and two simulators for running MINIX on various computers.

Details

  • Hardcover: 939 pages
  • Publisher: Prentice Hall, Inc.; 2nd Edition 1997 edition (1997)
  • Language: English
  • ISBN-10: 0003458903
  • ISBN-13: 978-0003458909
  • Shipping Weight: 4 pounds


Contents:

CHAPTER 1 INTRODUCTION 1

1.1 WHAT IS AN OPERATING SYSTEM? 3
1.1.1 The Operating System as an Extended Machine 3
1.1.2 The Operating System as a Resource Manager 4

1.2 HISTORY OF OPERATING SYSTEMS 5
1.2.1 The First Generation (1945-55) Vacuum Tubes and Plugboards 6
1.2.2 The Second Generation (1955-65) Transistors and Batch Systems 6
1.2.3 The Third Generation (1965-1980): ICs and Multiprogramming 8
1.2.4 The Fourth Generation (1980-Present): Personal Computers 12
1.2.5 History of MINIX 13

1.3 OPERATING SYSTEM CONCEPTS 15
1.3.1 Processes 15
1.3.2 Files 17
1.3.3 The Shell 20

1.4 SYSTEM CALLS 21
1.4.1 System Calls for Process Management 22
1.4.2 System Calls for Signaling 26
1.4.3 System Calls for File Management 28
1.4.4 System Calls for Directory Management 33
1.4.5 System Calls for Protection 35
1.4.6 System Calls for Time Management 36

1.5 OPERATING SYSTEM STRUCTURE 37
1.5.1 Monolithic Systems 37
1.5.2 Layered Systems 39
1.5.3 Virtual Machines 40
1.5.4 Client-Server Model 42

1.6 OUTLINE OF THE REST OF THIS BOOK 44

1.7 SUMMARY 44


CHAPTER 2 PROCESSES 47

2.1 INTRODUCTION TO PROCESSES 47
2.1.1 The Process Model 48
2.1.2 Implementation of Processes 52
2.1.3 Threads 53

2.2 INTERPROCESS COMMUNICATION 57
2.2.1 Race Conditions 57
2.2.2 Critical Sections 58
2.2.3 Mutual Exclusion with Busy Waiting 59
2.2.4 Sleep and Wakeup 63
2.2.5 Semaphores 66
2.2.6 Monitors 68
2.2.7 Message Passing 72

2.3 CLASSICAL IPC PROBLEMS 75
2.3.1 The Dining Philosophers Problem 75
2.3.2 The Readers and Writers Problem 77
2.3.3 The Sleeping Barber Problem 80

2.4 PROCESS SCHEDULING 82
2.4.1 Round Robin Scheduling 84
2.4.2 Priority Scheduling 85
2.4.3 Multiple Queues 86
2.4.4 Shortest Job First 87
2.4.5 Guaranteed Scheduling 89
2.4.6 Lottery Scheduling 89
2.4.7 Real-Time Scheduling 90
2.4.8 Two-level Scheduling 92
2.4.9 Policy versus Mechanism 93

2.5 OVERVIEW OF PROCESSES IN MINIX 93
2.5.1 The Internal Structure of MINIX 93
2.5.2 Process Management in MINIX 95
2.5.3 Interprocess Communication in MINIX 97
2.5.4 Process Scheduling in MINIX 98

2.6 IMPLEMENTATION OF PROCESSES IN MINIX 98
2.6.1 Organization of the MINIX Source Code 99
2.6.2 The Common Header Files 102
2.6.3 The MINIX Header Files 107
2.6.4 Process Data Structures and Header Files 112
2.6.5 Bootstrapping MINIX 120
2.6.6 System Initialization 122
2.6.7 Interrupt Handling in MINIX 128
2.6.8 Interprocess Communication in MINIX 137
2.6.9 Scheduling in MINIX 140
2.6.10 Hardware-Dependent Kernel Support 142
2.6.11 Utilities and the Kernel Library 145

2.7 SUMMARY 147


CHAPTER 3 INPUT/OUTPUT 153

3.1 PRINCIPLES OF I/O HARDWARE 154
3.1.1 I/O Devices 154
3.1.2 Device Controllers 155
3.1.3 Direct Memory Access (DMA) 157

3.2 PRINCIPLES OF I/O SOFTWARE 159
3.2.1 Goals of the I/O Software 159
3.2.2 Interrupt Handlers 161
3.2.3 Device Drivers 161
3.2.4 Device-Independent I/O Software 162
3.2.5 User-Space I/O Software 164

3.3 DEADLOCKS 166
3.3.1 Resources 167
3.3.2 Principles of Deadlock 168
3.3.3 The Ostrich Algorithm 170
3.3.4 Detection and Recovery 172
3.3.5 Deadlock Prevention 173
3.3.6 Deadlock Avoidance 175

3.4 OVERVIEW OF I/O IN MINIX 179
3.4.1 Interrupt Handlers in MINIX 180
3.4.2 Device Drivers in MINIX 181
3.4.3 Device-Independent I/O Software in MINIX 185
3.4.4 User-level I/O Software in MINIX 185
3.4.5 Deadlock Handling in MINIX 186

3.5 BLOCK DEVICES IN MINIX 187
3.5.1 Overview of Block Device Drivers in MINIX 187
3.5.2 Common Block Device Driver Software 190
3.5.3 The Driver Library 193

3.6 RAM DISKS 195
3.6.1 RAM Disk Hardware and Software 196
3.6.2 Overview of the RAM Disk Driver in MINIX 197
3.6.3 Implementation of the RAM Disk Driver in MINIX 198

3.7 DISKS 200
3.7.1 Disk Hardware 200
3.7.2 Disk Software 202
3.7.3 Overview of the Hard Disk Driver in MINIX 208
3.7.4 Implementation of the Hard Disk Driver in MINIX 211
3.7.5 Floppy Disk Handling 220

3.8 CLOCKS 222
3.8.1 Clock Hardware 223
3.8.2 Clock Software 224
3.8.3 Overview of the Clock Driver in MINIX 227
3.8.4 Implementation of the Clock Driver in MINIX 230

3.9 TERMINALS 235
3.9.1 Terminal Hardware 235
3.9.2 Terminal Software 240
3.9.3 Overview of the Terminal Driver in MINIX 249
3.9.4 Implementation of the Device-Independent Terminal Driver 264
3.9.5 Implementation of the Keyboard Driver 282
3.9.6 Implementation of the Display Driver 288

3.10 THE SYSTEM TASK IN MINIX 296

3.11 SUMMARY 304

CHAPTER 4 MEMORY MANAGEMENT 309

4.1 BASIC MEMORY MANAGEMENT 310
4.1.1 Monoprogramming without Swapping or Paging 310
4.1.2 Multiprogramming wiith Fixed Partitions 311

4.2 SWAPPING 313
4.2.1 Memory Management with Bit Maps 316
4.2.2 Memory Management with Linked Lists 317

4.3 VIRTUAL MEMORY 319
4.3.1 Paging 319
4.3.2 Page Tables 322
4.3.3 TLBs-Translation Lookaside Buffers 327
4.3.4 Inverted Page Tables 330

4.4 PAGE REPLACEMENT ALGORITHMS 331
4.4.1 The Optimal Page Replacement Algorithm 331
4.4.2 The Not-Recently-Used Page Replacement Algorithm 332
4.4.3 The First-In, First-Out (FIFO) Page Replacement Algorithm 333
4.4.4 The Second Chance Page Replacement Algorithm 333
4.4.5 The Clock Page Replacement Algorithm 334
4.4.6 The Least Recently Used (LRU) Page Replacement Algorithm 334
4.4.7 Simulating LRU in Software 336

4.5 DESIGN ISSUES FOR PAGING SYSTEMS 338
4.5.1 The Working Set Model 338
4.5.2 Local versus Global Allocation Policies 339
4.5.3 Page Size 341
4.5.4 Virtual Memory Interface 343

4.6 SEGMENTATION 343
4.6.1 Implementation of Pure Segmentation 347
4.6.2 Segmentation with Paging: MULTICS 348
4.6.3 Segmentation with Paging: The Intel Pentium 352

4.7 OVERVIEW OF MEMORY MANAGEMENT IN MINIX 356
4.7.1 Memory Layout 358
4.7.2 Message Handling 361
4.7.3 Memory Manager Data Structures and Algorithms 363
4.7.4 The FORK, EXIT, and WAIT System Calls 367
4.7.5 The EXEC System Call 368
4.7.6 The BRK System Call 371
4.7.7 Signal Handling 372
4.7.8 Other System Calls 378

4.8 IMPLEMENTATION OF MEMORY MANAGEMENT IN MINIX 379
4.8.1 The Header Files and Data Structures 379
4.8.2 The Main Program 382
4.8.3 Implementation of FORK, EXIT, and WAIT 382
4.8.4 Implementation of EXEC 385
4.8.5 Implementation of BRK 386
4.8.6 Implementation of Signal Handling 387
4.8.7 Implementation of the Other System Calls 393
4.8.8 Memory Manager Utilities 394

4.9 SUMMARY 396

CHAPTER 5 FILE SYSTEMS 401

5.1 FILES 402
5.1.1 File Naming 402
5.1.2 File Structure 404
5.1.3 File Types 405
5.1.4 File Access 407
5.1.5 File Attributes 408
5.1.6 File Operations 409

5.2 DIRECTORIES 410
5.2.1 Hierarchical Directory Systems 411
5.2.2 Path Names 412
5.2.3 Directory Operations 414

5.3 FILE SYSTEM IMPLEMENTATION 415
5.3.1 Implementing Files 415
5.3.2 Implementing Directories 419
5.3.3 Disk Space Management 422
5.3.4 File System Reliability 424
5.3.5 File System Performance 429
5.3.6 Log-Structured File Systems 432

5.4 SECURITY 434
5.4.1 The Security Environment 434
5.4.2 Famous Security Flaws 436
5.4.3 Generic Security Attacks 439
5.4.4 Design Principles for Security 441
5.4.5 User Authentication 442

5.5 PROTECTION MECHANISMS 446
5.5.1 Protection Domains 446
5.5.2 Access Control Lists 448
5.5.3 Capabilities 450
5.5.4 Covert Channels 451

5.6 OVERVIEW OF THE MINIX FILE SYSTEM 453
5.6.1 Messages 454
5.6.2 File System Layout 454
5.6.3 Bit Maps 458
5.6.4 I-nodes 460
5.6.5 The Block Cache 461
5.6.6 Directories and Paths 463
5.6.7 File Descriptors 465
5.6.8 File Locking 467
5.6.9 Pipes and Special Files 467
5.6.10 An Example: The READ System Call 469

5.7 IMPLEMENTATION OF THE MINIX FILE SYSTEM 470
5.7.1 Header Files and Global Data Structures 470
5.7.2 Table Management 474
5.7.3 The Main Program 482
5.7.4 Operations on Individual Files 485
5.7.5 Directories and Paths 493
5.7.6 Other System Calls 498
5.7.7 The I/O Device Interface 501
5.7.8 General Utilities 503

5.8 SUMMARY 503

CHAPTER 6 READING LIST AND BIBLIOGRAPHY 507

6.1 SUGGESTIONS FOR FURTHER READING 507
6.1.1 Introduction and General Works 507
6.1.2 Processes 509
6.1.3 Input/Output 510
6.1.4 Memory Management 511
6.1.5 File Systems 511

6.2 ALPHABETICAL BIBLIOGRAPHY 512

APPENDIX A MINIX SOURCE CODE LISTING 521

APPENDIX B INDEX TO FILES 905

APPENDIX C INDEX TO SYMBOLS 909

INDEX 925 


See More About: Operating Systems : Design And Implementation – Textbook Only

J2ME: The Complete Reference

J2ME: The Complete Reference

Description

J2ME allows developers to use Java and the J2ME wireless toolkit to create applications and programs for wireless and mobile devices. This is the most comprehensive resource for Java developers seeking to understand and utilise J2ME when building mobile applications and services. – Understand the core fundamentals of J2ME – Discover what makes J2ME unique with coverage on advanced topics like Mobile Information Device Profile (MIDP) and Connected Limited Device Configuration (CLDC) – Comprehend how to build robust mobile applications with examples on J2ME supported software development kits, databases, web services, and more – Learn from other people’s mistakes with coverage on J2ME Best Practices and security

About the Author

James Keogh (New York, NY) is a faculty member of Columbia University where teaches a breadth of computer science courses in their CTA program. Keogh developed the Electronic Commerce track for Columbia University and was the first person to chair the track.


Product Details

  • James Keogh (New York, NY)
  • Paperback: 768 pages
  • Publisher: McGraw-Hill (February 27, 2003)
  • Language: English
  • ISBN-10: 0072227109
  • ISBN-13: 978-0072227109
  • Product Dimensions: 9.3 x 7.4 x 1.8 inches



Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Part I
J2ME Basics
1 J2ME Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Java 2 Micro Edition and the World of Java . . . . . . . . . . . . . . . . . . . . 4
Enter Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Java Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
J2EE and J2SE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
The Birth of J2EE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Back to the Future: J2ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Inside J2ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
How J2ME Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
J2ME and Wireless Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
What J2ME Isn’t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Other Java Platforms for Small Computing Devices . . . . . . . . . . . . 16
2 Small Computing Technology . . . . . . . . . . . . . . . . . . . . . 17
Wireless Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Radio Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Limitations of Radio Transmissions . . . . . . . . . . . . . . . . . . . 20
Radio Data Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Data Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Microwave Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Satellite Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Mobile Radio Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Cellular Telephone Networks . . . . . . . . . . . . . . . . . . . . . . . . 26
Digital Wireless Transmissions . . . . . . . . . . . . . . . . . . . . . . . 28
Cell Phones and Text Input . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Personal Digital Assistants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Mobile Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Set-Top Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Inside Look at a Set-Top Box . . . . . . . . . . . . . . . . . . . . . . . . . 33
Smart Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3 J2ME Architecture and Development Environment . . . 35
J2ME Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Small Computing Device Requirements . . . . . . . . . . . . . . . . . . . . . . 37
Run-Time Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Inside the Java Archive File . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Inside the Java Application Descriptor File . . . . . . . . . . . . . 40
MIDlet Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Event Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
User Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Device Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Java Language for J2ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
J2ME Software Development Kits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Hello World J2ME Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Compiling Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Running Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Deploying Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
What to Do When Your MIDlet Doesn’t
Work Properly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Multiple MIDlets in a MIDlet Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
J2ME Wireless Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Building and Running a Project . . . . . . . . . . . . . . . . . . . . . . 61
Hello World Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
MIDlets on the Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
J2ME Best Practices and Patterns . . . . . . . . . . . . . . . . . . . 71
The Reality of Working in a J2ME World . . . . . . . . . . . . . . . . . . . . . . 72
Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Keep Applications Simple . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Keep Applications Small . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Limit the Use of Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Off-Load Computations to the Server . . . . . . . . . . . . . . . . . 76
Manage Your Application’s Use of a
Network Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Simplify the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Use Local Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Don’t Concatenate Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Avoid Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Thread Group Class Workaround . . . . . . . . . . . . . . . . . . . . . 83
Upload Code from the Web Server . . . . . . . . . . . . . . . . . . . . 83
Reading Settings from JAD Files . . . . . . . . . . . . . . . . . . . . . . 84
Populating Drop-down Boxes . . . . . . . . . . . . . . . . . . . . . . . . 85
Minimize Network Traffic . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Dealing with Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Automatic Data Synchronization . . . . . . . . . . . . . . . . . . . . . 88
Updating Data that Has Changed . . . . . . . . . . . . . . . . . . . . . 89
Be Careful of the Content of the startApp() Method . . . . . 90
Part II
J2ME User Interface
5 Commands, Items, and Event Processing . . . . . . . . . . . . 95
J2ME User Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Display Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
The Palm OS Emulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Command Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
CommandListener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Item Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Item Listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Throwing a MIDletStateChangeException . . . . . . . . . . . . . 120
Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6 High-Level Display: Screens . . . . . . . . . . . . . . . . . . . . . . . 129
Screen Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Alert Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Alert Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Form Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Item Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
ChoiceGroup Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
DateField Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Gauge Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
StringItem Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
TextField Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
ImageItem Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
List Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Creating an Instance of a List Class . . . . . . . . . . . . . . . . . . . 184
TextBox Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Creating an Instance of a TextBox Class . . . . . . . . . . . . . . . . 195
Ticker Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
7 Low-Level Display: Canvas . . . . . . . . . . . . . . . . . . . . . . . 213
The Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
The Layout of a Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Proportional Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
The Pen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Painting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
showNotify() and hideNotify() . . . . . . . . . . . . . . . . . . . . . . . 219
User Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Working with Key Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Working with Game Actions . . . . . . . . . . . . . . . . . . . . . . . . . 227
Working with Pointer Devices . . . . . . . . . . . . . . . . . . . . . . . . 233
Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Stroke Style and Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Repositioning Text and Images . . . . . . . . . . . . . . . . . . . . . . . 274
Clipping Regions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Creating a Clipping Region . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Part III
J2ME Data Management
8 Record Management System . . . . . . . . . . . . . . . . . . . . . . 295
Record Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
The Record Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Record Store Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Setting Up a Record Store . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Writing and Reading Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Creating a New Record and Reading an
Existing Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Writing and Reading Mixed Data Types . . . . . . . . . . . . . . . 309
Record Enumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Reading a Record of a Simple Data Type
into a RecordEnumeration . . . . . . . . . . . . . . . . . . . . . . . . . 319
Reading a Mixed Data Type Record into a
RecordEnumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Sorting Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Sorting Single Data Type Records in a
RecordEnumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Sorting Mixed Data Type Records in a
RecordEnumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Searching Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Searching Single Data Type Records . . . . . . . . . . . . . . . . . . 345
Searching Mixed Data Type Records . . . . . . . . . . . . . . . . . . 352
RecordListener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
9 J2ME Database Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Database Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Identifying Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Decomposing Attributes to Data . . . . . . . . . . . . . . . . . . . . . . 372
Defining Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Normalizing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Grouping Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Creating Primary Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Functional Dependency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Transitive Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Referential Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
The Art of Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
An Index in Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Drawbacks of Using an Index . . . . . . . . . . . . . . . . . . . . . . . . 386
Clustered Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Derived Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Selective Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Exact Matches and Partial Matches . . . . . . . . . . . . . . . . . . . . 389
Searching for Phonetic Matches . . . . . . . . . . . . . . . . . . . . . . 389
10 JDBC Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
The Concept of JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
JDBC Driver Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Type 1 JDBC to ODBC Driver . . . . . . . . . . . . . . . . . . . . . . . . 393
Type 2 Java/Native Code Driver . . . . . . . . . . . . . . . . . . . . . 394
Type 3 JDBC Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Type 4 JDBC Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
JDBC Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Overview of the JDBC Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Load the JDBC Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Connect to the DBMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Create and Execute an SQL Statement . . . . . . . . . . . . . . . . . 395
Process Data Returned by the DBMS . . . . . . . . . . . . . . . . . . 396
Terminate the Connection to the DBMS . . . . . . . . . . . . . . . . 397
Database Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
The Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Connection Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Statement Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
The Statement Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
PreparedStatement Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
CallableStatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
ResultSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Reading the ResultSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Scrollable ResultSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Specify Number of Rows to Return . . . . . . . . . . . . . . . . . . . 414
Updatable ResultSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Transaction Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Savepoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Batch Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Keeping ResultSet Objects Open . . . . . . . . . . . . . . . . . . . . . . 424
RowSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Autogenerated Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
ResultSet Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
11 JDBC and Embedded SQL . . . . . . . . . . . . . . . . . . . . . . . . 453
Model Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Model A Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Model B Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Create a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Drop a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Create an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Drop an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Inserting Data into Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
Insert a Row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Insert the System Date into a Column . . . . . . . . . . . . . . . . . 466
Insert the System Time into a Column . . . . . . . . . . . . . . . . . 467
Insert a Timestamp into a Column . . . . . . . . . . . . . . . . . . . . 467
Selecting Data from a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Select All Data from a Table . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Request One Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Request Multiple Columns . . . . . . . . . . . . . . . . . . . . . . . . . . 471
Request Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Request Rows and Columns . . . . . . . . . . . . . . . . . . . . . . . . . 472
AND, OR, and NOT Clauses . . . . . . . . . . . . . . . . . . . . . . . . . 473
Join Multiple Compound Expressions . . . . . . . . . . . . . . . . . 474
Equal and Not Equal Operators . . . . . . . . . . . . . . . . . . . . . . 475
Less Than and Greater Than Operators . . . . . . . . . . . . . . . . 477
Less Than or Equal to and Greater Than or Equal To . . . . 478
Between Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
LIKE Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
IS NULL Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
DISTINCT Modifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
IN Modifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Number of Columns in ResultSet . . . . . . . . . . . . . . . . . . . . . 483
Data Type of Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Name of Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Column Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Updating Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Update Row and Column . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Update Multiple Rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Deleting Data from a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Delete a Row from a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Joining Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Join Two Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Parent-Child Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Multiple Comparison Join . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Multitable Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Create a Column Name Qualifier . . . . . . . . . . . . . . . . . . . . . 498
Create a Table Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Inner and Outer Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Calculating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
SUM() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
AVG() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
MIN() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
MAX() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
COUNT() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Count All Rows in a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Retrieve Multiple Counts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Calculate a Subset of Rows . . . . . . . . . . . . . . . . . . . . . . . . . . 510
NULLs and Duplicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Calculate Without Using Built-in Functions . . . . . . . . . . . . 511
Grouping and Ordering Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
GROUP BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Group Multiple Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Conditional Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Working with NULL Columns . . . . . . . . . . . . . . . . . . . . . . . 516
Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Sorting on Derived Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Create a Subquery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Conditional Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
VIEWs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Rules for Using VIEWs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Create a VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Select Columns to Appear in the VIEW . . . . . . . . . . . . . . . . 528
Create a Horizontal VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Create a Multitable VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Group and Sort VIEWs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
Modify a VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Part IV
J2ME Personal Information Manager Profile
12 Personal Information Manager . . . . . . . . . . . . . . . . . . . . 535
PIM Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
The Contact Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
The Event Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
The To Do Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
A Model PIM Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Part V
J2ME Networking and Web Services
13 Generic Connection Framework . . . . . . . . . . . . . . . . . . . 575
The Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Connection and Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Hypertext Transfer Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Creating an HTTP Connection . . . . . . . . . . . . . . . . . . . . . . . . 580
Reading Data from an HTTP Connection . . . . . . . . . . . . . . 582
The File Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Communication Management Using HTTP Commands . . . . . . . . . 597
HttpConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
Session Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Transmit as a Background Process . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
14 Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Web Services Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
The Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Clients, Resources, and Components . . . . . . . . . . . . . . . . . . 620
Accessing Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
J2EE Multi-Tier Web Services Architecture . . . . . . . . . . . . . . . . . . . . 621
Client Tier Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Classification of Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Web Tier Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Enterprise JavaBeans Tier Implementation . . . . . . . . . . . . . . . . . . . . 626
Enterprise Information Systems Tier Implementation . . . . . . . . . . . 627
Inside WSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
The WSDL Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Types Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
Message Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
portType Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Binding Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Port Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Service Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
J2ME MIDlets and Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
JAX-RPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Holder Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
Remote Method Invocation Concept . . . . . . . . . . . . . . . . . . . . . . . . . 639
Remote Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
SOAP Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
SOAP Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
The SOAP Message and Delivery Structure . . . . . . . . . . . . 640
WSDL and SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
SOAP One-Way Transmission Primitive . . . . . . . . . . . . . . . 642
SOAP Request-Response Transmission Primitive . . . . . . . 643
SOAP Binding Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
SOAP Operation Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
SOAP Body Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
SOAP Fault Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
SOAP Header Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
SOAP Address Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
WSDL and HTTP Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Quick Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Appendix: Quick Reference Guide . . . . . . . . . . . . . . . . . 653
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721

بواسطة djamel نشرت في Book

Differential and integral inequalities: theory and applications PART B

Differential and integral inequalities 

theory and applications PART B: 

Functional, partial, abstract, and complex differential equations, Volume 55B

 (Mathematics in Science and Engineering) (v. 2)







Product Details

V. LAKSHMIKANTHAM and S. LEELA 
University of Rhode Island 
Kingston, Rhode Island 
  • Hardcover: 319 pages
  • Publisher: Academic Press (February 11, 1969)
  • Language: English
  • ISBN-10: 0124341020
  • ISBN-13: 978-0124341029



Contents 
FUNCTIONAL DIFFERENTIAL EQUATIONS 
6.0. Introduction 
6.1. Existence 
6.2. Approximate Solutions and Uniqueness 
6.3. Upper Bounds 
6.4. Dependence on Initial Values and Parameters 
6.5. Stability Criteria 
6.6. Asymptotic Behavior 
6.7. A Topological Principle 
6.8. Systems with Repulsive Forces 
6.9. Functional Differential Inequalities 
6.10. Notes 
7.0. Introduction 
7.1. Stability Criteria 
7.2. Converse Theoreins 
7.3. Autonomous Systems 
7.4. Perturbed Systems 
7.5. Extreme Stability 
7.6. Almost Periodic Systems 
7.7. Notes 
8.0. Introduction 
8.1. Basic Comparison Theorems 
8.2. Stability Criteria 
8.3. Perturbed Systems 
8.4. An Estimate of Time Lag 
8.5. Eventual Stability 
8.6. Asymptotic Behavior 
8.7. Notes 
PARTIAL DIFFERENTIAL EQUATIONS 
Chapter 9. 9.0. Introduction 
9. I . Partial Differential Inequalities of First Order 
9.2. Comparison Theorems 
9.3. Upper Bounds 
9.4. Approximate Solutions and Uniqueness 
9.5. Systems of Partial Differential Inequalities of First Order 
9.6. Lyapunov-Like Function 
9.7. Notes 
Chapter 10. 10.0. lntroduction 
10. I . Parabolic Differential Inequaliies in Bounded Domains 
10.2. Comparison Theorems 
10.3. Bounds, Under and Over Functions 
10.4. Approximate Solutions and Uniqueness 
10.5. Stability of Steady-State Solutions 
10.6. Systems of Parabolic Diffcrential inequalities in Bounded 
10.7. Lyapunov-Like Functions 
10.8. Stahility and Boundedness 
10.9. Conditional Stahility and Boundedness 
Domains 
10.10. Parabolic Differential Inequalities in Unbounded Domains 
10.11. Uniqueness 
10.12. Exterior Boundary-Value Problem and Uniqueness 
10.13. Notes 
Chapter 11. I 1.0. Introduction 
1 1.1, Hyperbolic Diflerential Inequalities 
1 1.2. Uniqueness Criteria 
11.3. Upper Bounds and Error Estimates 
11.4. Notes 
DIFFERENTIAL EQUATIONS IN ABSTRACT 
SPACES 

Chapter 12. 12.0. Introduction 
12. I . Existence 
12.2. Norilocal Existence 
12.3. Uniqueness 
12.4. Continuous Dependence and the Method of Averaging 
12.5. Existence (continued) 
12.6. Approximate Solutions and Uniqueness 
12.7. Chaplygin’s Method 
12.8. Asymptotic Behavior 
12.9. Lyapunov Function and Comparison Theorems 
12.10. Stability and Boundedness 
12.11. Notes 
COMPLEX DIFFERENTIAL EQUATIONS
Chapter 13. 13.0. Introduction
13.1. Existence, Approximate Solutions, and Uniqueness
13.2. Singularity-Free Regions and Growth Estimates
13.3. Componentwise Bounds
13.4. Lyapunov-like Functions and Comparison Theorems
13.5. Notes
Bibliography
Author Index
Subject Index

See More About:  Differential and integral inequalities; theory and applications PART B: Functional, partial, abstract, and complex differential equations, Volume 55B (Mathematics in Science and Engineering) (v. 2)

Sapphire Radeon HD4670 1 GB DDR3 VGA/DVI/HDMI PCI-Express Video Card 100256HDMI

Sapphire Radeon HD4670 1 GB DDR3 VGA/DVI/HDMI PCI-Express Video Card 100256HDMI

     Loaded with the latest features, the ATI Radeon HD 4600 Series graphics cards deliver a level of gaming performance previously only found in high-end graphics cards. Redefine the way you play HD games and enjoy unprecedented levels of graphics realism powered by 320 stream processing units, up to 1GB of memory and support for Microsoft DirectX®10.1 games. Upgrade your graphics card and watch Blu-ray movies and play HD content with incredible visual fidelity1or take your experience to another level with new multimedia capabilities. Do it all with break-through energy efficiency that doesn’t compromise performance.
                                          Product Features

  • PCI-Express x16 bus interface
  • 128-bit DDR3 memory interface
  • Microsoft DirectX 10.1 support
  • OpenGL 2.0 support
  • Unified Superscalar Shader Architecture

Technical Details

  • Brand Name: Sapphire Technology
  • Model: 100256HDMI
  • Item Package Quantity: 1
  • Hardware Platform: Pc
  • Graphics Coprocessor: AMD

Intel 320 Series 120 GB SATA 3.0 Gb-s 2.5-Inch Solid-State Drive

Intel 320 Series 120 GB SATA 3.0 Gb-s 2.5-Inch Solid-State Drive

  • Unlike traditional hard disk drives, Intel Solid-State Drives have no moving parts, resulting in a quiet
  • Designed to satisfy the most demanding users and technology enthusiasts
  • Random read performance of 38,000 input/output operations per second (IOPS)
  • Couple that performance with random writes of 14,000 IOPS and sequential writes of 130MB/s to unleash your system.
  • The Intel Data Migration Software clones the operating system and files from a hard drive or SSD to any Intel SSD.
  • Included in the box: SSD, quick install guide, mini CD-ROM with warranty, desktop install kit:
  • Intel SSD 320 Series come pre-configured with Advanced Encryption Standard (AES) 128-bit full-disk encryption capabilities.
  • Intel SSD 320 Series feature low-write amplification and a unique wear-leveling design for higher reliability

Technical Details

  • Brand Name: Intel
  • Model: SSDSA2CW120G3K5
  • Warranty: 3 years
  • Hardware Platform: PC, Mac, Unix, Linux
  • Form Factor: 2.5-Inch
  • Weight: 0.75 pounds

Get Coby 4GB Video MP3 Player with FM Radio (Red)

Coby 4GB Video MP3 Player with FM Radio (Red)


Coby’s MP620 Video and MP3 Player offers playback of music, videos, photos, and text files, with intuitive navigation and a brilliant 1.8-inch TFT LCD display. With 4 GB of memory you’ll get enough room for about 1000 songs, and Coby’s Media Manager software is included for easy and hassle-free media syncing. A great media player without the huge price tag.
A great media player without the huge price tag.
Click to enlarge.
Enjoy your favorite tracks with ID3 tag info such as artist, album, etc. displayed.
Share your favorite photos one-at-a-time or in slideshow displays.
Use Coby’s Media Manager software to easily sync your device, or just drag and drop files.
1.8-Inch LCD 






Display
Enjoy your videos, pictures, and album art on the go with the MP620’s color TFT display.
4 GB Flash Memory
The MP620 features 4 gigabytes of flash memory on-board, enough room for up to 1000 songs.
Rechargeable Battery
Get up to eight hours of music playback on a single charge with the integrated rechargeable Li-Poly battery.
Intuitive Controls
Navigate the MP620’s features with ease using the circular four-way button and middle “enter” button. Get to exactly what you’re after, right when you need it.
Enjoy Your Media
The Coby MP620 is ready for your favorite music, movies, and photos, so you can take them anywhere–whether it’s for your own enjoyment, or a little sharing.
Play back your favorite MP3/WMA music files for hours of entertainment. If your music files contain ID3 tags, you will be able to view your tracks by Artist, Album, or Genre. Create a quick playlist on the fly, enjoy random playback, repeat mode, and more. For the lyrics freaks, LRC files are also supported, so you can view the words (including synchronized timing display).
Use the photo browser to explore and share your photo files. JPEG and BMP formats are supported, and the slideshow function makes a great way to share with friends.
Support is offered for video in the MTV format, at 128×128 pixel resolution, and 25 fps (frames per second). Basic controls–e.g., fast-forward, rewind, scan, etc.–are provided for your convenience.
Integrated FM Radio
Using the headphones and an antenna, the MP620 delivers FM radio, so you can check up on the news or your favorite programming on the go. Preset your favorit stations for quick access, or have the MP60 do a quick scan of local stations.
Equalizer Presets
To further dial in your sound, pick an EQ preset that works with whatever you’re listening to: Normal, Pop, Rock, Classic, Jazz, or Bass.
Text Files
Read text files on your screen, including eBooks in the TXT format. Set font color, turn on auto scroll, and save your current location with “bookmarks.”
Choose Your Software
The included Coby Media Manager software will let you convert your existing audio and video clips to the correct formats, for enjoyment on your device. You can also choose to handle the conversion in your own preferred way, and simply drag-and-drop files onto the device like any other system folder.
USB 2.0
This device uses USB 2.0 for speedy file transfers when syncing.





See More About: Coby 4GB Video MP3 Player with FM Radio (Red)

Get Your Watch Stuhrling Original Men’s Apocalypse Trinity Chronograph Black Ion-Plated Leather Watch

Stuhrling Original Men’s 160F2.33551 Apocalypse Trinity Chronograph Black Ion-Plated Leather Watch



 A flurry of function with a ruggedly classic appeal, the Stuhrling Original Men’s Apocalypse Trinity Chronograph Black Ion-Plated Leather Watch has a lot to offer. This intrepid timepiece begins with a 45mm black PVD-coated stainless steel case with a fixed black carbon fiber decagonal bezel and a textured black crown with two black pushers. These elements surround a bold black dial, which is protected by a synthetic sapphire crystal and features luminous index and Arabic numeral hour markers and luminous skeleton hands powered by Swiss quartz movement The dial also features three multifunction sub-dials offering 60-second, 30-minute and day displays along with a scrolling date display window at the 3, 4, and 5 ‘o clock positions. A black alligator-embossed leather band straps this watch to the wrist, while a reliable buckle clasp ensures its secure placement. Finally, this watch boasts water resistance up to 330 feet (100 meters). If you need your watch to be more than just stylish, then this is the watch for you.

Krysterna Crystals
Krysterna™ is proprietary to Stührling Original and refers to the crystals that are used in its timepieces. Krysterna™ stems from the eyewear industry and has more strength over a spread surface area than sapphire. Krysterna™ crystals are more scratch resistant than mineral crystals and more shatter resistant than sapphire crystals.

Summary of Features
• Movement: Swiss Quartz Chronograph (ISA 8172-220)
• Crystal: Krysterna™ Crystals
• Case: 45mm 316L surgical grade stainless steel
• Add and split function chronograph with 30 minute counter and 60 minute counter sub-dials
• Strap: 24mm black alligator embossed genuine leather strap 

Color Variants

Apocalypse Trinity Variants

See More About: Stuhrling Original Men’s 160F2.33551 Apocalypse Trinity Chronograph Black Ion-Plated Leather Watch 

Get Yr Silver Heart Dial White Leather Watch

Invicta Women’s 12401 Pro Diver Silver Heart Dial White Leather Watch



 The heart reigns supreme in the Invicta Women’s Pro Diver Silver Heart Dial White Leather Watch. Boasting a timeless symbol of love, this wonderful timepiece begins with a round 38mm stainless steel case, a unidirectional stainless steel bezel and a textured, protected crown. These elements hug a sleek silver dial, which is protected by a mineral crystal and features luminous hands powered by Japanese quartz movement, along with a date display window at the 3 o’ clock position and three heart insignias with white crystal accents. A white genuine leather band with a diamond pattern straps this watch to the wrist, while a buckle clasp ensures its secure placement. Finally, this watch is water resistant up to 660 feet (200 meters), so this heart can beat on land or in the water. A lovely watch with a heart-felt character, bring this watch home to your accessories collection today and you won’t regret it.


See More About: Invicta Women’s 12401 Pro Diver Silver Heart Dial White Leather Watch


Diagram of Features

Diagram Features

See More About: Invicta Women’s 12401 Pro Diver Silver Heart Dial White Leather Watch

بواسطة djamel نشرت في Watch

Get Your Samsung Galaxy Nexus 4G Android Phone (Verizon Wireless)

Samsung Galaxy Nexus 4G Android Phone 
(Verizon Wireless)

    The world’s first smartphone running on Android 4.0 (a.k.a., Ice Cream Sandwich), the 4G LTE enabled Galaxy Nexus by Samsung for Verizon brings a redesigned user interface with enhanced multitasking, notifications, full Web browsing experience, and more. You’ll also enjoy innovative, next-gen features such as Face Unlock, which uses facial recognition to unlock the Galaxy Nexus.

Powered by Android 4.0 and a 1.2 GHz dual-core processor .

4.65-inch HD Super AMOLED Contour Display .

Galaxy Nexus by Samsung
At a Glance:


  • 3G/4G LTE connectivity
  • Android 4.0 OS
  • 1.2 GHz dual-core processor
  • 4.65-inch HD Super AMOLED touchscreen
  • 32 GB memory
  • 5-MP camera + Full HD 1080p video record
  • GPS navigation
  • Wi-Fi Capable (802.11 a/b/g/n)
  • Stereo Bluetooth
  • Personal/corporate e-mail
At a Glance

The Galaxy Nexus is outfitted with a 4.65-inch HD Super AMOLED Contour Display (with curved glass), 5-megapixel camera with zero shutter lag and Full HD 1080p video recording, and a front-facing 1.3-megapixel camera for video calls on the go. It’s powered by a dual-core 1.2 GHz processor that speeds up your web browsing, gaming, and multitasking.

The Verizon Wireless 4G LTE Mobile Broadband network provides speeds up to 10 times faster than Verizon Wireless’ 3G network. With 4G LTE, you’ll enjoy simultaneous voice and data capabilities, allowing you to check e-mail, browse the web, download an app, and check directions on Google Maps while on a call. You can expect fast download speeds of 5 to 12 megabits per second (Mbps) and upload speeds of 2 to 5 Mbps in 4G LTE mobile broadband coverage areas (learn more about 4G below).
You can share your high-speed 4G LTE connectivity with multiple devices–laptop, another phone, MP3 player, and more–via Wi-Fi using the built-in Mobile Hotspot functionality (additional service charge applicable). And the Galaxy Nexus is outfitted with ultra-fast Wireless-N Wi-Fi networking as well as next-generation Bluetooth 3.0 connectivity.
The new Android Beam feature (using NFC connectivity) allows you to quickly share Web pages, apps, and YouTube videos with friends by simply tapping compatible phones together. You’ll also enjoy easy access to a full complement of Google mobile services, including Gmail, Google Maps 5.0 with 3D maps, syncing with Google Calendar, a redesigned Google+ app, and access to more than 300,000 apps in the Android Market.
Other features include a virtual onscreen QWERTY keyboard with enhanced auto-correction and touch recognition for a more natural feel, 32 GB of internal memory, 1 GB of RAM, and up to 12 hours of talk time.

Advanced Photography and Video Recording

The Galaxy Nexus has a full-featured 5-megepixel camera with automatic focus, top-notch low-light performance, and zero shutter lag. Open it right from your lock screen, and fire off a photo instantly. You can also take beautiful panorama pictures–just point and touch the shutter and pan your phone from one side to another. Android immediately stitches together an expansive panorama photo, ready to share.
A full-featured photo editor lets you add filters and effects, adjust color, straighten, reduce red eye, crop, rotate, flip, and even doodle on your favorite photos–right after you take them. Your edits are saved as a copy, so you can always get to the original.
Your photos can upload themselves with Instant Upload, which makes it much easier to share them with family and friends. If you’ve signed up for Google+, you can enable Instant Upload and share photos with anyone you choose.
Shoot video in Full HD 1080p, and snap still shots while you’re at it. Continuous focus, real-time zoom, and time-lapse mode give you the power to shoot stunning videos. When your footage is ready, create your own movie with Movie Studio and upload it to YouTube. When you shoot videos, you can choose from a number of silly faces and other fun effects. Galaxy Nexus is smart enough to recognize individual facial features–give your friends big eyes, squeeze heads, make noses bigger. Or change the scenery with background replacement.

Vital Statistics

The Galaxy Nexus by Samsung weighs 5.29 ounces and measures 5.33 x 2.67 x 0.37 inches. Its 1850 mAh lithium-ion battery is rated at up to 12 hours of talk time and up to 150 hours (6.25 days) of standby time. It runs on the Verizon Wireless 4G LTE network, as well as EV-DO, Rev A 3G and CDMA 800/1900 frequencies where 4G LTE is not available.

Get the Best Camera: Canon PowerShot 12.1 MP

Canon PowerShot ELPH 300 HS 12.1 MP Digital Camera (Black)

  • World’s thinnest digital camera with a 24mm ultra Wide-Angle lens and 5x Optical Zoom and Optical Image Stabilizer.
  • Canon’s HS SYSTEM with a 12.1 MP CMOS and DIGIC 4 Image Processor improves shooting in low-light situations without the need for a flash
  • Full 1080p HD Video for exceptional quality with stereo sound, plus a dedicated movie button for easy access.
  • Get high-speed shooting in a point-and-shoot camera: High-speed Burst Mode captures 8.0fps and
  • Smart AUTO intelligently selects the proper settings for the camera based on 32 predefined shooting situations.
  • Super Slow Motion Movie records video at high speeds to allow slow motion playback.
  • Zoom optically while shooting video and keep footage stabilized with Dynamic IS.
  • And lowers noise levels at higher ISO settings.

Description

Color: Black
Don’t let the PowerShot ELPH 300 HS digital camera’s slim profile and good looks fool you. This slick little device may stand out from the crowd, but it’ll also deliver brilliant still images, ultra-detailed 1080p Full HD video, serious functionality, and a wealth of effects and automatic settings. You’ll be surprised how much is packed into such a slim point-and-shoot. Let your imagination run wild, and let Canon’s HS SYSTEM, a 24mm lens, 5x Optical Zoom, and 12.1 Megapixels help you snap great photos everywhere.
Canon PowerShot ELPH 300 HS

The ELPH 300 HS is less than an inch deep and weighs less than 5 ounces.

Incredibly Thin. Incredibly Powerful.

Thin Is In
At less than an inch deep and weighing just under five ounces, the PowerShot 300 HS will fit right in your pocket, but it packs plenty of power into its sleek point-and-shoot body. A 24mm ultra wide-angle lens with a powerful 5x optical zoom gives you the versatility to shoot in any number of situations, and the optical image stabilizer keeps things from getting too shaky when you’re zoomed in tight. Whether you’re out partying or just walking around town, you don’t need to sacrifice style for power–the PowerShot ELPH 300 HS has got you covered for capturing great photos effortlessly.

No More Dark Photos
Canon’s HS SYSTEM improves shooting in low-light situations without the need for a flash, and lowers noise levels at higher ISO settings.
The Canon HS SYSTEM takes the frustration out of low-light shooting, delivering clear, blur-free shots with all the ambiance intact, and freeing you from the sometimes unwanted effects of using the flash. Beautiful low-light shots are possible at both low and high ISO speeds, and the dynamic range is expanded to retain maximum detail in highlight and shadow areas.
The system is the result of two technologies brought together in this compact PowerShot. The first is the 12.1 Megapixel CMOS Sensor, which positions the light-receiving surface for optimal light reception. More light means clearer, blur-free images with plenty of detail and nuance, even in dark areas. Working together with the CMOS sensor to deliver the HS SYSTEM is Canon’s advanced DIGIC 4 Image Processor, which actively reduces noise and delivers high speed image processing.