摘要:
Protection entries and techniques for providing fine granularity computer memory protection. A method of protecting a computer memory may include separating or parsing the computer memory, containing data or code, into blocks and creating protection entries for each block. The protection entries optionally include a reference field for identifying a block of memory, and a protection field for specifying one or more levels of access to the identified block of memory. The protection entries may then be used to pass messages between various system entities, the messages specifying one or more levels of access to the one or more blocks of memory or code.
摘要:
A telecommunications system and method is disclosed for managing congestion in the Home Location Register (HLR). At regular intervals or in response to a registration message associated with a Mobile Station (MS) registration request, the HLR can transmit the current load conditions in the HLR to one or more Mobile Switching Centers (MSC's) within the area served by the HLR. In response, the MSC's can use this load information to reduce the registration intensity in order to protect the HLR from congestion. Each MSC can include one or more HLR load thresholds, and if the current load level in the HLR is above one of these thresholds, the MSC can reduce the number of registration messages sent to the HLR by a certain amount.
摘要:
Method for enabling the simultaneous use of a first and a second programming language within a computer program, and apparatus to practice the method. To enable this sharing of languages, the present invention first provides for a common runtime representation of the data between the several languages in a program as a shared object model. The shared object model includes the layout of complex data structures (e.g., classes), the creation of data, the calling conventions, the destruction of data, the runtime representation of type information, dynamic function call dispatch, and dynamic type conversions. The use of a shared object model enables the sharing of the several compilers' internal representation of data between the different languages as a persistent shared symbol table. This shared internal data representation enables the several compilers to define their respective internal data representations in terms common to each of the compilers.
摘要:
An online buying group (referred to herein as a "co-op`) is formed for the specific purpose of purchasing a particular product at (102) by defining a start time, end time, critical mass, any minimum number of units offered, any maximum number of units offered, starting price and product cost curve. As data is gathered from buyers, by means of their making binding purchase offers, the co-op is modified at (108) using a pricing tool, so as to take into account for this market data in the definition of the price curve. A buyer chooses a product co-op of interest at (114). The buyer is presented with the following essential co-op information: current price, closing time, next price level (as defined by a price curve visibility window and the price curve) sufficient to entice the buyer to make an offer. Once a buyer has made up his mind, the decision must be made at (116) to offer a purchase price which includes the current price, guaranteeing availability if critical mass has been achieved, or to make an offer at a lower price range that can be accepted only if the co-op price drops to that level, which may not occur. Given a decision to make an offer at such lower price, the buyer enters such maximum price at which he is willing to purchase the product at (118). Should the current price drop to the level at which the offer was made, the price contingency is removed from such offer and assuming critical mass is achieved, the offer is accepted at at the close of the co-op at (122), and processed accordingly. Inventory is allocated to fulfill the accepted offer at (126) following the closing of the co-op at (124).
摘要:
Fine-grained parallelism within isolated object graphs is used to provide safe concurrent operations within the isolated object graphs. One example provides an abstraction labeled IsolatedObjectGraph that encapsulates at least one object graph, but often two or more object graphs, rooted by an instance of a type member. By encapsulating the object graph, no references from outside of the object graph are allowed to objects inside of the object graph. Also, the encapsulated object graph does not contain references to objects outside of the graphs. The isolated object graphs provide for safe data parallel operations, including safe data parallel mutations such as for each loops. In an example, the ability to isolate the object graph is provided through type permissions.
摘要:
A runtime environment of a computer system is provided that creates first and second scheduler instances in a process. Each scheduler instance includes allocated processing resources and is assigned a set of tasks for execution. Each scheduler instance schedules tasks for execution using the allocated processing resources to perform the work of the process.
摘要:
The present invention extends to methods, systems, and computer program products for transforming source code to await execution of asynchronous operations. Embodiments of the invention simplify authoring and use of asynchronous methods, by generating statements that use well-defined awaitable objects to await completion of asynchronous operations. For example, a computer system can transform a statement that requests to await the completion of an asynchronous operation into a plurality of statements that use a predefined pattern of members of an awaitable object corresponding the asynchronous operation. The pattern can include one or more members configured to return a completion status of the asynchronous operation, one or more members configured to resume execution of the asynchronous method at a resumption point when the asynchronous operation completes, and one or more members configured to retrieve completion results. Accordingly, the plurality of statements can use these members to await execution of the asynchronous operation.
摘要:
APIs are provided, that are external to a programming language but that provide functionality that can be plugged into a language compiler. The provided APIs tailor functionality associated with asynchronous programming, iterators or writing symmetric co-routines using a generalized pattern-based approach. Several types of resumable methods are provided in the APIs which can be applied to method bodies written in traditional program code. Syntactically distinguishable control points in method bodies written in traditional program code invoke transformation of the code by the compiler using the external APIs. The transformed code enables the pausing and resumption of the code sandwiched between control points in the transformed code. The source code contained within a method having control points in it is transformed so that code within the method can be executed in discrete parts, each part starting and ending at a control point in the transformed code.
摘要:
Systems and methods that integrate data type conversion(s) into a programming language, and describe external formats within a syntax thereof. A mapping component defines a declarative mapping from an external data format to one or more of its internal data types (e.g., expressing external data types in terms of source languages.) Moreover, a rule establishing component can define value-based rules, such as invariants to the external data format, wherein the schema declaration further defines data fields that make up the schema. Accordingly, by expressing rules in form of predicate logic (instead of imperative program logic) the subject innovation increase a likelihood that compilers can reason about the data.
摘要:
A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.