Patent classifications
G06F9/4488
Systems and methods for developing digital experience applications
In one implementation, systems and methods are provided for developing a computer-implemented digital experience application having a first and a second micro-application. Each micro-application includes a front end interface configured to receive and display information. The first micro-application includes a first event manager configured to detect an application event belonging to a category, and a first state manager configured to detect an application state belonging to the category. The digital experience application further includes a driver application configured to host the first and second micro-applications, an event hub configured to receive the detected application event from the first micro-application, and a state store configured to store the detected application state received from the first micro-application. The second micro-application includes a second event manager configured to receive the detected application event from the event hub, and a second state manager configured to receive the detected application state from the state store.
Dynamically-imposed field and method type restrictions for managed execution environments
A data structure (e.g., field, method parameter, or method return value) is defined by a descriptor to be of a particular type, which imposes a first set of restrictions on values assumable by the data structure. Separately, the data structure is associated with a type restriction that defines a second set of restrictions that further restricts the values assumable by the data structure. The descriptor and type restriction are encoded separately in a program binary. Responsive to identifying a value for the data structure that (a) is not forbidden by the first set of restrictions defined the descriptor and (b) is forbidden by the second set of restrictions defined by the type restriction, a runtime environment may perform a restrictive operation, such as: blocking storage of the value to a field; blocking passing of the value to a method parameter; or blocking return of the value from a method.
JSON encryption and hashing with indication added to key-value
Methods and apparatus to provide extended object notation data are disclosed. An example apparatus includes a data handler having a first input to receive object data and a first output to output an object notation key-value pair for the object data; a string processor having a second input coupled to the first output and a second output to convey the object notation key-value pair without string literals; and a hashing and encryption handler having a third input coupled to the second output and a third output to convey the key-value pair signed with a private key, to convey the key-value pair encrypted with a public key, and to convey an indication that the encrypted key-value pair is encrypted in a key of the encrypted key-value pair.
Implementing optional specialization when executing code
A compiler is capable of compiling instructions that do or do not supply specialization information for a generic type. The generic type is compiled into an unspecialized type. If specialization information was supplied, the unspecialized type is adorned with information indicating type restrictions for application programming interface (API) points associated with the unspecialized type, which becomes a specialized type. A runtime environment is capable of executing calls to a same API point that do or do not indicate a specialized type, and is capable of executing calls to a same API point of objects of an unspecialized type or of objects of a specialized type. When the call to an API point indicates a specialized type, and the specialized type matches that of the object (if the API point belongs to an object), then a runtime environment may perform optimized accesses based on type restrictions derived from the specialized type.
FORMAL OBJECTS AND EXECUTORS
Embodiments are provided for formal objects and executors. In one embodiment, a formal object serialization allows retrieving the object value using a Get method, writing the object value using a Write method, and reading the object value using a Read method. In one embodiment, a formal object validation uses a validator to validate assignments to the object value. Formal validation and serialization may be combined. In one embodiment, a formal executor is guaranteed to be closed regardless of whether an error has occurred or not.
Language binding for DDS types that allows publishing and receiving data without marshaling
A method for reducing a number of copies required to send a data sample with a Data Distribution Service (DDS) type in a system using an Object Management Group (OMG) Data Distribution Service (DDS) and a Real-Time Publish Subscribe (RTPS) protocol is provided. Key to the invention is the definition/creation of a memory representation of the data samples for the DDS type that is equal to the network representation of the data samples for the DDS type. Sending of data samples to the DataReader is accomplished without making a serialization copy of the data samples, and for the receiving the data samples from the DataWriter is accomplished without making a deserialization copy of the data samples. Further, a method is provided for accessing to a network representation of data samples with a DDS type in a system using an OMG DDS and a RTPS protocol.
Object-oriented memory client
A hardware client and corresponding method employ an object-oriented memory device. The hardware client generates an object-oriented message associated with an object of an object class. The object class includes at least one data member and at least one method. The hardware client transmits the object-oriented message generated to the object-oriented memory device via a hardware communications interface. The hardware communications interface couples the hardware client to the object-oriented memory device. The object is instantiated or to-be instantiated in at least one physical memory of the object-oriented memory device according to the object class. The at least one method enables the object-oriented memory device to access the at least one data member for the hardware client.
PROGRAMMING MODEL AND INTERPRETED RUNTIME ENVIRONMENT FOR HIGH PERFORMANCE SERVICES WITH IMPLICIT CONCURRENCY CONTROL
Disclosed is a programming model utilized for the definition of services to be operated on large sets of data with numerous responsibilities, the programming model comprising program units in a tree topology for high performance and implicit concurrency control, where each program unit definition comprises responsibilities defined in behaviors and configurations. A runtime environment may be utilized to provide implicit concurrency, parallelization, and concurrency control for operations executed on program unit instances.
INFORMATION PROCESSING DEVICE AND COMPILATION METHOD
An apparatus includes a processor coupled to a memory and configured to extract a class in which a constructor or an assignment operator included in source code or a combination of the constructor and the operator is used, identify a call to the constructor or operator or the combination, calculate the number of times of access to member variables, indicated in the call identified and a periphery of the call; compare the number, calculated, of times of the access with the number of times of memory access , and generate intermediate code having, added thereto, information to be used to execute a process for copying the constructor or the operator or the combination in units of member variables, and generate intermediate code having information added thereto based on the call when the number, calculated, of times of the access is smaller than the number of times of the memory access.
Remotely invoking dynamic classes on a computing device
A computing device that is configured for remotely invoking dynamic classes is described. The computing device includes a processor, memory in electronic communication with the processor and instructions stored in the memory. The computing device deploys one or more assemblies, which are used by an unreferenced derived class. A byte array that includes the unreferenced derived class is received from a remote node. The unreferenced derived class includes an implementation of a common base class. The computing device further receives a class name and one or more assembly names from the remote node. The computing device decodes the byte array to reconstitute the unreferenced derived class and calls the implementation of the common base class. One or more operations may be performed with the unreferenced derived class.