Runtime co-location of executing logic and frequently-accessed application data

US9378060B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9378060-B2
Application numberUS-201213596346-A
CountryUS
Kind codeB2
Filing dateAug 28, 2012
Priority dateAug 28, 2012
Publication dateJun 28, 2016
Grant dateJun 28, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In accordance with various embodiments, systems and methods are provided for co-locating execution logic and state data in a distributed and clustered environment. Such a system can include a plurality of applications, executing on one or more application servers, including an event broker which identifies state data required by an actor, a database which identifies an application server where such state data is cached; and a co-location module which instantiates the actor on the application server where such state data is cached. The method includes identifying state data required by a transaction, identifying an application server where such state data is cached, instantiating execution logic for processing the transaction on the application server where such state data is cached, and executing said execution logic for processing the transaction on the application server where such state data is cached thereby providing predictable low execution latency.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for co-location of execution logic related to an event with data used by the event for execution in a distributed processing environment having a plurality of application servers, the system comprising: an event broker, executing on one or more microprocessors; a data set distributed over said plurality of application servers such that each of said plurality of application servers hosts a data subset of said data set; location data relating a plurality of keys to said data subsets; and a co-location module; wherein in response to said event broker receiving an event associated with a particular key of said plurality of keys, the co-location module: determines one or more of the plurality of application servers hosting an actor cache associated with the event; utilizes the location data to identify which of said plurality of application servers hosts a particular data subset related to said particular key, selectively dispatches execution logic related to said event to an identified application server within the one or more application servers that hosts both the actor cache and the particular data subset related to the particular key, for executing the event at that application server using the particular data subset in accordance with both the actor cache and the particular data subset being located on that application server; and responsive to the particular data subset being located on an application server other than an application server hosting the actor cache, selectively dispatches the execution logic to another of the one or more application servers that hosts the actor cache. 2. The system of claim 1 , wherein: the system is a telecommunications system: the plurality of keys are unique keys associated with subscriber identifiers; and the particular data subset comprises state data required by the event for executing the event at the identified application server. 3. The system of claim 1 , wherein the event broker operates on an event broker server remote from said plurality of application servers and wherein the execution logic is dispatched to the identified application server from the event broker server using a single network hop. 4. The system of claim 1 , wherein the system further comprises a co-location setting associated with the execution logic, and wherein the co-location setting specifies processing to identify the key. 5. The system of claim 1 , wherein the system further comprises a hash function for identifying a key associated with an event. 6. The system of claim 1 , wherein the system further comprises: a co-location setting associated with the execution logic, and wherein each said key of the plurality of keys is an attribute of the co-location setting and, wherein, in response to said event broker receiving an event associated with a particular key of said plurality of keys, the co-location module utilizes the co-location setting and the location data to identify which of said plurality of application servers hosts the data subset related to said key, and dispatches execution logic related to said event to the identified application server. 7. The system of claim 1 , wherein the system is a telecommunications system and the plurality of keys are unique keys associated with subscriber identifiers and wherein the system further comprises a hash function for identifying a unique key associated with an event. 8. A method for co-locating execution logic related to an event with data used by the event for execution in a distributed processing environment having a plurality of application servers, the method comprising: providing an event broker, executing on one or more microprocessors; providing location data relating a plurality of keys to data subsets stored in memory in different of said plurality of application servers; receiving an event with the event broker wherein the event is associated with an identified key of said plurality of keys; determining one or more of the plurality of application servers hosting an actor cache associated with the event; identifying from said location data an identified application server hosting a particular data subset related to said identified key; selectively dispatching execution logic related to said event to an identified application server within the one or more application servers that hosts both the actor cache and the particular data subset related to the particular key, for executing the event at that application server using the particular data subset in accordance with both the actor cache and the particular data subset being located on that application server; and responsive to the particular data subset being located on an application server other than an application server hosting the actor cache, selectively dispatching the execution logic to another of the one or more application servers that hosts the actor cache. 9. The method of claim 8 , wherein the distributed processing environment is a telecommunications network services system and wherein the receiving the event comprises receiving an event with the event broker wherein the event is associated with an identified key of said plurality of keys, wherein the identified key is associated with a subscriber identifier. 10. The method of claim 8 , wherein the dispatching the execution logic further comprises dispatching execution logic related to said event to said identified application server, using a single network hop. 11. The method of claim 8 , wherein: the receiving the event comprises receiving an event with the event broker wherein the event is associated with an identified key of said plurality of keys, further comprises identifying a co-location setting associated with the event; and wherein the identifying the identified application server further comprises identifying from a co-location setting and said location data an identified application server hosting the data subset related to said identified key. 12. The method of claim 8 , wherein the receiving the event further comprises identifying an identified key associated with said event. 13. The method of claim 8 , wherein the receiving the event further comprises identifying an identified key associated with said event using a hash function. 14. The method of claim 8 , wherein the distributed processing environment is a telecommunications network services system and wherein the receiving the event further comprises identifying a subscriber identifier associated with said event using a hash function. 15. A non-transitory computer readable storage medium including instructions stored thereon which, when executed by a computer, cause the computer to perform a method comprising: providing an event broker; providing location data relating a plurality of keys to data subsets stored in memory in different of said plurality of application servers; receiving an event with the event broker wherein the event is associated with an identified key of said plurality of keys; determining one or more of the plurality of application servers hosting an actor cache associated with the event; identifying from said location data an identified application server hosting a particular data subset related to said identified key; selectively dispatching execution logic related to said event to an identified application server within the one or more application servers that hosts both the actor cache and the particular data subset related to the particular key, for executing the event at that application server using the particular data subset in accordance with both the actor cache and th

Assignees

Inventors

Classifications

  • G06F9/5033Primary

    considering data affinity · CPC title

  • the task being a mobile agent, i.e. specifically designed to migrate · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9378060B2 cover?
In accordance with various embodiments, systems and methods are provided for co-locating execution logic and state data in a distributed and clustered environment. Such a system can include a plurality of applications, executing on one or more application servers, including an event broker which identifies state data required by an actor, a database which identifies an application server where …
Who is the assignee on this patent?
Jansson Andreas, Forsberg Lars-Göran, Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/5033. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 28 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).