EP1301861A2 - Method and apparatus for application packages and delegate packages - Google Patents

Method and apparatus for application packages and delegate packages

Info

Publication number
EP1301861A2
EP1301861A2 EP01984271A EP01984271A EP1301861A2 EP 1301861 A2 EP1301861 A2 EP 1301861A2 EP 01984271 A EP01984271 A EP 01984271A EP 01984271 A EP01984271 A EP 01984271A EP 1301861 A2 EP1301861 A2 EP 1301861A2
Authority
EP
European Patent Office
Prior art keywords
state machine
state
execution
execution state
recited
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP01984271A
Other languages
German (de)
French (fr)
Other versions
EP1301861B1 (en
Inventor
James T. Van Loo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of EP1301861A2 publication Critical patent/EP1301861A2/en
Application granted granted Critical
Publication of EP1301861B1 publication Critical patent/EP1301861B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Definitions

  • This invention relates generally to applications that are declarative (passive) content, executable (active) content, or some combination of declarative and executable content.
  • a cascadable state machine for broadcast content that includes a collection of rules for how content objects that control other pieces of content would reflect their execution states is disclosed.
  • the javax.tv.xlet.Xlet interface provides
  • a cascadable state machine that observes the execution state
  • a method for providing a cascadable state machine is
  • execution state machine interface as the client applications, and cascading a change to
  • computing system arranged to provide a cascadable state machine in a computing system
  • Fig. 1 illustrates a platform that receives an application that has both declarative
  • Figs. 2A and 2B show an execution state machine for broadcast content that executes on interoperable platforms.
  • Fig. 3 illustrates an additional architecture in accordance with an embodiment of
  • Fig. 4 illustrates the situation where the application packages and the delegate
  • Fig. 5 illustrates a variation on the architecture in which the applications export
  • Fig. 6 shows a Table 1 that characterizes the situation where the delegate
  • Fig. 7 shows a Table 2 that corresponds to the situation where the delegate
  • Fig. 8 shows a Table 3 that corresponds to the situation where the delegate
  • Fig. 9 illustrates a computer system employed to implement the invention.
  • a cascadable state machine that observes the execution state
  • Fig. 1 illustrates a platform 100 that receives an application that has both
  • declarative (passive) content and executable (active) content.
  • executable (active) content The declarative content
  • the application and the platform conform to interoperable interfaces.
  • the application adopts
  • execution state machine and exports a standard, interoperable interface through which
  • FIG. 2A An execution state machine 200 for broadcast content that executes on interoperable platforms is shown in Figs. 2A and 2B.
  • the execution state machine 200 consists of four states, i.e., loaded (L), paused (P), deleted (D), and resumed (R).
  • Fig. 2A illustrates the operations that the platform can perform on the application.
  • the application exports a standard interface through which the platform causes execution state transitions.
  • Fig. 2B illustrates the operations that the application can perform on the platform.
  • the platform exports a standard interface through which the application reports execution state transitions.
  • the role of the executable content is to parse and render the declarative content.
  • the platform exports standard, interoperable interfaces to which the application can delegate these operations.
  • the executable content consumes both broadcast bandwidth and platform footprint.
  • Fig. 3 illustrates an additional architecture 300 in accordance with an embodiment of the invention.
  • the architecture 300 amortizes the executable content across the declarative content of multiple applications. Since the platform must manage the content, the applications also include just enough executable content to implement the execution state machine.
  • three applications export the standard, interoperable execution state machine interface, but delegate execution intensive operations to a common collection of downloadable packages. The advantage is that the platform provides resident packages to support a small (perhaps zero) collection of pervasive content formats, but the cooperative applications can share downloadable
  • Fig. 4 illustrates the situation where the application packages and the delegate packages both adopt the standard execution state machine and for the application packages and delegate packages to both export the standard execution state machine
  • the delegate package exports the standard execution interface to the platform, but the delegate package also observes execution state transitions of the client
  • the delegate package reflects the execution state transitions of its clients
  • the design provides precise rules about the interaction of the client execution states versus delegate execution states. The implication is that the platform
  • Fig. 5 illustrates a variation on the architecture in which the applications export
  • the delegate rather than the platform.
  • the delegate in turn exports the standard interface
  • the architecture requires precise rules for the propagation of
  • Fig. 6 shows a Table 1 that characterizes the situation where the delegate
  • the table rows encode the execution state before a state transition while the table columns encode the execution state after a state transition.
  • the character encodes the state that the delegate reports after the client state
  • Fig. 7 shows a Table 2 that corresponds to the situation where the delegate
  • the table cells with a character represent feasible client state transitions.
  • Fig. 8 shows a Table 3 that corresponds to the situation where the delegate supports three client applications, or the delegate supports multiple client applications
  • the table cells with a character represent feasible client state transitions.
  • One implementation of the logic would be a dispatch table.
  • the client state transition For example, if the client transition is vahd but does not cause
  • the delegate reports (or requests) the
  • delegate code returns to the client without an exception. If the operation returns an exception, the delegate code perhaps cascades the exception to the client. If the client
  • the invention provides an apparatus that observes the execution state
  • FIG. 9 illustrates a computer system 1100 employed to implement the invention.
  • the computer system 1100 or, more specifically, CPUs 1102, may be arranged to
  • ROM acts to transfer data and instructions uni-directionally to the
  • CPUs 1102 while RAM is used typically to transfer data and instructions in a bi- directional manner.
  • CPUs 1102 may generally include any number of processors. Both
  • primary storage devices 1104, 1106 may include any suitable computer-readable media.
  • the mass memory device 1108 is a computer-readable medium that may be used to store instructions.
  • mass memory device typically stores programs including computer code, data, and the like.
  • 1108 is a storage medium such as a hard disk or a tape which generally slower than
  • Mass memory storage device 1108 may take the
  • mass memory device 1108 may, in appropriate cases, be incorporated in standard fashion as part of RAM 1106 as virtual
  • a specific primary storage device 1104 such as a CD-ROM may also pass data uni-directionally to the CPUs 1102.
  • CPUs 1102 are also coupled to one or more input/output devices 1110 that may
  • devices such as video monitors, track balls, mice,
  • keyboards microphones
  • touch-sensitive displays touch-sensitive displays
  • transducer card readers magnetic or
  • CPUs 1102 optionally
  • a computer or telecoirjmunications network e.g., an Internet network
  • the multi-platform compiler can be used in any computing system.
  • the apparatus and methods for application packages and delegate can be used in any computing system.
  • the methods are suitable for use in platform-

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A cascadable state machine that observes the execution state machine of multiple client applications, aggregates the multiple execution states into a single execution state for the observation object, reports the aggregate execution state through the same execution state machine interface as the client applications, and cascades changes to the execution state machine of the observation object to the client applications.

Description

METHOD AND APPARATUS FOR APPLICATION PACKAGES AND DELEGATE PACKAGES TO ADOPT AND EXPORT STANDARD EXECUTION STATE MACHINE
INTERFACES
Inventor: James Van Loo
BACKGROUND OF THE INVENTION
1. Field of Invention
This invention relates generally to applications that are declarative (passive) content, executable (active) content, or some combination of declarative and executable content. Specifically, a cascadable state machine for broadcast content that includes a collection of rules for how content objects that control other pieces of content would reflect their execution states is disclosed.
2. Description of Related Art
It is common to associate an execution state machine with both declarative
(passive) content and executable (active) content. The concept applies to both broadcast
content, interactive content, and Internet content, h the context of downloadable
interoperable content, such as Java Byte Code, the javax.tv.xlet.Xlet interface provides
the execution state machine for broadcast content while the java.applet.Applet class
provides the execution state machine for Internet content. The state machines let the
platform (as well as remote objects) observe and control the progress of content execution and understand its implications on resource allocation. The current practice is
for a single piece of content to delegate either to standard (perhaps interoperable)
platform packages or to download (perhaps interoperable) content specific packages that
in turn delegate to platform packages.
Unfortunately, however, if the content delegates to a downloadable package to
realize itself, it is difficult for the platform (or perhaps remote objects) to observe and
control the delegate packages. It is also not obvious to the platform which content
relates to which delegate packages, nor is it obvious whether the control (such as the
deletion) of specific pieces of content affects the delegate package. It is also not clear to
the platform whether the control (such as the deletion) of a delegate package affects
specific pieces of content.
Therefore what is desired is a cascadable state machine for broadcast content.
SUMMARY OF THE INVENTION
According to the present invention, methods, apparatus, and systems are
disclosed for providing a cascadable state machine for broadcast content is disclosed.
In one embodiment, a cascadable state machine that observes the execution state
machine of multiple client applications, aggregates the multiple execution states into a
single execution state for the observation object, reports the aggregate execution state
through the same execution state machine interface as the client applications, and cascades changes to the execution state machine of the observation object to the client
applications.
In another embodiment, a method for providing a cascadable state machine is
disclosed that includes observing an execution state machine associated with a plurality
of multiple client applications each having an associated execution state, aggregating the
associated execution states into a single aggregated execution state suitable for an
observation object, reporting the single aggregated execution state through the same
execution state machine interface as the client applications, and cascading a change to
the execution state machine of the observation object to the client applications.
In yet another embodiment, computer program product executable on a
computing system arranged to provide a cascadable state machine in a computing system
is disclosed that includes computer code for observing an execution state machine
associated with a plurality of multiple client applications each having an associated
execution state. Also included are computer code for aggregating the associated
execution states into a single aggregated execution state suitable for an observation
object, computer code for reporting the single aggregated execution state through the
same execution state machine interface as the client applications, computer code for cascading a change to the execution state machine of the observation object to the client applications, and computer readable medium for storing the computer program product.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood by reference to the following description taken in conjunction with the accompanying drawings.
Fig. 1 illustrates a platform that receives an application that has both declarative
(passive) content and executable (active) content.
Figs. 2A and 2B show an execution state machine for broadcast content that executes on interoperable platforms.
Fig. 3 illustrates an additional architecture in accordance with an embodiment of
the invention.
Fig. 4 illustrates the situation where the application packages and the delegate
packages both adopt the standard execution state machine and for the application
packages and delegate packages to both export the standard execution state machine
interfaces in accordance with an embodiment of the invention.
Fig. 5 illustrates a variation on the architecture in which the applications export
the standard interface for the execution state machine, but export the interface to the
delegate rather than the platform.
Fig. 6 shows a Table 1 that characterizes the situation where the delegate
supports a single client application, or delegate supports multiple client applications that
exhibit one execution state.
Fig. 7 shows a Table 2 that corresponds to the situation where the delegate
supports two client applications, or the delegate supports multiple client applications that
exhibit at most two execution states. Fig. 8 shows a Table 3 that corresponds to the situation where the delegate
supports three client applications, or the delegate supports multiple client applications
that exhibit three execution states.
Fig. 9 illustrates a computer system employed to implement the invention.
DETAILED DESCRIPTION OF SELECTED EMBODIMENTS
Reference will now be made in detail to a preferred embodiment of the invention. An example of the preferred embodiment is illustrated in the accompanying drawings.
While the invention will be described in conjunction with a preferred embodiment, it
will be understood that it is not intended to limit the invention to one preferred
embodiment. To the contrary, it is intended to cover alternatives, modifications, and
equivalents as maybe included within the spirit and scope of the invention as defined by
the appended claims.
In one embodiment, a cascadable state machine that observes the execution state
machine of multiple client applications, aggregates the multiple execution states into a
single execution state for the observation object, reports the aggregate execution state
through the same execution state machine interface as the client applications, and
cascades changes to the execution state machine of the observation object to the client
applications.
Fig. 1 illustrates a platform 100 that receives an application that has both
declarative (passive) content and executable (active) content. The declarative content
might encode documents, for example, while the executable content might encode
downloadable software such as the Java Byte Code. The premise is that both the
application and the platform conform to interoperable interfaces. The application adopts
a standard, interoperable execution state machine and exports a standard, interoperable
interface through which the platform can observe and control the execution states. The
platform through the application manager also adopts the standard, interoperable
execution state machine and exports a standard, interoperable interface through which
the application can report its execution state. An execution state machine 200 for broadcast content that executes on interoperable platforms is shown in Figs. 2A and 2B. The execution state machine 200 consists of four states, i.e., loaded (L), paused (P), deleted (D), and resumed (R). Fig. 2A illustrates the operations that the platform can perform on the application. The application exports a standard interface through which the platform causes execution state transitions. Fig. 2B illustrates the operations that the application can perform on the platform. The platform exports a standard interface through which the application reports execution state transitions.
The role of the executable content is to parse and render the declarative content. The platform exports standard, interoperable interfaces to which the application can delegate these operations. The executable content consumes both broadcast bandwidth and platform footprint.
Fig. 3 illustrates an additional architecture 300 in accordance with an embodiment of the invention. The architecture 300 amortizes the executable content across the declarative content of multiple applications. Since the platform must manage the content, the applications also include just enough executable content to implement the execution state machine. In. Fig. 3, three applications export the standard, interoperable execution state machine interface, but delegate execution intensive operations to a common collection of downloadable packages. The advantage is that the platform provides resident packages to support a small (perhaps zero) collection of pervasive content formats, but the cooperative applications can share downloadable
packages for obscure content formats.
Fig. 4 illustrates the situation where the application packages and the delegate packages both adopt the standard execution state machine and for the application packages and delegate packages to both export the standard execution state machine
interfaces in accordance with an embodiment of the invention. The applications consist
of declarative content plus just enough executable content to interact with the platform
and the delegate. The applications export the standard execution interface to the
platform, but these applications also report execution state transitions to the delegate package.
The delegate package exports the standard execution interface to the platform, but the delegate package also observes execution state transitions of the client
applications. The delegate package reflects the execution state transitions of its clients
into its execution state machine. The companion piece of the design is that the delegate
package creates the objects that implement the execution state maclune of the clients for
the platform. The design provides precise rules about the interaction of the client execution states versus delegate execution states. The implication is that the platform
can understand at all times the relationship between client execution transitions versus
delegate execution transitions.
Fig. 5 illustrates a variation on the architecture in which the applications export
the standard interface for the execution state machine, but export the interface to the
delegate rather than the platform. The delegate in turn exports the standard interface
through which the applications report execution state transitions. The platform and the
delegate still interact through the standard interfaces. The implication is that the
platform assigns application management of certain applications to the delegate itself.
The observation motivates a subtle but important feature of the design, i.e., both
the application and the delegate adopt the same execution state machine and adopt
standard interfaces to observe and control the execution states. The implication is that the platform can reason about the content as a consistent abstraction, independent of
whether the application elects to present itself as a single combination of declarative
content and executable content, or elects to make explicit the division between
declarative content versus executable content. The observation of the previous section is that the cascadable content state
machine architecture does not require separate execution state machines for application
packages versus delegate packages. The elegance of the architecture is that these
components can share a single execution state machine. Since the delegate aggregates
the client execution states, the architecture requires precise rules for the propagation of
execution states.
Fig. 6 shows a Table 1 that characterizes the situation where the delegate
supports a single client application, or delegate supports multiple client applications that
exhibit one execution state. The table rows encode the execution state before a state transition while the table columns encode the execution state after a state transition. It
should be noted that the table cells with a character represent feasible client state
transitions. The character encodes the state that the delegate reports after the client state
transition. The table cells with an "x" represent invalid state transitions. The delegate
observes the client state transitions either through private (content specific) interface or
through the standard interface for the execution state machine. The delegate state
machine just shadows the client state machine.
Fig. 7 shows a Table 2 that corresponds to the situation where the delegate
supports two client applications, or the delegate supports multiple client applications that
exhibit at most two execution states. The table cells with a character represent feasible client state transitions. The
character encodes the state that the delegate reports after the client state transition. The table cells with a character surrounded with parenthesis represent feasible client state
transitions that do not cause a delegate state transition. The character encodes the
delegate state before and after the client state transition. The table cells with "x"
represent invalid client state transitions.
Fig. 8 shows a Table 3 that corresponds to the situation where the delegate supports three client applications, or the delegate supports multiple client applications
that exhibit three execution states.
The table cells with a character represent feasible client state transitions. The
character encodes the state that the delegate reports after the client state transition. The
table cells with a character surrounded with parenthesis represent feasible client state
transitions that do not cause a delegate state transition. The character encodes the
delegate state before and after the client state transition. The table cells with "x"
represent invalid client state transitions.
One implementation of the logic would be a dispatch table. The implementation
would encode the client state before the transition plus client state after the transition
into an index into the dispatch table. The implementation then executes code specific to
the client state transition. For example, if the client transition is vahd but does not cause
the delegate state to change, the code just replaces the client state before the transition
with the client state after the transition and returns to the client. If the client transition is valid and should cause the delegate state to change, the delegate reports (or requests) the
transition through its standard interface. If the operation returns without exception, the
delegate code returns to the client without an exception. If the operation returns an exception, the delegate code perhaps cascades the exception to the client. If the client
transition is not valid, the delegate code returns an exception to the client or should the
standard signature not provide an exception, ignore the client transition.
Therefore, the invention provides an apparatus that observes the execution state
machine of multiple client applications, aggregates the multiple execution states into a
single execution state for the observation object, reports the aggregate execution state
through the same execution state machine interface as the client applications, and
cascades changes to the execution state machine of the observation object to the client
applications. Fig. 9 illustrates a computer system 1100 employed to implement the invention.
The computer system 1100 or, more specifically, CPUs 1102, may be arranged to
support a virtual machine, as will be appreciated by those skilled in the art. As is well
known in the art, ROM acts to transfer data and instructions uni-directionally to the
CPUs 1102, while RAM is used typically to transfer data and instructions in a bi- directional manner. CPUs 1102 may generally include any number of processors. Both
primary storage devices 1104, 1106 may include any suitable computer-readable media.
A secondary storage medium 1108, which is typically a mass memory device, is also
coupled bi-directionally to CPUs 1102 and provides additional data storage capacity. The mass memory device 1108 is a computer-readable medium that may be used to store
programs including computer code, data, and the like. Typically, mass memory device
1108 is a storage medium such as a hard disk or a tape which generally slower than
primary storage devices 1104, 1106. Mass memory storage device 1108 may take the
form of a magnetic or paper tape reader or some other well-known device. It will be appreciated that the information retained within the mass memory device 1108, may, in appropriate cases, be incorporated in standard fashion as part of RAM 1106 as virtual
memory. A specific primary storage device 1104 such as a CD-ROM may also pass data uni-directionally to the CPUs 1102.
CPUs 1102 are also coupled to one or more input/output devices 1110 that may
include, but are not limited to, devices such as video monitors, track balls, mice,
keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or
paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-
known input devices such as, of course, other computers. Finally, CPUs 1102 optionally
maybe coupled to a computer or telecoirjmunications network, e.g., an Internet network
or an intranet network, using a network connection as shown generally at 1112. With
such a network connection, it is contemplated that the CPUs 1102 might receive
information from the network, or might output information to the network in the course
of performing the above-described method steps. Such information, which is often
represented as a sequence of instructions to be executed using CPUs 1102, maybe
received from and outputted to the network, for example, in the form of a computer data
signal embodied in a carrier wave. The above-described devices and materials will be
familiar to those of skill in the computer hardware and software arts.
Although only a few embodiments of the present invention have been described,
it should be understood that the present invention may be embodied in many other
specific forms without departing from the spirit or the scope of the present invention. By
way of example, the multi-platform compiler can be used in any computing system. Although the apparatus and methods for application packages and delegate
packages to adopt and export standard execution state machine interfaces in accordance
with the present invention are particularly suitable for implementation with respect to a Java™ based environment, the methods may generally be applied in any suitable object-
based environment. In particular, the methods are suitable for use in platform-
independent object-based environments. It should be appreciated that the methods may
also be implemented in some distributed object-oriented systems.
While the present invention has been described as being used with a distributed
object based computer system, it should be appreciated that the present invention may
generally be implemented on any suitable computing system having a compiler.
Therefore, the present examples are to be considered as illustrative and not restrictive,
and the invention is not to be limited to the details given herein, but may be modified
within the scope of the appended claims along with their full scope of equivalents.
While this invention has been described in terms of a preferred embodiment,
there are alterations, permutations, and equivalents that fall within the scope of this
invention. It should also be noted that there are may alternative ways of implementing
both the process and apparatus of the present invention. It is therefore intended that the
invention be interpreted as including all such alterations, permutations, and equivalents
as fall within the true spirit and scope of the present invention.
What is claimed is:

Claims

i the claims.
1. A method of providing a cascadable state machine in a computing system,
comprising:
observing an execution state machine associated with a plurality of multiple
client applications each having an associated execution state;
aggregating the associated execution states into a single aggregated execution
state suitable for an observation object;
reporting the single aggregated execution state through an execution state
machine interface associated with the client applications; and cascading a change to the execution state machine of the observation object to the
client applications.
2. A method as recited in claim 1, wherein the state machine is suitable for
broadcast content.
3. A method as recited in claim 2, further comprising:
executing on an interoperable platform.
4. A method as recited in claim 3, wherein the executable state machine is
formed of four states.
5. A method as recited in claim 4, wherein the four states includes a loaded
state, a paused state, a deleted state, and a resumed state.
6. A method as recited in claim 5, further comprising
exporting a standard interface through which the client application reports an
execution state transition by the interoperable platform.
7. In a computing system, a cascadable state machine comprising:
means for observing an execution state machine associated with a plurality of
multiple client applications each having an associated execution state;
means for aggregating the associated execution states into a single aggregated
execution state suitable for an observation object;
means for reporting the single aggregated execution state through the same
execution state machine interface as the client applications; and
means for cascading a change to the execution state machine of the observation
object to the client applications.
8. A state machine as recited in claim 7, wherein the state machine is
suitable for broadcast content.
9. A state machine as recited in claim 8, further comprising:
means for executing on an interoperable platform.
10. A state machine as recited in claim 9, wherein the executable state
machine is formed of four states.
11. A state machine as recited in claim 10, wherein the four states includes a
loaded state, a paused state, a deleted state, and a resumed state.
12. A state machine as recited in claim 11, wherein the interoerable platform
exports a standard interface through which the client application reports an execution
state transition.
13. Computer program product executable on a computing system arranged to
provide a cascadable state machine in a computing system, comprising:
computer code for observing an execution state machine associated with a
plurality of multiple client applications each having an associated execution state;
computer code for aggregating the associated execution states into a single
aggregated execution state suitable for an observation object;
computer code for reporting the single aggregated execution state through the
same execution state machine interface as the client applications;
computer code for cascading a change to the execution state machine of the
observation object to the client applications; and
computer readable medium for storing the computer program product.
14. A computer program product as recited in claim 13, wherein the state
machine is suitable for broadcast content.
15. A computer program product as recited in claim 14, further comprising:
computer code for executing on an interoperable platform by the state machine.
16. A computer program product as recited in claim 15, wherein the executable state machine is formed of four states.
17. A computer program product as recited in claim 16, wherein the four states includes a loaded state, a paused state, a deleted state, and a resumed state.
18. A computer program product as recited in claim 17, further comprising computer code for exporting a standard interface through which the client application reports an execution state transition by the interoperable platform.
EP01984271A 2000-07-17 2001-07-17 Method and apparatus for application packages and delegate packages Expired - Lifetime EP1301861B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US22046900P 2000-07-17 2000-07-17
US220469P 2000-07-17
US907532 2001-07-16
US09/907,532 US6799319B2 (en) 2000-07-17 2001-07-16 Method and apparatus for application packages and delegate packages to adopt and export standard execution state machine interfaces
PCT/US2001/022481 WO2002006958A2 (en) 2000-07-17 2001-07-17 Method and apparatus for application packages and delegate packages

Publications (2)

Publication Number Publication Date
EP1301861A2 true EP1301861A2 (en) 2003-04-16
EP1301861B1 EP1301861B1 (en) 2004-12-01

Family

ID=26914906

Family Applications (1)

Application Number Title Priority Date Filing Date
EP01984271A Expired - Lifetime EP1301861B1 (en) 2000-07-17 2001-07-17 Method and apparatus for application packages and delegate packages

Country Status (5)

Country Link
US (1) US6799319B2 (en)
EP (1) EP1301861B1 (en)
AU (1) AU2002222962A1 (en)
DE (1) DE60107573D1 (en)
WO (1) WO2002006958A2 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986146B2 (en) * 2001-05-30 2006-01-10 Siemens Communications, Inc. Method and apparatus for providing a state machine operating on a real-time operating system
US7275081B1 (en) * 2002-06-10 2007-09-25 Juniper Networks, Inc. Managing state information in a computing environment
US7739403B1 (en) 2003-10-03 2010-06-15 Juniper Networks, Inc. Synchronizing state information between control units
US7818236B2 (en) * 2004-09-13 2010-10-19 Nyfix, Inc. System for aggregating executions in a communication network for securities transactions and the like
US7747999B1 (en) 2005-09-26 2010-06-29 Juniper Networks, Inc. Software installation in a multi-chassis network device
US7518986B1 (en) 2005-11-16 2009-04-14 Juniper Networks, Inc. Push-based hierarchical state propagation within a multi-chassis network device
US7804769B1 (en) * 2005-12-01 2010-09-28 Juniper Networks, Inc. Non-stop forwarding in a multi-chassis router
JP5023662B2 (en) * 2006-11-06 2012-09-12 ソニー株式会社 Signal processing system, signal transmission device, signal reception device, and program
US7949679B2 (en) * 2008-03-05 2011-05-24 International Business Machines Corporation Efficient storage for finite state machines
US8475070B1 (en) 2009-02-11 2013-07-02 Bissell Homecare, Inc. Hard surface cleaning tool
US8363549B1 (en) 2009-09-02 2013-01-29 Juniper Networks, Inc. Adaptively maintaining sequence numbers on high availability peers

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852157A (en) * 1988-03-03 1989-07-25 Alcatel Na, Inc. Multi-task state machine signalling translator
US5721920A (en) * 1994-08-05 1998-02-24 Telefonaktiebolaget Lm Ericsson Method and system for providing a state oriented and event driven environment
US5832264A (en) * 1995-07-19 1998-11-03 Ricoh Company, Ltd. Object-oriented communications framework system with support for multiple remote machine types
ES2207756T3 (en) * 1996-11-14 2004-06-01 Alcatel Usa Sourcing, L.P. GENERAL SOFTWARE STATE MACHINE AND METHOD OF BUILDING DYNAMIC OBJECTS FOR AN APPLICATION PROGRAM.
US5787273A (en) 1996-12-13 1998-07-28 Advanced Micro Devices, Inc. Multiple parallel identical finite state machines which share combinatorial logic
US5959968A (en) * 1997-07-30 1999-09-28 Cisco Systems, Inc. Port aggregation protocol
US6317638B1 (en) * 1997-08-22 2001-11-13 Honeywell Inc. Multi-layer state machine for a hybrid real-time control system and method of operation thereof
US6279050B1 (en) * 1998-12-18 2001-08-21 Emc Corporation Data transfer apparatus having upper, lower, middle state machines, with middle state machine arbitrating among lower state machine side requesters including selective assembly/disassembly requests
US7013084B2 (en) * 2001-02-28 2006-03-14 Lambda Opticalsystems Corporation Multi-tiered control architecture for adaptive optical networks, and methods and apparatus therefor
US7149678B2 (en) * 2002-03-28 2006-12-12 Microsoft Corporation High level executable network abstract machine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0206958A2 *

Also Published As

Publication number Publication date
US6799319B2 (en) 2004-09-28
EP1301861B1 (en) 2004-12-01
WO2002006958A3 (en) 2003-02-06
WO2002006958A2 (en) 2002-01-24
AU2002222962A1 (en) 2002-01-30
US20020049734A1 (en) 2002-04-25
DE60107573D1 (en) 2005-01-05

Similar Documents

Publication Publication Date Title
US9189263B1 (en) Object synchronization in shared object space
US6718364B2 (en) Method and apparatus for expedited file downloads in an applet environment
US6519594B1 (en) Computer-implemented sharing of java classes for increased memory efficiency and communication method
JP2014059906A (en) Method and apparatus for implementing individual class loader
US6438616B1 (en) Method and apparatus for fast, local corba object references
US8201187B2 (en) Object monitoring system in shared object space
US6044409A (en) Framework for marshaling and unmarshaling argument object references
US7543301B2 (en) Shared queues in shared object space
US7028091B1 (en) Web server in-kernel interface to data transport system and cache manager
KR20040050855A (en) Managed file system filter model and architecture
US6799319B2 (en) Method and apparatus for application packages and delegate packages to adopt and export standard execution state machine interfaces
KR20010020250A (en) Hardware accelerator for an object-oriented programming language
KR20000053113A (en) Information appliance architecture
US7689986B2 (en) Shared listeners in shared object space
US20020174265A1 (en) Method and apparatus for caching active computing environments
EP1949228A1 (en) Asynchronous just-in-time compilation
US7721298B2 (en) Operating system performance
US20060123432A1 (en) Enabling inter-subsystem resource sharing
TW463127B (en) Computer system and method for loading applications
CN118012839A (en) Method, device and system for file service system to transfer file layout in user mode
Kougiouris et al. Buffer management issues in the implementation of fast interprocess communication
Shiah et al. An Application Recorder and Player
JPH02236640A (en) Multi-session managing system

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20030214

AK Designated contracting states

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20041201

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REF Corresponds to:

Ref document number: 60107573

Country of ref document: DE

Date of ref document: 20050105

Kind code of ref document: P

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20050302

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20050902

EN Fr: translation not filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20200708

Year of fee payment: 20

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

Expiry date: 20210716

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20210716