Patents Issued in March 31, 2016
  • Publication number: 20160092185
    Abstract: A system and method for deploying a software application to a hosting environment that considers the development environment, and bases any decision on data about the development environment to make a selection of hosting environment and/or operational attributes. The system and methods determines and attaches metadata describing the development environment to an application, then uses that metadata to select a deployment model, and to select an operational model. The method assigns a security risk score to a developed application which may be hosted in a virtual hosting environment or a physical hosting environment. The system and method considers security issues in its scoring and focuses on the security risk associated with an application that would be deployed. The method steps convey the application attributes, such as complexity, robustness, likelihood of operational issued, likelihood of compromise, etc. to the deployment and operating entities.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: Derek W. Botti, Ramamohan Chennamsetty, Anji D. Greene, Charles S. Lingafelt, William H. Tworek
  • Publication number: 20160092186
    Abstract: An online system allows a user to provide information for accessing the online system to a third party system, which communicates the information to the online system. Based on the received information, the online system determines whether the user is authorized to access the third party system. Additionally, the online system determines whether an application is associated with the third party system. When determining whether an application is associated with the third party system, the online system may also account for characteristics of a client device associated with the user. If an application is associated with the third party system, the online system sends information for installing the application to the client device associated with the user.
    Type: Application
    Filed: September 29, 2014
    Publication date: March 31, 2016
    Inventor: Simon Cross
  • Publication number: 20160092187
    Abstract: Disclosed are methods and systems for determining the time for a remote computer to begin executing an application downloaded over a network. A portion of the application to begin execution of the application is determined. The portion is less than the entirety of the application. The time to start the application on a remote computer is calculated and displayed. The time to start can be calculated based on an obtained a speed of the network to the remote computer, a time to transmit the portion of the application to the remote computer based on the portion of the application and the obtained connection speed, and a loading time for the portion of the application to load on the remote computer.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventor: Edward Adam Lerner
  • Publication number: 20160092188
    Abstract: Techniques are described for managing drift within a standardized environment. According to one embodiment, an end state definition is stored that identifies a standard set of source components for a plurality of targets. A drift manager determines that at least one target of the plurality of targets has drifted from the standard set of source components identified by the end state definition. After determining that the at least one target of the plurality of targets has drifted from the standard set of source components identified by the end state definition, the drift manager reconciles the at least one target with the end state definition.
    Type: Application
    Filed: January 23, 2015
    Publication date: March 31, 2016
    Inventors: Balasubrahmanyam Kuchibhotla, Bharat Paliwal, Hariprasanna Srinivasan, Kamaldeep Khanuja, Shachi Sanklecha, Ramalakshmi Vaidhiyanathan
  • Publication number: 20160092189
    Abstract: When a new version of a first program is to be installed on a first device, metadata supplied to that device specifies which versions of a second program stored on a second device are compatible with the new version. The first device uses this metadata to determine a compatibility classification that indicates how compatible the current version of the second program and the new version of the first program are, and transitions to a state representative of this compatibility classification. A process executing on the first device receives messages from applications executing on the first device. The process reads mappings between these applications and the message types these applications send. The process forwards an application's message to the second device if the application sends a message type allowable in the first device's state. Otherwise, the process queues that message at least until the first device transitions to a different state.
    Type: Application
    Filed: March 6, 2015
    Publication date: March 31, 2016
    Inventors: Daniel B. Pollack, Eric S. Brown, Gregory B. Novick, Paul W. Chinn, David C. Donley, Tyler D. Hawkins, Julien A. Poumailloux
  • Publication number: 20160092190
    Abstract: The invention provides a method, an apparatus and a system for inspecting safety when an application installation package is running. The method may comprise: detecting a running request of an application installation package at a terminal; analyzing the application installation package to obtain security key information, in response to the detection of the running request; comparing the acquired security key information with original security key information corresponding to the application; and terminating the running of the application installation package if the comparison result indicates that a difference is greater than a security threshold. Embodiments of the invention can efficiently identify and prevent applications maliciously tampered.
    Type: Application
    Filed: December 11, 2014
    Publication date: March 31, 2016
    Applicant: Beijing NQ Technology Co., Ltd.
    Inventor: Ji Chen
  • Publication number: 20160092191
    Abstract: A software providing system, being provided with at least one server, is connected to a user terminal via a network such that the software providing system provides an application program to the user terminal. A first installer, a second installer and Web content are stored in the at least one server. The first installer downloads the application program to the user terminal and install the application program on the user terminal, by being downloaded to the user terminal via the network and operating on the user terminal. The second installer downloads the first installer, by the second installer being downloaded to the user terminal via the network and operating on the user terminal. The Web content causes a display of the user terminal to display a Web page that receives an operation on the user terminal side to download the second installer to the user terminal.
    Type: Application
    Filed: August 3, 2015
    Publication date: March 31, 2016
    Inventor: Hideaki Ueda
  • Publication number: 20160092192
    Abstract: A system and method for automating detection of a change of configuration of an embedded unit and the reloading of the appropriate software configuration into the unit. An automatic reloading system comprises a transmitter associated with the unit to transmit a configuration frame comprising a set of identifiers of the current hardware and/or software configuration of the unit, a detector to capture the configuration frame and to detect a change of hardware and/or software configuration of the unit, and a software loader to automatically reload a set of appropriate software elements into the unit according to the detected change of configuration.
    Type: Application
    Filed: September 24, 2015
    Publication date: March 31, 2016
    Inventors: Anne Frayssignes, Marc Cramoisan
  • Publication number: 20160092193
    Abstract: The invention relates to a method for operating a processing and/or production installation having at least two engineering systems producing a respective output file including an operating variable for at least one component of the installation. The first output file of a first engineering system is transmitted from the first engineering system to a second engineering system. A second output file is provided by a second engineering system using the first output file, and the processing and/or production installation being operated using the second output file. first origin data describing an origin of the first output file of the first engineering system, and second origin data describing an origin of the second output file from the second engineering system.
    Type: Application
    Filed: May 16, 2013
    Publication date: March 31, 2016
    Applicant: SIEMENS AKTIENGESELLSCHAFT
    Inventors: MICHAEL DALLMANN, MATTHIAS DÜRR
  • Publication number: 20160092194
    Abstract: A system associated with a data center may include an active first point of deployment (POD) configured to provide a business functionality to users communicating via a network based on a first version of a platform template, a dark second POD configured with a different second version of the platform template and a switching tool to manage communication to and from the first POD and the second POD. The switching tool may send a received message the message to the destination based, at least in part, on the source of the received message, where the switching tool may send messages received from user devices to the first data center and may send messages received from testing devices to the second data center. The switching tool may, in response to a switching command, switch operation of the business functionality from the first POD to the second POD.
    Type: Application
    Filed: September 25, 2014
    Publication date: March 31, 2016
    Inventors: Raminder Chhatwal, Suresh Nair, Tal Sadan, Minesh Shah
  • Publication number: 20160092195
    Abstract: Techniques are described for standardizing configuration levels across a plurality of software deployments. In one embodiment, a standardization management system generates, based on a plurality of software deployments that have different source components, an end state definition that identifies a recommended standard set of source components for the plurality of software deployments. Based on the end state definition that identifies the recommended standard set of source components for the plurality of software deployments, the standardization management system generates an image that includes the standard set of source components for the plurality of software deployments. The image may be used to update software deployments that are part of the plurality of software deployments and do not include the standard set of source components.
    Type: Application
    Filed: January 23, 2015
    Publication date: March 31, 2016
    Inventors: Balasubrahmanyam Kuchibhotla, Bharat Paliwal, Hariprasanna Srinivasan, Kamaldeep Khanuja, Shachi Sanklecha, Prakash Babu Jaganathan
  • Publication number: 20160092196
    Abstract: Techniques are described for managing updates across one or more targets using standard software images. In one embodiment, a first version of a software application is deployed on a set of one or more targets. A software binary is then generated for an updated version of the software application. The software binary for the updated version of the software application is deployed to the set of one or more targets. While the software binary for the updated version of the software application is deployed, the previous version of the software application remains active on a particular target. The updated version of the software application is activated, using the software binary, on the particular target.
    Type: Application
    Filed: March 17, 2015
    Publication date: March 31, 2016
    Inventors: Balasubrahmanyam Kuchibhotla, Bharat Paliwal, Srivatsan Vijayaraghavan, Shachi Sanklecha, Abhishek Sureshkumar
  • Publication number: 20160092197
    Abstract: Techniques are described for managing a plurality of different versions of a software application for set of software deployments. In one embodiment, a reference for a set of one or more target software deployments is maintained on a computing device. The reference is associated with a plurality of versions of a software application. An updated version of the software application is received for the set of one or more target software deployments. In response, a particular version of the software application is replaced with the updated version of the software application. After replacing the particular version of the software application with the updated version of the software application, the reference is associated with the updated version of the software application and not the particular version of the software application.
    Type: Application
    Filed: March 17, 2015
    Publication date: March 31, 2016
    Inventors: Balasubrahmanyam Kuchibhotla, Bharat Paliwal, Kamaldeep Khanuja, Hariprasanna Srinivasan
  • Publication number: 20160092198
    Abstract: Methods, apparatuses and systems are described herein for harmonizing firmware among lighting units (2802, 2902) of a lighting system (2800). In some embodiments, a lighting unit controller (2804) of a lighting unit may be configured to: broadcast, to a plurality of remote lighting units of the lighting system, data indicative of a version of the firmware used locally (2812); receive, directly or indirectly from at least one remote lighting unit of the lighting system, data indicative of a version of firmware used by the at least one remote lighting unit; determine that the version of firmware used by the at least one remote lighting unit is different from a version of the firmware stored in the memory; and take remedial action to harmonize the firmware stored in the memory with the firmware used by the remote lighting unit.
    Type: Application
    Filed: September 25, 2015
    Publication date: March 31, 2016
    Inventors: JURGEN MARIO VANGEEL, BAS MARINUS JOHANNUS VAN BERKEL
  • Publication number: 20160092199
    Abstract: Device segmentation systems and methods enable devices to be manufactured and placed into the stream of commerce without customization for a particular retailer. The customization occurs at a later point in time when the device is activated after sale. This allows devices to be transferred among retailers without the additional expense of re-customizing the device.
    Type: Application
    Filed: September 29, 2015
    Publication date: March 31, 2016
    Inventors: Marco PELUSO, Rosario IANNELLA
  • Publication number: 20160092200
    Abstract: This invention relates to a method for remotely updating a portable storage device, comprising the steps of: a) delaying an access to an identification card interface of a portable storage device communicating with a hosting device by acknowledging with one or more consecutive no operation procedure byte to commands issued by the hosting device, the portable storage device being installed in an identification card socket; b) updating the portable storage device with new data through an updating device connected to an update interface of the portable storage device during the access of said hosting device to the identification card interface; and c) providing the new data to the hosting device through the identification card interface after the new data is updated in the portable storage device.
    Type: Application
    Filed: May 21, 2014
    Publication date: March 31, 2016
    Inventor: Eran Duchan
  • Publication number: 20160092201
    Abstract: A method is provided which includes receiving an input instruction of a user, and determining a startup mode of a terminal device according to the input instruction of the user, and sending, to the terminal device, a control instruction that is used to control the terminal device to enter the determined startup mode. A host device determines that a startup mode of a terminal device is a forcibly loading startup mode, and the terminal device performs data updating according to program data acquired from a storage card, so as to implement program data updating of the terminal device by means of forcibly loading without updating using a network or updating by dismantling a housing.
    Type: Application
    Filed: December 8, 2015
    Publication date: March 31, 2016
    Inventor: Wei Gao
  • Publication number: 20160092202
    Abstract: Mechanisms are provided for performing a live update of an operating system. The mechanisms receive an update to an operating system and clone a root volume group associated with an operating system instance executing in a first logical partition of the data processing system to generate a cloned root volume group. The mechanisms apply the update to the cloned root volume group to generate an updated and cloned root volume group and boot a second logical partition of the data processing system using the updated and cloned root volume group. Moreover, the mechanisms mirror the original root volume group associated with an operating system instance executing in a first logical partition and import the mirrored root volume group into the second logical partition. The mechanisms migrate application instances to the second logical partition by restarting the application instances in the second logical partition using the mirrored root volume group.
    Type: Application
    Filed: September 25, 2014
    Publication date: March 31, 2016
    Inventors: Khalid Filali-Adib, Christophe Lombard, John M. McConaughy, David W. Sheffield, Sungjin Yook
  • Publication number: 20160092203
    Abstract: Mechanisms are provided for performing a live update of an operating system. The mechanisms receive an update to an operating system and clone a root volume group associated with an operating system instance executing in a first logical partition of the data processing system to generate a cloned root volume group. The mechanisms apply the update to the cloned root volume group to generate an updated and cloned root volume group and boot a second logical partition of the data processing system using the updated and cloned root volume group. Moreover, the mechanisms mirror the original root volume group associated with an operating system instance executing in a first logical partition and import the mirrored root volume group into the second logical partition. The mechanisms migrate application instances to the second logical partition by restarting the application instances in the second logical partition using the mirrored root volume group.
    Type: Application
    Filed: June 3, 2015
    Publication date: March 31, 2016
    Inventors: Khalid Filali-Adib, Christophe Lombard, John M. McConaughy, David W. Sheffield, Sungjin Yook
  • Publication number: 20160092204
    Abstract: Embodiments can enable the uploading of a newer version of a plugin package to a plugin service without affecting an existing user session that is using an older version of the plugin package. When a new user session begins, the plugin service can monitor one or more plugin packages and the versions used during the new user session. Throughout the user session, the plugin service continues to make the plugin packages available to the user regardless of newer versions being uploaded to the plugin service. In the meantime, multiple clients with different user sessions may be using different and possibly newer versions of the plugin packages at the same time. The plugin service can remove an older version of a plugin package when it determines that there are no longer any active user sessions utilizing the older version of the plugin package.
    Type: Application
    Filed: September 25, 2015
    Publication date: March 31, 2016
    Inventors: Arun Lakshminarayn Katkere, Bo Jonas Birger Lagerblad
  • Publication number: 20160092205
    Abstract: A system and method supports dynamic deployment of executable code in a distributed computing environment. A server node in the distributed computing environment can receive a class definition from a client to execute, and generate and load into memory an instance of a class using said class definition without restarting or redeploying the server node. The class definition can define a new or updated class otherwise unavailable to the server node. Classes are identified with unique class identities which enables determination of whether a class is new or updated. The class identity can be used to determine the need for transmitting a class definition to a server node and also to ensure that a correct version of a class in implemented. In a particular case the new or updated class definition implements a lambda expression.
    Type: Application
    Filed: September 24, 2015
    Publication date: March 31, 2016
    Inventors: ALEKSANDAR SEOVIC, HARVEY RAJA
  • Publication number: 20160092206
    Abstract: Executable files are managed. A determination is made as to whether in a second executable file there exists a function that is the same as a function called in a first executable file. A data package is generated on a portion other than the function in the first executable file and the second executable file, and the function is stored in relation to the data package. The data package includes a first address of the function in the first executable file and a second address of the function in the second executable file.
    Type: Application
    Filed: September 29, 2015
    Publication date: March 31, 2016
    Inventors: Jian Gang Deng, DaFei Shi, Lijun Wei, Gong Zhe
  • Publication number: 20160092207
    Abstract: A system may include a first point of deployment (POD) and a second POD at a data center, where each of the first POD and the second POD may be configured to support a first version of a platform template. The first POD may a first set of servers based on a first hardware platform and the second POD may include a second set of servers based on a second hardware platform. A configuration manager may be configured to determine a difference between the first hardware platform and the second hardware platform and generate a second version of the platform template based on the difference between the first hardware platform associated and the second hardware platform.
    Type: Application
    Filed: September 25, 2014
    Publication date: March 31, 2016
    Inventors: Raminder Chhatwal, Suresh Nair, Tal Sadan, Minesh Shah
  • Publication number: 20160092208
    Abstract: The disclosed embodiments provide a system that manages access to resource versions in a shared computing environment. Routing data including locations of the resource versions is used to route a request to a resource version in the shared computing environment. For an application that is implemented by a set of resources, the routing data and the request is used to execute the application using an alternative version of a resource that is under test and default versions of other resources that are not under test.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: John W. Nicol, Dwight E. Holman, Soumya Mahadevan, Jens O. Pillgram-Larsen
  • Publication number: 20160092209
    Abstract: Techniques are described for standardizing software configuration levels across targets. In one embodiment, a subscription is maintained that identifies a group of targets that subscribe to a particular image, where the particular image represents a standard to follow for targets that belong to the group of targets. The particular image may further include a first image version having a first set of source components. In response to receiving an update to the particular image, a second image version is generated for the particular image, where the second image version includes a second set of source components that are different than the first set of source components. Two or more targets in the group of targets that subscribe to the particular image may be updated based on the second image version.
    Type: Application
    Filed: January 23, 2015
    Publication date: March 31, 2016
    Inventors: Balasubrahmanyam Kuchibhotla, Bharat Paliwal, Hariprasanna Srinivasan, Kamaldeep Khanuja, Shachi Sanklecha, Akanksha Sheoran Kaler
  • Publication number: 20160092210
    Abstract: Techniques are described for generating configuration level signatures. In an embodiment, one or more computing devices are used to generate a first signature for a particular software deployment that is configured at a particular configuration level. The first signature is generated based on digest information that identifies a plurality of deployed source components for the particular software deployment. Mapping data is stored that maps the first signature to the digest information identifying the plurality of deployed source components for the particular software deployment. A second signature is generated based on information that defines target source components for a set of software deployments that includes the particular software deployment. The first signature is compared with the second signature to determine whether the deployed source components satisfy the target source components. An indication of whether the deployed source components satisfy the target source components is stored.
    Type: Application
    Filed: January 23, 2015
    Publication date: March 31, 2016
    Inventors: Balasubrahmanyam Kuchibhotla, Bharat Paliwal, Hariprasanna Srinivasan, Kamaldeep Khanuja, Shachi Sanklecha, Mahesh Vasishtha
  • Publication number: 20160092211
    Abstract: The disclosure generally describes computer-implemented methods, software, and systems, including methods for generating visualizations. On a client side, a user request is received for an inter-entity call visualization. Code analysis data is accessed. A visualization model is built. The visualization is shown. User inputs are received for interacting with the visualization. The visualization is updated based on the received user inputs. On a server side, a request is received for code analysis data. The requested data collected, including running analyzers for any available data. The requested data is sent. The code analysis data can be used for other purposes than visualizations.
    Type: Application
    Filed: September 29, 2014
    Publication date: March 31, 2016
    Inventors: Radu-Florian Atanasiu, Anne Keller, Wei Wei, Heiko Witteborg
  • Publication number: 20160092212
    Abstract: Embodiments include issuing dynamic issue masks for processor hang prevention. Aspects include storing an instruction in an issue queue for execution by an execution unit, the instruction including a default issue mask. Aspects further include determining whether the instruction in the issue queue is likely to be rescinded by the execution unit. Based on determining that the instruction is not likely to be rescinded by the execution unit, aspects include issuing the instruction to the execution unit with the default issue mask. Based on determining that the instruction is likely to be rescinded by the execution unit, aspects include issuing the instruction to the execution unit with a likely to be rescinded issue mask.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: GREGORY W. ALEXANDER, STEVEN R. CARLOUGH, LEE E. EISEN, DAVID A. SCHROTER
  • Publication number: 20160092213
    Abstract: A reconfigurable arithmetic device includes a plurality of processor elements configured to perform first arithmetic processes corresponding to a first type of instruction and second arithmetic processes corresponding to a second type of instruction, a random-access memory (RAM), and a control unit. The first type of instruction is written into the RAM at a first address, data for the first type of instruction is written into the RAM at a second address, and data for the second type of instruction is written into the RAM at a third address. When the first type of instruction is written at the first address, the control unit decodes the first type of instruction and configures the processor elements to perform the first arithmetic processes. When data for the second type of instruction is written at the third address, the control unit configures the processor elements to perform the second arithmetic processes.
    Type: Application
    Filed: September 28, 2015
    Publication date: March 31, 2016
    Inventors: Hiroshi FURUKAWA, Ichiro Kasama
  • Publication number: 20160092214
    Abstract: Embodiments include optimizing the grouping of instructions in a microprocessor. Aspects include receiving a first clump of instructions from a streaming buffer, pre-decoding each of instructions for select information and sending the instructions to an instruction queue. Aspects further include storing initial grouping information for the instructions in a local register, wherein the initial grouping information is based on the select information. Aspects further include updating the initial group information stored in the local register when additional pre-decode information becomes available and grouping the instructions that are ready to be dispatched into a dispatch group based on the grouping information stored in the local register. Aspects further include dispatching the dispatch group to an issue unit.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: FADI Y. BUSABA, MICHAEL T. HUFFER, DAVID S. HUTTON, EDWARD T. MALLEY, JOHN G. RELL, Jr., ERIC M. SCHWARZ, AARON TSAI
  • Publication number: 20160092215
    Abstract: A processor includes a front end with logic to identify a multiplier, multiplicand, and mathematical mode based upon an instruction. The processor also includes a multiplier circuit to apply Booth encoding to multiply the multiplier and multiplicand. The multiplier circuit includes circuitry to determine leftmost and rightmost partial products of multiplying the multiplier and multiplicand using Booth encoding. The circuitry includes a most significant bit (MSB) array and least significant bit (LSB) array corresponding to the multiplier. The multiplier circuit also includes logic to selectively enable selectors of the circuitry to find partial products based upon the mathematical mode of the instruction.
    Type: Application
    Filed: September 26, 2014
    Publication date: March 31, 2016
    Inventor: Thomas D. Fletcher
  • Publication number: 20160092216
    Abstract: Embodiments include optimizing the grouping of instructions in a microprocessor. Aspects include receiving a first clump of instructions from a streaming buffer, pre-decoding each of instructions for select information and sending the instructions to an instruction queue. Aspects further include storing initial grouping information for the instructions in a local register, wherein the initial grouping information is based on the select information. Aspects further include updating the initial group information stored in the local register when additional pre-decode information becomes available and grouping the instructions that are ready to be dispatched into a dispatch group based on the grouping information stored in the local register. Aspects further include dispatching the dispatch group to an issue unit.
    Type: Application
    Filed: September 1, 2015
    Publication date: March 31, 2016
    Inventors: FADI Y. BUSABA, MICHAEL T. HUFFER, DAVID S. HUTTON, EDWARD T. MALLEY, JOHN G. RELL, JR., ERIC M. SCHWARZ, AARON TSAI
  • Publication number: 20160092217
    Abstract: In an embodiment, a processor may implement a vector instruction set including one or more compare break instructions. The compare break instruction may take a pair of operands which may be compared to determine loop termination conditions, and may output a predicate vector indicating which vector elements correspond to loop iterations that are executed and which vector elements correspond to loop iterations that are not executed. The predicate vector may serve as a predicate to vector instructions forming the body of the loop, correctly executing the specified number of iterations. The compare break instruction may be coded to check for a variety of conditions (e.g. equal, not equal, greater than, less than, etc.). In an embodiment, the compare break instruction may take a predicate operand as well, which may be combined with the predicate vector produced by the comparison operations to produce the output vector.
    Type: Application
    Filed: May 5, 2015
    Publication date: March 31, 2016
    Inventors: Jeffry E. Gonion, Charles E. Tucker, Alexander C. Klaiber
  • Publication number: 20160092218
    Abstract: In an embodiment, a processor may implement a conditional stop instruction that includes a first predicate vector identifying the active elements of the instruction, a second predicate vector indicating true and false results for a conditional expression within a loop that is being vectorized, and a source operand specifying which combinations in the true and false results may indicate a dependency. The conditional stop instruction may generate a vector result indicating vector elements that have a dependency on a prior vector element, as well as an identification of which element position the dependency is on. More particularly, dependencies may be detected only on active elements as indicated by the first predicate vector. False dependencies that may occur due to inactive elements may be avoided, which may improve performance and/or provide for correct functional operation.
    Type: Application
    Filed: April 16, 2015
    Publication date: March 31, 2016
    Inventor: Jeffry E. Gonion
  • Publication number: 20160092219
    Abstract: Accelerating constant value generation using a computed constants table, and related circuits, methods, and computer-readable media are disclosed. In one aspect, an instruction processing circuit provides a computed constants table containing one or more entries each comprising an address and a constant value. The instruction processing circuit is configured to detect, in an instruction stream, a constant-generating instruction sequence, and to determine whether an address of the constant-generating instruction sequence is present in an entry of the computed constants table. If the address of the constant-generating instruction sequence is present in the entry of the computed constants table, the instruction processing circuit provides a constant value stored in the entry for execution of at least one dependent instruction on the constant-generating instruction sequence.
    Type: Application
    Filed: September 29, 2014
    Publication date: March 31, 2016
    Inventor: Michael William Morrow
  • Publication number: 20160092220
    Abstract: A processor includes a front end including a decoder to decode an instruction, a scheduler to assign execution of the instruction to a core, and a core to execute the instruction. The instruction specifies that interrupts such as corrected machine check interrupts are to be selectively suppressed. The processor further includes an error handling unit including logic to determine that an interrupt caused by an error is to be created and that an error consumer has requested interrupt notification. The error handling unit further includes logic to, based on the instruction specifying that interrupts are to be selectively suppressed, send the interrupt to a producer that issued the instruction rather than the error consumer.
    Type: Application
    Filed: September 26, 2014
    Publication date: March 31, 2016
    Inventors: Ashok Raj, Mohan J. Kumar
  • Publication number: 20160092221
    Abstract: Systems and methods for dependency-prediction include executing instructions in an instruction pipeline of a processor and detecting a conditionality-imposing control instruction, such as an If-Then (IT) instruction, which imposes dependent behavior on a conditionality block size of one or more dependent instructions. Prior to executing a first instruction, a dependency-prediction is made to determine if the first instruction is a dependent instruction of the conditionality-imposing control instruction, based on the conditionality block size and one or more parameters of the instruction pipeline. The first instruction is executed based on the dependency-prediction. When the first instruction is dependency-mispredicted, an associated dependency-misprediction penalty is mitigated. If the first instruction is a branch instruction, the mitigation involves training a branch prediction tracking mechanism to correctly dependency-predict future occurrences of the first instruction.
    Type: Application
    Filed: September 26, 2014
    Publication date: March 31, 2016
    Inventors: Brian Michael STEMPEL, James Norris DIEFFENDERFER, Michael Scott MCILVAINE, Melinda BROWN
  • Publication number: 20160092222
    Abstract: A processor includes a front end, a decoder, an allocator, and a retirement unit. The decoder includes logic to identify an end-of-live-range (EOLR) indicator. The EOLR indicator specifies an architectural register and a location in code for which the architectural register is unused. The allocator includes logic to scan for a mapping of the architectural register to a physical register, based upon the EOLR indicator. The allocator also includes logic to generate a request to disassociate the architectural register from the physical register. The retirement unit includes logic to disassociate the architectural register from the physical register.
    Type: Application
    Filed: September 25, 2014
    Publication date: March 31, 2016
    Inventors: David Pardo Keppel, Denis M. Khartikov, Fernando LaTorre, Marc Lupon, Grigorios Magklis, Naveen Neelakantam, Georgios Tournavitis, Polychronis Xekalakis
  • Publication number: 20160092223
    Abstract: A processor of an aspect includes a decode unit to decode a persistent store fence instruction. The processor also includes a memory subsystem module coupled with the decode unit. The memory subsystem module, in response to the persistent store fence instruction, is to ensure that a given data corresponding to the persistent store fence instruction is stored persistently in a persistent storage before data of all subsequent store instructions is stored persistently in the persistent storage. The subsequent store instructions occur after the persistent store fence instruction in original program order. Other processors, methods, systems, and articles of manufacture are also disclosed.
    Type: Application
    Filed: September 26, 2014
    Publication date: March 31, 2016
    Applicant: INTEL CORPORATION
    Inventors: Cheng Wang, Youfeng Wu, Rajesh M Sankaran
  • Publication number: 20160092224
    Abstract: According to an aspect, a system for checkpoint acceleration in a simultaneous multithreading (SMT) processor includes circuitry of a processor core of the SMT processor to execute one or more threads in a processing pipeline. The processing pipeline includes a completion stage followed by a checkpoint stage. The system also includes a checkpoint accelerator disposed between the completion stage and the checkpoint stage. The checkpoint accelerator includes a backlog queue that stores a list of next-to-complete groups of instructions from the one or more threads anticipated to complete in an upcoming cycle. The checkpoint accelerator also includes a selection control that drives one or more of the next-to-complete groups of instructions from the backlog queue to the checkpoint stage based on one or more completion indicators that identify which of the next-to-complete groups of instructions actually completed.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: Adam B. Collura, Brian R. Prasky, Anthony Saporito
  • Publication number: 20160092225
    Abstract: According to an aspect, a method of checkpoint acceleration in a simultaneous multithreading (SMT) processor includes executing one or more threads in a processing pipeline of a processor core of the SMT processor, where the processing pipeline includes a completion stage followed by a checkpoint stage. A list of next-to-complete groups of instructions from the one or more threads anticipated to complete in an upcoming cycle is stored in a backlog queue. One or more of the next-to-complete groups of instructions are driven from the backlog queue to the checkpoint stage based on one or more completion indicators identifying which of the next-to-complete groups of instructions actually completed.
    Type: Application
    Filed: August 20, 2015
    Publication date: March 31, 2016
    Inventors: Adam B. Collura, Brian R. Prasky, Anthony Saporito
  • Publication number: 20160092226
    Abstract: Embodiments of systems, methods and apparatuses for execution a NAME instruction are described. The execution of a VPBZHI causes, on a per data element basis of a second source, a zeroing of bits higher (more significant) than a starting point in the data element. The starting point is defined by the contents of a data element in a first source. The resultant data elements are stored in a corresponding data element position of a destination.
    Type: Application
    Filed: December 8, 2015
    Publication date: March 31, 2016
    Inventors: Elmoustapha Ould-Ahmed-Vall, Robert Valentine
  • Publication number: 20160092227
    Abstract: Robust system call and system return instructions are executed by a processor to transfer control between a requester and an operating system kernel. The processor includes execution circuitry and registers that store pointers to data structures in memory. The execution circuitry receives a system call instruction from a requester to transfer control from a first privilege level of the requester to a second privilege level of an operating system kernel. In response, the execution circuitry swaps the data structures that are pointed to by the registers between the requester and the operating system kernel in one atomic transition.
    Type: Application
    Filed: December 8, 2015
    Publication date: March 31, 2016
    Inventors: Baiju V. Patel, James B. Crossland, Atul A. Khare, Toby Opferman
  • Publication number: 20160092228
    Abstract: Embodiments are directed to a processor for adjusting an index, wherein the index identifies a location of an element within an array. The processor includes a shift circuit configured to perform a single operation that adjusts a first parameter of the index to match a parameter of an array address. The single operation further adjusts a second parameter of the index to match a parameter of an array element.
    Type: Application
    Filed: September 29, 2014
    Publication date: March 31, 2016
    Inventor: Michael K. Gschwind
  • Publication number: 20160092229
    Abstract: A processor is configured to execute instructions of a first thread and a second thread. A first return stack corresponds to the first thread, and a second return stack to the second thread. Control circuitry pushes a return address to the first return stack in response to a branch to subroutine instruction in the first thread. If the first return stack is full and borrowing is not enabled by the borrow enable indicator, the control circuitry removes an oldest return address from the first return stack and not store the removed oldest return address in the second return stack. If the first return stack is full and borrowing is enabled by the borrow enable indicator and the second thread is not enabled, the control circuitry removes the oldest return address from the first return stack and push the removed oldest return address onto the second return stack.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: JEFFREY W. SCOTT, WILLIAM C. MOYER, ALISTAIR P. ROBERTSON
  • Publication number: 20160092230
    Abstract: A loop predictor trains a branch instruction to determine a trained loop count of a loop. When the loop fits in an instruction buffer, the processor stops fetching from an instruction cache, sends the loop instructions to an execution engine from the buffer without fetching from the cache, maintains a loop pop count of times the branch is sent to the execution engine from the buffer, and predicts the branch instruction is taken when the loop pop count is less than the trained loop count and otherwise predicts not taken.
    Type: Application
    Filed: November 6, 2014
    Publication date: March 31, 2016
    Inventors: GUO HUA CHEN, MENG CHEN YANG, XIN YU GAO, FAN GONG GONG, ZHEN HUA HUANG
  • Publication number: 20160092231
    Abstract: Embodiments of the present invention provide systems and methods for mapping the architected state of one or more threads to a set of distributed physical register files to enable independent execution of one or more threads in a multiple slice processor. In one embodiment, a system is disclosed including a plurality of dispatch queues which receive instructions from one or more threads and an even number of parallel execution slices, each parallel execution slice containing a register file. A routing network directs an output from the dispatch queues to the parallel execution slices and the parallel execution slices independently execute the one or more threads.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: Sam G. Chu, Markus Kaltenbach, Hung Q. Le, Jentje Leenstra, Jose E. Moreira, Dung Q. Nguyen, Brian W. Thompto
  • Publication number: 20160092232
    Abstract: Propagating constant values using a computed constants table, and related apparatuses and methods are disclosed. In one aspect, an apparatus comprises an instruction processing circuit configured to provide a computed constants table containing one or more entries. Each entry of the computed constants table comprises an attribute and a computed constant value. The instruction processing circuit is configured to detect a deterministic instruction in an instruction stream. Upon detecting the deterministic instruction, the instruction processing circuit determines whether an attribute of the deterministic instruction matches an entry of the computed constants table. If so, the instruction processing circuit provides the computed constant value stored in the entry to at least one dependent instruction. In this manner, a computed constant value may be propagated between instructions without requiring the deterministic instruction to be re-executed.
    Type: Application
    Filed: September 26, 2014
    Publication date: March 31, 2016
    Inventor: Michael William Morrow
  • Publication number: 20160092233
    Abstract: Embodiments include issuing dynamic issue masks for processor hang prevention. Aspects include storing an instruction in an issue queue for execution by an execution unit, the instruction including a default issue mask. Aspects further include determining whether the instruction in the issue queue is likely to be rescinded by the execution unit. Based on determining that the instruction is not likely to be rescinded by the execution unit, aspects include issuing the instruction to the execution unit with the default issue mask. Based on determining that the instruction is likely to be rescinded by the execution unit, aspects include issuing the instruction to the execution unit with a likely to be rescinded issue mask.
    Type: Application
    Filed: September 1, 2015
    Publication date: March 31, 2016
    Inventors: GREGORY W. ALEXANDER, STEVEN R. CARLOUGH, LEE E. EISEN, DAVID A. SCHROTER
  • Publication number: 20160092234
    Abstract: An apparatus and method for speculative vectorization. For example, one embodiment of a processor comprises: a queue comprising a set of locations for storing addresses associated with vectorized memory access instructions; and execution logic to execute a first vectorized memory access instruction to access the queue and to compare a new address associated with the first vectorized memory access instruction with existing addresses stored within a specified range of locations within the queue to detect whether a conflict exists, the existing addresses having been previously stored responsive to one or more prior vectorized memory access instructions.
    Type: Application
    Filed: September 26, 2014
    Publication date: March 31, 2016
    Inventors: NALINI VASUDEVAN, CHENG WANG, YOUFENG WU, ALBERT HARTONO, SARA S. BAGHSORKHI