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: 8539502
    Abstract: 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: Grant
    Filed: April 18, 2007
    Date of Patent: September 17, 2013
    Assignee: Sybase, Inc.
    Inventors: Aleksey Sanin, Mark Tsimelzon, Ian D. Marshall, Robert B. Hagmann
  • Patent number: 8438291
    Abstract: 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: Grant
    Filed: July 26, 2010
    Date of Patent: May 7, 2013
    Assignee: Akamai Technologies, Inc.
    Inventors: Andrew T. Davis, Jay G. Parikh, Srikanth Thirumalai, William E. Weihl, Mark Tsimelzon
  • Patent number: 8396886
    Abstract: 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: Grant
    Filed: February 2, 2006
    Date of Patent: March 12, 2013
    Assignee: Sybase Inc.
    Inventors: Mark Tsimelzon, Aleksey Sanin, Rajeev Motwani, Glenn Robert Seidman, Gayatri Patel
  • Patent number: 8392912
    Abstract: 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: Grant
    Filed: October 23, 2006
    Date of Patent: March 5, 2013
    Assignee: Akamai Technologies, Inc.
    Inventors: Andrew Thomas Davis, Jay Parikh, Srinivasan Pichai, Eddie Ruvinsky, Daniel Stodolsky, Mark Tsimelzon, William E. Weihl
  • Patent number: 8046744
    Abstract: 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: Grant
    Filed: April 23, 2008
    Date of Patent: October 25, 2011
    Assignee: Sybase, Inc.
    Inventors: Ian D. Marshall, Aleksey Sanin, Mark Tsimelzon, Robert B. Hagmann
  • Publication number: 20100293281
    Abstract: 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: Application
    Filed: July 26, 2010
    Publication date: November 18, 2010
    Applicant: AKAMAI TECHNOLOGIES, INC.
    Inventors: Mark Tsimelzon, Srikanth Thirumalai, Andrew T. Davis, Jay G. Parikh, William E. Weihl
  • Patent number: 7818757
    Abstract: 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: Grant
    Filed: July 17, 2006
    Date of Patent: October 19, 2010
    Assignee: Sybase, Inc.
    Inventors: Mark Tsimelzon, Aleksey Sanin, Alexander Zeyliger
  • Patent number: 7818313
    Abstract: 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: Grant
    Filed: July 14, 2006
    Date of Patent: October 19, 2010
    Assignee: Sybase, Inc.
    Inventors: Mark Tsimelzon, Aleksey Sanin, Robert B. Hagmann
  • Patent number: 7765304
    Abstract: 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: Grant
    Filed: August 6, 2007
    Date of Patent: July 27, 2010
    Assignee: Akamai Technologies, Inc.
    Inventors: Andrew T. Davis, Jay G. Parikh, Srikanth Thirumalai, William E. Weihl, Mark Tsimelzon
  • Patent number: 7734823
    Abstract: 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: Grant
    Filed: December 15, 2008
    Date of Patent: June 8, 2010
    Assignee: Akamai Technologies, Inc.
    Inventors: Mark Tsimelzon, Daniel M. Lewin, Anne E. Lewin, legal representative
  • Publication number: 20090094382
    Abstract: 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: Application
    Filed: December 15, 2008
    Publication date: April 9, 2009
    Inventors: Mark Tsimelzon, Daniel M. Lewin, Anne E. Lewin
  • Patent number: 7467233
    Abstract: 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: Grant
    Filed: April 2, 2007
    Date of Patent: December 16, 2008
    Assignee: Akamai Technologies, Inc.
    Inventors: Mark Tsimelzon, Anne E. Lewin, legal representative, Daniel M. Lewin
  • Patent number: 7383253
    Abstract: 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: Grant
    Filed: December 17, 2004
    Date of Patent: June 3, 2008
    Assignee: Coral 8, Inc.
    Inventors: Mark Tsimelzon, Aleksey Sanin, Rajeev Motwani, Glenn Robert Seidman, Gayatri Patel
  • Publication number: 20070271385
    Abstract: 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: Application
    Filed: August 6, 2007
    Publication date: November 22, 2007
    Applicant: AKAMAI TECHNOLOGIES, INC.
    Inventors: Andrew Davis, Jay Parikh, Srikanth Thirumalai, William Weihl, Mark Tsimelzon
  • Patent number: 7254634
    Abstract: 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: Grant
    Filed: March 10, 2003
    Date of Patent: August 7, 2007
    Assignee: Akamai Technologies, Inc.
    Inventors: Andrew T. Davis, Jay G. Parikh, Srikanth Thirumalai, William E. Weihl, Mark Tsimelzon
  • Publication number: 20070180099
    Abstract: 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: Application
    Filed: April 2, 2007
    Publication date: August 2, 2007
    Inventors: Mark Tsimelzon, Daniel Lewin, Anne Lewin
  • Patent number: 7200681
    Abstract: 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: Grant
    Filed: July 30, 2002
    Date of Patent: April 3, 2007
    Assignee: Akamai Technologies, Inc.
    Inventors: Anne E. Lewin, legal representative, Mark Tsimelzon, Daniel M. Lewin, deceased
  • Publication number: 20070038994
    Abstract: 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: Application
    Filed: October 23, 2006
    Publication date: February 15, 2007
    Inventors: Andrew Davis, Jay Parikh, Srinivasan Pichai, Eddie Ruvinsky, Daniel Stodolsky, Mark Tsimelzon, William Weihl
  • Patent number: 7127713
    Abstract: 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: Grant
    Filed: January 10, 2003
    Date of Patent: October 24, 2006
    Assignee: Akamai Technologies, Inc.
    Inventors: Andrew Thomas Davis, Jay Parikh, Srinivasan Pichai, Eddie Ruvinsky, Daniel Stodolsky, Mark Tsimelzon, William E. Weihl
  • Patent number: 6834306
    Abstract: 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: Grant
    Filed: August 10, 1999
    Date of Patent: December 21, 2004
    Assignee: Akamai Technologies, Inc.
    Inventor: Mark Tsimelzon