We claim:
1. An optical scanning assembly comprising:
a) an optics module, said module including an optical scanner for scanning an indicium to be read, an optical detector for detecting light reflected from the indicium being read and for providing data signals representative thereof, and a first movable electrical connector; and
b) a printed circuit board (PCB) carrying electrical circuitry for controlling said optics module, said board having a second stationary electrical connector fixed to the PCB and detachably connectable with said first connector for electrically coupling said optics module and said PCB.
2. The optical scanning assembly according to claim 1, wherein said electrical circuitry on said PCB includes a driver for said optical scanner.
3. The optical scanning assembly according to claim 1, wherein said optics module includes a laser, and said electrical circuitry on said PCB includes a laser driver, signal processing circuitry for processing data signals from said optical detector, a digitizer for digitizing the data signals, and a decoder for decoding the digitized signals.
4. The optical scanning assembly according to claim 1, wherein said electrical connectors comprise a PCMCIA-type connection.
5. The optical scanning assembly according to claim 1, wherein said electrical connectors mount the optics module to the PCB.
6. A hand-held electronic device, comprising: a housing having electronic components; and an abuse-detector for determining and permanently visually indicating when said electronic components have been exposed to mechanical shock above a predetermined design limit.
7. The electronic device according to claim 6, wherein said abuse-detector includes a tell-tale, designed to crack when said predetermined design limit is exceeded.
8. The electronic device according to claim 7, wherein said tell-tale comprises a stress-sensitive coating.
9. The electronic device according to claim 8, wherein said tell-tale includes a movable weight coupled to a printed circuit board on which the components are mounted, said stress-sensitive coating cracking due to movement of said weight caused by said shock.
10. The electronic device according to claim 6, wherein said abuse-detector includes a generally cylindrical ring having inwardly-directed flexible spokes carrying a central weight, said weight being arranged to move with respect to said ring when the device is exposed to mechanical shock above the predetermined design limit, thereby flexing said spokes.
11. The electronic device according to claim 10, wherein said spokes carry a stress-sensitive coating.
12. A hand-held electronic device, comprising: a housing having electronic components including a central processing unit (CPU) for running an applications program; an accelerometer for determining when said components are exposed to deceleration above a predetermined limit and for producing a signal representative thereof; and a control circuit for shutting down said applications program, and for storing related status information when said signal is received from said accelerometer.
13. The electronic device according to claim 12, wherein said control circuit causes said CPU to enter the power-down mode after said applications program has been shut down and said status information stored.
14. The electronic device according to claim 12, including a mechanical protection device arranged to operate when said accelerometer determines that said device is exposed to a deceleration above said predetermined limit.
15. The electronic device according to claim 13, wherein, on restarting after the power-down mode, said CPU provides a user-option to restart said applications program from the point at which it was shut down.
16. A hand-held electronic device, comprising: an accelerometer having an accelerometer output, a deceleration-level detector for determining from said accelerometer output when said device has been exposed to a deceleration above a given value, and a store for storing for later analysis values representative of the accelerometer output for a time period prior to the deceleration-level detector determining that the device has been so exposed.
17. The hand-held electronic device according to claim 16, wherein the accelerometer output is smoothed by a filter, prior to its being applied to the deceleration-level detector.
18. The hand-held electronic device according to claim 16, wherein said deceleration-level detector comprises a comparator for comparing said accelerometer output with a fixed value.
19. The hand-held electronic device according to claim 16, wherein further status information is stored, for later analysis, when said deceleration-level detector determines that said device has been exposed to a deceleration above a given value.
20. The hand-held electronic device according to claim 19, wherein said further status information includes temperature.
21. The hand-held electronic device according to claim 16, including separate x, y and z accelerometers.
22. The hand-held electronic device according to claim 21, including respective separate deceleration-level detectors for each of the x, y and z accelerometers.
23. The hand-held electronic device according to claim 21, including respective separate stores for each of the x, y and z accelerometers.
24. The hand-held electronic device according to claim 16, including a download connection for downloading stored accelerometer outputs to a host computer.
25. The hand-held electronic device according to claim 16, wherein the store holds digitized values representative of said accelerometer output.
26. A method of operating a hand-held electronic device, said device including an accelerometer having an accelerometer output and a store, the method comprising the steps of:
a) monitoring said accelerometer output, and determining when said device has been exposed to a deceleration greater than a given value; and
b) storing in the store, for later analysis, values representative of the accelerometer output for a time period prior to said determination.
27. A hand-held scanning device comprising:
a) a housing having walls bounding an interior, and a window;
b) a generally planar printed circuit board mounted in said interior; and
c) an optical scanning assembly mounted on said board and including a scanner for directing a light beam through the window at an acute angle relative to said board exteriorly of the housing to an indicium to be scanned, and a detector for detecting light reflected from the indicium being scanned and for providing data signals representative of the indicium.
28. The scanning device according to claim 27, wherein the acute angle is on the order of 30.
29. The scanning device according to claim 27, wherein one of the walls is a top wall; and further comprising a display and a keyboard mounted on the top wall.
30. The scanning device according to claim 29, wherein another of the walls is a bottom wall spaced from, and extending generally parallel to, the top wall; and wherein the window is located in the bottom wall.
31. A hand-held device for containing components to be protected from mechanical shock, comprising:
a) a pair of housing sections constituted of a relatively rigid material; and
b) an energy-absorbent housing region located between the housing sections and constituted of a relatively semi-rigid, thermoplastic elastomer material capable of sustaining mechanical shock without permanent deformation.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A multi-protocol object distribution system comprising:
a plurality of remote procedure call (RPC) transport protocol stubs; and
a meta-stub processor configured to
establish a communicative link with a distributed object using a default RPC transport stub,
select an individual one of said RPC transport protocol stubs through which distributed object services can be provided to requesting clients in the multi-protocol object distribution system, and
reestablish said communicative link using said selected individual one of said RPC protocol stubs;
wherein
said RPC transport protocol stubs comprises:
the default RPC transport stub, and at least one other RPC transport stub; and
the meta-stub processor further configured to:
automatically select said default RPB transport stub by default, and
select said at least one other RPC transport stub based upon changing conditions in said multi-protocol object distribution system.
2. The system of claim 1, wherein
at least one of said RPC transport protocol stubs comprises a simple object access protocol (SOAP) over hypertext transfer protocol (HTTP) stub.
3. The system of claim 2, wherein
said RCP transport protocol stubs further comprises at least one other RPC transport protocol stub selected from the group consisting of a remote method invocation (RMI) over Internet Inter-ORB Protocol (HOP) stub, a SOAP over Java Message Service (JMS)Message Queue (MQ) stub, and a simple mail transport protocol (SMTP) over JMS stub.
4. The system of claim 1, wherein
said default RPC transport protocol stub comprises a SOAP over HTTP stub.
5. In a multi-protocol object distribution system, a remote procedure call (RPC) processing method comprising:
receiving an RPC request for services from a distributed object in a server in the multi-protocol object distribution system;
establishing a communicative link with said distributed object using a default RPC transport mechanism, and querying said distributed object over said communicative link for other RPC transport mechanisms which are supported by said server;
selecting one of said other RPC transport mechanisms based upon changing conditions in said multi-protocol object distribution system and re-establishing said communicative link with said distributed object using said selected RPC transport mechanism; and
processing said RPC request for services from said distributed object over said re-established communicative link.
6. The method of claim 5, wherein said selecting step comprises:
determining whether said RPC request for services implicates asynchronous or synchronous messaging; and,
selecting an optimal RPC transport mechanism supported by said server based upon said determination.
7. The method of claim 5, wherein said selecting step comprises:
surveying network conditions; and,
selecting one of said RPC transport mechanisms best suited to provide a pre-determined level of Quality of Service (QoS) in view of said surveyed network conditions.
8. A machine readable storage excluding signals having stored thereon a computer program for performing remote procedure call (RPC) processing in a multi-protocol object distribution system, the computer program comprising a routine set of instructions for causing the machine to perform the steps of:
receiving an RPC request for services from a distributed object in a server in the multi-protocol object distribution system;
establishing a communicative link with said distributed object using a default RPC transport mechanism, and querying said distributed object over said communicative link for other RPC transport mechanisms which are supported by said server;
selecting one of said other RPC transport mechanisms based upon changing conditions in said multi-protocol object distribution system and re-establishing said communicative link with said distributed object using said selected RPC transport mechanism; and
processing said RPC request for services from said distributed object over said re-established communicative link.
9. The machine readable storage of claim 8, wherein said selecting step comprises:
determining whether said RPC request for services implicates asynchronous or synchronous messaging; and
selecting an optimal RPC transport mechanism supported by said server based upon said determination.
10. The machine readable storage of claim 8, wherein said selecting step comprises:
surveying network conditions; and,
selecting one of said RPC transport mechanisms best suited to provide a pre-determined level of Quality of Service (QoS) in view of said surveyed network conditions.