Recyclable locking for multi-threaded computing environments

    公开(公告)号:US06836887B1

    公开(公告)日:2004-12-28

    申请号:US09217389

    申请日:1998-12-21

    申请人: Ondrej Such

    发明人: Ondrej Such

    IPC分类号: G06F900

    CPC分类号: G06F9/52 Y10S707/99938

    摘要: Recyclable locking for multi-threaded computing environments is disclosed. In one embodiment, a system includes at least one thread, a pool of locks, at least one object, and a recyclable locking mechanism. Each object has an associated variable. The mechanism associates a lock with an object using the associated variable of the object as a pointer, upon a first request by a thread.

    Simplified microkernel application programming interface
    2.
    发明授权
    Simplified microkernel application programming interface 有权
    简化的微内核应用程序编程接口

    公开(公告)号:US06832266B1

    公开(公告)日:2004-12-14

    申请号:US09498606

    申请日:2000-02-07

    申请人: Nicholas Shaylor

    发明人: Nicholas Shaylor

    IPC分类号: G06F900

    CPC分类号: G06F9/544 G06F9/485 G06F9/545

    摘要: An operating system architecture is disclosed. The operating system architecture is configured to provide a user space and a kernel space. The operating system architecture comprises a number of tasks, a message, and a microkernel. The tasks are executed in the user space, while the microkernel is executed in the kernel space. The microkernel supports an application programming interface (API) that is configured to support a limited number of directives, the limited number of directives being substantially fewer in number than a number of directives supported by an application programming interface of a traditional operating system. The microkernel is configured to pass the message from a first one of the tasks to a second one of the tasks by virtue of the application programming interface being configured to support message-passing directives. The microkernel is configured to support inter-task communication by virtue of being configured to pass the message from a first one of the tasks to a second one of the tasks. The application programming interface may also support thread manipulation directives and/or data transfer directives. In one aspect of the embodiment, the operating system architecture employs a client/server architecture, in which the first task acts as a client task and the second task acts as a server task.

    摘要翻译: 公开了一种操作系统架构。 操作系统架构被配置为提供用户空间和内核空间。 操作系统架构包括许多任务,消息和微内核。 任务在用户空间中执行,而微内核在内核空间中执行。 微内核支持配置为支持有限数量的指令的应用程序编程接口(API),有限数量的指令数量明显少于传统操作系统的应用程序编程接口支持的指令数量。 微内核被配置为通过配置为支持消息传递指示的应用程序编程接口将消息从第一任务传递到任务的第二个。 微内核被配置为通过被配置为将消息从第一个任务传递到第二个任务来支持任务间通信。 应用编程接口还可以支持线程操纵指令和/或数据传输指令。 在该实施例的一个方面,操作系统架构采用客户机/服务器架构,其中第一任务充当客户端任务,第二任务充当服务器任务。

    Methods of providing page protection in a digital printing system having multiple output devices
    3.
    发明授权
    Methods of providing page protection in a digital printing system having multiple output devices 失效
    在具有多个输出设备的数字打印系统中提供页面保护的方法

    公开(公告)号:US06832187B1

    公开(公告)日:2004-12-14

    申请号:US09310074

    申请日:1999-05-10

    IPC分类号: G06F900

    CPC分类号: G06F21/608

    摘要: Methods of providing page protection in digital printing systems having multiple output devices are described. In one embodiment, first and second output devices are provided and have different time constraints for processing predetermined amounts of data which will ultimately be printed on a print medium. One of the time constraints is selected to provide a selected time constraint, and at least one predetermined amount of data is tested against the selected time constraint to determine whether the selected time constraint is satisfied. If the selected time constraint is not satisfied, the predetermined amount of data is transformed into a state which is more likely to satisfy the selected time constraint. In another embodiment, a first processing time constraint of a first output device is determined. The first processing time constraint impacts the manner in which a predetermined amount of data is processed into a printed image. A second processing time constraint of a second output device is determined. The second processing time constraint impacts the manner in which the predetermined amount of data is processed into a printed image. The first and second processing time constraints are compared and responsive to the comparison, the processing time constraint having a lesser magnitude is selected to provide a selected processing time constraint.

    摘要翻译: 描述了在具有多个输出装置的数字打印系统中提供页面保护的方法。 在一个实施例中,提供第一和第二输出设备,并且具有用于处理最终将打印在打印介质上的预定数量的数据的不同时间约束。 选择时间约束之一以提供所选择的时间约束,并且针对所选择的时间约束来测试至少一个预定量的数据,以确定所选择的时间约束是否被满足。 如果不满足所选择的时间约束,则将预定量的数据变换为更可能满足所选择的时间约束的状态。 在另一个实施例中,确定第一输出设备的第一处理时间约束。 第一处理时间约束影响将预定量的数据处理成打印图像的方式。 确定第二输出装置的第二处理时间约束。 第二处理时间约束影响将预定数据量处理成打印图像的方式。 比较第一和第二处理时间约束并响应于比较,选择具有较小幅度的处理时间约束以提供所选择的处理时间约束。

    Job scheduling based upon availability of real and/or virtual resources
    4.
    发明授权
    Job scheduling based upon availability of real and/or virtual resources 失效
    基于真实资源和/或虚拟资源的可用性进行作业调度

    公开(公告)号:US06829765B1

    公开(公告)日:2004-12-07

    申请号:US09618920

    申请日:2000-07-18

    IPC分类号: G06F900

    CPC分类号: G06F9/5016 G06F9/5027

    摘要: A model for computer resources based on type and amount is employed in a consistent manner across several layers in a data processing system as a mechanism for providing users with significantly more control over the allocation, utilization and scheduling of resources for user's software applications running on the target computer system.

    摘要翻译: 基于类型和数量的计算机资源的模型以数据处理系统中的多个层次的一致方式被采用为用于向用户提供对在用户的软件应用上运行的用户的软件应用的资源的分配,利用和调度的显着更多的控制的机制 目标计算机系统。

    System and method for maximizing usage of computer resources in scheduling of application tasks
    5.
    发明授权
    System and method for maximizing usage of computer resources in scheduling of application tasks 失效
    在应用任务调度中最大化计算机资源使用的系统和方法

    公开(公告)号:US06829764B1

    公开(公告)日:2004-12-07

    申请号:US08880616

    申请日:1997-06-23

    IPC分类号: G06F900

    CPC分类号: G06F9/4881 G06F9/5066

    摘要: A task schedule is enforced among multiple processes by setting process priorities based upon which tasks are running on which processes and based upon the task schedule. The task scheduling may be provided by a local or global scheduler which uses application information to prioritize tasks. The task schedule, or priority list, is provided at Local Activity Schedulers which schedule the activities for their local execution elements/nodes. Execution of activities locally are performed by any number of processes that reside in each execution element. These processes are assigned operating system priorities by the respective Local Activity Scheduler based on their assigned activities for execution and the task schedule.

    摘要翻译: 通过根据哪些任务正在运行哪些进程并基于任务计划来设置进程优先级,从而在多个进程中实施任务计划。 任务调度可以由本地或全局调度器提供,其使用应用信息来优先处理任务。 在本地活动计划程序中提供任务计划或优先级列表,该计划程序为其本地执行元素/节点计划活动。 本地执行活动由驻留在每个执行元素中的任何数量的进程执行。 这些进程由相应的本地活动计划程序根据其分配的执行活动和任务计划分配操作系统优先级。

    Computer-based system and method for automatic configuration of an external device
    6.
    发明授权
    Computer-based system and method for automatic configuration of an external device 失效
    用于自动配置外部设备的基于计算机的系统和方法

    公开(公告)号:US06823526B2

    公开(公告)日:2004-11-23

    申请号:US09900352

    申请日:2001-07-05

    IPC分类号: G06F900

    摘要: A system for connecting an external device and a host system includes an input/output code element on a host system linked with the external device. The input/output code element generates a device identification string. The device identification string includes an optional feature component associated with the external device. The optional feature component indicates at least one extra feature that is included with a particular external device, such as an envelope feeder for a printer or an audio component for a wireless Internet appliance. The system further includes an installer linked with the host system. The installer receives the device identification string and parses the string for the optional feature component. The installer creates an add-on identifier key in the host system's registry based on the optional feature component. The system further includes a device driver for operating all features of the external device identified by the device identification string, especially the optional feature component. In particular, the device driver accesses the add-on identifier key in the registry. The device driver includes a device driver configuration component which is modified in accordance with each add-on identifier key to include features associated with the optional feature component.

    摘要翻译: 用于连接外部设备和主机系统的系统包括与外部设备链接的主机系统上的输入/输出代码元件。 输入/输出代码元素生成设备标识串。 设备识别字符串包括与外部设备相关联的可选功能部件。 可选功能组件指示特定外部设备包括的至少一个额外功能,例如用于打印机的信封馈线或用于无线因特网设备的音频组件。 系统还包括与主机系统链接的安装程序。 安装程序接收设备标识字符串并解析可选功能组件的字符串。 安装程序将根据可选功能组件在主机系统的注册表中创建一个附加标识符。 该系统还包括用于操作由设备标识串,特别是可选特征部件识别的外部设备的所有特征的设备驱动器。 特别地,设备驱动程序访问注册表中的附加标识符密钥。 设备驱动器包括根据每个附加标识符密钥修改以包括与可选特征组件相关联的特征的设备驱动器配置组件。

    Apparatus and method for providing and processing prioritized messages in an ordered message clustered computing environment
    7.
    发明授权
    Apparatus and method for providing and processing prioritized messages in an ordered message clustered computing environment 失效
    用于在有序消息聚类计算环境中提供和处理优先消息的设备和方法

    公开(公告)号:US06823512B1

    公开(公告)日:2004-11-23

    申请号:US09484105

    申请日:2000-01-14

    IPC分类号: G06F900

    摘要: A clustered computer system includes multiple computer systems (or nodes) on a network that can become members of a group to work on a particular task. Each node includes a main thread and one or more work threads. The main thread receives messages from other computer systems in the group, and routes messages intended for the work thread to a response queue and a work queue in the work thread, depending on the type of the message. If the message is a response to a currently-executing task, the message is placed in the response queue in the work thread. If the message is a new non-priority task that needs to be processed, the message is routed to the work queue in the work thread. If the message is a priority message, the message is written to both the work queue and the response queue in the work thread. A priority message processing mechanism uses a priority queue defined in the work thread to assure that the priority message is processed the next time the work thread is ready to process a new task, even if the priority message was received after other tasks have been sent to the work queue.

    摘要翻译: 集群计算机系统包括网络上的多个计算机系统(或节点),其可以成为组成特定任务的组成员。 每个节点包括主线程和一个或多个工作线程。 主线程从组中的其他计算机系统接收消息,并根据消息的类型将针对工作线程的消息路由到工作线程中的响应队列和工作队列。 如果消息是对当前正在执行的任务的响应,则该消息被放置在工作线程中的响应队列中。 如果消息是需要处理的新的非优先级任务,则消息将路由到工作线程中的工作队列。 如果消息是优先级消息,消息将被写入工作队列和工作线程中的响应队列。 优先消息处理机制使用工作线程中定义的优先级队列来确保下一次工作线程准备好处理新任务时处理优先级消息,即使其他任务已发送到 工作队列。

    Software hint to improve the branch target prediction accuracy
    8.
    发明授权
    Software hint to improve the branch target prediction accuracy 失效
    软件提示提高分支目标预测精度

    公开(公告)号:US06823447B2

    公开(公告)日:2004-11-23

    申请号:US09798166

    申请日:2001-03-01

    IPC分类号: G06F900

    摘要: A field is defined in branch instructions which is interpreted by software as “Hint” bits and these bits are used to signal the processor of special circumstances that may arise when doing speculative branch instruction execution to enable better branch address prediction accuracy and a reduction in link stack corruption which improves overall execution times. A programmer or compiler determines if a branch instruction usage fits in the context for a Hint action. If so, the compiler or programmer, using assembly/machine language, sets Hint bits in the branch instruction when it is compiled. If the branch is later speculatively executed, the processor decodes the Hint bits and executes and a hardware action corresponding the decode of the Hint bits. These Hints include four specific Hint actions, however, the field reserved for Hint bits is five bit wide reserving up to thirty-two specific Hint cases may be specified. These Hint cases (or Hint bits) may be interpreted differently for each type of branch instruction supported.

    摘要翻译: 在分支指令中定义了一个字段,由软件将其解释为“提示”位,这些位用于向处理器发出信号,以便在进行推测性分支指令执行时可能出现的特殊情况,以实现更好的分支地址预测精度和减少链路 堆栈损坏可以提高整体执行时间。 程序员或编译器确定分支指令使用是否符合提示操作的上下文。 如果是这样,编译器或程序员使用汇编/机器语言在编译时在转移指令中设置提示位。 如果分支稍后被推测执行,则处理器对提示位进行解码并执行和与提示位的解码相对应的硬件动作。 这些提示包括四个具体的提示操作,但是,为提示位保留的字段是五位宽保留,最多可以指定三十二个特定的提示情况。 对于支持的每种类型的分支指令,可以对这些提示情况(或提示位)进行不同的解释。

    Method and system for monitoring service quality in a restaurant
    9.
    发明授权
    Method and system for monitoring service quality in a restaurant 失效
    餐厅监控服务质量的方法和系统

    公开(公告)号:US06810343B2

    公开(公告)日:2004-10-26

    申请号:US09735765

    申请日:2000-12-13

    申请人: Philip McKee

    发明人: Philip McKee

    IPC分类号: G06F900

    CPC分类号: G06Q30/02

    摘要: A method and system for monitoring service quality in a restaurant are disclosed. Multiple sensor modules are installed at each table of a restaurant for detecting restaurant customer service related information. The detected restaurant customer service related information is transmitted, preferably, over-the-air to a central computer unit having a receiver for receiving the detected restaurant customer service related information transmitted by the sensor modules over-the-air. A display monitor, coupled to the central computer unit, can be utilized to display the detected restaurant customer service related information received by the receiver to a restaurant manager in a real-time basis regardless of whether the restaurant manager is present at the restaurant or at a remote location.

    摘要翻译: 公开了一种用于监视餐厅服务质量的方法和系统。 在餐厅的每张桌子上安装多个传感器模块,以检测餐厅客户服务相关信息。 检测到的餐厅客户服务相关信息优选地通过空中传送到中央计算机单元,该中央计算机单元具有用于接收由传感器模块通过空中传输的检测到的餐厅客户服务相关信息的接收器。 耦合到中央计算机单元的显示器监视器可以用于将接收器接收到的检测到的餐厅客户服务相关信息实时地显示给餐厅经理,而不管餐厅经理是否存在于餐厅或者餐厅经理 一个偏远的地方。

    Methods and arrangements for providing multiple concurrent desktops and workspaces in a shared computing environment
    10.
    发明授权
    Methods and arrangements for providing multiple concurrent desktops and workspaces in a shared computing environment 有权
    在共享计算环境中提供多个并发桌面和工作区的方法和安排

    公开(公告)号:US06807666B1

    公开(公告)日:2004-10-19

    申请号:US09573628

    申请日:2000-05-17

    IPC分类号: G06F900

    CPC分类号: G06F9/451

    摘要: Methods and arrangements are provided for use in multiple user computing environments. These methods and arrangements can be configured to allow for a plurality of separate and concurrent desktops and workspaces within the shared computing environment. One method includes creating a separate desktop thread for each user that is authenticated during a logon process, creating a separate desktop associated with each desktop thread, and maintaining a list of desktop threads that are created. In this manner, several users can be logged on simultaneously. In certain implementations, the method further includes establishing a separate user environment associated with each desktop and launching a separate user shell associated with each desktop. The list of desktop threads allows for selective and/or automatic switching from a first desktop to a second desktop without terminating a desktop thread associated with the first desktop. The methods and arrangements are also applicable to remote process logon and switching.

    摘要翻译: 提供了在多个用户计算环境中使用的方法和布置。 这些方法和布置可以被配置为允许在共享计算环境内的多个单独的和并发的桌面和工作空间。 一种方法包括为登录过程中进行身份验证的每个用户创建单独的桌面线程,创建与每个桌面线程相关联的单独桌面,以及维护创建的桌面线程列表。 以这种方式,几个用户可以同时登录。 在某些实现中,该方法还包括建立与每个桌面相关联的单独的用户环境并且启动与每个桌面相关联的单独的用户外壳。 桌面线程列表允许从第一桌面到第二桌面的选择性和/或自动切换,而不终止与第一台桌面相关联的桌面线程。 方法和布置也适用于远程进程登录和切换。