Patents by Inventor Mark Tsimelzon
Mark Tsimelzon has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8539502Abstract: The present invention provides a method for obtaining predicable and repeatable output results in a continuous processing system. The method involves processing messages and primitives in accordance with the following rules: (1) Messages are processed in accordance with timestamps, where messages are divided up into “time slices”; (2) message order within a data stream is preserved among messages with the same time stamp; (3) subject to rule #4, for each time slice, a primitive is executed when either the messages within such time slice show up in the input stream for such primitive or the state of the window immediately preceding such primitive changes due to messages within such time slice; and (4) for each time slice, primitives that are dependent on one or more upstream primitives are not executed until such upstream primitives have finished executing messages in such time slice that are queued for processing.Type: GrantFiled: April 18, 2007Date of Patent: September 17, 2013Assignee: Sybase, Inc.Inventors: Aleksey Sanin, Mark Tsimelzon, Ian D. Marshall, Robert B. Hagmann
-
Patent number: 8438291Abstract: Business applications running on a content delivery network (CDN) having a distributed application framework can create, access and modify state for each client. Over time, a single client may desire to access a given application on different CDN edge servers within the same region and even across different regions. Each time, the application may need to access the latest “state” of the client even if the state was last modified by an application on a different server. A difficulty arises when a process or a machine that last modified the state dies or is temporarily or permanently unavailable. The present invention provides techniques for migrating session state data across CDN servers in a manner transparent to the user. A distributed application thus can access a latest “state” of a client even if the state was last modified by an application instance executing on a different CDN server, including a nearby (in-region) or a remote (out-of-region) server.Type: GrantFiled: July 26, 2010Date of Patent: May 7, 2013Assignee: Akamai Technologies, Inc.Inventors: Andrew T. Davis, Jay G. Parikh, Srikanth Thirumalai, William E. Weihl, Mark Tsimelzon
-
Patent number: 8396886Abstract: A computer software language capable of expressing registered queries that operate on one more or more data streams continuously. The language of the present invention is based on a publish/subscribe model in that queries subscribe to data streams and publish to data streams. Also, the language of the present invention can express queries that operate directly on data streams. Since queries expressed in the language of the present invention may be executed continuously and directly on data streams, the language includes a clause for specifying time-based and/or row-based windows for the input data stream. Operations are then performed on the data within such windows. In one embodiment, the language is also SQL-like and includes a clause for defining named windows (which can be used in any number of queries); a clause for detecting a pattern, and correlated database subqueries for correlating data stream data with database tables.Type: GrantFiled: February 2, 2006Date of Patent: March 12, 2013Assignee: Sybase Inc.Inventors: Mark Tsimelzon, Aleksey Sanin, Rajeev Motwani, Glenn Robert Seidman, Gayatri Patel
-
Patent number: 8392912Abstract: An application deployment model for enterprise applications to enable applications to be deployed to and executed from a globally distributed computing platform, such as an Internet content delivery network (CDN). According to the invention, application developers separate their Web application into two layers: a highly distributed edge layer and a centralized origin layer. In a representative embodiment, the edge layer supports a servlet container that executes a Web tier, typically the presentation layer of a given Java-based application. Where necessary, the edge layer communicates with code running on an origin server to respond to a given request. In an alternative embodiment, the edge layer supports a more fully-provisioned application server that executes both Web tier (e.g., presentation) and Enterprise tier application (e.g., business logic) components.Type: GrantFiled: October 23, 2006Date of Patent: March 5, 2013Assignee: Akamai Technologies, Inc.Inventors: Andrew Thomas Davis, Jay Parikh, Srinivasan Pichai, Eddie Ruvinsky, Daniel Stodolsky, Mark Tsimelzon, William E. Weihl
-
Patent number: 8046744Abstract: The present invention provides a system and method for measuring latency in a continuous processing system. The invention involves generating “tracer” messages that are specifically designed for measuring latency. A tracer message is configured to pass through and be outputted by each primitive in the tracer message's path regardless of the function of the primitive and without changing the state of the primitive. Tracer messages are not filtered by filter primitives or delayed by time-delay primitives. Tracer messages are detected and discarded within loops. These rules provide for predictable behavior of tracer messages, thereby making them reliable indicators of latency and liveness in the continuous processing system. A tracer message is inserted into the continuous processing system at a desired start point for measuring latency. At a desired end point for measuring latency, latency is measured by calculating the amount of time the tracer message took to travel from the start point to the end point.Type: GrantFiled: April 23, 2008Date of Patent: October 25, 2011Assignee: Sybase, Inc.Inventors: Ian D. Marshall, Aleksey Sanin, Mark Tsimelzon, Robert B. Hagmann
-
Publication number: 20100293281Abstract: Business applications running on a content delivery network (CDN) having a distributed application framework can create, access and modify state for each client. Over time, a single client may desire to access a given application on different CDN edge servers within the same region and even across different regions. Each time, the application may need to access the latest “state” of the client even if the state was last modified by an application on a different server. A difficulty arises when a process or a machine that last modified the state dies or is temporarily or permanently unavailable. The present invention provides techniques for migrating session state data across CDN servers in a manner transparent to the user. A distributed application thus can access a latest “state” of a client even if the state was last modified by an application instance executing on a different CDN server, including a nearby (in-region) or a remote (out-of-region) server.Type: ApplicationFiled: July 26, 2010Publication date: November 18, 2010Applicant: AKAMAI TECHNOLOGIES, INC.Inventors: Mark Tsimelzon, Srikanth Thirumalai, Andrew T. Davis, Jay G. Parikh, William E. Weihl
-
Patent number: 7818757Abstract: A method for processing messages ensures that every message that enters a continuous processing system is fully processed in its entirety, even in the event of a failure within the system. Messages are pushed through an execution plan that includes a set of connected “primitives” that process the message, where the primitives may be distributed across a group of servers. Messages are pushed through in accordance with a protocol that does not permit unprocessed messages to be permanently lost as they travel from input sources, between primitives, and to output sources within the execution plan. The input queue, output queue, and state (if any) associated with each primitive are saved in persistent storage at select checkpoints. If a failure occurs on a server, the server, after it starts up again, restores the primitives on that server to the input queues, output queues, and states saved at the last applicable checkpoint.Type: GrantFiled: July 17, 2006Date of Patent: October 19, 2010Assignee: Sybase, Inc.Inventors: Mark Tsimelzon, Aleksey Sanin, Alexander Zeyliger
-
Patent number: 7818313Abstract: A method, in a continuous computation system, for processing a set of registered queries over a cluster of servers includes creating an execution plan for processing a set of queries over a cluster of servers, where the continuous computation system creates the execution plan by analyzing the semantics and requirements of the queries to determine how to distribute processing across the cluster. Analysis of a query can include determining whether input messages for the query can be processed independent of each other, whether input messages for the query can be partitioned into groups that can be processed independent of each other, whether the query includes an aggregator function, and whether the query includes a subquery.Type: GrantFiled: July 14, 2006Date of Patent: October 19, 2010Assignee: Sybase, Inc.Inventors: Mark Tsimelzon, Aleksey Sanin, Robert B. Hagmann
-
Patent number: 7765304Abstract: Business applications running on a content delivery network (CDN) having a distributed application framework can create, access and modify state for each client. Over time, a single client may desire to access a given application on different CDN edge servers within the same region and even across different regions. Each time, the application may need to access the latest “state” of the client even if the state was last modified by an application on a different server. A difficulty arises when a process or a machine that last modified the state dies or is temporarily or permanently unavailable. The present invention provides techniques for migrating session state data across CDN servers in a manner transparent to the user. A distributed application thus can access a latest “state” of a client even if the state was last modified by an application instance executing on a different CDN server, including a nearby (in-region) or a remote (out-of-region) server.Type: GrantFiled: August 6, 2007Date of Patent: July 27, 2010Assignee: Akamai Technologies, Inc.Inventors: Andrew T. Davis, Jay G. Parikh, Srikanth Thirumalai, William E. Weihl, Mark Tsimelzon
-
Patent number: 7734823Abstract: A method is provided for processing an application on an edge server, wherein the application comprises a set of defined presentation, code and data components, each of which are preferably URI-addressable objects. In response to a client request, the presentation, code and data components are processed according to a set of metadata to generate a response, and the response is delivered to the client. The presentation components are typically content such as HTML fragments, WML fragments, or some combination thereof. The code components are typically Java servlets or beans, XSLT style sheets, or some combination thereof. The data components are typically XML files, native database formatted files, and the like. Each of the presentation, code and data components may have a distinct management profile, cacheability profile, deployment profile, invalidation profile, and security profile. These profiles are settable via metadata or other similar means.Type: GrantFiled: December 15, 2008Date of Patent: June 8, 2010Assignee: Akamai Technologies, Inc.Inventors: Mark Tsimelzon, Daniel M. Lewin, Anne E. Lewin, legal representative
-
Publication number: 20090094382Abstract: A method is provided for processing an application on an edge server, wherein the application comprises a set of defined presentation, code and data components, each of which are preferably URI-addressable objects. In response to a client request, the presentation, code and data components are processed according to a set of metadata to generate a response, and the response is delivered to the client. The presentation components are typically content such as HTML fragments, WML fragments, or some combination thereof. The code components are typically Java servlets or beans, XSLT style sheets, or some combination thereof. The data components are typically XML files, native database formatted files, and the like. Each of the presentation, code and data components may have a distinct management profile, cacheability profile, deployment profile, invalidation profile, and security profile. These profiles are settable via metadata or other similar means.Type: ApplicationFiled: December 15, 2008Publication date: April 9, 2009Inventors: Mark Tsimelzon, Daniel M. Lewin, Anne E. Lewin
-
Patent number: 7467233Abstract: A method is provided for processing an application on an edge server, wherein the application comprises a set of defined presentation, code and data components, each of which are preferably URI-addressable objects. In response to a client request, the presentation, code and data components are processed according to a set of metadata to generate a response, and the response is delivered to the client. The presentation components are typically content such as HTML fragments, WML fragments, or some combination thereof. The code components are typically Java servlets or beans, XSLT style sheets, or some combination thereof. The data components are typically XML files, native database formatted files, and the like. Each of the presentation, code and data components may have a distinct management profile, cacheability profile, deployment profile, invalidation profile, and security profile. These profiles are settable via metadata or other similar means.Type: GrantFiled: April 2, 2007Date of Patent: December 16, 2008Assignee: Akamai Technologies, Inc.Inventors: Mark Tsimelzon, Anne E. Lewin, legal representative, Daniel M. Lewin
-
Patent number: 7383253Abstract: A Continuous Query Processor processes queries on continuously updating data sources or data streams and includes a Publication Manager for accepting published structured elements of data from data stream Publishers, a Subscription Manager for giving structured elements of data to one or more data stream Subscribers, a Query Module Manager for processing queries represented by Query Modules, a Query Module Store for maintaining deployed Query Modules, a Query Primitive Manager performing processing for various primitives that comprise a Query Module, and a Schedule Manager for coordinating when a primitive within a Query Module gets processed in order to maintain that each continuous query is continuously updated immediately upon the arrival of structured element data affecting any part of a continuous query.Type: GrantFiled: December 17, 2004Date of Patent: June 3, 2008Assignee: Coral 8, Inc.Inventors: Mark Tsimelzon, Aleksey Sanin, Rajeev Motwani, Glenn Robert Seidman, Gayatri Patel
-
Publication number: 20070271385Abstract: Business applications running on a content delivery network (CDN) having a distributed application framework can create, access and modify state for each client. Over time, a single client may desire to access a given application on different CDN edge servers within the same region and even across different regions. Each time, the application may need to access the latest “state” of the client even if the state was last modified by an application on a different server. A difficulty arises when a process or a machine that last modified the state dies or is temporarily or permanently unavailable. The present invention provides techniques for migrating session state data across CDN servers in a manner transparent to the user. A distributed application thus can access a latest “state” of a client even if the state was last modified by an application instance executing on a different CDN server, including a nearby (in-region) or a remote (out-of-region) server.Type: ApplicationFiled: August 6, 2007Publication date: November 22, 2007Applicant: AKAMAI TECHNOLOGIES, INC.Inventors: Andrew Davis, Jay Parikh, Srikanth Thirumalai, William Weihl, Mark Tsimelzon
-
Patent number: 7254634Abstract: Business applications running on a content delivery network (CDN) having a distributed application framework can create, access and modify state for each client. Over time, a single client may desire to access a given application on different CDN edge servers within the same region and even across different regions. Each time, the application may need to access the latest “state” of the client even if the state was last modified by an application on a different server. A difficulty arises when a process or a machine that last modified the state dies or is temporarily or permanently unavailable. The present invention provides techniques for migrating session state data across CDN servers in a manner transparent to the user. A distributed application thus can access a latest “state” of a client even if the state was last modified by an application instance executing on a different CDN server, including a nearby (in-region) or a remote (out-of-region) server.Type: GrantFiled: March 10, 2003Date of Patent: August 7, 2007Assignee: Akamai Technologies, Inc.Inventors: Andrew T. Davis, Jay G. Parikh, Srikanth Thirumalai, William E. Weihl, Mark Tsimelzon
-
Publication number: 20070180099Abstract: A method is provided for processing an application on an edge server, wherein the application comprises a set of defined presentation, code and data components, each of which are preferably URI-addressable objects. In response to a client request, the presentation, code and data components are processed according to a set of metadata to generate a response, and the response is delivered to the client. The presentation components are typically content such as HTML fragments, WML fragments, or some combination thereof. The code components are typically Java servlets or beans, XSLT style sheets, or some combination thereof. The data components are typically XML files, native database formatted files, and the like. Each of the presentation, code and data components may have a distinct management profile, cacheability profile, deployment profile, invalidation profile, and security profile. These profiles are settable via metadata or other similar means.Type: ApplicationFiled: April 2, 2007Publication date: August 2, 2007Inventors: Mark Tsimelzon, Daniel Lewin, Anne Lewin
-
Patent number: 7200681Abstract: A method is provided for processing an application on an edge server, wherein the application comprises a set of defined presentation, code and data components, each of which are preferably URI-addressable objects. In response to a client request, the presentation, code and data components are processed according to a set of metadata to generate a response, and the response is delivered to the client. The presentation components are typically content such as HTML fragments, WML fragments, or some combination thereof. The code components are typically Java servlets or beans, XSLT style sheets, or some combination thereof. The data components are typically XML files, native database formatted files, and the like. Each of the presentation, code and data components may have a distinct management profile, cacheability profile, deployment profile, invalidation profile, and security profile. These profiles are settable via metadata or other similar means.Type: GrantFiled: July 30, 2002Date of Patent: April 3, 2007Assignee: Akamai Technologies, Inc.Inventors: Anne E. Lewin, legal representative, Mark Tsimelzon, Daniel M. Lewin, deceased
-
Publication number: 20070038994Abstract: An application deployment model for enterprise applications to enable applications to be deployed to and executed from a globally distributed computing platform, such as an Internet content delivery network (CDN). According to the invention, application developers separate their Web application into two layers: a highly distributed edge layer and a centralized origin layer. In a representative embodiment, the edge layer supports a servlet container that executes a Web tier, typically the presentation layer of a given Java-based application. Where necessary, the edge layer communicates with code running on an origin server to respond to a given request. In an alternative embodiment, the edge layer supports a more fully-provisioned application server that executes both Web tier (e.g., presentation) and Enterprise tier application (e.g., business logic) components.Type: ApplicationFiled: October 23, 2006Publication date: February 15, 2007Inventors: Andrew Davis, Jay Parikh, Srinivasan Pichai, Eddie Ruvinsky, Daniel Stodolsky, Mark Tsimelzon, William Weihl
-
Patent number: 7127713Abstract: An application deployment model for enterprise applications to enable such applications to be deployed to and executed from a globally distributed computing platform, such as an Internet content delivery network (CDN). According to the invention, application developers separate their Web application into two layers: a highly distributed edge layer and a centralized origin layer. In a representative embodiment, the edge layer supports a servlet container that executes a Web tier, typically the presentation layer of a given Java-based application. Where necessary, the edge layer communicates with code running on an origin server to respond to a given request. In an alternative embodiment, the edge layer supports a more fully-provisioned application server that executes both Web tier (e.g., presentation) and Enterprise tier application (e.g., business logic) components.Type: GrantFiled: January 10, 2003Date of Patent: October 24, 2006Assignee: Akamai Technologies, Inc.Inventors: Andrew Thomas Davis, Jay Parikh, Srinivasan Pichai, Eddie Ruvinsky, Daniel Stodolsky, Mark Tsimelzon, William E. Weihl
-
Patent number: 6834306Abstract: A method for notifying a user of changes to pre-selected portions of a web page includes dividing a web page into a plurality of blocks. User-selection information is added to each of the plurality of blocks. The user selects ones of the plurality of blocks by exercising a select user option from the user-selection information associated with each of the plurality of blocks. User-selectable notification-enabling information is added to each of the user selected ones of the plurality of blocks and for each selected block the user defines the notification condition. Each of the user selected ones of the plurality of blocks are monitored. Changes made to each of the user selected ones of the plurality of blocks based upon the notification condition are detected. The user is notified when the detection indicates that the user selected notification condition has occurred.Type: GrantFiled: August 10, 1999Date of Patent: December 21, 2004Assignee: Akamai Technologies, Inc.Inventor: Mark Tsimelzon