IP Library Granted Patent US 7,398,534
Granted Patent B2
US 7,398,534 · App. 10/324,625 · Granted Jul 8, 2008

System and method for assessing component capabilities

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,398,534
App. No.
10/324,625
Granted
Jul 8, 2008
Kind
B2
Abstract

A system and method for assessing component capability to accept and execute mobile code includes a first component coupled via a network to a second component. The first component uses a predicate object to determine whether the second component can accept mobile code, such as a data type handler object or an applet. The instructions included in the predicate object are executed in the environment of the second component, although they can be executed in the first component environment. The execution of these instructions in the second component environment causes the second component to respond to a series of basic tests, such as whether the second component has access to required libraries, software versions and/or peripherals. Additionally, a predicate object creation module is disclosed for generating predicate objects that are specific to the objects desired, such as a data type handler object or a controller object.

Claims (33)

1. A method comprising:

creating a predicate object containing at least one instruction for performing at least one diagnostic test, wherein the at least one instruction for performing the at least one diagnostic test is generated based on a monitoring of the execution of one or more instructions associated with a first object for which the predicate object is to be created;

sending the predicate object to a second component, wherein the second component is a peripheral device with limited resources;

receiving the predicate object at the second component;

determining whether a first component and the second component can participate in an interaction with each other based upon at least one result obtained from the second component executing the at least one instruction of the at least one diagnostic test included in the predicate object received at the second component, wherein the diagnostic test determines if the second component possesses the resources to participate in the interaction, wherein the determining further comprises:

determining whether the second component can execute at least one of a data type handler object and a controller object associated with the first component; and

sending at least one of the data type handler object and the controller object to the second component when the determining indicates that the second component can execute at least one of the data type handler object and the controller object; and

initiating the interaction when the determining indicates that the first component and the second component can participate in the interaction; and

not initiating the interaction when the determining indicates that the first component and the second component cannot participate in the interaction.

2. The method as set forth in claim 1 wherein the determining whether the first component and the second component can participate in an interaction with each other further comprises:

determining whether the second component can execute at least one mobile code instruction associated with the first component; and

sending the at least one mobile code instruction to the second component when the determining indicates that the second component can execute the at least one mobile code instruction.

3. The method as set forth in claim 1 wherein the predicate object further comprises mobile code.

4. A computer memory having stored thereon instructions, which when executed by at least one processor, causes the processor to perform:

creating a predicate object containing at least one instruction for performing at least one diagnostic test, wherein the at least one instruction for performing the at least one diagnostic test is generated based on a monitoring of the execution of one or more instructions associated with a first object for which the predicate object is to be created;

sending the predicate object to a second component, wherein the second component is a peripheral device with limited resources;

receiving the predicate object at the second component;

determining whether a first component and the second component can participate in an interaction with each other based upon at least one result obtained from the second component executing the at least one instruction of the at least one diagnostic test included in the predicate object received at the second object, wherein the diagnostic test determines if the second component possesses the resources to participate in the interaction, wherein the determining further comprises:

determining whether the second component can execute at least one of a data type handler object and a controller object associated with the first component; and

sending at least one of the data type handler object and the controller object to the second component when the determining indicates that the second component can execute the data type handler object; and

initiating the interaction when the determining indicates that the first component and the second component can participate in the interaction; and

not initiating the interaction when the determining indicates that the first component and the second component cannot participate in the interaction.

5. The medium as set forth in claim 4 wherein the determining indicates whether the first component and the second component are able to participate in an interaction with each other further comprises:

determining whether the second component can execute at least one mobile code instruction associated with the first component; and

sending the at least one mobile code instruction to the second component when the determining indicates that the second component can execute the at least one mobile code instruction.

6. The medium as set forth in claim 4 wherein the predicate object further comprises mobile code.

7. A system comprising:

a predicate object creation system that creates a predicate object containing at least one instruction for performing at least one diagnostic test, wherein the at least one instruction for performing the at least one diagnostic test is generated based on a monitoring of the execution of one or more instructions associated with a first object for which the predicate object is to be created;

a sending system that sends the predicate object to a second component, wherein the second component is a peripheral device with limited resources;

a receiving system that receives the predicate object at the second component;

a determination system that determines whether a first component and the second component can participate in an interaction with each other based upon at least one result obtained from the second component executing the at least one instruction of the at least one diagnostic test included in the predicate object, wherein the diagnostic test determines if the second component possesses the resources to participate in the interaction, and wherein the first component and the second component are separate hardware devices coupled together by a network, wherein the interaction comprises receiving at the second component at least one of a data type handler object and a controller object associated with the first component, the first component sending the at least one of the data type handler object and the controller object to the second component when the determining indicates that the second component can execute the at least one of the data type handler object and the controller object; and

an initiation system that initiates the interaction when the determining indicates that the first component and the second component can participate in the interaction; and that does not initiate the interaction when the determining indicates that the first component and the second component cannot participate in the interaction.

8. The system as set forth in claim 7 wherein the predicate object further comprises mobile code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2003
From: XEROX CORPORATION
To: PALO ALTO RESEARCH CENTER, INCORPORATED
Reel/Frame 013982/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2003
From: EDWARDS, WARREN KEITH; NEWMAN, MARK W.; SEDIVY, JANA Z.; SMITH, TREVOR; IZADI, SHAHRAM
To: XEROX CORPORATION
Reel/Frame 013931/0495 →