Abstract:
Client-side performance is optimized through server-side pushing of content. Portions of content are requested and retrieved as required by a client-side application. Moreover, content likely to be needed in the near future is pre-fetched and pushed to the client. This is beneficial from an overhead standpoint since all content need not be provided to the client at once. Rather, content provisioning is throttled based on need, and wait time is mitigated by pre-fetching.
Abstract:
Visualization frameworks may include solvers. The solvers may be used to determine the properties of view components of view compositions. In some instances, the solvers may be explicitly composed using a relational structure, such as a dependency tree. In some instances, the solvers may be implicitly composed based on property-setters having solvers invoking other property-setters having solvers.
Abstract:
Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. Another technique groups the data members based on their affinities for one another in time as determined by observing when references to the data members take place. A variety of options when collecting the profiling data and grouping the data members is supported. The data member grouping is recorded in metadata associated with a definition of the object class. At runtime, a class loader places the data members of an object in memory according to the metadata. Data members of different groups can be placed in separately-loadable units of memory in the memory system. Subsequently, when the data members are referenced in memory, more frequently referenced data members, including those that tend to be referenced at times close to each other, reside at neighboring locations in the memory system.
Abstract:
In server/client architectures, the server application and client applications are often developed in different languages and execute in different environments specialized for the different contexts of each application (e.g., low-level, performant, platform-specialized, and stateless instructions on the server, and high-level, flexible, platform-agnostic, and stateful languages on the client) and are often executed on different devices. Convergence of these environments (e.g., server-side JavaScript using Node.js) enables the provision of a server that services client applications executing on the same device. The local server may monitor local events occurring on the device, and may execute one or more server scripts associated with particular local events on behalf of local clients subscribing to the local event (e.g., via a subscription model). These techniques may enable development of local event services in the same language and environment as client applications, and the use of server-side code in the provision of local event service.
Abstract:
En las arquitecturas de servidor/cliente, la aplicación de servidor y las aplicaciones de cliente frecuentemente son desarrolladas en diferentes lenguajes y se ejecutan en diferentes ambientes especializados para los diferentes contextos de cada aplicación (por ejemplo, instrucciones de bajo nivel, de realizador, especializadas de plataforma, y sin estado en el servidor, y lenguajes de alto nivel, flexibles, agnósticos de plataforma, y de estado en el cliente) y frecuentemente se ejecutan en diferentes dispositivos. La convergencia de estos ambientes (por ejemplo, JavaScript de lado de servidor que utiliza Node.js) permite la provisión de un servidor que atiende aplicaciones de cliente que se ejecutan en el mismo dispositivo. El servidor local puede verificar eventos locales que ocurren en el dispositivo, y puede ejecutar uno o más escritos de servidor asociados con eventos locales particulares a nombre de clientes locales que se suscriben al evento local (por ejemplo, a través de un modelo de suscripción). Estas técnicas pueden permitir el desarrollo de servicios de evento local en el lenguaje y ambiente como aplicaciones de cliente, y el uso de código de lado de servidor en la provisión de servicio de evento local.
Abstract:
In server/client architectures, the server application and client applications are often developed in different languages and execute in different environments specialized for the different contexts of each application (e.g., low-level, performant, platform-specialized, and stateless instructions on the server, and high-level, flexible, platform-agnostic, and stateful languages on the client) and are often executed on different devices. Convergence of these environments (e.g., server-side JavaScript using Node.js) enables the provision of a server that services client applications executing on the same device. The local server may monitor local events occurring on the device, and may execute one or more server scripts associated with particular local events on behalf of local clients subscribing to the local event (e.g., via a subscription model). These techniques may enable development of local event services in the same language and environment as client applications, and the use of server-side code in the provision of local event service.
Abstract:
Visualization frameworks may include solvers. The solvers may be used to determine the properties of view components of view compositions. In some instances, the solvers may be explicitly composed using a relational structure, such as a dependency tree. In some instances, the solvers may be implicitly composed based on property-setters having solvers invoking other property-setters having solvers.
Abstract:
Data layout optimization arranges data members within memory to enhance software performance. Profiling data is consulted to determine how to group data members for an object class into groups. One technique groups the data members based on how frequently the data members are referenced in memory. Another technique groups the data members based on their affinities for one another in time as determined by observing when references to the data members take place. A variety of options when collecting the profiling data and grouping the data members is supported. The data member grouping is recorded in metadata associated with a definition of the object class. At runtime, a class loader places the data members of an object in memory according to the metadata. Data members of different groups can be placed in separately-loadable units of memory in the memory system. Subsequently, when the data members are referenced in memory, more frequently referenced data members, including those that tend to be referenced at times close to each other, reside at neighboring locations in the memory system.
Abstract:
Visualization frameworks may include solvers. The solvers may be used to determine the properties of view components of view compositions. In some instances, the solvers may be explicitly composed using a relational structure, such as a dependency tree. In some instances, the solvers may be implicitly composed based on property-setters having solvers invoking other property-setters having solvers.
Abstract:
An information presentation system that identifies information of interest to a user based on identifying tasks that may be relevant to the user given the user's current context. The user may be presented with an option to select from among relevant tasks and/or goals of completing the task. For each selected task and goal, the system may generate one or more sets of items that are relevant to completing the task. The user may be presented with the option to select from among the sets of items or to navigate among the sets of items. Such a system may be used to provide an easy-to-use interface on a portable computing device to support shopping applications.