System for distributed information presentation and interaction
First Claim
1. A system comprising:
- a plurality of output devices, each respective output device being arranged to produce a respective output portion of a system output, each respective output portion being defined by context information, the context information being indicative of present state of all of the output devices in the system;
a plurality of application processors, each application processor configured to process one or more respective application programs, each application processor responsive to the context information and coupled with an associated respective output device for controlling the associated respective output device in producing the respective output portion;
one or more code portions executable by the plurality of application processors that when executed cause the plurality of application processors to implement an abstraction layer operable to;
identify whether one or more respective application programs reside on more than one of the plurality of application processors; and
configure each of the application programs;
wherein the abstraction layer uses primitives implemented by the plurality of application processors to;
(a) divide an application or set of applications across one or more than one of the plurality of application processors;
(b) align output portions on more than one of the plurality of application processors and/or different output devices;
(c) collect user interactions from multiple input devices controlled by one or more of the plurality of application processors, to provide a synchronized view of user interactions to the application;
(d) communicate and synchronize multiple data-intensive and collaborative applications to execute and cooperate; and
(e) provide user interface constructs for multiple users of the application programs to interact with each other.
0 Assignments
0 Petitions
Accused Products
Abstract
A system for distributed information processing and interaction includes a plurality of output devices arranged to produce a respective output portion of a system output, a plurality of application processors and a state server in data communication with the plurality of application processors. Each respective output portion is defined by context information. Each application processor is configured to process one or more respective application programs and is responsive to the context information. Each application processor is coupled with an associated respective output device for controlling the output device in producing the respective output portion. The state server provides the context information to the plurality of application processors. The architecture is extended to a more general system in which output devices produce a variety of outputs including device actuations, as well as video displays, and receive a variety of inputs.
59 Citations
9 Claims
-
1. A system comprising:
-
a plurality of output devices, each respective output device being arranged to produce a respective output portion of a system output, each respective output portion being defined by context information, the context information being indicative of present state of all of the output devices in the system; a plurality of application processors, each application processor configured to process one or more respective application programs, each application processor responsive to the context information and coupled with an associated respective output device for controlling the associated respective output device in producing the respective output portion; one or more code portions executable by the plurality of application processors that when executed cause the plurality of application processors to implement an abstraction layer operable to; identify whether one or more respective application programs reside on more than one of the plurality of application processors; and configure each of the application programs; wherein the abstraction layer uses primitives implemented by the plurality of application processors to; (a) divide an application or set of applications across one or more than one of the plurality of application processors; (b) align output portions on more than one of the plurality of application processors and/or different output devices; (c) collect user interactions from multiple input devices controlled by one or more of the plurality of application processors, to provide a synchronized view of user interactions to the application; (d) communicate and synchronize multiple data-intensive and collaborative applications to execute and cooperate; and (e) provide user interface constructs for multiple users of the application programs to interact with each other. - View Dependent Claims (2, 3)
-
-
4. A method comprising:
-
arranging a plurality of output devices, respectively, to produce a respective output portion of a system output, each respective output portion being defined by context information, the context information being indicative of present state of all of the output devices in the system; configuring each of a plurality of application processors to process one or more respective application programs, each application processor responsive to the context information and coupled with an associated respective output device for controlling the associated respective output device in producing the respective output portion; implementing an abstraction layer, using one or more code portions executable by the plurality of application processors that when executed cause the plurality of application processors to implement the abstraction layer operable to; identify whether one or more respective application programs reside on more than one of the plurality of application processors; and configure each of the application programs; wherein the abstraction layer uses primitives implemented by the plurality of application processors to; (a) divide an application or set of applications across one or more than one of the plurality of application processors; (b) align output portions on more than one of the plurality of application processors and/or different output devices; (c) collect user interactions from multiple input devices controlled by one or more of the plurality of application processors, to provide a synchronized view of user interactions to the application; (d) communicate and synchronize multiple data-intensive and collaborative applications to execute and cooperate; and (e) provide user interface constructs for multiple users of the application programs to interact with each other. - View Dependent Claims (5, 6)
-
-
7. A product comprising:
-
a computer readable memory with processor executable instructions stored thereon, wherein the instructions when executed by the processor cause the processor to; arrange a plurality of output devices, respectively, to produce a respective output portion of a system output, each respective output portion being defined by context information, the context information being indicative of present state of all of the output devices in the system; configure each of a plurality of application processors to process one or more respective application programs, each application processor responsive to the context information and coupled with an associated respective output device for controlling the associated respective output device in producing the respective output portion; implement an abstraction layer, using one or more code portions executable by the plurality of application processors that when executed cause the plurality of application processors to implement the abstraction layer operable to; identify whether one or more respective application programs reside on more than one of the plurality of application processors; and configure each of the application programs; wherein the abstraction layer uses primitives implemented by the plurality of application processors to; (a) divide an application or set of applications across one or more than one of the plurality of application processors; (b) align output portions on more than one of the plurality of application processors and/or different output devices; (c) collect user interactions from multiple input devices controlled by one or more of the plurality of application processors, to provide a synchronized view of user interactions to the application; (d) communicate and synchronize multiple data-intensive and collaborative applications to execute and cooperate; and (e) provide user interface constructs for multiple users of the application programs to interact with each other. - View Dependent Claims (8, 9)
-
Specification