1. A method of selective constant complexity dismissal in task scheduling of a plurality of tasks, each described by one of a plurality of task records, in a computing environment by a processor device, comprising:
implementing a strictly increasing function to generate a plurality of unique creation stamps, each of the plurality of unique creation stamps increasing over time pursuant to the strictly increasing function;
labeling a new task with a new unique creation stamp of the plurality of unique creation stamps;
implementing a dismissal action by at least one of a list of dismissal rules against at least one of the plurality of tasks, wherein the one of the list of dismissal rules holds a minimal valid creation (MVC) stamp, the MVC stamp updated when the dismissal action for the one of the list of dismissal rules is executed;
identifying a match between one of the list of dismissal rules referring to criteria unrelated to the unique creation stamps and a specific attribute of the task and determining whether the task has a unique creation stamp lower than the MVS stamp;
dismissing the task to thereby prevent execution thereof, if the specific attribute of the task matches the one of the list of dismissal rules and has a unique creation stamp lower than the MVC stamp; and
executing the task, if the specific attribute of the task does not match the list of dismissal rules or if the task has a unique creation stamp that is not lower than the MVC stamp.
2. The method of claim 1, further including selecting a next task from the plurality of tasks for execution and iterating the steps of identifying and dismissing.
3. The method of claim 1, further including performing the dismissal action by adding the at least one of the list of dismissal rules to the list of dismissal rules.
4. The method of claim 2, wherein performing the dismissal action is performed in parallel with placing the plurality of task records in the task queue.
5. The method of claim 1, further including de-queuing the at least one of the plurality of task records from the task queue for execution by a dispatcher.
6. The method of claim 4, wherein implementing the at least one of the list of dismissal rules further includes comparing at least one attribute of the at least one of the plurality of task records against the at least one of the list of dismissal rules.
7. The method of claim 1, wherein implementing the at least one of the list of dismissal rules is performed in a replication scheduling system for constant time complexity dismissal of tasks belonging to a logical group.
8. The method of claim 1, wherein implementing the at least one of the list of dismissal rules is performed to one of dynamically manage lifecycles of the plurality of tasks and prevent redundant task execution in computing environments having a plurality of queued duplicated tasks.
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 surgical system comprising:
a surgeon’s console including an input device for receiving an input from the surgeon;
at least one manipulator structure operable to receive a first surgical instrument and a second surgical instrument, the first surgical instrument having a first number of degrees of freedom, the second surgical instrument having a second number of degrees of freedom, and the first number of degrees of freedom being different from the second number of degrees of freedom; and
a controller for controlling at least one instrument coupled to the at least one manipulator structure,
wherein the controller is operable to control the first surgical instrument and the second surgical instrument by using a first kinematic model of the first instrument and a second kinematic model of the second instrument, at least one of the first kinematic model or the second kinematic model including a phantom degree of freedom that models a range of joint configurations that are not included in the corresponding first instrument or second instrument.
2. The system of claim 1, wherein the first and second kinematic models each have a same number of degrees of freedom.
3. The system of claim 1, wherein the first kinematic model and the second kinematic model each define a 6\xd7N Jacobian matrix.
4. The system of claim 1, wherein values for the phantom degree of freedom are discarded from an output of the corresponding first kinematic model or second kinematic model.
5. The system of claim 1, wherein the first surgical instrument and a corresponding manipulator structure together have a third number of degrees of freedom that excludes at least one degree of freedom necessary to fully define a position of the first surgical instrument.
6. The system of claim 5, wherein the second surgical instrument and a corresponding manipulator structure together have a fourth number of degrees of freedom that excludes at least two degrees of freedom necessary to fully define a position of the second surgical instrument.
7. The system of claim 1, wherein the first surgical instrument includes a camera, and the controller is operable to control a position of a tip of the camera.
8. The system of claim 7, wherein the controller is operable to cause the camera to pan or tilt by manipulating the pitch and yaw of the camera.
9. The system of claim 7, wherein the controller is operable to cause the camera to tilt by manipulating the camera to pan.
10. The system of claim 8, wherein the controller is operable to maintain a location of the camera at an aperture of a patient while causing the camera to pan.
11. The system of claim 1, wherein the first surgical instrument has at least one non-kinematic degree of freedom.
12. The system of claim 11, wherein the controller is operable to actuate the at least one non-kinematic degree of freedom instead of controlling a kinematic degree of freedom of the first surgical instrument.